mapiproxy/servers/default/emsmdb/oxcfxics.c File Reference

FastTransfer and ICS object routines and Rops. More...

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

Functions

static bool convertIdToFMID (const struct GUID *replica_guid, uint8_t *data, uint32_t size, uint64_t *fmidP)
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopFastTransferSourceCopyTo (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_RopFastTransferSourceGetBuffer (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_RopGetLocalReplicaIds (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_RopSetLocalReplicaMidsetDeleted (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_RopSyncConfigure (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_RopSyncGetTransferState (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_RopSyncImportDeletes (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_RopSyncImportHierarchyChange (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_RopSyncImportMessageChange (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_RopSyncImportMessageMove (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_RopSyncImportReadStateChanges (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_RopSyncOpenCollector (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_RopSyncUploadStateStreamBegin (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_RopSyncUploadStateStreamContinue (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_RopSyncUploadStateStreamEnd (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)
static struct MessageReadState * get_MessageReadState (TALLOC_CTX *mem_ctx, struct Binary_r *bin)
static void oxcfxics_fill_transfer_state_arrays (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object_synccontext *synccontext, const char *owner, struct oxcfxics_sync_data *sync_data, struct emsmdbp_object *folder_object)
static int oxcfxics_fmid_from_source_key (struct emsmdbp_context *emsmdbp_ctx, const char *owner, struct SBinary_short *source_key, uint64_t *fmidp)
static struct Binary_r * oxcfxics_make_gid (TALLOC_CTX *mem_ctx, struct GUID *replica_guid, uint64_t id)
static struct Binary_r * oxcfxics_make_xid (TALLOC_CTX *mem_ctx, struct GUID *replica_guid, uint64_t *id, uint8_t idlength)
static void oxcfxics_ndr_check (struct ndr_push *ndr, const char *label)
static void oxcfxics_ndr_push_properties (struct ndr_push *ndr, struct ndr_push *cutmarks_ndr, void *nprops_ctx, struct SPropTagArray *properties, void **data_pointers, enum MAPISTATUS *retvals)
static void oxcfxics_ndr_push_simple_data (struct ndr_push *ndr, uint16_t data_type, const void *value)
static void oxcfxics_ndr_push_transfer_state (struct ndr_push *ndr, const char *owner, struct emsmdbp_object *synccontext_object)
static void oxcfxics_prepare_synccontext_with_folderChange (struct emsmdbp_object *synccontext_object, const char *owner)
static void oxcfxics_prepare_synccontext_with_messageChange (TALLOC_CTX *mem_ctx, struct emsmdbp_object *synccontext_object, const char *owner)
static void oxcfxics_push_folderChange (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object_synccontext *synccontext, const char *owner, struct emsmdbp_object *topmost_folder_object, struct oxcfxics_sync_data *sync_data, struct emsmdbp_object *folder_object)
static void oxcfxics_push_messageChange (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object_synccontext *synccontext, const char *owner, struct oxcfxics_sync_data *sync_data, struct emsmdbp_object *folder_object)
static void oxcfxics_push_messageChange_attachments (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct oxcfxics_sync_data *sync_data, struct emsmdbp_object *message_object)
static void oxcfxics_push_messageChange_recipients (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct oxcfxics_sync_data *sync_data, struct emsmdbp_object *message_object, struct mapistore_message *msg)
static void oxcfxics_table_set_cn_restriction (struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *table_object, const char *owner, struct idset *cnset_seen)

Detailed Description

FastTransfer and ICS object routines and Rops.


Function Documentation

static bool convertIdToFMID ( const struct GUID *  replica_guid,
uint8_t *  data,
uint32_t  size,
uint64_t *  fmidP 
) [static]

EcDoRpc SyncImportMessageMove (0x78) Rop.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the SyncImportMessageMove EcDoRpc_MAPI_REQ
mapi_repl pointer to the SyncImportMessageMove EcDoRpc_MAPI_REPL
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

Referenced by EcDoRpc_RopSyncImportMessageMove().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopFastTransferSourceCopyTo ( 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 EcDoRpc_RopFastTransferSourceCopyTo (0x4d) Rop. This operation initializes a FastTransfer operation to download content from a given messaging object and its descendant subobjects.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the EcDoRpc_RopFastTransferSourceCopyTo EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the EcDoRpc_RopFastTransferSourceCopyTo EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object_ftcontext_init(), emsmdbp_object_get_available_properties(), emsmdbp_object_get_properties(), emsmdbp_context::handles_ctx, libmapiserver_RopFastTransferSourceCopyTo_size(), mapi_handles_add(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles_set_private_data(), emsmdbp_context::mstore_ctx, emsmdbp_object::object, oxcfxics_ndr_push_properties(), and emsmdbp_object::parent_object.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopFastTransferSourceGetBuffer ( 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 EcDoRpc_RopFastTransferSourceGetBuffer (0x4e) Rop. This operation downloads the next portion of a FastTransfer stream that is produced by a previously configured download operation.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the FastTransferSourceGetBuffer EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the FastTransferSourceGetBuffer EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_stream::buffer, emsmdbp_get_owner(), EMSMDBP_OBJECT_FTCONTEXT, EMSMDBP_OBJECT_SYNCCONTEXT, emsmdbp_stream_read_buffer(), emsmdbp_objects::ftcontext, emsmdbp_context::handles_ctx, libmapiserver_RopFastTransferSourceGetBuffer_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_object::object, oxcfxics_prepare_synccontext_with_folderChange(), oxcfxics_prepare_synccontext_with_messageChange(), emsmdbp_stream::position, emsmdbp_object_ftcontext::stream, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetLocalReplicaIds ( 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 EcDoRpc_RopGetLocalReplicaIds (0x7f) Rop. This operation reserves a range of IDs to be used by a local replica.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the GetLocalReplicaIds EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the GetLocalReplicaIds EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References EMSMDBP_OBJECT_MAILBOX, emsmdbp_replid_to_guid(), emsmdbp_context::handles_ctx, libmapiserver_RopGetLocalReplicaIds_size(), emsmdbp_objects::mailbox, mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_reserve_fmid_range(), emsmdbp_object_mailbox::owner_username, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSetLocalReplicaMidsetDeleted ( 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 SetLocalReplicaMidsetDeleted (0x93) Rop.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the SetLocalReplicaMidsetDeleted EcDoRpc_MAPI_REQ
mapi_repl pointer to the SetLocalReplicaMidsetDeleted EcDoRpc_MAPI_REPL
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References libmapiserver_RopSetLocalReplicaMidsetDeleted_size().

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSyncConfigure ( 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 EcDoRpc_RopSyncConfigure (0x70) Rop.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the SyncConfigure EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the SyncConfigure EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_syncconfigure_request::best_body, emsmdbp_syncconfigure_request::contents_mode, emsmdbp_folder_open_table(), EMSMDBP_OBJECT_FOLDER, emsmdbp_object_synccontext_init(), emsmdbp_object_table_get_available_properties(), emsmdbp_syncconfigure_request::fai, emsmdbp_object_synccontext::fai_properties, emsmdbp_syncconfigure_request::force_unicode, mapi_handles::handle, emsmdbp_context::handles_ctx, emsmdbp_syncconfigure_request::ignore_no_longer_in_scope, emsmdbp_syncconfigure_request::ignored_specified_on_fai, libmapiserver_RopSyncConfigure_size(), mapi_handles_add(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles_set_private_data(), emsmdbp_syncconfigure_request::no_deletions, emsmdbp_syncconfigure_request::no_foreign_identifiers, emsmdbp_syncconfigure_request::no_soft_deletions, emsmdbp_syncconfigure_request::normal, emsmdbp_object::object, emsmdbp_syncconfigure_request::order_by_delivery_time, emsmdbp_syncconfigure_request::partial_item, emsmdbp_syncconfigure_request::progress, emsmdbp_object_synccontext::properties, emsmdbp_syncconfigure_request::read_state, emsmdbp_syncconfigure_request::recover_mode, emsmdbp_object_synccontext::request, emsmdbp_syncconfigure_request::request_cn, emsmdbp_syncconfigure_request::request_eid, emsmdbp_syncconfigure_request::request_message_size, emsmdbp_objects::synccontext, emsmdbp_object::type, emsmdbp_syncconfigure_request::unicode, and emsmdbp_syncconfigure_request::use_cpid.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSyncGetTransferState ( 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 EcDoRpc_RopSyncGetTransferState (0x82) Rop.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the SyncGetTransferState EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the SyncGetTransferState EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_stream::buffer, emsmdbp_object_ftcontext::cutmarks, emsmdbp_get_owner(), emsmdbp_object_ftcontext_init(), EMSMDBP_OBJECT_SYNCCONTEXT, emsmdbp_objects::ftcontext, emsmdbp_context::handles_ctx, libmapiserver_RopSyncGetTransferState_size(), mapi_handles_add(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles_set_private_data(), emsmdbp_object::object, oxcfxics_ndr_push_transfer_state(), emsmdbp_object_ftcontext::stream, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSyncImportDeletes ( 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 SyncImportDeletes (0x74) Rop.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the SyncImportDeletes EcDoRpc_MAPI_REQ
mapi_repl pointer to the SyncImportDeletes EcDoRpc_MAPI_REPL
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::backend_object, emsmdbp_folder_delete(), emsmdbp_get_contextID(), emsmdbp_get_owner(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_SYNCCONTEXT, emsmdbp_context::handles_ctx, libmapiserver_RopSyncImportDeletes_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_context::mstore_ctx, emsmdbp_context::oc_ctx, openchangedb_get_MailboxReplica(), oxcfxics_fmid_from_source_key(), emsmdbp_object::parent_object, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSyncImportHierarchyChange ( 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 EcDoRpc_RopSyncImportHierarchyChange (0x73) Rop.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the SyncImportHierarchyChange EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the SyncImportHierarchyChange EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_get_owner(), emsmdbp_object_create_folder(), emsmdbp_object_open_folder(), emsmdbp_object_open_folder_by_fid(), emsmdbp_object_set_properties(), EMSMDBP_OBJECT_SYNCCONTEXT, emsmdbp_objects::folder, emsmdbp_object_folder::folderID, emsmdbp_context::handles_ctx, libmapiserver_RopSyncImportHierarchyChange_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_get_MailboxReplica(), openchangedb_get_new_changeNumber(), oxcfxics_fmid_from_source_key(), emsmdbp_object::parent_object, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSyncImportMessageChange ( 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 EcDoRpc_RopSyncImportMessageChange (0x72) Rop.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the SyncImportMessageChange EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the SyncImportMessageChange EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_get_owner(), emsmdbp_is_mapistore(), emsmdbp_object_message_init(), emsmdbp_object_message_open(), emsmdbp_object_set_properties(), EMSMDBP_OBJECT_SYNCCONTEXT, emsmdbp_objects::folder, emsmdbp_object_folder::folderID, emsmdbp_context::handles_ctx, libmapiserver_RopSyncImportMessageChange_size(), mapi_handles_add(), mapi_handles_delete(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles_set_private_data(), emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_get_MailboxReplica(), oxcfxics_fmid_from_source_key(), emsmdbp_object::parent_object, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSyncImportReadStateChanges ( 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 SyncImportReadStateChanges (0x80) Rop.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the SyncImportReadStateChanges EcDoRpc_MAPI_REQ
mapi_repl pointer to the SyncImportReadStateChanges EcDoRpc_MAPI_REPL
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_get_owner(), emsmdbp_guid_to_replid(), emsmdbp_is_mapistore(), emsmdbp_object_message_open(), EMSMDBP_OBJECT_SYNCCONTEXT, emsmdbp_objects::folder, emsmdbp_object_folder::folderID, get_MessageReadState(), emsmdbp_context::handles_ctx, libmapiserver_RopSyncImportReadStateChanges_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_object::parent_object, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSyncOpenCollector ( 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 EcDoRpc_RopSyncOpenCollector (0x7e) Rop.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the SyncOpenCollector EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the SyncOpenCollector EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_syncconfigure_request::contents_mode, EMSMDBP_OBJECT_FOLDER, emsmdbp_object_synccontext_init(), emsmdbp_context::handles_ctx, emsmdbp_object_synccontext::is_collector, libmapiserver_RopSyncOpenCollector_size(), mapi_handles_add(), mapi_handles_get_private_data(), mapi_handles_search(), mapi_handles_set_private_data(), emsmdbp_object::object, emsmdbp_object_synccontext::request, emsmdbp_objects::synccontext, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSyncUploadStateStreamBegin ( 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 EcDoRpc_RopSyncUploadStateStreamBegin (0x75) Rop.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the SyncUploadStateStreamBegin EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the SyncUploadStateStreamBegin EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_stream::buffer, EMSMDBP_OBJECT_SYNCCONTEXT, emsmdbp_context::handles_ctx, libmapiserver_RopSyncUploadStateStreamBegin_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_object::object, emsmdbp_object_synccontext::state_property, emsmdbp_object_synccontext::state_stream, emsmdbp_objects::synccontext, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSyncUploadStateStreamContinue ( 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 EcDoRpc_RopSyncUploadStateStreamContinue (0x76) Rop.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the SyncUploadStateStreamContinue EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the SyncUploadStateStreamContinue EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References EMSMDBP_OBJECT_SYNCCONTEXT, emsmdbp_stream_write_buffer(), emsmdbp_context::handles_ctx, libmapiserver_RopSyncUploadStateStreamContinue_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_object::object, emsmdbp_object_synccontext::state_property, emsmdbp_object_synccontext::state_stream, emsmdbp_objects::synccontext, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSyncUploadStateStreamEnd ( 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 EcDoRpc_RopSyncUploadStateStreamEnd (0x77) Rop.

Parameters:
mem_ctx pointer to the memory context
emsmdbp_ctx pointer to the emsmdb provider context
mapi_req pointer to the SyncUploadStateStreamEnd EcDoRpc_MAPI_REQ structure
mapi_repl pointer to the SyncUploadStateStreamEnd EcDoRpc_MAPI_REPL structure
handles pointer to the MAPI handles array
size pointer to the mapi_response size to update
Returns:
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_stream::buffer, emsmdbp_object_synccontext::cnset_read, emsmdbp_object_synccontext::cnset_seen, emsmdbp_object_synccontext::cnset_seen_fai, EMSMDBP_OBJECT_SYNCCONTEXT, emsmdbp_context::handles_ctx, emsmdbp_object_synccontext::idset_given, emsmdbp_object_synccontext::is_collector, libmapiserver_RopSyncUploadStateStreamEnd_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_object::object, emsmdbp_object_synccontext::state_property, emsmdbp_object_synccontext::state_stream, emsmdbp_objects::synccontext, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

static struct MessageReadState* get_MessageReadState ( TALLOC_CTX *  mem_ctx,
struct Binary_r *  bin 
) [static, read]

Retrieve a MessageReadState structure from a binary blob

Parameters:
mem_ctx pointer to the memory context
bin pointer to the Binary_r structure with raw MessageReadState data
Returns:
Allocated MessageReadState structure on success, otherwise NULL
Note:
Developers must free the allocated MessageReadState when finished.

Referenced by EcDoRpc_RopSyncImportReadStateChanges().

static int oxcfxics_fmid_from_source_key ( struct emsmdbp_context emsmdbp_ctx,
const char *  owner,
struct SBinary_short *  source_key,
uint64_t *  fmidp 
) [static]
static struct Binary_r* oxcfxics_make_gid ( TALLOC_CTX *  mem_ctx,
struct GUID *  replica_guid,
uint64_t  id 
) [static, read]
static struct Binary_r* oxcfxics_make_xid ( TALLOC_CTX *  mem_ctx,
struct GUID *  replica_guid,
uint64_t *  id,
uint8_t  idlength 
) [static, read]

Referenced by oxcfxics_make_gid().

static void oxcfxics_ndr_check ( struct ndr_push *  ndr,
const char *  label 
) [static]
static void oxcfxics_ndr_push_properties ( struct ndr_push *  ndr,
struct ndr_push *  cutmarks_ndr,
void *  nprops_ctx,
struct SPropTagArray *  properties,
void **  data_pointers,
enum MAPISTATUS *  retvals 
) [static]
static void oxcfxics_ndr_push_simple_data ( struct ndr_push *  ndr,
uint16_t  data_type,
const void *  value 
) [static]
static void oxcfxics_push_messageChange_attachments ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context emsmdbp_ctx,
struct oxcfxics_sync_data *  sync_data,
struct emsmdbp_object message_object 
) [static]
static void oxcfxics_push_messageChange_recipients ( TALLOC_CTX *  mem_ctx,
struct emsmdbp_context emsmdbp_ctx,
struct oxcfxics_sync_data *  sync_data,
struct emsmdbp_object message_object,
struct mapistore_message *  msg 
) [static]
static void oxcfxics_table_set_cn_restriction ( struct emsmdbp_context emsmdbp_ctx,
struct emsmdbp_object table_object,
const char *  owner,
struct idset *  cnset_seen 
) [static]

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/