PreviousNext

rpc_ss_set_client_alloc_free(3rpc)

Sets the memory allocation and freeing mechanism used by the client stubs, thereby overriding the default routines the client stub uses to manage memory for pointed-to nodes

Used by client applications.

Synopsis

#include <dce/rpc.h>

void rpc_ss_set_client_alloc_free(

idl_void_p_t (*p_allocate)(

idl_size_t size),

void (*p_free)(

idl_void_p_t *ptr)

);

Parameters

Input

p_allocate
Specifies a pointer to a routine that has the same procedure declaration as the malloc( ) routine and that is used by the client stub to allocate memory.

p_free
Specifies a pointer to a routine that has the same procedure declaration as the free( ) routine and that is used to free memory that was allocated using the routine pointed at by p_allocate.

Note that in ANSI standard C environments, idl_void_p_t is defined as void * and in other environments is defined as char *.

Description
The rpc_ss_set_client_alloc_free( ) routine overrides the default routines that the client stub uses to manage memory for pointed-to nodes. The default memory management routines are malloc( ) and free( ), except when the remote call occurs within manager code, in which case the default memory management routines are rpc_ss_allocate( ) and rpc_ss_free( ).

For information about rules for using memory management routines, see the OSF DCE Application Development Guide - Core Components.

Return Values
An exception, rpc_x_no_memory, when there is insufficient memory available to set up necessary data structures.

Errors

A representative list of errors that might be returned is not shown here. Refer to the OSF DCE Problem Determination Guide for complete descriptions of all error messages.

Related Information
Functions: rpc_ss_allocate(3rpc)

rpc_ss_free(3rpc)

Books: OSF DCE Application Development Guide - Core Components