ssh

Dependents:   OS

Committer:
sPymbed
Date:
Mon Nov 25 14:24:05 2019 +0000
Revision:
0:c4152c628df5
first commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sPymbed 0:c4152c628df5 1 /* visibility.h
sPymbed 0:c4152c628df5 2 *
sPymbed 0:c4152c628df5 3 * Copyright (C) 2014-2016 wolfSSL Inc.
sPymbed 0:c4152c628df5 4 *
sPymbed 0:c4152c628df5 5 * This file is part of wolfSSH.
sPymbed 0:c4152c628df5 6 *
sPymbed 0:c4152c628df5 7 * wolfSSH is free software; you can redistribute it and/or modify
sPymbed 0:c4152c628df5 8 * it under the terms of the GNU General Public License as published by
sPymbed 0:c4152c628df5 9 * the Free Software Foundation; either version 3 of the License, or
sPymbed 0:c4152c628df5 10 * (at your option) any later version.
sPymbed 0:c4152c628df5 11 *
sPymbed 0:c4152c628df5 12 * wolfSSH is distributed in the hope that it will be useful,
sPymbed 0:c4152c628df5 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
sPymbed 0:c4152c628df5 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
sPymbed 0:c4152c628df5 15 * GNU General Public License for more details.
sPymbed 0:c4152c628df5 16 *
sPymbed 0:c4152c628df5 17 * You should have received a copy of the GNU General Public License
sPymbed 0:c4152c628df5 18 * along with wolfSSH. If not, see <http://www.gnu.org/licenses/>.
sPymbed 0:c4152c628df5 19 */
sPymbed 0:c4152c628df5 20
sPymbed 0:c4152c628df5 21
sPymbed 0:c4152c628df5 22 /*
sPymbed 0:c4152c628df5 23 * The visibility header handles the visibility of function prototypes
sPymbed 0:c4152c628df5 24 * between the local (used between modules in the library) and public
sPymbed 0:c4152c628df5 25 * (exported for the library user) APIs.
sPymbed 0:c4152c628df5 26 */
sPymbed 0:c4152c628df5 27
sPymbed 0:c4152c628df5 28
sPymbed 0:c4152c628df5 29 #pragma once
sPymbed 0:c4152c628df5 30
sPymbed 0:c4152c628df5 31
sPymbed 0:c4152c628df5 32 #ifdef __cplusplus
sPymbed 0:c4152c628df5 33 extern "C" {
sPymbed 0:c4152c628df5 34 #endif
sPymbed 0:c4152c628df5 35
sPymbed 0:c4152c628df5 36 /* WOLFSSH_API is used for the public API symbols.
sPymbed 0:c4152c628df5 37 It either imports or exports (or does nothing for static builds)
sPymbed 0:c4152c628df5 38
sPymbed 0:c4152c628df5 39 WOLFSSH_LOCAL is used for non-API symbols (private).
sPymbed 0:c4152c628df5 40 */
sPymbed 0:c4152c628df5 41
sPymbed 0:c4152c628df5 42 #if defined(BUILDING_WOLFSSH)
sPymbed 0:c4152c628df5 43 #if defined(HAVE_VISIBILITY) && HAVE_VISIBILITY
sPymbed 0:c4152c628df5 44 #define WOLFSSH_API __attribute__ ((visibility("default")))
sPymbed 0:c4152c628df5 45 #define WOLFSSH_LOCAL __attribute__ ((visibility("hidden")))
sPymbed 0:c4152c628df5 46 #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
sPymbed 0:c4152c628df5 47 #define WOLFSSH_API __global
sPymbed 0:c4152c628df5 48 #define WOLFSSH_LOCAL __hidden
sPymbed 0:c4152c628df5 49 #elif defined(_MSC_VER)
sPymbed 0:c4152c628df5 50 #ifdef WOLFSSH_DLL
sPymbed 0:c4152c628df5 51 #define WOLFSSH_API extern __declspec(dllexport)
sPymbed 0:c4152c628df5 52 #else
sPymbed 0:c4152c628df5 53 #define WOLFSSH_API
sPymbed 0:c4152c628df5 54 #endif
sPymbed 0:c4152c628df5 55 #define WOLFSSH_LOCAL
sPymbed 0:c4152c628df5 56 #else
sPymbed 0:c4152c628df5 57 #define WOLFSSH_API
sPymbed 0:c4152c628df5 58 #define WOLFSSH_LOCAL
sPymbed 0:c4152c628df5 59 #endif /* HAVE_VISIBILITY */
sPymbed 0:c4152c628df5 60 #else /* BUILDING_WOLFSSH */
sPymbed 0:c4152c628df5 61 #if defined(_MSC_VER)
sPymbed 0:c4152c628df5 62 #ifdef WOLFSSH_DLL
sPymbed 0:c4152c628df5 63 #define WOLFSSH_API extern __declspec(dllimport)
sPymbed 0:c4152c628df5 64 #else
sPymbed 0:c4152c628df5 65 #define WOLFSSH_API
sPymbed 0:c4152c628df5 66 #endif
sPymbed 0:c4152c628df5 67 #define WOLFSSH_LOCAL
sPymbed 0:c4152c628df5 68 #else
sPymbed 0:c4152c628df5 69 #define WOLFSSH_API
sPymbed 0:c4152c628df5 70 #define WOLFSSH_LOCAL
sPymbed 0:c4152c628df5 71 #endif
sPymbed 0:c4152c628df5 72 #endif /* BUILDING_WOLFSSH */
sPymbed 0:c4152c628df5 73
sPymbed 0:c4152c628df5 74
sPymbed 0:c4152c628df5 75
sPymbed 0:c4152c628df5 76 #ifdef __cplusplus
sPymbed 0:c4152c628df5 77 }
sPymbed 0:c4152c628df5 78 #endif
sPymbed 0:c4152c628df5 79