/* Generated by IDL compiler version OSF DCE T1.1.0-03 */
#ifndef DCEAPI 
# include <dce/dcedef.h> 
#endif 
#ifndef sec_cred_v0_0_included
#define sec_cred_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 rgynbase_v0_0_included
#include <dce/rgynbase.h>
#endif
#ifndef lbase_v0_0_included
#include <dce/lbase.h>
#endif
#ifndef sec_id_epac_base_v0_0_included
#include <dce/id_epac.h>
#endif
#ifndef rpcbase_v0_0_included
#include <dce/rpcbase.h>
#endif
#define SEC_ANONYMOUS_PRINC "fad18d52-ac83-11cc-b72d-0800092784e9"
#define SEC_ANONYMOUS_GROUP "fc6ed07a-ac83-11cc-97af-0800092784e9"
#define SEC_ANONYMOUS_CELL "6761d66a-cff2-11cd-ab92-0800097086e0"
extern boolean32  DCEAPI sec_cred_is_authenticated(
#ifdef IDL_PROTOTYPES
    /* [in] */ rpc_authz_cred_handle_t callers_identity,
    /* [out] */ error_status_t *error_status
#endif
);
extern void  DCEAPI sec_cred_inq_auth_service_info(
#ifdef IDL_PROTOTYPES
    /* [in] */ rpc_authz_cred_handle_t callers_identity,
    /* [out] */ unsigned_char_p_t *server_princ_name,
    /* [out] */ unsigned32 *authn_svc,
    /* [out] */ unsigned32 *authz_svc,
    /* [out] */ error_status_t *error_status
#endif
);
extern void  DCEAPI sec_cred_get_client_princ_name(
#ifdef IDL_PROTOTYPES
    /* [in] */ rpc_authz_cred_handle_t callers_identity,
    /* [out] */ unsigned_char_p_t *client_princ_name,
    /* [out] */ error_status_t *error_status
#endif
);
extern sec_cred_pa_handle_t  DCEAPI sec_cred_get_initiator(
#ifdef IDL_PROTOTYPES
    /* [in] */ rpc_authz_cred_handle_t callers_identity,
    /* [out] */ error_status_t *error_status
#endif
);
extern sec_cred_pa_handle_t  DCEAPI sec_cred_get_delegate(
#ifdef IDL_PROTOTYPES
    /* [in] */ rpc_authz_cred_handle_t callers_identity,
    /* [in, out] */ sec_cred_cursor_t *cursor,
    /* [out] */ error_status_t *error_status
#endif
);
extern void  DCEAPI sec_cred_get_authz_session_info(
#ifdef IDL_PROTOTYPES
    /* [in] */ rpc_authz_cred_handle_t callers_identity,
    /* [out] */ uuid_t *session_id,
    /* [out] */ sec_timeval_sec_t *session_expiration,
    /* [out] */ error_status_t *stp
#endif
);
extern sec_id_pac_t * DCEAPI sec_cred_get_v1_pac(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_cred_pa_handle_t callers_pas,
    /* [out] */ error_status_t *error_status
#endif
);
extern sec_id_pa_t * DCEAPI sec_cred_get_pa_data(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_cred_pa_handle_t callers_pas,
    /* [out] */ error_status_t *error_status
#endif
);
extern void  DCEAPI sec_cred_get_extended_attrs(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_cred_pa_handle_t callers_pas,
    /* [in, out] */ sec_cred_attr_cursor_t *cursor,
    /* [out] */ sec_attr_t *attr,
    /* [out] */ error_status_t *error_status
#endif
);
extern void  DCEAPI sec_cred_initialize_attr_cursor(
#ifdef IDL_PROTOTYPES
    /* [in, out] */ sec_cred_attr_cursor_t *cursor,
    /* [out] */ error_status_t *error_status
#endif
);
extern void  DCEAPI sec_cred_initialize_cursor(
#ifdef IDL_PROTOTYPES
    /* [in, out] */ sec_cred_cursor_t *cursor,
    /* [out] */ error_status_t *error_status
#endif
);
extern sec_id_delegation_type_t  DCEAPI sec_cred_get_delegation_type(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_cred_pa_handle_t callers_pas,
    /* [out] */ error_status_t *error_status
#endif
);
extern sec_id_restriction_set_t * DCEAPI sec_cred_get_tgt_restrictions(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_cred_pa_handle_t callers_pas,
    /* [out] */ error_status_t *error_status
#endif
);
extern sec_id_restriction_set_t * DCEAPI sec_cred_get_deleg_restrictions(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_cred_pa_handle_t callers_pas,
    /* [out] */ error_status_t *error_status
#endif
);
extern sec_id_opt_req_t * DCEAPI sec_cred_get_opt_restrictions(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_cred_pa_handle_t callers_pas,
    /* [out] */ error_status_t *error_status
#endif
);
extern sec_id_opt_req_t * DCEAPI sec_cred_get_req_restrictions(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_cred_pa_handle_t callers_pas,
    /* [out] */ error_status_t *error_status
#endif
);
extern void  DCEAPI sec_cred_free_cursor(
#ifdef IDL_PROTOTYPES
    /* [in, out] */ sec_cred_cursor_t *cursor,
    /* [out] */ error_status_t *error_status
#endif
);
extern void  DCEAPI sec_cred_free_attr_cursor(
#ifdef IDL_PROTOTYPES
    /* [in, out] */ sec_cred_attr_cursor_t *cursor,
    /* [out] */ error_status_t *error_status
#endif
);
extern void  DCEAPI sec_cred_free_pa_handle(
#ifdef IDL_PROTOTYPES
    /* [in, out] */ sec_cred_pa_handle_t *pa_handle,
    /* [out] */ error_status_t *error_status
#endif
);
typedef void (*sec_cred_destruct_fn_t)(
#ifdef IDL_PROTOTYPES
    /* [in] */ idl_void_p_t app_private_data
#endif
);
extern unsigned32  DCEAPI sec_cred_get_key(
#ifdef IDL_PROTOTYPES
    /* [in] */ uuid_t *app_id,
    /* [in] */ sec_cred_destruct_fn_t destructor_fn,
    /* [out] */ error_status_t *error_status
#endif
);
extern void  DCEAPI sec_cred_set_app_private_data(
#ifdef IDL_PROTOTYPES
    /* [in] */ rpc_authz_cred_handle_t callers_identity,
    /* [in] */ unsigned32 key,
    /* [in] */ idl_void_p_t app_private_data,
    /* [out] */ error_status_t *error_status
#endif
);
extern void  DCEAPI sec_cred_get_app_private_data(
#ifdef IDL_PROTOTYPES
    /* [in] */ rpc_authz_cred_handle_t callers_identity,
    /* [in] */ unsigned32 key,
    /* [out] */ idl_void_p_t *app_private_data,
    /* [out] */ error_status_t *error_status
#endif
);

#ifdef __cplusplus
    }
#endif

#endif
