#ifndef __LIBRADHOOK_HPP__ #define __LIBRADHOOK_HPP__ #include #include #include // platform detection #if !defined(RADIUM_PLATFORM_WINDOWS) && !defined(RADIUM_PLATFORM_ANDROID) # if defined(_WIN32) || defined(_WIN64) # define RADIUM_PLATFORM_WINDOWS 1 # elif defined(__ANDROID__) # define RADIUM_PLATFORM_ANDROID 1 # else # error "radhook: unsupported platform -- define RADIUM_PLATFORM_WINDOWS or RADIUM_PLATFORM_ANDROID" # endif #endif // architecture detection #if defined(_M_X64) || defined(__x86_64__) # define RADHOOK_ARCH_X64 1 #elif defined(_M_ARM64) || defined(__aarch64__) # define RADHOOK_ARCH_ARM64 1 #else # error "radhook: unsupported architecture -- need x86-64 or aarch64" #endif // api macros #if defined(_WIN32) # if defined(RADHOOK_BUILD) # define RADHOOK_API __declspec(dllexport) # elif defined(RADHOOK_SHARED) # define RADHOOK_API __declspec(dllimport) # else # define RADHOOK_API # endif #else # if defined(__GNUC__) || defined(__clang__) # define RADHOOK_API __attribute__((visibility("default"))) # else # define RADHOOK_API # endif #endif #include "api.h" #endif // __LIBRADHOOK_HPP__