/* gbos userland C API (thin wrappers over rst $30 syscalls; see c/libc.s) */ #ifndef GBOS_H #define GBOS_H #define EOF 4 /* readc() returns this at end of input */ void writes(const char *buf, unsigned char len); void putc(char c); void puts(const char *s); /* write a NUL-terminated string */ void nl(void); /* newline (CRLF) */ unsigned char strlen(const char *s); char *getargs(void); /* this program's argument string */ char readc(void); /* one input byte, EOF at end */ void sexit(unsigned char code); unsigned char getpid(void); /* helpers (c/libc.c) */ void putu(unsigned int n); /* print decimal */ unsigned char atou(const char *s); /* parse decimal */ unsigned char argv_parse(char **argv, unsigned char maxv); /* argc/argv */ unsigned char hasflag(char **argv, unsigned char argc, char f); /* -x flag */ char *optval(char **argv, unsigned char argc, char opt); /* -x VALUE */ #endif