/* The different things a service can `sniff' */ #define SERVICE_WANT_SERVICE 0x00000001 /* other services signing on/off */ #define SERVICE_WANT_OPER 0x00000002 /* operators, included in _UMODE */ #define SERVICE_WANT_UMODE 0x00000004 /* user modes, iow + local modes */ #define SERVICE_WANT_AWAY 0x00000008 /* away isn't propaged anymore.. */ #define SERVICE_WANT_KILL 0x00000010 /* KILLs */ #define SERVICE_WANT_NICK 0x00000020 /* all NICKs (new user, change) */ #define SERVICE_WANT_USER 0x00000040 /* USER signing on */ #define SERVICE_WANT_QUIT 0x00000080 /* all QUITs (users signing off) */ #define SERVICE_WANT_SERVER 0x00000100 /* servers signing on */ #define SERVICE_WANT_WALLOP 0x00000200 /* wallops */ #define SERVICE_WANT_SQUIT 0x00000400 /* servers signing off */ #define SERVICE_WANT_RQUIT 0x00000800 /* regular user QUITs (these which are also sent between servers) */ #define SERVICE_WANT_MODE 0x00001000 /* channel modes (not +ov) */ #define SERVICE_WANT_CHANNEL 0x00002000 /* channel creations/destructions */ #define SERVICE_WANT_VCHANNEL 0x00004000 /* channel joins/parts */ #define SERVICE_WANT_TOPIC 0x00008000 /* channel topics */ #define SERVICE_WANT_ERRORS 0x01000000 /* &ERRORS */ #define SERVICE_WANT_NOTICES 0x02000000 /* &NOTICES */ #define SERVICE_WANT_LOCAL 0x04000000 /* &LOCAL */ #define SERVICE_WANT_NUMERICS 0x08000000 /* &NUMERICS */ #define SERVICE_WANT_USERLOG 0x10000000 /* FNAME_USERLOG */ #define SERVICE_WANT_CONNLOG 0x20000000 /* FNAME_CONNLOG */ /* masks */ #define SERVICE_MASK_GLOBAL 0x00007000 /*for these,service must be global*/ #define SERVICE_MASK_PREFIX 0x00000FFF /* these actions have a prefix */ #define SERVICE_MASK_ALL 0x3F00FFFF /* all possible actions */ #define SERVICE_MASK_NUM (SERVICE_WANT_NICK|SERVICE_WANT_USER|\ SERVICE_WANT_UMODE) /* options */ #define SERVICE_WANT_PREFIX 0x00010000 /* to receive n!u@h instead of n */ #define SERVICE_WANT_TOKEN 0x00020000 /* use serv token instead of name */ #define SERVICE_WANT_EXTNICK 0x00040000 /* user extended NICK syntax */ /* A couple example types of services */ #define SERVICE_ALL SERVICE_MASK_ALL /* 4095 */ #define SERVICE_NICK SERVICE_WANT_NICK | \ SERVICE_WANT_QUIT | \ SERVICE_WANT_AWAY /* 168 */ #define SERVICE_USERS SERVICE_WANT_NICK | \ SERVICE_WANT_USER | \ SERVICE_WANT_QUIT | \ SERVICE_WANT_AWAY | \ SERVICE_WANT_UMODE /* 236 */ #define SERVICE_LINKS SERVICE_WANT_SERVER | \ SERVICE_WANT_SQUIT | \ SERVICE_WANT_WALLOP /* 1792 */