Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
visibility.h
00001 /* visibility.h 00002 * 00003 * Copyright (C) 2006-2017 wolfSSL Inc. 00004 * 00005 * This file is part of wolfSSL. 00006 * 00007 * wolfSSL is free software; you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation; either version 2 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * wolfSSL is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with this program; if not, write to the Free Software 00019 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA 00020 */ 00021 00022 00023 /* Visibility control macros */ 00024 00025 #ifndef WOLF_CRYPT_VISIBILITY_H 00026 #define WOLF_CRYPT_VISIBILITY_H 00027 00028 00029 /* for compatibility and so that fips is using same name of macro @wc_fips */ 00030 /* The following visibility wrappers are for old FIPS. New FIPS should use 00031 * the same as a non-FIPS build. */ 00032 #if defined(HAVE_FIPS) && \ 00033 (!defined(HAVE_FIPS_VERSION) || (HAVE_FIPS_VERSION < 2)) 00034 #include <cyassl/ctaocrypt/visibility.h> 00035 #define WOLFSSL_API CYASSL_API 00036 #define WOLFSSL_LOCAL CYASSL_LOCAL 00037 #else 00038 00039 /* WOLFSSL_API is used for the public API symbols. 00040 It either imports or exports (or does nothing for static builds) 00041 00042 WOLFSSL_LOCAL is used for non-API symbols (private). 00043 */ 00044 00045 #if defined(BUILDING_WOLFSSL) 00046 #if defined(HAVE_VISIBILITY) && HAVE_VISIBILITY 00047 #define WOLFSSL_API __attribute__ ((visibility("default"))) 00048 #define WOLFSSL_LOCAL __attribute__ ((visibility("hidden"))) 00049 #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) 00050 #define WOLFSSL_API __global 00051 #define WOLFSSL_LOCAL __hidden 00052 #elif defined(_MSC_VER) || defined(__MINGW32__) 00053 #if defined(WOLFSSL_DLL) 00054 #define WOLFSSL_API __declspec(dllexport) 00055 #else 00056 #define WOLFSSL_API 00057 #endif 00058 #define WOLFSSL_LOCAL 00059 #else 00060 #define WOLFSSL_API 00061 #define WOLFSSL_LOCAL 00062 #endif /* HAVE_VISIBILITY */ 00063 #else /* BUILDING_WOLFSSL */ 00064 #if defined(_MSC_VER) || defined(__MINGW32__) 00065 #if defined(WOLFSSL_DLL) 00066 #define WOLFSSL_API __declspec(dllimport) 00067 #else 00068 #define WOLFSSL_API 00069 #endif 00070 #define WOLFSSL_LOCAL 00071 #else 00072 #define WOLFSSL_API 00073 #define WOLFSSL_LOCAL 00074 #endif 00075 #endif /* BUILDING_WOLFSSL */ 00076 00077 #endif /* HAVE_FIPS */ 00078 #endif /* WOLF_CRYPT_VISIBILITY_H */ 00079 00080
Generated on Tue Jul 12 2022 16:58:12 by
1.7.2