gnunet-android

GNUnet for Android
Log | Files | Refs | README

export.h (1347B)


      1 
      2 #ifndef sodium_export_H
      3 #define sodium_export_H
      4 
      5 #include <stddef.h>
      6 #include <stdint.h>
      7 #include <limits.h>
      8 
      9 #if !defined(__clang__) && !defined(__GNUC__)
     10 # ifdef __attribute__
     11 #  undef __attribute__
     12 # endif
     13 # define __attribute__(a)
     14 #endif
     15 
     16 #ifdef SODIUM_STATIC
     17 # define SODIUM_EXPORT
     18 # define SODIUM_EXPORT_WEAK
     19 #else
     20 # if defined(_MSC_VER)
     21 #  ifdef SODIUM_DLL_EXPORT
     22 #   define SODIUM_EXPORT __declspec(dllexport)
     23 #  else
     24 #   define SODIUM_EXPORT __declspec(dllimport)
     25 #  endif
     26 # else
     27 #  if defined(__SUNPRO_C)
     28 #   ifndef __GNU_C__
     29 #    define SODIUM_EXPORT __attribute__ (visibility(__global))
     30 #   else
     31 #    define SODIUM_EXPORT __attribute__ __global
     32 #   endif
     33 #  elif defined(_MSG_VER)
     34 #   define SODIUM_EXPORT extern __declspec(dllexport)
     35 #  else
     36 #   define SODIUM_EXPORT __attribute__ ((visibility ("default")))
     37 #  endif
     38 # endif
     39 # if defined(__ELF__) && !defined(SODIUM_DISABLE_WEAK_FUNCTIONS)
     40 #  define SODIUM_EXPORT_WEAK SODIUM_EXPORT __attribute__((weak))
     41 # else
     42 #  define SODIUM_EXPORT_WEAK SODIUM_EXPORT
     43 # endif
     44 #endif
     45 
     46 #ifndef CRYPTO_ALIGN
     47 # if defined(__INTEL_COMPILER) || defined(_MSC_VER)
     48 #  define CRYPTO_ALIGN(x) __declspec(align(x))
     49 # else
     50 #  define CRYPTO_ALIGN(x) __attribute__ ((aligned(x)))
     51 # endif
     52 #endif
     53 
     54 #define SODIUM_MIN(A, B) ((A) < (B) ? (A) : (B))
     55 #define SODIUM_SIZE_MAX SODIUM_MIN(UINT64_MAX, SIZE_MAX)
     56 
     57 #endif