program TSTISM,1.0(101) ! test ISMPAR.SBX !----------------------------------------------------------------------- ! Test the ISMPAR subroutine !----------------------------------------------------------------------- !EDIT HISTORY ![101] August 17, 2008 06:37 AM Edited by joaquin ! Updated for ISMPAR 1.0(101) (ISAM 1.1, A-Shell 5.1.1123) / !---------------------------------------------------------------------- ++include ashinc:ismdef.bsi ! [101] MAP1 IFNAME,S,24 ! File name (no extension) ! (must have a trailing null) MAP1 ISMPAK MAP2 I'DEV,S,4 ! device name (ASCII) MAP2 I'UNIT,B,2 ! unit # MAP2 I'UPDCNT,B,4 ! update counter MAP2 I'RECSIZ,B,2 ! rec size MAP2 I'KEYSIZ,B,2 ! key size MAP2 I'KEYPOS,B,2 ! key position MAP2 I'IDAFRE,B,4 ! IDA free pointer MAP2 I'IDAFRC,B,4 ! IDA freecount MAP2 I'IDXFRE,B,4 ! IDX free pointer MAP2 I'IDXFRC,B,4 ! IDX freecount MAP2 I'RECALC,B,4 ! records allocated * MAP2 I'TOPDIR,B,4 ! top directory block MAP2 I'LEVELS,B,2 ! [101] # IDX levels MAP2 I'BLKSIZ,B,2 ! [101] IDX block size MAP2 I'IDXTYP,B,2 ! [101] IDX type flags MAP1 I'ERR,B,4,-1 !----------------------------------------------------------------------- LOOP: IFNAME="" input line "Enter ISAM Filename: ",IFNAME if IFNAME="" end xcall ISMPAR,IFNAME,ISMPAK ? if I'RECALC=I'ERR ? "File not found! " : end ? "Device: ";I'DEV;str(I'UNIT);":" ? "Unit #: ";I'UNIT ? "Update Counter: ";I'UPDCNT ? "Record Size: ";I'RECSIZ ? "Key Size: ";I'KEYSIZ ? "Key Position: ";I'KEYPOS ? "IDA Free Pointer: ";I'IDAFRE ? "IDA Free Count: ";I'IDAFRC ? "IDX Free Pointer: ";I'IDXFRE ? "IDX Free Count: ";I'IDXFRC ? "Records Allocated:";I'RECALC ? "Top Directory Blk:";I'TOPDIR ? "IDX Levels: ";I'LEVELS ! [101] ? "IDX Block Size: ";I'BLKSIZ ! [101] ? "IDX Type: ";I'IDXTYP; ! [101] ? " "; ! [101] if (I'IDXTYP and IDXTYP_SECONDARY) ? "(Secondary) "; ! [101] if (I'IDXTYP and IDXTYP_OLDFORMAT) ? "(ISAM 1.0) "; ! [101] if (I'IDXTYP and IDXTYP_ASH51) ? "(ISAM 1.1) "; ! [101] if (I'IDXTYP and IDXTYP_SWB) ? "(SWB) "; ! [101] ? ! [101] ? goto LOOP