2.2.5.2 ExtensionHeader

The ExtensionHeader contains information about the presence and size of other headers in the Message Packet Structure (section 2.2.5), such as DeadLetterHeader (section 2.2.5.4), SubqueueHeader (section 2.2.5.3), and ExtendedAddressHeader (section 2.2.5.5).<5>


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

HeaderSize

RemainingHeadersSize

Flags

Reserved

HeaderSize (4 bytes): A ULONG ([MS-DTYP] section 2.2.51) that specifies the size in bytes of the ExtensionHeader.

RemainingHeadersSize (4 bytes): A ULONG that MUST be the sum of sizes in bytes of all headers that follow the ExtensionHeader.

Flags (1 byte): Indicates the presence or absence of other headers in the Message Packet Structure. Any combination of the following values is acceptable.


0


1


2


3


4


5


6


7

D

L

S

Q

X

2

D

I

E

A

X

5

X

6

X

7

Where the bits are defined as:

Value

Description

DL

MUST be set to 1 if the Message Packet Structure contains the DeadLetterHeader. MUST be set to 0 otherwise.

SQ

Indicates whether the Message Packet Structure contains a SubqueueHeader. MUST be set to 1.

X2

Unused bit field. MUST be ignored.

DI

MUST be set to 1 if the dead-letter queue as specified by the DeadLetterHeader is invalid. MUST be set to 0 otherwise. If the DeadLetterHeader is not included, this field MUST be ignored when reading the message packet.

EA

Indicates whether the Message Packet Structure contains an ExtendedAddressHeader. MUST be set to 1.

X5

Unused bit field. MUST be ignored.

X6

Unused bit field. MUST be ignored.

X7

Unused bit field. MUST be ignored.

Reserved (3 bytes): MUST be ignored when reading the Message Packet Structure.