1#ifndef _TLS_PRNG_SRC_H_INCLUDED_ 2#define _TLS_PRNG_SRC_H_INCLUDED_ 3 4/*++ 5/* NAME 6/* tls_prng_src 3h 7/* SUMMARY 8/* OpenSSL PRNG maintenance routines 9/* SYNOPSIS 10/* #include <tls_prng_src.h> 11/* DESCRIPTION 12/* .nf 13 14 /* 15 * External interface. 16 */ 17typedef struct TLS_PRNG_SRC { 18 int fd; /* file handle */ 19 char *name; /* resource name */ 20 int timeout; /* time limit of applicable */ 21} TLS_PRNG_SRC; 22 23extern TLS_PRNG_SRC *tls_prng_egd_open(const char *, int); 24extern ssize_t tls_prng_egd_read(TLS_PRNG_SRC *, size_t); 25extern int tls_prng_egd_close(TLS_PRNG_SRC *); 26 27extern TLS_PRNG_SRC *tls_prng_dev_open(const char *, int); 28extern ssize_t tls_prng_dev_read(TLS_PRNG_SRC *, size_t); 29extern int tls_prng_dev_close(TLS_PRNG_SRC *); 30 31extern TLS_PRNG_SRC *tls_prng_file_open(const char *, int); 32extern ssize_t tls_prng_file_read(TLS_PRNG_SRC *, size_t); 33extern int tls_prng_file_close(TLS_PRNG_SRC *); 34 35extern TLS_PRNG_SRC *tls_prng_exch_open(const char *); 36extern void tls_prng_exch_update(TLS_PRNG_SRC *); 37extern void tls_prng_exch_close(TLS_PRNG_SRC *); 38 39/* LICENSE 40/* .ad 41/* .fi 42/* The Secure Mailer license must be distributed with this software. 43/* AUTHOR(S) 44/* Wietse Venema 45/* IBM T.J. Watson Research 46/* P.O. Box 704 47/* Yorktown Heights, NY 10598, USA 48/*--*/ 49 50#endif 51