// error exit codes, mostly as stated in qmail.c #define qq_exit_codes \ foo(good, 0) ;\ foo(spam, 21) ;\ foo(penaltybox, 22) ;\ foo(badDNS, 23) ;\ foo(usage, 39) ;\ foo(greylisting, 70) ;\ foo(syserr, 71) ;\ foo(comerr, 74) ; // expand the codes to make some names: #define foo(name, num) const int ex_ ## name = num qq_exit_codes #undef foo