in optee-utee/src/net/optee.rs [88:107]
fn open(setup: Self::Setup) -> Result<Self::Handle, SocketError> {
let mut handle: raw::TEE_iSocketHandle = ptr::null_mut();
let mut protocol_error: u32 = 0;
let mut setup = raw::TEE_tcpSocket_Setup {
ipVersion: setup.version,
server_addr: setup.addr.as_ptr() as _,
server_port: setup.port,
};
let ret = unsafe {
((*raw::TEE_tcpSocket).open)(
&mut handle,
&mut setup as *mut raw::TEE_tcpSocket_Setup as _,
&mut protocol_error,
)
};
match ret {
raw::TEE_SUCCESS => Ok(Self(handle)),
_ => Err(SocketError::from_raw_error(ret, protocol_error)),
}
}