.TH "mapiproxy/libmapistore/mapistore.h" 3 "Tue Apr 25 2017" "Version 2.2" "OpenChange mapistore library" \" -*- nroff -*- .ad l .nh .SH NAME mapiproxy/libmapistore/mapistore.h \- MAPISTORE general API\&. .SH SYNOPSIS .br .PP \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include 'libmapi/libmapi\&.h'\fP .br .SS "Functions" .in +1c .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_add_context\fP (struct mapistore_context *, const char *, const char *, uint64_t, uint32_t *, void **)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_add_context_ref_count\fP (struct mapistore_context *, uint32_t)" .br .ti -1c .RI "const char * \fBmapistore_backend_get_installdir\fP (void)" .br .ti -1c .RI "init_backend_fn * \fBmapistore_backend_load\fP (TALLOC_CTX *, const char *)" .br .ti -1c .RI "struct backend_context * \fBmapistore_backend_lookup\fP (struct backend_context_list *, uint32_t)" .br .ti -1c .RI "struct backend_context * \fBmapistore_backend_lookup_by_name\fP (TALLOC_CTX *, const char *)" .br .ti -1c .RI "struct backend_context * \fBmapistore_backend_lookup_by_uri\fP (struct backend_context_list *, const char *)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_backend_register\fP (const void *)" .br .ti -1c .RI "bool \fBmapistore_backend_run_init\fP (init_backend_fn *)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_del_context\fP (struct mapistore_context *, uint32_t)" .br .ti -1c .RI "const char * \fBmapistore_errstr\fP (enum \fBmapistore_error\fP)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_folder_create_folder\fP (struct mapistore_context *, uint32_t, void *, TALLOC_CTX *, uint64_t, struct SRow *, void **)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_folder_create_message\fP (struct mapistore_context *, uint32_t, void *, TALLOC_CTX *, uint64_t, uint8_t, void **)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_folder_delete\fP (struct mapistore_context *, uint32_t, void *, uint8_t)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_folder_delete_message\fP (struct mapistore_context *, uint32_t, void *, uint64_t, uint8_t)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_folder_get_child_count\fP (struct mapistore_context *, uint32_t, void *, enum mapistore_table_type, uint32_t *)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_folder_get_deleted_fmids\fP (struct mapistore_context *, uint32_t, void *, TALLOC_CTX *, enum mapistore_table_type, uint64_t, struct UI8Array_r **, uint64_t *)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_folder_open_folder\fP (struct mapistore_context *, uint32_t, void *, TALLOC_CTX *, uint64_t, void **)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_folder_open_message\fP (struct mapistore_context *, uint32_t, void *, TALLOC_CTX *, uint64_t, bool, void **)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_get_queued_notifications\fP (struct mapistore_context *, struct mapistore_subscription *, struct mapistore_notification_list **)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_get_queued_notifications_named\fP (struct mapistore_context *, const char *, struct mapistore_notification_list **)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_indexing_get_new_folderID\fP (struct mapistore_context *, uint64_t *)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_indexing_get_new_folderID_as_user\fP (struct mapistore_context *, const char *, uint64_t *)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_indexing_get_new_folderIDs\fP (struct mapistore_context *, TALLOC_CTX *, uint64_t, struct UI8Array_r **)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_indexing_record_add_fid\fP (struct mapistore_context *, uint32_t, const char *, uint64_t)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_indexing_record_add_mid\fP (struct mapistore_context *, uint32_t, const char *, uint64_t)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_indexing_record_del_fid\fP (struct mapistore_context *, uint32_t, const char *, uint64_t, uint8_t)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_indexing_record_del_mid\fP (struct mapistore_context *, uint32_t, const char *, uint64_t, uint8_t)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_indexing_record_get_uri\fP (struct mapistore_context *, const char *, TALLOC_CTX *, uint64_t, char **, bool *)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_indexing_reserve_fmid_range\fP (struct mapistore_context *, uint64_t, uint64_t *)" .br .ti -1c .RI "struct mapistore_context * \fBmapistore_init\fP (TALLOC_CTX *, struct loadparm_context *, const char *)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_message_get_message_data\fP (struct mapistore_context *, uint32_t, void *, TALLOC_CTX *, struct mapistore_message **)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_message_modify_recipients\fP (struct mapistore_context *, uint32_t, void *, struct SPropTagArray *, uint16_t, struct mapistore_message_recipient *)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_message_save\fP (struct mapistore_context *, uint32_t, void *, TALLOC_CTX *)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_message_set_read_flag\fP (struct mapistore_context *, uint32_t, void *, uint8_t)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_message_submit\fP (struct mapistore_context *, uint32_t, void *, enum SubmitFlags)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_namedprops_create_id\fP (struct namedprops_context *, struct MAPINAMEID, uint16_t)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_namedprops_get_mapped_id\fP (struct namedprops_context *, struct MAPINAMEID, uint16_t *)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_namedprops_get_nameid\fP (struct namedprops_context *, uint16_t, TALLOC_CTX *mem_ctx, struct MAPINAMEID **)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_namedprops_get_nameid_type\fP (struct namedprops_context *, uint16_t, uint16_t *)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_namedprops_next_unused_id\fP (struct namedprops_context *, uint16_t *)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_release\fP (struct mapistore_context *)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_replica_mapping_guid_to_replid\fP (struct mapistore_context *, const char *username, const struct GUID *, uint16_t *)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_replica_mapping_replid_to_guid\fP (struct mapistore_context *, const char *username, uint16_t, struct GUID *)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_search_context_by_uri\fP (struct mapistore_context *, const char *, uint32_t *, void **)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_set_connection_info\fP (struct mapistore_context *, struct ldb_context *, struct openchangedb_context *, const char *)" .br .ti -1c .RI "void \fBmapistore_set_default_indexing_url\fP (const char *)" .br .ti -1c .RI "enum \fBmapistore_error\fP \fBmapistore_set_mapping_path\fP (const char *)" .br .in -1c .SH "Detailed Description" .PP MAPISTORE general API\&. This header contains general functions, primarily for users of the store (rather than storage providers)\&. .SH "Function Documentation" .PP .SS "enum \fBmapistore_error\fP mapistore_add_context (struct mapistore_context *mstore_ctx, const char *owner, const char *uri, uint64_tfid, uint32_t *context_id, void **backend_object)" Add a new connection context to mapistore .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIuri\fP the connection context URI .br \fIcontext_id\fP pointer to the context identifier the function returns .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References mapistore_backend_create_context(), MAPISTORE_ERR_CONTEXT_FAILED, MAPISTORE_ERR_INVALID_NAMESPACE, mapistore_indexing_add(), and MAPISTORE_SUCCESS\&. .SS "enum \fBmapistore_error\fP mapistore_add_context_ref_count (struct mapistore_context *mstore_ctx, uint32_tcontext_id)" Increase the reference counter of an existing context .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontex_id\fP the context identifier referencing the context to update .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References mapistore_backend_add_ref_count(), mapistore_backend_lookup(), MAPISTORE_ERR_INVALID_PARAMETER, and MAPISTORE_ERROR\&. .SS "const char* mapistore_backend_get_installdir (void)" Return the full path where mapistore backends are installed\&. .PP \fBReturns:\fP .RS 4 Pointer to the full path where backends are installed\&. .RE .PP .PP Referenced by mapistore_backend_load()\&. .SS "init_backend_fn* mapistore_backend_load (TALLOC_CTX *mem_ctx, const char *path)" Load the initialization functions from backends DSO .PP \fBParameters:\fP .RS 4 \fImem_ctx\fP pointer to the memory context .br \fIpath\fP pointer to the backend's DSO folder .RE .PP \fBReturns:\fP .RS 4 allocated array of functions pointers to initialization functions on success, otherwise NULL\&. .RE .PP .PP References mapistore_backend_get_installdir()\&. .PP Referenced by mapistore_backend_init()\&. .SS "struct backend_context* mapistore_backend_lookup (struct backend_context_list *backend_list_ctx, uint32_tcontext_id)" find the context matching given context identifier .PP \fBParameters:\fP .RS 4 \fIbackend_list_ctx\fP pointer to the backend context list .br \fIcontext_id\fP the context identifier to search .RE .PP \fBReturns:\fP .RS 4 Pointer to the mapistore_backend context on success, otherwise NULL .RE .PP .PP Referenced by mapistore_add_context_ref_count(), mapistore_del_context(), mapistore_folder_create_folder(), mapistore_folder_create_message(), mapistore_folder_delete(), mapistore_folder_delete_message(), mapistore_folder_get_child_count(), mapistore_folder_get_deleted_fmids(), mapistore_folder_open_folder(), mapistore_folder_open_message(), mapistore_indexing_record_add_fmid(), mapistore_indexing_record_del_fmid(), mapistore_message_get_message_data(), mapistore_message_modify_recipients(), mapistore_message_save(), mapistore_message_set_read_flag(), and mapistore_message_submit()\&. .SS "struct backend_context* mapistore_backend_lookup_by_name (TALLOC_CTX *mem_ctx, const char *name)" Return a pointer on backend functions given its name .PP \fBParameters:\fP .RS 4 \fImem_ctx\fP pointer to the memory context .br \fIname\fP the backend name to lookup .RE .PP \fBReturns:\fP .RS 4 Allocated pointer to the mapistore_backend context on success, otherwise NULL .RE .PP .PP Referenced by mapistore_mgmt_generate_uri()\&. .SS "struct backend_context* mapistore_backend_lookup_by_uri (struct backend_context_list *backend_list_ctx, const char *uri)" find the context matching given uri string .PP \fBParameters:\fP .RS 4 \fIbackend_list_ctx\fP pointer to the backend context list .br \fIuri\fP the uri string to search .RE .PP \fBReturns:\fP .RS 4 Pointer to the mapistore_backend context on success, otherwise NULL .RE .PP .PP Referenced by mapistore_search_context_by_uri()\&. .SS "enum \fBmapistore_error\fP mapistore_backend_register (const void *_backend)" Register mapistore backends .PP \fBParameters:\fP .RS 4 \fIbackend\fP pointer to the mapistore backend to register .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success .RE .PP .PP References MAPISTORE_ERR_INVALID_PARAMETER, and MAPISTORE_SUCCESS\&. .SS "bool mapistore_backend_run_init (init_backend_fn *fns)" Run specified initialization functions\&. .PP \fBParameters:\fP .RS 4 \fIfns\fP pointer to an array of mapistore backends initialization functions .RE .PP \fBReturns:\fP .RS 4 true on success, otherwise false .RE .PP .PP Referenced by mapistore_backend_init()\&. .SS "enum \fBmapistore_error\fP mapistore_del_context (struct mapistore_context *mstore_ctx, uint32_tcontext_id)" Delete an existing connection context from mapistore .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontext_id\fP the context identifier referencing the context to delete .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References mapistore_backend_delete_context(), mapistore_backend_lookup(), MAPISTORE_ERR_INVALID_PARAMETER, MAPISTORE_ERR_REF_COUNT, MAPISTORE_ERROR, and MAPISTORE_SUCCESS\&. .SS "const char* mapistore_errstr (enum \fBmapistore_error\fPmapistore_err)" return a string explaining what a mapistore error constant means\&. .PP \fBParameters:\fP .RS 4 \fImapistore_err\fP the mapistore error constant .RE .PP \fBReturns:\fP .RS 4 constant string .RE .PP .PP References MAPISTORE_ERR_ALREADY_INITIALIZED, MAPISTORE_ERR_BACKEND_INIT, MAPISTORE_ERR_BACKEND_REGISTER, MAPISTORE_ERR_CONTEXT_FAILED, MAPISTORE_ERR_CORRUPTED, MAPISTORE_ERR_DATABASE_INIT, MAPISTORE_ERR_DATABASE_OPS, MAPISTORE_ERR_DENIED, MAPISTORE_ERR_EXIST, MAPISTORE_ERR_INVALID_DATA, MAPISTORE_ERR_INVALID_NAMESPACE, MAPISTORE_ERR_INVALID_PARAMETER, MAPISTORE_ERR_INVALID_URI, MAPISTORE_ERR_MSG_RCV, MAPISTORE_ERR_MSG_SEND, MAPISTORE_ERR_NO_DIRECTORY, MAPISTORE_ERR_NO_MEMORY, MAPISTORE_ERR_NOT_FOUND, MAPISTORE_ERR_NOT_IMPLEMENTED, MAPISTORE_ERR_NOT_INITIALIZED, MAPISTORE_ERR_REF_COUNT, MAPISTORE_ERROR, and MAPISTORE_SUCCESS\&. .PP Referenced by mapistore_init()\&. .SS "enum \fBmapistore_error\fP mapistore_folder_create_folder (struct mapistore_context *mstore_ctx, uint32_tcontext_id, void *folder, TALLOC_CTX *mem_ctx, uint64_tfid, struct SRow *aRow, void **child_folder)" Create a directory in mapistore .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontext_id\fP the context identifier referencing the backend where the directory will be created .br \fIparent_fid\fP the parent folder identifier .br \fInew_fid\fP the folder identifier for the new folder .br \fIaRow\fP pointer to MAPI data structures with properties to be added to the new folder .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors .RE .PP .PP References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER\&. .SS "enum \fBmapistore_error\fP mapistore_folder_create_message (struct mapistore_context *mstore_ctx, uint32_tcontext_id, void *folder, TALLOC_CTX *mem_ctx, uint64_tmid, uint8_tassociated, void **messagep)" Create a message in mapistore .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontext_id\fP the context identifier referencing the backend where the messagewill be created .br \fIparent_fid\fP the parent folder identifier .br \fImid\fP the message identifier to create .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors .RE .PP .PP References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER\&. .SS "enum \fBmapistore_error\fP mapistore_folder_delete (struct mapistore_context *mstore_ctx, uint32_tcontext_id, void *folder, uint8_tflags)" Remove a directory in mapistore .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontext_id\fP the context identifier referencing the backend .br \fIparent_fid\fP the parent folder identifier .br \fIfid\fP the folder identifier representing the folder to delete .br \fIflags\fP flags that control the behaviour of the operation .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors .RE .PP .PP References mapistore_backend_lookup(), MAPISTORE_ERR_EXIST, MAPISTORE_ERR_INVALID_PARAMETER, and MAPISTORE_SUCCESS\&. .SS "enum \fBmapistore_error\fP mapistore_folder_delete_message (struct mapistore_context *mstore_ctx, uint32_tcontext_id, void *folder, uint64_tmid, uint8_tflags)" Delete a message from mapistore .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontext_id\fP the context identifier referencing the backend where the message's to be located is stored .br \fImid\fP the message identifier of the folder to delete .br \fIflags\fP flags that control the behaviour of the operation (MAPISTORE_SOFT_DELETE or MAPISTORE_PERMANENT_DELETE) .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors .RE .PP .PP References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER\&. .SS "enum \fBmapistore_error\fP mapistore_folder_get_child_count (struct mapistore_context *mstore_ctx, uint32_tcontext_id, void *folder, enum mapistore_table_typetable_type, uint32_t *RowCount)" Retrieve the number of child messages within a mapistore folder .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontext_id\fP the context identifier referencing the backend .br \fIfid\fP the folder identifier .br \fIRowCount\fP pointer to the count result to return .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors .RE .PP .PP References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER\&. .SS "enum \fBmapistore_error\fP mapistore_folder_get_deleted_fmids (struct mapistore_context *mstore_ctx, uint32_tcontext_id, void *folder, TALLOC_CTX *mem_ctx, enum mapistore_table_typetable_type, uint64_tchange_num, struct UI8Array_r **fmidsp, uint64_t *cnp)" Get the array of deleted items following a specific change number .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontext_id\fP the context identifier referencing the backend where the message's to be located is stored .br \fIfolder\fP the folder backend object .br \fImem_ctx\fP the TALLOC_CTX that should be used as parent for the returned array .br \fItable_type\fP the type of object that we want to take into account .br \fIchange_num\fP the reference change number .br \fIfmidsp\fP a pointer to the returned array .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors .RE .PP .PP References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER\&. .SS "enum \fBmapistore_error\fP mapistore_folder_open_folder (struct mapistore_context *mstore_ctx, uint32_tcontext_id, void *folder, TALLOC_CTX *mem_ctx, uint64_tfid, void **child_folder)" Open a directory in mapistore .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontext_id\fP the context identifier referencing the backend where the directory will be opened .br \fIparent_fid\fP the parent folder identifier .br \fIfid\fP folder identifier to open .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors .RE .PP .PP References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER\&. .SS "enum \fBmapistore_error\fP mapistore_folder_open_message (struct mapistore_context *mstore_ctx, uint32_tcontext_id, void *folder, TALLOC_CTX *mem_ctx, uint64_tmid, boolread_write, void **messagep)" Open a message in mapistore .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontext_id\fP the context identifier referencing the backend where the directory will be opened .br \fIparent_fid\fP the parent folder identifier .br \fImid\fP the message identifier to open .br \fIpointer\fP to the mapistore_message structure .RE .PP \fBReturns:\fP .RS 4 MAPISTORE SUCCESS on success, otherwise MAPISTORE errors .RE .PP .PP References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER\&. .SS "enum \fBmapistore_error\fP mapistore_get_queued_notifications (struct mapistore_context *mstore_ctx, struct mapistore_subscription *s, struct mapistore_notification_list **nl)" Return the list of pending mapistore notifications within the queue pointed by the mapistore subscription structure\&. .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIs\fP pointer to the mapistore subscription where the mqueue file descriptor is stored .br \fInl\fP pointer on pointer to the list of mapistore noficiations to return .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References MAPISTORE_ERR_INVALID_PARAMETER, MAPISTORE_ERR_NOT_FOUND, MAPISTORE_ERR_NOT_INITIALIZED, and MAPISTORE_SUCCESS\&. .SS "enum \fBmapistore_error\fP mapistore_get_queued_notifications_named (struct mapistore_context *mstore_ctx, const char *mqueue_name, struct mapistore_notification_list **nl)" Return the list of pending mapistore notifications available on the queue name specified in argument\&. .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fImqueue_name\fP the name of the queue to open .br \fInl\fP pointer on pointer to the list of mapistore notifications to return .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error\&. .RE .PP .PP References MAPISTORE_ERR_INVALID_PARAMETER, MAPISTORE_ERR_NOT_FOUND, MAPISTORE_ERR_NOT_INITIALIZED, and MAPISTORE_SUCCESS\&. .SS "enum \fBmapistore_error\fP mapistore_indexing_get_new_folderID (struct mapistore_context *mstore_ctx, uint64_t *fid)" Allocates a new FolderID and returns it .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIfid\fP pointer to the fid value the function returns .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References mapistore_indexing_get_new_folderID_as_user()\&. .SS "enum \fBmapistore_error\fP mapistore_indexing_get_new_folderID_as_user (struct mapistore_context *mstore_ctx, const char *username, uint64_t *fid)" Allocates a new FolderID for a specific user and returns it .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIusername\fP name of the mailbox .br \fIfid\fP pointer to the fid value the function returns .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References MAPISTORE_SUCCESS\&. .PP Referenced by mapistore_indexing_get_new_folderID()\&. .SS "enum \fBmapistore_error\fP mapistore_indexing_get_new_folderIDs (struct mapistore_context *mstore_ctx, TALLOC_CTX *mem_ctx, uint64_tmax, struct UI8Array_r **fids_p)" Allocates a batch of new folder ids and returns them .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fImem_ctx\fP memory context where the fid will be allocated .br \fImax\fP number of fids to allocate .br \fIfids_p\fP pointer array of fids values the function returns .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References MAPISTORE_SUCCESS\&. .SS "enum \fBmapistore_error\fP mapistore_indexing_record_add_fid (struct mapistore_context *mstore_ctx, uint32_tcontext_id, const char *username, uint64_tfid)" Add a fid record to the indexing database .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontext_id\fP the context identifier referencing the indexing database to update .br \fIfid\fP the fid to add .RE .PP \fBNote:\fP .RS 4 This is a wrapper to the internal common mapistore_indexing_record_add_fmid function\&. .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References mapistore_indexing_record_add_fmid()\&. .SS "enum \fBmapistore_error\fP mapistore_indexing_record_add_mid (struct mapistore_context *mstore_ctx, uint32_tcontext_id, const char *username, uint64_tmid)" Add a mid record to the indexing database .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontext_id\fP the context identifier referencing the indexing database to update .br \fImid\fP the mid to add .RE .PP \fBNote:\fP .RS 4 This is a wrapper to the internal common mapistore_indexing_record_add_fmid function\&. .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References mapistore_indexing_record_add_fmid()\&. .SS "enum \fBmapistore_error\fP mapistore_indexing_record_del_fid (struct mapistore_context *mstore_ctx, uint32_tcontext_id, const char *username, uint64_tfid, uint8_tflags)" Delete a fid record from the indexing database .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontext_id\fP the context identifier referencing the indexing database to update .br \fIfid\fP the fid to remove .br \fIflags\fP the type of deletion MAPISTORE_SOFT_DELETE or MAPISTORE_PERMANENT_DELETE .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References mapistore_indexing_record_del_fmid()\&. .SS "enum \fBmapistore_error\fP mapistore_indexing_record_del_mid (struct mapistore_context *mstore_ctx, uint32_tcontext_id, const char *username, uint64_tmid, uint8_tflags)" Delete a mid record from the indexing database .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontext_id\fP the context identifier referencing the indexing database to update .br \fImid\fP the mid to remove .br \fIflags\fP the type of deletion MAPISTORE_SOFT_DELETE or MAPISTORE_PERMANENT_DELETE .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References mapistore_indexing_record_del_fmid()\&. .SS "enum \fBmapistore_error\fP mapistore_indexing_record_get_uri (struct mapistore_context *mstore_ctx, const char *username, TALLOC_CTX *mem_ctx, uint64_tfmid, char **urip, bool *soft_deletedp)" Returns record data .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIusername\fP the name of the account where to look for the indexing database .br \fImem_ctx\fP pointer to the memory context .br \fIfmid\fP the fmid/key to the record .br \fIurip\fP pointer to the uri pointer .br \fIsoft_deletedp\fP pointer to the soft deleted pointer .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References MAPISTORE_ERR_NOT_INITIALIZED, MAPISTORE_ERROR, and mapistore_indexing_add()\&. .SS "enum \fBmapistore_error\fP mapistore_indexing_reserve_fmid_range (struct mapistore_context *mstore_ctx, uint64_trange_len, uint64_t *first_fmidp)" Reserve a range of FMID .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIrange_len\fP size of the range of fmids to reserve .br \fIfirst_fmidp\fP pointer to the first reserved fid value the function returns .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References MAPISTORE_ERR_INVALID_PARAMETER, mapistore_indexing_search(), and MAPISTORE_SUCCESS\&. .SS "struct mapistore_context* mapistore_init (TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx, const char *path)" Initialize the mapistore context .PP \fBParameters:\fP .RS 4 \fImem_ctx\fP pointer to the memory context .br \fIlp_ctx\fP loadparm_context to get smb\&.conf options .br \fIpath\fP the path to the location to load the backend providers from (NULL for default) .RE .PP \fBReturns:\fP .RS 4 allocate mapistore context on success, otherwise NULL .RE .PP .PP References mapistore_backend_init(), mapistore_errstr(), mapistore_set_default_indexing_url(), mapistore_set_mapping_path(), and MAPISTORE_SUCCESS\&. .SS "enum \fBmapistore_error\fP mapistore_message_get_message_data (struct mapistore_context *mstore_ctx, uint32_tcontext_id, void *message, TALLOC_CTX *mem_ctx, struct mapistore_message **msg)" Modify recipients of a message in mapistore .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontext_id\fP the context identifier referencing the backend where properties will be stored .br \fImid\fP the identifier referencing the message the array of recipient rows the number of elements in the array .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors .RE .PP .PP References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER\&. .SS "enum \fBmapistore_error\fP mapistore_message_modify_recipients (struct mapistore_context *mstore_ctx, uint32_tcontext_id, void *message, struct SPropTagArray *columns, uint16_tcount, struct mapistore_message_recipient *recipients)" Modify recipients of a message in mapistore .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontext_id\fP the context identifier referencing the backend where properties will be stored .br \fImid\fP the identifier referencing the message the array of recipient rows the number of elements in the array .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors .RE .PP .PP References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER\&. .SS "enum \fBmapistore_error\fP mapistore_message_save (struct mapistore_context *mstore_ctx, uint32_tcontext_id, void *message, TALLOC_CTX *mem_ctx)" Commit the changes made to a message in mapistore .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontext_id\fP the context identifier referencing the backend where the message's changes will be saved .br \fImid\fP the message identifier to save .br \fIflags\fP flags associated to the commit operation .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors .RE .PP .PP References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER\&. .SS "enum \fBmapistore_error\fP mapistore_message_set_read_flag (struct mapistore_context *mstore_ctx, uint32_tcontext_id, void *message, uint8_tflag)" Commit the changes made to a message in mapistore .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontext_id\fP the context identifier referencing the backend where the message's changes will be saved .br \fImid\fP the message identifier to save .br \fIflags\fP flags associated to the commit operation .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors .RE .PP .PP References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER\&. .SS "enum \fBmapistore_error\fP mapistore_message_submit (struct mapistore_context *mstore_ctx, uint32_tcontext_id, void *message, enum SubmitFlagsflags)" Submits a message for sending\&. .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIcontext_id\fP the context identifier referencing the backend where the message will be submitted .br \fImid\fP the message identifier representing the message to submit .br \fIflags\fP flags associated to the submit operation .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors .RE .PP .PP References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER\&. .SS "enum \fBmapistore_error\fP mapistore_namedprops_create_id (struct namedprops_context *nprops, struct MAPINAMEIDnameid, uint16_tmapped_id)" return the mapped property ID matching the nameid structure passed in parameter\&. .PP \fBParameters:\fP .RS 4 \fIldb_ctx\fP pointer to the namedprops ldb context .br \fInameid\fP the MAPINAMEID structure to lookup .br \fIpropID\fP pointer to the property ID the function returns .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE_ERROR .RE .PP .PP References MAPISTORE_ERROR\&. .SS "enum \fBmapistore_error\fP mapistore_namedprops_get_mapped_id (struct namedprops_context *nprops, struct MAPINAMEIDnameid, uint16_t *propID)" return the mapped property ID matching the nameid structure passed in parameter\&. .PP \fBParameters:\fP .RS 4 \fIldb_ctx\fP pointer to the namedprops ldb context .br \fInameid\fP the MAPINAMEID structure to lookup .br \fIpropID\fP pointer to the property ID the function returns .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE_ERROR .RE .PP .PP References MAPISTORE_ERROR\&. .SS "enum \fBmapistore_error\fP mapistore_namedprops_get_nameid (struct namedprops_context *nprops, uint16_tpropID, TALLOC_CTX *mem_ctx, struct MAPINAMEID **nameidp)" return the nameid structture matching the mapped property ID passed in parameter\&. .PP \fBParameters:\fP .RS 4 \fIldb_ctx\fP pointer to the namedprops ldb context .br \fIpropID\fP the property ID to lookup .br \fInameid\fP pointer to the MAPINAMEID structure the function returns .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE_ERROR .RE .PP .PP References MAPISTORE_ERROR\&. .SS "enum \fBmapistore_error\fP mapistore_namedprops_get_nameid_type (struct namedprops_context *nprops, uint16_tpropID, uint16_t *propTypeP)" return the type matching the mapped property ID passed in parameter\&. .PP \fBParameters:\fP .RS 4 \fIldb_ctx\fP pointer to the namedprops ldb context .br \fIpropID\fP the property ID to lookup .br \fIpropTypeP\fP pointer to the uint16_t that will receive the property type .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE_ERROR .RE .PP .PP References MAPISTORE_ERROR, and MAPISTORE_SUCCESS\&. .SS "enum \fBmapistore_error\fP mapistore_namedprops_next_unused_id (struct namedprops_context *nprops, uint16_t *highest_id)" Returns the next unmapped property ID .PP \fBParameters:\fP .RS 4 \fInprops\fP pointer to the namedprops context .br \fIhighest_id\fP pointer to the next unused id to return .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References MAPISTORE_ERR_INVALID_PARAMETER, and MAPISTORE_SUCCESS\&. .SS "enum \fBmapistore_error\fP mapistore_release (struct mapistore_context *mstore_ctx)" Release the mapistore context and destroy any data associated .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .RE .PP \fBNote:\fP .RS 4 The function needs to rely on talloc destructors which is not implemented in code yet\&. .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References MAPISTORE_ERR_NOT_INITIALIZED, and MAPISTORE_SUCCESS\&. .SS "enum \fBmapistore_error\fP mapistore_replica_mapping_guid_to_replid (struct mapistore_context *mstore_ctx, const char *username, const struct GUID *guidP, uint16_t *replidP)" Search a replica guid in the database, creates it if it does not exist .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIguidP\fP the replica guid .br \fIreplidP\fP pointer to the returned replica id .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References MAPISTORE_ERROR, and MAPISTORE_SUCCESS\&. .SS "enum \fBmapistore_error\fP mapistore_replica_mapping_replid_to_guid (struct mapistore_context *mstore_ctx, const char *username, uint16_treplid, struct GUID *guidP)" Search a replica id in the database .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIreplid\fP the replica id .br \fIguidP\fP pointer to the returned replica guid .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References MAPISTORE_ERROR, and MAPISTORE_SUCCESS\&. .SS "enum \fBmapistore_error\fP mapistore_search_context_by_uri (struct mapistore_context *mstore_ctx, const char *uri, uint32_t *context_id, void **backend_object)" Search for an existing context given its uri .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIuri\fP the URI to lookup .br \fIcontext_id\fP pointer to the context identifier to return .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References mapistore_backend_lookup_by_uri(), MAPISTORE_ERR_NOT_FOUND, MAPISTORE_ERROR, and MAPISTORE_SUCCESS\&. .SS "enum \fBmapistore_error\fP mapistore_set_connection_info (struct mapistore_context *mstore_ctx, struct ldb_context *sam_ctx, struct openchangedb_context *oc_ctx, const char *username)" Set connection info for current mapistore context .PP \fBParameters:\fP .RS 4 \fImstore_ctx\fP pointer to the mapistore context .br \fIoc_ctx\fP pointer to the openchange ldb database .br \fIusername\fP pointer to the current username .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References MAPISTORE_ERR_INVALID_PARAMETER, MAPISTORE_ERR_NOT_INITIALIZED, and MAPISTORE_SUCCESS\&. .SS "void mapistore_set_default_indexing_url (const char *url)" Set the default backend url\&. If none is set, a tdb file per user will be used\&. .PP \fBParameters:\fP .RS 4 \fIurl\fP default backend url to be used .RE .PP .PP Referenced by mapistore_init()\&. .SS "enum \fBmapistore_error\fP mapistore_set_mapping_path (const char *path)" Set the mapping path .PP \fBParameters:\fP .RS 4 \fIpath\fP pointer to the mapping path .RE .PP \fBNote:\fP .RS 4 The mapping path can be set unless id_mapping_context is initialized\&. If path is NULL and mapping path is not yet initialized, then mapping_path will be reset to its default value when the initialization routine is called\&. .RE .PP \fBReturns:\fP .RS 4 MAPISTORE_SUCCESS on success, otherwise MAPISTORE error .RE .PP .PP References MAPISTORE_ERR_NO_DIRECTORY, and MAPISTORE_SUCCESS\&. .PP Referenced by mapistore_init()\&. .SH "Author" .PP Generated automatically by Doxygen for OpenChange mapistore library from the source code\&.