Mercurial > hg > Members > kono > nitros9-code
annotate defs/pipedefs.l2v3 @ 489:c9cad71c4605
runb.asm now incorporates both 6809 and 6309 versions, Makefile reflects change
author | boisy |
---|---|
date | Wed, 09 Oct 2002 14:44:30 +0000 |
parents | c07686556109 |
children |
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 opt -l |
6 ttl OS9 Level 2 Pipe Definitions | |
7 | |
8 * | |
9 * Copyright 1988 by Microware Systems Corporation | |
10 * All Rights Reserved | |
11 * | |
12 * Named pipe equates by Burke & Burke. | |
13 * All rights assigned to Microware Systems Corporation. | |
14 * | |
15 * This file contains proprietary information of Microware Systems | |
16 * Corporation. Persons accessing this file will be held strictly | |
17 * accountable for their use of the information herein. | |
18 * | |
19 | |
20 * | |
21 * OS9 Level 2 Pipe Definitions | |
22 * | |
23 * Modification History | |
24 * -------------------- | |
25 * | |
26 * Date Who Description | |
27 * -------- --- ----------------------------------------- | |
28 * 12/03/88 cjb Coded from new PIPEMAN comments | |
29 * | |
30 | |
31 * | |
32 * IOMan equates duplicated for PipeMan use | |
33 * | |
34 | |
35 NPATHS set 16 ;Maximum local paths per task -- must match IOMan | |
36 NameMax set 29 ;Maximum length of a file name | |
37 | |
38 * | |
39 * Device Driver Static Storage Layout | |
40 * | |
41 org V.User | |
42 V.List rmb 2 ;Pointer to 1st pipe's pipe buffer | |
43 PManMem equ . ;Device driver memory (drive table equivalent) | |
44 | |
45 * | |
46 * Pipe Buffer Data Structure | |
47 * | |
48 org 0 | |
49 PP.PD rmb 2 ;Pointer to shared path descriptor | |
50 PP.Next rmb 2 ;Pointer to next pipe buffer in system map | |
51 PP.Prev rmb 2 ;Pointer to previous pipe buffer in system map | |
52 PP.Rsrv rmb 2 ;Reserved | |
53 PP.Data equ . ;Data buffer begins at this offset | |
54 | |
55 * | |
56 * Unique Path Descriptor Variables | |
57 * | |
58 org PD.FST | |
59 *** PP.Read must have bit 4 clear; PP.Writ must be PP.Read XOR 4 | |
60 PD.Read equ . | |
61 PD.RPID rmb 1 ;Process ID of reader waiting on signal | |
62 PD.RCT rmb 1 ;Number of blocked readers | |
63 PD.RSIG rmb 1 ;Signal to send reader | |
64 PD.REOR rmb 1 ;Read EOR character | |
65 PD.Writ equ . | |
66 PD.WPID rmb 1 ;Process ID of writer waiting on signal | |
67 PD.WCT rmb 1 ;Number of blocked writers | |
68 PD.WSIG rmb 1 ;Signal to send writer | |
69 PD.WEOR rmb 1 ;Write EOR character (dummy) | |
70 *** End of special section | |
71 PD.End rmb 2 ;Pointer to end of pipe buffer | |
72 PD.NxtI rmb 2 ;Next in pointer | |
73 PD.NxtO rmb 2 ;Next out pointer | |
74 PD.RFlg rmb 1 ;"Ready" flag | |
75 PD.Wrtn rmb 1 ;"Written" flag | |
76 PD.BCnt rmb 2 ;# queue elements currently bufered | |
77 PD.Own rmb 1 ;Process ID of pipe original creator | |
78 PD.Keep rmb 1 ;Non-zero if pipe has been kept open artificailly | |
79 PD.QSiz rmb 2 ;Max. elements in queue (copied from OPT section) | |
80 | |
81 * | |
82 * Path descriptor option section | |
83 * | |
84 * Note that PD.Name overlaps with the last byte of PD.ECnt. | |
85 * PD.ECnt is copied to PD.QSiz as part of OPEN or CREATE, | |
86 * to make room for the pipe name. | |
87 * | |
88 org (PD.OPT+1) | |
89 PD.ESiz rmb 1 ;Size of each queue element | |
90 PD.ECnt rmb 2 ;Max. elements in queue (initial position) | |
91 org (PD.OPT+3) | |
92 PD.Name rmb NameMax ;Name buffer for named pipe. | |
93 | |
94 * | |
95 * Device Descriptor definitions | |
96 * | |
97 IT.PDC equ $12 ;Pipe device class (like IT.DTP, IT.DVC) | |
98 org IT.PDC | |
99 rmb 1 ;Leave room for device class | |
100 IT.ESiz rmb 1 ;Size of each queue element | |
101 IT.ECnt rmb 2 ;Max. elements in queue (initial position) | |
102 | |
103 * End of pipedefs | |
104 | |
105 opt l | |
106 | |
373
c07686556109
Added ifeq statements at top to allow for multiple use's of same def
boisy
parents:
0
diff
changeset
|
107 endc |
c07686556109
Added ifeq statements at top to allow for multiple use's of same def
boisy
parents:
0
diff
changeset
|
108 |