#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