sec_rgy_attr_lookup_no_expand(3sec) — Subroutines
NAME
sec_rgy_attr_lookup_no_expand — Reads a specified object’s attribute(s), without expanding attribute sets into individual member attributes
Synopsis
void sec_rgy_attr_lookup_no_expand(
sec_rgy_handle_t context,
sec_rgy_domain_t name_domain,
sec_rgy_name_t name,
sec_attr_cursor_t ∗cursor,
unsigned32 num_attr_keys,
unsigned32 space_avail,
uuid_t attr_keys[!],
unsigned32 ∗num_returned,
sec_attr_t attr_sets[!],
unsigned32 ∗num_left,
error_status_t status);
Parameters
Input
contextAn opaque handle bound to a registry server. Use sec_rgy_site_open() to acquire a bound handle.
name_domain
A value of type sec_rgy_domain_t that identifies the domain in which the named object resides. The valid values are as follows:
sec_rgy_domain_principal
The name identifies a principal.
sec_rgy_domain_group
The name identifies a group.
sec_rgy_domain_org
The name identifies an organization.
This parameter is ignored if name is policy or replist.
nameA pointer to a sec_rgy_name_t character string containing the name of the person, group, or organization to which the attribute is attached.
num_attr_keys
An unsigned 32-bit integer that specifies the number of elements in the the attr_keys[!] array. If num_attr_keys is set to 0 (zero), all attribute sets that the caller is authorized to see are returned.
space_avail
An unsigned 32-bit integer that specifies the size of the attrs_sets[!] array.
attr_keys[!]
An array of values of type uuid_t that specify the UUIDs of the attribute sets to be returned. The size of the attr_keys[!] array is determined by the num_attr_keys parameter.
Input/Output
cursorA pointer to a sec_attr_cursor_t. As an input parameter, cursor is a pointer to a sec_attr_cursor_t that is initialized by the sec_rgy_attr_cursor_init. As an output parameter, cursor is a pointer to a sec_attr_cursor_t that is positioned past the attribute sets returned in this call.
Output
num_returned
A pointer to a 32-bit integer that specifies the number of attribute sets returned in the attrs[!] array.
attr_sets[!]An array of values of type sec_attr_t that contains the attribute sets retrieved by UUID. The size of the array is determined by space_avail and the length by num_returned.
num_leftA pointer to a 32-bit unsigned integer that supplies the number of attribute sets that were found but could not be returned because of space constraints in the attr_sets[!] buffer. To ensure that all the attributes will be returned, increase the size of the attr_sets[!] array by increasing the size of space_avail and num_returned.
statusA pointer to the completion status. On successful completion, the routine returns error_status_ok. Otherwise, it returns an error.
Description
The sec_rgy_attr_lookup_no_expand() routine reads attribute sets. This routine is similar to the sec_rgy_attr_lookup_by_id() routine with one exception: for attribute sets, the sec_rgy_attr_lookup_by_id() routine expands attribute sets and returns a sec_attr_t for each member in the set. This call does not. Instead it returns a sec_attr_t for the set instance only. The sec_rgy_attr_lookup_no_expand() routine is useful for programmatic access.
cursor is a cursor of type sec_attr_cursor_t that establishes the point in the attribute set list from which the server should start processing the query. Use the sec_rgy_attr_cursor_init function to initialize cursor. If cursor is uninitialized, the behavior is undefined.
The num_left parameter contains the number of attribute sets that were found but could not be returned because of space constraints of the attr_sets[!] array. (Note that this number may be inaccurate if the target server allows updates between successive queries.) To obtain all of the remaining attribute sets, set the size of the attr_sets[!] array so that it is large enough to hold the number of attributes listed in num_left.
Permissions Required
The sec_rgy_attr_lookup_no_expand() routine requires the query permission set for each attribute type identified in the attr_keys[!] array. These permissions are defined as part of the ACL manager set in the schema entry of each attribute type.
Files
/usr/include/dce/sec_rgy_attr.idl
The idl file from which dce/sec_rgy_attr.h was derived.
Errors
The following describes a partial list of errors that might be returned. Refer to the OSF DCE Problem Determination Guide for complete descriptions of all error messages.
invalid/unsupported attribute type
registry server unavailable
unauthorized
error_status_ok
Related Information
Functions: sec_intro(3sec), sec_rgy_attr_lookup_by_id(3sec), sec_rgy_attr_lookup_by_name(3sec).