# @(#)$Id: m4macros,v 1.3 2002/05/19 22:45:47 jv Exp $ The following macros are included in "ircd.m4" for use with the m4 text preprocessor. "ircd.m4" is parsed before the IRC server conf file so they are all available for use with that. NOTE: The "ircd.m4" file is *ONLY* created by a "make install". VERSION - current version string as in patchlevel.h DEBUGMODE - if DEBUGMODE is define in config.h, is also defined for m4. HOSTNAME - taken from hostname(1) USER - username of person doing the "make install" PORT - default port number as in config.h PFREQ - default ping frequency as in config.h CFREQ - default connect frequency as in config.h MAXSENDQ - default max sendq as in config.h CL - use this to wrap a class number HOST - use this to wrap a hostname HOSTM - use this to wrap the hostmask number in N-lines ID - when wrapping the host field in an I-line, causes ident string return to be used instead of user supplised username. PASS - use this to wrap passwords in C/N/I/O lines PING - use this to wrap the ping value in Y-lines APORT - use this to wrap the port number in I-lines CPORT - use this to wrap the port number in C-lines SERV - use this to wrap server names You might use some of these as C:foo.bar.edu:PASS(boo):foo.bar.edu:CPORT(6667) I:ID(128.250.*)::ID(*.mu.oz.au):APORT(6667) In addition to these (rather weak macros), some more complete ones are defined which already perform the above. ADMIN - provide fields to it as you would an A-line ALLOW - provide fields to it as you would an N-line BAN - provide fields to it as you would an K-line CLASS - provide fields to it as you would an Y-line CLIENT - provide fields to it as you would an I-line RESTRICTED - provide fields to it as you would an i-line CONNECT - provide fields to it as you would an C-line ME - provide fields to it as you would an M-line HUB - first parameter is server you want to hub, second is optional and is a mask against which other servers introduced must match against. LEAF - works like HUB, except that the mask is matched against server names to check if the link should be dropped. SERVER - uses 6 fields, the first 4 as are found in an N-line, the last two should be as you would use in a C-line. It expands out to provide both a C and N line. EXCLUDEVERSION - provide fields to it as you would a V-line SERVICE - provide fields to it as you would an S-line EXTRAPORT - first parameter is the additional port you want to listen on, second is optional and is the IP to bind to.