Document revision date: 19 July 1999 | |
Previous | Contents | Index |
On Alpha systems, initializes system process alignment fault reporting.This service accepts 64-bit addresses.
SYS$INIT_SYS_ALIGN_FAULT_REPORT match_table ,buffer_size ,flags
int sys$init_sys_align_fault_report void *match_table, int buffer_size, unsigned int flags
;)
match_table
OpenVMS usage: address type: longword (unsigned) access: read mechanism: by 32-bit or 64-bit reference
Describes the system fault match table. The match_table argument is the 32-bit or 64-bit virtual address of an array of longwords describing the system fault match table. The first longword is the number of match entries; the remaining longwords are the match entries.The match table is used to restrict the number of alignment faults reported. Each entry in the table is a bit mask divided into three groups: mode bits, program counter (PC) space bits, and virtual address (VA) space bits.
The following table lists the symbols that can be used to define these bits.
Bit Type Symbols Mode bits AME$M_KERNEL_MODE Kernel mode AME$M_EXEC_MODE Executive mode AME$M_SUPER_MODE Supervisor mode AME$M_USER_MODE User mode Program counter bits AME$M_USER_PC PC in User space AME$M_SYSTEM_PC PC in System space Virtual address bits AME$M_SYSTEM_VA VA in System space AME$M_USER_VA_P0 VA in User P0 space AME$M_USER_VA_P1 VA in User P1 space AME$M_USER_VA_P2 VA in User P2 space The following diagram illustrates the data structure of the match table.
When an alignment fault occurs, a fault bit mask is created with one bit set in each group. The alignment fault handler then compares this fault bit mask against each entry in the match table. If the fault bit mask is a subset of an entry in the match table, the fault is reported.
OpenVMS usage: | byte count |
type: | longword (signed) |
access: | read |
mechanism: | by value |
OpenVMS usage: | mask_longword |
type: | longword (unsigned) |
access: | read only |
mechanism: | by value |
If the flags argument is 0, data items of size AFR$K_VMS_LENGTH will be returned. If the flags argument is AFR$M_USER_INFO, the user name and image name are added to each data item and they are returned in a buffer of length AFR$K_EXTENDED_LENGTH. If the user name and image name are not available, an empty string is returned in the data item.
The Initialize System Alignment Fault Reporting service initializes system alignment fault reporting.System alignment faults must be written to a buffer. The following diagram illustrates the format in which system alignment fault data is saved in the buffer.
Only one user on a system can initialize system alignment fault reporting at any time. Subsequent calls will return SS$_AFR_ENABLED.
System alignment fault reporting is disabled when the program that called the service completes.
CMKRNL privilege is required.
None
$GET_ALIGN_FAULT_DATA, $GET_SYS_ALIGN_FAULT_DATA, $PERM_DIS_ALIGN_FAULT_REPORT, $PERM_REPORT_ALIGN_FAULT, $START_ALIGN_FAULT_REPORT, $STOP_ALIGN_FAULT_REPORT, $STOP_SYS_ALIGN_FAULT_REPORT
SS$_NORMAL The service completed successfully. SS$_ACCVIO The match table is not read accessible. SS$_AFR_ENABLED The service was already called. SS$_BADPARAM The buffer_size argument is less than the minimum size required. If the flags argument is 0, AFR$K_VMS_LENGTH + 32 is required. If the flags argument is 1, AFR$K_EXTENDED_LENGTH + 32 is required. SS$_NOPRIV The caller does not have CMKRNL privilege.
Formats a disk or magnetic tape volume and writes a label on the volume. At the end of initialization, the disk is empty except for the system files containing the structure information. All former contents of the volume are lost.
SYS$INIT_VOL devnam, volnam [,itmlst]
int sys$init_vol (void *devnam, void *volnam, void *itmlst);
devnam
OpenVMS usage: char_string type: character string access: read only mechanism: by descriptor
Name of the device on which the volume is physically mounted. The descriptor must point to the device name, a character string of 1 to 64 characters. The device name can be a physical device name or a logical name; if it is a logical name, it must translate to a physical name.The device does not have to be currently allocated; however, allocating the device before initializing it is recommended.
volnam
OpenVMS usage: char_string type: character string access: read only mechanism: by descriptor
Identification to be encoded on the volume. The descriptor must point to the volume name, a character string of 1 to 12 characters. For a disk volume name, you can specify a maximum of 12 ANSI characters; for a magnetic tape volume name, you can specify a maximum of 6 ANSI "a" characters. Any valid ANSI "a" characters can be used; these include numbers, uppercase letters, and any one of the following nonalphanumeric characters:! " % ' ( ) * + , - . / : ; < = >
Compaq strongly recommends that a disk volume name consist of only alphanumeric characters, dollar signs ($), underscores (_), and hyphens (-).
itmlst
OpenVMS usage: item_list_3 type: longword (unsigned) access: read only mechanism: by reference
Item list specifying options that can be used when initializing the volume. The itmlst argument is the address of a list of item descriptors, each of which describes one option. The list of item descriptors is terminated by a longword of 0.The following diagram depicts the format of a single item descriptor.
The following table defines the item descriptor fields.
Descriptor Field | Definition | ||||||
---|---|---|---|---|---|---|---|
Buffer length | A word specifying the length (in bytes) of the buffer that supplies the information $INIT_VOL needs to process the specific item code. The length of the buffer needed depends on the item code specified in the item descriptor. | ||||||
Item code | A word containing an option for the initialize operation. These codes are defined by the $INITDEF macro. There are three types of item codes: | ||||||
|
|||||||
Buffer address | A longword containing the address of the buffer that supplies information to $INIT_VOL. | ||||||
Return length address | This field is not used. |
INIT$_ACCESSED
An input item code that specifies the number of directories allowed in system space on the volume.You must specify an integer between 0 and 255 in the input buffer. The default value is 3.
The INIT$_ACCESSED item code applies only to Files-11 On-Disk Structure Level 1 disks.
INIT$_BADBLOCKS_LBN
An input item code that enables $INIT_VOL to mark bad blocks on the volume; no data is written to those faulty areas. INIT$_BADBLOCKS_LBN specifies faulty areas on the volume by logical block number and block count.The buffer from which $INIT_VOL reads the option information contains an array of quadwords containing information in the following format.
The following table describes the information to be specified for INIT$_BADBLOCKS_LBN.
Field | Symbol Name | Description |
---|---|---|
Logical block number | INIT$L_BADBLOCKS_LBN | Specifies the logical block number of the first block to be marked as allocated. |
Count | INIT$L_BADBLOCKS_COUNT | Specifies the number of blocks to be allocated. This range begins with the first block, as specified in INIT$L_BADBLOCKS_LBN. |
For example, if the input buffer contains the values 5 and 3, INIT_VOL starts at logical block number 5 and allocates 3 blocks.
The number of entries in the buffer is determined by the buffer length field in the item descriptor.
All media supplied by Compaq and supported on the operating system, except disks and TU58 cartridges, are factory formatted and contain bad block data. The Bad Block Locator utility (BAD) or the diagnostic formatter EVRAC can be used to refresh the bad block data or to construct it for the disks and TU58 cartridges. The INIT$_BADBLOCKS_LBN item code is necessary only to enter bad blocks that are not identified in the volume's bad block data. For more information, see the OpenVMS Bad Block Locator Utility Manual.
The INIT$_BADBLOCKS_LBN item code applies only to disks.
The input buffer must contain an array of octawords containing information in the following format.
The following table describes the information to be specified for INIT$_BADBLOCKS_SEC.
Field | Symbol Name | Description |
---|---|---|
Sector | INIT$L_BADBLOCKS_SECTOR | Specifies the sector number of the first block to be marked as allocated. |
Count | INIT$L_BADBLOCKS_COUNT | Specifies the number of blocks to be allocated. |
Track | INIT$L_BADBLOCKS_TRACK | Specifies the track number of the first block to be marked as allocated. |
Cylinder | INIT$L_BADBLOCKS_CYLINDER | Specifies the cylinder number of the first block to be marked as allocated. |
For example, if the input buffer contains the values 12, 3, 1, and 2, INIT_VOL starts at sector 12, track 1, cylinder 2, and allocates 3 blocks.
The number of entries in the buffer is determined by the buffer length field in the item descriptor.
All media supplied by Compaq and supported on the operating system, except disks and TU58 cartridges, are factory formatted and contain bad block data. The Bad Block Locator utility (BAD) or the diagnostic formatter EVRAC can be used to refresh the bad block data or to construct it for the disks and TU58 cartridges. The INIT$_BADBLOCKS_SEC item code is necessary only to enter bad blocks that are not identified in the volume's bad block data. For more information, see the OpenVMS Bad Block Locator Utility Manual.
The INIT$_BADBLOCKS_SEC item code applies only to disks.
volume size in blocks/(255 * 4096)
The INIT$_CLUSTERSIZE item code applies only to Files-11 On-Disk Structure Level 2 disks (for Files-11 On-Disk Structure Level 1 disks, the cluster size is 1). For Files-11 On-Disk Structure Level 2 disks, the cluster size default depends on the disk capacity.
The INIT$_COMPACTION item code applies only to TA90 drives.
For magnetic tape volumes, the INIT$_DENSITY item code specifies the density in bytes per inch (bpi) at which the magnetic tape is written. Possible symbolic values for tapes are as follows:
The specified density value must be supported by the drive. If you do not specify a density item code for a blank magnetic tape, the system uses a default density of the highest value allowed by the tape drive. If the drive allows 6250, 1600, and 800 bpi operation, the default density is 6250. If the drive allows only 1600 and 800 bpi operation, the default density is 1600. If you do not specify a density item code for a magnetic tape that has been previously written, the system uses the previously set volume density.
For diskettes, the INIT$_DENSITY item code specifies how the diskette is to be formatted. Possible symbolic values for diskettes are as follows:
For disk volumes that are to be initialized on RX02, RX23, or RX33 diskette drives, the following values specify how the disk is to be formatted:
Diskettes are initialized as follows:
If you do not specify a density item code for a disk, the system leaves the volume at the density at which it was last formatted. RX02 disks purchased from Compaq are formatted in single density.
Disks formatted in double density cannot be read or written by the console block storage device (an RX01 drive) of a VAX-11/780 processor until they have been reformatted in single density. |
The INIT$_DIRECTORIES item code applies only to disks.
For disk devices, this item code sets the ERASE volume attribute, causing each file on the volume to be erased when it is deleted.
The default extension set by this item code is used only if the following conditions are in effect:
The INIT$_FPROT item code applies only to Files-11 On-Disk Structure Level 1 disks and is ignored if it is used on an OpenVMS system. OpenVMS systems use the default file extension set by the DCL command SET PROTECTION/DEFAULT.
The INIT$_HEADERS item code applies only to disks.
INIT$_NO_HIGHWATER disables FHM for a volume.
The INIT$_HIGHWATER and INIT$_NO_HIGHWATER item codes apply only to Files-11 On-Disk Structure Level 2 disks.
When issuing calls to $INIT_VOL, using this item code in conjunction with INIT$_INDEX_BLOCK results in an error. If you specify both item codes from DCL, INIT$_INDEX_BLOCK takes precedence.
This item code applies only to disks.
When issuing calls to $INIT_VOL, using this item code with INIT$_INDEX_BEGINNING, INIT$_INDEX_MIDDLE, or INIT$_INDEX_END results in an error. From DCL, if you specify INIT$_INDEX_BLOCK with INIT$_INDEX_BEGINNING, INIT$_INDEX_MIDDLE, or INIT$_INDEX_END, then INIT$_INDEX_BLOCK takes precedence.
The INIT$_INDEX_BLOCK item code applies only to disks.
When issuing calls to $INIT_VOL, using this item code with INIT$_INDEX_BLOCK results in an error. If you specify both item codes from DCL, INIT$_INDEX_BLOCK takes precedence.
This item code applies only to disks.
When issuing calls to $INIT_VOL, using this item code with INIT$_INDEX_BLOCK results in an error. If you specify both item codes from DCL, INIT$_INDEX_BLOCK takes precedence.
This item code applies only to disks.
For more information about the INIT$_INTERCHANGE item code and about magnetic tape labeling and tape interchange, see the OpenVMS System Manager's Manual: Essentials.
! " % ' ( ) * + , - . / : ; < = >
By default, the operating system provides a routine SYS$MTACCESS that checks this field in the following manner:
volume size in blocks/cluster factor + 1
Once initialized, the maximum number of files can be increased only by reinitializing the volume.
The default maximum number of files is calculated as follows:
volume size in blocks/(cluster factor + 1) * 2
The INIT$_MAXFILES item code applies only to disks.
To specify INIT$_OVR_ACCESS, the caller must either own the volume or have VOLPRO privilege.
Previous | Next | Contents | Index |
privacy and legal statement | ||
4527PRO_061.HTML |