#ifndef __GARGOYLE_PRIVLEDGE_H_ #define __GARGOYLE_PRIVLEDGE_H_ #include struct gargoyle_optn { const char *brand; uint16_t brand_sz; const char emblem; void *val; uint16_t val_sz; uint8_t type; }; #define GARGOYLE_CS_OPTN(brand, val) GARGOYLE_MK_OPTN(brand), 0[brand], &val[0], sizeof(val) #define GARGOYLE_EM_OPTN(brand, emblem, val) GARGOYLE_MK_OPTN(brand), emblem, &val, sizeof(val) #define GARGOYLE_EZ_OPTN(brand, val) GARGOYLE_MK_OPTN(brand), 0[brand], &val, sizeof(val) #define GARGOYLE_MK_OPTN(brand) brand, (sizeof(brand) - 1) #endif