Lab3 initial merge
[akaros.git] / inc / stdio.h
1 #ifndef JOS_INC_STDIO_H
2 #define JOS_INC_STDIO_H
3
4 #include <inc/stdarg.h>
5
6 #ifndef NULL
7 #define NULL    ((void *) 0)
8 #endif /* !NULL */
9
10 // lib/stdio.c
11 void    cputchar(int c);
12 int     getchar(void);
13 int     iscons(int fd);
14
15 // lib/printfmt.c
16 void    printfmt(void (*putch)(int, void*), void *putdat, const char *NTS fmt, ...);
17 void    vprintfmt(void (*putch)(int, TV(t)), TV(t) putdat, const char *NTS fmt, va_list);
18
19 // lib/printf.c
20 int     cprintf(const char * NTS fmt, ...);
21 int     vcprintf(const char * NTS fmt, va_list);
22
23 // lib/sprintf.c
24 int     snprintf(char *str, int size, const char *fmt, ...);
25 int     vsnprintf(char *COUNT(size) str, int size, const char *fmt, va_list);
26
27 // lib/fprintf.c
28 int     printf(const char *fmt, ...);
29 int     fprintf(int fd, const char *fmt, ...);
30 int     vfprintf(int fd, const char *fmt, va_list);
31
32 // lib/readline.c
33 char *NTS readline(const char *NTS prompt);
34
35 #endif /* !JOS_INC_STDIO_H */