27 struct ptnode *next, *curr;
34 panic(
"ptinit - insufficient memory");
39 for (i = 0; i <
NPORTS; i++)
48 for (curr = next = ptfree; --maxmsgs > 0; curr = next)
#define NULL
連結リスト用のNULLポインタ
struct ptentry porttab[NPORTS]
ポートテーブルエントリ
syscall ptinit(int32 maxmsgs)
全てのポートを初期化する。
struct ptnode * ptfree
フリーメッセージノードのリスト
struct ptnode * ptnext
メッセージリストの次のノードへのポインタ
uint16 ptstate
ポート状態(FREE/LIMBO/ALLOC)
int int32
符号あり32ビット整数(int)
void panic(char *)
Panic状態に陥った旨のメッセージを表示し、全てのプロセスを停止させる。
#define PT_FREE
ポートがFREE状態
int32 syscall
システムコール関数 返り値の型
int32 ptnextid
次に試みるテーブルエントリ
int32 ptseq
生成時に変更されたシーケンス
char * getmem(uint32)
ヒープ領域を割り当て、最下位のワードアドレスを返す。