Technical data

Device Support on OpenVMS Systems
7.8 New Values for Length Parameter in System Routines (Alpha Only)
The two new length values (IOC$K_BYTE and IOC$K_WORD) allow byte and
word data to be passed in right-aligned fashion. Table 7–1 shows the accepted
values for the length parameter.
Table 7–1 Values for Length Parameter
Value (hex) Keyword
1 IOC$K_BYTE_LANED
2 IOC$K_WORD_LANED
4 IOC$K_LONGWORD
8 IOC$K_QUADWORD
100 IOC$K_BYTE
200 IOC$K_WORD
IOC$K_BYTE_LANED and IOC$K_WORD_LANED lane bytes in the following
way:
IOC$K_BYTE_LANED (1) Byte-Laned Byte
Depending on bits <1:0> of the address, the byte resides in a longword in one of
the following lanes:
+---+---+---+---+
| | | | X | bits <1:0> = 0
+---+---+---+---+
+---+---+---+---+
| | | X | | bits <1:0> = 1
+---+---+---+---+
+---+---+---+---+
| | X | | | bits <1:0> = 2
+---+---+---+---+
+---+---+---+---+
| X | | | | bits <1:0> = 3
+---+---+---+---+
The driver must use the low 2 bits of the address to select the correct byte.
IOC$K_WORD_LANED (2) Byte-Laned Word
Depending on bits <1:0> of the address, the word resides in a longword in one of
the following locations.
+---+---+---+---+
| | | XXXXX | bits <1:0> = 0
+---+---+---+---+
+---+---+---+---+
| | XXXXX | | bits <1:0> = 1
+---+---+---+---+
+---+---+---+---+
| XXXXX | | | bits <1:0> = 2
+---+---+---+---+
The driver must use the low 2 bits of the address to select the correct word.
However, if IOC$K_BYTE and IOC$K_WORD are used, the data is always
right-aligned:
Device Support on OpenVMS Systems 7–5