blob: 2b8fe003b2650b82c393f811ffd4c0ebb579cb4a [file] [log] [blame]
#ifndef ROS_INC_STDIO_H
#define ROS_INC_STDIO_H
#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
#define printd(args...) {}
#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);
int getchar(void);
int iscons(int fd);
// lib/printfmt.c
#ifdef __DEPUTY__
void printfmt(void (*putch)(int, TV(t)), TV(t) putdat, const char *NTS fmt, ...);
void vprintfmt(void (*putch)(int, TV(t)), TV(t) putdat, const char *NTS fmt, va_list);
#else
void printfmt(void (*putch)(int, void**), void **putdat, const char *NTS fmt, ...);
void vprintfmt(void (*putch)(int, void**), void **putdat, const char *NTS fmt, va_list);
#endif
// lib/printf.c
int ( cprintf)(const char * NTS fmt, ...);
int vcprintf(const char * NTS fmt, va_list);
// lib/sprintf.c
int snprintf(char *COUNT(size) str, int size, const char *NTS fmt, ...);
int vsnprintf(char *COUNT(size) str, int size, const char *NTS fmt, va_list);
// lib/fprintf.c
int printf(const char *NTS fmt, ...);
int fprintf(int fd, const char *NTS fmt, ...);
int vfprintf(int fd, const char *NTS fmt, va_list);
// lib/readline.c
int readline(char *buf, size_t buf_l, const char *prompt, ...);
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, ...);
#endif /* !ROS_INC_STDIO_H */