1 /* bkerndev - Bran's Kernel Development Tutorial
\r
2 * By: Brandon F. (friesenb@gmail.com)
\r
3 * Desc: Global function declarations and type definitions
\r
5 * Notes: No warranty expressed or implied. Use at own risk. */
\r
11 #include "mytypes.h"
\r
30 /* This defines what the stack looks like after an ISR was running */
\r
33 unsigned int ds, es, fs, gs;
\r
34 unsigned int edi, esi, ebp, esp, ebx, edx, ecx, eax;
\r
35 unsigned int int_no, err_code;
\r
36 unsigned int eip, cs, eflags, useresp, ss;
\r
46 TS_RUNNABLE = 1, TS_BLOCKED = 2, TS_ZOMBIE = 3
\r
50 task_t _tasks[MAX_TASK];
\r
63 unsigned char *file_cache;
\r
66 unsigned char name[20];
\r
67 unsigned char value[200];
\r
74 extern void init_video(void);
\r
75 extern void puts(unsigned char *text);
\r
76 extern void putch(unsigned char c);
\r
78 extern void settextcolor(unsigned char forecolor, unsigned char backcolor);
\r
80 extern void gdt_set_gate(int num, unsigned long base, unsigned long limit, unsigned char access, unsigned char gran);
\r
81 extern void gdt_install();
\r
84 extern void idt_set_gate(unsigned char num, unsigned long base, unsigned short sel, unsigned char flags);
\r
85 extern void idt_install();
\r
88 extern void isrs_install();
\r
91 extern void irq_install_handler(int irq, void (*handler)(struct regs *r));
\r
92 extern void irq_uninstall_handler(int irq);
\r
93 extern void irq_install();
\r
96 extern void timer_wait(int ticks);
\r
97 extern void timer_install();
\r
100 extern void keyboard_install();
\r
102 extern void init_tasks(void);
\r
103 extern void schedule(void);
\r
104 extern void floppy_install(void);
\r
105 extern void fda_print (int i);
\r
106 extern void cmd_line(void);
\r
107 extern void uptime(void);
\r
110 extern void read_dir(int aa);
\r
111 extern void read_file(int aa);
\r
114 extern int ls(unsigned char* fi);
\r
117 extern int cat(unsigned char* fi);
\r