[BACK]Return to defines.h CVS log [TXT][DIR] Up to [local] / ircnowd / src / ngircd

Annotation of ircnowd/src/ngircd/defines.h, Revision 1.1.1.1

1.1       tomglok     1: /*
                      2:  * ngIRCd -- The Next Generation IRC Daemon
                      3:  * Copyright (c)2001-2014 Alexander Barton (alex@barton.de) and Contributors.
                      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 2 of the License, or
                      8:  * (at your option) any later version.
                      9:  * Please read the file COPYING, README and AUTHORS for more information.
                     10:  */
                     11:
                     12: #ifndef __defines_h__
                     13: #define __defines_h__
                     14:
                     15: /**
                     16:  * @file
                     17:  * Global constants ("#defines") used by the ngIRCd.
                     18:  */
                     19:
                     20:
                     21: /* Internal flags */
                     22:
                     23: /** Flag: there is no connection. */
                     24: #define NONE -1
                     25:
                     26: /** Flag: connection is (still) established. */
                     27: #define CONNECTED true
                     28:
                     29: /** Flag: connection isn't established (any more). */
                     30: #define DISCONNECTED false
                     31:
                     32: /** Tag for outbound server links. */
                     33: #define TOKEN_OUTBOUND -2
                     34:
                     35:
                     36: /* Generic buffer sizes */
                     37:
                     38: /** Max. length of a line in the configuration file. */
                     39: #define LINE_LEN 1024
                     40:
                     41: /** Max. length of a log message. */
                     42: #define MAX_LOG_MSG_LEN 256
                     43:
                     44: /** Max. length of file name. */
                     45: #define FNAME_LEN 256
                     46:
                     47: /** Max. length of fully qualified host names (e. g. "abc.domain.tld"). */
                     48: #define HOST_LEN 256
                     49:
                     50: /** Max. length of random salt */
                     51: #define RANDOM_SALT_LEN 32
                     52:
                     53: /* Size of structures */
                     54:
                     55: /** Max. count of configurable servers. */
                     56: #define MAX_SERVERS 64
                     57:
                     58: /** Max. number of WHOWAS list items that can be stored. */
                     59: #define MAX_WHOWAS 64
                     60:
                     61: /** Size of default connection pool. */
                     62: #define CONNECTION_POOL 100
                     63:
                     64: /** Size of buffer for PAM service name. */
                     65: #define MAX_PAM_SERVICE_NAME_LEN 64
                     66:
                     67:
                     68: /* Hard-coded (default) options */
                     69:
                     70: /** Delay after startup before outgoing connections are initiated in seconds. */
                     71: #define STARTUP_DELAY 1
                     72:
                     73: /** Time to delay re-connect attempts in seconds. */
                     74: #define RECONNECT_DELAY 3
                     75:
                     76: /** Configuration file name. */
                     77: #define CONFIG_FILE "/ngircd.conf"
                     78:
                     79: /** Directory containing optional configuration snippets. */
                     80: #define CONFIG_DIR "/ngircd.conf.d"
                     81:
                     82: /** Name of the MOTD file. */
                     83: #define MOTD_FILE "/ngircd.motd"
                     84:
                     85: /** Name of the help file. */
                     86: #define HELP_FILE "/Commands.txt"
                     87:
                     88: /** Default chroot() directory. */
                     89: #define CHROOT_DIR ""
                     90:
                     91: /** Default file for the process ID. */
                     92: #define PID_FILE ""
                     93:
                     94:
                     95: /* Sizes of "IRC elements": nicks, users, ... */
                     96:
                     97: /** Max. length of an IRC ID (incl. NULL); see RFC 2812 section 1.1 and 1.2.1. */
                     98: #define CLIENT_ID_LEN 64
                     99:
                    100: /** Default nick length (including NULL), see. RFC 2812 section 1.2.1. */
                    101: #define CLIENT_NICK_LEN_DEFAULT 10
                    102:
                    103: /** Maximum nickname length (including NULL). */
                    104: #define CLIENT_NICK_LEN 32
                    105:
                    106: /** Max. password length (including NULL). */
                    107: #define CLIENT_PASS_LEN 65
                    108:
                    109: /** Max. length of user name ("login"; incl. NULL), RFC 2812, section 1.2.1. */
                    110: #ifndef STRICT_RFC
                    111: # define CLIENT_USER_LEN 20
                    112: #else
                    113: # define CLIENT_USER_LEN 10
                    114: #endif
                    115: /** Max. length of user names saved for authentication (used by PAM) */
                    116: #ifdef PAM
                    117: # define CLIENT_AUTHUSER_LEN 64
                    118: #endif
                    119:
                    120: /** Max. length of "real names" (including NULL). */
                    121: #define CLIENT_NAME_LEN 32
                    122:
                    123: /** Max. host name length (including NULL). */
                    124: #define CLIENT_HOST_LEN 64
                    125:
                    126: /** Max. mask lenght (including NULL). */
                    127: #define MASK_LEN (2 * CLIENT_HOST_LEN)
                    128:
                    129: /** Max. length of all client modes (including NULL). */
                    130: #define CLIENT_MODE_LEN 21
                    131:
                    132: /** Max. length of server info texts (including NULL). */
                    133: #define CLIENT_INFO_LEN 128
                    134:
                    135: /** Max. length of away messages (including NULL). */
                    136: #define CLIENT_AWAY_LEN 128
                    137:
                    138: /** Max. length of client flags (including NULL). */
                    139: #define CLIENT_FLAGS_LEN 16
                    140:
                    141: /** Max. length of a channel name (including NULL), see RFC 2812 section 1.3. */
                    142: #define CHANNEL_NAME_LEN 51
                    143:
                    144: /** Max. length of channel modes (including NULL). */
                    145: #define CHANNEL_MODE_LEN 21
                    146:
                    147: /** Max. IRC command length (including NULL), see. RFC 2812 section 3.2. */
                    148: #define COMMAND_LEN 513
                    149:
                    150:
                    151: /* Read and write buffer sizes */
                    152:
                    153: /** Size of the read buffer of a connection in bytes. */
                    154: #define READBUFFER_LEN 2048
                    155:
                    156: /** Size that triggers write buffer flushing if more space is needed. */
                    157: #define WRITEBUFFER_FLUSH_LEN 4096
                    158:
                    159: /** Maximum size of the write buffer of a connection in bytes. */
                    160: #define WRITEBUFFER_MAX_LEN 1048576
                    161:
                    162: /** Maximum size of the write buffer of a server link connection in bytes. */
                    163: #define WRITEBUFFER_SLINK_LEN 1048576
                    164:
                    165:
                    166: /* IRC/IRC+ protocol */
                    167:
                    168: /** Implemented IRC protocol version, see RFC 2813 section 4.1.1. */
                    169: #define PROTOVER "0210"
                    170:
                    171: /** Protocol suffix, see RFC 2813 section 4.1.1. */
                    172: #define PROTOIRC "-IRC"
                    173:
                    174: /** Protocol suffix used by the IRC+ protocol, see <doc/Protocol.txt>. */
                    175: #define PROTOIRCPLUS "-IRC+"
                    176:
                    177: #ifdef IRCPLUS
                    178: /** Standard IRC+ flags. */
                    179: # define IRCPLUSFLAGS "CHLMSX"
                    180: #endif
                    181:
                    182: /** Supported user modes. */
                    183: #define USERMODES "abBcCFiIoqrRswx"
                    184:
                    185: /** Supported channel modes. */
                    186: #define CHANMODES "abehiIklmMnoOPqQrRstvVz"
                    187:
                    188: /** Supported channel types. */
                    189: #define CHANTYPES "#&+"
                    190:
                    191: /** Away message for users connected to linked servers. */
                    192: #define DEFAULT_AWAY_MSG "Away"
                    193:
                    194: /** Default ID for "topic owner". */
                    195: #define DEFAULT_TOPIC_ID "-Server-"
                    196:
                    197: /** Prefix for NOTICEs from the server to users. Some servers use '*'. */
                    198: #define NOTICE_TXTPREFIX ""
                    199:
                    200: /** Suffix for oversized messages that have been shortened and cut off. */
                    201: #define CUT_TXTSUFFIX "[CUT]"
                    202:
                    203:
                    204: /* Defaults and limits for IRC commands */
                    205:
                    206: /** Max. number of elemets allowed in channel invite and ban lists. */
                    207: #define MAX_HNDL_CHANNEL_LISTS 50
                    208:
                    209: /** Max. number of channel modes with arguments per MODE command. */
                    210: #define MAX_HNDL_MODES_ARG 5
                    211:
                    212: /** Max. number of targets per PRIVMSG/NOTICE/... command. */
                    213: #define MAX_HNDL_TARGETS 25
                    214:
                    215: /** Max. number of WHO replies. */
                    216: #define MAX_RPL_WHO 25
                    217:
                    218: /** Max. number of WHOIS replies. */
                    219: #define MAX_RPL_WHOIS 10
                    220:
                    221: /** Default count of WHOWAS command replies. */
                    222: #define DEF_RPL_WHOWAS 5
                    223:
                    224: /** Max count of WHOWAS command replies. */
                    225: #define MAX_RPL_WHOWAS 25
                    226:
                    227:
                    228: #endif
                    229:
                    230: /* -eof- */

CVSweb