2.2.1.1 Win32 Error Message Header

The custom IrOBEX header "Win32 Error Message", referred to in the rest of this document as the WIN32ERR header, is defined following the semantics specified in [IROBEX] section 2.2.12. The WIN32ERR header can be part of both a request message and a response message,<1> as specified in [IROBEX] sections 3.1 and 3.2.


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

Opcode/Response Code

Packet Length

Tag1

Value

Additional headers or request data (variable)

...

Opcode/Response Code (1 byte): This value can be used as an opcode in the request message or as a response code in the response message, and it defines the IrOBEX operation associated with this packet, as defined in [IROBEX] section 3.3. If this message is a response message, as defined in [IROBEX] section 3.2, the response code value MUST be taken from [IROBEX] section 3.2.1.

Packet Length (2 bytes): Describes the length (in bytes) of the entire packet including the opcode, packet length, all optional headers, and data.<2> More details are specified in [IROBEX] section 3.1.

Tag1 (1 byte): Describes the implementation-defined header identifier. The value for this field is 0xF0. This value is the bitwise OR of 0x30 and 0xC0. This signifies that the header identifier is "user-defined" (0x30) and that the length of the Value field is 4 bytes (0xC0). The values 0x30 and 0xC0 and the bitwise OR operation used to arrive at the final value of 0xF0 for this field are specified in [IROBEX] section 2.1.

Value (4 bytes): A 4-byte value containing a Win32 error code; see section 1.8.

Additional headers or request data (variable): This variable length segment contains the rest of the IrOBEX message, as specified in [IROBEX] sections 3.1 and 3.2.