1 /* 2 * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. 3 * 4 * Licensed under the Apache License 2.0 (the "License"). You may not use 5 * this file except in compliance with the License. You can obtain a copy 6 * in the file LICENSE in the source distribution or at 7 * https://www.openssl.org/source/license.html 8 */ 9 10 #ifndef OPENSSL_CORE_OBJECT_H 11 # define OPENSSL_CORE_OBJECT_H 12 # pragma once 13 14 # ifdef __cplusplus 15 extern "C" { 16 # endif 17 18 /*- 19 * Known object types 20 * 21 * These numbers are used as values for the OSSL_PARAM parameter 22 * OSSL_OBJECT_PARAM_TYPE. 23 * 24 * For most of these types, there's a corresponding libcrypto object type. 25 * The corresponding type is indicated with a comment after the number. 26 */ 27 # define OSSL_OBJECT_UNKNOWN 0 28 # define OSSL_OBJECT_NAME 1 /* char * */ 29 # define OSSL_OBJECT_PKEY 2 /* EVP_PKEY * */ 30 # define OSSL_OBJECT_CERT 3 /* X509 * */ 31 # define OSSL_OBJECT_CRL 4 /* X509_CRL * */ 32 33 /* 34 * The rest of the associated OSSL_PARAM elements is described in core_names.h 35 */ 36 37 # ifdef __cplusplus 38 } 39 # endif 40 41 #endif 42