1 /* handy strings in l.s */ 2 extern char origin[]; 3 extern char uart; 4 extern char hex[]; 5 extern char bootname[]; 6 7 /* l.s */ 8 void start(void *sp); 9 void cgaputc(int c); 10 int kbdgetc(void); 11 void usleep(int t); 12 void halt(void); 13 void jump(void *pc); 14 15 int read(void *f, void *data, int len); 16 int readn(void *f, void *data, int len); 17 void close(void *f); 18 void unload(void); 19 20 int getc(void); 21 void putc(int c); 22 23 void memset(void *p, int v, int n); 24 void memmove(void *dst, void *src, int n); 25 int memcmp(void *src, void *dst, int n); 26 int strlen(char *s); 27 char *strchr(char *s, int c); 28 char *strrchr(char *s, int c); 29 void print(char *s); 30 31 char *configure(void *f, char *path); 32 char *bootkern(void *f); 33 34 /* a20.s */ 35 int a20(void); 36 37 /* e820.s */ 38 ulong e820(ulong bx, void *p); 39 40 /* apm.s */ 41 void apm(int id); 42 43 /* uart.s */ 44 void uartinit(int p, int c); 45 void uartputc(int p, int c); 46 int uartgetc(int p); 47