- size_t (*get_nonce)(DRBG_CTX *ctx, unsigned char *out,
- int entropy, size_t min_len, size_t max_len));
+ void (*cleanup_entropy)(DRBG_CTX *ctx, unsigned char *out, size_t olen),
+ size_t entropy_blocklen,
+ size_t (*get_nonce)(DRBG_CTX *ctx, unsigned char **pout,
+ int entropy, size_t min_len, size_t max_len),
+ void (*cleanup_nonce)(DRBG_CTX *ctx, unsigned char *out, size_t olen));
+
+int FIPS_drbg_set_rand_callbacks(DRBG_CTX *dctx,
+ size_t (*get_adin)(DRBG_CTX *ctx, unsigned char **pout),
+ void (*cleanup_adin)(DRBG_CTX *ctx, unsigned char *out, size_t olen),
+ int (*rand_seed_cb)(DRBG_CTX *ctx, const void *buf, int num),
+ int (*rand_add_cb)(DRBG_CTX *ctx,
+ const void *buf, int num, double entropy));