import libcrypto (LibreSSL 2.5.2)
[unleashed.git] / lib / libcrypto / rand / rand_lib.c
blob8342a55f05dd5ba3e4696780f2a433539baa7dfc
1 /* $OpenBSD: rand_lib.c,v 1.20 2014/10/22 13:02:04 jsing Exp $ */
2 /*
3 * Copyright (c) 2014 Ted Unangst <tedu@openbsd.org>
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 #include <stdlib.h>
20 #include <openssl/opensslconf.h>
22 #include <openssl/rand.h>
25 * The useful functions in this file are at the bottom.
27 int
28 RAND_set_rand_method(const RAND_METHOD *meth)
30 return 1;
33 const RAND_METHOD *
34 RAND_get_rand_method(void)
36 return NULL;
39 RAND_METHOD *
40 RAND_SSLeay(void)
42 return NULL;
45 #ifndef OPENSSL_NO_ENGINE
46 int
47 RAND_set_rand_engine(ENGINE *engine)
49 return 1;
51 #endif
53 void
54 RAND_cleanup(void)
59 void
60 RAND_seed(const void *buf, int num)
65 void
66 RAND_add(const void *buf, int num, double entropy)
71 int
72 RAND_status(void)
74 return 1;
77 int
78 RAND_poll(void)
80 return 1;
84 * Hurray. You've made it to the good parts.
86 int
87 RAND_bytes(unsigned char *buf, int num)
89 if (num > 0)
90 arc4random_buf(buf, num);
91 return 1;
94 int
95 RAND_pseudo_bytes(unsigned char *buf, int num)
97 if (num > 0)
98 arc4random_buf(buf, num);
99 return 1;