162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci#include <stdio.h> 362306a36Sopenharmony_ci#include <stdarg.h> 462306a36Sopenharmony_ci#include "debug.h" 562306a36Sopenharmony_ci#include "debug-internal.h" 662306a36Sopenharmony_ci 762306a36Sopenharmony_cistatic int __base_pr(const char *format, ...) 862306a36Sopenharmony_ci{ 962306a36Sopenharmony_ci va_list args; 1062306a36Sopenharmony_ci int err; 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci va_start(args, format); 1362306a36Sopenharmony_ci err = vfprintf(stderr, format, args); 1462306a36Sopenharmony_ci va_end(args); 1562306a36Sopenharmony_ci return err; 1662306a36Sopenharmony_ci} 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_cilibapi_print_fn_t __pr_warn = __base_pr; 1962306a36Sopenharmony_cilibapi_print_fn_t __pr_info = __base_pr; 2062306a36Sopenharmony_cilibapi_print_fn_t __pr_debug; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_civoid libapi_set_print(libapi_print_fn_t warn, 2362306a36Sopenharmony_ci libapi_print_fn_t info, 2462306a36Sopenharmony_ci libapi_print_fn_t debug) 2562306a36Sopenharmony_ci{ 2662306a36Sopenharmony_ci __pr_warn = warn; 2762306a36Sopenharmony_ci __pr_info = info; 2862306a36Sopenharmony_ci __pr_debug = debug; 2962306a36Sopenharmony_ci} 30