Mercurial > hg > Members > kono > nitros9-code
view defs/pipedefs @ 1764:c51d21c94682
Fixed problem in swset where query needed lbra.
Converted all files to Unix EOL
author | boisy |
---|---|
date | Fri, 01 Apr 2005 17:01:46 +0000 |
parents | 8d4b5ee1cee4 |
children | e396d4f24b27 |
line wrap: on
line source
IFNE PIPEDEFS-1 PIPEDEFS set 1 ******************************************************************** * 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 * org V.User V.List rmb 2 ;Pointer to 1st pipe's pipe buffer PManMem equ . ;Device driver memory (drive table equivalent) * * Pipe Buffer Data Structure * org 0 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 * * Unique Path Descriptor Variables * org 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) * * 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. * org (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 org (PD.OPT+3) PD.Name rmb NameMax ENDC * * Device Descriptor definitions * IT.PDC equ $12 ;Pipe device class (like IT.DTP, IT.DVC) org 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) * End of pipedefs ENDC