1 2 /* The different things a service can `sniff' */ 3 4 #define SERVICE_WANT_SERVICE 0x00000001 /* other services signing on/off */ 5 #define SERVICE_WANT_OPER 0x00000002 /* operators, included in _UMODE */ 6 #define SERVICE_WANT_UMODE 0x00000004 /* user modes, iow + local modes */ 7 #define SERVICE_WANT_AWAY 0x00000008 /* away isn't propaged anymore.. */ 8 #define SERVICE_WANT_KILL 0x00000010 /* KILLs */ 9 #define SERVICE_WANT_NICK 0x00000020 /* all NICKs (new user, change) */ 10 #define SERVICE_WANT_USER 0x00000040 /* USER signing on */ 11 #define SERVICE_WANT_QUIT 0x00000080 /* all QUITs (users signing off) */ 12 #define SERVICE_WANT_SERVER 0x00000100 /* servers signing on */ 13 #define SERVICE_WANT_WALLOP 0x00000200 /* wallops */ 14 #define SERVICE_WANT_SQUIT 0x00000400 /* servers signing off */ 15 #define SERVICE_WANT_RQUIT 0x00000800 /* regular user QUITs (these which 16 are also sent between servers) */ 17 #define SERVICE_WANT_MODE 0x00001000 /* channel modes (not +ov) */ 18 #define SERVICE_WANT_CHANNEL 0x00002000 /* channel creations/destructions */ 19 #define SERVICE_WANT_VCHANNEL 0x00004000 /* channel joins/parts */ 20 #define SERVICE_WANT_TOPIC 0x00008000 /* channel topics */ 21 22 #define SERVICE_WANT_ERRORS 0x01000000 /* &ERRORS */ 23 #define SERVICE_WANT_NOTICES 0x02000000 /* &NOTICES */ 24 #define SERVICE_WANT_LOCAL 0x04000000 /* &LOCAL */ 25 #define SERVICE_WANT_NUMERICS 0x08000000 /* &NUMERICS */ 26 27 #define SERVICE_WANT_USERLOG 0x10000000 /* FNAME_USERLOG */ 28 #define SERVICE_WANT_CONNLOG 0x20000000 /* FNAME_CONNLOG */ 29 30 #define SERVICE_WANT_CLIENTS 0x40000000 /* &CLIENTS */ 31 32 #define SERVICE_WANT_TKLINE 0x00100000 /* service wants to TKLINE */ 33 #define SERVICE_WANT_KLINE 0x00200000 /* service wants to KLINE */ 34 35 /* masks */ 36 #define SERVICE_MASK_GLOBAL 0x00007000 /*for these,service must be global*/ 37 #define SERVICE_MASK_PREFIX 0x00000FFF /* these actions have a prefix */ 38 #define SERVICE_MASK_ALL 0x7F30FFFF /* all possible actions */ 39 #define SERVICE_MASK_NUM (SERVICE_WANT_NICK|SERVICE_WANT_USER|\ 40 SERVICE_WANT_UMODE) 41 42 /* options */ 43 #define SERVICE_WANT_PREFIX 0x00010000 /* to receive n!u@h instead of n */ 44 #define SERVICE_WANT_SID 0x00020000 /* use serv token instead of name */ 45 #define SERVICE_WANT_EXTNICK 0x00040000 /* user extended NICK syntax */ 46 #define SERVICE_WANT_UID 0x00080000 /* user extended UID syntax */ 47 48 /* A couple example types of services */ 49 #define SERVICE_ALL SERVICE_MASK_ALL 50 #define SERVICE_NICK SERVICE_WANT_NICK | \ 51 SERVICE_WANT_QUIT | \ 52 SERVICE_WANT_AWAY 53 #define SERVICE_USERS SERVICE_WANT_NICK | \ 54 SERVICE_WANT_USER | \ 55 SERVICE_WANT_QUIT | \ 56 SERVICE_WANT_AWAY | \ 57 SERVICE_WANT_UMODE 58 #define SERVICE_LINKS SERVICE_WANT_SERVER | \ 59 SERVICE_WANT_SQUIT | \ 60 SERVICE_WANT_WALLOP 61