$FiStatL

From m204wiki
Revision as of 20:32, 24 October 2012 by JALWiccan (talk | contribs) (1 revision)
Jump to navigation Jump to search

Retrieve set of files' statistics into list

Most Sirius $functions have been deprecated in favor of Object Oriented methods. There is no OO equivalent for the $FiStatL function.

This function allows retrieval of statistics for a set of files into a $list.

The $FiStatL function accepts three arguments and returns a numeric error code.

The first argument is the identifier of the $list that is to receive the results. The current contents of the $list are deleted and replaced with the requested statistics. The format of each $list item is:

Byte 1-10 Blank padded file name
Byte 11-12 Binary file number
Byte 13- Returned statistics


The second argument is a string of blank-delimited words indicating the statistics to be returned. The length of each returned statistic is always a multiple of 4 bytes. This facilitates the use of $StatLD $StatLD with the returned $list. For more information on available statistics, see the SirMon User's Guide.

The third argument is a selection criterion that indicates which files, of all those that are currently open (by some user or by some subsystem), are to be included in the output $list. The following criteria are allowed:

FILE=fid include only files with filenames matching fid (wildcards allowed).
SUBSYS=subsysid include only files opened by subsystem subsysid. Wildcards are allowed.
USER=usernum include only files opened by user usernum.

Actually, all files are always included in the output $list, but the excluded files have the high order bit of their file numbers turned on. This tells $StatLD to exclude the files from the difference $list.

Syntax

<section begin="syntax" />%RESULT = $FiStatL(list_identifier, stat_list, criterion) <section end="syntax" />

%RESULT is either a positive number which is the milliseconds since the online was brought up, or it is a negative error code.

-3 - CCATEMP is full -5 - Required parameter not specified -6 - Invalid $list identifier -12 - Invalid name in stat_list -13 - STAT not linked in -16 - Invalid selection criterion

$FiStatL return codes

The following program displays some statistics for all files.

B %DATA IS STRING LEN 255 %LIST = $ListNew %DATA = $FiStatL(%LIST, 'DKIO CFRCONF CFRQUEU') IF %DATA < 0 THEN PRINT '$FISTATL ERROR... RC = ' WITH %DATA STOP END IF FOR %I FROM 1 TO $ListCnt(%LIST) %DATA = $ListInf(%LIST, %I) PRINT 'FILENAME = ' WITH $SUBSTR(%DATA, 1, 10) PRINT 'DKIO = ' WITH $UNBIN( $SUBSTR(%DATA, 13, 4) ) PRINT 'CFRCONF = ' WITH $UNBIN( $SUBSTR(%DATA, 17, 4) ) PRINT 'CFRQUEU = ' WITH $UNBIN( $SUBSTR(%DATA, 21, 4) ) PRINT END FOR END