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.