]> jfr.im git - irc.git/blame - software/ircd/www.irc.org/ftp/irc/org/irc2.11.2p3/common/class_def.h
init
[irc.git] / software / ircd / www.irc.org / ftp / irc / org / irc2.11.2p3 / common / class_def.h
CommitLineData
3bd189cb
JR
1/************************************************************************
2 * IRC - Internet Relay Chat, common/class_def.h
3 * Copyright (C) 1990 Darren Reed
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#ifdef ENABLE_CIDR_LIMITS
21struct _patricia_tree_t;
22#endif
23
24typedef struct Class {
25 int class;
26 int conFreq;
27 int pingFreq;
28 int maxLinks;
29 int maxSendq;
30 int maxBSendq;
31 int maxHLocal;
32 int maxUHLocal;
33 int maxHGlobal;
34 int maxUHGlobal;
35 int links;
36#ifdef ENABLE_CIDR_LIMITS
37 int cidr_len;
38 int cidr_amount;
39 struct _patricia_tree_t *ip_limits;
40#endif
41 struct Class *next;
42} aClass;
43
44#define Class(x) ((x)->class)
45#define ConFreq(x) ((x)->conFreq)
46#define PingFreq(x) ((x)->pingFreq)
47#define MaxLinks(x) ((x)->maxLinks)
48#define MaxSendq(x) ((x)->maxSendq)
49#define MaxBSendq(x) ((x)->maxBSendq)
50#define MaxHLocal(x) ((x)->maxHLocal)
51#define MaxUHLocal(x) ((x)->maxUHLocal)
52#define MaxHGlobal(x) ((x)->maxHGlobal)
53#define MaxUHGlobal(x) ((x)->maxUHGlobal)
54#define Links(x) ((x)->links)
55#define IncSendq(x) MaxSendq(x) = (int)((float)MaxSendq(x) * 1.1)
56
57#define ConfLinks(x) (Class(x)->links)
58#define ConfMaxLinks(x) (Class(x)->maxLinks)
59#define ConfClass(x) (Class(x)->class)
60#define ConfConFreq(x) (Class(x)->conFreq)
61#define ConfPingFreq(x) (Class(x)->pingFreq)
62#define ConfSendq(x) (Class(x)->maxSendq)
63#define ConfMaxHLocal(x) (Class(x)->maxHLocal)
64#define ConfMaxUHLocal(x) (Class(x)->maxUHLocal)
65#define ConfMaxHGlobal(x) (Class(x)->maxHGlobal)
66#define ConfMaxUHGlobal(x) (Class(x)->maxUHGlobal)
67#ifdef ENABLE_CIDR_LIMITS
68#define MaxCidrAmount(x) ((x)->cidr_amount)
69#define CidrLen(x) ((x)->cidr_len)
70#define CidrTree(x) ((x)->ip_limits)
71#define ConfMaxCidrAmount(x) (Class(x)->cidr_amount)
72#define ConfCidrLen(x) (Class(x)->cidr_len)
73#define ConfCidrTree(x) (Class(x)->ip_limits)
74#endif
75
76#define FirstClass() classes
77#define NextClass(x) ((x)->next)