2.2.3.3 EXTENDED_PAYLOAD
The EXTENDED_PAYLOAD structure holds arbitrary data supplied by the application for a Peer Name.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Length |
Minor Version |
Major Version |
|||||||||||||||||||||||||||||
Reserved |
Signature Offset |
||||||||||||||||||||||||||||||
Not After |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
PNRP ID (32 bytes) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Nonce (16 bytes) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Number of Payloads |
Total Payload Bytes |
||||||||||||||||||||||||||||||
Payload Type |
|||||||||||||||||||||||||||||||
Payload Length |
String Type (optional) |
||||||||||||||||||||||||||||||
Payload (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Signature (variable) |
|||||||||||||||||||||||||||||||
... |
Length (2 bytes): Length, in little-endian byte order, of the entire EXTENDED_PAYLOAD structure.
Minor Version (1 byte): The minor version of the EXTENDED_PAYLOAD structure. MUST be set to 0x00.
Major Version (1 byte): The major version of the EXTENDED_PAYLOAD structure. MUST be set to 0x02.
Reserved (2 bytes): MUST be set to zero when sent and MUST be ignored on receipt.
Signature Offset (2 bytes): Byte offset, in little-endian byte order, from the beginning of the EXTENDED_PAYLOAD structure to the Signature field.
Not After (8 bytes): The number, in little-endian byte order, of 100-nanosecond intervals, since January 1, 1601 (UTC) until the CPA expires.
PNRP ID (32 bytes): The PNRP ID with which this EXTENDED PAYLOAD message is associated, transmitted in reverse byte order (that is, the least significant byte is transmitted first).
Nonce (16 bytes): The value of the Nonce field from the INQUIRE message of the node requesting this extended CPA.
Number of Payloads (2 bytes): Number, in little-endian byte order, of Payloads to follow. MUST be set to 0x0001.
Total Payload Bytes (2 bytes): Total number, in little-endian byte order, of bytes between the end of the Nonce field and the beginning of the Signature field. This field MUST be 10 plus the value of the Payload Length field.
Payload Type (4 bytes): The type of Payload, in little-endian byte order. MUST be one of the following.
-
Value
Meaning
0x80000002
Payload field contains a NULL-terminated string.
0x80000003
Payload field contains binary data.
Payload Length (2 bytes): Number, in little-endian byte order, of bytes in the String Type and Payload fields. For a binary payload, the value MUST be from 1 through 4096. For a string payload, the value MUST be from 6 through 4098.
String Type (2 bytes): The encoding format of the string, in little-endian byte order. This field MUST be present if and only if PayloadType is 0x80000002. If present, the value MUST be one of the following.
-
Value
Meaning
0x0000
0x0001
UTF-8
Payload (variable): A NULL-terminated string (if PayloadType is 0x80000002) or binary data (if PayloadType is 0x80000003) supplied by the application or higher-layer protocol.
Signature (variable): A SIGNATURE structure.