277 const struct doca_dev *dev,
278 const void **export_desc,
279 size_t *export_desc_len);
321 const struct doca_dev *dev,
322 const void **export_desc,
323 size_t *export_desc_len);
350 const struct doca_dev *dev,
394 const void *export_desc,
395 size_t export_desc_len,
396 struct doca_dev *dev,
397 struct doca_mmap **
mmap);
459 size_t dmabuf_offset,
711 uint8_t *from_export);
static void free_cb(void *addr, size_t len, void *opaque)
#define DOCA_EXPERIMENTAL
To set a Symbol (or specifically a function) as experimental.
#define DOCA_STABLE
To set a Symbol (or specifically a function) as stable API, i.e. it won't be changed.
enum doca_error doca_error_t
DOCA API return codes.
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.
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.
uint32_t doca_dpa_dev_mmap_t
Handle on the DPA for a doca_mmap instance.
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.
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.
DOCA_STABLE doca_error_t doca_mmap_rm_dev(struct doca_mmap *mmap, struct doca_dev *dev)
Deregister given device from DOCA memory map.
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.
DOCA_STABLE doca_error_t doca_mmap_destroy(struct doca_mmap *mmap)
Destroy DOCA Memory Map structure.
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.
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.
DOCA_STABLE doca_error_t doca_mmap_create(struct doca_mmap **mmap)
Allocates zero size memory map object with default/unset attributes.
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.
DOCA_STABLE doca_error_t doca_mmap_set_permissions(struct doca_mmap *mmap, uint32_t access_mask)
Set access flags of the registered memory.
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...
DOCA_STABLE doca_error_t doca_mmap_start(struct doca_mmap *mmap)
Start DOCA Memory Map.
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.
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.
DOCA_EXPERIMENTAL doca_error_t doca_mmap_enable_thread_safety(struct doca_mmap *mmap)
Enable thread safety for doca_mmap.
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.
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.
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.
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.
DOCA_STABLE doca_error_t doca_mmap_stop(struct doca_mmap *mmap)
Stop DOCA Memory Map.
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.
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.
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.
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...
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.
Convenience type for representing opaque data.