Skip to main content

TEEC_AllocateSharedMemory

Function TEEC_AllocateSharedMemory 

Source
#[unsafe(no_mangle)]
pub extern "C" fn TEEC_AllocateSharedMemory( ctx: *mut TEEC_Context, shm: *mut TEEC_SharedMemory, ) -> TEEC_Result
Expand description

TEEC_AllocateSharedMemory() - 为 TEE 分配共享内存。

@param ctx 已初始化的 TEE 上下文。 @param sharedMem 指向要分配的共享内存结构的指针(由调用者填写希望的属性)。

@return TEEC_SUCCESS 分配/注册成功。 @return TEEC_ERROR_OUT_OF_MEMORY 内存不足。 @return TEEC_Result 其他错误。

Examples found in repository?
examples/cc-teec.rs (line 357)
347fn allocate_shared_memory(
348    ctx: &mut raw::TEEC_Context,
349    size: usize,
350    flags: u32,
351) -> Result<raw::TEEC_SharedMemory> {
352    // SAFETY: `TEEC_SharedMemory` 是 POD 类型,零初始化是有效的。
353    let mut shm: raw::TEEC_SharedMemory = unsafe { mem::zeroed() };
354    shm.size = size;
355    shm.flags = flags;
356
357    let res = TEEC_AllocateSharedMemory(ctx, &mut shm);
358    if res != raw::TEEC_SUCCESS {
359        return Err(Error::from_raw_os_error(res as i32));
360    }
361
362    Ok(shm)
363}