PreviousNext

sec_rgy_attr_lookup_no_expand(3sec)

Reads a specified object's attribute(s), without expanding attribute sets into individual member attributes

Synopsis

#include <dce/sec_rgy_attr.h>

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

context
An 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.

name
A 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 attr_keys[ ] array. If num_attr_keys is set to 0, 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

cursor
A 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_left
A 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.

status
A 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.

unauthorized

registry server unavailable

invalid/unsupported attribute type

error_status_ok

Related Information
Functions:

sec_intro(3sec)

sec_rgy_attr_lookup_by_id(3sec)

sec_rgy_attr_lookup_by_name(3sec)