1/* random.h - random functions 2 * Copyright (C) 1998, 2002, 2006 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_RANDOM_H 21#define G10_RANDOM_H 22 23#include "types.h" 24 25/*-- random.c --*/ 26void _gcry_register_random_progress (void (*cb)(void *,const char*,int,int,int), 27 void *cb_data ); 28 29void _gcry_random_initialize (int full); 30void _gcry_random_dump_stats(void); 31void _gcry_secure_random_alloc(void); 32void _gcry_enable_quick_random_gen (void); 33int _gcry_random_is_faked(void); 34void _gcry_set_random_daemon_socket (const char *socketname); 35int _gcry_use_random_daemon (int onoff); 36void _gcry_set_random_seed_file (const char *name); 37void _gcry_update_random_seed_file (void); 38 39byte *_gcry_get_random_bits( size_t nbits, int level, int secure ); 40void _gcry_fast_random_poll( void ); 41 42gcry_err_code_t _gcry_random_init_external_test (void **r_context, 43 unsigned int flags, 44 const void *key, 45 size_t keylen, 46 const void *seed, 47 size_t seedlen, 48 const void *dt, 49 size_t dtlen); 50gcry_err_code_t _gcry_random_run_external_test (void *context, 51 char *buffer, size_t buflen); 52void _gcry_random_deinit_external_test (void *context); 53 54 55/*-- rndegd.c --*/ 56gpg_error_t _gcry_rndegd_set_socket_name (const char *name); 57 58/*-- random-daemon.c (only used from random.c) --*/ 59#ifdef USE_RANDOM_DAEMON 60void _gcry_daemon_initialize_basics (void); 61int _gcry_daemon_randomize (const char *socketname, 62 void *buffer, size_t length, 63 enum gcry_random_level level); 64int _gcry_daemon_create_nonce (const char *socketname, 65 void *buffer, size_t length); 66#endif /*USE_RANDOM_DAEMON*/ 67 68#endif /*G10_RANDOM_H*/ 69