/* Generated by IDL compiler version OSF DCE T1.1.0-03 */
#ifndef DCEAPI 
# include <dce/dcedef.h> 
#endif 
#ifndef sec_key_mgmt_v0_0_included
#define sec_key_mgmt_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 lbase_v0_0_included
#include <dce/lbase.h>
#endif
#ifndef rgynbase_v0_0_included
#include <dce/rgynbase.h>
#endif
#ifndef rpcbase_v0_0_included
#include <dce/rpcbase.h>
#endif
typedef unsigned32 sec_key_mgmt_authn_service;
extern void  DCEAPI sec_key_mgmt_change_key(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_key_mgmt_authn_service authn_service,
    /* [in] */ idl_void_p_t arg,
    /* [in] */ idl_char *principal_name,
    /* [in] */ unsigned32 key_vno,
    /* [in] */ idl_void_p_t keydata,
    /* [out] */ sec_timeval_period_t *garbage_collect_time,
    /* [out] */ error_status_t *err
#endif
);
extern void  DCEAPI sec_key_mgmt_delete_key(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_key_mgmt_authn_service authn_service,
    /* [in] */ idl_void_p_t arg,
    /* [in] */ idl_char *principal_name,
    /* [in] */ unsigned32 key_vno,
    /* [out] */ error_status_t *err
#endif
);
extern void  DCEAPI sec_key_mgmt_delete_key_type(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_key_mgmt_authn_service authn_service,
    /* [in] */ idl_void_p_t arg,
    /* [in] */ idl_char *principal_name,
    /* [in] */ idl_void_p_t keytype,
    /* [in] */ unsigned32 key_vno,
    /* [out] */ error_status_t *err
#endif
);
extern void  DCEAPI sec_key_mgmt_free_key(
#ifdef IDL_PROTOTYPES
    /* [in] */ idl_void_p_t keydata,
    /* [out] */ error_status_t *err
#endif
);
extern void  DCEAPI sec_key_mgmt_get_key(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_key_mgmt_authn_service authn_service,
    /* [in] */ idl_void_p_t arg,
    /* [in] */ idl_char *principal_name,
    /* [in] */ unsigned32 key_vno,
    /* [out] */ idl_void_p_t *keydata,
    /* [out] */ error_status_t *err
#endif
);
extern void  DCEAPI sec_key_mgmt_get_next_key(
#ifdef IDL_PROTOTYPES
    /* [in] */ idl_void_p_t cursor,
    /* [out] */ idl_char **principal_name,
    /* [out] */ unsigned32 *key_vno,
    /* [out] */ idl_void_p_t *keydata,
    /* [out] */ error_status_t *err
#endif
);
extern void  DCEAPI sec_key_mgmt_initialize_cursor(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_key_mgmt_authn_service authn_service,
    /* [in] */ idl_void_p_t arg,
    /* [in] */ idl_char *principal_name,
    /* [in] */ idl_void_p_t keytype,
    /* [out] */ idl_void_p_t *cursor,
    /* [out] */ error_status_t *err
#endif
);
extern void  DCEAPI sec_key_mgmt_release_cursor(
#ifdef IDL_PROTOTYPES
    /* [in] */ idl_void_p_t *cursor,
    /* [out] */ error_status_t *err
#endif
);
extern void  DCEAPI sec_key_mgmt_set_key(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_key_mgmt_authn_service authn_service,
    /* [in] */ idl_void_p_t arg,
    /* [in] */ idl_char *principal_name,
    /* [in] */ unsigned32 key_vno,
    /* [in] */ idl_void_p_t keydata,
    /* [out] */ error_status_t *err
#endif
);
extern void  DCEAPI sec_key_mgmt_garbage_collect(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_key_mgmt_authn_service authn_service,
    /* [in] */ idl_void_p_t arg,
    /* [in] */ idl_char *principal_name,
    /* [out] */ error_status_t *err
#endif
);
extern void  DCEAPI sec_key_mgmt_manage_key(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_key_mgmt_authn_service authn_service,
    /* [in] */ idl_void_p_t arg,
    /* [in] */ idl_char *principal_name,
    /* [out] */ error_status_t *err
#endif
);
extern void  DCEAPI sec_key_mgmt_get_next_kvno(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_key_mgmt_authn_service authn_service,
    /* [in] */ idl_void_p_t arg,
    /* [in] */ idl_char *principal_name,
    /* [in] */ idl_void_p_t keytype,
    /* [out] */ unsigned32 *key_vno,
    /* [out] */ unsigned32 *next_key_vno,
    /* [out] */ error_status_t *err
#endif
);
extern void  DCEAPI sec_key_mgmt_gen_rand_key(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_key_mgmt_authn_service authn_service,
    /* [in] */ idl_void_p_t arg,
    /* [in] */ idl_char *principal_name,
    /* [in] */ idl_void_p_t keytype,
    /* [in] */ unsigned32 key_vno,
    /* [out] */ idl_void_p_t *keydata,
    /* [out] */ error_status_t *err
#endif
);
extern void  DCEAPI sec_key_mgmt_generate_key(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_key_mgmt_authn_service authn_service,
    /* [in] */ idl_void_p_t arg,
    /* [in] */ idl_char *principal_name,
    /* [in] */ unsigned32 key_vno,
    /* [out] */ sec_timeval_period_t *garbage_collect_time,
    /* [out] */ error_status_t *err
#endif
);
extern void  DCEAPI sec_key_mgmt_get_nth_key(
#ifdef IDL_PROTOTYPES
    /* [in] */ sec_key_mgmt_authn_service authn_service,
    /* [in] */ idl_void_p_t arg,
    /* [in] */ idl_char *principal_name,
    /* [in] */ signed32 index,
    /* [out] */ unsigned32 *key_vno,
    /* [out] */ idl_void_p_t *keydata,
    /* [out] */ error_status_t *err
#endif
);

#ifdef __cplusplus
    }
#endif

#endif
