HP 3000 Manuals

HPVOLINFO [ MPE/iX Intrinsics Reference Manual ] MPE/iX 5.0 Documentation


MPE/iX Intrinsics Reference Manual

HPVOLINFO 

Returns volume information.

Up to six items of information can be retrieved.  They must be specified
in pairs (,itemnum, item) and separated by commas

Syntax 
______________________________________________________
|                                                    |
|                I32       I16         *             |
|     HPVOLINFO(status, volspecifiernum, volspecifier|
|         I16     *                                  |
|     [,itemnum, item][...]);                        |
______________________________________________________

            

Parameters 

status                32-bit integer (optional) 

                      Returns the status of the HPVOLINFO call.  If no
                      errors or warnings are encountered, status returns
                      32 bits of zero.  If errors or warnings are
                      encountered, status is interpreted as two 16-bit
                      fields.

                      Bits (0:16) comprise status.info.  A negative value
                      indicates an error.  A positive value indicates a
                      warning.

                      Bits (16:16) comprise status.subsys.  This value
                      defines the subsystem that set the status
                      information.  On MPE/iX the volume management
                      identification number is 163.  On MPE V, this field
                      contains a 0 (zero).


NOTE It is good programming practice to specify status and check its value after the intrinsic call. If you do not specify status and an error condition is encountered, HPVOLINFO causes the calling process to abort.
The error (negative) / warning (positive) values of status.info that can be returned from a call to HPVOLINFO are given here. Values marked with an asterisk (*) are returned by the MPE/iX version of HPVOLINFO only. Value Meaning 0 No errors or warnings (successful call). 150 Array passed in cannot hold all names--list truncated. 151 File label is unreadable. 152 * Parts of the set or class are not mounted. Data was gathered on the portion of the set or class that was mounted, so the data may be incomplete. -150 Invalid itemnum. -151 Missing itemnum or item (not paired). -152 Required parameter omitted. -153 Parameter address out of bounds. -154 Split stack calls not allowed. -155 LDEV, volume set/class, volume not mounted. -156 Invalid volume specifier number. -157 Invalid volume specifier. -158 LDEV not a disk LDEV. -159 Device class not configured for volumes. -160 Device class does not map into a volume class. -161 Free space range sizes not in ascending order. -162 Invalid number of free space ranges specified. -163 Volume class cannot be specified with system set. -164 Error while scanning the directory. -165 Volume label is unreadable. -166 Disk free space map is bad. -167 Allocation is disabled for disk free map. -168 Defective tracks table is unreadable. Value Meaning -169 Disk I/O error. -170 Virtual memory is only valid on system volumes. -171 Directory size is not valid for specified volume. -172 Spoolfiles are valid only on system volumes. -173 Item number is valid only on MPE/iX systems. -174 Item number is valid only on MPE V systems. -175 List length specified is invalid. -176 Item number / volume specifier number combination is illegal. -177 Item is not yet implemented. -178 Volume table is in an inconsistent state. -179 Unrecognized drive type. -180 * Physical I/O error. -181 * An unexpected error was detected. Check the error stack to determine the exact error. -182 * An error was detected in the label management subsystem. Check the error stack to determine the exact error. -183 * Disk access error. Check the error stack to determine the exact error. -184 * A mirrored volume that was specified is disabled. -185 * The volume set specified is not a volume set on the system. -186 * The volume class specified is not present in the volume set specified. -187 * The member volume specified is not present in the volume set specified. volspecifiernum 16-bit signed integer by value (optional) A 16-bit integer indicating which volume specifier is to be used to obtain information from HPVOLINFO. The default value for volspecifiernum is 0 (zero) if it is not included by the caller. This parameter is used in conjunction with the volspecifier parameter. The following are the valid volume specifier numbers: Value Meaning 0 Volume specifier is ignored. Using 0 (zero) is the same as specifying all the volumes on the system. 1 Volume specifier is the logical device number of the volume for which information is to be obtained. 2 Volume specifier is a volume set name. 3 Volume specifier is a volume set/volume class name pair. 4 Volume specifier is a volume set/volume name pair. 5 Volume specifier is a device class name. volspecifier Type varies (optional). The volspecifier is optional when volspecifiernum is 0 (zero). However, for a volspecifiernum of 1, 2, 3, 4, or 5, you must specify a volspecifier parameter. On MPE V, you must declare volspecifier as a byte array. The data type of the volspecifier depends on the volspecifiernum: volspecifiernum volspecifier 0 Ignored 1 16-bit signed integer 2, 3, 4, 5 Character array When 0 (zero) is used as the volspecifiernum, the volspecifier is ignored. A volspecifiernum of 0 (zero) refers to all the volumes on the system. This includes all system and nonsystem volumes. When 1 is used as the volspecifiernum, the volspecifier must be an LDEV number that corresponds to a configured and mounted volume. An LDEV number can be any number from 1 through 999. For character specifiers, the first character determines the delimiter character for the parameter. The delimiter must be printable; it cannot be alphanumeric or one of the special characters ". , :" or "_" as explained below. For example, to pass the volume set MVSN1, you may use % as the delimiter: %MVSN1% Operation Notes * For volspecifiernum of 3 or 4, the volume set name and the volume class or volume name must be separated by a colon: %SET:CLASS% A colon cannot be used as a delimiter. * Since a volume set or class can be fully qualified on MPE V, periods are allowed in the name. Because periods and underscores are allowed in an MPE/iX name, these characters cannot be used as delimiters. * For volspecifiernum of 2 or 3 on MPE V (private volumes), a volume set/class name may be partially or fully qualified: VSETNAME.GROUP.ACCT CLASSNAM.GROUP.ACCT Each field of the name must consist of one to eight alphanumeric characters. The first character must be a letter. The name may have up to 55 characters: %SETxxxxx.GROUPxxx.ACCOUNTx:CLASSxxx.GROUPxxx.ACCOUNTx% This name has six 8-character fields, four periods, a colon, and two delimiters. When the volume set or class name is not fully qualified, it refers to the volume set or class in the logon group/account. * On MPE/iX, a valid volume set or class name may contain as many as 32 characters. The first character must be a letter. The rest may be any combination of alphanumeric characters, including the underscore "_" and the period ".". * On MPE/iX, the name of the system volume set is MPEXL_SYSTEM_VOLUME_SET. The system volume set on MPE V does not have a predefined name; thus, the name MPEXL_SYSTEM_VOLUME_SET is used for compatibility with MPE/iX. On both systems, this is the volume set name returned for items #3 and #12. * When the system volume set name is used on MPE V, it must not be followed by a class name Refer to the discussion for volspecifiernum 5, below) On MPE V, group and account names cannot be used to partially or fully qualify the set or volume name when the system volume set name is specified. * For volspecifiernum 4 on MPE V, a volume name consists of as many as eight alphanumeric characters. The first character must be a letter. For private volumes, names may be partially or fully qualified (vname.group.acct). Each field of the name must be one to eight alphanumeric characters, the first of which must be a letter. The maximum number of characters allowed is 55. %SETxxxxx.GROUPxxx.ACCOUNTx:NAMExxxx.GROUPxxx.ACCOUNTx% This name has six 8-character fields, four periods, a colon, and two delimiters. When the volume name is not fully qualified, it refers to the volume name in the logon group and/or account. * For volspecifiernum 4 on MPE/iX, the volume name consists of any string of one to 16 alphanumeric characters, including the underscore and the period. The first character must be a letter. * On MPE V, there is no volume class for the system volume set. In order to access a subset of the system volume set, devices classes are used. * On MPE/iX, volume classes exist for both system and nonsystem volume sets. Volume classes take the place of device classes. * The volspecifiernum 5, for items #6 and #7, provides compatibility between MPE/iX and MPE V. Specifier 5 passes the device class of a group of volumes as they apply to the I/O configuration. The maximum number of characters allowed in the string is 8. On MPE V, specifier 5 must refer to a device class that is configured to a group of volumes. * ON MPE/iX, when a device class name is specified, a configured and mounted volume class with the same name must exist in the system volume set. Data is returned based on this volume class in the system volume set if it exists. Otherwise, an error results. itemnum 16-bit signed integer by value (optional). This is the cardinal number of the item desired. It specifies which item value is to be returned. See Item and Itemnum Pairs. item Type varies (optional). On MPE V, the item must be declared as a byte array. The actual type of the item is specified by the corresponding itemnum. See Item and Itemnum Pairs. Special Considerations * You do not need special capabilities to use the HPVOLINFO intrinsic. * Split-stack calls are illegal. * When an error is returned, the values in the item parameters are all undefined. It is not guaranteed that the data returned in an item is meaningful if any negative status value is returned. * On MPE V, real values are accepted from the caller and returned to the caller in 64-bit Hewlett-Packard 3000 format. This is the default format for MPE V. * On MPE/iX, real values are accepted from the caller and returned to the caller in the format that is the default mode of the caller. If the intrinsic is called from compatibility mode, any real values specified to HPVOLINFO must be in 64-bit Hewlett-Packard 3000 format, and any real values returned by HPVOLINFO will be in that format. If the intrinsic is called from native mode, any real values specified to HPVOLINFO must be in 64-bit IEEE format, and any real values returned by HPVOLINFO will be returned in that format. * If the system is highly active while this intrinsic is called, some of the item values returned may not reflect the expected results. For example, when HPVOLINFO is called to return the disk space used by permanent files, a value is returned. But if immediately after the value is returned, a process on the system purges a file (FCLOSE a file with a disposition of 4), the value does not reflect this difference. * ON MPE V, a set or class is considered to be logically mounted if all of its members are logically mounted (that is, the LMOUNT or MOUNT command was used). * On MPE/iX, if the volume specifier is a set or class, then at least the master volume must be logically mounted (that is, the volume must be in a master or member state). If the volume specifier is a logical device number, or a volume name, both the volume specified and the master volume (of the set enclosing the volume specified) must be logically mounted. * If the volume specifier is a logical device number, it must be a member of a set or class that is logically mounted. If the volume specifier is a volume set name, the set must be logically mounted. If the volume specifier is a volume class name, the class must be logically mounted. If the volume specifier is a volume name, that volume must be a member of a set or class that is logically mounted. When the volume specifier is a device class, all of the logical device numbers in the specified device class must be members of logically mounted sets/classes. All the volumes on the system, whether they are logically mounted or not, may be specified by using volspecifiernum 0 (zero). * If the volumes for volspecifiernum 1, 2, 3, 4, 5 are not logically mounted as specified above, the HPVOLINFO intrinsic returns a VOLUME NOT MOUNTED error. If the caller chooses to continue with the same specifier, the LMOUNT command (MPE V) or the VSOPEN command MPE/iX can be used with the COMMAND or HPCICOMMAND intrinsic to logically mount the appropriate volume sets or classes. If a volume is taken offline while the intrinsic is accessing it, the process hangs until the volume is online again. I/Os cannot complete to the disk when a volume is offline. * On MPE/iX, mirrored disks maintain identical copies of the same information on two disks. Consequently, the values returned by this intrinsic reflect information from only one of the volumes in a mirror disk pair. When retrieving an LDEV number (item #13) using a volume name that is associated with a mirrored disk pair, only one of the LDEV numbers of the mirrored pair is returned. Which one is returned is random. Be aware that in this situation, the LDEV number returned may be different across system startups. Later use of the LDEV numbers returned for mirrored disks are guaranteed to provide accurate information for the mirrored volume set. * On MPE/iX, if information is requested for the split backup volume set, the information returned is for the split user volume. Information Returned INFORMATION RETURNED ITEM# Disk space used by permanent files, in sectors 32, 33 Disk space used by temporary files, in sectors (reserved: 34, 35) Drive type 8 File label overhead, in sectors MPE/iX 26, 27 Free space area, largest contiguous, in sectors 42, 43 Free space distribution array 36, 37 Free space distribution, in sectors per range 38, 39 Free space, total, in sectors 40, 41 Logical device number 13 Member volume names, list 7 Member volumes, number of 6 Overhead, directory space, in sectors 24, 25 Overhead, MPE total, in sectors 16, 17 Overhead, transaction management MPE/iX 28, 29 Overhead, transient space, in sectors MPE/iX 18, 19 Sector size, in bytes 9 Spoolfile disk space usage, in sectors 30, 31 Transient space, configured maximum, MPE/iX, in sectors 20, 21 Virtual memory overhead, in sectors MPE V 22, 23 Volume capacity, in sectors 14, 15 Volume class names, list 5 Volume class names, number of 4 Volume name 11 Volume sets, list 3 Volume sets, number of 2 Volume set name 12 Volume type 10 Item and Itemnum Pairs All item parameters are passed by reference. 2 Number of volume sets Function = MPE/iX, MPE V: DSTAT Returns the number of system and nonsystem volume sets that are configured on the system. It returns a 32-bit signed integer containing the number of volumes sets. Zero (0) is the only valid volspecifiernum. May be used with Item=3. 3 List of volume set names Function = MPE/iX, MPE V: DSTAT Returns a list of all system and nonsystem volume set names mounted on the system. The item must be a character array where the list of set names is returned. The first four bytes of the array are interpreted as a 32-bit integer describing the length of the array. The caller must set this value equal to the maximum number of names that fits into the array being passed. On return, the value has been modified to reflect the actual number of names returned. The remaining bytes are mapped to a list of 32-byte names. May be used with Item=2 to determine the maximum number of names that could be returned. 4 Number of volume classes Function = MPE/iX: VOLUTIL command Returns the number of volume classes that a volume or volume set is associated with. Returns a 32-bit signed integer containing the number of volume classes. On MPE/iX, this number includes only classes whose members are logically mounted. A volume can be associated with more than one volume class. So, when the specifier is 1 or 4, the number returned is the number of volume classes that the volume is a member of. When the specifier is 2, the number returned is the number of volume classes that are a subset of the volume set. May be used with Item=5 5 List of volume class names Function = MPE/iX:VOLUTIL Returns a list of volume class names. On MPE/iX, the list includes only the names of classes whose members are all logically mounted. The item must be a character array where the list of class names is returned. The first four bytes of the array are interpreted as a 32-bit integer describing the length of the array. The caller must set this value equal to the maximum number of names that fits into the array being passed. The remaining bytes are mapped to a list of 32-byte names. On return, the value has been modified to reflect the actual number of names returned. A volume can be associated with more than one volume class. So when the specifier is 1 or 4, the list returned is a list of volume classes that the volume is a member of. When the specifier is 2, the list returned is a list of volume classes that are a subset of the volume set. May be used with Item=4 to determine the maximum number of names that could be returned. 6 Number of member volumes Function = MPE V: LISTVS MPE/iX: VOLUTIL Returns the number of member volumes in the specified volume set/class or device class. This item returns a 32-bit signed integer containing the number of member volumes. When the specifier is 2 or 3, the number of member volumes that make up the volume set or class is returned, including the master volume in the total count. When the specifier is 5, the number of member volumes configured with the passed device class is returned. For example, if a volume set consists of a master volume, MASTER, and two member volumes, MEMBER1 and MEMBER2, and if the specifier used is a volume set name, the number returned is 3. On MPE/iX you can remove some or all of the volumes in a volume set (excluding the master volume). Therefore, this number depends on the number of volumes you have mounted at the time the intrinsic call is made. Mirrored disks maintain identical copies of the same information on two disks. Therefore, the number returned reflects only one of the volumes in a mirrored disk pair. Which volume is chosen is random. On MPE V, the concept of master and member volumes refers only to private volumes. Therefore, if the system volume set is specified, the count consists of the number of volumes that are designated as system volumes. May be used with Item=7. 7 List of member volume names Function = MPE/iX: VOLUTIL MPE V: LISTVS Returns the list of names of the member volumes in the specified volume set/class or device class. The item must be a character array where the list of member volumes is returned. The first four bytes of the array are interpreted as a 32-bit integer describing the length of the array. The caller must set this value equal to the maximum number of names that fits into the array being passed. On return, the value has been modified to reflect the actual number of names returned. The remaining bytes will be mapped to a list of 32-byte names. Item 6 may be used to determine the maximum number of names that can be returned. When the specifier is 2 or 3, the list of member volumes that make up the set or class is returned. When the specifier is 5, the list of member volumes configured with the passed device class is returned. On MPE/iX, you can remove some or all of the volumes in a volume set (excluding the master volume). Therefore, this list depends on the number of volumes you have mounted at the time the intrinsic call is made. On MPE/iX, a volume class need not include the master volume. As a result, specifier 3 may return a list that does not include the master volume. On MPE V, the concept of master and member volumes refers only to private volumes. Therefore, if the system volume set is specified, the count consists of the number of volumes that are designated as system volumes. 8 Drive type Function = MPE/iX, MPE V: DSTAT Returns the type of the drive specified. The drive type refers to the name of the drive (for example: HP7935, HP7937). The character array that is used must be large enough to contain the longest type string, currently 13 characters. 9 Drive sector size Returns the logical sector size of the specified drive. This item returns a 32-bit signed integer containing the drive's local sector size in bytes. Currently, this logical size is 256 bytes. In the future, however, disks may have different physical sector sizes. MPE will map them to system-wide logical sector sizes. 10 Volume type This item returns a 32-bit integer specifying the volume type. Valid types are: 1 - System volume 2 - Nonsystem volume On MPE, there are two types of volume sets: the system volume set and nonsystem volume sets. A volume from the system volume set is considered a system volume; a volume from the nonsystem set is considered a nonsystem volume. A nonsystem set on MPE/iX is equivalent to a private volume set on MPE V. 11 Volume name Function = MPE V: VINIT with PLABEL Returns the volume name of the specified LDEV. This item is a character array and must be specified with a length of 32 bytes. 12 Volume set name Function = MPE/iX, MPE V: DSTAT Returns the volume set name corresponding to the passed LDEV. An LDEV can be associated with only one volume set. This item is a character array and must be specified with a length of 32 bytes. 13 Logical device number Returns the logical device number of the specified volume. This item returns a 16-bit signed integer containing the logical device number. On MPE/iX, mirrored disks maintain identical copies of the same information on two disks. Information is returned for only one of the disks. Which is returned is random. 14 & 15 Volume capacity Function = MPE/iX: VOLUTIL command Returns the volume capacity. Item 14 returns a 64-bit signed integer containing the volume capacity in sectors. Item 15 returns the capacity as a 64-bit real. When the specifier is 1 or 4, the volume capacity consists of the capacity of the volume whose LDEV or volume name was specified. When the specifier is 2 or 3, the capacity of the volumes that make up the volume set or class are totalled. This total value is returned. 16 & 17 Total MPE overhead Returns the total MPE overhead, which consists of everything on a volume that is not set aside for file space use. This is the volume space used for operating system purposes. Item 16 returns a 64-bit signed integer containing the total MPE overhead. Item 17 returns the overhead as a 64-bit real. Files that compose the code for the operating system are not included in this overhead. Some of the space that is considered overhead includes: MPE V - volume label, virtual memory, directory, defective tracks/sectors table, initial segments, disk coldload information table, volume table, free space map, and channel programs. MPE/iX - volume label, file label table, directory, volume set information table, free space map, transient space, and transaction management overhead. A subset of the overhead is returned through itemnums 18 through 29: 18 & 19 - MPE transient space 20 & 21 - MPE/iX configured transient space 22 & 23 - MPE V virtual memory 24 & 25 - Directory 26 & 27 - MPE/iX file label tables 28 & 29 - MPE/iX transaction management When the specifier is 1 or 4, the total MPE overhead consists of the MPE overhead on the volume whose LDEV or volume name was specified. These are subsets of items 16 and 17. When the specifier is 2 or 3, the MPE overhead on the volumes that make up the set or class is returned. 18 & 19 MPE/iX transient space overhead Returns the MPE/iX transient space overhead. This item is valid only on MPE/iX. These are subsets of items 16 and 17. Item 18 returns a 64-bit signed integer containing the transient space overhead in sectors. Item 19 returns this overhead as a 64-bit real. Transient space overhead consists of volume space that is used for temporary processes, such as stacks, heaps, and the operating system data structure. When the specifier is 1 or 4, the transient space consists of the transient space on the volume whose LDEV or volume name was specified. When the specifier is 2 or 3, the transient space on the volumes that make up the set or class is returned. 20 & 21 Configured maximum MPE/iX transient space Function = MPE/iX: VOLUTIL command Returns the configured maximum MPE/iX transient space. These are subsets of items 16 and 17. Item 20 returns a 64-bit signed integer containing the maximum transient space overhead in sectors. Item 21 returns this overhead as a 64-bit real. This is volume overhead that is configured for transient space use. It is not necessarily used. This is space configured for stacks, heaps, and operating system structures. Refer to Items 18 and 19 above. When the specifier is 1 or 4, the configured maximum transient space consists of the configured transient space on the volume whose LDEV or volume name was specified. When the specifier is 2 or 3, the configured transient space on the volumes that make up the volume set or class is returned. 22 & 23 MPE V virtual memory overhead Function = MPE V: SYSDUMP virtual memory device allocation portion (SM capability required to use SYSDUMP). Returns the MPE virtual memory overhead. This is valid only on MPE V. These are subsets of items 16 and 17. Item 22 returns a 64-bit signed integer containing the virtual memory overhead in sectors. Item 23 returns this overhead as a 64-bit real. MPE V virtual memory overhead is the volume space that is allocated for saving segments of main memory temporarily. This amount of configured virtual memory space is equivalent to the amount of used virtual memory space. Virtual memory on MPE V is allocated only on system volumes. There is no virtual memory on private volumes. When the specifier is 1 or 4, the virtual memory overhead consists of the virtual memory on the volume whose LDEV or volume name was specified. When the specifier is 2, the only valid specifier is MPEXL_SYSTEM_VOLUME_SET. This is because virtual memory is allocated only on system volumes. Specifier 3 is invalid. This is because virtual memory is valid only on the MPE V system volume set, and because the concept of volume classes does not hold for MPE V system volumes. 24 & 25 Directory space overhead Returns the directory space overhead. Item 24 returns a 64-bit signed integer containing the directory space overhead in sectors. Item 25 returns this overhead as a 64-bit real. These are subsets of items 16 and 17. Directory space is area on system and nonsystem volumes reserved for accounting information. It consists of the directory space used for permanent files. When the specifier is 1 or 4, the directory space overhead consists of the directory space on the volume whose LDEV or volume name was specified. When the specifier is 2 or 3, the directory space overhead on the volumes that make up the volume set or class is returned. On MPE V, the system directory is allocated on LDEV 1, and for private volumes, the directory is allocated on the master volume of the volume set or class. Specifying a volume set or class gives the same results as specifying the master volume of the set or class. 26 & 27 MPE/iX file label overhead Returns the MPE/iX file label overhead. This item is valid only on MPE/iX. Item 26 returns a 64-bit signed integer containing the file label overhead in sectors. Item 27 returns this overhead as a 64-bit real. These are subsets of items 16 and 17. On MPE/iX, each volume has its own label table, which contains file labels and extent descriptors for files that begin on that volume. When the specifier is 1 or 4, the file label overhead consists of the overhead on the volume whose LDEV or volume name was specified. When the specifier is 2 or 3, the file label overhead on the volumes that make up the set or class is returned. 28 & 29 MPE/iX transaction management overhead Returns the MPE/iX transaction management overhead. This item is valid only on MPE/iX. Item 28 returns a 64-bit signed integer containing the transaction management overhead in sectors. Item 29 returns this overhead as a 64-bit real. These are subsets of items 16 and 17. Transaction management overhead consists of any logging information that is maintained in order to provide file consistence and file recovery. When the specifier is 1 or 4, the transaction management overhead consists of any logging information kept on the volume whose LDEV or volume name was specified. When the specifier is 2 or 3, the transaction management overhead on the volumes that make up the set or volume class is returned. 30 & 31 Spoolfile disk space usage Function = MPE/iX, MPE V: SHOWOUT Returns the MPE spoolfile disk space usage. Item 31 returns a 64-bit signed integer containing the spoolfile disk space usage in sectors. Item 32 returns this usage as a 64-bit real. Spoolfile space consists of the volume space that is used by hidden spoolfiles. Hidden spoolfiles are not part of the permanent file space. This space can be found only on system volumes that are configured with the device class SPOOL. Spool file space is not allocated on nonsystem volumes. When the specifier is 1 or 4, the spoolfile space consists of the space used on the volume whose LDEV or volume name was specified. When the specifier is 2, the volume set name must refer to the system volume set name. Specifier 3 is valid only on MPE/iX. 32 & 33 Disk space used by permanent files Function = MPE/iX, MPE V:REPORT @.@ Returns the disk space used by permanent files. Item 32 returns a 64-bit signed integer containing the disk space used by files in sectors. Item 33 returns this space as a 64-bit real. When the specifier is 1 or 4, the disk space used by files consists of the space used by permanent files on the volume whose LDEV or volume name was specified. When the specifier is 2 or 3, the disk space used by permanent files on the volumes that make up the volume set or class is returned. 34 & 35 Reserved for disk space used by temporary files. 36 & 37 Free space distribution array Function = MPE/iX: DISCFREE MPE V: FREE5 Returns the free space distribution array. The caller passes an array that specifies a series of ranges. The intrinsic returns the number of free areas whose size is within each of the specified ranges. The array must consist of 64-bit values. The item passed must be a variable length array of 64-bit numbers (maximum array length of 16 elements). For item 36, the values must be in integer format. It returns an array of 64-bit integers containing the free space distribution. For item 37, the values must be in real format. Real values is rounded off. It returns an array of 64-bit reals. On MPE V, the largest value that may be specified in either format is 2,147,483,646. The first value is the number of ranges (minimum 2, maximum 16). The remaining values are the lower bounds for the ranges, in ascending order. On return the first element is the number of free areas whose size is smaller than the smallest bound specified. Each remaining element is the number of free space areas whose size is greater than or equal to the bound, and less than the next larger bound. The following example shows a return in six ranges: Array Values Free Area Size Ranges Index Passed In 1 6 1 - 9 contiguous sectors 2 10 10 - 99 contiguous sectors 3 100 100 - 999 contiguous sectors 4 1000 1000 - 9999 contiguous sectors 5 10000 10,000 - 99,999 contiguous sectors 6 100000 100,000+ contiguous sectors For example, if there are four areas of free space that are between the size of 100 and 999, the third value of the free space distribution array would contain 4 on return. Notice that the number of ranges specified in the first element of the array example is 6, but only 5 lower bounds are specified, because the smallest lower bound is assumed to be 1 (one). When the specifier is 1 or 4, the free space distribution array consists of the contiguous free space areas on the volume whose LDEV or volume name was specified. When the specifier is 2 or 3, the free space distribution array returns the total values from the volumes that make up the volume set or class. 38 & 39 Free space distribution sectors per range Function = MPE/iX: DISCFREE, MPE V: FREE5 Returns the free space distribution sectors per range. The caller passes an array that specifies a series of ranges. For each range specified in the array, the intrinsic returns the total free space for free areas found in that range. Refer to Items 36 and 37 for the format of the free space distribution array passed to the intrinsic and for the format of the returned array. 40 & 41 Total free space Function = MPE/iX: DISCFREE , MPE V: FREE5 Returns the total free space on a volume or a group of volumes. Item 40 returns a 64-bit signed integer containing the total free space in sectors. Item 41 returns a 64-bit real. When the specifier is 1 or 4, the total free space consists of the total free space on the volume whose LDEV or volume name was specified. When the specifier is 2 or 3, the total free space on the volumes that make up the volume set or class is returned. 42 & 43 Largest contiguous free space area Function = MPE/iX: DISCFREE , MPE V: FREE5 Returns the largest contiguous free space area on a volume or a group of volumes. Item 42 returns a 64-bit signed integer containing the largest contiguous free space area in sectors. Item 43 returns a 64-bit real. When the specifier is 1 or 4, the largest contiguous free space consists of the largest contiguous free space on the volume whose LDEV or volume name was specified. When the specifier is 2 or 3, the largest contiguous free space on the volumes that make up the volume set or class is returned. For example, for specifiers 2 or 3, if a volume set is composed of LDEVs 2, 3, and 4, and the largest contiguous free space on these volumes are 37785, 56528, and 56171, respectively, the value returned is 56528. Variable Conventions ------------------------------------------------------------------------------------------ | | | Convention Meaning | | | ------------------------------------------------------------------------------------------ | | | I16 16-bit signed integer | | | | I32 32-bit signed integer | | | | I64 64-bit signed integer | | | | R64 64-bit signed real | | | | CA Character array | | | | I64A 64-bit signed integer array | | | | R64A 64-bit signed real array | | | ------------------------------------------------------------------------------------------ -------------------------------------------------------------------------------------------- | | | ITEM# ITEM TYPE APPLICABLE | | VOLUME | | SPECIFIERS | | | -------------------------------------------------------------------------------------------- | | | 2 Number of volume sets I32 0 | | | | 3 List of volume set names CA 0 | | | | 4 Number of volume classnames I32 1, 2, 4 | | | | 5 List of volume class names CA 1, 2, 4 | | | | 6 Number of member volumes I32 2, 3, 5 | | | | 7 List of member volume names CA 2, 3, 5 | | | | 8 Drive type CA 1, 4 | | | | 9 Sector size in bytes I32 1, 4 | | | | 10 Volume type I32 1, 4 | | | | 11 Volume name CA 1 | | | | 12 Volume set name CA 1 | | | | 13 Logical device number I16 4 | | | | 14 Volume capacity in sectors I64 1, 2, 3, 4 | | | | 15 Volume capacity in sectors R64 1, 2, 3, 4 | | | | 16 Total MPE overhead in sectors I64 1, 2, 3, 4 | | | | 17 Total MPE overhead in sectors R64 1, 2, 3, 4 | | | | 18 MPE/iX transient space overhead in I64 1, 2, 3, 4 | | sectors | | | -------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------- | | | ITEM# ITEM TYPE APPLICABLE | | VOLUME | | SPECIFIERS | | | -------------------------------------------------------------------------------------------- | | | 19 MPE/iX transient space overhead in R64 1, 2, 3, 4 | | sectors | | | | 20 Configured maximum MPE/iX transient I64 1, 2, 3, 4 | | space in sectors | | | | 21 Configured maximum MPE/iX transient R64 1, 2, 3, 4 | | space in sectors | | | | 22 MPE V virtual memory overhead in I64 1, 2, 4 | | sectors | | | | 23 MPE V virtual memory overhead in R64 1, 2, 4 | | sectors | | | | 24 Directory space overhead in sectors I64 1, 2, 3, 4 | | | | 25 Directory space overhead in sectors R64 1, 2, 3, 4 | | | | 26 MPE/iX file label overhead in I64 1, 2, 3, 4 | | sectors | | | | 27 MPE/iX file label overhead in R64 1, 2, 3, 4 | | sectors | | | | 28 MPE/iX transaction management I64 1, 2, 3, 4 | | overhead | | | | 29 MPE/iX transaction management R64 1, 2, 3, 4 | | overhead | | | | 30 Spoolfile disk space usage in I64 1, 2, 3, 4 | | sectors | | | | 31 Spoolfile disk space usage in R64 1, 2, 3, 4 | | sectors | | | | 32 Disk space used by permanent files I64 1, 2, 3, 4 | | in sectors | | | | 33 Disk space used by permanent files R64 1, 2, 3, 4 | | in sectors | | | | 34 (Reserved for) Disk space used by I64 1, 2, 3, 4 | | temporary files in sectors | | | | 35 (Reserved for) Disk space used by R64 1, 2, 3, 4 | | temporary files in sectors | | | | 36 Free space distribution array I64A 1, 2, 3, 4 | | | | 37 Free space distribution array R64A 1, 2, 3, 4 | | | | 38 Free space distribution sectors per I64A 1, 2, 3, 4 | | range | | | -------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------- | | | ITEM# ITEM TYPE APPLICABLE | | VOLUME | | SPECIFIERS | | | -------------------------------------------------------------------------------------------- | | | 39 Free space distribution sectors per R64A 1, 2, 3, 4 | | range | | | | 40 Total free space in sectors I64 1, 2, 3, 4 | | | | 41 Total free space in sectors R64 1, 2, 3, 4 | | | | 42 Largest contiguous free space area I64 1, 2, 3, 4 | | in sectors | | | | 43 Largest contiguous free space area R64 1, 2, 3, 4 | | in sectors | | | --------------------------------------------------------------------------------------------


MPE/iX 5.0 Documentation