/* Generated by IDL compiler version OSF DCE T1.1.0-03 */
#ifndef DCEAPI 
# include <dce/dcedef.h> 
#endif 
#ifndef sec_acl_if_v0_0_included
#define sec_acl_if_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 sec_login_v0_0_included
#include <dce/sec_login.h>
#endif
typedef enum {sec_acl_bind_auth_none,
sec_acl_bind_auth_dce} sec_acl_bind_auth_info_type_t;
typedef struct  {
sec_acl_bind_auth_info_type_t info_type;
union  {
/* case(s): 0 */
/* Empty arm */
/* case(s): 1 */
struct  {
unsigned32 authn_lvl;
unsigned32 authn_svc;
unsigned32 authz_svc;
sec_login_handle_t identity;
} dce_info;
} tagged_union;
} sec_acl_bind_auth_info_t;
extern void  DCEAPI sec_acl_bind(
#ifdef IDL_PROTOTYPES
    /* [in] */ idl_char *entry_name,
    /* [in] */ boolean32 bind_to_entry,
    /* [out] */ sec_acl_handle_t *h,
    /* [out] */ error_status_t *status
#endif
);
extern void  DCEAPI sec_acl_bind_auth(
#ifdef IDL_PROTOTYPES
    /* [in] */ idl_char *entry_name,
    /* [in] */ boolean32 bind_to_entry,
    /* [in] */ sec_acl_bind_auth_info_t *auth_info,
    /* [out] */ sec_acl_handle_t *h,
    /* [out] */ error_status_t *status
#endif
);
extern void  DCEAPI sec_acl_bind_to_addr(
#ifdef IDL_PROTOTYPES
    /* [in] */ idl_char *site_addr,
    /* [in] */ sec_acl_component_name_t component_name,
    /* [out] */ sec_acl_handle_t *h,
    /* [out] */ error_status_t *status
#endif
);
extern void  DCEAPI sec_acl_lookup(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_acl_handle_t h,
    /* [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_replace(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_acl_handle_t h,
    /* [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_get_access(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_acl_handle_t h,
    /* [in] */ uuid_t *manager_type,
    /* [out] */ sec_acl_permset_t *net_rights,
    /* [out] */ error_status_t *st
#endif
);
extern boolean32  DCEAPI sec_acl_test_access(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_acl_handle_t h,
    /* [in] */ uuid_t *manager_type,
    /* [in] */ sec_acl_permset_t desired_permset,
    /* [out] */ error_status_t *st
#endif
);
extern boolean32  DCEAPI sec_acl_test_access_on_behalf(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_acl_handle_t h,
    /* [in] */ uuid_t *manager_type,
    /* [in] */ sec_id_pac_t *subject,
    /* [in] */ sec_acl_permset_t desired_permset,
    /* [out] */ error_status_t *st
#endif
);
extern void  DCEAPI sec_acl_get_manager_types(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_acl_handle_t h,
    /* [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_calc_mask(
#ifdef IDL_PROTOTYPES
    /* [in, out] */ sec_acl_list_t *sec_acl_list,
    /* [out] */ error_status_t *st
#endif
);
extern void  DCEAPI sec_acl_get_printstring(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_acl_handle_t h,
    /* [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
);
extern void  DCEAPI sec_acl_release(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_acl_handle_t h,
    /* [in, out] */ sec_acl_t *sec_acl,
    /* [out] */ error_status_t *st
#endif
);
extern error_status_t  DCEAPI sec_acl_get_error_info(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_acl_handle_t h
#endif
);
extern void  DCEAPI sec_acl_release_handle(
#ifdef IDL_PROTOTYPES
    /* [in, out] */ sec_acl_handle_t *h,
    /* [out] */ error_status_t *st
#endif
);
extern void  DCEAPI sec_acl_get_mgr_types_semantics(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_acl_handle_t h,
    /* [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
);

#ifdef __cplusplus
    }
#endif

#endif
