Buffer Header Format
This topic lists the common fields that always occur at the start of a buffer header. These are followed by further fields specific to the particular message; see FMI Message Formats for details of individual message formats.
PTRBFHDR nxtqptr;
PTRBFELT hdreptr;
CHAR numelts;
CHAR msgtype;
CHAR srcl;
CHAR srcp;
INTEGER srci;
CHAR destl;
CHAR destp;
INTEGER desti;
};
Members
-
nxtqptr
-
When the buffer is in a queue, this field points to the header of the next buffer in the queue (NULL if it is the last buffer in the queue). When the buffer is not in a queue, this field points to itself; the SNA Server buffer management routines use this to check for buffer corruption.
-
hdreptr
-
Pointer to the first buffer element in the associated chain of buffer elements; NULL if the message consists only of a buffer header.
-
numelts
-
Number of buffer elements chained from the header; zero if the message consists only of a buffer header.
-
msgtype
-
Message type. See individual message descriptions in FMI Message Formats.
-
srcl
-
Source locality. See LPI Addresses.
-
srcp
-
Source partner. See LPI Addresses.
-
srci
-
Source index. See LPI Addresses.
-
destl
-
Destination locality. See LPI Addresses.
-
destp
-
Destination partner. See LPI Addresses.
-
desti
-
Destination index. See LPI Addresses.
Note Fields that occupy two bytes, such as opresid in Open(PLU) Request, are normally represented with the arithmetically most significant byte in the lowest byte address, irrespective of the normal orientation used by the processor on which the software executes. That is, the 2-byte value 0x1234 has the byte 0x12 in the lowest byte address. However, the following fields are exceptions:
-
The srci and desti fields in buffer headers are stored in the local format of the application that assigns them (only the assigning application needs to interpret these values).
-
The startd and endd fields in elements are always stored in low-byte, high-byte orientation (the normal orientation of an Intel processor).