XINU
include
queue.h
Go to the documentation of this file.
1
11
#ifndef NQENT
12
19
#define NQENT (NPROC + 4 + NSEM + NSEM)
20
#endif
21
23
#define EMPTY (-1)
24
#define MAXKEY 0x7FFFFFFF
26
#define MINKEY 0x80000000
28
34
struct
qentry
35
{
37
int32
qkey
;
39
qid16
qnext
;
41
qid16
qprev
;
42
};
43
45
extern
struct
qentry
queuetab
[];
46
53
#define queuehead(q) (q)
54
61
#define queuetail(q) ((q) + 1)
62
70
#define firstid(q) (queuetab[queuehead(q)].qnext)
71
79
#define lastid(q) (queuetab[queuetail(q)].qprev)
80
89
#define isempty(q) (firstid(q) >= NPROC)
90
99
#define nonempty(q) (firstid(q) < NPROC)
100
107
#define firstkey(q) (queuetab[firstid(q)].qkey)
108
115
#define lastkey(q) (queuetab[lastid(q)].qkey)
116
132
#define isbadqid(x) (((int32)(x) < NPROC) || (int32)(x) >= NQENT - 1)
queuetab
struct qentry queuetab[]
Definition:
queue.c:45
qentry
プロセスエントリであり、本構造体の配列(長さNQENT)がプロセスキューテーブルとなる。 ...
Definition:
queue.h:34
qentry::qnext
qid16 qnext
次のプロセスか末尾のプロセスのインデックス。
Definition:
queue.h:39
qentry::qkey
int32 qkey
キュー順序を決定するキー(優先度)。
Definition:
queue.h:37
qentry::qprev
qid16 qprev
前のプロセスか先頭のプロセスのインデックス。
Definition:
queue.h:41
int32
int int32
符号あり32ビット整数(int)
Definition:
kernel.h:11
qid16
int16 qid16
キューID
Definition:
kernel.h:24
Generated by
1.8.13