NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
doca_devemu_vfs_io.h File Reference
#include <stdint.h>
#include <doca_buf.h>
#include <doca_error.h>
#include <doca_dev.h>
#include <doca_devemu_pci.h>
#include <doca_devemu_virtio.h>
#include <doca_devemu_virtio_io.h>
#include <doca_devemu_vfs.h>
Include dependency graph for doca_devemu_vfs_io.h:

Go to the source code of this file.

Typedefs

typedef void(* doca_devemu_vfs_io_event_vfs_req_notice_handler_cb_t) (struct doca_devemu_vfs_req *req, void *req_user_data, union doca_data event_user_data)
 Function to be executed on vfs_req_notice event occurrence. The Ownership of the doca_devemu_vfs_req and the req_user_data moves from doca_devemu_vfs_io ctx to the user. More...
 
typedef void(* doca_devemu_vfs_io_event_vfs_notification_req_notice_handler_cb_t) (struct doca_devemu_vfs_notification_req *req, void *req_user_data, union doca_data event_user_data)
 Function to be executed on vfs_notification_req_notice event occurrence. The Ownership of the doca_devemu_vfs_notification_req and the req_user_data moves from doca_devemu_vfs_io ctx to the user. More...
 

Functions

DOCA_EXPERIMENTAL doca_error_t doca_devemu_vfs_io_create (struct doca_devemu_vfs_dev *vfs_dev, struct doca_pe *progress_engine, struct doca_devemu_vfs_io **io)
 Allocate Virtio FS device IO context for a DOCA Virtio FS device. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_devemu_vfs_io_destroy (struct doca_devemu_vfs_io *io)
 Free a Virtio FS device IO context. More...
 
DOCA_EXPERIMENTAL struct doca_ctx * doca_devemu_vfs_io_as_ctx (struct doca_devemu_vfs_io *io)
 Convert DOCA Virtio FS device IO context instance into DOCA context. More...
 
DOCA_EXPERIMENTAL struct doca_devemu_virtio_io * doca_devemu_vfs_io_as_virtio_io (struct doca_devemu_vfs_io *io)
 Convert DOCA Virtio FS device IO context instance into DOCA Virtio device IO context. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_devemu_vfs_io_event_vfs_req_notice_register (struct doca_devemu_vfs_io *io, doca_devemu_vfs_io_event_vfs_req_notice_handler_cb_t handler, union doca_data user_data)
 Register to Virtio FS request notifications. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_devemu_vfs_io_event_vfs_notification_req_notice_register (struct doca_devemu_vfs_io *io, doca_devemu_vfs_io_event_vfs_notification_req_notice_handler_cb_t handler, union doca_data user_data)
 Register to Virtio FS notification_request notifications. More...
 
DOCA_EXPERIMENTAL void doca_devemu_vfs_req_complete (struct doca_devemu_vfs_req *req, uint32_t len)
 Complete the Virtio FS request. The Request ownership (including the associated datain, dataout and req_user_data) moves from the user back to the associated IO context. The associated IO context will complete the request towards the device driver according to the virtio fs specification. More...
 
DOCA_EXPERIMENTAL struct doca_buf * doca_devemu_vfs_req_get_datain (struct doca_devemu_vfs_req *req)
 Get the doca buffer associated with the device-readable part of the Virtio FS request. More...
 
DOCA_EXPERIMENTAL struct doca_buf * doca_devemu_vfs_req_get_dataout (struct doca_devemu_vfs_req *req)
 Get the doca buffer associated with the device-writable part of the Virtio FS request. More...
 
DOCA_EXPERIMENTAL uint32_t doca_devemu_vfs_req_get_datain_list_len (struct doca_devemu_vfs_req *req)
 Get the number of elements in the original doca buffer linked list associated with the device-readable part of the Virtio FS request returned by doca_devemu_vfs_req_get_datain(). More...
 
DOCA_EXPERIMENTAL uint32_t doca_devemu_vfs_req_get_datain_data_len (struct doca_devemu_vfs_req *req)
 Get the total data length of the original doca buffer linked list associated with the device-readable part of the Virtio FS request returned by doca_devemu_vfs_req_get_datain(). More...
 
DOCA_EXPERIMENTAL uint32_t doca_devemu_vfs_req_get_dataout_list_len (struct doca_devemu_vfs_req *req)
 Get the number of elements in the original doca buffer linked list associated with the device-writable part of the Virtio FS request returned by doca_devemu_vfs_req_get_dataout(). More...
 
DOCA_EXPERIMENTAL uint32_t doca_devemu_vfs_req_get_dataout_data_len (struct doca_devemu_vfs_req *req)
 Get the total data length of the original doca buffer linked list associated with the device-writable part of the Virtio FS request returned by doca_devemu_vfs_req_get_dataout(). More...
 
DOCA_EXPERIMENTAL uint64_t doca_devemu_vfs_req_get_id (struct doca_devemu_vfs_req *req)
 Get the request identifier. DOCA journal recovery guarantees to (re)play all the commands that were in flight in the eyes of the host at the point of crash with the original req id. More...
 
DOCA_EXPERIMENTAL uint16_t doca_devemu_vfs_req_get_src_domain_id (struct doca_devemu_vfs_req *req)
 Get the source domain identifier for the request. DOCA journal recovery guarantees to (re)play all the commands that were in flight in the eyes of the host at the point of crash with the original domain id. More...
 
DOCA_EXPERIMENTAL void doca_devemu_vfs_notification_req_complete (struct doca_devemu_vfs_notification_req *req, uint32_t len)
 Complete the Virtio FS notification_request. The Request ownership (including the associated dataout and req_user_data) moves from the user back to the associated IO context. The associated IO context will complete the request towards the device driver according to the virtio fs specification. More...
 
DOCA_EXPERIMENTAL struct doca_buf * doca_devemu_vfs_notification_req_get_dataout (struct doca_devemu_vfs_notification_req *req)
 Get the doca buffer associated with the device-writable part of the Virtio FS notification request. More...
 
DOCA_EXPERIMENTAL uint32_t doca_devemu_vfs_notification_req_get_dataout_list_len (struct doca_devemu_vfs_notification_req *req)
 Get the number of elements in the original doca buffer linked list associated with the device-writable part of the Virtio FS notification request returned by doca_devemu_vfs_notification_req_get_dataout(). More...
 
DOCA_EXPERIMENTAL uint32_t doca_devemu_vfs_notification_req_get_dataout_data_len (struct doca_devemu_vfs_notification_req *req)
 Get the total data length of the original doca buffer linked list associated with the device-writable part of the Virtio FS notification request returned by doca_devemu_vfs_notification_req_get_dataout(). More...
 
DOCA_EXPERIMENTAL uint64_t doca_devemu_vfs_notification_req_get_id (struct doca_devemu_vfs_notification_req *req)
 Get the notification request identifier. More...
 
DOCA_EXPERIMENTAL uint16_t doca_devemu_vfs_notification_req_get_src_domain_id (struct doca_devemu_vfs_notification_req *req)
 Get the source domain identifier for the notification request. More...