mem_addr = f.fmsget( function, catfile );
16 - .H1SMC - Get first master 17 - .HNSMC - Get next master 18 - .HGCCF - Get current cat/file desc. 19 - .HGFCF - Get first cat/file desc. 20 - .HGNCF - Get next cat/file desc.
F.FMSGET performs a DRL FILACT or MME GEFSYE using the given subfunction code. If successful, the device is extracted from the FMS calling sequence and inserted in the llink descriptor kept by the FMS routines, allowing the user to call F.WHERE on the resulting value. The llink number is extracted from the buffer header.
If an error occurs, the status words are left in the external vector "f.stat", and the FMS error message (if any) will remain intact in the buffer until another call to F.GCAT or F.FMSGET occurs.
You must check "f.stat" to determine if the call was successful. You cannot test the sign of the value returned.
If you get a "pack not mounted" status (4025) from a get first or get next call, FMS arranges that the value returned (i.e. "mem_addr") points to the three-word entry in the type 0 or 1 catalog block. You can use this information to build another get next call or to find the name of the pack that is not mounted.
Copyright © 1996, Thinkage Ltd.