Home | History | Annotate | Line # | Download | only in tls
      1 /*	$NetBSD: tls_prng.h,v 1.1.1.1 2009/06/23 10:08:57 tron Exp $	*/
      2 
      3 #ifndef _TLS_PRNG_SRC_H_INCLUDED_
      4 #define _TLS_PRNG_SRC_H_INCLUDED_
      5 
      6 /*++
      7 /* NAME
      8 /*	tls_prng_src 3h
      9 /* SUMMARY
     10 /*	OpenSSL PRNG maintenance routines
     11 /* SYNOPSIS
     12 /*	#include <tls_prng_src.h>
     13 /* DESCRIPTION
     14 /* .nf
     15 
     16  /*
     17   * External interface.
     18   */
     19 typedef struct TLS_PRNG_SRC {
     20     int     fd;				/* file handle */
     21     char   *name;			/* resource name */
     22     int     timeout;			/* time limit of applicable */
     23 } TLS_PRNG_SRC;
     24 
     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 *);
     28 
     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 *);
     32 
     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 *);
     36 
     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 *);
     40 
     41 /* LICENSE
     42 /* .ad
     43 /* .fi
     44 /*	The Secure Mailer license must be distributed with this software.
     45 /* AUTHOR(S)
     46 /*	Wietse Venema
     47 /*	IBM T.J. Watson Research
     48 /*	P.O. Box 704
     49 /*	Yorktown Heights, NY 10598, USA
     50 /*--*/
     51 
     52 #endif
     53