PreviousNext

sec_acl_lookup(3sec)

Returns the ACL for an object

Synopsis

#include <dce/daclif.h>

void sec_acl_lookup(
sec_acl_handle_t h,
uuid_t *
manager_type,
sec_acl_type_t
sec_acl_type,
sec_acl_list_t *
sec_acl_list,
error_status_t *
status);

Parameters

Input

h
A handle referring to the target object. Use sec_acl_bind( ) to create this handle.

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 object whose ACL is bound to the input handle. Use this parameter to distinguish them. Use sec_acl_get_manager_types( ) to acquire a list of the manager types protecting a given object.

sec_acl_type
The ACL type. The sec_acl_type_t data type distinguishes the various types of ACLs an object can possess for a given manager type. The possible values are as follows:

· sec_acl_type_object

· sec_acl_type_default_object

· sec_acl_type_default_container

Output

sec_acl_list
A pointer to the sec_acl_list_t structure to receive the complete Access Control List. An ACL contains a list of ACL entries, the UUID of the default cell where authentication takes place (foreign entries in the ACL contain the name of their home cell), and the UUID of the ACL manager to interpret the list.

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

Description
The sec_acl_lookup( ) routine loads into memory a copy of an object's ACL corresponding to the specified manager type. The routine returns a pointer to the ACL. This routine is only used by ACL editors and browsers; an application would use sec_acl_test_access( ) or sec_acl_test_access_on_behalf( ) to process the contents of an ACL.

Permissions Required

The sec_acl_lookup( ) routine requires at least one permission of any kind on the object for which the ACL is to be returned.

Notes
The memory containing the sec_acl_t structure for each ACL is dynamically allocated. Use the sec_acl_release( ) routine to return each ACL's memory block to the pool when an application is finished with the ACLs.

Files

/usr/include/dce/daclif.idl
The idl file from which dce/daclif.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_acl_unknown_manager_type
The manager type selected is not an available option.

sec_acl_cant_allocate_memory
The requested operation requires more memory than is available.

Related Information
Functions:

sec_intro(3sec)

sec_acl_bind(3sec)

sec_acl_test_access(3sec)

sec_acl_test_access_on_behalf(3sec)