⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 proto.h

📁 一个简单的操作系统minix的核心代码
💻 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 + -