view lib/pipedefs.a @ 2772:0a3f4d8ea6d5

Found ENDC in wrong location in dwread.asm and dwwrite.asm. Corrected. Moved the native 6309 code in dwread.asm and dwwrite.asm into the H6309 labeled area and changed IFEQ H6309 to IFNE H6309. Also moved the 57600bps 6809 code to the default location. This change had been done in the old dwread.asm and dwwrite.asm files to make it easier to follow. Though these two files were overwritten from the HDBDOS project dwread.asm and dwwrite.asm files. So this conversion needed to be done again so it made the source easier to follow.
author drencor-xeen
date Wed, 23 Jan 2013 12:36:55 -0600
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