����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/*
* 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
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| aes.h | File | 3.23 KB | 0644 |
|
| asn1.h | File | 56.38 KB | 0644 |
|
| asn1err.h | File | 5.05 KB | 0644 |
|
| asn1t.h | File | 37.7 KB | 0644 |
|
| async.h | File | 2.95 KB | 0644 |
|
| asyncerr.h | File | 739 B | 0644 |
|
| bio.h | File | 40.43 KB | 0644 |
|
| bioerr.h | File | 2.3 KB | 0644 |
|
| blowfish.h | File | 2.09 KB | 0644 |
|
| bn.h | File | 21.79 KB | 0644 |
|
| bnerr.h | File | 1.3 KB | 0644 |
|
| buffer.h | File | 1.55 KB | 0644 |
|
| buffererr.h | File | 587 B | 0644 |
|
| byteorder.h | File | 8.25 KB | 0644 |
|
| camellia.h | File | 3.19 KB | 0644 |
|
| cast.h | File | 1.84 KB | 0644 |
|
| cmac.h | File | 1.42 KB | 0644 |
|
| cmp.h | File | 46.91 KB | 0644 |
|
| cmp_util.h | File | 1.59 KB | 0644 |
|
| cmperr.h | File | 4.71 KB | 0644 |
|
| cms.h | File | 30.37 KB | 0644 |
|
| cmserr.h | File | 4.44 KB | 0644 |
|
| comp.h | File | 4.59 KB | 0644 |
|
| comperr.h | File | 1002 B | 0644 |
|
| conf.h | File | 10.14 KB | 0644 |
|
| conf_api.h | File | 1.3 KB | 0644 |
|
| conferr.h | File | 1.66 KB | 0644 |
|
| configuration-x86_64.h | File | 4.36 KB | 0644 |
|
| configuration.h | File | 1.55 KB | 0644 |
|
| conftypes.h | File | 1.15 KB | 0644 |
|
| core.h | File | 7.64 KB | 0644 |
|
| core_dispatch.h | File | 45.85 KB | 0644 |
|
| core_names.h | File | 29.14 KB | 0644 |
|
| core_object.h | File | 1.02 KB | 0644 |
|
| crmf.h | File | 19.18 KB | 0644 |
|
| crmferr.h | File | 1.81 KB | 0644 |
|
| crypto.h | File | 22.58 KB | 0644 |
|
| cryptoerr.h | File | 1.94 KB | 0644 |
|
| cryptoerr_legacy.h | File | 46.89 KB | 0644 |
|
| ct.h | File | 21.72 KB | 0644 |
|
| cterr.h | File | 1.21 KB | 0644 |
|
| decoder.h | File | 4.79 KB | 0644 |
|
| decodererr.h | File | 740 B | 0644 |
|
| des.h | File | 7.58 KB | 0644 |
|
| dh.h | File | 12.72 KB | 0644 |
|
| dherr.h | File | 1.66 KB | 0644 |
|
| dsa.h | File | 10.72 KB | 0644 |
|
| dsaerr.h | File | 1.14 KB | 0644 |
|
| dtls1.h | File | 1.21 KB | 0644 |
|
| e_os2.h | File | 8.25 KB | 0644 |
|
| e_ostime.h | File | 1.12 KB | 0644 |
|
| ebcdic.h | File | 1 KB | 0644 |
|
| ec.h | File | 60.85 KB | 0644 |
|
| ecdh.h | File | 361 B | 0644 |
|
| ecdsa.h | File | 361 B | 0644 |
|
| ecerr.h | File | 3.28 KB | 0644 |
|
| encoder.h | File | 4.46 KB | 0644 |
|
| encodererr.h | File | 741 B | 0644 |
|
| engine.h | File | 36.66 KB | 0644 |
|
| engineerr.h | File | 1.99 KB | 0644 |
|
| err.h | File | 19.96 KB | 0644 |
|
| ess.h | File | 8.5 KB | 0644 |
|
| esserr.h | File | 982 B | 0644 |
|
| evp.h | File | 93.39 KB | 0644 |
|
| evperr.h | File | 5.4 KB | 0644 |
|
| fips.h | File | 601 B | 0644 |
|
| fips_names.h | File | 1.6 KB | 0644 |
|
| fipskey.h | File | 1.21 KB | 0644 |
|
| hmac.h | File | 1.85 KB | 0644 |
|
| hpke.h | File | 5.94 KB | 0644 |
|
| http.h | File | 4.61 KB | 0644 |
|
| httperr.h | File | 1.81 KB | 0644 |
|
| idea.h | File | 2.23 KB | 0644 |
|
| indicator.h | File | 818 B | 0644 |
|
| kdf.h | File | 4.98 KB | 0644 |
|
| kdferr.h | File | 480 B | 0644 |
|
| lhash.h | File | 32.59 KB | 0644 |
|
| macros.h | File | 10.47 KB | 0644 |
|
| md2.h | File | 1.3 KB | 0644 |
|
| md4.h | File | 1.57 KB | 0644 |
|
| md5.h | File | 1.57 KB | 0644 |
|
| mdc2.h | File | 1.28 KB | 0644 |
|
| ml_kem.h | File | 959 B | 0644 |
|
| modes.h | File | 7.94 KB | 0644 |
|
| obj_mac.h | File | 282.74 KB | 0644 |
|
| objects.h | File | 7.39 KB | 0644 |
|
| objectserr.h | File | 686 B | 0644 |
|
| ocsp.h | File | 27.2 KB | 0644 |
|
| ocsperr.h | File | 1.6 KB | 0644 |
|
| opensslconf.h | File | 510 B | 0644 |
|
| opensslv.h | File | 3.37 KB | 0644 |
|
| ossl_typ.h | File | 561 B | 0644 |
|
| param_build.h | File | 2.31 KB | 0644 |
|
| params.h | File | 6.89 KB | 0644 |
|
| pem.h | File | 22.14 KB | 0644 |
|
| pem2.h | File | 523 B | 0644 |
|
| pemerr.h | File | 1.79 KB | 0644 |
|
| pkcs12.h | File | 16.61 KB | 0644 |
|
| pkcs12err.h | File | 1.39 KB | 0644 |
|
| pkcs7.h | File | 21.36 KB | 0644 |
|
| pkcs7err.h | File | 2.19 KB | 0644 |
|
| prov_ssl.h | File | 969 B | 0644 |
|
| proverr.h | File | 6.26 KB | 0644 |
|
| provider.h | File | 3.3 KB | 0644 |
|
| quic.h | File | 2.05 KB | 0644 |
|
| rand.h | File | 3.96 KB | 0644 |
|
| randerr.h | File | 2.43 KB | 0644 |
|
| rc2.h | File | 1.73 KB | 0644 |
|
| rc4.h | File | 1.05 KB | 0644 |
|
| rc5.h | File | 2.1 KB | 0644 |
|
| ripemd.h | File | 1.5 KB | 0644 |
|
| rsa.h | File | 21.78 KB | 0644 |
|
| rsaerr.h | File | 3.77 KB | 0644 |
|
| safestack.h | File | 28.47 KB | 0644 |
|
| seed.h | File | 3.53 KB | 0644 |
|
| self_test.h | File | 4.61 KB | 0644 |
|
| sha.h | File | 4.3 KB | 0644 |
|
| srp.h | File | 14.8 KB | 0644 |
|
| srtp.h | File | 1.84 KB | 0644 |
|
| ssl.h | File | 119.35 KB | 0644 |
|
| ssl2.h | File | 625 B | 0644 |
|
| ssl3.h | File | 12.45 KB | 0644 |
|
| sslerr.h | File | 15.05 KB | 0644 |
|
| sslerr_legacy.h | File | 17.84 KB | 0644 |
|
| stack.h | File | 3.05 KB | 0644 |
|
| store.h | File | 13.68 KB | 0644 |
|
| storeerr.h | File | 1.66 KB | 0644 |
|
| symhacks.h | File | 1.08 KB | 0644 |
|
| thread.h | File | 865 B | 0644 |
|
| tls1.h | File | 61.84 KB | 0644 |
|
| trace.h | File | 10.57 KB | 0644 |
|
| ts.h | File | 18.96 KB | 0644 |
|
| tserr.h | File | 2.03 KB | 0644 |
|
| txt_db.h | File | 1.6 KB | 0644 |
|
| types.h | File | 7.13 KB | 0644 |
|
| ui.h | File | 18.08 KB | 0644 |
|
| uierr.h | File | 1.04 KB | 0644 |
|
| whrlpool.h | File | 1.64 KB | 0644 |
|
| x509.h | File | 65.91 KB | 0644 |
|
| x509_acert.h | File | 21.41 KB | 0644 |
|
| x509_vfy.h | File | 46.07 KB | 0644 |
|
| x509err.h | File | 2.26 KB | 0644 |
|
| x509v3.h | File | 126.32 KB | 0644 |
|
| x509v3err.h | File | 3.49 KB | 0644 |
|