#ifndef HAXCC_H #define HAXCC_H typedef int (*init_fn)(void); typedef int (*done_fn)(void); typedef struct mod { char const* name; int priority; init_fn init; done_fn done; } mod; // Define a macro to place a 'mod' struct into a special section called '__haxmod' #define HAX_MOD(name) \ static const struct mod name \ __attribute__(( \ used, \ section("__haxmod"), \ aligned(__alignof__(struct mod)) \ )) mod* mod_begin(void); mod* mod_end(void); #endif // HAXCC_H