* SUCH DAMAGE.
*/
-#ifndef LIBPAYLOAD_H
-#define LIBPAYLOAD_H
+#ifndef _LIBPAYLOAD_H
+#define _LIBPAYLOAD_H
#include <autoconf.h>
#include <stddef.h>
#define BYTE_ORDER BIG_ENDIAN
#endif
+#define EXIT_SUCCESS 0
+#define EXIT_FAILURE 1
+
+#define RAND_MAX 0x7fffffff
+
/* Some NVRAM byte definitions */
#define NVRAM_RTC_SECONDS 0
#define NVRAM_RTC_MINUTES 2
int serial_havechar(void);
int serial_getchar(void);
-/* drivers/serial.c */
-void vga_cursor_enable(int state);
-void vga_clear_line(uint8_t row, uint8_t ch, uint8_t attr);
-void vga_fill(uint8_t ch, uint8_t attr);
-void vga_clear(void);
-void vga_putc(uint8_t row, uint8_t col, unsigned int c);
-void vga_putchar(unsigned int ch);
-void vga_move_cursor(int x, int y);
-void vga_init(void);
+/* drivers/speaker.c */
+void speaker_enable(u16 freq);
+void speaker_disable(void);
+void speaker_tone(u16 freq, unsigned int duration);
+
+/* video/video.c */
+int video_console_init(void);
+void video_console_putchar(unsigned int ch);
+void video_console_putc(u8 row, u8 col, unsigned int ch);
+void video_console_clear(void);
+void video_console_cursor_enable(int state);
/* libc/console.c */
void console_init(void);
int puts(const char *s);
int havekey(void);
int getchar(void);
+int getchar_timeout(int *ms);
extern int last_putchar;
#define havechar havekey
/* libc/ctype.c */
-int isspace(int c);
+int isalnum(int c);
+int isalpha(int c);
+int isascii(int c);
+int isblank(int c);
+int iscntrl(int c);
int isdigit(int c);
+int isgraph(int c);
+int islower(int c);
+int isprint(int c);
+int ispunct(int c);
+int isspace(int c);
+int isupper(int c);
+int isxdigit(int c);
int tolower(int c);
+int toupper(int c);
/* libc/ipchecksum.c */
unsigned short ipchksum(const unsigned short *ptr, unsigned long nbytes);
/* libc/lib.c */
int bcd2dec(int b);
int dec2bcd(int d);
+int abs(int j);
+long int labs(long int j);
+long long int llabs(long long int j);
+u8 bin2hex(u8 b);
+u8 hex2bin(u8 h);
/* libc/memory.c */
void *memset(void *s, int c, size_t n);
int printf(const char *fmt, ...);
int vprintf(const char *fmt, va_list ap);
+/* libc/rand.c */
+int rand_r(unsigned int *seed);
+int rand(void);
+void srand(unsigned int seed);
+
/* libc/sha1.c */
#define SHA1_BLOCK_LENGTH 64
#define SHA1_DIGEST_LENGTH 20
/* Timer functions - defined by each architecture. */
unsigned int get_cpu_speed(void);
void ndelay(unsigned int n);
+void udelay(unsigned int n);
void mdelay(unsigned int n);
void delay(unsigned int n);