46 - obtain information about allocated file.

Usage:

mme    gefsye
zero   CC,ARGLIST
zero   46,BUFFER

Where:

CC
is either zero or a courtesy call address.
ARGLIST
points to a list of arguments for this call. The format of this list is described below.
BUFFER
points to a buffer that can be used in this operation. This buffer should be 355 words long.

Description:

This version of MME GEFSYE obtains information about an allocated file. The argument list indicated by ARGLIST has the form

zero    RETURN_WORD,FILE_CODE
where
RETURN_WORD
points to two words where MME GEFSYE can return a status. MME GEFSYE will initialize these words to zeroes. When MME GEFSYE returns, the first word will contain
Bit 0      -- 1 to indicate completion
    1-11   -- octal error code, or 0 for success
    18-35  -- pointer to additional error info
              (if any)
The following octal error codes may appear.
 5  -- incorrect cat/file description
42  -- invalid file code or PAT ptr
43  -- invalid catalog block address
In addition, an I/O error (02) or checksum error (51) may occur, with the result that MME GEFSYE returns incomplete data.
FILE_CODE
points to a word containing the file code of the file about which information is desired. The file code should be given in the last 12 bits of this word; the first 24 are ignored by the system.

If the word indicated by FILE_CODE is zero, this version of MME GEFSYE is interpreted as a request for general statistics instead of information about a specific file.

Information about a File

When MME GEFSYE (46) is asked to return information about a specific file, the information is returned in the buffer indicated by BUFFER. Below, we describe the format of this information.

BUFFER+7:  Bits 0-35:  number of levels in pathname
      +8:       0-17:  offset from BUFFER to compressed
                       pathname
               18-23:  zero
               24-35:  number if BCD characters in
                       compressed pathname
      +9:       0-17:  offset from BUFFER to beginning
                       of pathname word pairs
     +35:       0-35:  PAT pointer image
     +36:       0-17:  total number of words in PAT
               18-35:  reserved
  +37-98:  image of PAT
 +99-162:  image of file description (type 02 block)
           if permanent file
+163-226:  FMS I/O buffer zero-filled before returning
+227-290:  file pathname info designated by pointers
           in words 8 and 9 of the buffer
+291-320:  file information control block if file
           allocation specified monitored access
           or journalizing protection
+321-354:  reserved

If error code 05 is returned, the PAT image is available if the file is on mass storage. In this case, word 34 of the buffer is non-zero.

The buffer is automatically zeroed by the MME, so you don't have to clear the buffer yourself.

The password in the file description block is set to zero, regardless of what the true password is.

The PIT and FIT information for test mode or duplicate files is not returned.

Since formats are subject to change with new software releases, programs should use standard FMS symbol references to access data in the FD. Similarly, TP symbols should be used to access the information block.

If this function is used by a privileged slave program, the buffer area should not be changed until after the function is complete (bit 0 of RETURN_WORD is 1).

The PAT may exceed 62 words, but only the first 62 words are returned. BUFFER+36 contains the total PAT size.

On successful completion, the file pathname is in the buffer and may have as many as 10 levels. The pathname appears in two formats, where the relative virtual address of the UMC is even in both instances:

  1. As double-word pairs containing each level name as it appears in the FMS structure (left-justified, blank-filled). After the last pair comes a word containing -1. BUFFER+9 (.HBTM4) contains the number of levels including the UMC and file names. BUFFER+7 (.HBTM2) contains the offset from the buffer to the UMC.
  2. As a compressed pathname with blanks suppressed and a slash between each level (i.e. a normal pathname string). BUFFER+8 (.HBMT3) contains an EIS (ADSC6) descriptor defining the string relative to the beginning of the buffer.

Information from a Statistics Request

When MME GEFSYE (46) is asked to return general statistics, the information is returned in the buffer indicated by BUFFER. Below, we describe the format of this information.

BUFFER+35:  current date (MMDDYY)
      +36:  time of day in units of 16 microseconds
            after midnight
      +37:  current value of bits 36-71 in the system
            clock
      +38:  Julian date
   +39-42:  reserved
      +43:  cache switch: non-zero if FMS catalog
            cache is enabled
      +44:  upper half is number of cache buffers,
            lower half is reserved
      +45:  buffer sequence control for LRU algorithm
      +46:  total structure reads
      +47:  total structure writes
      +48:  total cache bits -- no read necessary
      +49:  total cache was bypassed because IO was
            not present in courtesy call
      +50:  total cache was bypassed because read
            was not 320 words
      +51:  total number of times cache was cleared
      +52:  total number of times FD was not found
            for PAT refresh
      +53:  total number of times FD was found for
            PAT refresh
   +54-90:  reserved
When enabled, words 91-354 provide the following information for each of the 32 hash sections, plus the catalog device directory.
  +91-123:  total time has was locked (milliseconds)
 +124-156:  total number of locks
 +157-189:  total number of locks denied because hash
            was busy
 +190-222:  time summary for the function, if function
            requires locking of section
 +223-255:  total number of times function was called
 +256-288:  number of times error was returned
 +289-321:  total structure reads
 +322-354:  total structure writes
Statistical information is only provided when selected during system start-up. If it is not selected, words 91-354 will be zero.

The data in words 45-54 is only present if the catalog cache option is selected at start-up time, causing the cache switch to be set on.

No time statistics are accumulated for functions that do not lock a section.

Copyright © 2000, Thinkage Ltd.