home *** CD-ROM | disk | FTP | other *** search
/ The Net: Ultimate Internet Guide / WWLCD1.ISO / pc / java / in4wjcxu / other / irc / include / config.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-08-14  |  20.9 KB  |  651 lines

  1. /************************************************************************
  2.  *   IRC - Internet Relay Chat, include/config.h
  3.  *   Copyright (C) 1990 Jarkko Oikarinen
  4.  *
  5.  *   This program is free software; you can redistribute it and/or modify
  6.  *   it under the terms of the GNU General Public License as published by
  7.  *   the Free Software Foundation; either version 1, or (at your option)
  8.  *   any later version.
  9.  *
  10.  *   This program is distributed in the hope that it will be useful,
  11.  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.  *   GNU General Public License for more details.
  14.  *
  15.  *   You should have received a copy of the GNU General Public License
  16.  *   along with this program; if not, write to the Free Software
  17.  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  18.  */
  19.  
  20. #ifndef    __config_include__
  21. #define    __config_include__
  22.  
  23. #include "setup.h"
  24.  
  25. /* Type of host. These should be made redundant somehow. -avalon */
  26.  
  27. /*    BSD            Nothing Needed 4.{2,3} BSD, SunOS 3.x, 4.x */
  28. /*    HPUX            Nothing needed (A.08/A.09) */
  29. /*    ULTRIX            Nothing needed (4.2) */
  30. /*    OSF            Nothing needed (1.2) */
  31. #undef    AIX            /* IBM ugly so-called Unix, AIX */
  32. #undef    MIPS            /* MIPS Unix */
  33. /*    SGI            Nothing needed (IRIX 4.0.4) */
  34. #undef     SVR3            /* SVR3 stuff - being worked on where poss. */
  35. #undef    DYNIXPTX        /* Sequents Brain-dead Posix implement. */
  36. #define    SOL20            /* Solaris2 */
  37. #undef    ESIX            /* ESIX */
  38. #undef    NEXT            /* NeXTStep */
  39. #undef        SVR4
  40.  
  41. /* Do these work? I dunno... */
  42.  
  43. #undef    VMS            /* Should work for IRC client, not server */
  44. #undef    MAIL50            /* If you're running VMS 5.0 */
  45. #undef    PCS            /* PCS Cadmus MUNIX, use with BSD flag! */
  46.  
  47. /*
  48.  * NOTE: On some systems, valloc() causes many problems.
  49.  */
  50. #undef    VALLOC            /* Define this if you have valloc(3) */
  51.  
  52. #ifdef APOLLO
  53. #define    RESTARTING_SYSTEMCALLS
  54. #endif                   /* read/write are restarted after signals
  55.                      defining this 1, gets siginterrupt call
  56.                      compiled, which attempts to remove this
  57.                      behaviour (apollo sr10.1/bsd4.3 needs
  58.                      this) */
  59.  
  60. /*
  61.  * If your host supports varargs and has vsprintf(), vprintf() and vscanf()
  62.  * C calls in its library, then you can define USE_VARARGS to use varargs
  63.  * instead of imitation variable arg passing.
  64. #undef    USE_VARARGS
  65.  * NOTE: with current server code, varargs doesn't survive because it can't
  66.  *       be used in a chain of 3 or more funtions which all have a variable
  67.  *       number of params.  If anyone has a solution to this, please notify
  68.  *       the maintainer.
  69.  */
  70.  
  71. #define    DEBUGMODE        /* define DEBUGMODE to enable debugging mode.*/
  72.  
  73. /*
  74.  * If you have curses, and wish to use it, then define HAVECURSES. This is the
  75.  * default mode. If you do not have termcap, then undefine HAVETERMCAP. This is
  76.  * the default mode. You can use both HAVECURSES and HAVETERMCAP, but you must
  77.  * define one of the two at least. Remember to check LIBFLAGS in the Makefiles.
  78.  *
  79.  * NOTICE: HAVECURSES and HAVETERMCAP are still under testing. Currently, use
  80.  *  only HAVECURSES and not HAVETERMCAP. This is a temporary condition only.
  81.  *
  82.  * NOTE: These *ONLY* apply to the irc client in this package
  83.  */
  84. #define    HAVECURSES        /* If you have curses, and want to use it.  */
  85. #undef    HAVETERMCAP        /* If you have termcap, and want to use it. */
  86.  
  87. #ifdef notdef
  88. /* Define NPATH if you want to run NOTE system. Be sure that this file is
  89.  * either not present or non empty (result of previous size). If it is empty,
  90.  * then remove it before starting the server.
  91.  * The file is for request save/backup.
  92.  */
  93. #define NPATH "/proj/i4como/irc/ircd/.ircdnote"
  94. #endif
  95.  
  96. /*
  97.  * Full pathnames and defaults of irc system's support files. Please note that
  98.  * these are only the recommened names and paths. Change as needed.
  99.  * You must define these to something, even if you don't really want them.
  100.  */
  101. #define    DPATH    "/proj/i4como/ircd/"    /* dir where all ircd stuff is */
  102. #define    SPATH    "/proj/i4como/ircd"
  103. #define    CPATH    "ircd.conf"    /* server configuration file */
  104. #define    MPATH    "ircd.motd"    /* server MOTD file */
  105. #define    LPATH    "/proj/i4como/ircd/ircd.log" /* Where the debug file lives, if DEBUGMODE */
  106. #define    PPATH    "ircd.pid"    /* file for server pid */
  107.  
  108. /*
  109.  * Define this filename to maintain a list of persons who log
  110.  * into this server. Logging will stop when the file does not exist.
  111.  * Logging will be disable also if you do not define this.
  112.  * FNAME_USERLOG just logs user connections, FNAME_OPERLOG logs every
  113.  * successful use of /oper.  These are either full paths or files within DPATH.
  114.  */
  115. #define FNAME_USERLOG "/proj/i4como/ircd/users" /* */
  116. #define FNAME_OPERLOG "/proj/i4como/ircd/opers" /* */
  117.  
  118. /* CHROOTDIR
  119.  *
  120.  * Define for value added security if you are a rooter.
  121.  *
  122.  * All files you access must be in the directory you define as DPATH.
  123.  * (This may effect the PATH locations above, though you can symlink it)
  124.  *
  125.  * You may want to define IRC_UID and IRC_GID
  126.  */
  127. #undef CHROOTDIR
  128.  
  129. /* ENABLE_SUMMON
  130.  *
  131.  * The SUMMON command requires the ircd to be run as group tty in order
  132.  * to work properly in many cases.  If you are on a machine where it
  133.  * won't work, or simply don't want local users to be summoned, undefine
  134.  * this.
  135.  */
  136. #define    ENABLE_SUMMON    /* local summon */
  137. #undef    ENABLE_USERS    /* enables local /users (same as who/finger output) */
  138.  
  139. /* SHOW_INVISIBLE_LUSERS
  140.  *
  141.  * As defined this will show the correct invisible count for anyone who does
  142.  * LUSERS on your server. On a large net this doesnt mean much, but on a
  143.  * small net it might be an advantage to undefine it.
  144.  */
  145. #define    SHOW_INVISIBLE_LUSERS
  146.  
  147. /* NO_DEFAULT_INVISIBLE
  148.  *
  149.  * When defined, your users will not automatically be attributed with user
  150.  * mode "i" (i == invisible). Invisibility means people dont showup in
  151.  * WHO or NAMES unless they are on the same channel as you.
  152.  */
  153. #define    NO_DEFAULT_INVISIBLE
  154.  
  155. /* OPER_KILL
  156.  *
  157.  * If you dont believe operators should be allowed to use the /KILL command
  158.  * or believe it is uncessary for them to use it, then leave OPER_KILL
  159.  * undefined. This will not affect other operators or servers issuing KILL
  160.  * commands however.  OPER_REHASH and OPER_RESTART allow operators to
  161.  * issue the REHASH and RESTART commands when connected to your server.
  162.  * Left undefined they increase the security of your server from wayward
  163.  * operators and accidents.  Defining OPER_REMOTE removes the restriction
  164.  * that O-lines only become fully effective for people on the 'same network'
  165.  * as the server.  Undefined, it increases the secrity of the server by
  166.  * placing restrictions on where people can use operator powers from.
  167.  * The 'LOCOP_' #defines are for making the respective commands available
  168.  * to 'local' operators.
  169.  */
  170. #undef    OPER_KILL
  171. #undef    OPER_REHASH
  172. #undef    OPER_RESTART
  173. #undef    OPER_DIE
  174. #undef    OPER_REMOTE
  175. #undef    LOCOP_REHASH
  176. #undef    LOCOP_RESTART
  177. #undef    LOCOP_DIE
  178.  
  179. /* MAXIMUM LINKS
  180.  *
  181.  * This define is useful for leaf nodes and gateways. It keeps you from
  182.  * connecting to too many places. It works by keeping you from
  183.  * connecting to more than "n" nodes which you have C:blah::blah:6667
  184.  * lines for.
  185.  *
  186.  * Note that any number of nodes can still connect to you. This only
  187.  * limits the number that you actively reach out to connect to.
  188.  *
  189.  * Leaf nodes are nodes which are on the edge of the tree. If you want
  190.  * to have a backup link, then sometimes you end up connected to both
  191.  * your primary and backup, routing traffic between them. To prevent
  192.  * this, #define MAXIMUM_LINKS 1 and set up both primary and
  193.  * secondary with C:blah::blah:6667 lines. THEY SHOULD NOT TRY TO
  194.  * CONNECT TO YOU, YOU SHOULD CONNECT TO THEM.
  195.  *
  196.  * Gateways such as the server which connects Australia to the US can
  197.  * do a similar thing. Put the American nodes you want to connect to
  198.  * in with C:blah::blah:6667 lines, and the Australian nodes with
  199.  * C:blah::blah lines. Have the Americans put you in with C:blah::blah
  200.  * lines. Then you will only connect to one of the Americans.
  201.  *
  202.  * This value is only used if you don't have server classes defined, and
  203.  * a server is in class 0 (the default class if none is set).
  204.  *
  205.  */
  206. #define MAXIMUM_LINKS 1
  207.  
  208. /*
  209.  * If your server is running as a a HUB Server then define this.
  210.  * A HUB Server has many servers connect to it at the same as opposed
  211.  * to a leaf which just has 1 server (typically the uplink). Define this
  212.  * correctly for performance reasons.
  213.  */
  214. #define    HUB
  215.  
  216. /* R_LINES:  The conf file now allows the existence of R lines, or
  217.  * restrict lines.  These allow more freedom in the ability to restrict
  218.  * who is to sign on and when.  What the R line does is call an outside
  219.  * program which returns a reply indicating whether to let the person on.
  220.  * Because there is another program involved, Delays and overhead could
  221.  * result. It is for this reason that there is a line in config.h to
  222.  * decide whether it is something you want or need. -Hoppie
  223.  *
  224.  * The default is no R_LINES as most people probably don't need it. --Jto
  225.  */
  226. #undef    R_LINES
  227.  
  228. #ifdef    R_LINES
  229. /* Also, even if you have R lines defined, you might not want them to be 
  230.    checked everywhere, since it could cost lots of time and delay.  Therefore, 
  231.    The following two options are also offered:  R_LINES_REHASH rechecks for 
  232.    R lines after a rehash, and R_LINES_OFTEN, which rechecks it as often
  233.    as it does K lines.  Note that R_LINES_OFTEN is *very* likely to cause 
  234.    a resource drain, use at your own risk.  R_LINES_REHASH shouldn't be too
  235.    bad, assuming the programs are fairly short. */
  236. #define R_LINES_REHASH
  237. #define R_LINES_OFTEN
  238. #endif
  239.  
  240. /*
  241.  * NOTE: defining CMDLINE_CONFIG and installing ircd SUID or SGID is a MAJOR
  242.  *       security problem - they can use the "-f" option to read any files
  243.  *       that the 'new' access lets them. Note also that defining this is
  244.  *       a major security hole if your ircd goes down and some other user
  245.  *       starts up the server with a new conf file that has some extra
  246.  *       O-lines. So don't use this unless you're debugging.
  247.  */
  248. #undef    CMDLINE_CONFIG /* allow conf-file to be specified on command line */
  249.  
  250. /*
  251.  * To use m4 as a preprocessor on the ircd.conf file, define M4_PREPROC.
  252.  * The server will then call m4 each time it reads the ircd.conf file,
  253.  * reading m4 output as the server's ircd.conf file.
  254.  */
  255. #define    M4_PREPROC
  256.  
  257. /*
  258.  * If you wish to have the server send 'vital' messages about server
  259.  * through syslog, define USE_SYSLOG. Only system errors and events critical
  260.  * to the server are logged although if this is defined with FNAME_USERLOG,
  261.  * syslog() is used instead of the above file. It is not recommended that
  262.  * this option is used unless you tell the system administrator beforehand
  263.  * and obtain their permission to send messages to the system log files.
  264.  */
  265. #undef    USE_SYSLOG
  266.  
  267. #ifdef    USE_SYSLOG
  268. /*
  269.  * If you use syslog above, you may want to turn some (none) of the
  270.  * spurious log messages for KILL/SQUIT off.
  271.  */
  272. #undef    SYSLOG_KILL    /* log all operator kills to syslog */
  273. #undef    SYSLOG_SQUIT    /* log all remote squits for all servers to syslog */
  274. #undef    SYSLOG_CONNECT    /* log remote connect messages for other all servs */
  275. #undef    SYSLOG_USERS    /* send userlog stuff to syslog */
  276. #undef    SYSLOG_OPER    /* log all users who successfully become an Op */
  277.  
  278. /*
  279.  * If you want to log to a different facility than DAEMON, change
  280.  * this define.
  281.  */
  282. #define LOG_FACILITY LOG_LOCAL1
  283. #endif /* USE_SYSLOG */
  284.  
  285. /*
  286.  * define this if you want to use crypted passwords for operators in your
  287.  * ircd.conf file. See ircd/crypt/README for more details on this.
  288.  */
  289. #define    CRYPT_OPER_PASSWORD
  290.  
  291. /*
  292.  * If you want to store encrypted passwords in N-lines for server links,
  293.  * define this.  For a C/N pair in your ircd.conf file, the password
  294.  * need not be the same for both, as long as hte opposite end has the
  295.  * right password in the opposite line.  See INSTALL doc for more details.
  296.  */
  297. #undef    CRYPT_LINK_PASSWORD
  298.  
  299. /*
  300.  * define this if you enable summon and if you want summon to look for the
  301.  * least idle tty a user is logged in on.
  302.  */
  303. #define    LEAST_IDLE
  304.  
  305. /*
  306.  * IDLE_FROM_MSG
  307.  *
  308.  * Idle-time nullified only from privmsg, if undefined idle-time
  309.  * is nullified from everything except ping/pong.
  310.  * Added 3.8.1992, kny@cs.hut.fi (nam)
  311.  */
  312. #define IDLE_FROM_MSG
  313.  
  314.  
  315.  
  316.  
  317. /************************** COMO-defines for it ********************/
  318.  
  319.  
  320. #define IRC_SUCKS_LINE_LENGTH 5000
  321. #define IRC_SUCKS_NO_WAIT 
  322.  
  323.  
  324. /* Jan Kautz & Ulrich Gall 1996 for COMO */
  325.  
  326. /*******************************************************************/
  327.  
  328.  
  329.  
  330.  
  331.  
  332. /*
  333.  * Max amount of internal send buffering when socket is stuck (bytes)
  334.  */
  335. #define MAXSENDQLENGTH 100000    /* Recommended value: 100000 for leaves */
  336.                                  /*                    700000 for backbones */
  337. /*
  338.  *  BUFFERPOOL is the maximum size of the total of all sendq's.
  339.  *  Recommended value is 2 * MAXSENDQLENGTH, for hubs, 5 *.
  340.  */
  341. #define    BUFFERPOOL     (2 * MAXSENDQLENGTH)
  342.  
  343. /*
  344.  * use these to setup a Unix domain socket to connect clients/servers to.
  345.  */
  346. #define    UNIXPORT
  347.  
  348. /*
  349.  * IRC_UID
  350.  *
  351.  * If you start the server as root but wish to have it run as another user,
  352.  * define IRC_UID to that UID.  This should only be defined if you are running
  353.  * as root and even then perhaps not.
  354.  */
  355. #undef    IRC_UID
  356. #undef    IRC_GID
  357.  
  358. #ifdef    notdef
  359. #define    IRC_UID    65534    /* eg for what to do to enable this feature */
  360. #define    IRC_GID    65534
  361. #endif
  362.  
  363. /*
  364.  * CLIENT_FLOOD
  365.  *
  366.  * this controls the number of bytes the server will allow a client to
  367.  * send to the server without processing before disconnecting the client for
  368.  * flooding it.  Values greater than 8000 make no difference to the server.
  369.  */
  370. #define    CLIENT_FLOOD    8000
  371.  
  372. /* Default server for standard client */
  373. #define    UPHOST    "coombs.anu.edu.au"
  374.  
  375. /* Define this if you want the server to accomplish ircII standard */
  376. /* Sends an extra NOTICE in the beginning of client connection     */
  377. #undef    IRCII_KLUDGE
  378.  
  379. /*   STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP  */
  380.  
  381. /* You shouldn't change anything below this line, unless absolutely needed. */
  382.  
  383. #ifdef    OPER_KILL
  384. /* LOCAL_KILL_ONLY
  385.  *
  386.  * To be used, OPER_KILL must be defined.
  387.  * LOCAL_KILL_ONLY restricts KILLs to clients which are connected to the
  388.  * server the Operator is connected to (ie lets them deal with local
  389.  * problem users or 'ghost' clients
  390.  *
  391.  * NOTE: #define'ing this on an IRC net with servers which have a version
  392.  *     earlier than 2.7 is prohibited.  Such an action and subsequent use
  393.  *     of KILL for non-local clients should be punished by removal of the
  394.  *     server's links (if only for ignoring this warning!).
  395.  */
  396. #undef    LOCAL_KILL_ONLY
  397. #endif
  398. /*
  399.  * Port where ircd resides. NOTE: This *MUST* be greater than 1024 if you
  400.  * plan to run ircd under any other uid than root.
  401.  */
  402. #define PORTNUM 6667        /* Recommended values: 6667 or 6666 */
  403.  
  404. /*
  405.  * Maximum number of network connections your server will allow.  This should
  406.  * never exceed max. number of open file descrpitors and wont increase this.
  407.  * Should remain LOW as possible. Most sites will usually have under 30 or so
  408.  * connections. A busy hub or server may need this to be as high as 50 or 60.
  409.  * Making it over 100 decreases any performance boost gained from it being low.
  410.  * if you have a lot of server connections, it may be worth splitting the load
  411.  * over 2 or more servers.
  412.  * 1 server = 1 connection, 1 user = 1 connection.
  413.  * This should be at *least* 3: 1 listen port, 1 dns port + 1 client
  414.  */
  415. #define MAXCONNECTIONS    50
  416.  
  417. /*
  418.  * this defines the length of the nickname history.  each time a user changes
  419.  * nickname or signs off, their old nickname is added to the top of the list.
  420.  * The following sizes are recommended:
  421.  * 8MB or less  core memory : 500    (at least 1/4 of max users)
  422.  * 8MB-16MB     core memory : 500-750    (1/4 -> 1/2 of max users)
  423.  * 16MB-32MB    core memory : 750-1000    (1/2 -> 3/4 of max users)
  424.  * 32MB or more core memory : 1000+    (> 3/4 if max users)
  425.  * where max users is the expected maximum number of users.
  426.  * (100 nicks/users ~ 25k)
  427.  * NOTE: this is directly related to the amount of memory ircd will use whilst
  428.  *     resident and running - it hardly ever gets swapped to disk! You can
  429.  *     ignore these recommendations- they only are meant to serve as a guide
  430.  */
  431. #define NICKNAMEHISTORYLENGTH 80
  432.  
  433. /*
  434.  * Time interval to wait and if no messages have been received, then check for
  435.  * PINGFREQUENCY and CONNECTFREQUENCY 
  436.  */
  437. #define TIMESEC  60        /* Recommended value: 60 */
  438.  
  439. /*
  440.  * If daemon doesn't receive anything from any of its links within
  441.  * PINGFREQUENCY seconds, then the server will attempt to check for
  442.  * an active link with a PING message. If no reply is received within
  443.  * (PINGFREQUENCY * 2) seconds, then the connection will be closed.
  444.  */
  445. #define PINGFREQUENCY    1200    /* Recommended value: 120 */
  446.  
  447. /*
  448.  * If the connection to to uphost is down, then attempt to reconnect every 
  449.  * CONNECTFREQUENCY  seconds.
  450.  */
  451. #define CONNECTFREQUENCY 600    /* Recommended value: 600 */
  452.  
  453. /*
  454.  * Often net breaks for a short time and it's useful to try to
  455.  * establishing the same connection again faster than CONNECTFREQUENCY
  456.  * would allow. But, to keep trying on bad connection, we require
  457.  * that connection has been open for certain minimum time
  458.  * (HANGONGOODLINK) and we give the net few seconds to steady
  459.  * (HANGONRETRYDELAY). This latter has to be long enough that the
  460.  * other end of the connection has time to notice it broke too.
  461.  */
  462. #define HANGONRETRYDELAY 10    /* Recommended value: 10 seconds */
  463. #define HANGONGOODLINK 300    /* Recommended value: 5 minutes */
  464.  
  465. /*
  466.  * Number of seconds to wait for write to complete if stuck.
  467.  */
  468. #define WRITEWAITDELAY     15    /* Recommended value: 15 */
  469.  
  470. /*
  471.  * Number of seconds to wait for a connect(2) call to complete.
  472.  * NOTE: this must be at *LEAST* 10.  When a client connects, it has
  473.  * CONNECTTIMEOUT - 10 seconds for its host to respond to an ident lookup
  474.  * query and for a DNS answer to be retrieved.
  475.  */
  476. #define    CONNECTTIMEOUT    30    /* Recommended value: 30 */
  477.  
  478. /*
  479.  * Max time from the nickname change that still causes KILL
  480.  * automaticly to switch for the current nick of that user. (seconds)
  481.  */
  482. #define KILLCHASETIMELIMIT 90   /* Recommended value: 90 */
  483.  
  484. /*
  485.  * Max number of channels a user is allowed to join.
  486.  */
  487. #define MAXCHANNELSPERUSER  20    /* Recommended value: 10 */
  488.  
  489. /*
  490.  * SendQ-Always causes the server to put all outbound data into the sendq and
  491.  * flushing the sendq at the end of input processing. This should cause more
  492.  * efficient write's to be made to the network.
  493.  * There *shouldn't* be any problems with this method.
  494.  * -avalon
  495.  */
  496. #define    SENDQ_ALWAYS
  497.  
  498. /* ------------------------- END CONFIGURATION SECTION -------------------- */
  499. #define MOTD MPATH
  500. #define    MYNAME SPATH
  501. #define    CONFIGFILE CPATH
  502. #define    IRCD_PIDFILE PPATH
  503.  
  504. #ifdef    __osf__
  505. #define    OSF
  506. /* OSF defines BSD to be its version of BSD */
  507. #undef BSD
  508. #include <sys/param.h>
  509. #ifndef BSD
  510. #define BSD
  511. #endif
  512. #endif
  513.  
  514. #ifdef _SEQUENT_        /* Dynix 1.4 or 2.0 Generic Define.. */
  515. #undef BSD
  516. #define SYSV            /* Also #define SYSV */
  517. #endif
  518.  
  519. #ifdef    ultrix
  520. #define    ULTRIX
  521. #endif
  522.  
  523. #ifdef    hpux
  524. #define    HPUX
  525. #endif
  526.  
  527. #ifdef    sgi
  528. #define    SGI
  529. #endif
  530.  
  531. #ifdef    CLIENT_COMPILE
  532. #undef    SENDQ_ALWAYS
  533. #undef    NPATH        /* _dl */
  534. #endif
  535.  
  536. #ifdef DEBUGMODE
  537. extern    void    debug();
  538. # define Debug(x) debug x
  539. # define LOGFILE LPATH
  540. #else
  541. # define Debug(x) ;
  542. # if VMS
  543. #    define LOGFILE "NLA0:"
  544. # else
  545. #    define LOGFILE "/dev/null"
  546. # endif
  547. #endif
  548.  
  549. #ifndef ENABLE_SUMMON
  550. #  undef LEAST_IDLE
  551. #endif
  552.  
  553. #if defined(mips) || defined(PCS)
  554. #undef SYSV
  555. #endif
  556.  
  557. #ifdef MIPS
  558. #undef BSD
  559. #define BSD             1       /* mips only works in bsd43 environment */
  560. #endif
  561.  
  562. #ifdef sequent                   /* Dynix (sequent OS) */
  563. #define SEQ_NOFILE    128        /* set to your current kernel impl, */
  564. #endif                           /* max number of socket connections */
  565.  
  566. #ifdef _SEQUENT_
  567. #define    DYNIXPTX
  568. #endif
  569.  
  570. #ifdef    BSD_RELIABLE_SIGNALS
  571. # if defined(SYSV_UNRELIABLE_SIGNALS) || defined(POSIX_SIGNALS)
  572. error You stuffed up config.h signals #defines use only one.
  573. # endif
  574. #define    HAVE_RELIABLE_SIGNALS
  575. #endif
  576.  
  577. #ifdef    SYSV_UNRELIABLE_SIGNALS
  578. # ifdef    POSIX_SIGNALS
  579. error You stuffed up config.h signals #defines use only one.
  580. # endif
  581. #undef    HAVE_RELIABLE_SIGNALS
  582. #endif
  583.  
  584. #ifdef    POSIX_SIGNALS
  585. #define    HAVE_RELIABLE_SIGNALS
  586. #endif
  587.  
  588. #ifdef    CLIENT_COMPILE
  589. #undef    SENDQ_ALWAYS
  590. #endif
  591.  
  592. /*
  593.  * safety margin so we can always have one spare fd, for motd/authd or
  594.  * whatever else.  -4 allows "safety" margin of 1 and space reserved.
  595.  */
  596. #define    MAXCLIENTS    (MAXCONNECTIONS-4)
  597.  
  598. #ifdef HAVECURSES
  599. # define DOCURSES
  600. #else
  601. # undef DOCURSES
  602. #endif
  603.  
  604. #ifdef HAVETERMCAP
  605. # define DOTERMCAP
  606. #else
  607. # undef DOTERMCAP
  608. #endif
  609.  
  610. #ifndef    UNIXPORT
  611. #undef    UNIXPORTPATH
  612. #endif
  613.  
  614. #if defined(CLIENT_FLOOD)
  615. # if    (CLIENT_FLOOD > 8000) || (CLIENT_FLOOD < 512)
  616. error CLIENT_FLOOD needs redefining.
  617. # endif
  618. #else
  619. error CLIENT_FLOOD undefined
  620. #endif
  621.  
  622. /*
  623.  * Some ugliness for AIX platforms.
  624.  */
  625. #ifdef AIX
  626. # include <sys/machine.h>
  627. # if BYTE_ORDER == BIG_ENDIAN
  628. #  define BIT_ZERO_ON_LEFT
  629. # endif
  630. # if BYTE_ORDER == LITTLE_ENDIAN
  631. #  define BIT_ZERO_ON_RIGHT
  632. # endif
  633. /*
  634.  * this one is used later in sys/types.h (or so i believe). -avalon
  635.  */
  636. # define BSD_INCLUDES
  637. #endif
  638.  
  639. #define Reg1 register
  640. #define Reg2 register
  641. #define Reg3 register
  642. #define Reg4 register
  643. #define Reg5 register
  644. #define Reg6 register
  645. #define Reg7 register
  646. #define Reg8 register
  647. #define Reg9 register
  648. #define Reg10 register
  649.  
  650. #endif /* __config_include__ */
  651.