.TITLE SRDATA .IDENT /V2.1/ ;26-MAY-79 ;+++002 .LIST MEB ;+ ; SRDATA---SORT DIRECTORY DATA MODULE ; ; THIS MODULE CONTAINS ALL IMPURE DATA FOR THE ; ...DIRECTORY SORT TASK ;- EFN1 = 1 LUN2 = 2 ; ; ; SYSTEM MACRO CALLS ; .MCALL FDBDF$,FSRSZ$,FDRC$A,FDOP$A,FDBF$A,GCMLB$,FDBK$A,CSI$ .MCALL FDAT$A,NMBLK$,FCSBT$,FDOF$L,QIO$ FCSBT$ FDOF$L CSI$ FSRSZ$ 1 ; ; LOCAL DEFINITIONS CMDLUN =1 ;LUN FOR CMD INPUT UFDLUN =2 ;LUN TO READ USER-FILE-DIECTORY LSTLUN =3 ;LUN TO LIST SORTED DIRECTORY ACPLUN ==4 ;LUN FOR ACP FLUSH (SEE SRDSRT) DSKEFN ==1 ;EFN FOR UFD READ SYNC. ; ;GET TKB TO ALLOCATE A LUN FOR ERROR MESSAGES ; MOLUN:: .IF DF IAS .WORD 5 ;DEFINE ERROR LUN AS DEFAULT TI: ON IAS ;+++001 .IFF .MOLUN::.BLKW 1 ;DEFINE ERROR LUN ON RSX11M SYS ;+++001 .ENDC ; ; ; COMMAND BUFFER & CONTROL BLOCK ; CSIBLK::.BLKB C.SIZE ; CMDBLK::GCMLB$ 2,SRD,LINBUF,CMDLUN ; CMDSIZ==CMDBLK+G.CMLD ;DEFINE COMMAND SIZE ADDRESS CMDADR==CMDSIZ+2 ;...AND ADDRESS POINTER ; UFDFDB::FDBDF$ FDRC$A FD.RWM ;READ/WRITE MODE FDBK$A ,512.,,DSKEFN,IOSB$ FDOP$A UFDLUN,,,FO.RD ; LSTFDB::FDBDF$ FDAT$A R.VAR,FD.CR FDRC$A FD.PLC,LINBUF,132. FDOP$A LSTLUN,,,FO.WRT IOSB$:: .BLKW 2 ; ;QIO DPB TO ATTACH/DETACH THE LISTING DEVICE ; LSTQIO::QIO$ IO.ATT,LSTLUN LSTDFN::NMBLK$ DIRECTORY,LST,0,SY,0 ; ; SAVE AREA FOR STACK POINTER ; SAVSP:: .BLKW 1 .LIMIT ;TKB PUTS BOTTOM OF STACK& DIRBF$==.-2 ;SET POINTER TO START OF BUFFER DIRBE$::.BLKW 1 ;END OF DIRECTORY BUFFER HERE .IF DF IAS TSKBF$::.BLKW 20 ;GET TASK PARMS FOR IAS /INC ;+++001 .IFF PARBF$::.BLKW 3 ;GET PARTITION PARMS FOR RSX11M ;+++001 .ENDC SEBUF$::.BLKB 20. ;SELECT NAME BUFFER LINSZ$::.BLKW 1 ;LINE SIZE SWITCH VALUE DABUF$::.BLKB 9. ;DATE HERE .BYTE 0 ;SENTENAL .EVEN OWBUF$::.BLKB 12. ;OWNER SELECT STRING HERE ; SWMSK$::.BLKW 1 S2MSK$::.BLKW 1 ;NEW SWITCH WORD FOR PROGRAM FLAGS ;+++002 LVNUM$::.BLKW 1 ;LOW VERSION NUMBER - SELECTING HIGHER VERSIONS DATIM$::.BLKB 16. ;KEEP DATE & TIME HERE ; ;SAVE AREA FOR DIRECTORY AND DEVICE INFO FOR SELECTIVE DELETE ;+++ ORDER DEPENDENT ; SAVDID::.BLKW 2 ;DIRECTORY ID SAVED HERE SAVDVN::.BLKW 1 ;DEVICE NAME GOES HERE SAVUNM::.BLKW 1 ;UNIT NUMBER HERE ACPFNB::.WORD 0,0,0 ;FILE NAME BLOCK FOR ACP FLUSH .RAD50 /$$$$$$$$$$$$/ ;NON EXISTENT FILE-NAME .WORD 1,0,0,0,0,0 ;--- ORDER DEPENDENT ; ;WILD CARD DIRECTORY FLAGS ; MFDBLK::.WORD 0 ;CURRENT MFD BLOCK IN MFDBUF ;002 MFDBUF::.BLKB 512. ;MFD BLOCK BUFFER ;002 NXUIC$::.BLKW 1 ;NEXT UIC TO CHECK WCGRP$::.BLKW 1 ;GROUP CODE OR 0 FOR WILD CARD GRP WCUSR$::.BLKW 1 ;USER NUMBER OR ZERO FOR WILD .EVEN ;WORD ALIGNMENT NEEDED UICS$:: .ASCIZ /000/ ;PROTOTYPE UIC FIELD .EVEN ; ;FORMAT INFO FOR DIRECTORY SUMMARY LINE ($EDMSG) ; FMTTAB:: .ASCIZ ? ** TOTAL OF %T/%T BLOCKS IN %M FILES? .EVEN FMTARG:: .WORD BLKUSE .WORD BLKALL FILCNT:: .WORD 0 BLKUSE:: .WORD 0,0 BLKALL:: .WORD 0,0 ; ;READ FILE HEADER DPB ; READHD::QIO$ IO.RAT,LUN2,EFN1,,IOSB$,,<0,ATTLST> ; ATTLST: .BYTE -10.,0 ;ATTRIBUTE LIST---READ ENTIRE HEADRE .WORD HDBUF$ ;THIS IS THE BUFFER POINTER .WORD 0 ;ATTRIBUTE LIST TERMINATOR ;+++001 HDBUF$::.BLKW 256. ;THIS IS THE BUFFER ; LINBUF::.BLKB 132. ;DATE HERE ; ; .END