oxcfold.c File Reference

Folder object routines and Rops. More...

#include "mapiproxy/dcesrv_mapiproxy.h"
#include "mapiproxy/libmapiproxy/libmapiproxy.h"
#include "mapiproxy/libmapiserver/libmapiserver.h"
#include "dcesrv_exchange_emsmdb.h"

Functions

enum MAPISTATUS EcDoRpc_RopCopyFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
 
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopCreateFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
 
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopDeleteFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
 
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopDeleteMessages (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
 
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopEmptyFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
 
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetContentsTable (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
 
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetHierarchyTable (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
 
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetSearchCriteria (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
 
enum MAPISTATUS EcDoRpc_RopMoveFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
 
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopOpenFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
 
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSetSearchCriteria (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size)
 

Detailed Description

Folder object routines and Rops.

Function Documentation

enum MAPISTATUS EcDoRpc_RopCopyFolder ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context *  emsmdbp_ctx,
struct EcDoRpc_MAPI_REQ *  mapi_req,
struct EcDoRpc_MAPI_REPL *  mapi_repl,
uint32_t *  handles,
uint16_t *  size 
)

EcDoRpc EmptyFolder (0x58) Rop. This operation removes the sub-folders and messages from a given parent folder.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the EmptyFolder EcDoRpc_MAPI_REQ structure
mapi_replpointer to the EmptyFolder EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_get_contextID(), emsmdbp_is_mapistore(), libmapiserver_RopCopyFolder_size(), mapi_handles_get_private_data(), and mapi_handles_search().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopCreateFolder ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context *  emsmdbp_ctx,
struct EcDoRpc_MAPI_REQ *  mapi_req,
struct EcDoRpc_MAPI_REPL *  mapi_repl,
uint32_t *  handles,
uint16_t *  size 
)

EcDoRpc CreateFolder (0x1c) Rop. This operation creates a folder on the remote server.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the CreateFolder EcDoRpc_MAPI_REQ structure
mapi_replpointer to the CreateFolder EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error
Note
We do not provide support for GhostInfo

References emsmdbp_is_mapistore(), emsmdbp_object_create_folder(), emsmdbp_object_open_folder_by_fid(), libmapiserver_ROP_request_to_properties(), libmapiserver_RopCreateFolder_size(), mapi_handles_add(), mapi_handles_delete(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles_set_private_data(), openchangedb_get_new_changeNumber(), openchangedb_get_new_public_folderID(), openchangedb_is_public_folder_id(), and oxosfld_is_special_folder().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopDeleteFolder ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context *  emsmdbp_ctx,
struct EcDoRpc_MAPI_REQ *  mapi_req,
struct EcDoRpc_MAPI_REPL *  mapi_repl,
uint32_t *  handles,
uint16_t *  size 
)

EcDoRpc DeleteFolder (0x1d) Rop. This operation deletes a folder on the remote server.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the DeleteFolder EcDoRpc_MAPI_REQ structure
mapi_replpointer to the DeleteFolder EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_folder_delete(), libmapiserver_RopDeleteFolder_size(), mapi_handles_get_private_data(), and mapi_handles_search().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopDeleteMessages ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context *  emsmdbp_ctx,
struct EcDoRpc_MAPI_REQ *  mapi_req,
struct EcDoRpc_MAPI_REPL *  mapi_repl,
uint32_t *  handles,
uint16_t *  size 
)

EcDoRpc DeleteMessage (0x1e) Rop. This operation (soft) deletes a message on the server.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the DeleteMessage EcDoRpc_MAPI_REQ structure
mapi_replpointer to the DeleteMessage EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_get_contextID(), emsmdbp_get_owner(), emsmdbp_is_mapistore(), libmapiserver_RopDeleteMessage_size(), mapi_handles_get_private_data(), and mapi_handles_search().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopEmptyFolder ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context *  emsmdbp_ctx,
struct EcDoRpc_MAPI_REQ *  mapi_req,
struct EcDoRpc_MAPI_REPL *  mapi_repl,
uint32_t *  handles,
uint16_t *  size 
)

EcDoRpc EmptyFolder (0x58) Rop. This operation removes the sub-folders and messages from a given parent folder.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the EmptyFolder EcDoRpc_MAPI_REQ structure
mapi_replpointer to the EmptyFolder EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_is_mapistore(), libmapiserver_RopEmptyFolder_size(), mapi_handles_get_private_data(), and mapi_handles_search().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetContentsTable ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context *  emsmdbp_ctx,
struct EcDoRpc_MAPI_REQ *  mapi_req,
struct EcDoRpc_MAPI_REPL *  mapi_repl,
uint32_t *  handles,
uint16_t *  size 
)

EcDoRpc GetContentsTable (0x05) Rop. This operation get the content table of a container.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the GetContentsTable EcDoRpc_MAPI_REQ structure
mapi_replpointer to the GetContentsTable EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References libmapiserver_RopGetContentsTable_size(), mapi_handles_add(), mapi_handles_delete(), mapi_handles_get_private_data(), mapi_handles_search(), and mapi_handles_set_private_data().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetHierarchyTable ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context *  emsmdbp_ctx,
struct EcDoRpc_MAPI_REQ *  mapi_req,
struct EcDoRpc_MAPI_REPL *  mapi_repl,
uint32_t *  handles,
uint16_t *  size 
)

EcDoRpc GetHierarchyTable (0x04) Rop. This operation gets the subfolder hierarchy table for a folder.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the GetHierarchyTable EcDoRpc_MAPI_REQ structure
mapi_replpointer to the GetHierarchyTable EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_folder_get_recursive_folder_count(), libmapiserver_RopGetHierarchyTable_size(), mapi_handles_add(), mapi_handles_get_private_data(), mapi_handles_search(), and mapi_handles_set_private_data().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetSearchCriteria ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context *  emsmdbp_ctx,
struct EcDoRpc_MAPI_REQ *  mapi_req,
struct EcDoRpc_MAPI_REPL *  mapi_repl,
uint32_t *  handles,
uint16_t *  size 
)

EcDoRpc GetSearchCriteria (0x31) Rop. This operation gets the search criteria for a search folder.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the GetSearchCriteria EcDoRpc_MAPI_REQ structure
mapi_replpointer to the GetSearchCriteria EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References libmapiserver_RopGetSearchCriteria_size().

enum MAPISTATUS EcDoRpc_RopMoveFolder ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context *  emsmdbp_ctx,
struct EcDoRpc_MAPI_REQ *  mapi_req,
struct EcDoRpc_MAPI_REPL *  mapi_repl,
uint32_t *  handles,
uint16_t *  size 
)

EcDoRpc EmptyFolder (0x58) Rop. This operation removes the sub-folders and messages from a given parent folder.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the EmptyFolder EcDoRpc_MAPI_REQ structure
mapi_replpointer to the EmptyFolder EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References libmapiserver_RopMoveFolder_size(), mapi_handles_get_private_data(), and mapi_handles_search().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopOpenFolder ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context *  emsmdbp_ctx,
struct EcDoRpc_MAPI_REQ *  mapi_req,
struct EcDoRpc_MAPI_REPL *  mapi_repl,
uint32_t *  handles,
uint16_t *  size 
)

EcDoRpc OpenFolder (0x02) Rop. This operation opens an existing folder.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the OpenFolder EcDoRpc_MAPI_REQ structure
mapi_replpointer to the OpenFolder EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object_open_folder_by_fid(), libmapiserver_RopOpenFolder_size(), mapi_handles_add(), mapi_handles_get_private_data(), mapi_handles_search(), and mapi_handles_set_private_data().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSetSearchCriteria ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context *  emsmdbp_ctx,
struct EcDoRpc_MAPI_REQ *  mapi_req,
struct EcDoRpc_MAPI_REPL *  mapi_repl,
uint32_t *  handles,
uint16_t *  size 
)

EcDoRpc SetSearchCriteria (0x30) Rop. This operation sets the search criteria for a search folder.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the SetSearchCriteria EcDoRpc_MAPI_REQ structure
mapi_replpointer to the SetSearchCriteria EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References libmapiserver_RopSetSearchCriteria_size().


Creative Commons License
Creative Commons Attribution icon Creative Commons Share Alike icon
This content is licensed under the Creative Commons
Attribution ShareAlike License v. 3.0:
http://creativecommons.org/licenses/by-sa/3.0/