#[repr(C)]pub struct ucp_mem_map_params {
pub field_mask: u64,
pub address: *mut c_void,
pub length: size_t,
pub flags: c_uint,
pub prot: c_uint,
pub memory_type: ucs_memory_type_t,
}Expand description
@ingroup UCP_MEM @brief Tuning parameters for the UCP memory mapping.
The structure defines the parameters that are used for the UCP memory mapping tuning during the @ref ucp_mem_map “ucp_mem_map” routine.
Fields§
§field_mask: u64Mask of valid fields in this structure, using bits from @ref ucp_mem_map_params_field. Fields not specified in this mask will be ignored. Provides ABI compatibility with respect to adding new fields.
address: *mut c_voidIf the address is not NULL, the routine maps (registers) the memory segment pointed to by this address. If the pointer is NULL, the library allocates mapped (registered) memory segment and returns its address in this argument. Therefore, this value is optional. If it’s not set (along with its corresponding bit in the field_mask - @ref UCP_MEM_MAP_PARAM_FIELD_ADDRESS), the ucp_mem_map routine will consider address as set to NULL and will allocate memory.
length: size_tLength (in bytes) to allocate or map (register). This field is mandatory for filling (along with its corresponding bit in the field_mask - @ref UCP_MEM_MAP_PARAM_FIELD_LENGTH). The @ref ucp_mem_map routine will return with an error if the length isn’t specified.
flags: c_uintAllocation flags, e.g. @ref UCP_MEM_MAP_NONBLOCK. This value is optional. If it’s not set (along with its corresponding bit in the field_mask - @ref UCP_MEM_MAP_PARAM_FIELD_FLAGS), the @ref ucp_mem_map routine will consider the flags as set to zero.
prot: c_uintMemory protection mode, e.g. @ref UCP_MEM_MAP_PROT_LOCAL_READ. This value is optional. If it’s not set, the @ref ucp_mem_map routine will consider the flags as set to UCP_MEM_MAP_PROT_LOCAL_READ|UCP_MEM_MAP_PROT_LOCAL_WRITE| UCP_MEM_MAP_PROT_REMOTE_READ|UCP_MEM_MAP_PROT_REMOTE_WRITE.
memory_type: ucs_memory_type_tTrait Implementations§
Source§impl Clone for ucp_mem_map_params
impl Clone for ucp_mem_map_params
Source§fn clone(&self) -> ucp_mem_map_params
fn clone(&self) -> ucp_mem_map_params
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more