summaryrefslogtreecommitdiff
path: root/src/core/levels.h
blob: ccaf6daaa835f7196c94efd36ac95e4522ef8c2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#ifndef __LEVELS_H
#define __LEVELS_H

/* This is pretty much IRC specific, but I think it would be easier for
   other chats to try to use these same levels instead of implementing too
   difficult message leveling system (which might be done if really
   needed..). */

/* Message levels */
#define MSGLEVEL_CRAP           0x0000001
#define MSGLEVEL_MSGS           0x0000002
#define MSGLEVEL_PUBLIC         0x0000004
#define MSGLEVEL_NOTICES        0x0000008
#define MSGLEVEL_SNOTES         0x0000010
#define MSGLEVEL_CTCPS          0x0000020
#define MSGLEVEL_ACTIONS        0x0000040
#define MSGLEVEL_JOINS          0x0000080
#define MSGLEVEL_PARTS          0x0000100
#define MSGLEVEL_QUITS          0x0000200
#define MSGLEVEL_KICKS          0x0000400
#define MSGLEVEL_MODES          0x0000800
#define MSGLEVEL_TOPICS         0x0001000
#define MSGLEVEL_WALLOPS        0x0002000
#define MSGLEVEL_INVITES        0x0004000
#define MSGLEVEL_NICKS          0x0008000
#define MSGLEVEL_DCC            0x0010000
#define MSGLEVEL_CLIENTNOTICE   0x0020000
#define MSGLEVEL_CLIENTCRAP     0x0040000
#define MSGLEVEL_CLIENTERROR    0x0080000
#define MSGLEVEL_HILIGHT        0x0100000

#define MSGLEVEL_ALL            0x01fffff

#define MSGLEVEL_NOHILIGHT      0x1000000 /* Don't try to hilight words in this message */
#define MSGLEVEL_NO_ACT         0x2000000 /* Don't trigger channel activity */
#define MSGLEVEL_NEVER          0x4000000 /* never ignore / never log */
#define MSGLEVEL_LASTLOG        0x8000000 /* never ignore / never log */

int level2bits(const char *level);
char *bits2level(int bits);
int combine_level(int dest, const char *src);

#endif