NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
doca_mmap.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <doca_compat.h>
#include <doca_error.h>
#include <doca_types.h>
Include dependency graph for doca_mmap.h:

Go to the source code of this file.

Typedefs

typedef uint32_t doca_dpa_dev_mmap_t
 Handle on the DPA for a doca_mmap instance. More...
 
typedef void() doca_mmap_memrange_free_cb_t(void *addr, size_t len, void *cookie)
 Function to be called for each populated memory range on memory map destroy. More...
 

Functions

DOCA_STABLE doca_error_t doca_mmap_create (struct doca_mmap **mmap)
 Allocates zero size memory map object with default/unset attributes. More...
 
DOCA_STABLE doca_error_t doca_mmap_destroy (struct doca_mmap *mmap)
 Destroy DOCA Memory Map structure. More...
 
DOCA_STABLE doca_error_t doca_mmap_start (struct doca_mmap *mmap)
 Start DOCA Memory Map. More...
 
DOCA_STABLE doca_error_t doca_mmap_stop (struct doca_mmap *mmap)
 Stop DOCA Memory Map. More...
 
DOCA_STABLE doca_error_t doca_mmap_add_dev (struct doca_mmap *mmap, struct doca_dev *dev)
 Register DOCA memory map on a given device. More...
 
DOCA_STABLE doca_error_t doca_mmap_rm_dev (struct doca_mmap *mmap, struct doca_dev *dev)
 Deregister given device from DOCA memory map. More...
 
DOCA_STABLE doca_error_t doca_mmap_export_pci (struct doca_mmap *mmap, const struct doca_dev *dev, const void **export_desc, size_t *export_desc_len)
 Compose memory map representation for later import with doca_mmap_create_from_export() for one of the devices previously added to the memory map. More...
 
DOCA_STABLE doca_error_t doca_mmap_export_rdma (struct doca_mmap *mmap, const struct doca_dev *dev, const void **export_desc, size_t *export_desc_len)
 Compose memory map representation for later import with doca_mmap_create_from_export() for one of the devices previously added to the memory map. The imported mmap can then be used for RDMA operations. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_mmap_dev_get_dpa_handle (struct doca_mmap *mmap, const struct doca_dev *dev, doca_dpa_dev_mmap_t *dpa_mmap_handle)
 Extract mmap handle associated with the given DOCA device, for the DPA to operate on. More...
 
DOCA_STABLE doca_error_t doca_mmap_create_from_export (const union doca_data *user_data, const void *export_desc, size_t export_desc_len, struct doca_dev *dev, struct doca_mmap **mmap)
 Creates a memory map object representing memory ranges in remote system memory space. More...
 
DOCA_STABLE doca_error_t doca_mmap_set_memrange (struct doca_mmap *mmap, void *addr, size_t len)
 Set the memory range of DOCA memory map. More...
 
DOCA_STABLE doca_error_t doca_mmap_set_dmabuf_memrange (struct doca_mmap *mmap, int dmabuf_fd, void *addr, size_t dmabuf_offset, size_t len)
 Set the memory range of DOCA memory map using dmabuf. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_mmap_set_dpa_memrange (struct doca_mmap *mmap, struct doca_dpa *dpa, uint64_t dpa_addr, size_t len)
 Set the memory range of DOCA memory map to be a DPA heap memory. More...
 
DOCA_STABLE doca_error_t doca_mmap_get_memrange (const struct doca_mmap *mmap, void **addr, size_t *len)
 Get the memory range of DOCA memory map. More...
 
DOCA_STABLE doca_error_t doca_mmap_set_free_cb (struct doca_mmap *mmap, doca_mmap_memrange_free_cb_t *free_cb, void *opaque)
 Set callback that will free the memory range when destroying DOCA memory map. More...
 
DOCA_STABLE doca_error_t doca_mmap_get_user_data (const struct doca_mmap *mmap, union doca_data *user_data)
 Get the user_data of a DOCA Memory Map. More...
 
DOCA_STABLE doca_error_t doca_mmap_get_max_num_devices (const struct doca_mmap *mmap, uint32_t *max_num_devices)
 Get the max number of devices to add to a DOCA Memory Map. More...
 
DOCA_STABLE doca_error_t doca_mmap_get_num_bufs (const struct doca_mmap *mmap, uint32_t *num_bufs)
 Get the Total number of struct doca_buf objects pointing to the memory in a DOCA Memory Map. More...
 
DOCA_STABLE doca_error_t doca_mmap_get_exported (const struct doca_mmap *mmap, uint8_t *exported)
 Get the flag indicating if a DOCA Memory Map had been exported. More...
 
DOCA_STABLE doca_error_t doca_mmap_get_from_export (const struct doca_mmap *mmap, uint8_t *from_export)
 Get the flag indicating if a DOCA Memory Map had been created from an export. More...
 
DOCA_STABLE doca_error_t doca_mmap_set_max_num_devices (struct doca_mmap *mmap, uint32_t max_num_devices)
 Set a new max number of devices to add to a DOCA Memory Map. More...
 
DOCA_STABLE doca_error_t doca_mmap_set_permissions (struct doca_mmap *mmap, uint32_t access_mask)
 Set access flags of the registered memory. More...
 
DOCA_STABLE doca_error_t doca_mmap_set_user_data (struct doca_mmap *mmap, union doca_data user_data)
 Set user_data for a DOCA Memory Map. More...
 
DOCA_STABLE doca_error_t doca_mmap_cap_is_export_pci_supported (const struct doca_devinfo *devinfo, uint8_t *mmap_export)
 Get the mmap export to PCI capability of a device. More...
 
DOCA_STABLE doca_error_t doca_mmap_cap_is_create_from_export_pci_supported (const struct doca_devinfo *devinfo, uint8_t *from_export)
 Get the mmap create from export PCI capability of a device. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_mmap_enable_thread_safety (struct doca_mmap *mmap)
 Enable thread safety for doca_mmap. More...