@@ -6,7 +6,7 @@ use super::{IpAddress, MacAddress};
6
6
use crate :: polyfill:: maybe_uninit_slice_as_mut_ptr;
7
7
use crate :: proto:: unsafe_protocol;
8
8
use crate :: util:: ptr_write_unaligned_and_add;
9
- use crate :: { CStr8 , Char8 , Result , Status , StatusExt } ;
9
+ use crate :: { CStr8 , Result , Status , StatusExt } ;
10
10
use bitflags:: bitflags;
11
11
use core:: ffi:: c_void;
12
12
use core:: fmt:: { self , Debug , Display , Formatter } ;
@@ -15,7 +15,7 @@ use core::mem::MaybeUninit;
15
15
use core:: ptr:: { self , null, null_mut} ;
16
16
use ptr_meta:: Pointee ;
17
17
use uefi_raw:: protocol:: network:: pxe:: PxeBaseCodeTftpOpcode ;
18
- use uefi_raw:: Boolean ;
18
+ use uefi_raw:: { Boolean , Char8 } ;
19
19
20
20
pub use uefi_raw:: protocol:: network:: pxe:: {
21
21
PxeBaseCodeBootType as BootstrapType , PxeBaseCodeIpFilterFlags as IpFilters ,
@@ -162,7 +162,7 @@ impl BaseCode {
162
162
& mut buffer_size,
163
163
None ,
164
164
server_ip. as_raw_ptr ( ) ,
165
- filename . as_ptr ( ) ,
165
+ cstr8_to_ptr ( filename ) ,
166
166
None ,
167
167
Boolean :: FALSE ,
168
168
)
@@ -193,7 +193,7 @@ impl BaseCode {
193
193
& mut buffer_size,
194
194
None ,
195
195
server_ip. as_raw_ptr ( ) ,
196
- filename . as_ptr ( ) ,
196
+ cstr8_to_ptr ( filename ) ,
197
197
None ,
198
198
dont_use_buffer,
199
199
)
@@ -221,7 +221,7 @@ impl BaseCode {
221
221
& mut buffer_size,
222
222
None ,
223
223
server_ip. as_raw_ptr ( ) ,
224
- filename . as_ptr ( ) ,
224
+ cstr8_to_ptr ( filename ) ,
225
225
None ,
226
226
Boolean :: FALSE ,
227
227
)
@@ -249,7 +249,7 @@ impl BaseCode {
249
249
& mut buffer_size,
250
250
None ,
251
251
server_ip. as_raw_ptr ( ) ,
252
- directory_name . as_ptr ( ) ,
252
+ cstr8_to_ptr ( directory_name ) ,
253
253
None ,
254
254
Boolean :: FALSE ,
255
255
)
@@ -322,7 +322,7 @@ impl BaseCode {
322
322
& mut buffer_size,
323
323
None ,
324
324
server_ip. as_raw_ptr ( ) ,
325
- filename . as_ptr ( ) ,
325
+ cstr8_to_ptr ( filename ) ,
326
326
Some ( info) ,
327
327
Boolean :: FALSE ,
328
328
)
@@ -354,7 +354,7 @@ impl BaseCode {
354
354
& mut buffer_size,
355
355
None ,
356
356
server_ip. as_raw_ptr ( ) ,
357
- filename . as_ptr ( ) ,
357
+ cstr8_to_ptr ( filename ) ,
358
358
Some ( info) ,
359
359
dont_use_buffer,
360
360
)
@@ -627,6 +627,11 @@ impl BaseCode {
627
627
}
628
628
}
629
629
630
+ /// Convert a `&CStr8` to a `*const uefi_raw::Char8`.
631
+ const fn cstr8_to_ptr ( s : & CStr8 ) -> * const Char8 {
632
+ s. as_ptr ( ) . cast ( )
633
+ }
634
+
630
635
/// Convert an `&Option<bool>` to a `*const Boolean`.
631
636
///
632
637
/// This is always a valid conversion; `bool` is an 8-bit `0` or `1`.
0 commit comments