The sec_rgy_attr_lookup_by_id( ) call reads attributes specified by UUID for an object specified by name and domain. Specifically the call returns the following:
· An array of sec_attr_t values.
· A count of the total number of attribute instances returned.
· A count of the total number of attribute instances that could not be returned because of size constraints of the sec_attr_t array. (Note that the call allows the size of the array to be specified.)
For multivalued attributes, the call returns a sec_attr_t for each value as an individual attribute instance. For attribute sets, the call returns a sec_attr_t for each member of the set, but not the set instance. This routine is useful for programmatic access.
If the attribute instance to be read is not associated with a query trigger or no additional information is required by the query trigger, an attribute UUID is all that is required. For these attribute instances, supply the attribute UUID in the input array and set the attribute encoding (in sec_attr_encoding_t) to sec_attr_enc_void.
If the attribute instance to be read is associated with a query attribute trigger that requires additional information before it can process the query request, use a sec_attr_value_t to supply the requested information by doing the following:
· Set the sec_attr_encoding_t to an encoding type that is compatible with the information required by the query attribute trigger.
· Set the sec_attr_value_t to hold the required information.
You can define the number of elements in the input array of sec_attr_t values (in the num_attr_keys parameter). If you define the number of elements as 0 (zero), the call returns all of the object's attribute instances that the caller is authorized to see. You should be aware, however, that if you define the number of elements as zero and the attribute is associated with a query attribute trigger, you will be unable to pass any information to the query attribute trigger.