// vim: set ts=4 sw=4 tw=99 noet: // // AMX Mod X, based on AMX Mod by Aleksander Naszko ("OLO"). // Copyright (C) The AMX Mod X Development Team. // // This software is licensed under the GNU General Public License, version 3 or higher. // Additional exceptions apply. For full license details, see LICENSE.txt or visit: // https://alliedmods.net/amxmodx-license #ifndef _AMXXSC_INCLUDE_H #define _AMXXSC_INCLUDE_H #include #define MAGIC_HEADER2 0x414D5858 #define MAGIC_VERSION 0x0300 #if defined(__linux__) || defined(__APPLE__) # include #else # include #endif #include #if defined(__linux__) || defined(__APPLE__) # define dlmount(x) dlopen(x, RTLD_NOW|RTLD_GLOBAL) typedef void* HINSTANCE; #else # define dlsym(x, s) GetProcAddress(x, s) # define dlmount(x) LoadLibrary(x) # define dlclose(x) FreeLibrary(x) #endif #include "zlib/zlib.h" #include "Binary.h" typedef int (*COMPILER)(int argc, char **argv); typedef int (*PRINTF)(const char *message, ...); char *FindFileName(int argc, char **argv); char *swiext(const char *file, const char *ext); void show_help(); struct ablhdr { int magic; char size; }; struct abl { long stp; char cellsize; int size; long cmpsize; char *data; char *cmp; }; struct BinHeader { int32_t magic; int16_t version; int8_t plugins; }; struct BinPlugin { int8_t cellsize; //cell size int32_t imagesize; //uncompressed image size int32_t disksize; //compressed image size int32_t memsize; //memory image size int32_t offs; //file offset }; #if defined(__linux__) || defined(__APPLE__) bool FileExists(const char *file); #endif #endif //_AMXXSC_INCLUDE_H