|
- BUFLIST
- The BUFLIST parameter specifies the address of a storage area
(the buffer list) that contains the addresses of up to 16 buffers.
These buffers do not have to be contiguous, however, the system treats
them as if they form a single buffer. Data is transferred to or from
the set of buffers in order of ascending buffer number. The buffer
list, shown in Figure 1 and Figure 2, has the following characteristics:
- The buffer list consists of a 128-byte storage area containing
a list of 0 to 16 buffer addresses.
- Each entry in the buffer list consists of an 8-byte field in which
either the high-order (left-most) 4 bytes are reserved and the low-order
(right-most) 4 bytes contain the address of a buffer or the entire
8 bytes contain the address of a buffer.
Note: Only the number of
buffer list entries that you specify with the BUFNUM parameter must
be formatted in this manner. For instance, if you specify a BUFNUM
value of 5, all buffers beyond the fifth are ignored.
Figure 1. Format of Buffer List Specified by
the BUFLIST Parameter
Figure 2. Format of Buffer List - 64-bit Addresses
All buffers in the buffer list must be the same size. Other
requirements depend on the request: - For READ, WRITE, MOVE, DELETE, and MONITOR_SUBLISTS requests,
the buffers must:
- Be 256, 512, 1024, 2048, or 4096 bytes
- Start on a 256-byte boundary
- Not cross a 4096-byte boundary
- Not start below storage address 512
- For DELETE_ENTRYLIST, READ_LIST, READ_MULT, DEQ_EVENTQ, and READ_LCONTROLS
requests, the buffers must:
- Be 4096 bytes
- Start on a 4096-byte boundary
- Not start below storage address 512
Note: For READ_LCONTROLS and DEQ_EVENTQ requests, requests,
only one buffer can be specified.
- BUFALET
- The BUFALET parameter specifies the ALET of each buffer in the
buffer list. All the buffers must be in the same address or data space.
- BUFNUM
- The BUFNUM parameter indicates the number of buffers defined in
the BUFLIST list. For READ_LCONTROLS and DEQ_EVENTQ requests, because
the system allows only one buffer to be passed, you cannot specify
the BUFNUM parameter. For all other requests, when BUFLIST is specified,
BUFNUM is required.
- BUFINCRNUM
- The BUFINCRNUM parameter specifies the size of each BUFLIST buffer
in 256-byte increments. Valid values are 1, 2, 4, 8, and 16. For example,
a BUFINCRNUM value of 4 indicates that each buffer in the buffer list
is 1024 bytes (4 * 256).
For DELETE_ENTRYLIST, READ_LIST, READ_MULT,
READ_LCONTROLS, and DEQ_EVENTQ requests, the system requires your
buffers to consist of sixteen 256-byte increments and you cannot specify
the BUFINCRNUM parameter.
- BUFADDRTYPE
- The BUFADDRTYPE parameter specifies whether the buffer addresses
are real addresses (BUFADDRTYPE=REAL) or virtual addresses (BUFADDRTYPE=VIRTUAL).
- BUFADDRSIZE
- The BUFADDRSIZE parameter specifies whether the BUFLIST entry
address is a 31-bit (BUFADDRSIZE=31) or a 64-bit (BUFADDRSIZE=64)
address.
|