]>
Commit | Line | Data |
---|---|---|
e6390aca RS |
1 | =pod |
2 | ||
3 | =head1 NAME | |
4 | ||
5 | BIO_get_ex_new_index, BIO_set_ex_data, BIO_get_ex_data, | |
d318389e | 6 | BIO_set_app_data, BIO_get_app_data, |
e6390aca RS |
7 | DH_get_ex_new_index, DH_set_ex_data, DH_get_ex_data, |
8 | DSA_get_ex_new_index, DSA_set_ex_data, DSA_get_ex_data, | |
9 | ECDH_get_ex_new_index, ECDH_set_ex_data, ECDH_get_ex_data, | |
9b02dc97 | 10 | EC_KEY_get_ex_new_index, EC_KEY_set_ex_data, EC_KEY_get_ex_data, |
d318389e | 11 | ENGINE_get_ex_new_index, ENGINE_set_ex_data, ENGINE_get_ex_data, |
ff1f7cde | 12 | EVP_PKEY_get_ex_new_index, EVP_PKEY_set_ex_data, EVP_PKEY_get_ex_data, |
d318389e RS |
13 | RAND_DRBG_set_ex_data, RAND_DRBG_get_ex_data, RAND_DRBG_get_ex_new_index, |
14 | RSA_get_ex_new_index, RSA_set_ex_data, RSA_get_ex_data, | |
15 | RSA_set_app_data, RSA_get_app_data, | |
16 | SSL_get_ex_new_index, SSL_set_ex_data, SSL_get_ex_data, | |
17 | SSL_set_app_data, SSL_get_app_data, | |
18 | SSL_CTX_get_ex_new_index, SSL_CTX_set_ex_data, SSL_CTX_get_ex_data, | |
19 | SSL_CTX_set_app_data, SSL_CTX_get_app_data, | |
20 | SSL_SESSION_get_ex_new_index, SSL_SESSION_set_ex_data, SSL_SESSION_get_ex_data, | |
21 | SSL_SESSION_set_app_data, SSL_SESSION_get_app_data, | |
22 | UI_get_ex_new_index, UI_set_ex_data, UI_get_ex_data, | |
23 | UI_set_app_data, UI_get_app_data, | |
24 | X509_STORE_CTX_get_ex_new_index, X509_STORE_CTX_set_ex_data, X509_STORE_CTX_get_ex_data, | |
25 | X509_STORE_CTX_set_app_data, X509_STORE_CTX_get_app_data, | |
26 | X509_STORE_get_ex_new_index, X509_STORE_set_ex_data, X509_STORE_get_ex_data, | |
27 | X509_get_ex_new_index, X509_set_ex_data, X509_get_ex_data | |
e6390aca RS |
28 | - application-specific data |
29 | ||
c952780c | 30 | =head1 SYNOPSIS |
e6390aca | 31 | |
bb82531f | 32 | =for openssl generic |
b97fdb57 | 33 | |
e6390aca RS |
34 | #include <openssl/x509.h> |
35 | ||
c952780c | 36 | int TYPE_get_ex_new_index(long argl, void *argp, |
e9b77246 BB |
37 | CRYPTO_EX_new *new_func, |
38 | CRYPTO_EX_dup *dup_func, | |
39 | CRYPTO_EX_free *free_func); | |
e6390aca | 40 | |
c952780c | 41 | int TYPE_set_ex_data(TYPE *d, int idx, void *arg); |
e6390aca | 42 | |
8cc86b81 | 43 | void *TYPE_get_ex_data(const TYPE *d, int idx); |
e6390aca | 44 | |
d318389e RS |
45 | #define TYPE_set_app_data(TYPE *d, void *arg) |
46 | #define TYPE_get_app_data(TYPE *d) | |
47 | ||
e6390aca RS |
48 | =head1 DESCRIPTION |
49 | ||
c952780c RS |
50 | In the description here, I<TYPE> is used a placeholder |
51 | for any of the OpenSSL datatypes listed in | |
52 | L<CRYPTO_get_ex_new_index(3)>. | |
53 | ||
54 | These functions handle application-specific data for OpenSSL data | |
e6390aca RS |
55 | structures. |
56 | ||
fe41c06e | 57 | TYPE_get_ex_new_index() is a macro that calls CRYPTO_get_ex_new_index() |
c952780c RS |
58 | with the correct B<index> value. |
59 | ||
60 | TYPE_set_ex_data() is a function that calls CRYPTO_set_ex_data() with | |
61 | an offset into the opaque exdata part of the TYPE object. | |
62 | ||
a970b14f | 63 | TYPE_get_ex_data() is a function that calls CRYPTO_get_ex_data() with |
c952780c | 64 | an offset into the opaque exdata part of the TYPE object. |
e6390aca | 65 | |
d318389e RS |
66 | For compatibility with previous releases, the exdata index of zero is |
67 | reserved for "application data." There are two convenience functions for | |
68 | this. | |
69 | TYPE_set_app_data() is a macro that invokes TYPE_set_ex_data() with | |
70 | B<idx> set to zero. | |
71 | TYPE_get_app_data() is a macro that invokes TYPE_get_ex_data() with | |
72 | B<idx> set to zero. | |
73 | Note that these functions are not defined for the B<RAND_DRBG> type because | |
74 | there are no backward compatibility concerns. | |
75 | ||
1f13ad31 PY |
76 | =head1 RETURN VALUES |
77 | ||
fe41c06e | 78 | TYPE_get_ex_new_index() returns a new index on success or -1 on error. |
1f13ad31 PY |
79 | |
80 | TYPE_set_ex_data() returns 1 on success or 0 on error. | |
81 | ||
82 | TYPE_get_ex_data() returns the application data or NULL if an error occurred. | |
83 | ||
e6390aca RS |
84 | =head1 SEE ALSO |
85 | ||
86 | L<CRYPTO_get_ex_new_index(3)>. | |
87 | ||
e2f92610 RS |
88 | =head1 COPYRIGHT |
89 | ||
61f805c1 | 90 | Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. |
e2f92610 | 91 | |
4746f25a | 92 | Licensed under the Apache License 2.0 (the "License"). You may not use |
e2f92610 RS |
93 | this file except in compliance with the License. You can obtain a copy |
94 | in the file LICENSE in the source distribution or at | |
95 | L<https://www.openssl.org/source/license.html>. | |
96 | ||
97 | =cut |