_CMPIBrokerMemFT Struct Reference

#include <cmpift.h>

List of all members.

Public Attributes

int ftVersion
CMPIGcStat *(* mark )(const CMPIBroker *mb, CMPIStatus *rc)
CMPIStatus(* release )(const CMPIBroker *mb, const CMPIGcStat *gc)
void *(* cmpiMalloc )(const CMPIBroker *mb, size_t size)
void *(* cmpiCalloc )(const CMPIBroker *mb, size_t, size_t)
void *(* cmpiRealloc )(const CMPIBroker *mb, void *, size_t)
char *(* cmpiStrDup )(const CMPIBroker *mb, const char *)
void(* cmpiFree )(const CMPIBroker *mb, void *)
void(* freeInstance )(const CMPIBroker *mb, CMPIInstance *inst)
void(* freeObjectPath )(const CMPIBroker *mb, CMPIObjectPath *obj)
void(* freeArgs )(const CMPIBroker *mb, CMPIArgs *args)
void(* freeString )(const CMPIBroker *mb, CMPIString *str)
void(* freeArray )(const CMPIBroker *mb, CMPIArray *array)
void(* freeDateTime )(const CMPIBroker *mb, CMPIDateTime *date)
void(* freeSelectExp )(const CMPIBroker *mb, CMPISelectExp *se)

Detailed Description

This structure is a table of pointers to memory specific CIMOM services. This table is made available by the Management Broker, whenever a provider is loaded and initialized. This is an extension used by CIMOMs to support memory management enhancements.


Member Data Documentation

void*(* _CMPIBrokerMemFT::cmpiCalloc)(const CMPIBroker *mb, size_t, size_t)

This function shall return a pointer to the allocated memory, the memory will be initialized to zero.

Parameters:
mb The broker.
nElems The number of elements to allocate.
sizeElem The number of elements to allocate.
Returns:
Returns a pointer to the allocated memory, or NULL if the memory could not be allocated.
void(* _CMPIBrokerMemFT::cmpiFree)(const CMPIBroker *mb, void *)

This function frees memory allocated via the cmpiMalloc, cmpiCalloc or cmpiRealloc functions.

Parameters:
mb The broker.
ptr The memory to free. This memory MUST have been allocated via the cmpiMalloc, cmpiCalloc or cmpiRealloc functions.
Returns:
None
void*(* _CMPIBrokerMemFT::cmpiMalloc)(const CMPIBroker *mb, size_t size)

Allocates uninitalized memory of the specified size.

Parameters:
mb Specifies the broker.
size Specifies the amount of memory to allocate.
Returns:
Returns a pointer to the allocated memory, or NULL if the memory could not be allocated
void*(* _CMPIBrokerMemFT::cmpiRealloc)(const CMPIBroker *mb, void *, size_t)

This function changes the size of the memory block pointed to by ptr which must have been returned by a previous call to cmpiMalloc or cmpiCalloc. See the ANSI-C function realloc for more information

Parameters:
mb the broker.
ptr Pointer to previosuly allocated memory. Passing a pointer to this function which was not allocated explicitly by cmpiMalloc or cmpiCalloc is undefined.
size The new size of the memory block.
Returns:
Returns a pointer to the newly allocated memory block, or NULL if the new memory is not allcoated. If the function fals nothing is done with the original ptr argument.
char*(* _CMPIBrokerMemFT::cmpiStrDup)(const CMPIBroker *mb, const char *)

This function returns a pointer to a new string which is a duplicate of the string src.

Parameters:
mb The broker
src The string to duplicate
Returns:
a pointer to the duplicated string, or NULL if insufficient memory was available.
void(* _CMPIBrokerMemFT::freeArgs)(const CMPIBroker *mb, CMPIArgs *args)

Allows a MI to free memory associated to a CMPIArgs which was allocated via CMPIBrokerEncFT.newArgs. this function should be called when an instance is no longer being used by the MI. This function will free all contained objects.

Parameters:
mb the broker.
args The argument to free.
Returns:
None.
void(* _CMPIBrokerMemFT::freeArray)(const CMPIBroker *mb, CMPIArray *array)

Allows a MI to free memory associated to a CMPIArray which was allocated via CMPIBrokerEncFT.newArray. this function should be called when an instance is no longer being used by the MI. This function will free all contained objects (e.g. the array elements).

Parameters:
mb the broker.
args The string to free.
Returns:
None.

Allows a MI to free memory associated to a CMPIDateTime which was allocated via CMPIBrokerEncFT.newDateTime functions. this function should be called when an instance is no longer being used by the MI. This function will free all contained objects.

Parameters:
mb the broker.
args The string to free.
Returns:
None.

Allows a MI to free memory associated to a CMPIinstance which was allocated via CMPIBrokerEncFT.newInstance. this function should be called when an instance is no longer being used by the MI. This function will free all contained objects (e.g. properties).

Parameters:
mb the broker.
inst The instance to free.
Returns:
None.

Allows a MI to free memory associated to a CMPIArgs which was allocated via CMPIBrokerEncFT.newArgs. this function should be called when an instance is no longer being used by the MI. This function will free all contained objects.

Parameters:
mb the broker.
obj The object path to free.
Returns:
None

Allows a MI to free memory associated to a CMPISelectExp which was allocated via CMPIBrokerEncFT.newSelectExp functions. this function should be called when an instance is no longer being used by the MI. This function will free all contained objects.

Parameters:
mb the broker.
args The string to free.
Returns:
None.

Allows a MI to free memory associated to a CMPIString which was allocated via CMPIBrokerEncFT.newString. this function should be called when an instance is no longer being used by the MI. This function will free all contained objects.

Parameters:
mb the broker.
args The string to free.
Returns:
None.

Function table version.

CMPIGcStat*(* _CMPIBrokerMemFT::mark)(const CMPIBroker *mb, CMPIStatus *rc)

Returns a marker. Invoking this function marks subsequent newly created CMPI objects to be released when release() function is invoked. Note: mark() functions can be stacked.

Parameters:
mb The broker.
rc Output: Service return status (suppressed when NULL).
Returns:
Handle to be provided to releae() function.
CMPIStatus(* _CMPIBrokerMemFT::release)(const CMPIBroker *mb, const CMPIGcStat *gc)

Release all CMPI objects created since last mark() operation represented by the parameter. release() functions can be stacked.

Parameters:
mb The broker.
gc The handle returned from the mark() operation.
Returns:
Service return status.

The documentation for this struct was generated from the following file:
  • /root/rpmbuild/BUILD/pegasus/src/Pegasus/Provider/CMPI/cmpift.h