XINU
include
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
{
24
uint32
ptmsg
;
26
struct
ptnode
*
ptnext
;
27
};
28
33
struct
ptentry
34
{
36
sid32
ptssem
;
38
sid32
ptrsem
;
40
uint16
ptstate
;
42
uint16
ptmaxcnt
;
44
int32
ptseq
;
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)
ptentry
ポートテーブルエントリ
Definition:
ports.h:33
ptentry::ptrsem
sid32 ptrsem
受信側セマフォ
Definition:
ports.h:38
ptentry::ptmaxcnt
uint16 ptmaxcnt
ポートに挿入できる最大メッセージ数
Definition:
ports.h:42
ptnode
メッセージリストのノード
Definition:
ports.h:21
porttab
struct ptentry porttab[]
ポートテーブルエントリのextern宣言
Definition:
ptinit.c:10
ptnode::ptnext
struct ptnode * ptnext
メッセージリストの次のノードへのポインタ
Definition:
ports.h:26
ptentry::ptssem
sid32 ptssem
送信側セマフォ
Definition:
ports.h:36
ptentry::ptstate
uint16 ptstate
ポート状態(FREE/LIMBO/ALLOC)
Definition:
ports.h:40
int32
int int32
符号あり32ビット整数(int)
Definition:
kernel.h:11
uint16
unsigned short uint16
符号なし16ビット整数(unsigned short)
Definition:
kernel.h:17
ptnextid
int32 ptnextid
空きスロットを探す際に試みる次のポートID
Definition:
ptinit.c:12
ptentry::pttail
struct ptnode * pttail
メッセージリストの末尾ポインタ
Definition:
ports.h:48
ptnode::ptmsg
uint32 ptmsg
ワンワードのメッセージ
Definition:
ports.h:24
uint32
unsigned int uint32
符号なし32ビット整数(unsigned int)
Definition:
kernel.h:15
ptentry::pthead
struct ptnode * pthead
メッセージリストの先頭ポインタ
Definition:
ports.h:46
sid32
int32 sid32
セマフォID
Definition:
kernel.h:22
ptentry::ptseq
int32 ptseq
生成時に変更されたシーケンス
Definition:
ports.h:44
ptfree
struct ptnode * ptfree
フリーノードリストのextern宣言
Definition:
ptinit.c:8
Generated by
1.8.13