*DECK NP$INFO
*IF DEF,XFR
IDENT NP$INFO
ENTRY NP$INFO
SST
OPL XTEXT COMCMAC
** NP$INFO - GET INFORMATION OF FILE TYPE.
*
* L.T. NGUYEN 84/04/11.
** NP$INFO RETURNS INFORMATION OF A FILE BEFORE TRANSFERRING
* TAKE PLACE.
* CALL FORMAT
* NP$INFO(FILENAM,STATUS)
*
* ENTRY - (A1) = PARAMETER LIST.
* FILENAM = LFN OF FILE.
*
* PARAMETER LIST FORMAT
* FILENAM - DISPLAY CODE FILE NAME, LEFT JUSTIFIED ZERO FILL.
*
* EXIT STATUS = STATUS OF FILE.
* = ZERO, IF LEGAL FILE TYPE.
* = NONZERO, IF FILE TYPE ERROR DETECTED.
*
* USES A - 1,2,5,6.
* B - 1.
* X - 1,2,4,5,6,7.
*
*
* MACROS FILINFO.
NP$INFO DATA 0 ENTRY/EXIT
SX6 A1
SA6 LIST ADDRESS OF PARAMS LIST
SA2 X1 FILE NAME TO BE CHECK
MX6 42
SX3 50001B SET LENGTH OF PARAMETER LIST = 5
BX6 X2*X6
BX6 X3+X6
SB1 1
SA6 INFOT SET RETURN AREA FIRST WORD
FILINFO A6 CALL MACRO
SA1 LIST
SA1 X1+1
SA2 INFOT+1
SA3 ILLTP1 GET PRIMARY FILE MASK
BX6 X2*X3 MASK RESULT
SX5 X6-6
ZR X5,ENDT LEAVE IF PRIMARY FILE
SA3 ILLTP
BX6 X2*X3 MASK OUT THE ILLEGAL FILE TYPES
ENDT SA6 X1 RETURN INFO TO CALLER
EQ NP$INFO RETURN
INFOT BSSZ 5 FILE INFORMATION RETURN AREA
ILLTP CON 7S18+1S16+1S11+1S10+7S3
ILLTP1 CON 1S2+1S1
LIST BSSZ 1
END
*ENDIF