1 #ifndef _STATE_HELPERS_H 2 #define _STATE_HELPERS_H 3 4 #include <stdint.h> 5 6 #define SFVARN_BOOL(x, n) { &(x), 1, MDFNSTATE_RLSB | MDFNSTATE_BOOL, n } 7 #define SFVARN(x, n) { &(x), (uint32_t)sizeof(x), MDFNSTATE_RLSB, n } 8 #define SFVAR(x) SFVARN((x), #x) 9 10 #define SFARRAYN(x, l, n) { (x), (uint32_t)(l), 0, n } 11 #define SFARRAY(x, l) SFARRAYN((x), (l), #x) 12 13 #define SFARRAYBN(x, l, n) { (x), (uint32_t)(l), MDFNSTATE_BOOL, n } 14 #define SFARRAYB(x, l) SFARRAYBN((x), (l), #x) 15 16 #define SFARRAY16N(x, l, n) { (x), (uint32_t)((l) * sizeof(uint16_t)), MDFNSTATE_RLSB16, n } 17 #define SFARRAY16(x, l) SFARRAY16N((x), (l), #x) 18 19 #define SFARRAY32N(x, l, n) { (x), (uint32_t)((l) * sizeof(uint32_t)), MDFNSTATE_RLSB32, n } 20 #define SFARRAY32(x, l) SFARRAY32N((x), (l), #x) 21 22 #define SFARRAY64N(x, l, n) { (x), (uint32_t)((l) * sizeof(uint64_t)), MDFNSTATE_RLSB64, n } 23 #define SFARRAY64(x, l) SFARRAY64N((x), (l), #x) 24 25 #define SFARRAYDN(x, l, n) { (x), (uint32_t)((l) * 8), MDFNSTATE_RLSB64, n } 26 #define SFARRAYD(x, l) SFARRAYDN((x), (l), #x) 27 28 #define SFEND { 0, 0, 0, 0 } 29 30 #endif 31