qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

fuse_log.h (1938B)


      1 /*
      2  * FUSE: Filesystem in Userspace
      3  * Copyright (C) 2019  Red Hat, Inc.
      4  *
      5  * This program can be distributed under the terms of the GNU LGPLv2.
      6  * See the file COPYING.LIB.
      7  */
      8 
      9 #ifndef FUSE_LOG_H_
     10 #define FUSE_LOG_H_
     11 
     12 /** @file
     13  *
     14  * This file defines the logging interface of FUSE
     15  */
     16 
     17 
     18 /**
     19  * Log severity level
     20  *
     21  * These levels correspond to syslog(2) log levels since they are widely used.
     22  */
     23 enum fuse_log_level {
     24     FUSE_LOG_EMERG,
     25     FUSE_LOG_ALERT,
     26     FUSE_LOG_CRIT,
     27     FUSE_LOG_ERR,
     28     FUSE_LOG_WARNING,
     29     FUSE_LOG_NOTICE,
     30     FUSE_LOG_INFO,
     31     FUSE_LOG_DEBUG
     32 };
     33 
     34 /**
     35  * Log message handler function.
     36  *
     37  * This function must be thread-safe.  It may be called from any libfuse
     38  * function, including fuse_parse_cmdline() and other functions invoked before
     39  * a FUSE filesystem is created.
     40  *
     41  * Install a custom log message handler function using fuse_set_log_func().
     42  *
     43  * @param level log severity level
     44  * @param fmt sprintf-style format string including newline
     45  * @param ap format string arguments
     46  */
     47 typedef void (*fuse_log_func_t)(enum fuse_log_level level, const char *fmt,
     48                                 va_list ap);
     49 
     50 /**
     51  * Install a custom log handler function.
     52  *
     53  * Log messages are emitted by libfuse functions to report errors and debug
     54  * information.  Messages are printed to stderr by default but this can be
     55  * overridden by installing a custom log message handler function.
     56  *
     57  * The log message handler function is global and affects all FUSE filesystems
     58  * created within this process.
     59  *
     60  * @param func a custom log message handler function or NULL to revert to
     61  *             the default
     62  */
     63 void fuse_set_log_func(fuse_log_func_t func);
     64 
     65 /**
     66  * Emit a log message
     67  *
     68  * @param level severity level (FUSE_LOG_ERR, FUSE_LOG_DEBUG, etc)
     69  * @param fmt sprintf-style format string including newline
     70  */
     71 void fuse_log(enum fuse_log_level level, const char *fmt, ...);
     72 
     73 #endif /* FUSE_LOG_H_ */