Latest update.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 1999-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 1999-2020 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
|
||||
@@ -132,11 +132,11 @@ extern "C" {
|
||||
return (sk_##t1##_compfunc)OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (OPENSSL_sk_compfunc)compare); \
|
||||
}
|
||||
|
||||
# define DEFINE_SPECIAL_STACK_OF(t1, t2) SKM_DEFINE_STACK_OF(t1, t2, t2)
|
||||
# define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
|
||||
# define DEFINE_STACK_OF_CONST(t) SKM_DEFINE_STACK_OF(t, const t, t)
|
||||
# define DEFINE_SPECIAL_STACK_OF(t1, t2) SKM_DEFINE_STACK_OF(t1, t2, t2)
|
||||
# define DEFINE_SPECIAL_STACK_OF_CONST(t1, t2) \
|
||||
SKM_DEFINE_STACK_OF(t1, const t2, t2)
|
||||
# define DEFINE_STACK_OF_CONST(t) SKM_DEFINE_STACK_OF(t, const t, t)
|
||||
|
||||
/*-
|
||||
* Strings are special: normally an lhash entry will point to a single
|
||||
@@ -155,6 +155,28 @@ extern "C" {
|
||||
typedef char *OPENSSL_STRING;
|
||||
typedef const char *OPENSSL_CSTRING;
|
||||
|
||||
# define DEFINE_STACK_OF_STRING() \
|
||||
DEFINE_SPECIAL_STACK_OF(OPENSSL_STRING, char)
|
||||
# define DEFINE_STACK_OF_CSTRING() \
|
||||
DEFINE_SPECIAL_STACK_OF_CONST(OPENSSL_CSTRING, char)
|
||||
|
||||
/*
|
||||
* If we're building OpenSSL, or we have no-deprecated configured,
|
||||
* then we don't define the inline functions (see |SKM_DEFINE_STACK_OF|,
|
||||
* above), we just declare the stack datatypes. Otherwise, for compatibility
|
||||
* and to not remove the API's, we define the functions. We have the
|
||||
* trailing semicolon so that uses of this never need it.
|
||||
*/
|
||||
#if defined(OPENSSL_BUILDING_OPENSSL) || defined(OPENSSL_NO_DEPRECATED_3_0)
|
||||
# define DEFINE_OR_DECLARE_STACK_OF(s) STACK_OF(s);
|
||||
# define DEFINE_OR_DECLARE_STACK_OF_STRING() STACK_OF(OPENSSL_STRING);
|
||||
# define DEFINE_OR_DECLARE_STACK_OF_CSTRING() STACK_OF(OPENSSL_CSTRING);
|
||||
#else
|
||||
# define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
|
||||
# define DEFINE_OR_DECLARE_STACK_OF_STRING() DEFINE_STACK_OF_STRING()
|
||||
# define DEFINE_OR_DECLARE_STACK_OF_CSTRING() DEFINE_STACK_OF_CSTRING()
|
||||
#endif
|
||||
|
||||
/*-
|
||||
* Confusingly, LHASH_OF(STRING) deals with char ** throughout, but
|
||||
* STACK_OF(STRING) is really more like STACK_OF(char), only, as mentioned
|
||||
@@ -162,15 +184,17 @@ typedef const char *OPENSSL_CSTRING;
|
||||
* chars. So, we have to implement STRING specially for STACK_OF. This is
|
||||
* dealt with in the autogenerated macros below.
|
||||
*/
|
||||
DEFINE_SPECIAL_STACK_OF(OPENSSL_STRING, char)
|
||||
DEFINE_SPECIAL_STACK_OF_CONST(OPENSSL_CSTRING, char)
|
||||
DEFINE_OR_DECLARE_STACK_OF_STRING()
|
||||
DEFINE_OR_DECLARE_STACK_OF_CSTRING()
|
||||
|
||||
#if !defined(OPENSSL_NO_DEPRECATED_3_0)
|
||||
/*
|
||||
* Similarly, we sometimes use a block of characters, NOT nul-terminated.
|
||||
* This is not used by OpenSSL. A block of bytes, NOT nul-terminated.
|
||||
* These should also be distinguished from "normal" stacks.
|
||||
*/
|
||||
typedef void *OPENSSL_BLOCK;
|
||||
DEFINE_SPECIAL_STACK_OF(OPENSSL_BLOCK, void)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* If called without higher optimization (min. -xO3) the Oracle Developer
|
||||
|
||||
Reference in New Issue
Block a user