/* * Copyright 2019, Haiku, Inc. All rights reserved. * Distributed under the terms of the MIT License. * * Authors: * Augustin Cavalier */ #ifndef __NVME_LOG_H__ #define __NVME_LOG_H__ #include #include void nvme_log(enum nvme_log_level level, const char *format, ...) __attribute__((format(printf, 2, 3))); void nvme_vlog(enum nvme_log_level level, const char *format, va_list ap) __attribute__((format(printf,2,0))); #define nvme_emerg(format, args...) \ nvme_log(NVME_LOG_EMERG, \ "libnvme (FATAL): " format, \ ## args) #define nvme_alert(format, args...) \ nvme_log(NVME_LOG_ALERT, \ "libnvme (ALERT): " format, \ ## args) #define nvme_crit(format, args...) \ nvme_log(NVME_LOG_CRIT, \ "libnvme (CRITICAL): " format, \ ## args) #define nvme_err(format, args...) \ nvme_log(NVME_LOG_ERR, \ "libnvme (ERROR): " format, \ ## args) #define nvme_warning(format, args...) \ nvme_log(NVME_LOG_WARNING, \ "libnvme (WARNING): " format, \ ## args) #ifdef TRACE_NVME #define nvme_notice(format, args...) \ nvme_log(NVME_LOG_NOTICE, \ "libnvme: " format, \ ## args) #define nvme_info(format, args...) \ nvme_log(NVME_LOG_INFO, \ "libnvme: " format, \ ## args) #define nvme_debug(format, args...) \ nvme_log(NVME_LOG_DEBUG, \ "libnvme: " format, \ ## args) #else #define nvme_notice(format, args...) #define nvme_info(format, args...) #define nvme_debug(format, args...) #endif #endif /* __NVME_LOG_H__ */