PreviousNext

sec_rgy_attr_sch_aclmgr_strings(3sec)

Returns printable ACL strings associated with an ACL manager protecting a bound to schema object

Synopsis

#include <dce/dce_attr_base.h>

void sec_rgy_attr_sch_aclmgr_strings(
sec_rgy_handle_t context,
sec_attr_component_name_t schema_name,
uuid_t *acl_mgr_type,
unsigned32
size_avail,
uuid_t *
acl_mgr_type_chain,
sec_acl_printstring_t *
acl_mgr_info,
boolean32 *
tokenize,
unsigned32 *
total_num_printstrings,
unsigned32 *
size_used,
sec_acl_printstring_t
permstrings[ ],
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.

schema_name
Reserved for future use.

acl_manager_type
A pointer to the UUID identifying the type of the ACL manager in question. There may be more than one type of ACL manager protecting the schema object whose ACL is bound to the input handle. Use this parameter to distinguish them. Use sec_rgy_attr_sch_get_acl_mgrs( ) to acquire a list of the manager types protecting a given schema object.

size_avail
An unsigned 32-bit integer containing the allocated length of the permstrings[ ] array.

Output

acl_mgr_type_chain
If the target object ACL contains more than 32 permission bits, chains of manager types are used: each manager type holds one 32-bit segment of permissions. The UUID returned in acl_mgr_type_chain refers to the next ACL manager in the chain. If there are no more ACL managers in the chain, uuid_nil is returned.

acl_mgr_info
A pointer to a printstring that contains the ACL manager type's name, help information, and set of supported of permission bits.

tokenize
A pointer to a variable that specifies whether or not printstrings will be passed separately:

· TRUE indicates that the printstrings must be printed or passed separately.

· FALSE indicates that the printstrings are unambiguous and can be concatenated when printed without confusion.

total_num_printstrings
A pointer to an unsigned 32-bit integer containing the total number of permission entries supported by this ACL manager type.

size_used
A pointer to an unsigned 32-bit integer containing the number of permission entries returned in the permstrings[ ] array.

permstrings[ ]
An array of printstrings of type sec_acl_printstring_t. Each entry of the array is a structure containing the following three components:

printstring
A character string of maximum length sec_acl_printstring_len describing the printable representation of a specified permission.

helpstring
A character string of maximum length sec_acl_printstring_help_len containing some text that can be used to describe the specified permission.

permissions
A sec_acl_permset_t permission set describing the permissions that are represented with the companion print string.


The array consists of one such entry for each permission supported by the ACL manager identified by acl_mgr_type.

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_sch_aclmgr_strings( ) routine returns an array of printable representations (called printstrings) for each permission bit or combination of permission bits the specified ACL manager supports. The ACL manager type specified by acl_mgr_type must be one of the types protecting the schema object bound to by h.

In addition to returning the printstrings, this routine also returns instructions about how to print the strings in the tokenize variable. If this variable is set to FALSE, the printstrings can be concatenated. If it is set to TRUE, the printstrings cannot be concatenated. For example a printstrings of r or w could be concatenated as rw without any confusion. However, printstrings in a form of read or write, should not be concatenated.

ACL managers often define aliases for common permission combinations. By convention, simple entries appear at the beginning of the printstrings[ ] array, and combinations appear at the end.

Permissions Required
The sec_rgy_attr_sch_scl_mgr_strings( ) routine requires the r permission on the attr_schema object.

Files

/usr/include/dce/sec_rgy_attr_sch.idl
The idl file from which dce/sec_rgy_attr_sch.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.

sec_attr_unauthorized

sec_attr_svr_unavailable

sec_attr_no_memory

error_status_ok

Related Information
Functions:

sec_intro(3sec)

sec_rgy_attr_sch_get_acl_mgrs(3sec)