iPXE
|
Peer Content Caching and Retrieval: Retrieval Protocol [MS-PCCRR]. More...
Go to the source code of this file.
Data Structures | |
union | peerdist_msg_version |
Retrieval protocol version. More... | |
struct | peerdist_msg_versions |
Retrieval protocol supported versions. More... | |
struct | peerdist_msg_range |
Retrieval protocol block range. More... | |
struct | peerdist_msg_segment |
Retrieval protocol segment ID header. More... | |
struct | peerdist_msg_ranges |
Retrieval protocol block range list header. More... | |
struct | peerdist_msg_block |
Retrieval protocol data block header. More... | |
struct | peerdist_msg_iv |
Retrieval protocol initialisation vector header. More... | |
struct | peerdist_msg_useless_vrf |
Retrieval protocol useless VRF data header. More... | |
struct | peerdist_msg_header |
Retrieval protocol message header. More... | |
struct | peerdist_msg_transport_header |
Retrieval protocol transport response header. More... | |
struct | peerdist_msg_nego_req |
Retrieval protocol negotiation request. More... | |
struct | peerdist_msg_nego_resp |
Retrieval protocol negotiation response. More... | |
struct | peerdist_msg_getblklist |
Retrieval protocol block list request header. More... | |
struct | peerdist_msg_getblks |
Retrieval protocol block fetch request header. More... | |
struct | peerdist_msg_blklist |
Retrieval protocol block list response header. More... | |
struct | peerdist_msg_blk |
Retrieval protocol block fetch response header. More... | |
Macros | |
#define | PEERDIST_MAGIC_PATH "/116B50EB-ECE2-41ac-8429-9F9E963361B7/" |
Magic retrieval URI path. More... | |
#define | PEERDIST_MSG_VERSION_1_0 0x00000001UL |
Retrieval protocol version 1.0. More... | |
#define | PEERDIST_MSG_VERSION_2_0 0x00000002UL |
Retrieval protocol version 2.0. More... | |
#define | peerdist_msg_segment_t(digestsize) |
Retrieval protocol segment ID. More... | |
#define | peerdist_msg_ranges_t(count) |
Retrieval protocol block range list. More... | |
#define | peerdist_msg_block_t(len) |
Retrieval protocol data block. More... | |
#define | peerdist_msg_iv_t(blksize) |
Retrieval protocol initialisation vector. More... | |
#define | peerdist_msg_useless_vrf_t(vrf_len) |
Retrieval protocol useless VRF data. More... | |
#define | PEERDIST_MSG_NEGO_REQ_VERSION PEERDIST_MSG_VERSION_1_0 |
Retrieval protocol negotiation request version. More... | |
#define | PEERDIST_MSG_NEGO_REQ_TYPE 0x00000000UL |
Retrieval protocol negotiation request type. More... | |
#define | PEERDIST_MSG_NEGO_RESP_VERSION PEERDIST_MSG_VERSION_1_0 |
Retrieval protocol negotiation response version. More... | |
#define | PEERDIST_MSG_NEGO_RESP_TYPE 0x00000001UL |
Retrieval protocol negotiation response type. More... | |
#define | peerdist_msg_getblklist_t(digestsize, count) |
Retrieval protocol block list request. More... | |
#define | PEERDIST_MSG_GETBLKLIST_VERSION PEERDIST_MSG_VERSION_1_0 |
Retrieval protocol block list request version. More... | |
#define | PEERDIST_MSG_GETBLKLIST_TYPE 0x00000002UL |
Retrieval protocol block list request type. More... | |
#define | peerdist_msg_getblks_t(digestsize, count, vrf_len) |
Retrieval protocol block fetch request. More... | |
#define | PEERDIST_MSG_GETBLKS_VERSION PEERDIST_MSG_VERSION_1_0 |
Retrieval protocol block fetch request version. More... | |
#define | PEERDIST_MSG_GETBLKS_TYPE 0x00000003UL |
Retrieval protocol block fetch request type. More... | |
#define | peerdist_msg_blklist_t(digestsize, count) |
Retrieval protocol block list response. More... | |
#define | PEERDIST_MSG_BLKLIST_VERSION PEERDIST_MSG_VERSION_1_0 |
Retrieval protocol block list response version. More... | |
#define | PEERDIST_MSG_BLKLIST_TYPE 0x00000004UL |
Retrieval protocol block list response type. More... | |
#define | peerdist_msg_blk_t(digestsize, len, vrf_len, blksize) |
Retrieval protocol block fetch response. More... | |
#define | PEERDIST_MSG_BLK_VERSION PEERDIST_MSG_VERSION_1_0 |
Retrieval protocol block fetch response version. More... | |
#define | PEERDIST_MSG_BLK_TYPE 0x00000005UL |
Retrieval protocol block fetch response type. More... | |
#define | peerdist_msg_blk(raw, raw_len, digestsize, blksize, blk) |
Parse retrieval protocol block fetch response. More... | |
Enumerations | |
enum | peerdist_msg_algorithm { PEERDIST_MSG_PLAINTEXT = 0x00000000UL, PEERDIST_MSG_AES_128_CBC = 0x00000001UL, PEERDIST_MSG_AES_192_CBC = 0x00000002UL, PEERDIST_MSG_AES_256_CBC = 0x00000003UL } |
Retrieval protocol cryptographic algorithm IDs. More... | |
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
union peerdist_msg_version | __attribute__ ((packed)) |
Major:minor version number. More... | |
int | peerdist_msg_blk_untyped (userptr_t raw, size_t raw_len, size_t digestsize, size_t blksize, void *out) |
Variables | |
uint16_t | minor |
Minor version number. More... | |
uint16_t | major |
Major version number. More... | |
uint32_t | raw |
Raw version number. More... | |
union peerdist_msg_version | min |
Minimum supported protocol version. More... | |
union peerdist_msg_version | max |
Maximum supported protocol version. More... | |
uint32_t | first |
First block in range. More... | |
uint32_t | count |
Number of blocks in range. More... | |
uint32_t | digestsize |
Digest size (i.e. More... | |
uint32_t | len |
Length of data block. More... | |
uint32_t | blksize |
Cipher block size. More... | |
union peerdist_msg_version | version |
Protocol version. More... | |
uint32_t | type |
Message type. More... | |
uint32_t | algorithm |
Cryptographic algorithm ID. More... | |
enum peerdist_msg_algorithm | __attribute__ |
struct peerdist_msg_header | hdr |
Message header. More... | |
struct peerdist_msg_versions | versions |
Supported versions. More... | |
Peer Content Caching and Retrieval: Retrieval Protocol [MS-PCCRR].
All fields are in network byte order.
Definition in file pccrr.h.
#define PEERDIST_MAGIC_PATH "/116B50EB-ECE2-41ac-8429-9F9E963361B7/" |
#define PEERDIST_MSG_VERSION_1_0 0x00000001UL |
#define PEERDIST_MSG_VERSION_2_0 0x00000002UL |
#define peerdist_msg_segment_t | ( | digestsize | ) |
Retrieval protocol segment ID.
digestsize | Digest size |
#define peerdist_msg_ranges_t | ( | count | ) |
Retrieval protocol block range list.
count | Number of ranges |
#define peerdist_msg_block_t | ( | len | ) |
Retrieval protocol data block.
#define peerdist_msg_iv_t | ( | blksize | ) |
Retrieval protocol initialisation vector.
#define peerdist_msg_useless_vrf_t | ( | vrf_len | ) |
Retrieval protocol useless VRF data.
#define PEERDIST_MSG_NEGO_REQ_VERSION PEERDIST_MSG_VERSION_1_0 |
#define PEERDIST_MSG_NEGO_REQ_TYPE 0x00000000UL |
#define PEERDIST_MSG_NEGO_RESP_VERSION PEERDIST_MSG_VERSION_1_0 |
#define PEERDIST_MSG_NEGO_RESP_TYPE 0x00000001UL |
#define peerdist_msg_getblklist_t | ( | digestsize, | |
count | |||
) |
Retrieval protocol block list request.
digestsize | Digest size |
count | Block range count |
#define PEERDIST_MSG_GETBLKLIST_VERSION PEERDIST_MSG_VERSION_1_0 |
#define PEERDIST_MSG_GETBLKLIST_TYPE 0x00000002UL |
#define peerdist_msg_getblks_t | ( | digestsize, | |
count, | |||
vrf_len | |||
) |
Retrieval protocol block fetch request.
digestsize | Digest size |
count | Block range count |
vrf_len | Length of uselessness |
#define PEERDIST_MSG_GETBLKS_VERSION PEERDIST_MSG_VERSION_1_0 |
#define PEERDIST_MSG_GETBLKS_TYPE 0x00000003UL |
#define peerdist_msg_blklist_t | ( | digestsize, | |
count | |||
) |
Retrieval protocol block list response.
digestsize | Digest size |
count | Block range count |
#define PEERDIST_MSG_BLKLIST_VERSION PEERDIST_MSG_VERSION_1_0 |
#define PEERDIST_MSG_BLKLIST_TYPE 0x00000004UL |
#define peerdist_msg_blk_t | ( | digestsize, | |
len, | |||
vrf_len, | |||
blksize | |||
) |
Retrieval protocol block fetch response.
digestsize | Digest size |
len | Data block length |
vrf_len | Length of uselessness |
blksize | Cipher block size |
#define PEERDIST_MSG_BLK_VERSION PEERDIST_MSG_VERSION_1_0 |
#define PEERDIST_MSG_BLK_TYPE 0x00000005UL |
#define peerdist_msg_blk | ( | raw, | |
raw_len, | |||
digestsize, | |||
blksize, | |||
blk | |||
) |
Parse retrieval protocol block fetch response.
raw | Raw data |
raw_len | Length of raw data |
digestsize | Digest size |
blksize | Cipher block size |
blk | Structure to fill in |
rc | Return status code |
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
union peerdist_msg_version __attribute__ | ( | (packed) | ) |
Major:minor version number.
int peerdist_msg_blk_untyped | ( | userptr_t | raw, |
size_t | raw_len, | ||
size_t | digestsize, | ||
size_t | blksize, | ||
void * | out | ||
) |
union peerdist_msg_version min |
union peerdist_msg_version max |
uint32_t first |
First block in range.
Definition at line 14 of file pccrr.h.
Referenced by bigint_swap_sample(), dns_compare(), draw_editbox(), efi_paths(), inline_list_cut_position(), inline_list_splice(), inline_list_splice_tail(), ioremap_pages(), iounmap_pages(), memcmp(), memswap(), peerdist_info_v1(), strcasecmp(), strcmp(), strncasecmp(), strncmp(), tls_new_ciphertext(), trivial_memcmp_user(), uhci_restart(), uristrcmp(), usb_describe(), usb_interface_association_descriptor(), usb_probe_all(), usb_score(), usbio_interfaces(), vmbus_consume(), vmbus_dump_channel(), vmbus_produce(), and x509_chain_okx().
uint32_t digestsize |
Digest size (i.e.
length of segment ID)
Definition at line 14 of file pccrr.h.
Referenced by peerblk_open(), peerblk_parse_block(), peerblk_parse_iv(), peerblk_parse_useless(), peerblk_retrieval_open(), peerdist_info_block_okx(), peerdist_info_hash_ntoa(), peerdist_info_passphrase_okx(), peerdist_info_segment_hash(), peerdist_info_segment_okx(), peerdist_info_v1_block(), peerdist_info_v1_block_offset(), peerdist_info_v1_segment(), peerdist_info_v2_block(), peerdist_info_v2_cursor_next(), peerdist_info_v2_segment(), sha256_family_init(), and sha512_family_init().
uint32_t len |
uint32_t blksize |
Cipher block size.
Block length in bytes.
Definition at line 14 of file pccrr.h.
Referenced by efi_pxe_mtftp(), peerblk_parse_iv(), pxe_tftp_open(), sandev_parse_iso9660(), and tftp_send_rrq().
union peerdist_msg_version version |
struct peerdist_msg_header hdr |
struct peerdist_msg_versions versions |