log_context
log_close_debug_channels(log_context lc) {
log_check_channel(log_context lc, int level, log_channel chan) {
log_check(log_context lc, int category, int level) {
log_vwrite(log_context lc, int category, int level, const char *format,
log_write(log_context lc, int category, int level, const char *format, ...) {
log_new_context(int num_categories, char **category_names, log_context *lc) {
log_context nlc;
nlc = memget(sizeof (struct log_context));
memput(nlc, sizeof (struct log_context));
log_free_context(log_context lc) {
memput(lc, sizeof (struct log_context));
log_add_channel(log_context lc, int category, log_channel chan) {
log_remove_channel(log_context lc, int category, log_channel chan) {
log_option(log_context lc, int option, int value) {
log_category_is_active(log_context lc, int category) {
void log_close_debug_channels(log_context);
typedef struct log_context *log_context;
int log_check_channel(log_context, int, log_channel);
int log_check(log_context, int, int);
void log_vwrite(log_context, int, int, const char *,
void log_write(log_context, int, int, const char *, ...)
void log_vwrite(log_context, int, int, const char *,
void log_write(log_context, int, int, const char *, ...);
int log_new_context(int, char **, log_context *);
void log_free_context(log_context);
int log_add_channel(log_context, int, log_channel);
int log_remove_channel(log_context, int, log_channel);
int log_option(log_context, int, int);
int log_category_is_active(log_context, int);