The HLP system uses its variable-length direct-access file system, described above, to implement the indexed-sequential structure described in Section 5.3. The file has an index region and a data region. The index region contains three sets of pointers, to the data, to the next index entry down the branch, and the next index entry at the same level in the current branch.
SUBROUTINE HLP_HREADD(STRING,NC,JSTAT)
HLP_HREADD performs a sequential-access read from the data region of the help library. The returned string STRING has length NC. JSTAT is the status.
SUBROUTINE HLP_HREADX(NAMETR,NAVIG,STRING,NC,JSTAT)
HLP_HREADX reads the help library index, leaving the sequential-access addresses pointing to the indexed record. If it is necessary to translate a library name into a filename, the routine NAMETR will be called. NAVIG controls which track through the library is required -- down the branch or along a level. STRING is the record input and NC its length. JSTAT is the status.
SUBROUTINE HLP_HSEEKX(FNAME,IADRX,LOGLEV)
HLP_HSEEKX positions the index of the help library FNAME for a sequential access (using the HLP_HREADX routine) starting at character address IADRX. The caller also supplies LOGLEV, the logical level, which specifies the hierarchical level, on this occasion, of the help subtree contained in the library.
SUBROUTINE HLP_HTELLX(FNAME,IADRX,LOGLEV)
HLP_HTELLX inquires the help library's current name, index address and logical level.