19 #pragma GCC system_header 20 #include_next <stdio.h> 22 #ifndef _COBALT_STDIO_H 23 #define _COBALT_STDIO_H 27 #include <xeno_config.h> 28 #include <cobalt/wrappers.h> 34 COBALT_DECL(
int, vfprintf(FILE *stream,
const char *fmt, va_list args));
36 #ifdef CONFIG_XENO_FORTIFY 38 COBALT_DECL(
int, __vfprintf_chk(FILE *stream,
int level,
39 const char *fmt, va_list ap));
41 COBALT_DECL(
int, __vprintf_chk(
int flag,
42 const char *fmt, va_list ap));
44 COBALT_DECL(
int, __printf_chk(
int flag,
const char *fmt, ...));
46 COBALT_DECL(
int, __fprintf_chk(FILE *fp,
int flag,
const char *fmt, ...));
48 int __rt_vfprintf_chk(FILE *stream,
int level,
49 const char *fmt, va_list args);
51 void __rt_vsyslog_chk(
int priority,
int level,
52 const char *fmt, va_list args);
56 COBALT_DECL(
int, vprintf(
const char *fmt, va_list args));
58 COBALT_DECL(
int, fprintf(FILE *stream,
const char *fmt, ...));
60 COBALT_DECL(
int, printf(
const char *fmt, ...));
62 COBALT_DECL(
int, puts(
const char *s));
64 COBALT_DECL(
int, fputs(
const char *s, FILE *stream));
67 COBALT_DECL(
int, putchar(
int c));
69 static inline int __real_putchar(
int c)
73 int __wrap_putchar(
int c);
74 int __cobalt_putchar(
int c);
76 #define putchar __wrap_putchar 80 COBALT_DECL(
int, fputc(
int c, FILE *stream));
82 static inline int __real_fputc(
int c, FILE *stream)
84 return fputc(c, stream);
86 int __wrap_fputc(
int c, FILE *stream);
87 int __cobalt_fputc(
int c, FILE *stream);
89 #define fputc __wrap_fputc 93 fwrite(
const void *ptr,
size_t sz,
size_t nmemb, FILE *stream));
95 COBALT_DECL(
int, fclose(FILE *stream));
97 int rt_vfprintf(FILE *stream,
const char *format, va_list args);
99 int rt_vprintf(
const char *format, va_list args);
101 int rt_fprintf(FILE *stream,
const char *format, ...);
103 int rt_printf(
const char *format, ...);
105 int rt_puts(
const char *s);
107 int rt_fputs(
const char *s, FILE *stream);
109 int rt_fputc(
int c, FILE *stream);
111 int rt_putchar(
int c);
113 size_t rt_fwrite(
const void *ptr,
size_t size,
size_t nmemb, FILE *stream);
115 void rt_syslog(
int priority,
const char *format, ...);
117 void rt_vsyslog(
int priority,
const char *format, va_list args);
119 int rt_print_init(
size_t buffer_size,
const char *name);
121 const char *rt_print_buffer_name(
void);
123 void rt_print_flush_buffers(
void);