Skip to content

Commit 68f42c2

Browse files
uefi-raw: Add PxeBaseCodeIcmpError and PxeBaseCodeTftpError
1 parent e9d3cf6 commit 68f42c2

File tree

1 file changed

+46
-0
lines changed
  • uefi-raw/src/protocol/network

1 file changed

+46
-0
lines changed

uefi-raw/src/protocol/network/pxe.rs

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,47 @@
11
// SPDX-License-Identifier: MIT OR Apache-2.0
2+
3+
use crate::Char8;
4+
use core::fmt::{self, Debug, Formatter};
5+
6+
#[derive(Clone, Debug)]
7+
#[repr(C)]
8+
pub struct PxeBaseCodeIcmpError {
9+
pub ty: u8,
10+
pub code: u8,
11+
pub checksum: u16,
12+
pub u: PxeBaseCodeIcmpErrorUnion,
13+
pub data: [u8; 494],
14+
}
15+
16+
/// In the C API, this is an anonymous union inside the definition of
17+
/// `EFI_PXE_BASE_CODE_ICMP_ERROR`.
18+
#[derive(Clone, Copy)]
19+
#[repr(C)]
20+
pub union PxeBaseCodeIcmpErrorUnion {
21+
pub reserved: u32,
22+
pub mtu: u32,
23+
pub pointer: u32,
24+
pub echo: PxeBaseCodeIcmpErrorEcho,
25+
}
26+
27+
impl Debug for PxeBaseCodeIcmpErrorUnion {
28+
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
29+
f.debug_struct("PxeBaseCodeIcmpErrorUnion").finish()
30+
}
31+
}
32+
33+
/// In the C API, this is an anonymous struct inside the definition of
34+
/// `EFI_PXE_BASE_CODE_ICMP_ERROR`.
35+
#[derive(Clone, Copy, Debug)]
36+
#[repr(C)]
37+
pub struct PxeBaseCodeIcmpErrorEcho {
38+
pub identifier: u16,
39+
pub sequence: u16,
40+
}
41+
42+
#[derive(Clone, Debug)]
43+
#[repr(C)]
44+
pub struct PxeBaseCodeTftpError {
45+
pub error_code: u8,
46+
pub error_string: [Char8; 127],
47+
}

0 commit comments

Comments
 (0)