📄 proto.h
字号:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/kernel/proto.h
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
04700 /* Function prototypes. */
04701
04702 #ifndef PROTO_H
04703 #define PROTO_H
04704
04705 /* Struct declarations. */
04706 struct proc;
04707 struct tty;
04708
04709 /* at_wini.c, wini.c */
04710 _PROTOTYPE( void winchester_task, (void) );
04711 _PROTOTYPE( void at_winchester_task, (void) );
04712
04713 /* clock.c */
04714 _PROTOTYPE( void clock_task, (void) );
04715 _PROTOTYPE( void clock_stop, (void) );
04716 _PROTOTYPE( clock_t get_uptime, (void) );
04717 _PROTOTYPE( void syn_alrm_task, (void) );
04718
04719 /* dmp.c */
04720 _PROTOTYPE( void map_dmp, (void) );
04721 _PROTOTYPE( void p_dmp, (void) );
04722 _PROTOTYPE( void reg_dmp, (struct proc *rp) );
04723
04724 /* dp8390.c */
04725 _PROTOTYPE( void dp8390_task, (void) );
04726 _PROTOTYPE( void dp_dump, (void) );
04727 _PROTOTYPE( void dp8390_stop, (void) );
04728
04729 /* floppy.c, stfloppy.c */
04730 _PROTOTYPE( void floppy_task, (void) );
04731 _PROTOTYPE( void floppy_stop, (void) );
04732
04733 /* main.c, stmain.c */
04734 _PROTOTYPE( void main, (void) );
04735 _PROTOTYPE( void panic, (const char *s, int n) );
04736
04737 /* memory.c */
04738 _PROTOTYPE( void mem_task, (void) );
04739
04740 /* misc.c */
04741 _PROTOTYPE( int env_parse, (char *env, char *fmt, int field,
04742 long *param, long min, long max) );
04743
04744 /* printer.c, stprint.c */
04745 _PROTOTYPE( void printer_task, (void) );
04746
04747 /* proc.c */
04748 _PROTOTYPE( void interrupt, (int task) );
04749 _PROTOTYPE( int lock_mini_send, (struct proc *caller_ptr,
04750 int dest, message *m_ptr) );
04751 _PROTOTYPE( void lock_pick_proc, (void) );
04752 _PROTOTYPE( void lock_ready, (struct proc *rp) );
04753 _PROTOTYPE( void lock_sched, (void) );
04754 _PROTOTYPE( void lock_unready, (struct proc *rp) );
04755 _PROTOTYPE( int sys_call, (int function, int src_dest, message *m_ptr) );
04756 _PROTOTYPE( void unhold, (void) );
04757
04758 /* rs232.c */
04759 _PROTOTYPE( void rs_init, (struct tty *tp) );
04760
04761 /* system.c */
04762 _PROTOTYPE( void cause_sig, (int proc_nr, int sig_nr) );
04763 _PROTOTYPE( void inform, (void) );
04764 _PROTOTYPE( phys_bytes numap, (int proc_nr, vir_bytes vir_addr,
04765 vir_bytes bytes) );
04766 _PROTOTYPE( void sys_task, (void) );
04767 _PROTOTYPE( phys_bytes umap, (struct proc *rp, int seg, vir_bytes vir_addr,
04768 vir_bytes bytes) );
04769
04770 /* tty.c */
04771 _PROTOTYPE( void handle_events, (struct tty *tp) );
04772 _PROTOTYPE( void sigchar, (struct tty *tp, int sig) );
04773 _PROTOTYPE( void tty_task, (void) );
04774 _PROTOTYPE( int in_process, (struct tty *tp, char *buf, int count) );
04775 _PROTOTYPE( void out_process, (struct tty *tp, char *bstart, char *bpos,
04776 char *bend, int *icount, int *ocount) );
04777 _PROTOTYPE( void tty_wakeup, (clock_t now) );
04778 _PROTOTYPE( void tty_reply, (int code, int replyee, int proc_nr,
04779 int status) );
04780 _PROTOTYPE( void tty_devnop, (struct tty *tp) );
04781
04782 /* library */
04783 _PROTOTYPE( void *memcpy, (void *_s1, const void *_s2, size_t _n) );
04784
04785 #if (CHIP == INTEL)
04786
04787 /* clock.c */
04788 _PROTOTYPE( void milli_start, (struct milli_state *msp) );
04789 _PROTOTYPE( unsigned milli_elapsed, (struct milli_state *msp) );
04790 _PROTOTYPE( void milli_delay, (unsigned millisec) );
04791
04792 /* console.c */
04793 _PROTOTYPE( void cons_stop, (void) );
04794 _PROTOTYPE( void putk, (int c) );
04795 _PROTOTYPE( void scr_init, (struct tty *tp) );
04796 _PROTOTYPE( void toggle_scroll, (void) );
04797 _PROTOTYPE( int con_loadfont, (phys_bytes user_phys) );
04798 _PROTOTYPE( void select_console, (int cons_line) );
04799
04800 /* cstart.c */
04801 _PROTOTYPE( void cstart, (U16_t cs, U16_t ds, U16_t mcs, U16_t mds,
04802 U16_t parmoff, U16_t parmsize) );
04803 _PROTOTYPE( char *k_getenv, (char *name) );
04804
04805 /* exception.c */
04806 _PROTOTYPE( void exception, (unsigned vec_nr) );
04807
04808 /* i8259.c */
04809 _PROTOTYPE( irq_handler_t get_irq_handler, (int irq) );
04810 _PROTOTYPE( void put_irq_handler, (int irq, irq_handler_t handler) );
04811 _PROTOTYPE( void intr_init, (int mine) );
04812
04813 /* keyboard.c */
04814 _PROTOTYPE( void kb_init, (struct tty *tp) );
04815 _PROTOTYPE( int kbd_loadmap, (phys_bytes user_phys) );
04816 _PROTOTYPE( void wreboot, (int how) );
04817
04818 /* klib*.s */
04819 _PROTOTYPE( void bios13, (void) );
04820 _PROTOTYPE( phys_bytes check_mem, (phys_bytes base, phys_bytes size) );
04821 _PROTOTYPE( void cp_mess, (int src,phys_clicks src_clicks,vir_bytes src_offset,
04822 phys_clicks dst_clicks, vir_bytes dst_offset) );
04823 _PROTOTYPE( int in_byte, (port_t port) );
04824 _PROTOTYPE( int in_word, (port_t port) );
04825 _PROTOTYPE( void lock, (void) );
04826 _PROTOTYPE( void unlock, (void) );
04827 _PROTOTYPE( void enable_irq, (unsigned irq) );
04828 _PROTOTYPE( int disable_irq, (unsigned irq) );
04829 _PROTOTYPE( u16_t mem_rdw, (segm_t segm, vir_bytes offset) );
04830 _PROTOTYPE( void out_byte, (port_t port, int value) );
04831 _PROTOTYPE( void out_word, (port_t port, int value) );
04832 _PROTOTYPE( void phys_copy, (phys_bytes source, phys_bytes dest,
04833 phys_bytes count) );
04834 _PROTOTYPE( void port_read, (unsigned port, phys_bytes destination,
04835 unsigned bytcount) );
04836 _PROTOTYPE( void port_read_byte, (unsigned port, phys_bytes destination,
04837 unsigned bytcount) );
04838 _PROTOTYPE( void port_write, (unsigned port, phys_bytes source,
04839 unsigned bytcount) );
04840 _PROTOTYPE( void port_write_byte, (unsigned port, phys_bytes source,
04841 unsigned bytcount) );
04842 _PROTOTYPE( void reset, (void) );
04843 _PROTOTYPE( void vid_vid_copy, (unsigned src, unsigned dst, unsigned count));
04844 _PROTOTYPE( void mem_vid_copy, (u16_t *src, unsigned dst, unsigned count));
04845 _PROTOTYPE( void level0, (void (*func)(void)) );
04846 _PROTOTYPE( void monitor, (void) );
04847
04848 /* misc.c */
04849 _PROTOTYPE( void mem_init, (void) );
04850
04851 /* mpx*.s */
04852 _PROTOTYPE( void idle_task, (void) );
04853 _PROTOTYPE( void restart, (void) );
04854
04855 /* The following are never called from C (pure asm procs). */
04856
04857 /* Exception handlers (real or protected mode), in numerical order. */
04858 void _PROTOTYPE( int00, (void) ), _PROTOTYPE( divide_error, (void) );
04859 void _PROTOTYPE( int01, (void) ), _PROTOTYPE( single_step_exception, (void) );
04860 void _PROTOTYPE( int02, (void) ), _PROTOTYPE( nmi, (void) );
04861 void _PROTOTYPE( int03, (void) ), _PROTOTYPE( breakpoint_exception, (void) );
04862 void _PROTOTYPE( int04, (void) ), _PROTOTYPE( overflow, (void) );
04863 void _PROTOTYPE( int05, (void) ), _PROTOTYPE( bounds_check, (void) );
04864 void _PROTOTYPE( int06, (void) ), _PROTOTYPE( inval_opcode, (void) );
04865 void _PROTOTYPE( int07, (void) ), _PROTOTYPE( copr_not_available, (void) );
04866 void _PROTOTYPE( double_fault, (void) );
04867 void _PROTOTYPE( copr_seg_overrun, (void) );
04868 void _PROTOTYPE( inval_tss, (void) );
04869 void _PROTOTYPE( segment_not_present, (void) );
04870 void _PROTOTYPE( stack_exception, (void) );
04871 void _PROTOTYPE( general_protection, (void) );
04872 void _PROTOTYPE( page_fault, (void) );
04873 void _PROTOTYPE( copr_error, (void) );
04874
04875 /* Hardware interrupt handlers. */
04876 _PROTOTYPE( void hwint00, (void) );
04877 _PROTOTYPE( void hwint01, (void) );
04878 _PROTOTYPE( void hwint02, (void) );
04879 _PROTOTYPE( void hwint03, (void) );
04880 _PROTOTYPE( void hwint04, (void) );
04881 _PROTOTYPE( void hwint05, (void) );
04882 _PROTOTYPE( void hwint06, (void) );
04883 _PROTOTYPE( void hwint07, (void) );
04884 _PROTOTYPE( void hwint08, (void) );
04885 _PROTOTYPE( void hwint09, (void) );
04886 _PROTOTYPE( void hwint10, (void) );
04887 _PROTOTYPE( void hwint11, (void) );
04888 _PROTOTYPE( void hwint12, (void) );
04889 _PROTOTYPE( void hwint13, (void) );
04890 _PROTOTYPE( void hwint14, (void) );
04891 _PROTOTYPE( void hwint15, (void) );
04892
04893 /* Software interrupt handlers, in numerical order. */
04894 _PROTOTYPE( void trp, (void) );
04895 _PROTOTYPE( void s_call, (void) ), _PROTOTYPE( p_s_call, (void) );
04896 _PROTOTYPE( void level0_call, (void) );
04897
04898 /* printer.c */
04899 _PROTOTYPE( void pr_restart, (void) );
04900
04901 /* protect.c */
04902 _PROTOTYPE( void prot_init, (void) );
04903 _PROTOTYPE( void init_codeseg, (struct segdesc_s *segdp, phys_bytes base,
04904 phys_bytes size, int privilege) );
04905 _PROTOTYPE( void init_dataseg, (struct segdesc_s *segdp, phys_bytes base,
04906 phys_bytes size, int privilege) );
04907 _PROTOTYPE( phys_bytes seg2phys, (U16_t seg) );
04908 _PROTOTYPE( void enable_iop, (struct proc *pp) );
04909
04910 /* pty.c */
04911 _PROTOTYPE( void do_pty, (struct tty *tp, message *m_ptr) );
04912 _PROTOTYPE( void pty_init, (struct tty *tp) );
04913
04914 /* system.c */
04915 _PROTOTYPE( void alloc_segments, (struct proc *rp) );
04916
04917 #endif /* (CHIP == INTEL) */
04918
04919 #endif /* PROTO_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -