/* Generated by IDL compiler version OSF DCE T1.1.0-03 */
#ifndef DCEAPI 
# include <dce/dcedef.h> 
#endif 
#ifndef sec_acl_base_v0_0_included
#define sec_acl_base_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 secsts_v0_0_included
#include <dce/secsts.h>
#endif
#ifndef sec_id_base_v0_0_included
#include <dce/id_base.h>
#endif
typedef idl_void_p_t sec_acl_handle_t;
#define sec_acl_default_handle NULL
typedef struct sec_acl_extend_info_t {
uuid_t extension_type;
ndr_format_t format_label;
unsigned32 num_bytes;
idl_byte pickled_data[1];
} sec_acl_extend_info_t;
typedef unsigned32 sec_acl_permset_t;
#define sec_acl_perm_read (1)
#define sec_acl_perm_write (2)
#define sec_acl_perm_execute (4)
#define sec_acl_perm_control (8)
#define sec_acl_perm_insert (16)
#define sec_acl_perm_delete (32)
#define sec_acl_perm_test (64)
#define sec_acl_perm_unused_00000080 (128)
#define sec_acl_perm_unused_00000100 (256)
#define sec_acl_perm_unused_00000200 (512)
#define sec_acl_perm_unused_00000400 (1024)
#define sec_acl_perm_unused_00000800 (2048)
#define sec_acl_perm_unused_00001000 (4096)
#define sec_acl_perm_unused_00002000 (8192)
#define sec_acl_perm_unused_00004000 (16384)
#define sec_acl_perm_unused_00008000 (32768)
#define sec_acl_perm_unused_00010000 (65536)
#define sec_acl_perm_unused_00020000 (131072)
#define sec_acl_perm_unused_00040000 (262144)
#define sec_acl_perm_unused_00080000 (524288)
#define sec_acl_perm_unused_00100000 (1048576)
#define sec_acl_perm_unused_00200000 (2097152)
#define sec_acl_perm_unused_00400000 (4194304)
#define sec_acl_perm_unused_00800000 (8388608)
#define sec_acl_perm_unused_01000000 (16777216)
#define sec_acl_perm_unused_02000000 (33554432)
#define sec_acl_perm_unused_04000000 (67108864)
#define sec_acl_perm_unused_08000000 (134217728)
#define sec_acl_perm_unused_10000000 (268435456)
#define sec_acl_perm_unused_20000000 (536870912)
#define sec_acl_perm_unused_40000000 (1073741824)
#define sec_acl_perm_unused_80000000 (-2147483648)
#define sec_acl_perm_owner (8)
typedef unsigned32 sec_acl_posix_semantics_t;
#define sec_acl_posix_no_semantics (0)
#define sec_acl_posix_mask_obj (1)
#define sec_acl_posix_unused_0000002 (2)
#define sec_acl_posix_unused_0000004 (4)
#define sec_acl_posix_unused_0000008 (8)
typedef enum {sec_acl_e_type_user_obj,
sec_acl_e_type_group_obj,
sec_acl_e_type_other_obj,
sec_acl_e_type_user,
sec_acl_e_type_group,
sec_acl_e_type_mask_obj,
sec_acl_e_type_foreign_user,
sec_acl_e_type_foreign_group,
sec_acl_e_type_foreign_other,
sec_acl_e_type_unauthenticated,
sec_acl_e_type_extended,
sec_acl_e_type_any_other,
sec_acl_e_type_user_obj_deleg,
sec_acl_e_type_user_deleg,
sec_acl_e_type_for_user_deleg,
sec_acl_e_type_group_obj_deleg,
sec_acl_e_type_group_deleg,
sec_acl_e_type_for_group_deleg,
sec_acl_e_type_other_obj_deleg,
sec_acl_e_type_for_other_deleg,
sec_acl_e_type_any_other_deleg} sec_acl_entry_type_t;
#define sec_acl_e_type_max_nbr (21)
typedef sec_id_t sec_acl_id_t;
typedef struct sec_acl_entry_t {
sec_acl_permset_t perms;
struct sec_acl_entry_u {
sec_acl_entry_type_t entry_type;
union  {
/* case(s): 5, 0, 1, 2, 9, 11, 12, 15, 18, 20 */
/* Empty arm */
/* case(s): 3, 4, 8, 13, 16, 19 */
sec_id_t id;
/* case(s): 6, 7, 14, 17 */
sec_id_foreign_t foreign_id;
/* case(s): 10 */
sec_acl_extend_info_t *extended_info;
} tagged_union;
} entry_info;
} sec_acl_entry_t;
typedef struct sec_acl_t {
sec_acl_id_t default_realm;
uuid_t sec_acl_manager_type;
unsigned32 num_entries;
sec_acl_entry_t *sec_acl_entries;
} sec_acl_t;
typedef sec_acl_t *sec_acl_p_t;
typedef enum {sec_acl_type_object,
sec_acl_type_default_object,
sec_acl_type_default_container,
sec_acl_type_unspecified_3,
sec_acl_type_unspecified_4,
sec_acl_type_unspecified_5,
sec_acl_type_unspecified_6,
sec_acl_type_unspecified_7} sec_acl_type_t;
#define sec_acl_printstring_len (16)
#define sec_acl_printstring_help_len (64)
typedef struct sec_acl_printstring_t {
idl_char printstring[16];
idl_char helpstring[64];
sec_acl_permset_t permissions;
} sec_acl_printstring_t;
typedef idl_char *sec_acl_component_name_t;
typedef struct sec_acl_list_t {
unsigned32 num_acls;
sec_acl_p_t sec_acls[1];
} sec_acl_list_t;

#ifdef __cplusplus
    }
#endif

#endif
