qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio
at master 74 lines 2.0 kB view raw
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#include <stdarg.h> 18 19/** 20 * Log severity level 21 * 22 * These levels correspond to syslog(2) log levels since they are widely used. 23 */ 24enum fuse_log_level { 25 FUSE_LOG_EMERG, 26 FUSE_LOG_ALERT, 27 FUSE_LOG_CRIT, 28 FUSE_LOG_ERR, 29 FUSE_LOG_WARNING, 30 FUSE_LOG_NOTICE, 31 FUSE_LOG_INFO, 32 FUSE_LOG_DEBUG 33}; 34 35/** 36 * Log message handler function. 37 * 38 * This function must be thread-safe. It may be called from any libfuse 39 * function, including fuse_parse_cmdline() and other functions invoked before 40 * a FUSE filesystem is created. 41 * 42 * Install a custom log message handler function using fuse_set_log_func(). 43 * 44 * @param level log severity level 45 * @param fmt sprintf-style format string including newline 46 * @param ap format string arguments 47 */ 48typedef void (*fuse_log_func_t)(enum fuse_log_level level, const char *fmt, 49 va_list ap); 50 51/** 52 * Install a custom log handler function. 53 * 54 * Log messages are emitted by libfuse functions to report errors and debug 55 * information. Messages are printed to stderr by default but this can be 56 * overridden by installing a custom log message handler function. 57 * 58 * The log message handler function is global and affects all FUSE filesystems 59 * created within this process. 60 * 61 * @param func a custom log message handler function or NULL to revert to 62 * the default 63 */ 64void fuse_set_log_func(fuse_log_func_t func); 65 66/** 67 * Emit a log message 68 * 69 * @param level severity level (FUSE_LOG_ERR, FUSE_LOG_DEBUG, etc) 70 * @param fmt sprintf-style format string including newline 71 */ 72void fuse_log(enum fuse_log_level level, const char *fmt, ...); 73 74#endif /* FUSE_LOG_H_ */