162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#ifndef _PERF_UI_HELPLINE_H_ 362306a36Sopenharmony_ci#define _PERF_UI_HELPLINE_H_ 1 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#include <stdio.h> 662306a36Sopenharmony_ci#include <stdarg.h> 762306a36Sopenharmony_ci 862306a36Sopenharmony_cistruct ui_helpline { 962306a36Sopenharmony_ci void (*pop)(void); 1062306a36Sopenharmony_ci void (*push)(const char *msg); 1162306a36Sopenharmony_ci int (*show)(const char *fmt, va_list ap); 1262306a36Sopenharmony_ci}; 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciextern struct ui_helpline *helpline_fns; 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_civoid ui_helpline__init(void); 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_civoid ui_helpline__pop(void); 1962306a36Sopenharmony_civoid ui_helpline__push(const char *msg); 2062306a36Sopenharmony_civoid ui_helpline__vpush(const char *fmt, va_list ap); 2162306a36Sopenharmony_civoid ui_helpline__fpush(const char *fmt, ...); 2262306a36Sopenharmony_civoid ui_helpline__puts(const char *msg); 2362306a36Sopenharmony_civoid ui_helpline__printf(const char *fmt, ...); 2462306a36Sopenharmony_ciint ui_helpline__vshow(const char *fmt, va_list ap); 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ciextern char ui_helpline__current[512]; 2762306a36Sopenharmony_ciextern char ui_helpline__last_msg[]; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci#endif /* _PERF_UI_HELPLINE_H_ */ 30