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

#ifdef __cplusplus
    extern "C" {
#endif

#ifndef nbase_v0_0_included
#include <dce/nbase.h>
#endif
#ifndef utctypes_v0_0_included
#include <dce/utctypes.h>
#endif
#ifndef sec_acl_base_v0_0_included
#include <dce/aclbase.h>
#endif
typedef enum {audit_log_async,
audit_log_sync_no_wait,
audit_log_sync} audit_log_sync_t;
typedef struct audit_log_v1_0_0_tag {
uuid_t client;
uuid_t cell;
unsigned16 num_groups;
uuid_t *groups;
} client_id_t;
typedef struct  {
unsigned16 format;
uuid_t server;
unsigned32 event;
unsigned16 outcome;
unsigned16 authz_st;
unsigned16 num_client_ids;
client_id_t *client_id;
utc_t time;
idl_char *addr;
} dce_aud_hdr_t;
#define aud_c_evt_info_small_int (0)
#define aud_c_evt_info_short_int (1)
#define aud_c_evt_info_long_int (2)
#define aud_c_evt_info_hyper_int (3)
#define aud_c_evt_info_usmall_int (4)
#define aud_c_evt_info_ushort_int (5)
#define aud_c_evt_info_ulong_int (6)
#define aud_c_evt_info_uhyper_int (7)
#define aud_c_evt_info_short_float (8)
#define aud_c_evt_info_long_float (9)
#define aud_c_evt_info_boolean (10)
#define aud_c_evt_info_uuid (11)
#define aud_c_evt_info_utc (12)
#define aud_c_evt_info_acl (13)
#define aud_c_evt_info_byte_string (14)
#define aud_c_evt_info_char_string (15)
typedef struct  {
unsigned16 format;
union  {
/* case(s): 0 */
idl_small_int small_int;
/* case(s): 1 */
idl_short_int short_int;
/* case(s): 2 */
idl_long_int long_int;
/* case(s): 3 */
idl_hyper_int *hyper_int;
/* case(s): 4 */
idl_usmall_int usmall_int;
/* case(s): 5 */
idl_ushort_int ushort_int;
/* case(s): 6 */
idl_ulong_int ulong_int;
/* case(s): 7 */
idl_uhyper_int *uhyper_int;
/* case(s): 8 */
idl_short_float short_float;
/* case(s): 9 */
idl_long_float *long_float;
/* case(s): 10 */
idl_boolean bool;
/* case(s): 11 */
uuid_t *uuid;
/* case(s): 12 */
utc_t *utc;
/* case(s): 13 */
sec_acl_t *acl;
/* case(s): 14 */
idl_byte *byte_string;
/* case(s): 15 */
idl_char *char_string;
/* case(s): default */
/* Empty arm */
} tagged_union;
} aud_log_ev_info_t;
typedef struct  {
unsigned32 item_count;
aud_log_ev_info_t info_item[1];
} aud_log_ev_info_list_t;
extern void  DCEAPI audit_log_append(
#ifdef IDL_PROTOTYPES
    /* [in] */ handle_t h,
    /* [in] */ unsigned32 options,
    /* [in] */ dce_aud_hdr_t *header_info,
    /* [in] */ aud_log_ev_info_list_t **tail_info,
    /* [out] */ error_status_t *st
#endif
);
typedef struct audit_log_v1_0_epv_t {
void (* DCEAPI audit_log_append)(
#ifdef IDL_PROTOTYPES
    /* [in] */ handle_t h,
    /* [in] */ unsigned32 options,
    /* [in] */ dce_aud_hdr_t *header_info,
    /* [in] */ aud_log_ev_info_list_t **tail_info,
    /* [out] */ error_status_t *st
#endif
);
} audit_log_v1_0_epv_t;
extern rpc_if_handle_t DCEVAR audit_log_v1_0_c_ifspec;
extern rpc_if_handle_t DCEVAR audit_log_v1_0_s_ifspec;

#ifdef __cplusplus
    }
#endif

#endif
