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, uint8_t untyped)
 
_PUBLIC_ struct SRow * libmapiserver_ROP_request_to_properties (TALLOC_CTX *mem_ctx, void *request, uint8_t opnum)
 
_PUBLIC_ uint16_t libmapiserver_RopCommitStream_size (struct EcDoRpc_MAPI_REPL *response)
 
_PUBLIC_ uint16_t libmapiserver_RopCopyTo_size (struct EcDoRpc_MAPI_REPL *response)
 
_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_RopGetNamesFromIDs_size (struct EcDoRpc_MAPI_REPL *response)
 
_PUBLIC_ uint16_t libmapiserver_RopGetPropertiesAll_size (struct EcDoRpc_MAPI_REPL *response)
 
_PUBLIC_ uint16_t libmapiserver_RopGetPropertiesList_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_RopSeekStream_size (struct EcDoRpc_MAPI_REPL *response)
 
_PUBLIC_ uint16_t libmapiserver_RopSetProperties_size (struct EcDoRpc_MAPI_REPL *response)
 
_PUBLIC_ uint16_t libmapiserver_RopSetStreamSize_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,
uint8_t  untyped 
)

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_RopFindRow(), emsmdbp_fill_row_blob(), emsmdbp_fill_table_row_blob(), emsmdbp_resolve_recipient(), and oxcmsg_fill_RecipientRow_data().

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

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_RopCommitStream_size ( struct EcDoRpc_MAPI_REPL *  response)

Calculate CommitStream Rop size

Parameters
responsepointer to the CommitStream EcDoRpc_MAPI_REPL structure
Returns
Size of CommitStream response

References SIZE_DFLT_MAPI_RESPONSE.

Referenced by EcDoRpc_RopCommitStream().

_PUBLIC_ uint16_t libmapiserver_RopCopyTo_size ( struct EcDoRpc_MAPI_REPL *  response)

Calculate CopyTo Rop size

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

References SIZE_DFLT_MAPI_RESPONSE, and SIZE_DFLT_ROPCOPYTO.

Referenced by EcDoRpc_RopCopyTo().

_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.

Referenced by EcDoRpc_RopDeletePropertiesNoReplicate().

_PUBLIC_ uint16_t libmapiserver_RopGetNamesFromIDs_size ( struct EcDoRpc_MAPI_REPL *  response)

Calculate GetNamesFromIDs Rop size

Parameters
responsepointer to the GetNamesFromIDs EcDoRpc_MAPI_REPL structure
Returns
Size of GetNamesFromIDs response

References libmapiserver_PropertyName_size(), SIZE_DFLT_MAPI_RESPONSE, and SIZE_DFLT_ROPGETNAMESFROMIDS.

Referenced by EcDoRpc_RopGetNamesFromIDs().

_PUBLIC_ uint16_t libmapiserver_RopGetPropertiesAll_size ( struct EcDoRpc_MAPI_REPL *  response)

Calculate GetPropertiesAll Rop size

Parameters
requestpointer to the GetPropertiesAll EcDoRpc_MAPI_REPL structure
Returns
Size of GetPropsAll response

References libmapiserver_mapi_SPropValue_size(), SIZE_DFLT_MAPI_RESPONSE, and SIZE_DFLT_ROPGETPROPERTIESALL.

Referenced by EcDoRpc_RopGetPropertiesAll().

_PUBLIC_ uint16_t libmapiserver_RopGetPropertiesList_size ( struct EcDoRpc_MAPI_REPL *  response)

Calculate GetPropertiesList Rop size

Parameters
requestpointer to the GetPropertiesList EcDoRpc_MAPI_REPL structure
Returns
Size of GetPropertiesList response

References SIZE_DFLT_MAPI_RESPONSE, and SIZE_DFLT_ROPGETPROPERTIESLIST.

Referenced by EcDoRpc_RopGetPropertiesList().

_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.

Referenced by EcDoRpc_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_RopSeekStream_size ( struct EcDoRpc_MAPI_REPL *  response)

Calculate SeekStream Rop size

Parameters
responsepointer to the SeekStream EcDoRpc_MAPI_REPL structure
Returns
Size of SeekStream response

References SIZE_DFLT_MAPI_RESPONSE, and SIZE_DFLT_ROPSEEKSTREAM.

Referenced by EcDoRpc_RopSeekStream().

_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_RopSetStreamSize_size ( struct EcDoRpc_MAPI_REPL *  response)

Calculate SetStreamSize Rop size

Parameters
responsepointer to the SetStreamSize EcDoRpc_MAPI_REPL structure
Returns
Size of SeekStream response

References SIZE_DFLT_MAPI_RESPONSE.

Referenced by EcDoRpc_RopSetStreamSize().

_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/