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