rust/lib-hedgewars-engine/src/lib.rs
changeset 15265 07e909ba4203
parent 14854 aed75d439027
child 15759 c929e25a7da2
equal deleted inserted replaced
15264:7515ae6010bb 15265:07e909ba4203
   116 
   116 
   117 #[no_mangle]
   117 #[no_mangle]
   118 pub extern "C" fn send_ipc(engine_state: &mut EngineInstance, buf: *const u8, size: usize) {
   118 pub extern "C" fn send_ipc(engine_state: &mut EngineInstance, buf: *const u8, size: usize) {
   119     unsafe {
   119     unsafe {
   120         (*engine_state)
   120         (*engine_state)
   121             .ipc
   121             .ipc_channel
   122             .write(std::slice::from_raw_parts(buf, size))
   122             .write(std::slice::from_raw_parts(buf, size))
   123             .unwrap();
   123             .unwrap();
   124     }
   124     }
   125 }
   125 }
   126 
   126 
   127 #[no_mangle]
   127 #[no_mangle]
   128 pub extern "C" fn read_ipc(engine_state: &mut EngineInstance, buf: *mut u8, size: usize) -> usize {
   128 pub extern "C" fn read_ipc(engine_state: &mut EngineInstance, buf: *mut u8, size: usize) -> usize {
   129     unsafe {
   129     unsafe {
   130         (*engine_state)
   130         (*engine_state)
   131             .ipc
   131             .ipc_channel
   132             .read(std::slice::from_raw_parts_mut(buf, size))
   132             .read(std::slice::from_raw_parts_mut(buf, size))
   133             .unwrap_or(0)
   133             .unwrap_or(0)
   134     }
   134     }
   135 }
   135 }
   136 
   136