cf54e02a316f54575c95ca307e5decfc2585bd2f
[openssl.git] / doc / internal / man3 / rand_bytes_ex.pod
1 =pod
2
3 =head1 NAME
4
5 rand_bytes_ex, rand_priv_bytes_ex
6 - internal random number routines
7
8 =head1 SYNOPSIS
9
10  #include "internal/rand_int.h"
11
12  int rand_bytes_ex(OPENSSL_CTX *ctx, unsigned char *buf, int num);
13  int rand_priv_bytes_ex(OPENSSL_CTX *ctx, unsigned char *buf, int num);
14
15 =head1 DESCRIPTION
16
17 rand_bytes_ex() and rand_priv_bytes_ex() are the equivalent of RAND_bytes() and
18 RAND_priv_bytes() in the public API except that they both take an additional
19 I<ctx> parameter.
20 The DRBG used for the operation is the public or private DRBG associated with
21 the specified I<ctx>. The parameter can be NULL, in which case
22 the default library ctx is used.
23 If the default RAND_METHOD has been changed then for compatibility reasons the
24 RAND_METHOD will be used in preference and the DRBG of the library context
25 ignored.
26
27 =head1 RETURN VALUES
28
29 rand_bytes_ex() and rand_bytes_priv_ex() return 0 or less on error or 1 on
30 success.
31
32 =head1 COPYRIGHT
33
34 Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
35
36 Licensed under the Apache License 2.0 (the "License").  You may not use
37 this file except in compliance with the License.  You can obtain a copy
38 in the file LICENSE in the source distribution or at
39 L<https://www.openssl.org/source/license.html>.
40
41 =cut