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
|
#ifndef LOG_H
#define LOG_H
#define DEFAULT_AREA_SIZE 16384
#define MAX_MSG_SIZE 256
#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[0];
};
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);
void log_reset (char * progname);
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 */
|