00001 #ifndef __LIB_STDIO_H
00002
00003 #define __LIB_STDIO_H
00004
00005 #include <debug.h>
00006 #include <stdarg.h>
00007 #include <stdbool.h>
00008 #include <stddef.h>
00009 #include <stdint.h>
00010
00011
00012
00013 #include_next <stdio.h>
00014
00015
00016 #define STDIN_FILENO 0
00017 #define STDOUT_FILENO 1
00018
00019
00020 int printf (const char *, ...) PRINTF_FORMAT (1, 2);
00021 int snprintf (char *, size_t, const char *, ...) PRINTF_FORMAT (3, 4);
00022 int vprintf (const char *, va_list) PRINTF_FORMAT (1, 0);
00023 int vsnprintf (char *, size_t, const char *, va_list) PRINTF_FORMAT (3, 0);
00024 int putchar (int);
00025 int puts (const char *);
00026
00027
00028 void hex_dump (uintptr_t ofs, const void *, size_t size, bool ascii);
00029 void print_human_readable_size (uint64_t sz);
00030
00031
00032 void __vprintf (const char *format, va_list args,
00033 void (*output) (char, void *), void *aux);
00034 void __printf (const char *format,
00035 void (*output) (char, void *), void *aux, ...);
00036
00037
00038 #define sprintf dont_use_sprintf_use_snprintf
00039 #define vsprintf dont_use_vsprintf_use_vsnprintf
00040
00041 #endif