1*b077aed3SPierre Pronchery=pod
2*b077aed3SPierre Pronchery
3*b077aed3SPierre Pronchery=head1 NAME
4*b077aed3SPierre Pronchery
5*b077aed3SPierre Proncheryossl_decoder_get_number, evp_md_get_number, evp_cipher_get_number,
6*b077aed3SPierre Proncheryevp_mac_get_number, evp_rand_get_number, evp_keymgmt_get_number,
7*b077aed3SPierre Proncheryevp_signature_get_number, evp_asym_cipher_get_number, evp_kem_get_number,
8*b077aed3SPierre Proncheryevp_keyexch_get_number, evp_kdf_get_number, ossl_encoder_get_number,
9*b077aed3SPierre Proncheryossl_store_loader_get_number - EVP get internal identification numbers
10*b077aed3SPierre Pronchery
11*b077aed3SPierre Pronchery=head1 SYNOPSIS
12*b077aed3SPierre Pronchery
13*b077aed3SPierre Pronchery #include "crypto/evp.h"
14*b077aed3SPierre Pronchery
15*b077aed3SPierre Pronchery int evp_asym_cipher_get_number(const EVP_ASYM_CIPHER *cipher);
16*b077aed3SPierre Pronchery int evp_cipher_get_number(const EVP_CIPHER *e);
17*b077aed3SPierre Pronchery int evp_kdf_get_number(const EVP_KDF *kdf);
18*b077aed3SPierre Pronchery int evp_kem_get_number(const EVP_KEM *kem);
19*b077aed3SPierre Pronchery int evp_keyexch_get_number(const EVP_KEYEXCH *exchange);
20*b077aed3SPierre Pronchery int evp_keymgmt_get_number(const EVP_KEYMGMT *keymgmt);
21*b077aed3SPierre Pronchery int evp_mac_get_number(const EVP_MAC *mac);
22*b077aed3SPierre Pronchery int evp_md_get_number(const EVP_MD *md);
23*b077aed3SPierre Pronchery int evp_rand_get_number(const EVP_RAND *rand);
24*b077aed3SPierre Pronchery int evp_signature_get_number(const EVP_SIGNATURE *signature);
25*b077aed3SPierre Pronchery int ossl_decoder_get_number(const OSSL_DECODER *decoder);
26*b077aed3SPierre Pronchery int ossl_encoder_get_number(const OSSL_ENCODER *encoder);
27*b077aed3SPierre Pronchery int ossl_store_loader_get_number(const OSSL_STORE_LOADER *loader);
28*b077aed3SPierre Pronchery
29*b077aed3SPierre Pronchery=head1 DESCRIPTION
30*b077aed3SPierre Pronchery
31*b077aed3SPierre ProncheryAll provided algorithms get an associated integer identification number.
32*b077aed3SPierre ProncheryThis number is dynamic and should be expected to vary from run to run.
33*b077aed3SPierre ProncheryThese numbers should only be considered to be unique per provider per
34*b077aed3SPierre Proncherylibrary context.
35*b077aed3SPierre Pronchery
36*b077aed3SPierre Pronchery=over 4
37*b077aed3SPierre Pronchery
38*b077aed3SPierre Pronchery=item evp_asym_cipher_get_number()
39*b077aed3SPierre Pronchery
40*b077aed3SPierre ProncheryReturns the internal dynamic number assigned to I<cipher>.
41*b077aed3SPierre Pronchery
42*b077aed3SPierre Pronchery=item evp_cipher_get_number()
43*b077aed3SPierre Pronchery
44*b077aed3SPierre ProncheryReturns the internal dynamic number assigned to the I<cipher>.  This is only
45*b077aed3SPierre Proncheryuseful with fetched B<EVP_CIPHER>s.
46*b077aed3SPierre Pronchery
47*b077aed3SPierre Pronchery=item evp_kdf_get_number()
48*b077aed3SPierre Pronchery
49*b077aed3SPierre ProncheryKeturns the internal dynamic number assigned to I<kdf>.
50*b077aed3SPierre Pronchery
51*b077aed3SPierre Pronchery=item evp_kem_get_number()
52*b077aed3SPierre Pronchery
53*b077aed3SPierre ProncheryReturns the internal dynamic number assigned to I<kem>.
54*b077aed3SPierre Pronchery
55*b077aed3SPierre Pronchery=item evp_keyexch_get_number()
56*b077aed3SPierre Pronchery
57*b077aed3SPierre ProncheryReturns the internal dynamic number assigned to the I<exchange>.
58*b077aed3SPierre Pronchery
59*b077aed3SPierre Pronchery=item evp_keymgmt_get_number()
60*b077aed3SPierre Pronchery
61*b077aed3SPierre ProncheryReturns the internal dynamic number assigned to the I<keymgmt>.
62*b077aed3SPierre Pronchery
63*b077aed3SPierre Pronchery=item evp_mac_get_number()
64*b077aed3SPierre Pronchery
65*b077aed3SPierre ProncheryReturns the internal dynamic number assigned to I<mac>.
66*b077aed3SPierre Pronchery
67*b077aed3SPierre Pronchery=item evp_md_get_number()
68*b077aed3SPierre Pronchery
69*b077aed3SPierre ProncheryReturns the internal dynamic number assigned to the I<md>.  This is
70*b077aed3SPierre Proncheryonly useful with fetched B<EVP_MD>s.
71*b077aed3SPierre Pronchery
72*b077aed3SPierre Pronchery=item evp_rand_get_number()
73*b077aed3SPierre Pronchery
74*b077aed3SPierre ProncheryReturns the internal dynamic number assigned to I<rand>.
75*b077aed3SPierre Pronchery
76*b077aed3SPierre Pronchery=item evp_signature_get_number()
77*b077aed3SPierre Pronchery
78*b077aed3SPierre ProncheryReturns the internal dynamic number assigned to I<signature>.
79*b077aed3SPierre Pronchery
80*b077aed3SPierre Pronchery=item ossl_decoder_get_number()
81*b077aed3SPierre Pronchery
82*b077aed3SPierre ProncheryReturns the internal dynamic number assigned to the given I<decoder>.
83*b077aed3SPierre Pronchery
84*b077aed3SPierre Pronchery=item ossl_encoder_get_number()
85*b077aed3SPierre Pronchery
86*b077aed3SPierre ProncheryReturns the internal dynamic number assigned to the given I<encoder>.
87*b077aed3SPierre Pronchery
88*b077aed3SPierre Pronchery=item ossl_store_loader_get_number()
89*b077aed3SPierre Pronchery
90*b077aed3SPierre ProncheryReturns the internal dynamic number assigned to the given I<loader>.
91*b077aed3SPierre Pronchery
92*b077aed3SPierre Pronchery=back
93*b077aed3SPierre Pronchery
94*b077aed3SPierre Pronchery=head1 RETURN VALUES
95*b077aed3SPierre Pronchery
96*b077aed3SPierre ProncheryAll of these functions return the provider specific identification number
97*b077aed3SPierre Proncheryfor the specified algorithm.
98*b077aed3SPierre Pronchery
99*b077aed3SPierre Pronchery=head1 HISTORY
100*b077aed3SPierre Pronchery
101*b077aed3SPierre ProncheryThis functionality was added to OpenSSL 3.0.
102*b077aed3SPierre Pronchery
103*b077aed3SPierre Pronchery=head1 COPYRIGHT
104*b077aed3SPierre Pronchery
105*b077aed3SPierre ProncheryCopyright 2021 The OpenSSL Project Authors. All Rights Reserved.
106*b077aed3SPierre Pronchery
107*b077aed3SPierre ProncheryLicensed under the Apache License 2.0 (the "License").  You may not use
108*b077aed3SPierre Proncherythis file except in compliance with the License.  You can obtain a copy
109*b077aed3SPierre Proncheryin the file LICENSE in the source distribution or at
110*b077aed3SPierre ProncheryL<https://www.openssl.org/source/license.html>.
111*b077aed3SPierre Pronchery
112*b077aed3SPierre Pronchery=cut
113