mirror of
https://github.com/PDP-10/its.git
synced 2026-03-21 16:52:34 +00:00
79 lines
1.8 KiB
Plaintext
79 lines
1.8 KiB
Plaintext
'<PCODE "2GNJFNI">
|
|
|
|
<PACKAGE "GNJFN">
|
|
|
|
<ENTRY NEXT-FILE GNJFN-RESET>
|
|
|
|
<USE "NSTR" "SORTX">
|
|
|
|
<SETG MFDPTR 2>
|
|
|
|
<SETG MFDENTLEN 2>
|
|
|
|
<SETG UDNAMP 2>
|
|
|
|
<SETG LUNBLK 5>
|
|
|
|
<SETG UNFN1 1>
|
|
|
|
<SETG UNFN2 2>
|
|
|
|
<SETG UNRNDM 3>
|
|
|
|
<SETG UNDATE 4>
|
|
|
|
<SETG UNLNKB <BITS 1 18>>
|
|
|
|
<SETG UNWRDC <BITS 10 24>>
|
|
|
|
<SETG UNDSCP <BITS 13 0>>
|
|
|
|
<MANIFEST MFDPTR MFDENTLEN UDNAMP LUNBLK UNFN1 UNFN2 UNRNDM UNDATE UNLNKB UNWRDC
|
|
UNDSCP>
|
|
|
|
<PUT CUR-STATE DECL '<VECTOR <OR STRING <UVECTOR [REST WORD]>> <OR FALSE <
|
|
UVECTOR [REST WORD]>> [2 <OR FALSE WORD>] [3 WORD]>>
|
|
|
|
<SETG CS-MFD 1>
|
|
|
|
<SETG CS-DIR 2>
|
|
|
|
<SETG CS-FN1 3>
|
|
|
|
<SETG CS-FN2 4>
|
|
|
|
<SETG CS-LDIR 5>
|
|
|
|
<SETG CS-LFN1 6>
|
|
|
|
<SETG CS-LFN2 7>
|
|
|
|
<MANIFEST CS-MFD CS-DIR CS-FN1 CS-FN2 CS-LDIR CS-LFN1 CS-LFN2>
|
|
|
|
<SETG LAST-SPEC "">
|
|
|
|
<GDECL (LAST-SPEC) STRING (MFD-BUF DIR-BUF) <UVECTOR [REST WORD]>>
|
|
|
|
"On 20x, the state is simply a JFN (full-word), which can be passed
|
|
to GNJFN. If it is false, we aren't initialized. On ITS, the state is
|
|
a pair: a pointer into a uvector of directories to be searched, and
|
|
a pointer into the current directory."
|
|
|
|
<SETG CUR-STATE <>>
|
|
|
|
"Takes a file spec, including *'s, and returns a vector containing
|
|
a string and bits as for the GNJFN call, or false if no more files."
|
|
|
|
<SETG NEXT-FILE %<RSUBR!- '[ %<PCODE!- "2GNJFNI" 0> NEXT-FILE #DECL ("VALUE" <
|
|
OR FALSE <VECTOR STRING>> "OPTIONAL" STRING ANY) SIXTOS STRTOX %<RGLOC LAST-SPEC
|
|
T> %<RGLOC CUR-STATE T> "READ" "*" MFD-BUF %<RGLOC MFD-BUF T> "READB"
|
|
"M.F.D. (FILE)" CANT-GET-MFD NEXT-FILE DIR-BUF %<RGLOC DIR-BUF T> T ".FILE."
|
|
"(DIR)" "DSK" "DSK:" ";" " "]>>
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,NEXT-FILE PGLUE ![738197503 -16777216!]>>
|
|
|
|
|
|
<SETG GNJFN-RESET %<RSUBR-ENTRY '[NEXT-FILE GNJFN-RESET #DECL ("VALUE" FALSE
|
|
"OPTIONAL" <OR ATOM FALSE>)] 661>>
|
|
|
|
<ENDPACKAGE>
|