100 |
|
|
101 |
|
time_t tsinfo; /**< TS on the nick, SVINFO on server */ |
102 |
|
time_t servicestamp; /**< Last time client has been identified for its nick */ |
103 |
– |
uint64_t flags; /**< client flags */ |
103 |
|
|
104 |
+ |
unsigned int flags; /**< client flags */ |
105 |
|
unsigned int umodes; /**< opers, normal users subset */ |
106 |
|
unsigned int hopcount; /**< number of servers to this 0 = local */ |
107 |
|
unsigned int status; /**< Client type */ |
286 |
|
#define HasCap(x, y) ((x)->localClient->cap_active & (y)) |
287 |
|
|
288 |
|
/* housekeeping flags */ |
289 |
< |
#define FLAGS_PINGSENT 0x0000000000000001 /**< Unreplied ping sent */ |
290 |
< |
#define FLAGS_DEADSOCKET 0x0000000000000002 /**< Local socket is dead--Exiting soon */ |
291 |
< |
#define FLAGS_KILLED 0x0000000000000004 /**< Prevents "QUIT" from being sent for this */ |
292 |
< |
#define FLAGS_CLOSING 0x0000000000000008 /**< set when closing to suppress errors */ |
293 |
< |
#define FLAGS_GOTID 0x0000000000000010 /**< successful ident lookup achieved */ |
294 |
< |
#define FLAGS_NEEDID 0x0000000000000020 /**< auth{} block say must use ident return */ |
295 |
< |
#define FLAGS_SENDQEX 0x0000000000000040 /**< Sendq exceeded */ |
296 |
< |
#define FLAGS_IPHASH 0x0000000000000080 /**< iphashed this client */ |
297 |
< |
#define FLAGS_UNUSED_ 0x0000000000000100 /**< Unused */ |
298 |
< |
#define FLAGS_UNUSED__ 0x0000000000000200 /**< Unused */ |
299 |
< |
#define FLAGS_UNUSED_____ 0x0000000000000400 /**< Unused */ |
300 |
< |
#define FLAGS_UNUSED______ 0x0000000000000800 /**< Unused */ |
301 |
< |
#define FLAGS_MARK 0x0000000000001000 /**< marked client */ |
302 |
< |
#define FLAGS_CANFLOOD 0x0000000000002000 /**< client has the ability to flood */ |
303 |
< |
#define FLAGS_EXEMPTGLINE 0x0000000000004000 /**< client can't be G-lined */ |
304 |
< |
#define FLAGS_EXEMPTKLINE 0x0000000000008000 /**< client is exempt from kline */ |
305 |
< |
#define FLAGS_NOLIMIT 0x0000000000010000 /**< client is exempt from limits */ |
306 |
< |
#define FLAGS_UNUSED___ 0x0000000000020000 /**< Unused */ |
307 |
< |
#define FLAGS_PING_COOKIE 0x0000000000040000 /**< PING Cookie */ |
308 |
< |
#define FLAGS_UNUSED____ 0x0000000000080000 /**< Unused */ |
309 |
< |
#define FLAGS_IP_SPOOFING 0x0000000000100000 /**< client IP is spoofed */ |
310 |
< |
#define FLAGS_FLOODDONE 0x0000000000200000 /**< Flood grace period has been ended. */ |
311 |
< |
#define FLAGS_EOB 0x0000000000400000 /**< server has sent us an EOB */ |
312 |
< |
#define FLAGS_HIDDEN 0x0000000000800000 /**< a hidden server. not shown in /links */ |
313 |
< |
#define FLAGS_BLOCKED 0x0000000001000000 /**< must wait for COMM_SELECT_WRITE */ |
314 |
< |
#define FLAGS_UNUSED_______ 0x0000000002000000 /**< Unused */ |
315 |
< |
#define FLAGS_USERHOST 0x0000000004000000 /**< client is in userhost hash */ |
316 |
< |
#define FLAGS_BURSTED 0x0000000008000000 /**< user was already bursted */ |
317 |
< |
#define FLAGS_EXEMPTRESV 0x0000000010000000 /**< client is exempt from RESV */ |
318 |
< |
#define FLAGS_GOTUSER 0x0000000020000000 /**< if we received a USER command */ |
319 |
< |
#define FLAGS_PINGWARNING 0x0000000040000000 /**< unreplied ping warning already sent */ |
320 |
< |
#define FLAGS_FINISHED_AUTH 0x0000000080000000 /**< Client has been released from auth */ |
321 |
< |
#define FLAGS_FLOOD_NOTICED 0x0000000100000000 /**< Notice to opers about this flooder has been sent */ |
322 |
< |
#define FLAGS_SERVICE 0x0000000200000000 /**< Client/server is a network service */ |
289 |
> |
#define FLAGS_PINGSENT 0x00000001 /**< Unreplied ping sent */ |
290 |
> |
#define FLAGS_DEADSOCKET 0x00000002 /**< Local socket is dead--Exiting soon */ |
291 |
> |
#define FLAGS_KILLED 0x00000004 /**< Prevents "QUIT" from being sent for this */ |
292 |
> |
#define FLAGS_CLOSING 0x00000008 /**< set when closing to suppress errors */ |
293 |
> |
#define FLAGS_GOTID 0x00000010 /**< successful ident lookup achieved */ |
294 |
> |
#define FLAGS_NEEDID 0x00000020 /**< auth{} block say must use ident return */ |
295 |
> |
#define FLAGS_SENDQEX 0x00000040 /**< Sendq exceeded */ |
296 |
> |
#define FLAGS_IPHASH 0x00000080 /**< iphashed this client */ |
297 |
> |
#define FLAGS_MARK 0x00000100 /**< marked client */ |
298 |
> |
#define FLAGS_CANFLOOD 0x00000200 /**< client has the ability to flood */ |
299 |
> |
#define FLAGS_EXEMPTGLINE 0x00000400 /**< client can't be G-lined */ |
300 |
> |
#define FLAGS_EXEMPTKLINE 0x00000800 /**< client is exempt from kline */ |
301 |
> |
#define FLAGS_NOLIMIT 0x00001000 /**< client is exempt from limits */ |
302 |
> |
#define FLAGS_PING_COOKIE 0x00002000 /**< PING Cookie */ |
303 |
> |
#define FLAGS_IP_SPOOFING 0x00004000 /**< client IP is spoofed */ |
304 |
> |
#define FLAGS_FLOODDONE 0x00008000 /**< Flood grace period has been ended. */ |
305 |
> |
#define FLAGS_EOB 0x00010000 /**< server has sent us an EOB */ |
306 |
> |
#define FLAGS_HIDDEN 0x00020000 /**< a hidden server. not shown in /links */ |
307 |
> |
#define FLAGS_BLOCKED 0x00040000 /**< must wait for COMM_SELECT_WRITE */ |
308 |
> |
#define FLAGS_USERHOST 0x00080000 /**< client is in userhost hash */ |
309 |
> |
#define FLAGS_BURSTED 0x00100000 /**< user was already bursted */ |
310 |
> |
#define FLAGS_EXEMPTRESV 0x00200000 /**< client is exempt from RESV */ |
311 |
> |
#define FLAGS_GOTUSER 0x00400000 /**< if we received a USER command */ |
312 |
> |
#define FLAGS_PINGWARNING 0x00800000 /**< unreplied ping warning already sent */ |
313 |
> |
#define FLAGS_FINISHED_AUTH 0x01000000 /**< Client has been released from auth */ |
314 |
> |
#define FLAGS_FLOOD_NOTICED 0x02000000 /**< Notice to opers about this flooder has been sent */ |
315 |
> |
#define FLAGS_SERVICE 0x04000000 /**< Client/server is a network service */ |
316 |
|
|
317 |
|
#define HasFlag(x, y) ((x)->flags & (y)) |
318 |
|
#define AddFlag(x, y) ((x)->flags |= (y)) |
343 |
|
#define UMODE_REGISTERED 0x00080000 /**< User has identified for that nick. */ |
344 |
|
#define UMODE_REGONLY 0x00100000 /**< Only registered nicks may PM */ |
345 |
|
#define UMODE_HIDDEN 0x00200000 /**< Operator status is hidden */ |
346 |
< |
#define UMODE_OPER 0x40000000 /**< Operator */ |
347 |
< |
#define UMODE_ADMIN 0x80000000 /**< Admin on server */ |
346 |
> |
#define UMODE_OPER 0x00400000 /**< Operator */ |
347 |
> |
#define UMODE_ADMIN 0x00800000 /**< Admin on server */ |
348 |
|
|
349 |
|
#define UMODE_ALL UMODE_SERVNOTICE |
350 |
|
|