Mercurial > hg > Members > kono > nitros9-code
view lib/pipedefs.a @ 2593:4c3c19ec3257
Added second vhd drive for MESS version 144 and newer. Will not alter
performance with older versions of MESS.
author | robertgault |
---|---|
date | Sat, 24 Dec 2011 13:01:17 +0000 |
parents | 594d292e1788 |
children |
line wrap: on
line source
******************************************************************** * PipeDefs - Pipe File Manager Definitions * * $Id$ * * Edt/Rev YYYY/MM/DD Modified by * Comment * ------------------------------------------------------------------ * 1988/12/03 Chris J. Burke * Coded from new PIPEMAN comments. NAM PipeDefs TTL Pipe File Manager Definitions * * IOMan equates duplicated for PipeMan use * NPATHS: SET 16 ;Maximum local paths per task -- must match IOMan NameMax: SET 29 ;Maximum length of a file name * * Device Driver Static Storage Layout * csect RMB V.USER V.List: RMB 2 ;Pointer to 1st pipe's pipe buffer PManMem: EQU * ;Device driver memory (drive table equivalent) endsect * * Pipe Buffer Data Structure * csect PP.PD: RMB 2 ;Pointer to shared path descriptor PP.Next: RMB 2 ;Pointer to next pipe buffer in system map PP.Prev: RMB 2 ;Pointer to previous pipe buffer in system map PP.Rsrv: RMB 2 ;Reserved PP.Data: EQU * ;Data buffer begins at this offset endsect * * Unique Path Descriptor Variables * csect RMB PD.FST *** PP.Read must have bit 4 clear; PP.Writ must be PP.Read XOR 4 PD.Read: EQU * PD.RPID: RMB 1 ;Process ID of reader waiting on signal PD.RCT: RMB 1 ;Number of blocked readers PD.RSIG: RMB 1 ;Signal to send reader PD.REOR: RMB 1 ;Read EOR character PD.Writ: EQU * PD.WPID: RMB 1 ;Process ID of writer waiting on signal PD.WCT: RMB 1 ;Number of blocked writers PD.WSIG: RMB 1 ;Signal to send writer PD.WEOR: RMB 1 ;Write EOR character (dummy) *** End of special section PD.End: RMB 2 ;Pointer to end of pipe buffer PD.NxtI: RMB 2 ;Next in pointer PD.NxtO: RMB 2 ;Next out pointer PD.RFlg: RMB 1 ;"Ready" flag PD.Wrtn: RMB 1 ;"Written" flag PD.BCnt: RMB 2 ;# queue elements currently bufered PD.Own: RMB 1 ;Process ID of pipe original creator PD.Keep: RMB 1 ;Non-zero if pipe has been kept open artificailly PD.QSiz: RMB 2 ;Max. elements in queue (copied from OPT section) endsect * * Path descriptor option section * * Note that PD.Name overlaps with the last byte of PD.ECnt. * PD.ECnt is copied to PD.QSiz as part of OPEN or CREATE, * to make room for the pipe name. * csect RMB (PD.OPT+1) PD.ESiz: RMB 1 ;Size of each queue element PD.ECnt: RMB 2 ;Max. elements in queue (initial position) IFGT Level-1 RMB (PD.OPT+3)-* PD.Name: RMB NameMax ENDC endsect * * Device Descriptor definitions * IT.PDC: EQU $12 ;Pipe device class (like IT.DTP, IT.DVC) csect RMB IT.PDC RMB 1 ;Leave room for device class IT.ESiz: RMB 1 ;Size of each queue element IT.ECnt: RMB 2 ;Max. elements in queue (initial position) endsect