6 /*=============================================================================
10 /*-----------------------------------------------------------------------------
15 #define STAT_LOG 1 /* logfile for -x */
16 #define STAT_CONNECTING 2
17 #define STAT_HANDSHAKE 3
19 #define STAT_UNKNOWN 5
20 #define STAT_UNKNOWN_USER 6 /* Connect to client port */
21 #define STAT_UNKNOWN_SERVER 7 /* Connect to server port */
26 * for when you wanna create a bitmask of status values
28 #define StatusMask(T) (1<<(T))
29 #define IsStatMask(x, s) (StatusMask((x)->status) & (s))
34 #define IsRegistered(x) (IsStatMask(x, \
35 StatusMask(STAT_SERVER)|\
36 StatusMask(STAT_USER)))
37 #define IsConnecting(x) ((x)->status == STAT_CONNECTING)
38 #define IsHandshake(x) ((x)->status == STAT_HANDSHAKE)
39 #define IsMe(x) ((x)->status == STAT_ME)
40 #define IsUnknown(x) (IsStatMask(x, \
41 StatusMask(STAT_UNKNOWN)|\
42 StatusMask(STAT_UNKNOWN_USER)|\
43 StatusMask(STAT_UNKNOWN_SERVER)))
44 #define IsServerPort(x) ((x)->status == STAT_UNKNOWN_SERVER )
45 #define IsUserPort(x) ((x)->status == STAT_UNKNOWN_USER )
46 #define IsClient(x) (IsStatMask(x, \
47 StatusMask(STAT_HANDSHAKE)|\
49 StatusMask(STAT_UNKNOWN)|\
50 StatusMask(STAT_UNKNOWN_USER)|\
51 StatusMask(STAT_UNKNOWN_SERVER)|\
52 StatusMask(STAT_SERVER)|\
53 StatusMask(STAT_USER)))
54 #define IsTrusted(x) (IsStatMask(x, \
55 StatusMask(STAT_PING)|\
56 StatusMask(STAT_LOG)|\
57 StatusMask(STAT_CONNECTING)|\
58 StatusMask(STAT_HANDSHAKE)|\
60 StatusMask(STAT_SERVER)))
61 #ifdef DEBUGMODE /* Coredump if we miss something... */
62 #define IsServer(x) ( ((x)->status == STAT_SERVER) && \
63 (((x)->serv) ? 1 : (*((char *) NULL) = 0)) )
64 #define IsUser(x) ( ((x)->status == STAT_USER) && \
65 (((x)->user) ? 1 : (*((char *) NULL) = 0)) )
67 #define IsServer(x) ((x)->status == STAT_SERVER)
68 #define IsUser(x) ((x)->status == STAT_USER)
70 #define IsLog(x) ((x)->status == STAT_LOG)
71 #define IsPing(x) ((x)->status == STAT_PING)
73 #define SetConnecting(x) ((x)->status = STAT_CONNECTING)
74 #define SetHandshake(x) ((x)->status = STAT_HANDSHAKE)
75 #define SetServer(x) ((x)->status = STAT_SERVER)
76 #define SetMe(x) ((x)->status = STAT_ME)
77 #define SetUser(x) ((x)->status = STAT_USER)
79 /*=============================================================================
83 extern int m_server(aClient *cptr, aClient *sptr, int parc, char *parv[]);
84 extern int m_server_estab(aClient *cptr, aConfItem *aconf, aConfItem *bconf);
85 extern int m_error(aClient *cptr, aClient *sptr, int parc, char *parv[]);
86 extern int m_end_of_burst(aClient *cptr, aClient *sptr, int parc, char *parv[]);
87 extern int m_end_of_burst_ack(aClient *cptr, aClient *sptr,
88 int parc, char *parv[]);
89 extern int m_desynch(aClient *cptr, aClient *sptr, int parc, char *parv[]);
91 extern unsigned int max_connection_count, max_client_count;