3 #ifndef _TLS_PRNG_SRC_H_INCLUDED_
4 #define _TLS_PRNG_SRC_H_INCLUDED_
10 /* OpenSSL PRNG maintenance routines
12 /* #include <tls_prng_src.h>
19 typedef struct TLS_PRNG_SRC
{
20 int fd
; /* file handle */
21 char *name
; /* resource name */
22 int timeout
; /* time limit of applicable */
25 extern TLS_PRNG_SRC
*tls_prng_egd_open(const char *, int);
26 extern ssize_t
tls_prng_egd_read(TLS_PRNG_SRC
*, size_t);
27 extern int tls_prng_egd_close(TLS_PRNG_SRC
*);
29 extern TLS_PRNG_SRC
*tls_prng_dev_open(const char *, int);
30 extern ssize_t
tls_prng_dev_read(TLS_PRNG_SRC
*, size_t);
31 extern int tls_prng_dev_close(TLS_PRNG_SRC
*);
33 extern TLS_PRNG_SRC
*tls_prng_file_open(const char *, int);
34 extern ssize_t
tls_prng_file_read(TLS_PRNG_SRC
*, size_t);
35 extern int tls_prng_file_close(TLS_PRNG_SRC
*);
37 extern TLS_PRNG_SRC
*tls_prng_exch_open(const char *);
38 extern void tls_prng_exch_update(TLS_PRNG_SRC
*);
39 extern void tls_prng_exch_close(TLS_PRNG_SRC
*);
44 /* The Secure Mailer license must be distributed with this software.
47 /* IBM T.J. Watson Research
49 /* Yorktown Heights, NY 10598, USA