1 /*
2  * lastlog.h: header for lastlog.c
3  *
4  * Written By Michael Sandrof
5  *
6  * Copyright(c) 1990
7  *
8  * See the COPYRIGHT file, or do a HELP IRCII COPYRIGHT
9  *
10  * @(#)$Id: lastlog.h 3 2008-02-25 09:49:14Z keaston $
11  */
12 
13 #ifndef __lastlog_h_
14 #define __lastlog_h_
15 
16 #define LOG_NONE	0x00000000
17 #define LOG_CURRENT	0x00000000
18 #define LOG_CRAP	0x00000001
19 #define LOG_PUBLIC	0x00000002
20 #define LOG_MSG		0x00000004
21 #define LOG_NOTICE	0x00000008
22 #define LOG_WALL	0x00000010
23 #define LOG_WALLOP	0x00000020
24 #define LOG_NOTES	0x00000040
25 #define LOG_OPNOTE	0x00000080
26 #define	LOG_SNOTE	0x00000100
27 #define	LOG_ACTION	0x00000200
28 #define	LOG_DCC		0x00000400
29 #define LOG_CTCP	0x00000800
30 #define	LOG_USER1	0x00001000
31 #define LOG_USER2	0x00002000
32 #define LOG_USER3	0x00004000
33 #define LOG_USER4	0x00008000
34 #define LOG_USER5	0x00010000
35 #define LOG_BEEP	0x00020000
36 #define LOG_TCL		0x00040000
37 #define LOG_SEND_MSG	0x00080000
38 #define LOG_KILL	0x00100000
39 #define LOG_MODE_USER	0x00200000
40 #define LOG_MODE_CHAN	0x00400000
41 #define LOG_KICK	0x00800000
42 #define LOG_KICK_USER	0x01000000
43 #define LOG_PART	0x02000000
44 #define LOG_INVITE	0x04000000
45 #define LOG_JOIN	0x08000000
46 #define LOG_TOPIC	0x10000000
47 #define LOG_HELP	0x20000000
48 #define LOG_NOTIFY	0x40000000
49 #define LOG_DEBUG	0x80000000
50 
51 #define LOG_ALL (LOG_CRAP | LOG_PUBLIC | LOG_MSG | LOG_NOTICE | LOG_WALL | \
52 		LOG_WALLOP | LOG_NOTES | LOG_OPNOTE | LOG_SNOTE | LOG_ACTION | \
53 		LOG_CTCP | LOG_DCC | LOG_USER1 | LOG_USER2 | LOG_USER3 | \
54 		LOG_USER4 | LOG_USER5 | LOG_BEEP | LOG_TCL | LOG_SEND_MSG | \
55 		LOG_MODE_USER | LOG_MODE_CHAN | LOG_KICK_USER | LOG_KICK | \
56 		LOG_PART | LOG_INVITE | LOG_JOIN | LOG_TOPIC | LOG_HELP | \
57 		LOG_KILL | LOG_NOTIFY)
58 
59 # define LOG_DEFAULT	LOG_NONE
60 
61 	void	set_lastlog_level (Window *, char *, int);
62 unsigned long	BX_set_lastlog_msg_level (unsigned long);
63 	void	set_lastlog_size (Window *, char *, int);
64 	void	set_notify_level (Window *, char *, int);
65 	void	set_msglog_level (Window *, char *, int);
66 	void	set_new_server_lastlog_level(Window *, char *, int);
67 
68 	BUILT_IN_COMMAND(lastlog);
69 
70 	void	add_to_lastlog (Window *, const char *);
71 	char	*bits_to_lastlog_level (unsigned long);
72 unsigned long	real_lastlog_level (void);
73 unsigned long	real_notify_level (void);
74 unsigned long	parse_lastlog_level (char *, int);
75 	int	islogged (Window *);
76 extern	void	remove_from_lastlog (Window *);
77 extern	int	grab_http (char *, char *, char *);
78 
79 BUILT_IN_FUNCTION(function_line);
80 BUILT_IN_FUNCTION(function_lastlog);
81 
82 extern unsigned long beep_on_level;
83 extern unsigned long new_server_lastlog_level;
84 
85 	void	set_beep_on_msg(Window *, char *, int);
86 	Lastlog *get_lastlog_current_head(Window *);
87 	void	free_lastlog(Window *);
88 	int	logmsg(unsigned long, char *, int, char *, ...);
89 	void	reset_hold_mode(Window *);
90 
91 #endif /* __lastlog_h_ */
92