X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Fdefines.h;h=579d5521d02772afcf76e65a8ca132c521d98b0f;hp=c2d5c991a45312c915a3391ac4cd6428fc56ed34;hb=056de78e315a79edc1166649514bf8dfeb18abb1;hpb=03d971d99481244e7039bc960cfb962795fbe905 diff --git a/src/ngircd/defines.h b/src/ngircd/defines.h index c2d5c991..579d5521 100644 --- a/src/ngircd/defines.h +++ b/src/ngircd/defines.h @@ -1,66 +1,117 @@ /* * ngIRCd -- The Next Generation IRC Daemon - * Copyright (c)2001,2002 by Alexander Barton (alex@barton.de) - * - * Dieses Programm ist freie Software. Sie koennen es unter den Bedingungen - * der GNU General Public License (GPL), wie von der Free Software Foundation - * herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2 - * der Lizenz oder (wenn Sie es wuenschen) jeder spaeteren Version. - * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste - * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. - * - * $Id: defines.h,v 1.2 2002/01/02 02:44:36 alex Exp $ - * - * defines.h: (globale) Konstanten - * - * $Log: defines.h,v $ - * Revision 1.2 2002/01/02 02:44:36 alex - * - neue Defines fuer max. Anzahl Server und Operatoren. - * - * Revision 1.1 2001/12/31 02:18:51 alex - * - viele neue Befehle (WHOIS, ISON, OPER, DIE, RESTART), - * - neuen Header "defines.h" mit (fast) allen Konstanten. - * - Code Cleanups und viele "kleine" Aenderungen & Bugfixes. + * Copyright (c)2001-2010 Alexander Barton (alex@barton.de) * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * Please read the file COPYING, README and AUTHORS for more information. */ + #ifndef __defines_h__ #define __defines_h__ +/** + * @file + * Global constants ("#defines") used by the ngIRCd. + */ #define NONE -1 -#define FNAME_LEN 256 /* max. Laenge eines Dateinamen */ +#define FNAME_LEN 256 /* Max. length of file name */ + +#define LINE_LEN 256 /* Max. length of a line in the + configuration file */ + +#define HOST_LEN 256 /* Max. lenght of fully qualified host + names (e. g. "abc.domain.tld") */ + +#define MAX_SERVERS 16 /* Max. count of configurable servers */ + +#define MAX_WHOWAS 64 /* Max. number of WHOWAS items */ +#define DEFAULT_WHOWAS 5 /* default count for WHOWAS command */ + +#define CONNECTION_POOL 100 /* Size of default connection pool */ + +#define CLIENT_ID_LEN 64 /* Max. length of an IRC ID; see RFC + RFC 2812 section 1.1 and 1.2.1 */ +#define CLIENT_NICK_LEN_DEFAULT 10 /* Default nick length, see. RFC 2812 + * section 1.2.1 */ +#define CLIENT_NICK_LEN 32 /* Maximum nick name length */ +#define CLIENT_PASS_LEN 21 /* Max. password length */ +#define CLIENT_USER_LEN 10 /* Max. length of user name ("login") + see RFC 2812, section 1.2.1 */ +#define CLIENT_NAME_LEN 32 /* Max. length of "real names" */ +#define CLIENT_HOST_LEN 64 /* Max. host name length */ +#define CLIENT_MODE_LEN 9 /* Max. lenth of all client modes */ +#define CLIENT_INFO_LEN 64 /* Max. length of server info texts */ +#define CLIENT_AWAY_LEN 128 /* Max. length of away messages */ +#define CLIENT_FLAGS_LEN 100 /* Max. length of client flags */ + +#define CHANNEL_NAME_LEN 51 /* Max. length of a channel name, see + RFC 2812 section 1.3 */ +#define CHANNEL_MODE_LEN 9 /* Max. length of channel modes */ + +#define COMMAND_LEN 513 /* Max. IRC command length, see. RFC + 2812 section 3.2 */ + +#define READBUFFER_LEN 2048 /* Size of the read buffer of a + connection in bytes. */ +#define WRITEBUFFER_LEN 4096 /* Size of the write buffer of a + connection in bytes. */ +#define WRITEBUFFER_SLINK_LEN 51200 /* Size of the write buffer of a + server link connection in bytes. */ + +#define PROTOVER "0210" /* Implemented IRC protocol version, + see RFC 2813 section 4.1.1. */ +#define PROTOIRC "-IRC" /* Protocol suffix, see RFC 2813 + section 4.1.1 */ +#define PROTOIRCPLUS "-IRC+" /* Protocol suffix used by the IRC+ + protocol, see doc/Protocol.txt */ + +#ifdef IRCPLUS +# define IRCPLUSFLAGS "CHLS" /* Standard IRC+ flags */ +#endif + +#define STARTUP_DELAY 1 /* Delay outgoing connections n seconds + after startup. */ +#define RECONNECT_DELAY 3 /* Time to delay re-connect attempts + in seconds. */ -#define LINE_LEN 256 /* max. Laenge einer Konfigurationszeile */ +#define USERMODES "aciorsw" /* Supported user modes. */ +#define CHANMODES "biIklmnoPstvz" /* Supported channel modes. */ -#define HOST_LEN 256 /* max. Laenge eines Hostnamen */ +#define CONNECTED true /* Internal status codes. */ +#define DISCONNECTED false -#define MAX_LISTEN_PORTS 16 /* max. Anzahl von Listen-Ports */ +#define DEFAULT_AWAY_MSG "Away" /* Away message for users connected to + linked servers. */ -#define MAX_OPERATORS 8 /* max. Anzahl konfigurierbarer Operatoren */ +#define DEFAULT_TOPIC_ID "-Server-" /* Default ID for "topic owner". */ -#define MAX_SERVERS 8 /* max. Anzahl konfigurierbarer Server ("Peers") */ +#define CONFIG_FILE "/ngircd.conf" /* Configuration file name. */ +#define MOTD_FILE "/ngircd.motd" /* Name of the MOTD file. */ +#define CHROOT_DIR "" /* Default chroot() directory. */ +#define PID_FILE "" /* Default file for the process ID. */ -#define MAX_CONNECTIONS 100 /* max. Anzahl von Verbindungen an diesem Server */ +#define ERROR_DIR "/tmp" /* Error directory used in debug mode */ -#define MAX_CHANNELS 32 /* max. Anzahl Channels pro Nick */ +#define MAX_LOG_MSG_LEN 256 /* Max. length of a log message. */ -#define CLIENT_ID_LEN 64 /* max. ID-Laenge; vgl. RFC 2812, 1.1 und 1.2.1 */ -#define CLIENT_NICK_LEN 10 /* max. Nick-Laenge; vgl. RFC 2812, 1.2.1 */ -#define CLIENT_PASS_LEN 9 /* max. Laenge des Passwortes */ -#define CLIENT_USER_LEN 9 /* max. Laenge des Benutzernamen ("Login") */ -#define CLIENT_NAME_LEN 32 /* max. Laenge des "langen Benutzernamen" */ -#define CLIENT_HOST_LEN 64 /* max. Laenge des Hostname */ -#define CLIENT_MODE_LEN 8 /* max. Laenge der Client-Modes */ -#define CLIENT_INFO_LEN 64 /* max. Infotext-Laenge (Server) */ +#define TOKEN_OUTBOUND -2 /* Tag for outbound server links. */ -#define COMMAND_LEN 513 /* max. Laenge eines Befehls, vgl. RFC 2812, 3.2 */ +#define NOTICE_TXTPREFIX "" /* Prefix for NOTICEs from the server + to users. Some servers use '*'. */ -#define CHANNEL_NAME_LEN 51 /* max. Laenge eines Channel-Namens, vgl. RFC 2812, 1.3 */ +#define CUT_TXTSUFFIX "[CUT]" /* Suffix for oversized messages that + have been shortened and cut off. */ + +#ifdef ZEROCONF +#define MDNS_TYPE "_ircu._tcp." /* Service type to register with mDNS */ +#endif -#define READBUFFER_LEN 2 * COMMAND_LEN /* Laenge des Lesepuffers je Verbindung (Bytes) */ -#define WRITEBUFFER_LEN 4096 /* Laenge des Schreibpuffers je Verbindung (Bytes) */ #endif