]> git.ipfire.org Git - thirdparty/openssl.git/blobdiff - include/openssl/macros.h
threads_pthread.c: change inline to ossl_inline
[thirdparty/openssl.git] / include / openssl / macros.h
index 87cfde49201285a4170b919617d3d0b69a725a53..e9ef9387470c1fa2b4a63eedb1f303b33707fcd6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.
+ * 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
@@ -7,18 +7,20 @@
  * https://www.openssl.org/source/license.html
  */
 
+#ifndef OPENSSL_MACROS_H
+# define OPENSSL_MACROS_H
+# pragma once
+
 #include <openssl/opensslconf.h>
 #include <openssl/opensslv.h>
 
-#ifndef OPENSSL_MACROS_H
-# define OPENSSL_MACROS_H
 
 /* Helper macros for CPP string composition */
 # define OPENSSL_MSTR_HELPER(x) #x
 # define OPENSSL_MSTR(x) OPENSSL_MSTR_HELPER(x)
 
 /*
- * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers
+ * Sometimes OPENSSL_NO_xxx ends up with an empty file and some compilers
  * don't like that.  This will hopefully silence them.
  */
 # define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;
 /*
  * Define macros for deprecation and simulated removal purposes.
  *
- * The macros OSSL_DEPRECATED_{major}_{minor} are always defined for
+ * The macros OSSL_DEPRECATEDIN_{major}_{minor} are always defined for
  * all OpenSSL versions we care for.  They can be used as attributes
  * in function declarations where appropriate.
  *
  * 'no-deprecated'.
  */
 
+# undef OPENSSL_NO_DEPRECATED_3_1
 # undef OPENSSL_NO_DEPRECATED_3_0
 # undef OPENSSL_NO_DEPRECATED_1_1_1
 # undef OPENSSL_NO_DEPRECATED_1_1_0
 # undef OPENSSL_NO_DEPRECATED_1_0_0
 # undef OPENSSL_NO_DEPRECATED_0_9_8
 
+# if OPENSSL_API_LEVEL >= 30100
+#  ifndef OPENSSL_NO_DEPRECATED
+#   define OSSL_DEPRECATEDIN_3_1                OSSL_DEPRECATED(3.1)
+#   define OSSL_DEPRECATEDIN_3_1_FOR(msg)       OSSL_DEPRECATED_FOR(3.1, msg)
+#  else
+#   define OPENSSL_NO_DEPRECATED_3_1
+#  endif
+# else
+#  define OSSL_DEPRECATEDIN_3_1
+#  define OSSL_DEPRECATEDIN_3_1_FOR(msg)
+# endif
 # if OPENSSL_API_LEVEL >= 30000
 #  ifndef OPENSSL_NO_DEPRECATED
 #   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
 #   define OSSL_DEPRECATEDIN_3_0_FOR(msg)       OSSL_DEPRECATED_FOR(3.0, msg)
-#   define DEPRECATEDIN_3_0(f)                  OSSL_DEPRECATEDIN_3_0 f;
 #  else
 #   define OPENSSL_NO_DEPRECATED_3_0
-#   define DEPRECATEDIN_3_0(f)
 #  endif
 # else
 #  define OSSL_DEPRECATEDIN_3_0
 #  define OSSL_DEPRECATEDIN_3_0_FOR(msg)
-#  define DEPRECATEDIN_3_0(f)                   f;
 # endif
 # if OPENSSL_API_LEVEL >= 10101
 #  ifndef OPENSSL_NO_DEPRECATED
 #   define OSSL_DEPRECATEDIN_1_1_1              OSSL_DEPRECATED(1.1.1)
 #   define OSSL_DEPRECATEDIN_1_1_1_FOR(msg)     OSSL_DEPRECATED_FOR(1.1.1, msg)
-#   define DEPRECATEDIN_1_1_1(f)                OSSL_DEPRECATEDIN_1_1_1 f;
 #  else
 #   define OPENSSL_NO_DEPRECATED_1_1_1
-#   define DEPRECATEDIN_1_1_1(f)
 #  endif
 # else
 #  define OSSL_DEPRECATEDIN_1_1_1
 #  define OSSL_DEPRECATEDIN_1_1_1_FOR(msg)
-#  define DEPRECATEDIN_1_1_1(f)                 f;
 # endif
 # if OPENSSL_API_LEVEL >= 10100
 #  ifndef OPENSSL_NO_DEPRECATED
 #   define OSSL_DEPRECATEDIN_1_1_0              OSSL_DEPRECATED(1.1.0)
 #   define OSSL_DEPRECATEDIN_1_1_0_FOR(msg)     OSSL_DEPRECATED_FOR(1.1.0, msg)
-#   define DEPRECATEDIN_1_1_0(f)                OSSL_DEPRECATEDIN_1_1_0 f;
 #  else
 #   define OPENSSL_NO_DEPRECATED_1_1_0
-#   define DEPRECATEDIN_1_1_0(f)
 #  endif
 # else
 #  define OSSL_DEPRECATEDIN_1_1_0
 #  define OSSL_DEPRECATEDIN_1_1_0_FOR(msg)
-#  define DEPRECATEDIN_1_1_0(f)                 f;
 # endif
 # if OPENSSL_API_LEVEL >= 10002
 #  ifndef OPENSSL_NO_DEPRECATED
 #   define OSSL_DEPRECATEDIN_1_0_2              OSSL_DEPRECATED(1.0.2)
 #   define OSSL_DEPRECATEDIN_1_0_2_FOR(msg)     OSSL_DEPRECATED_FOR(1.0.2, msg)
-#   define DEPRECATEDIN_1_0_2(f)                OSSL_DEPRECATEDIN_1_0_2 f;
 #  else
 #   define OPENSSL_NO_DEPRECATED_1_0_2
-#   define DEPRECATEDIN_1_0_2(f)
 #  endif
 # else
 #  define OSSL_DEPRECATEDIN_1_0_2
 #  define OSSL_DEPRECATEDIN_1_0_2_FOR(msg)
-#  define DEPRECATEDIN_1_0_2(f)                 f;
 # endif
 # if OPENSSL_API_LEVEL >= 10001
 #  ifndef OPENSSL_NO_DEPRECATED
 #   define OSSL_DEPRECATEDIN_1_0_1              OSSL_DEPRECATED(1.0.1)
 #   define OSSL_DEPRECATEDIN_1_0_1_FOR(msg)     OSSL_DEPRECATED_FOR(1.0.1, msg)
-#   define DEPRECATEDIN_1_0_1(f)                OSSL_DEPRECATEDIN_1_0_1 f;
 #  else
 #   define OPENSSL_NO_DEPRECATED_1_0_1
-#   define DEPRECATEDIN_1_0_1(f)
 #  endif
 # else
 #  define OSSL_DEPRECATEDIN_1_0_1
 #  define OSSL_DEPRECATEDIN_1_0_1_FOR(msg)
-#  define DEPRECATEDIN_1_0_1(f)                 f;
 # endif
 # if OPENSSL_API_LEVEL >= 10000
 #  ifndef OPENSSL_NO_DEPRECATED
 #   define OSSL_DEPRECATEDIN_1_0_0              OSSL_DEPRECATED(1.0.0)
 #   define OSSL_DEPRECATEDIN_1_0_0_FOR(msg)     OSSL_DEPRECATED_FOR(1.0.0, msg)
-#   define DEPRECATEDIN_1_0_0(f)                OSSL_DEPRECATEDIN_1_0_0 f;
 #  else
 #   define OPENSSL_NO_DEPRECATED_1_0_0
-#   define DEPRECATEDIN_1_0_0(f)
 #  endif
 # else
 #  define OSSL_DEPRECATEDIN_1_0_0
 #  define OSSL_DEPRECATEDIN_1_0_0_FOR(msg)
-#  define DEPRECATEDIN_1_0_0(f)                 f;
 # endif
 # if OPENSSL_API_LEVEL >= 908
 #  ifndef OPENSSL_NO_DEPRECATED
 #   define OSSL_DEPRECATEDIN_0_9_8              OSSL_DEPRECATED(0.9.8)
 #   define OSSL_DEPRECATEDIN_0_9_8_FOR(msg)     OSSL_DEPRECATED_FOR(0.9.8, msg)
-#   define DEPRECATEDIN_0_9_8(f)                OSSL_DEPRECATEDIN_0_9_8 f;
 #  else
 #   define OPENSSL_NO_DEPRECATED_0_9_8
-#   define DEPRECATEDIN_0_9_8(f)
 #  endif
 # else
 #  define OSSL_DEPRECATEDIN_0_9_8
 #  define OSSL_DEPRECATEDIN_0_9_8_FOR(msg)
-#  define DEPRECATEDIN_0_9_8(f)                 f;
 # endif
 
 /*
 #  endif
 # endif
 
+# ifndef OSSL_CRYPTO_ALLOC
+#  if defined(__GNUC__)
+#   define OSSL_CRYPTO_ALLOC __attribute__((__malloc__))
+#  elif defined(_MSC_VER)
+#   define OSSL_CRYPTO_ALLOC __declspec(restrict)
+#  else
+#   define OSSL_CRYPTO_ALLOC
+#  endif
+# endif
+
 #endif  /* OPENSSL_MACROS_H */