PreviousNext

Step 2: Declare Local Variables

The local variables are defined in the following code fragment from acl.c:

OM_workspace workspace; /* workspace for objects */

OM_private_object session; /* Session object. */

OM_private_object bound_session; /* Holds the Session object which */

/* is returned by ds_bind() */

OM_public_object context; /* Context object. */

OM_private_object result; /* Holds the search result object. */

OM_sint invoke_id; /* Integer for the invoke id */

/* returned by ds_search(). */

/* (this parameter must be present */

/* even though it is ignored). */

OM_type sinfo_list[] = { DS_SEARCH_INFO, 0 };

OM_type entry_list[] = { DS_ENTRIES, 0 };

/* Lists of types to be extracted */

OM_public_object sinfo; /* Search-Info object from result. */

OM_public_object entry; /* Entry object from search info. */

OM_value_position total_num; /* Number of descriptors returned. */

OM_return_code rc; /* XOM function return code. */

register int i;

char user_name[MAX_DN_LEN];

/* Holds requestor's name. */

char entry_string[MAX_DN_LEN + 7] = "[?r??] ";

/* Holds entry details. */

These data types are defined in a typedef statement in the xom.h header file. Since asynchronous operations (within the same thread) are not supported, the invoke_id functionality is redundant. The invoke_id parameter must be supplied to the XDS functions as described in the OSF DCE Application Development Reference, but its return value should be ignored.