A basic definition and example and a few references for \"X-Macros\" is given in this wikipedia entry on the C pre-processor:
An X-Macro is a header
Dr. Dobb's has an article on this.