#ifndef DST_H
#define DST_H
#ifndef HAS_DST_KEY
typedef struct dst_key {
} DST_KEY;
#endif /* HAS_DST_KEY */
/*
* do not taint namespace
*/
/*
* DST Crypto API defintions
*/
void dst_init(void);
int dst_check_algorithm(const int);
int dst_sign_data(const int, /*!< specifies INIT/UPDATE/FINAL/ALL */
DST_KEY *, /*!< the key to use */
void **, /*!< pointer to state structure */
const u_char *, /*!< data to be signed */
const int, /*!< length of input data */
u_char *, /*!< buffer to write signature to */
const int); /*!< size of output buffer */
int dst_verify_data(const int, /*!< specifies INIT/UPDATE/FINAL/ALL */
DST_KEY *, /*!< the key to use */
void **, /*!< pointer to state structure */
const u_char *, /*!< data to be verified */
const int, /*!< length of input data */
const u_char *, /*!< buffer containing signature */
const int); /*!< length of signature */
const u_int16_t, /*!< key tag identifier */
const int, /*!< key algorithm */
const u_char *, /*!< KEY RDATA */
const int); /*!< size of input buffer */
u_char *, /*!< output buffer */
const int); /*!< size of out_storage */
const int, /*!< algorithm */
const int, /*!< dns flags */
const int, /*!< dns protocol */
const u_char *, /*!< key in dns wire fmt */
const int); /*!< size of key */
const int, /*!< key algorithm to generate */
const int, /*!< size of new key */
const int, /*!< alg dependent parameter */
const int, /*!< key DNS flags */
const int); /*!< key DNS protocol */
int dst_sig_size(DST_KEY *);
/* Used by callers as well as by the library. */
/* DST_API control flags */
/* These are used used in functions dst_sign_data and dst_verify_data */
/* Flags for dst_read_private_key() */
#define DST_STANDARD 0
/* DST algorithm codes */
#define UNKNOWN_KEYALG 0
/* DST constants to locations in KEY record changes in new KEY record */
#ifndef SIGN_F_NOKEY
#endif
/* error codes from dst routines */
#endif /* DST_H */
/*! \file */