File: lastlog.h

package info (click to toggle)
ircii 20240918-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, trixie
  • size: 5,564 kB
  • sloc: ansic: 41,234; makefile: 853; sh: 524; perl: 348
file content (94 lines) | stat: -rw-r--r-- 3,463 bytes parent folder | download | duplicates (5)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/*
 * lastlog.h: header for lastlog.c 
 *
 * Written By Michael Sandrof
 *
 * Copyright (c) 1990 Michael Sandrof.
 * Copyright (c) 1991, 1992 Troy Rollo.
 * Copyright (c) 1992-2014 Matthew R. Green.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. The name of the author may not be used to endorse or promote products
 *    derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 * @(#)$eterna: lastlog.h,v 1.26 2017/07/08 07:25:02 mrg Exp $
 */

#ifndef irc__lastlog_h_
#define irc__lastlog_h_

/*
 * this list must agree with the list in lastlog.c
 */
#define LOG_NONE	0x000000
#define LOG_CURRENT	0x000000
#define LOG_CRAP	0x000001
#define LOG_PUBLIC	0x000002
#define LOG_MSG		0x000004
#define LOG_NOTICE	0x000008
#define LOG_WALL	0x000010
#define LOG_WALLOP	0x000020
#define LOG_NOTES	0x000040
#define LOG_OPNOTE	0x000080
#define	LOG_SNOTE	0x000100
#define	LOG_ACTION	0x000200
#define	LOG_DCC		0x000400
#define LOG_CTCP	0x000800
#define	LOG_USER1	0x001000
#define LOG_USER2	0x002000
#define LOG_USER3	0x004000
#define LOG_USER4	0x008000
#define LOG_BEEP	0x010000
#define LOG_HELP	0x020000

#define LOG_ALL (LOG_CRAP | LOG_PUBLIC | LOG_MSG | LOG_NOTICE | LOG_WALL | \
		LOG_WALLOP | LOG_NOTES | LOG_OPNOTE | LOG_SNOTE | LOG_ACTION | \
		LOG_CTCP | LOG_DCC | LOG_BEEP)

#define LOG_DEFAULT	LOG_NONE

typedef struct lastlog_stru Lastlog;
typedef struct lastlog_info_stru LastlogInfo;
typedef struct lastlog_line_back_info LastlogLineBackInfo;

	void	set_lastlog_level(u_char *);
	int	set_lastlog_msg_level(int);
	void	set_lastlog_size(int);
	void	set_notify_level(u_char *);
	void	lastlog(u_char *, u_char *, u_char *);
	u_char	**add_to_lastlog(Window *, u_char *);
	u_char	*bits_to_lastlog_level(int);
	int	real_lastlog_level(void);
	int	real_notify_level(void);
	int	parse_lastlog_level(u_char *);
	int	islogged(Window *);
	void	free_lastlog(Window *);
	LastlogLineBackInfo *lastlog_line_back_alloc(Window *);
	void	lastlog_line_back_free(LastlogLineBackInfo *);
	u_char	*lastlog_line_back(LastlogLineBackInfo *);
	LastlogInfo *lastlog_new_window(void);
	int	lastlog_get_size(LastlogInfo *);
	int	lastlog_get_level(LastlogInfo *);
	void	lastlog_set_level(LastlogInfo *, int);

#endif /* irc__lastlog_h_ */