#if !defined(RTC_BEGIN_H) || defined(RTC_MIDDLE_H) || defined(RTC_END_H) # error "rtc_middle.h must follow rtc_begin.h" #else #undef RTC_BEGIN_H #define RTC_MIDDLE_H #undef CF_BEGIN #undef CF_END #undef CF_BOOL #undef CF_INT #undef CF_ADDR #undef CF_STR #undef CF_PERM #undef CF_INT_P #define CF_BEGIN(s) struct _cfgdesc desc_##s[] = { #define CF_END(s) {0,(char*)0,0,sizeof(s)} }; #define CF_BOOL(s,x) {cf_bool,#x,offsetof(s,x),sizeof(int)}, #define CF_INT(s,x) {cf_int,#x,offsetof(s,x),sizeof(int)}, #define CF_ADDR(s,x) {cf_addr,#x,offsetof(s,x),sizeof(struct in_addr)}, #define CF_STR(s,x,l) {cf_str,#x,offsetof(s,x),l}, #define CF_PERM(s,x) {cf_perm,"perms",offsetof(s,x),sizeof(struct _perm*)}, #define CF_INT_P(s,x) {cf_int,(char*)-1,offsetof(s,x),sizeof(int)}, #endif