#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
syntax highlighted by Code2HTML, v. 0.9.1