2
#ifndef _ATALK_LOGGER_H
3
#define _ATALK_LOGGER_H 1
5
#include <atalk/boolean.h>
11
#define MAXLOGSIZE 512
26
#define LOGLEVEL_STRING_IDENTIFIERS { \
39
/* this is the enum specifying all availiable logtypes */
50
logtype_end_of_list_marker /* don't put any logtypes after this */
53
/* these are the string identifiers corresponding to each logtype */
54
#define LOGTYPE_STRING_IDENTIFIERS { \
64
"end_of_list_marker"} \
66
/* Display Option flags. */
67
/* redefine these so they can don't interfeer with syslog */
68
/* these can be used in standard logging too */
69
#define logoption_pid 0x01 /* log the pid with each message */
70
#define logoption_cons 0x02 /* log on the console if error logging */
71
#define logoption_ndelay 0x08 /* don't delay open */
72
#define logoption_perror 0x20 /* log to stderr as well */
73
#define logoption_nfile 0x40 /* ignore the file that called the log */
74
#define logoption_nline 0x80 /* ignore the line that called the log*/
77
/* redefine these so they can don't interfeer with syslog */
78
#define logfacility_user (1<<3) /* random user-level messages */
79
#define logfacility_mail (2<<3) /* mail system */
80
#define logfacility_daemon (3<<3) /* system daemons */
81
#define logfacility_auth (4<<3) /* security/authorization messages */
82
#define logfacility_syslog (5<<3) /* messages generated by syslogd */
83
#define logfacility_lpr (6<<3) /* line printer subsystem */
84
#define logfacility_authpriv (10<<3) /* security/auth messages (private) */
85
#define logfacility_ftp (11<<3) /* ftp daemon */
87
/* Setup the log filename and the loglevel, and the type of log it is. */
88
/* setup the internal variables used by the logger (called automatically) */
91
bool log_setup(char *filename, enum loglevels loglevel, enum logtypes logtype,
94
/* Setup the Level and type of log that will be logged to syslog. */
95
void syslog_setup(enum loglevels loglevel, enum logtypes logtype,
96
int display_options, int facility);
98
/* void setuplog(char *logsource, char *logtype, char *loglevel, char *filename); */
99
void setuplog(char *logtype, char *loglevel, char *filename);
101
/* finish up and close the logs */
104
/* This function sets up the ProcessName */
105
void set_processname(char *processname);
108
void make_log_entry(enum loglevels loglevel, enum logtypes logtype,
111
#ifndef DISABLE_LOGGER
112
typedef void(*make_log_func)
113
(enum loglevels loglevel, enum logtypes logtype, char *message, ...);
114
make_log_func set_log_location(char *srcfilename, int srclinenumber);
116
void LoadProccessNameFromProc();
118
#define LOG set_log_location(__FILE__, __LINE__)
119
#else /* DISABLE_LOGGER */
120
/* if the logger is disabled the rest is a bit futile */
121
#define LOG make_log_entry
122
#endif /* DISABLE_LOGGER */