Code cleanups.
[libgcrypt.git] / cipher / rand-internal.h
1 /* rand-internal.h - header to glue the random functions
2  *      Copyright (C) 1998, 2002 Free Software Foundation, Inc.
3  *
4  * This file is part of Libgcrypt.
5  *
6  * Libgcrypt is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU Lesser general Public License as
8  * published by the Free Software Foundation; either version 2.1 of
9  * the License, or (at your option) any later version.
10  *
11  * Libgcrypt is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
19  */
20 #ifndef G10_RAND_INTERNAL_H
21 #define G10_RAND_INTERNAL_H
22
23
24 /* Constants used to define the origin of random added to the pool.
25    The code is sensitive to the order of the values.  */
26 enum random_origins 
27   {
28     RANDOM_ORIGIN_INIT = 0,      /* Used only for initialization. */
29     RANDOM_ORIGIN_FASTPOLL = 1,  /* Fast random poll function.  */
30     RANDOM_ORIGIN_SLOWPOLL = 2,  /* Slow poll function.  */
31     RANDOM_ORIGIN_EXTRAPOLL = 3  /* Used to mark an extra pool seed
32                                     due to a GCRY_VERY_STRONG_RANDOM
33                                     random request.  */
34   };
35
36
37
38
39 void _gcry_random_progress (const char *what, int printchar,
40                             int current, int total);
41
42
43 int _gcry_rndlinux_gather_random (void (*add) (const void *, size_t,
44                                                enum random_origins),
45                                    enum random_origins origin,
46                                   size_t length, int level);
47 int _gcry_rndunix_gather_random (void (*add) (const void *, size_t,
48                                               enum random_origins),
49                                  enum random_origins origin,
50                                  size_t length, int level);
51 int _gcry_rndegd_gather_random (void (*add) (const void *, size_t,
52                                              enum random_origins),
53                                 enum random_origins origin,
54                                 size_t length, int level);
55 int _gcry_rndegd_connect_socket (int nofail);
56 int _gcry_rndw32_gather_random (void (*add) (const void *, size_t,
57                                              enum random_origins),
58                                 enum random_origins origin,
59                                 size_t length, int level);
60 void _gcry_rndw32_gather_random_fast (void (*add)(const void*, size_t, 
61                                                   enum random_origins),
62                                       enum random_origins origin );
63
64
65
66 #endif /*G10_RAND_INTERNAL_H*/