.MCALL .MODULE .MODULE IGTWAO,VERSION=02,COMMENT=,IDENT=NO,LIB=YES,TITLE=NO ; Copyright (c) 1998 by Mentec, Inc., Nashua, NH. ; All rights reserved ; ; This software is furnished under a license for use only on a ; single computer system and may be copied only with the ; inclusion of the above copyright notice. This software, or ; any other copies thereof, may not be provided or otherwise ; made available to any other person except for use on such ; system and to one who agrees to these license terms. Title ; to and ownership of the software shall at all times remain ; in Mentec, Inc. ; ; The information in this document is subject to change without ; notice and should not be construed as a commitment by Digital ; Equipment Corporation, or Mentec, Inc. ; ; Digital and Mentec assume no responsibility for the use or ; reliability of its software on equipment which is not supplied ; by Digital or Mentec, and listed in the Software Product ; Description. .SBTTL Description of IGTWAO ; IGTWAO.MAC ; ; This module defines Work Area Offsets and other common values ; for IGTDIR and IGTENT .SBTTL Equates FNLEN =: 9. ; Filespec length, without dot .SBTTL Impure Area Offset Definitions IG.ID =: "IG ; Workspace ID IG.WSZ =: 0 ; Work area size address IG.WKA =: IG.WSZ+2 ; Work area address IG.CHA =: IG.WKA+2 ; Channel address IG.BUF =: IG.CHA+2 ; Buffer address IG.HED =: IG.BUF+2 ; Header address IG.DEV =: IG.HED+2 ; address of RAD50 device spec IG.STR =: IG.DEV+2 ; address of wildcard string IG.STA =: IG.STR+2 ; address of desired status bits IG.MSK =: IG.STA+2 ; address of bits mask IG.DTR =: IG.MSK+2 ; address of date relation word IG.DTV =: IG.DTR+2 ; address of date match word IG.TMR =: IG.DTV+2 ; address of 1st reserved value IG.TMV =: IG.TMR+2 ; address of 2nd reserved value IG.STO =: IG.TMV+2 ; address of starting offset IG.LDV =: IG.STO+2 ; Local Date Value IG.LDR =: IG.LDV+2 ; Local storage of Date Relation IG.LTV =: IG.LDR+2 ; Reserved 2-word value IG.LTR =: IG.LTV+4 ; Reserved 1-word value IG.LFO =: IG.LTR+2 ; File Opened Indicator IG.LCH =: IG.LFO+2 ; Local I/O Channel IG.LDP =: IG.LCH+2 ; Directory Entry Pointer IG.LSG =: IG.LDP+2 ; Current Segment Number IG.LHD =: IG.LSG+2 ; Local Header Buffer (5 words) IG.LHP =: IG.LHD+12 ; Pointer to Local Header Buffer IG.LBM =: IG.LHP+2 ; Local Status Bit Mask (inverted) IG.LST =: IG.LBM+2 ; Local Status Value IG.LQL =: IG.LST+2 ; Local Cumulative Length IG.SKP =: IG.LQL+2 ; Blocks to skip before directory IG.SV5 =: IG.SKP+2 ; R5 arg pointer saved here IG.RET =: IG.SV5+2 ; Mode 0=ret matches, 1=ret all IG.ENT =: IG.RET+2 ; Dir entry address IG.EMT =: IG.ENT+2 ; Pointer to EMT area IG.ARE =: IG.EMT+2 ; EMT area (4 words) IG.ASN =: IG.ARE+10 IG.SIZ =: IG.ASN+FNLEN+2 ; Next available offset IG$WAS =: </2> ; Workarea size .SBTTL RT-11 Directory Offset Definitions D.TOTA =: 0 ; Directory Header Area Offsets D.NEXT =: 2 ; Next segment D.HIGH =: 4 ; Highest segment D.EXTR =: 6 ; No. of Extra Bytes in Entries D.STRT =: 10 ; Starting File Block D.LENG =: 12 ; Directory header size E.STAT =: 0 ; Directory Entry Offsets STATUS E.TENT =: 400 ; STATUS BITS Tentative E.MPTY =: 1000 ; Empty E.PERM =: 2000 ; Permanent E.EOS =: 4000 ; End of segment E.NAME =: 2 ; NAME (3 RAD50 words) E.LENG =: 10 ; LENGTH word E.USED =: 12 ; CHAN/JOB (TIME) word E.DATE =: 14 ; DATE word E.ELEN =: 16 ; Normal entry size .SBTTL DSTAT device attributes SPECL$ =: 10000 ; Special directory device WONLY$ =: 20000 ; Write-only device RONLY$ =: 40000 ; Read-only device FILST$ =: 100000 ; Random access device .SBTTL Error Codes E.IVDF =: -5. ; Invalid directory structure E.RDSG =: -7. ; Error reading directory segment E.NODO =: -9. ; No Directory Open E.ENDS =: -10. ; End of Directory Encountered E.IVSO =: -11. ; Invalid STOFST value E.INVD =: -12. ; Invalid device for operation E.IVDR =: -13. ; Invalid date relationship code E.IVWA =: -16. ; Inadequate Work Area specified E.IVAR =: -19. ; Invalid Argument E.NOMA =: -20. ; NO_MATCH return .SBTTL Identification and Relationship codes A.ALL =: "AL A.EQ =: "EQ A.LT =: "LT A.LE =: "LE A.GT =: "GT A.GE =: "GE A.NE =: "NE ; Date Relationship Branch Offsets (used in IGTENT) R.ALL =: 0 R.EQ =: 4 R.LT =: 10 R.LE =: 14 R.GT =: 20 R.GE =: 24 R.NE =: 30