Skip to content

Commit e43f9bb

Browse files
uefi: Convert uses of MtftpInfo to PxeBaseCodeMtftpInfo in pxe::BaseCode
This is an intermediate step towards using the uefi-raw definition of the protocol.
1 parent c866f4a commit e43f9bb

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

uefi/src/proto/network/pxe.rs

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ use core::iter::from_fn;
1414
use core::mem::MaybeUninit;
1515
use core::ptr::{self, null, null_mut};
1616
use ptr_meta::Pointee;
17-
use uefi_raw::protocol::network::pxe::{PxeBaseCodePacket, PxeBaseCodeTftpOpcode};
17+
use uefi_raw::protocol::network::pxe::{
18+
PxeBaseCodeMtftpInfo, PxeBaseCodePacket, PxeBaseCodeTftpOpcode,
19+
};
1820
use uefi_raw::{Boolean, Char8};
1921

2022
pub use uefi_raw::protocol::network::pxe::{
@@ -48,7 +50,7 @@ pub struct BaseCode {
4850
block_size: Option<&usize>,
4951
server_ip: *const uefi_raw::IpAddress,
5052
filename: *const Char8,
51-
info: Option<&MtftpInfo>,
53+
info: *const PxeBaseCodeMtftpInfo,
5254
dont_use_buffer: Boolean,
5355
) -> Status,
5456
udp_write: unsafe extern "efiapi" fn(
@@ -163,7 +165,7 @@ impl BaseCode {
163165
None,
164166
server_ip.as_raw_ptr(),
165167
cstr8_to_ptr(filename),
166-
None,
168+
null(),
167169
Boolean::FALSE,
168170
)
169171
};
@@ -194,7 +196,7 @@ impl BaseCode {
194196
None,
195197
server_ip.as_raw_ptr(),
196198
cstr8_to_ptr(filename),
197-
None,
199+
null(),
198200
dont_use_buffer,
199201
)
200202
};
@@ -222,7 +224,7 @@ impl BaseCode {
222224
None,
223225
server_ip.as_raw_ptr(),
224226
cstr8_to_ptr(filename),
225-
None,
227+
null(),
226228
Boolean::FALSE,
227229
)
228230
}
@@ -250,7 +252,7 @@ impl BaseCode {
250252
None,
251253
server_ip.as_raw_ptr(),
252254
cstr8_to_ptr(directory_name),
253-
None,
255+
null(),
254256
Boolean::FALSE,
255257
)
256258
};
@@ -323,7 +325,7 @@ impl BaseCode {
323325
None,
324326
server_ip.as_raw_ptr(),
325327
cstr8_to_ptr(filename),
326-
Some(info),
328+
info.as_raw_ptr(),
327329
Boolean::FALSE,
328330
)
329331
};
@@ -355,7 +357,7 @@ impl BaseCode {
355357
None,
356358
server_ip.as_raw_ptr(),
357359
cstr8_to_ptr(filename),
358-
Some(info),
360+
info.as_raw_ptr(),
359361
dont_use_buffer,
360362
)
361363
};
@@ -383,7 +385,7 @@ impl BaseCode {
383385
None,
384386
server_ip.as_raw_ptr(),
385387
null_mut(),
386-
Some(info),
388+
info.as_raw_ptr(),
387389
Boolean::FALSE,
388390
)
389391
};
@@ -829,6 +831,12 @@ pub struct MtftpInfo {
829831
pub transmit_timeout: u16,
830832
}
831833

834+
impl MtftpInfo {
835+
const fn as_raw_ptr(&self) -> *const PxeBaseCodeMtftpInfo {
836+
ptr::from_ref(self).cast()
837+
}
838+
}
839+
832840
/// IP receive filter settings
833841
///
834842
/// Corresponds to the `EFI_PXE_BASE_CODE_IP_FILTER` type in the C API.

0 commit comments

Comments
 (0)