XINU
ports.h
Go to the documentation of this file.
1 
6 #define NPORTS 30
8 #define PT_MSGS 100
10 #define PT_FREE 1
12 #define PT_LIMBO 2
14 #define PT_ALLOC 3
16 
21 struct ptnode
22 {
26  struct ptnode *ptnext;
27 };
28 
33 struct ptentry
34 {
46  struct ptnode *pthead;
48  struct ptnode *pttail;
49 };
50 
52 extern struct ptnode *ptfree;
54 extern struct ptentry porttab[];
56 extern int32 ptnextid;
57 
64 #define isbadport(portid) ((portid) < 0 || (portid) >= NPORTS)
ポートテーブルエントリ
Definition: ports.h:33
sid32 ptrsem
受信側セマフォ
Definition: ports.h:38
uint16 ptmaxcnt
ポートに挿入できる最大メッセージ数
Definition: ports.h:42
メッセージリストのノード
Definition: ports.h:21
struct ptentry porttab[]
ポートテーブルエントリのextern宣言
Definition: ptinit.c:10
struct ptnode * ptnext
メッセージリストの次のノードへのポインタ
Definition: ports.h:26
sid32 ptssem
送信側セマフォ
Definition: ports.h:36
uint16 ptstate
ポート状態(FREE/LIMBO/ALLOC)
Definition: ports.h:40
int int32
符号あり32ビット整数(int)
Definition: kernel.h:11
unsigned short uint16
符号なし16ビット整数(unsigned short)
Definition: kernel.h:17
int32 ptnextid
空きスロットを探す際に試みる次のポートID
Definition: ptinit.c:12
struct ptnode * pttail
メッセージリストの末尾ポインタ
Definition: ports.h:48
uint32 ptmsg
ワンワードのメッセージ
Definition: ports.h:24
unsigned int uint32
符号なし32ビット整数(unsigned int)
Definition: kernel.h:15
struct ptnode * pthead
メッセージリストの先頭ポインタ
Definition: ports.h:46
int32 sid32
セマフォID
Definition: kernel.h:22
int32 ptseq
生成時に変更されたシーケンス
Definition: ports.h:44
struct ptnode * ptfree
フリーノードリストのextern宣言
Definition: ptinit.c:8