$GET ALIGN FAULT DATA

From VSI OpenVMS Wiki
Revision as of 12:48, 28 November 2019 by Jane.doe (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

$GET_ALIGN_FAULT_DATA (Alpha and I64) is a system service that obtains data from the user image alignment fault buffer if buffered user alignment fault data reporting has been enabled. This service accepts 64-bit addresses. When buffered user alignment fault data reporting is enabled, the operating system writes each alignment fault into a user-defined buffer. The user must poll this buffer periodically to read the data.

The user must call the $START_ALIGN_FAULT_REPORT service to enable buffered user alignment fault data reporting. For more information about buffered user alignment fault data reporting, see the $START_ALIGN_FAULT_REPORT system service.

Format

SYS$GET_ALIGN_FAULT_DATA buffer ,buffer_size ,return_size

C Prototype:

int sys$get_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 is the 32- or 64-bit address of this user 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: longword_signed
Type: longword (signed)
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 address of a naturally aligned longword into which the service returns the size of the buffer. The return_size 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_USER_LENGTH symbol.

Privileges Required

None

Quota Required

None

See also