There are two ways to initialize the buffer header:
- Use the INITBUF function on the IEWBUFF macro
- Use the information found in Table 1 and Table 2 to code it.
For additional information about the IEWBUFF macro, see
Using the IEWBUFF macro.
The following general format applies to all binder buffers.
Table 1. Buffer header format. Table shows the formatting
information for the Buffer header.Field Name |
Field Type |
Offset |
Length |
Description |
---|
buffer_id |
char |
0 |
8 |
buffer type |
buffer_leng |
binary |
8 |
4 |
buffer length in bytes
(includes header) |
version |
binary |
12 |
1 |
buffer version |
* |
binary |
13 |
3 |
reserved, must be zero |
entry_leng |
binary |
16 |
4 |
length of one entry |
count |
binary |
20 |
4 |
number of entries |
* |
binary |
24 |
8 |
reserved, must be zero |
The count field designates the maximum number of entries that will
be returned. The buffer must be large enough to hold the maximum number
of entries or the call will fail. Use the entry length shown in Table 2 to compute the buffer size.
The buffer type corresponds to what is coded as the TYPE keyword
on the IEWBUFF macro. Use the following values when retrieving data
for the indicated buffer type:
Table 2. Buffer type format. Table shows the format information for the buffer type.Buffer Type |
buffer_id |
entry_leng |
---|
CUI |
IEWBCUI |
80 |
ESD |
IEWBESD |
version 1 - 56
version 2 - 80
version 3 and later - 96
|
LIB |
IEWBLIB |
1 |
RLD |
IEWBRLD |
version 1 - 32
version 2 - 44
version 3 and later - 52
|
IDRU |
IEWBIDU |
96 |
IDRL |
IEWBIDL |
28 |
IDRZ |
IEWBIDZ |
24 |
IDRB |
IEWBIDB |
116 |
SYM |
IEWBSYM |
96 |
TEXT |
IEWBTXT |
1 |
NAME |
IEWBBNL |
version 1-6 - 28
version 7 and later - 36
|
XTLST |
IEWBXTL |
8 |
MAP |
IEWBMAP |
32 |
PINIT |
IEWBPTI |
1 |
PMAR |
IEWBPMR |
1 |
CUI |
IEWBCUI |
80 |