File: log.h

package info (click to toggle)
multipath-tools 0.4.7-1.1etch2
  • links: PTS
  • area: main
  • in suites: etch
  • size: 1,204 kB
  • ctags: 2,144
  • sloc: ansic: 18,261; makefile: 398; sh: 286
file content (42 lines) | stat: -rw-r--r-- 705 bytes parent folder | download | duplicates (4)
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
#ifndef LOG_H
#define LOG_H

#define DEFAULT_AREA_SIZE 8192
#define MAX_MSG_SIZE 128

#ifndef LOGLEVEL
#define LOGLEVEL 5
#endif

#if LOGDBG
#define logdbg(file, fmt, args...) fprintf(file, fmt, ##args)
#else
#define logdbg(file, fmt, args...) do {} while (0)
#endif

struct logmsg {
	short int prio;
	void * next;
	char * str;
};

struct logarea {
	int empty;
	void * head;
	void * tail;
	void * start;
	void * end;
	char * buff;
};

struct logarea * la;

int log_init (char * progname, int size);
void log_close (void);
int log_enqueue (int prio, const char * fmt, va_list ap);
int log_dequeue (void *);
void log_syslog (void *);
void dump_logmsg (void *);
void free_logarea (void);

#endif /* LOG_H */