2
* $Id: log.h,v 1.26 2005/04/12 19:34:35 nohar Exp $
4
* This file is part of the bip project
5
* Copyright (C) 2004 Arnaud Cornet and Loïc Gomez
7
* This program is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation; either version 2 of the License, or
10
* (at your option) any later version.
11
* See the file "COPYING" for the exact licensing terms.
16
#define _XOPEN_SOURCE 500
19
#include <sys/types.h>
26
#define MAX_PATH_LEN 1024
27
#define LOGLINE_MAXLEN 2048
31
typedef struct logfile
35
char *canonical_filename;
40
typedef struct logstore
49
list_iterator_t file_it;
65
log_t *log_new(struct user *user, const char *network);
66
void logdata_free(log_t *logdata);
68
void log_join(log_t *logdata, const char *ircmask, const char *channel);
69
void log_part(log_t *logdata, const char *ircmask, const char *channel,
71
void log_kick(log_t *logdata, const char *ircmask, const char *channel,
72
const char *who, const char *message);
73
void log_quit(log_t *logdata, const char *ircmask, const char *channel,
75
void log_nick(log_t *logdata, const char *ircmask, const char *channel,
77
void log_privmsg(log_t *logdata, const char *ircmask, const char *destination,
79
void log_notice(log_t *logdata, const char *ircmask, const char *channel,
81
void log_cli_privmsg(log_t *logdata, const char *ircmask,
82
const char *destination, const char *message);
83
void log_cli_notice(log_t *logdata, const char *ircmask, const char *channel,
85
void log_write(log_t *logdata, const char *str, const char *destination);
86
void log_mode(log_t *logdata, const char *ircmask, const char *channel,
87
const char *modes, array_t *mode_args);
88
void log_topic(log_t *logdata, const char *ircmask, const char *channel,
90
void log_init_topic(log_t *logdata, const char *channel, const char *message);
91
void log_init_topic_time(log_t *logdata, const char *channel, const char *who,
93
void log_connected(log_t *logdata);
94
void log_disconnected(log_t *logdata);
95
void log_ping_timeout(log_t *logdata);
96
void log_client_disconnected(log_t *logdata);
97
void log_client_connected(log_t *logdata);
98
int log_has_backlog(log_t *logdata, const char *destination);
99
void log_flush_all(void);
100
void log_client_none_connected(log_t *logdata);
101
void log_reset_all(log_t *logdata);
102
void log_free(log_t *log);
103
int check_dir(char *filename, int is_fatal);
104
void log_reset_store(log_t *log, const char *storename);
105
void log_drop(log_t *log, const char *storename);
107
list_t *log_backlogs(log_t *log);
108
list_t *backlog_lines(log_t *log, const char *bl, const char *cli_nick,