/* Generated by IDL compiler version OSF DCE T1.1.0-03 */
#ifndef DCEAPI 
# include <dce/dcedef.h> 
#endif 
#ifndef sec_acl_mgr_v0_0_included
#define sec_acl_mgr_v0_0_included
#ifndef IDLBASE_H
#include <dce/idlbase.h>
#endif

#ifdef __cplusplus
    extern "C" {
#endif

#ifndef nbase_v0_0_included
#include <dce/nbase.h>
#endif
#ifndef sec_acl_base_v0_0_included
#include <dce/aclbase.h>
#endif
#ifndef lbase_v0_0_included
#include <dce/lbase.h>
#endif
#ifndef rpcbase_v0_0_included
#include <dce/rpcbase.h>
#endif
typedef idl_void_p_t sec_acl_mgr_handle_t;
typedef idl_void_p_t sec_acl_key_t;
typedef unsigned32 sec_acl_mgr_config_t;
#define sec_acl_mgr_config_create (1)
#define sec_acl_mgr_config_stable (2)
extern void  DCEAPI sec_acl_mgr_configure(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_acl_mgr_config_t config_info,
    /* [in] */ unsigned_char_p_t db_name,
    /* [out] */ sec_acl_mgr_handle_t *sec_acl_mgr,
    /* [out] */ error_status_t *st
#endif
);
extern boolean32  DCEAPI sec_acl_mgr_is_authorized(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_acl_mgr_handle_t sec_acl_mgr,
    /* [in] */ sec_acl_permset_t desired_access,
    /* [in] */ rpc_authz_cred_handle_t *accessor_info,
    /* [in] */ sec_acl_key_t sec_acl_key,
    /* [in] */ uuid_t *manager_type,
    /* [in] */ sec_id_t *user_obj,
    /* [in] */ sec_id_t *group_obj,
    /* [out] */ error_status_t *st
#endif
);
extern void  DCEAPI sec_acl_mgr_get_access(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_acl_mgr_handle_t sec_acl_mgr,
    /* [in] */ rpc_authz_cred_handle_t accessor_info,
    /* [in] */ sec_acl_key_t sec_acl_key,
    /* [in] */ uuid_t *manager_type,
    /* [in] */ sec_id_t *user_obj,
    /* [in] */ sec_id_t *group_obj,
    /* [out] */ sec_acl_permset_t *net_rights,
    /* [out] */ error_status_t *st
#endif
);
extern void  DCEAPI sec_acl_mgr_replace(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_acl_mgr_handle_t sec_acl_mgr,
    /* [in] */ sec_acl_key_t sec_acl_key,
    /* [in] */ uuid_t *manager_type,
    /* [in] */ sec_acl_type_t sec_acl_type,
    /* [in] */ sec_acl_list_t *sec_acl_list,
    /* [out] */ error_status_t *st
#endif
);
extern void  DCEAPI sec_acl_mgr_lookup(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_acl_mgr_handle_t sec_acl_mgr,
    /* [in] */ sec_acl_key_t sec_acl_key,
    /* [in] */ uuid_t *manager_type,
    /* [in] */ sec_acl_type_t sec_acl_type,
    /* [out] */ sec_acl_list_t **sec_acl_list,
    /* [out] */ error_status_t *st
#endif
);
extern void  DCEAPI sec_acl_mgr_get_manager_types(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_acl_mgr_handle_t sec_acl_mgr,
    /* [in] */ sec_acl_key_t sec_acl_key,
    /* [in] */ sec_acl_type_t sec_acl_type,
    /* [in] */ unsigned32 size_avail,
    /* [out] */ unsigned32 *size_used,
    /* [out] */ unsigned32 *num_types,
    /* [out] */ uuid_t manager_types[],
    /* [out] */ error_status_t *st
#endif
);
extern void  DCEAPI sec_acl_mgr_get_types_semantics(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_acl_mgr_handle_t sec_acl_mgr,
    /* [in] */ sec_acl_key_t sec_acl_key,
    /* [in] */ sec_acl_type_t sec_acl_type,
    /* [in] */ unsigned32 size_avail,
    /* [out] */ unsigned32 *size_used,
    /* [out] */ unsigned32 *num_types,
    /* [out] */ uuid_t manager_types[],
    /* [out] */ sec_acl_posix_semantics_t posix_semantics[],
    /* [out] */ error_status_t *st
#endif
);
extern void  DCEAPI sec_acl_mgr_get_printstring(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_acl_mgr_handle_t sec_acl_mgr,
    /* [in] */ uuid_t *manager_type,
    /* [in] */ unsigned32 size_avail,
    /* [out] */ uuid_t *manager_type_chain,
    /* [out] */ sec_acl_printstring_t *manager_info,
    /* [out] */ boolean32 *tokenize,
    /* [out] */ unsigned32 *total_num_printstrings,
    /* [out] */ unsigned32 *size_used,
    /* [out] */ sec_acl_printstring_t printstrings[],
    /* [out] */ error_status_t *st
#endif
);

#ifdef __cplusplus
    }
#endif

#endif
