mapiproxy/libmapiserver/libmapiserver_oxcprpt.c File Reference

OXCPRPT ROP Response size calculations. More...

#include "libmapiserver.h"
#include "libmapi/libmapi.h"
#include "libmapi/mapidefs.h"

Functions

_PUBLIC_ int libmapiserver_push_property (TALLOC_CTX *mem_ctx, uint32_t property, const void *value, DATA_BLOB *blob, uint8_t layout, uint8_t flagged)
_PUBLIC_ struct SRow * libmapiserver_ROP_request_to_properties (TALLOC_CTX *mem_ctx, void *request, uint8_t opnum)
_PUBLIC_ uint16_t libmapiserver_RopDeleteProperties_size (struct EcDoRpc_MAPI_REPL *response)
_PUBLIC_ uint16_t libmapiserver_RopDeletePropertiesNoReplicate_size (struct EcDoRpc_MAPI_REPL *response)
_PUBLIC_ uint16_t libmapiserver_RopGetPropertiesSpecific_size (struct EcDoRpc_MAPI_REQ *request, struct EcDoRpc_MAPI_REPL *response)
_PUBLIC_ uint16_t libmapiserver_RopGetPropertyIdsFromNames_size (struct EcDoRpc_MAPI_REPL *response)
_PUBLIC_ uint16_t libmapiserver_RopGetStreamSize_size (struct EcDoRpc_MAPI_REPL *response)
_PUBLIC_ uint16_t libmapiserver_RopOpenStream_size (struct EcDoRpc_MAPI_REPL *response)
_PUBLIC_ uint16_t libmapiserver_RopReadStream_size (struct EcDoRpc_MAPI_REPL *response)
_PUBLIC_ uint16_t libmapiserver_RopSetProperties_size (struct EcDoRpc_MAPI_REPL *response)
_PUBLIC_ uint16_t libmapiserver_RopWriteStream_size (struct EcDoRpc_MAPI_REPL *response)

Detailed Description

OXCPRPT ROP Response size calculations.


Function Documentation

_PUBLIC_ int libmapiserver_push_property ( TALLOC_CTX *  mem_ctx,
uint32_t  property,
const void *  value,
DATA_BLOB *  blob,
uint8_t  layout,
uint8_t  flagged 
)

Add a property value to a DATA blob. This convenient function should be used when creating a GetPropertiesSpecific reply response blob.

Parameters:
mem_ctxpointer to the memory context
propertythe property tag which value is meant to be appended to the blob
valuegeneric pointer on the property value
blobthe data blob the function uses to return the blob
layoutwhether values should be prefixed by a layout
flaggeddefine if the properties are flagged or not
Note:
blob.length must be set to 0 before this function is called the first time. Also the function only supports a limited set of property types at the moment.
Returns:
0 on success;

Referenced by EcDoRpc_RopQueryRows(), emsmdbp_resolve_recipient(), RopGetPropertiesSpecific_Mailbox(), RopGetPropertiesSpecific_mapistore(), and RopGetPropertiesSpecific_SystemSpecialFolder().

_PUBLIC_ struct SRow* libmapiserver_ROP_request_to_properties ( TALLOC_CTX *  mem_ctx,
void *  request,
uint8_t  opnum 
) [read]

Turn request parameters to SPropValue array. This convenient function should be used among MAPI ROPs that have parameters which can be turned to MAPI properties and are stored within backends.

Parameters:
mem_ctxpointer to the memory context
requestgeneric pointer to the ROP request
opnumMAPI opnum identifying ROP contents
Note:
Developers must talloc_free returned SRow after they finish using it.
Returns:
Allocated SRow on success, otherwise NULL

Referenced by EcDoRpc_RopCreateFolder().

_PUBLIC_ uint16_t libmapiserver_RopDeleteProperties_size ( struct EcDoRpc_MAPI_REPL *  response)

Calculate SetProperties Rop size

Parameters:
responsepointer to the SetProperties EcDoRpc_MAPI_REPL structure
Returns:
Size of SetProperties response

References SIZE_DFLT_MAPI_RESPONSE, and SIZE_DFLT_ROPDELETEPROPERTIES.

Referenced by EcDoRpc_RopDeleteProperties().

_PUBLIC_ uint16_t libmapiserver_RopDeletePropertiesNoReplicate_size ( struct EcDoRpc_MAPI_REPL *  response)

Calculate DeletePropertiesNoReplicate Rop size

Parameters:
responsepointer to the DeletePropertiesNoReplicate EcDoRpc_MAPI_REPL structure
Returns:
Size of DeletePropertiesNoReplicate response

References SIZE_DFLT_MAPI_RESPONSE, and SIZE_DFLT_ROPDELETEPROPERTIESNOREPLICATE.

_PUBLIC_ uint16_t libmapiserver_RopGetPropertiesSpecific_size ( struct EcDoRpc_MAPI_REQ *  request,
struct EcDoRpc_MAPI_REPL *  response 
)

Calculate GetPropertiesSpecific Rop size

Parameters:
requestpointer to the GetPropertiesSpecific EcDoRpc_MAPI_REQ structure
responsepointer to the GetPropertiesSpecific EcDoRpc_MAPI_REPL structure
Returns:
Size of GetPropsSpecific response

References SIZE_DFLT_MAPI_RESPONSE, and SIZE_DFLT_ROPGETPROPERTIESSPECIFIC.

Referenced by EcDoRpc_RopGetPropertiesSpecific().

_PUBLIC_ uint16_t libmapiserver_RopGetPropertyIdsFromNames_size ( struct EcDoRpc_MAPI_REPL *  response)

Calculate GetPropertyIdsFromNames Rop size

Parameters:
responsepointer to the GetPropertyIdsFromNames EcDoRpc_MAPI_REPL structure
Returns:
Size of GetPropertyIdsFromNames response

References SIZE_DFLT_MAPI_RESPONSE, and SIZE_DFLT_ROPGETPROPERTYIDSFROMNAMES.

Referenced by EcDoRpc_RopGetPropertyIdsFromNames().

_PUBLIC_ uint16_t libmapiserver_RopGetStreamSize_size ( struct EcDoRpc_MAPI_REPL *  response)

Calculate GetStreamSize Rop size

Parameters:
responsepointer to the GetStreamSize EcDoRpc_MAPI_REPL structure
Returns:
Size of GetStreamSize response

References SIZE_DFLT_MAPI_RESPONSE, and SIZE_DFLT_ROPGETSTREAMSIZE.

_PUBLIC_ uint16_t libmapiserver_RopOpenStream_size ( struct EcDoRpc_MAPI_REPL *  response)

Calculate OpenStream Rop size

Parameters:
responsepointer to the OpenStream EcDoRpc_MAPI_REPL structure
Returns:
Size of OpenStream response

References SIZE_DFLT_MAPI_RESPONSE, and SIZE_DFLT_ROPOPENSTREAM.

Referenced by EcDoRpc_RopOpenStream().

_PUBLIC_ uint16_t libmapiserver_RopReadStream_size ( struct EcDoRpc_MAPI_REPL *  response)

Calculate ReadStream Rop size

Parameters:
responsepointer to the ReadStream EcDoRpc_MAPI_REPL structure
Returns:
Size of ReadStream response

References SIZE_DFLT_MAPI_RESPONSE, and SIZE_DFLT_ROPREADSTREAM.

Referenced by EcDoRpc_RopReadStream().

_PUBLIC_ uint16_t libmapiserver_RopSetProperties_size ( struct EcDoRpc_MAPI_REPL *  response)

Calculate SetProperties Rop size

Parameters:
responsepointer to the SetProperties EcDoRpc_MAPI_REPL structure
Returns:
Size of SetProperties response

References SIZE_DFLT_MAPI_RESPONSE, and SIZE_DFLT_ROPSETPROPERTIES.

Referenced by EcDoRpc_RopSetProperties().

_PUBLIC_ uint16_t libmapiserver_RopWriteStream_size ( struct EcDoRpc_MAPI_REPL *  response)

Calculate WriteStream Rop size

Parameters:
responsepointer to the WriteStream EcDoRpc_MAPI_REPL structure
Returns:
Size of WriteStream response

References SIZE_DFLT_MAPI_RESPONSE, and SIZE_DFLT_ROPWRITESTREAM.

Referenced by EcDoRpc_RopWriteStream().


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/