X7ROOT File Manager
Current Path:
/usr/include/openssl
usr
/
include
/
openssl
/
📁
..
📄
aes.h
(3.66 KB)
📄
asn1.h
(59.72 KB)
📄
asn1err.h
(7.67 KB)
📄
asn1t.h
(35.09 KB)
📄
async.h
(3.42 KB)
📄
asyncerr.h
(842 B)
📄
bio.h
(45.38 KB)
📄
bioerr.h
(3.43 KB)
📄
blowfish.h
(2.63 KB)
📄
bn.h
(23.62 KB)
📄
bnerr.h
(1.9 KB)
📄
buffer.h
(1.62 KB)
📄
buffererr.h
(594 B)
📄
byteorder.h
(8.43 KB)
📄
camellia.h
(4.95 KB)
📄
cast.h
(2.02 KB)
📄
cmac.h
(1.57 KB)
📄
cmp.h
(49.42 KB)
📄
cmp_util.h
(1.7 KB)
📄
cmperr.h
(7.13 KB)
📄
cms.h
(34.34 KB)
📄
cmserr.h
(6.63 KB)
📄
comp.h
(4.54 KB)
📄
comperr.h
(1.22 KB)
📄
conf.h
(10.42 KB)
📄
conf_api.h
(1.39 KB)
📄
conferr.h
(2.21 KB)
📄
configuration-x86_64.h
(4.07 KB)
📄
configuration.h
(1.55 KB)
📄
conftypes.h
(1.16 KB)
📄
core.h
(7.99 KB)
📄
core_dispatch.h
(57.01 KB)
📄
core_names.h
(29.49 KB)
📄
core_object.h
(1.1 KB)
📄
crmf.h
(20.29 KB)
📄
crmferr.h
(2.39 KB)
📄
crypto.h
(24.73 KB)
📄
cryptoerr.h
(2.47 KB)
📄
cryptoerr_legacy.h
(78.51 KB)
📄
ct.h
(22.18 KB)
📄
cterr.h
(1.65 KB)
📄
decoder.h
(5.63 KB)
📄
decodererr.h
(791 B)
📄
des.h
(8.33 KB)
📄
dh.h
(15.11 KB)
📄
dherr.h
(2.51 KB)
📄
dsa.h
(12.24 KB)
📄
dsaerr.h
(1.59 KB)
📄
dtls1.h
(1.43 KB)
📄
e_os2.h
(8.64 KB)
📄
e_ostime.h
(1.16 KB)
📄
ebcdic.h
(1.02 KB)
📄
ec.h
(66.84 KB)
📄
ecdh.h
(361 B)
📄
ecdsa.h
(361 B)
📄
ecerr.h
(5.28 KB)
📄
encoder.h
(5.32 KB)
📄
encodererr.h
(791 B)
📄
engine.h
(37.91 KB)
📄
engineerr.h
(2.77 KB)
📄
err.h
(21.87 KB)
📄
ess.h
(8.76 KB)
📄
esserr.h
(1.12 KB)
📄
evp.h
(109.89 KB)
📄
evperr.h
(8.03 KB)
📄
fips.h
(601 B)
📄
fips_names.h
(1.62 KB)
📄
fipskey.h
(1.08 KB)
📄
hmac.h
(2.09 KB)
📄
hpke.h
(6.82 KB)
📄
http.h
(5.53 KB)
📄
httperr.h
(2.45 KB)
📄
idea.h
(2.94 KB)
📄
indicator.h
(917 B)
📄
kdf.h
(5.65 KB)
📄
kdferr.h
(482 B)
📄
lhash.h
(18.01 KB)
📄
macros.h
(11.21 KB)
📄
md2.h
(1.43 KB)
📄
md4.h
(1.66 KB)
📄
md5.h
(1.66 KB)
📄
mdc2.h
(1.41 KB)
📄
ml_kem.h
(1.02 KB)
📄
modes.h
(10.53 KB)
📄
obj_mac.h
(283.11 KB)
📄
objects.h
(6.73 KB)
📄
objectserr.h
(782 B)
📄
ocsp.h
(28.66 KB)
📄
ocsperr.h
(2.15 KB)
📄
opensslconf.h
(515 B)
📄
opensslv.h
(3.11 KB)
📄
ossl_typ.h
(562 B)
📄
param_build.h
(2.74 KB)
📄
params.h
(7.27 KB)
📄
pem.h
(25.59 KB)
📄
pem2.h
(531 B)
📄
pemerr.h
(2.63 KB)
📄
pkcs12.h
(19.92 KB)
📄
pkcs12err.h
(1.85 KB)
📄
pkcs7.h
(22.13 KB)
📄
pkcs7err.h
(2.88 KB)
📄
prov_ssl.h
(1.11 KB)
📄
proverr.h
(9.3 KB)
📄
provider.h
(3.82 KB)
📄
quic.h
(2.26 KB)
📄
rand.h
(4.08 KB)
📄
randerr.h
(3.3 KB)
📄
rc2.h
(2.33 KB)
📄
rc4.h
(1.17 KB)
📄
rc5.h
(2.79 KB)
📄
ripemd.h
(1.68 KB)
📄
rsa.h
(27.81 KB)
📄
rsaerr.h
(5.55 KB)
📄
safestack.h
(18.01 KB)
📄
seed.h
(3.87 KB)
📄
self_test.h
(5.02 KB)
📄
sha.h
(4.58 KB)
📄
srp.h
(15.12 KB)
📄
srtp.h
(2.13 KB)
📄
ssl.h
(135.67 KB)
📄
ssl2.h
(658 B)
📄
ssl3.h
(14.87 KB)
📄
sslerr.h
(22.23 KB)
📄
sslerr_legacy.h
(26.31 KB)
📄
stack.h
(3.21 KB)
📄
store.h
(15.1 KB)
📄
storeerr.h
(2.04 KB)
📄
symhacks.h
(1.26 KB)
📄
thread.h
(871 B)
📄
tls1.h
(71.38 KB)
📄
trace.h
(10.55 KB)
📄
ts.h
(20.12 KB)
📄
tserr.h
(3 KB)
📄
txt_db.h
(1.74 KB)
📄
types.h
(7.33 KB)
📄
ui.h
(18.8 KB)
📄
uierr.h
(1.36 KB)
📄
whrlpool.h
(1.81 KB)
📄
x509.h
(71.19 KB)
📄
x509_acert.h
(21.9 KB)
📄
x509_vfy.h
(51.35 KB)
📄
x509err.h
(3.3 KB)
📄
x509v3.h
(128.1 KB)
📄
x509v3err.h
(4.95 KB)
Editing: core.h
/* * Copyright 2019-2023 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ #ifndef OPENSSL_CORE_H # define OPENSSL_CORE_H # pragma once # include <stddef.h> # include <openssl/types.h> # ifdef __cplusplus extern "C" { # endif /*- * Base types * ---------- * * These are the types that the OpenSSL core and providers have in common * to communicate data between them. */ /* Opaque handles to be used with core upcall functions from providers */ typedef struct ossl_core_handle_st OSSL_CORE_HANDLE; typedef struct openssl_core_ctx_st OPENSSL_CORE_CTX; typedef struct ossl_core_bio_st OSSL_CORE_BIO; /* * Dispatch table element. function_id numbers and the functions are defined * in core_dispatch.h, see macros with 'OSSL_CORE_MAKE_FUNC' in their names. * * An array of these is always terminated by function_id == 0 */ struct ossl_dispatch_st { int function_id; void (*function)(void); }; # define OSSL_DISPATCH_END \ { 0, NULL } /* * Other items, essentially an int<->pointer map element. * * We make this type distinct from OSSL_DISPATCH to ensure that dispatch * tables remain tables with function pointers only. * * This is used whenever we need to pass things like a table of error reason * codes <-> reason string maps, ... * * Usage determines which field works as key if any, rather than field order. * * An array of these is always terminated by id == 0 && ptr == NULL */ struct ossl_item_st { unsigned int id; void *ptr; }; /* * Type to tie together algorithm names, property definition string and * the algorithm implementation in the form of a dispatch table. * * An array of these is always terminated by algorithm_names == NULL */ struct ossl_algorithm_st { const char *algorithm_names; /* key */ const char *property_definition; /* key */ const OSSL_DISPATCH *implementation; const char *algorithm_description; }; /* * Type to pass object data in a uniform way, without exposing the object * structure. * * An array of these is always terminated by key == NULL */ struct ossl_param_st { const char *key; /* the name of the parameter */ unsigned int data_type; /* declare what kind of content is in buffer */ void *data; /* value being passed in or out */ size_t data_size; /* data size */ size_t return_size; /* returned content size */ }; /* Currently supported OSSL_PARAM data types */ /* * OSSL_PARAM_INTEGER and OSSL_PARAM_UNSIGNED_INTEGER * are arbitrary length and therefore require an arbitrarily sized buffer, * since they may be used to pass numbers larger than what is natively * available. * * The number must be buffered in native form, i.e. MSB first on B_ENDIAN * systems and LSB first on L_ENDIAN systems. This means that arbitrary * native integers can be stored in the buffer, just make sure that the * buffer size is correct and the buffer itself is properly aligned (for * example by having the buffer field point at a C integer). */ # define OSSL_PARAM_INTEGER 1 # define OSSL_PARAM_UNSIGNED_INTEGER 2 /*- * OSSL_PARAM_REAL * is a C binary floating point values in native form and alignment. */ # define OSSL_PARAM_REAL 3 /*- * OSSL_PARAM_UTF8_STRING * is a printable string. It is expected to be printed as it is. */ # define OSSL_PARAM_UTF8_STRING 4 /*- * OSSL_PARAM_OCTET_STRING * is a string of bytes with no further specification. It is expected to be * printed as a hexdump. */ # define OSSL_PARAM_OCTET_STRING 5 /*- * OSSL_PARAM_UTF8_PTR * is a pointer to a printable string. It is expected to be printed as it is. * * The difference between this and OSSL_PARAM_UTF8_STRING is that only pointers * are manipulated for this type. * * This is more relevant for parameter requests, where the responding * function doesn't need to copy the data to the provided buffer, but * sets the provided buffer to point at the actual data instead. * * WARNING! Using these is FRAGILE, as it assumes that the actual * data and its location are constant. * * EXTRA WARNING! If you are not completely sure you most likely want * to use the OSSL_PARAM_UTF8_STRING type. */ # define OSSL_PARAM_UTF8_PTR 6 /*- * OSSL_PARAM_OCTET_PTR * is a pointer to a string of bytes with no further specification. It is * expected to be printed as a hexdump. * * The difference between this and OSSL_PARAM_OCTET_STRING is that only pointers * are manipulated for this type. * * This is more relevant for parameter requests, where the responding * function doesn't need to copy the data to the provided buffer, but * sets the provided buffer to point at the actual data instead. * * WARNING! Using these is FRAGILE, as it assumes that the actual * data and its location are constant. * * EXTRA WARNING! If you are not completely sure you most likely want * to use the OSSL_PARAM_OCTET_STRING type. */ # define OSSL_PARAM_OCTET_PTR 7 /* * Typedef for the thread stop handling callback. Used both internally and by * providers. * * Providers may register for notifications about threads stopping by * registering a callback to hear about such events. Providers register the * callback using the OSSL_FUNC_CORE_THREAD_START function in the |in| dispatch * table passed to OSSL_provider_init(). The arg passed back to a provider will * be the provider side context object. */ typedef void (*OSSL_thread_stop_handler_fn)(void *arg); /*- * Provider entry point * -------------------- * * This function is expected to be present in any dynamically loadable * provider module. By definition, if this function doesn't exist in a * module, that module is not an OpenSSL provider module. */ /*- * |handle| pointer to opaque type OSSL_CORE_HANDLE. This can be used * together with some functions passed via |in| to query data. * |in| is the array of functions that the Core passes to the provider. * |out| will be the array of base functions that the provider passes * back to the Core. * |provctx| a provider side context object, optionally created if the * provider needs it. This value is passed to other provider * functions, notably other context constructors. */ typedef int (OSSL_provider_init_fn)(const OSSL_CORE_HANDLE *handle, const OSSL_DISPATCH *in, const OSSL_DISPATCH **out, void **provctx); # ifdef __VMS # pragma names save # pragma names uppercase,truncated # endif OPENSSL_EXPORT OSSL_provider_init_fn OSSL_provider_init; # ifdef __VMS # pragma names restore # endif /* * Generic callback function signature. * * The expectation is that any provider function that wants to offer * a callback / hook can do so by taking an argument with this type, * as well as a pointer to caller-specific data. When calling the * callback, the provider function can populate an OSSL_PARAM array * with data of its choice and pass that in the callback call, along * with the caller data argument. * * libcrypto may use the OSSL_PARAM array to create arguments for an * application callback it knows about. */ typedef int (OSSL_CALLBACK)(const OSSL_PARAM params[], void *arg); typedef int (OSSL_INOUT_CALLBACK)(const OSSL_PARAM in_params[], OSSL_PARAM out_params[], void *arg); /* * Passphrase callback function signature * * This is similar to the generic callback function above, but adds a * result parameter. */ typedef int (OSSL_PASSPHRASE_CALLBACK)(char *pass, size_t pass_size, size_t *pass_len, const OSSL_PARAM params[], void *arg); # ifdef __cplusplus } # endif #endif
Upload File
Create Folder