16881f68fSopenharmony_ci/* 26881f68fSopenharmony_ci FUSE: Filesystem in Userspace 36881f68fSopenharmony_ci Copyright (C) 2019 Red Hat, Inc. 46881f68fSopenharmony_ci 56881f68fSopenharmony_ci Logging API. 66881f68fSopenharmony_ci 76881f68fSopenharmony_ci This program can be distributed under the terms of the GNU LGPLv2. 86881f68fSopenharmony_ci See the file COPYING.LIB 96881f68fSopenharmony_ci*/ 106881f68fSopenharmony_ci 116881f68fSopenharmony_ci#include "fuse_log.h" 126881f68fSopenharmony_ci 136881f68fSopenharmony_ci#include <stdarg.h> 146881f68fSopenharmony_ci#include <stdio.h> 156881f68fSopenharmony_ci 166881f68fSopenharmony_cistatic void default_log_func( 176881f68fSopenharmony_ci __attribute__(( unused )) enum fuse_log_level level, 186881f68fSopenharmony_ci const char *fmt, va_list ap) 196881f68fSopenharmony_ci{ 206881f68fSopenharmony_ci vfprintf(stderr, fmt, ap); 216881f68fSopenharmony_ci} 226881f68fSopenharmony_ci 236881f68fSopenharmony_cistatic fuse_log_func_t log_func = default_log_func; 246881f68fSopenharmony_ci 256881f68fSopenharmony_civoid fuse_set_log_func(fuse_log_func_t func) 266881f68fSopenharmony_ci{ 276881f68fSopenharmony_ci if (!func) 286881f68fSopenharmony_ci func = default_log_func; 296881f68fSopenharmony_ci 306881f68fSopenharmony_ci log_func = func; 316881f68fSopenharmony_ci} 326881f68fSopenharmony_ci 336881f68fSopenharmony_civoid fuse_log(enum fuse_log_level level, const char *fmt, ...) 346881f68fSopenharmony_ci{ 356881f68fSopenharmony_ci va_list ap; 366881f68fSopenharmony_ci 376881f68fSopenharmony_ci va_start(ap, fmt); 386881f68fSopenharmony_ci log_func(level, fmt, ap); 396881f68fSopenharmony_ci va_end(ap); 406881f68fSopenharmony_ci} 41