$GET SYS ALIGN FAULT DATA

From VSI OpenVMS Wiki
Jump to: navigation, search

$GET_SYS_ALIGN_FAULT_DATA is a system service that obtains data from the system alignment fault buffer on Alpha and I64 systems if buffered system alignment fault data reporting has been enabled. This service accepts 64-bit addresses. When buffered system alignment fault data reporting is enabled, the operating system writes each alignment fault into a system-allocated buffer. The user must poll this buffer periodically to read the data. The user must call the $INIT_SYS_ALIGN_FAULT_REPORT service to enable buffered system alignment fault data reporting. For more information, see the $INIT_SYS_ALIGN_FAULT_REPORT service.

Format

SYS$GET_SYS_ALIGN_FAULT_DATA buffer ,buffer_size ,return_size

C Prototype:

int sys$get_sys_align_fault_data (void *buffer, int buffer_size, int *return_size);

Arguments

buffer

OpenVMS usage: address
Type: longword (unsigned)
Access: read/write
Mechanism: by 32- or 64-bit reference

The user buffer in which the alignment fault data is to be stored. The buffer argument is the 32- or 64-bit virtual address of this buffer.

buffer_size

OpenVMS usage: byte count
Type: longword (signed)
Access: read
Mechanism: by value

The size, in bytes, of the buffer specified by the buffer argument.

return_size

OpenVMS usage: rights_id
Type: longword (unsigned)
Access: write
Mechanism: by 32- or 64-bit reference

The amount of data, in bytes, stored in the buffer. The return_size argument is the 32- or 64-bit virtual address of a naturally aligned longword into which the service returns the amount of data, in bytes, stored in the buffer. The return_size argument is set to 0 if there is no data in the buffer.

Condition Values Returned

Value Description
SS$_NORMAL The service completed successfully.
SS$_ACCVIO The buffer named in the buffer argument is not accessible.
SS$_AFR_NOT_ENABLED Alignment fault reporting has not been enabled.
SS$_BADPARAM The buffer size is smaller than the minimum defined by the AFR$K_VMS_LENGTH or the AFR$K_EXTENDED_LENGTH symbol.

Privileges Required

CMKRNL privilege is required.

Quota Required

None

See also