ISMPAR

xcall ISMPAR, ifname, ismpak {,lvl1cnt, keyalc}

ISMPAR.SBX is a variation of the internal ISMROK.SBR, with the main distinction being that it takes a filespec rather than an open file channel and thereby avoids potential file locking conflicts. The source for the routine can be found in ISMPAR.BP in SOSLIB:[907,22].

Parameters

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         # IDX levels

    MAP2 I'BLKSIZ,B,2         IDX blk size

    MAP2 I'IDXTYP,B,2         IDX type flags

 

MAP1 IFNAME,S,64            IDX filespec

MAP1 LVL1CNT,B,2            # of idx blocks at top level (max 100)

MAP1 KEYALC,B,4             # of keys allocated in the IDX file. In a typical file, this should match idaalc—i.e. one key per data record.

 

History

2022 February, A-Shell 6.5.1711:  Add new optional argument keyalc to return the new keys allocated value.