17 #define PEERDIST_MAGIC_PATH "/116B50EB-ECE2-41ac-8429-9F9E963361B7/" 33 #define PEERDIST_MSG_VERSION_1_0 0x00000001UL 36 #define PEERDIST_MSG_VERSION_2_0 0x00000002UL 69 #define peerdist_msg_segment_t( digestsize ) \ 71 struct peerdist_msg_segment segment; \ 72 uint8_t id[digestsize]; \ 73 uint8_t pad[ ( -(digestsize) ) & 0x3 ]; \ 74 } __attribute__ (( packed )) 90 #define peerdist_msg_ranges_t( count ) \ 92 struct peerdist_msg_ranges ranges; \ 93 struct peerdist_msg_range range[count]; \ 94 } __attribute__ (( packed )) 107 #define peerdist_msg_block_t( len ) \ 109 struct peerdist_msg_block block; \ 111 } __attribute__ (( packed )) 124 #define peerdist_msg_iv_t( blksize ) \ 126 struct peerdist_msg_iv iv; \ 127 uint8_t data[blksize]; \ 128 } __attribute__ (( packed )) 143 #define peerdist_msg_useless_vrf_t( vrf_len ) \ 145 struct peerdist_msg_useless_vrf vrf; \ 146 uint8_t data[vrf_len]; \ 147 uint8_t pad[ ( -(vrf_len) ) & 0x3 ]; \ 148 } __attribute__ (( packed )) 198 #define PEERDIST_MSG_NEGO_REQ_VERSION PEERDIST_MSG_VERSION_1_0 201 #define PEERDIST_MSG_NEGO_REQ_TYPE 0x00000000UL 212 #define PEERDIST_MSG_NEGO_RESP_VERSION PEERDIST_MSG_VERSION_1_0 215 #define PEERDIST_MSG_NEGO_RESP_TYPE 0x00000001UL 233 #define peerdist_msg_getblklist_t( digestsize, count ) \ 235 struct peerdist_msg_getblklist getblklist; \ 236 peerdist_msg_segment_t ( digestsize ) segment; \ 237 peerdist_msg_ranges_t ( count ) ranges; \ 238 } __attribute__ (( packed )) 241 #define PEERDIST_MSG_GETBLKLIST_VERSION PEERDIST_MSG_VERSION_1_0 244 #define PEERDIST_MSG_GETBLKLIST_TYPE 0x00000002UL 265 #define peerdist_msg_getblks_t( digestsize, count, vrf_len ) \ 267 struct peerdist_msg_getblks getblks; \ 268 peerdist_msg_segment_t ( digestsize ) segment; \ 269 peerdist_msg_ranges_t ( count ) ranges; \ 270 peerdist_msg_useless_vrf_t ( vrf_len ); \ 271 } __attribute__ (( packed )) 274 #define PEERDIST_MSG_GETBLKS_VERSION PEERDIST_MSG_VERSION_1_0 277 #define PEERDIST_MSG_GETBLKS_TYPE 0x00000003UL 297 #define peerdist_msg_blklist_t( digestsize, count ) \ 299 struct peerdist_msg_blklist blklist; \ 300 peerdist_msg_segment_t ( digestsize ) segment; \ 301 peerdist_msg_ranges_t ( count ) ranges; \ 303 } __attribute__ (( packed )) 306 #define PEERDIST_MSG_BLKLIST_VERSION PEERDIST_MSG_VERSION_1_0 309 #define PEERDIST_MSG_BLKLIST_TYPE 0x00000004UL 335 #define peerdist_msg_blk_t( digestsize, len, vrf_len, blksize ) \ 337 struct peerdist_msg_blk blk; \ 338 peerdist_msg_segment_t ( digestsize ) segment; \ 341 peerdist_msg_block_t ( len ) block; \ 342 peerdist_msg_useless_vrf_t ( vrf_len ) vrf; \ 343 peerdist_msg_iv_t ( blksize ) iv; \ 344 } __attribute__ (( packed )) 347 #define PEERDIST_MSG_BLK_VERSION PEERDIST_MSG_VERSION_1_0 350 #define PEERDIST_MSG_BLK_TYPE 0x00000005UL
uint16_t minor
Minor version number.
Retrieval protocol block fetch request header.
Retrieval protocol negotiation response.
Retrieval protocol block list request header.
struct peerdist_msg_header hdr
Message header.
Retrieval protocol block list response header.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
struct peerdist_msg_header hdr
Message header.
uint32_t first
First block in range.
uint32_t blksize
Cipher block size.
Retrieval protocol segment ID header.
Retrieval protocol negotiation request.
Retrieval protocol initialisation vector header.
struct peerdist_msg_header hdr
Message header.
struct peerdist_msg_header hdr
Message header.
uint32_t count
Number of ranges.
union peerdist_msg_version max
Maximum supported protocol version.
uint16_t major
Major version number.
Retrieval protocol data block header.
Retrieval protocol block range list header.
peerdist_msg_algorithm
Retrieval protocol cryptographic algorithm IDs.
enum peerdist_msg_algorithm __attribute__
struct peerdist_msg_versions versions
Supported versions.
Retrieval protocol version.
struct peerdist_msg_version::@649 __attribute__((packed))
Major:minor version number.
uint32_t len
Length of useless VRF data.
union peerdist_msg_version min
Minimum supported protocol version.
Retrieval protocol block range.
Retrieval protocol supported versions.
struct peerdist_msg_versions versions
Supported versions.
uint32_t count
Number of blocks in range.
uint32_t raw
Raw version number.
Retrieval protocol useless VRF data header.
Retrieval protocol block fetch response header.
uint32_t len
Length of data block.
struct peerdist_msg_header hdr
Message header.
uint32_t digestsize
Digest size (i.e.
struct peerdist_msg_header hdr
Message header.