Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sec_rgy_attr_lookup_no_expand(3sec) — DCE 3.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

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). 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026