XINU
|
ポートを用いたメッセージ送受信機能を初期化する。 More...
#include <xinu.h>
Go to the source code of this file.
Functions | |
syscall | ptinit (int32 maxmsgs) |
全てのポートを初期化する。 More... | |
Variables | |
struct ptentry | porttab [NPORTS] |
ポートテーブルエントリ More... | |
struct ptnode * | ptfree |
フリーメッセージノードのリスト More... | |
int32 | ptnextid |
次に試みるテーブルエントリ More... | |
ポートを用いたメッセージ送受信機能を初期化する。
Definition in file ptinit.c.
全てのポートを初期化する。
Step1. 全てのポート中の最大メッセージ数分だけメモリを確保する。
メモリが確保できなかった場合はpanic状態となり、再起動が必要となる。
Step2. 全てのポートテーブルエントリをFREE状態として初期化する。
Step3. フリーメッセージリストをリンクさせる。
[in] | maxmsgs | 全てのポート中の最大メッセージ数 |
Definition at line 24 of file ptinit.c.
References getmem(), NPORTS, NULL, OK, panic(), porttab, PT_FREE, ptnode::ptnext, ptnextid, ptentry::ptseq, ptentry::ptstate, and SYSERR.
ポートテーブルエントリ
ポートテーブルエントリのextern宣言
Definition at line 10 of file ptinit.c.
Referenced by ptcount(), ptcreate(), ptdelete(), ptinit(), ptrecv(), ptreset(), and ptsend().
struct ptnode* ptfree |
フリーメッセージノードのリスト
フリーノードリストのextern宣言
Definition at line 8 of file ptinit.c.
Referenced by _ptclear(), ptrecv(), and ptsend().
int32 ptnextid |
次に試みるテーブルエントリ
空きスロットを探す際に試みる次のポートID
Definition at line 12 of file ptinit.c.
Referenced by ptcreate(), ptdelete(), and ptinit().