Mercurial > hg > Members > kono > nitros9-code
annotate defs/pipedefs @ 497:910b1bd03739
Fixed makefile error, wrapped IFNE H6309 around gshell 6309 code
author | boisy |
---|---|
date | Wed, 09 Oct 2002 15:33:11 +0000 |
parents | c07686556109 |
children | 6f1799317d2b |
rev | line source |
---|---|
373
c07686556109
Added ifeq statements at top to allow for multiple use's of same def
boisy
parents:
0
diff
changeset
|
1 ifeq PIPEDEFS |
c07686556109
Added ifeq statements at top to allow for multiple use's of same def
boisy
parents:
0
diff
changeset
|
2 |
c07686556109
Added ifeq statements at top to allow for multiple use's of same def
boisy
parents:
0
diff
changeset
|
3 PIPEDEFS set 1 |
c07686556109
Added ifeq statements at top to allow for multiple use's of same def
boisy
parents:
0
diff
changeset
|
4 |
0 | 5 nam PipeDefs |
6 ttl OS-9 Pipe Definitions | |
7 | |
8 * OS-9 Pipe Definitions | |
9 * | |
10 * IOMan equates duplicated for PipeMan use | |
11 * | |
12 | |
13 NPATHS set 16 ;Maximum local paths per task -- must match IOMan | |
14 NameMax set 29 ;Maximum length of a file name | |
15 | |
16 * | |
17 * Device Driver Static Storage Layout | |
18 * | |
19 org V.User | |
20 V.List rmb 2 ;Pointer to 1st pipe's pipe buffer | |
21 PManMem equ . ;Device driver memory (drive table equivalent) | |
22 | |
23 * | |
24 * Pipe Buffer Data Structure | |
25 * | |
26 org 0 | |
27 PP.PD rmb 2 ;Pointer to shared path descriptor | |
28 PP.Next rmb 2 ;Pointer to next pipe buffer in system map | |
29 PP.Prev rmb 2 ;Pointer to previous pipe buffer in system map | |
30 PP.Rsrv rmb 2 ;Reserved | |
31 PP.Data equ . ;Data buffer begins at this offset | |
32 | |
33 * | |
34 * Unique Path Descriptor Variables | |
35 * | |
36 org PD.FST | |
37 *** PP.Read must have bit 4 clear; PP.Writ must be PP.Read XOR 4 | |
38 PD.Read equ . | |
39 PD.RPID rmb 1 ;Process ID of reader waiting on signal | |
40 PD.RCT rmb 1 ;Number of blocked readers | |
41 PD.RSIG rmb 1 ;Signal to send reader | |
42 PD.REOR rmb 1 ;Read EOR character | |
43 PD.Writ equ . | |
44 PD.WPID rmb 1 ;Process ID of writer waiting on signal | |
45 PD.WCT rmb 1 ;Number of blocked writers | |
46 PD.WSIG rmb 1 ;Signal to send writer | |
47 PD.WEOR rmb 1 ;Write EOR character (dummy) | |
48 *** End of special section | |
49 PD.End rmb 2 ;Pointer to end of pipe buffer | |
50 PD.NxtI rmb 2 ;Next in pointer | |
51 PD.NxtO rmb 2 ;Next out pointer | |
52 PD.RFlg rmb 1 ;"Ready" flag | |
53 PD.Wrtn rmb 1 ;"Written" flag | |
54 PD.BCnt rmb 2 ;# queue elements currently bufered | |
55 PD.Own rmb 1 ;Process ID of pipe original creator | |
56 PD.Keep rmb 1 ;Non-zero if pipe has been kept open artificailly | |
57 PD.QSiz rmb 2 ;Max. elements in queue (copied from OPT section) | |
58 | |
59 * | |
60 * Path descriptor option section | |
61 * | |
62 * Note that PD.Name overlaps with the last byte of PD.ECnt. | |
63 * PD.ECnt is copied to PD.QSiz as part of OPEN or CREATE, | |
64 * to make room for the pipe name. | |
65 * | |
66 org (PD.OPT+1) | |
67 PD.ESiz rmb 1 ;Size of each queue element | |
68 PD.ECnt rmb 2 ;Max. elements in queue (initial position) | |
69 | |
70 * | |
71 * Device Descriptor definitions | |
72 * | |
73 IT.PDC equ $12 ;Pipe device class (like IT.DTP, IT.DVC) | |
74 org IT.PDC | |
75 rmb 1 ;Leave room for device class | |
76 IT.ESiz rmb 1 ;Size of each queue element | |
77 IT.ECnt rmb 2 ;Max. elements in queue (initial position) | |
78 | |
79 * End of pipedefs | |
373
c07686556109
Added ifeq statements at top to allow for multiple use's of same def
boisy
parents:
0
diff
changeset
|
80 endc |
0 | 81 |