XINU
kernel.h
Go to the documentation of this file.
1 
6 typedef unsigned char byte;
9 typedef unsigned char uint8;
11 typedef int int32;
13 typedef short int16;
15 typedef unsigned int uint32;
17 typedef unsigned short uint16;
19 typedef unsigned long long uint64;
20 
22 typedef int32 sid32;
24 typedef int16 qid16;
26 typedef int32 pid32;
28 typedef int32 did32;
30 typedef int16 pri16;
32 typedef uint32 umsg32;
34 typedef int32 bpid32;
36 typedef byte bool8;
38 typedef uint32 intmask;
40 typedef int32 ibid32;
42 typedef int32 dbid32;
44 typedef int32 uid32;
45 
47 typedef int32 syscall;
49 typedef int32 devcall;
51 typedef int32 shellcmd;
53 typedef int32 process;
55 typedef void interrupt;
57 typedef int32 status;
58 
60 #define local static
61 
63 #define FALSE 0
64 #define TRUE 1
66 
68 #define NULL 0
69 #define NULLCH '\0'
71 #define NULLSTR ""
73 
74 /* Universal return constants */
75 
77 #define OK (1)
78 #define SYSERR (-1)
80 #define EOF (-2)
82 #define TIMEOUT (-3)
84 
86 extern qid16 readylist;
87 
89 #define MINSTK 400
90 #define CONTEXT 64
92 #define QUANTUM 2
94 
96 #define NULLSTK 8192 /* stack size for null process */
97 
99 syscall kprintf(char *fmt, ...);
103 syscall kgetc(void);
syscall kprintf(char *fmt,...)
ポーリングI/Oを使用して、フォーマットされた文字列をコンソールに出力する。
Definition: kprintf.c:98
int32 dbid32
データブロックID(ファイルシステムで使用する)
Definition: kernel.h:42
unsigned char byte
符号なし8ビット値(unsigned char)
Definition: kernel.h:7
int32 ibid32
ブロックIDのインデックス(ファイルシステムで使用する)
Definition: kernel.h:40
unsigned char uint8
符号なし8ビット値(unsigned char)
Definition: kernel.h:9
byte bool8
Boolean値
Definition: kernel.h:36
int32 status
ステータスを意味する返り値の型(OK/SYSERR)
Definition: kernel.h:57
syscall kgetc(void)
ポーリングI/Oを使用して、コンソールのシリアルラインから文字を読み取る。
Definition: kprintf.c:59
uint32 umsg32
プロセス間で渡されるメッセージ
Definition: kernel.h:32
int32 bpid32
バッファプールID
Definition: kernel.h:34
int16 pri16
プロセス優先度
Definition: kernel.h:30
qid16 readylist
READY状態のプロセスリストに対するグローバルID.
Definition: ready.c:9
syscall kputc(byte)
ポーリングI/Oを使用して、コンソールのシリアルラインに文字を書き込む。
Definition: kprintf.c:13
uint32 intmask
保存された割り込みマスク
Definition: kernel.h:38
short int16
符号あり16ビット整数(short)
Definition: kernel.h:13
int int32
符号あり32ビット整数(int)
Definition: kernel.h:11
int16 qid16
キューID
Definition: kernel.h:24
unsigned short uint16
符号なし16ビット整数(unsigned short)
Definition: kernel.h:17
int32 did32
デバイスID
Definition: kernel.h:28
void interrupt
割り込みハンドラ 返り値の型
Definition: kernel.h:55
int32 syscall
システムコール関数 返り値の型
Definition: kernel.h:47
int32 pid32
プロセスID
Definition: kernel.h:26
int32 shellcmd
シェルコール関数 返り値の型
Definition: kernel.h:51
unsigned long long uint64
符号なし64ビット整数(unsigned long long)
Definition: kernel.h:19
unsigned int uint32
符号なし32ビット整数(unsigned int)
Definition: kernel.h:15
int32 devcall
デバイスコール関数 返り値の型
Definition: kernel.h:49
int32 uid32
UDPテーブルディスクリプタのID.
Definition: kernel.h:44
int32 sid32
セマフォID
Definition: kernel.h:22
int32 process
プロセスの最上位レベル関数 返り値の型
Definition: kernel.h:53