brintos

brintos / linux-shallow public Read only

0
0
Text · 792 B · 58fc894 Raw
39 lines · c
1// SPDX-License-Identifier: GPL-2.0-only2 3#define __printf(a, b)  __attribute__((format(printf, a, b)))4 5#include <stdio.h>6#include <stdarg.h>7#include <unistd.h>8#include <linux/compiler.h>9#include <perf/core.h>10#include <internal/lib.h>11#include "internal.h"12 13static int __base_pr(enum libperf_print_level level __maybe_unused, const char *format,14		     va_list args)15{16	return vfprintf(stderr, format, args);17}18 19static libperf_print_fn_t __libperf_pr = __base_pr;20 21__printf(2, 3)22void libperf_print(enum libperf_print_level level, const char *format, ...)23{24	va_list args;25 26	if (!__libperf_pr)27		return;28 29	va_start(args, format);30	__libperf_pr(level, format, args);31	va_end(args);32}33 34void libperf_init(libperf_print_fn_t fn)35{36	page_size = sysconf(_SC_PAGE_SIZE);37	__libperf_pr = fn;38}39