From 535fba49073d9f144469a83e0220b7ec0c283bf2 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Thu, 1 May 2003 03:45:18 +0000 Subject: [PATCH] Define the OPENSSL_ITEM structure. --- CHANGES | 5 +++++ crypto/crypto.h | 14 +++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 9a416dea6b..57f503b675 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,11 @@ Changes between 0.9.7a and 0.9.8 [xx XXX xxxx] + *) Add a generic structure called OPENSSL_ITEM. This can be used to + pass a list of arguments to any function as well as provide a way + for a function to pass data back to the caller. + [Richard Levitte] + *) Add the functions BUF_strndup() and BUF_memdup(). BUF_strndup() works like BUF_strdup() but can be used to duplicate a portion of a string. The copy gets NUL-terminated. BUF_memdup() duplicates diff --git a/crypto/crypto.h b/crypto/crypto.h index 0f15a56544..dd90cfa55d 100644 --- a/crypto/crypto.h +++ b/crypto/crypto.h @@ -152,6 +152,16 @@ extern "C" { #define SSLEAY_PLATFORM 4 #define SSLEAY_DIR 5 +/* A generic structure to pass assorted data in a expandable way */ +typedef struct openssl_item_st + { + int code; + void *value; /* Not used for flag attributes */ + size_t value_size; /* Max size of value for output, length for input */ + size_t *value_length; /* Returned length of value for output */ + } OPENSSL_ITEM; + + /* When changing the CRYPTO_LOCK_* list, be sure to maintin the text lock * names in cryptlib.c */ @@ -192,7 +202,8 @@ extern "C" { #define CRYPTO_LOCK_ECDH 34 #define CRYPTO_LOCK_BN 35 #define CRYPTO_LOCK_EC_PRE_COMP 36 -#define CRYPTO_NUM_LOCKS 37 +#define CRYPTO_LOCK_STORE 37 +#define CRYPTO_NUM_LOCKS 38 #define CRYPTO_LOCK 1 #define CRYPTO_UNLOCK 2 @@ -302,6 +313,7 @@ DECLARE_STACK_OF(CRYPTO_EX_DATA_FUNCS) #define CRYPTO_EX_INDEX_ECDSA 12 #define CRYPTO_EX_INDEX_ECDH 13 #define CRYPTO_EX_INDEX_COMP 14 +#define CRYPTO_EX_INDEX_STORE 15 /* Dynamically assigned indexes start from this value (don't use directly, use * via CRYPTO_ex_data_new_class). */ -- 2.25.1