x86: vmm: Rework VMRESUME logic
[akaros.git] / kern / include / stdio.h
index 06972b0..aa880e6 100644 (file)
@@ -1,12 +1,14 @@
-#ifndef ROS_INC_STDIO_H
-#define ROS_INC_STDIO_H
+#pragma once
 
+#include <ros/common.h>
 #include <stdarg.h>
+#include <kdebug.h>
 
 #ifndef NULL
 #define NULL   ((void *) 0)
 #endif /* !NULL */
 
+//#define DEBUG
 #ifdef DEBUG
 #define printd(args...) cprintf(args)
 #else
 #endif
 
 #define printk(args...) cprintf(args)
+#define I_AM_HERE printk("Core %d is in %s() at %s:%d\n", core_id(), \
+                         __FUNCTION__, __FILE__, __LINE__);
 
 // lib/stdio.c
 void   cputchar(int c);
-void   cputbuf(const char*COUNT(len) buf, int len);
+void   cputbuf(const char *buf, int len);
 int    getchar(void);
 int    iscons(int fd);
 
 // lib/printfmt.c
-void   printfmt(void (*putch)(int, void**), void **putdat, const char *NTS fmt, ...);
-//void vprintfmt(void (*putch)(int, TV(t)), TV(t) putdat, const char *NTS fmt, va_list);
-void   vprintfmt(void (*putch)(int, void**), void **putdat, const char *NTS fmt, va_list);
+void   printfmt(void (*putch)(int, void**), void **putdat, const char *fmt, ...);
+void   vprintfmt(void (*putch)(int, void**), void **putdat, const char *fmt, va_list);
 
 // lib/printf.c
-int    cprintf(const char * NTS fmt, ...);
-int    vcprintf(const char * NTS fmt, va_list);
+int    ( cprintf)(const char *fmt, ...);
+int    vcprintf(const char *fmt, va_list);
 
 // lib/sprintf.c
 int    snprintf(char *str, int size, const char *fmt, ...);
-int    vsnprintf(char *COUNT(size) str, int size, const char *fmt, va_list);
+int    vsnprintf(char *str, int size, const char *fmt, va_list);
 
 // lib/fprintf.c
 int    printf(const char *fmt, ...);
@@ -40,6 +43,19 @@ int  fprintf(int fd, const char *fmt, ...);
 int    vfprintf(int fd, const char *fmt, va_list);
 
 // lib/readline.c
-char *NTS readline(const char *NTS prompt);
+int readline(char *buf, size_t buf_l, const char *prompt, ...);
 
-#endif /* !ROS_INC_STDIO_H */
+char *seprintf(char *buf, char *end, const char *fmt, ...);
+
+// kern/src/net/eipconv.c
+void printemac(void (*putch)(int, void**), void **putdat, uint8_t *mac);
+void printip(void (*putch)(int, void**), void **putdat, uint8_t *ip);
+void printipmask(void (*putch)(int, void**), void **putdat, uint8_t *ip);
+void printipv4(void (*putch)(int, void**), void **putdat, uint8_t *ip);
+
+/* #K */
+void trace_printk(const char *fmt, ...);
+
+/* vsprintf.c (linux) */
+int vsscanf(const char *buf, const char *fmt, va_list args);
+int sscanf(const char *buf, const char *fmt, ...);