1BIO_GET_EX_NEW_INDEX(3ossl) OpenSSL BIO_GET_EX_NEW_INDEX(3ossl)
2
3
4
6 BIO_get_ex_new_index, BIO_set_ex_data, BIO_get_ex_data,
7 BIO_set_app_data, BIO_get_app_data, DH_get_ex_new_index,
8 DH_set_ex_data, DH_get_ex_data, DSA_get_ex_new_index, DSA_set_ex_data,
9 DSA_get_ex_data, EC_KEY_get_ex_new_index, EC_KEY_set_ex_data,
10 EC_KEY_get_ex_data, ENGINE_get_ex_new_index, ENGINE_set_ex_data,
11 ENGINE_get_ex_data, EVP_PKEY_get_ex_new_index, EVP_PKEY_set_ex_data,
12 EVP_PKEY_get_ex_data, RSA_get_ex_new_index, RSA_set_ex_data,
13 RSA_get_ex_data, RSA_set_app_data, RSA_get_app_data,
14 SSL_get_ex_new_index, SSL_set_ex_data, SSL_get_ex_data,
15 SSL_set_app_data, SSL_get_app_data, SSL_CTX_get_ex_new_index,
16 SSL_CTX_set_ex_data, SSL_CTX_get_ex_data, SSL_CTX_set_app_data,
17 SSL_CTX_get_app_data, SSL_SESSION_get_ex_new_index,
18 SSL_SESSION_set_ex_data, SSL_SESSION_get_ex_data,
19 SSL_SESSION_set_app_data, SSL_SESSION_get_app_data,
20 UI_get_ex_new_index, UI_set_ex_data, UI_get_ex_data, UI_set_app_data,
21 UI_get_app_data, X509_STORE_CTX_get_ex_new_index,
22 X509_STORE_CTX_set_ex_data, X509_STORE_CTX_get_ex_data,
23 X509_STORE_CTX_set_app_data, X509_STORE_CTX_get_app_data,
24 X509_STORE_get_ex_new_index, X509_STORE_set_ex_data,
25 X509_STORE_get_ex_data, X509_get_ex_new_index, X509_set_ex_data,
26 X509_get_ex_data - application-specific data
27
29 #include <openssl/x509.h>
30
31 int TYPE_get_ex_new_index(long argl, void *argp,
32 CRYPTO_EX_new *new_func,
33 CRYPTO_EX_dup *dup_func,
34 CRYPTO_EX_free *free_func);
35
36 int TYPE_set_ex_data(TYPE *d, int idx, void *arg);
37
38 void *TYPE_get_ex_data(const TYPE *d, int idx);
39
40 #define TYPE_set_app_data(TYPE *d, void *arg)
41 #define TYPE_get_app_data(TYPE *d)
42
43 The following functions have been deprecated since OpenSSL 3.0, and can
44 be hidden entirely by defining OPENSSL_API_COMPAT with a suitable
45 version value, see openssl_user_macros(7):
46
47 int DH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
48 CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
49 int DH_set_ex_data(DH *type, int idx, void *arg);
50 void *DH_get_ex_data(DH *type, int idx);
51 int DSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
52 CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
53 int DSA_set_ex_data(DSA *type, int idx, void *arg);
54 void *DSA_get_ex_data(DSA *type, int idx);
55 int EC_KEY_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
56 CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
57 int EC_KEY_set_ex_data(EC_KEY *type, int idx, void *arg);
58 void *EC_KEY_get_ex_data(EC_KEY *type, int idx);
59 int RSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
60 CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
61 int RSA_set_ex_data(RSA *type, int idx, void *arg);
62 void *RSA_get_ex_data(RSA *type, int idx);
63 int RSA_set_app_data(RSA *type, void *arg);
64 void *RSA_get_app_data(RSA *type);
65 int ENGINE_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
66 CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
67 int ENGINE_set_ex_data(ENGINE *type, int idx, void *arg);
68 void *ENGINE_get_ex_data(ENGINE *type, int idx);
69
71 In the description here, TYPE is used a placeholder for any of the
72 OpenSSL datatypes listed in CRYPTO_get_ex_new_index(3).
73
74 All functions with a TYPE of DH, DSA, RSA and EC_KEY are deprecated.
75 Applications should instead use EVP_PKEY_set_ex_data(),
76 EVP_PKEY_get_ex_data() and EVP_PKEY_get_ex_new_index().
77
78 All functions with a TYPE of ENGINE are deprecated. Applications using
79 engines should be replaced by providers.
80
81 These functions handle application-specific data for OpenSSL data
82 structures.
83
84 TYPE_get_ex_new_index() is a macro that calls CRYPTO_get_ex_new_index()
85 with the correct index value.
86
87 TYPE_set_ex_data() is a function that calls CRYPTO_set_ex_data() with
88 an offset into the opaque exdata part of the TYPE object.
89
90 TYPE_get_ex_data() is a function that calls CRYPTO_get_ex_data() with
91 an offset into the opaque exdata part of the TYPE object.
92
93 For compatibility with previous releases, the exdata index of zero is
94 reserved for "application data." There are two convenience functions
95 for this. TYPE_set_app_data() is a macro that invokes
96 TYPE_set_ex_data() with idx set to zero. TYPE_get_app_data() is a
97 macro that invokes TYPE_get_ex_data() with idx set to zero.
98
100 TYPE_get_ex_new_index() returns a new index on success or -1 on error.
101
102 TYPE_set_ex_data() returns 1 on success or 0 on error.
103
104 TYPE_get_ex_data() returns the application data or NULL if an error
105 occurred.
106
108 CRYPTO_get_ex_new_index(3).
109
111 The functions DH_get_ex_new_index(), DH_set_ex_data(),
112 DH_get_ex_data(), DSA_get_ex_new_index(), DSA_set_ex_data(),
113 DSA_get_ex_data(), EC_KEY_get_ex_new_index(), EC_KEY_set_ex_data(),
114 EC_KEY_get_ex_data(), ENGINE_get_ex_new_index(), ENGINE_set_ex_data(),
115 ENGINE_get_ex_data(), RSA_get_ex_new_index(), RSA_set_ex_data(),
116 RSA_get_ex_data(), RSA_set_app_data() and RSA_get_app_data() were
117 deprecated in OpenSSL 3.0.
118
120 Copyright 2015-2021 The OpenSSL Project Authors. All Rights Reserved.
121
122 Licensed under the Apache License 2.0 (the "License"). You may not use
123 this file except in compliance with the License. You can obtain a copy
124 in the file LICENSE in the source distribution or at
125 <https://www.openssl.org/source/license.html>.
126
127
128
1293.0.9 2023-07-27 BIO_GET_EX_NEW_INDEX(3ossl)