PreviousNext

rdacl_get_mgr_types_semantics(3sec)

Lists the ACL manager types protecting an object and the POSIX semantics supported by each manager type

Synopsis

#include <dce/rdaclif.h>

void rdacl_get_mgr_types_semantics(
handle_t h,
sec_acl_component_name_t
component_name,
sec_acl_type_t
sec_acl_type,
unsigned32
size_avail,
unsigned32 *
size_used,
unsigned32 *
num_types,
uuid_t
manager_types[ ],
sec_acl_posix_semantics_t
posix_semantics[ ],
error_status_t *
status);

Parameters

Input

h
A handle referring to the target object.

component_name
A character string containing the name of the target object.

sec_acl_type
The ACL type used to limit the function's output to ACL managers that control the specified types of ACLs. The possible values are as follows:

· sec_acl_type_object - Object ACL, the ACL controlling access to an object.

· sec_acl_type_default_object - Initial Object ACL, the default ACL for objects created in a container object.

· sec_acl_type_default_container - Initial Container ACL, the default ACL for containers created in a container object.

size_avail
An unsigned 32-bit integer containing the allocated length of the manager_types[ ] and the posix_semantics[ ] arrays.

Output

size_used
An unsigned 32-bit integer containing the number of output entries returned in the manager_types[ ] array.

num_types
An unsigned 32-bit integer containing the number of types returned in the manager_types[ ] array. This is always equal to size_used.

manager_types[ ]
An array of length size_avail containing the returned UUIDs (of type uuid_t) identifying the different ACL manager types protecting the target object.

posix_semantics[ ]
An array of length size_avail containing the POSIX semantics (of type sec_acl_posix_semantics_t) that are supported by each returned ACL manager type.

status
A pointer to the completion status. On successful completion, the routine returns error_status_ok. Otherwise, it returns an error.

Description
The rdacl_get_manager_types_semantics( ) routine returns a list of the ACL manager types protecting an object and a list of the POSIX semantics supported by those ACL manager types. Access to an object can be controlled by multiple ACL manager types. For example, access to a file representing the stable storage of a database could be controlled by two ACL manager types each with completely different sets of permissions: one to provide standard file system access (read, write, execute, and so on) and one to provide access that allows database updates only on certain days of the week.

ACL editors and browsers can use this operation to determine the ACL manager types that a particular reference monitor is using to protect a selected entity. Then, using the rdacl_get_printstring( ) routine, they can determine how to format for display the permissions supported by a specific manager.

Notes
This call is not intended to be used by application programs. The sec_acl Application Programming Interface (API) provides all the functionality necessary to use the ACL facility. This reference page is provided for programmers who wish to write an ACL manager. In order to write an ACL manager, a programmer must implement the entire rdacl interface.

This network interface is called on the client side via the sec_acl local interface. Developers are responsible for implementing the server side of this interface. Test server code is included as a sample implementation.

Files

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

error_status_ok
The call was successful.

Related Information
Functions:

sec_intro(3sec)

rdacl_get_printstring(3sec)