Lines Matching refs:ad
88 static void dummy_new(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx,
93 static void dummy_free(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx,
209 * to the global "ex_data" state (ie. class definitions), not 'ad' itself.
212 CRYPTO_EX_DATA *ad)
228 ad->ctx = ctx;
229 ad->sk = NULL;
248 ptr = CRYPTO_get_ex_data(ad, i);
249 storage[i]->new_func(obj, ptr, ad, i,
258 int CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad)
260 return ossl_crypto_new_ex_data_ex(NULL, class_index, obj, ad);
363 void CRYPTO_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad)
371 OSSL_EX_DATA_GLOBAL *global = ossl_lib_ctx_get_ex_data_global(ad->ctx);
401 ptr = CRYPTO_get_ex_data(ad, storage[i].index);
402 f->free_func(obj, ptr, ad, storage[i].index, f->argl, f->argp);
410 sk_void_free(ad->sk);
411 ad->sk = NULL;
412 ad->ctx = NULL;
419 int CRYPTO_alloc_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad,
424 curval = CRYPTO_get_ex_data(ad, idx);
429 return ossl_crypto_alloc_ex_data_intern(class_index, obj, ad, idx);
433 CRYPTO_EX_DATA *ad, int idx)
439 global = ossl_lib_ctx_get_ex_data_global(ad->ctx);
456 f->new_func(obj, NULL, ad, idx, f->argl, f->argp);
465 int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val)
469 if (ad->sk == NULL) {
470 if ((ad->sk = sk_void_new_null()) == NULL) {
476 for (i = sk_void_num(ad->sk); i <= idx; ++i) {
477 if (!sk_void_push(ad->sk, NULL)) {
482 if (sk_void_set(ad->sk, idx, val) != val) {
494 void *CRYPTO_get_ex_data(const CRYPTO_EX_DATA *ad, int idx)
496 if (ad->sk == NULL || idx >= sk_void_num(ad->sk))
498 return sk_void_value(ad->sk, idx);
501 OSSL_LIB_CTX *ossl_crypto_ex_data_get_ossl_lib_ctx(const CRYPTO_EX_DATA *ad)
503 return ad->ctx;