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

📄 type.h

📁 Minix3.11的源码。[MINIX 3是一个为高可靠性应用而设计的自由且简洁的类UNIX系统。]
💻 H
字号:
#ifndef _TYPE_H#define _TYPE_H#ifndef _MINIX_SYS_CONFIG_H#include <minix/sys_config.h>#endif#ifndef _TYPES_H#include <sys/types.h>#endif/* Type definitions. */typedef unsigned int vir_clicks; 	/*  virtual addr/length in clicks */typedef unsigned long phys_bytes;	/* physical addr/length in bytes */typedef unsigned int phys_clicks;	/* physical addr/length in clicks */#if (_MINIX_CHIP == _CHIP_INTEL)typedef unsigned int vir_bytes;	/* virtual addresses and lengths in bytes */#endif#if (_MINIX_CHIP == _CHIP_M68000)typedef unsigned long vir_bytes;/* virtual addresses and lengths in bytes */#endif#if (_MINIX_CHIP == _CHIP_SPARC)typedef unsigned long vir_bytes;/* virtual addresses and lengths in bytes */#endif/* Memory map for local text, stack, data segments. */struct mem_map {  vir_clicks mem_vir;		/* virtual address */  phys_clicks mem_phys;		/* physical address */  vir_clicks mem_len;		/* length */};/* Memory map for remote memory areas, e.g., for the RAM disk. */struct far_mem {  int in_use;			/* entry in use, unless zero */  phys_clicks mem_phys;		/* physical address */  vir_clicks mem_len;		/* length */};/* Structure for virtual copying by means of a vector with requests. */struct vir_addr {  int proc_nr;  int segment;  vir_bytes offset;};/* Memory allocation by PM. */struct hole {  struct hole *h_next;          /* pointer to next entry on the list */  phys_clicks h_base;           /* where does the hole begin? */  phys_clicks h_len;            /* how big is the hole? */};/* Memory info from PM. */struct pm_mem_info {	struct hole pmi_holes[_NR_HOLES];/* memory (un)allocations */	u32_t pmi_hi_watermark;		 /* highest ever-used click + 1 */};#define phys_cp_req vir_cp_req struct vir_cp_req {  struct vir_addr src;  struct vir_addr dst;  phys_bytes count;};typedef struct {  vir_bytes iov_addr;		/* address of an I/O buffer */  vir_bytes iov_size;		/* sizeof an I/O buffer */} iovec_t;/* PM passes the address of a structure of this type to KERNEL when * sys_sendsig() is invoked as part of the signal catching mechanism. * The structure contain all the information that KERNEL needs to build * the signal stack. */struct sigmsg {  int sm_signo;			/* signal number being caught */  unsigned long sm_mask;	/* mask to restore when handler returns */  vir_bytes sm_sighandler;	/* address of handler */  vir_bytes sm_sigreturn;	/* address of _sigreturn in C library */  vir_bytes sm_stkptr;		/* user stack pointer */};/* This is used to obtain system information through SYS_GETINFO. */struct kinfo {  phys_bytes code_base;		/* base of kernel code */  phys_bytes code_size;		  phys_bytes data_base;		/* base of kernel data */  phys_bytes data_size;  vir_bytes proc_addr;		/* virtual address of process table */  phys_bytes kmem_base;		/* kernel memory layout (/dev/kmem) */  phys_bytes kmem_size;  phys_bytes bootdev_base;	/* boot device from boot image (/dev/boot) */  phys_bytes bootdev_size;  phys_bytes ramdev_base;	/* boot device from boot image (/dev/boot) */  phys_bytes ramdev_size;  phys_bytes params_base;	/* parameters passed by boot monitor */  phys_bytes params_size;  int nr_procs;			/* number of user processes */  int nr_tasks;			/* number of kernel tasks */  char release[6];		/* kernel release number */  char version[6];		/* kernel version number */  int relocking;		/* relocking check (for debugging) */};struct machine {  int pc_at;  int ps_mca;  int processor;  int protected;  int vdu_ega;  int vdu_vga;};#endif /* _TYPE_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -