nim-evmc/headers/evmjit.h

50 lines
923 B
C

#pragma once
#include <evmc.h>
#ifdef C2NIM
# def EXPORT
# dynlib libevmjit
# cdecl
# if defined(windows)
# define libevmjit "libevmjit.dll"
# elif defined(macosx)
# define libevmjit "libevmjit.dylib"
# else
# define libevmjit "libevmjit.so"
# endif
# mangle uint32_t uint32
# mangle uint16_t uint16
# mangle uint8_t uint8
# mangle uint64_t uint64
# mangle int32_t int32
# mangle int16_t int16
# mangle int8_t int8
# mangle int64_t int64
# mangle cuchar uint8
#else
#ifdef _MSC_VER
#ifdef evmjit_EXPORTS
#define EXPORT __declspec(dllexport)
#else
#define EXPORT
#endif
#else
#define EXPORT __attribute__ ((visibility ("default")))
#endif
#endif
#ifdef __cplusplus
extern "C" {
#endif
/// Create EVMJIT instance.
///
/// @return The EVMJIT instance.
EXPORT struct evmc_instance* evmjit_create(void);
#ifdef __cplusplus
}
#endif