Previous section.

DCE 1.1: Authentication and Security Services
Copyright © 1997 The Open Group

NAME

sec_rgy_attr_lookup_no_expand-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_person

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 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() routine. 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, sec_rgy_attr_lookup_by_id() 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 server begins processing the query with the first attribute that satisfies the search criteria.

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

error_status_ok

The call was successful.

sec_attr_bad_type

Invalid or unsupported attribute type.

sec_attr_svr_unavailable

Server is unavailable.

sec_attr_unauthorized

Unauthorized to perform this operation.

SEE ALSO

Functions: sec_rgy_attr_lookup_by_id(), sec_rgy_attr_lookup_by_name().
Please note that the html version of this specification may contain formatting aberrations. The definitive version is available as an electronic publication on CD-ROM from The Open Group.

Contents Next section Index