abi_definitions/file_system/
socket.rs1use super::{XilaFileIdentifier, XilaFileSystemResult, into_u32};
2use task::block_on;
3use task::get_instance as get_task_manager_instance;
4use virtual_file_system::Error;
5
6#[unsafe(no_mangle)]
12pub unsafe extern "C" fn xila_file_system_send(
13 _socket: XilaFileIdentifier,
14 buffer: *const u8,
15 size: usize,
16) -> XilaFileSystemResult {
17 unsafe {
18 into_u32(|| {
19 let _task = block_on(get_task_manager_instance().get_current_task_identifier());
20
21 if buffer.is_null() {
22 Err(Error::InvalidParameter)?;
23 }
24
25 let _buffer = core::slice::from_raw_parts(buffer, size);
26
27 Ok(())
28 })
29 }
30}
31
32#[unsafe(no_mangle)]
42pub unsafe extern "C" fn xila_file_system_receive(
43 _socket: XilaFileIdentifier,
44 buffer: *mut u8,
45 size: usize,
46) -> XilaFileSystemResult {
47 unsafe {
48 into_u32(|| {
49 let _task = block_on(get_task_manager_instance().get_current_task_identifier());
50
51 if buffer.is_null() {
52 Err(Error::InvalidParameter)?;
53 }
54
55 let _buffer = core::slice::from_raw_parts_mut(buffer, size);
56
57 Ok(())
58 })
59 }
60}