annotate defs/pipedefs @ 232:2d2653b5b609

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