Mercurial > hg > Members > kono > nitros9-code
annotate defs/pipedefs @ 1219:5d025106d1ea
Rodney added bitfield instructions
author | boisy |
---|---|
date | Tue, 01 Jul 2003 02:55:21 +0000 |
parents | 0a678473d5cf |
children | 8d4b5ee1cee4 |
rev | line source |
---|---|
516 | 1 IFEQ PIPEDEFS |
373
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 |
1200 | 5 ******************************************************************** |
6 * PipeDefs - Pipe File Manager Definitions | |
516 | 7 * |
1200 | 8 * $Id$ |
516 | 9 * |
1200 | 10 * Edt/Rev YYYY/MM/DD Modified by |
11 * Comment | |
12 * ------------------------------------------------------------------ | |
13 * 1988/12/03 Chris J. Burke | |
14 * Coded from new PIPEMAN comments. | |
516 | 15 |
16 | |
0 | 17 nam PipeDefs |
1200 | 18 ttl Pipe File Manager Definitions |
0 | 19 |
1200 | 20 |
0 | 21 * |
22 * IOMan equates duplicated for PipeMan use | |
23 * | |
24 | |
25 NPATHS set 16 ;Maximum local paths per task -- must match IOMan | |
26 NameMax set 29 ;Maximum length of a file name | |
27 | |
28 * | |
29 * Device Driver Static Storage Layout | |
30 * | |
31 org V.User | |
32 V.List rmb 2 ;Pointer to 1st pipe's pipe buffer | |
33 PManMem equ . ;Device driver memory (drive table equivalent) | |
34 | |
35 * | |
36 * Pipe Buffer Data Structure | |
37 * | |
38 org 0 | |
39 PP.PD rmb 2 ;Pointer to shared path descriptor | |
40 PP.Next rmb 2 ;Pointer to next pipe buffer in system map | |
41 PP.Prev rmb 2 ;Pointer to previous pipe buffer in system map | |
42 PP.Rsrv rmb 2 ;Reserved | |
43 PP.Data equ . ;Data buffer begins at this offset | |
44 | |
45 * | |
46 * Unique Path Descriptor Variables | |
47 * | |
48 org PD.FST | |
49 *** PP.Read must have bit 4 clear; PP.Writ must be PP.Read XOR 4 | |
50 PD.Read equ . | |
51 PD.RPID rmb 1 ;Process ID of reader waiting on signal | |
52 PD.RCT rmb 1 ;Number of blocked readers | |
53 PD.RSIG rmb 1 ;Signal to send reader | |
54 PD.REOR rmb 1 ;Read EOR character | |
55 PD.Writ equ . | |
56 PD.WPID rmb 1 ;Process ID of writer waiting on signal | |
57 PD.WCT rmb 1 ;Number of blocked writers | |
58 PD.WSIG rmb 1 ;Signal to send writer | |
59 PD.WEOR rmb 1 ;Write EOR character (dummy) | |
60 *** End of special section | |
61 PD.End rmb 2 ;Pointer to end of pipe buffer | |
62 PD.NxtI rmb 2 ;Next in pointer | |
63 PD.NxtO rmb 2 ;Next out pointer | |
64 PD.RFlg rmb 1 ;"Ready" flag | |
65 PD.Wrtn rmb 1 ;"Written" flag | |
66 PD.BCnt rmb 2 ;# queue elements currently bufered | |
67 PD.Own rmb 1 ;Process ID of pipe original creator | |
68 PD.Keep rmb 1 ;Non-zero if pipe has been kept open artificailly | |
69 PD.QSiz rmb 2 ;Max. elements in queue (copied from OPT section) | |
70 | |
71 * | |
72 * Path descriptor option section | |
73 * | |
74 * Note that PD.Name overlaps with the last byte of PD.ECnt. | |
75 * PD.ECnt is copied to PD.QSiz as part of OPEN or CREATE, | |
76 * to make room for the pipe name. | |
77 * | |
78 org (PD.OPT+1) | |
79 PD.ESiz rmb 1 ;Size of each queue element | |
80 PD.ECnt rmb 2 ;Max. elements in queue (initial position) | |
516 | 81 IFGT Level-1 |
82 org (PD.OPT+3) | |
83 PD.Name rmb NameMax | |
84 ENDC | |
0 | 85 |
86 * | |
87 * Device Descriptor definitions | |
88 * | |
89 IT.PDC equ $12 ;Pipe device class (like IT.DTP, IT.DVC) | |
90 org IT.PDC | |
91 rmb 1 ;Leave room for device class | |
92 IT.ESiz rmb 1 ;Size of each queue element | |
93 IT.ECnt rmb 2 ;Max. elements in queue (initial position) | |
94 | |
95 * End of pipedefs | |
96 | |
516 | 97 ENDC |
98 |