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));
66 #if !defined(__UCLIBC__) || !defined(__STDIO_PUTC_MACRO)
68 COBALT_DECL(
int, fputc(
int c, FILE *stream));
70 COBALT_DECL(
int, putchar(
int c));
74 int __wrap_fputc(
int c, FILE *stream);
75 #define __real_fputc __wrap_fputc
77 int __wrap_putchar(
int c);
78 #define __real_putchar __wrap_putchar
83 fwrite(
const void *ptr,
size_t sz,
size_t nmemb, FILE *stream));
85 COBALT_DECL(
int, fclose(FILE *stream));
87 int rt_vfprintf(FILE *stream,
const char *format, va_list args);
89 int rt_vprintf(
const char *format, va_list args);
91 int rt_fprintf(FILE *stream,
const char *format, ...);
93 int rt_printf(
const char *format, ...);
95 int rt_puts(
const char *s);
97 int rt_fputs(
const char *s, FILE *stream);
99 int rt_fputc(
int c, FILE *stream);
101 int rt_putchar(
int c);
103 size_t rt_fwrite(
const void *ptr,
size_t size,
size_t nmemb, FILE *stream);
105 void rt_syslog(
int priority,
const char *format, ...);
107 void rt_vsyslog(
int priority,
const char *format, va_list args);
109 int rt_print_init(
size_t buffer_size,
const char *name);
111 const char *rt_print_buffer_name(
void);
113 void rt_print_flush_buffers(
void);
115 void assert_nrt(
void);
117 void assert_nrt_fast(
void);