NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
doca_comch.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_comch.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef void(* doca_comch_task_send_completion_cb_t) (struct doca_comch_task_send *task, union doca_data task_user_data, union doca_data ctx_user_data)
 
typedef void(* doca_comch_event_msg_recv_cb_t) (struct doca_comch_event_msg_recv *event, uint8_t *recv_buffer, uint32_t msg_len, struct doca_comch_connection *comch_connection)
 
typedef void(* doca_comch_event_connection_status_changed_cb_t) (struct doca_comch_event_connection_status_changed *event, struct doca_comch_connection *comch_connection, uint8_t change_successful)
 
typedef void(* doca_comch_event_consumer_cb_t) (struct doca_comch_event_consumer *event, struct doca_comch_connection *comch_connection, uint32_t id)
 

Enumerations

enum  doca_comch_counter { DOCA_COMCH_COUNTER_SENT_MESSAGES = 1 , DOCA_COMCH_COUNTER_SENT_BYTES = 2 , DOCA_COMCH_COUNTER_RECV_MESSAGES = 3 , DOCA_COMCH_COUNTER_RECV_BYTES = 4 }
 

Functions

DOCA_STABLE doca_error_t doca_comch_connection_set_user_data (struct doca_comch_connection *connection, union doca_data user_data)
 
DOCA_STABLE union doca_data doca_comch_connection_get_user_data (const struct doca_comch_connection *connection)
 
DOCA_STABLE struct doca_comch_server * doca_comch_server_get_server_ctx (const struct doca_comch_connection *connection)
 
DOCA_STABLE struct doca_comch_client * doca_comch_client_get_client_ctx (const struct doca_comch_connection *connection)
 
DOCA_STABLE doca_error_t doca_comch_cap_get_max_name_len (const struct doca_devinfo *devinfo, uint32_t *max_name_len)
 
DOCA_STABLE doca_error_t doca_comch_cap_get_max_msg_size (const struct doca_devinfo *devinfo, uint32_t *size)
 
DOCA_STABLE doca_error_t doca_comch_cap_get_max_recv_queue_size (const struct doca_devinfo *devinfo, uint32_t *size)
 
DOCA_STABLE doca_error_t doca_comch_cap_get_max_clients (const struct doca_devinfo *devinfo, uint32_t *num_clients)
 
DOCA_STABLE doca_error_t doca_comch_server_create (struct doca_dev *dev, struct doca_dev_rep *repr, const char *name, struct doca_comch_server **comch_server)
 
DOCA_STABLE doca_error_t doca_comch_server_destroy (struct doca_comch_server *comch_server)
 
DOCA_STABLE doca_error_t doca_comch_cap_server_is_supported (const struct doca_devinfo *devinfo)
 
DOCA_STABLE doca_error_t doca_comch_server_set_max_msg_size (struct doca_comch_server *comch_server, uint32_t size)
 
DOCA_STABLE doca_error_t doca_comch_server_get_max_msg_size (const struct doca_comch_server *comch_server, uint32_t *size)
 
DOCA_STABLE doca_error_t doca_comch_server_set_recv_queue_size (struct doca_comch_server *comch_server, uint32_t size)
 
DOCA_STABLE doca_error_t doca_comch_server_get_recv_queue_size (const struct doca_comch_server *comch_server, uint32_t *size)
 
DOCA_STABLE doca_error_t doca_comch_server_get_device (const struct doca_comch_server *comch_server, struct doca_dev **dev)
 
DOCA_STABLE doca_error_t doca_comch_server_get_device_rep (const struct doca_comch_server *comch_server, struct doca_dev_rep **rep)
 
DOCA_STABLE struct doca_ctx * doca_comch_server_as_ctx (struct doca_comch_server *comch_server)
 
DOCA_STABLE doca_error_t doca_comch_server_disconnect (struct doca_comch_server *comch_server, struct doca_comch_connection *connection)
 
DOCA_STABLE doca_error_t doca_comch_client_create (struct doca_dev *dev, const char *name, struct doca_comch_client **comch_client)
 
DOCA_STABLE doca_error_t doca_comch_client_destroy (struct doca_comch_client *comch_client)
 
DOCA_STABLE doca_error_t doca_comch_cap_client_is_supported (const struct doca_devinfo *devinfo)
 
DOCA_STABLE doca_error_t doca_comch_client_set_max_msg_size (struct doca_comch_client *comch_client, uint32_t size)
 
DOCA_STABLE doca_error_t doca_comch_client_get_max_msg_size (const struct doca_comch_client *comch_client, uint32_t *size)
 
DOCA_STABLE doca_error_t doca_comch_client_set_recv_queue_size (struct doca_comch_client *comch_client, uint32_t size)
 
DOCA_STABLE doca_error_t doca_comch_client_get_recv_queue_size (const struct doca_comch_client *comch_client, uint32_t *size)
 
DOCA_STABLE doca_error_t doca_comch_client_get_device (const struct doca_comch_client *comch_client, struct doca_dev **dev)
 
DOCA_STABLE struct doca_ctx * doca_comch_client_as_ctx (struct doca_comch_client *comch_client)
 
DOCA_STABLE doca_error_t doca_comch_client_get_connection (const struct doca_comch_client *comch_client, struct doca_comch_connection **connection)
 
DOCA_STABLE doca_error_t doca_comch_cap_get_max_send_tasks (const struct doca_devinfo *devinfo, uint32_t *max_send_tasks)
 
DOCA_STABLE doca_error_t doca_comch_server_task_send_set_conf (struct doca_comch_server *comch_server, doca_comch_task_send_completion_cb_t task_completion_cb, doca_comch_task_send_completion_cb_t task_error_cb, uint32_t num_send_tasks)
 
DOCA_STABLE doca_error_t doca_comch_client_task_send_set_conf (struct doca_comch_client *comch_client, doca_comch_task_send_completion_cb_t task_completion_cb, doca_comch_task_send_completion_cb_t task_error_cb, uint32_t num_send_tasks)
 
DOCA_STABLE doca_error_t doca_comch_server_task_send_alloc_init (struct doca_comch_server *comch_server, struct doca_comch_connection *peer, const void *msg, uint32_t len, struct doca_comch_task_send **task)
 
DOCA_STABLE doca_error_t doca_comch_client_task_send_alloc_init (struct doca_comch_client *comch_client, struct doca_comch_connection *peer, const void *msg, uint32_t len, struct doca_comch_task_send **task)
 
DOCA_STABLE struct doca_task * doca_comch_task_send_as_task (struct doca_comch_task_send *task)
 
DOCA_STABLE doca_error_t doca_comch_server_event_msg_recv_register (struct doca_comch_server *comch_server, doca_comch_event_msg_recv_cb_t recv_event_cb)
 Configure the doca_comch recv event callback for server context. More...
 
DOCA_STABLE doca_error_t doca_comch_client_event_msg_recv_register (struct doca_comch_client *comch_client, doca_comch_event_msg_recv_cb_t recv_event_cb)
 Configure the doca_comch recv event callback for client context. More...
 
DOCA_STABLE doca_error_t doca_comch_server_event_connection_status_changed_register (struct doca_comch_server *comch_server, doca_comch_event_connection_status_changed_cb_t connect_event_cb, doca_comch_event_connection_status_changed_cb_t disconnect_event_cb)
 Configure the doca_comch recv event callback for server context. More...
 
DOCA_STABLE doca_error_t doca_comch_connection_update_info (struct doca_comch_connection *comch_connection)
 update statistics for given comch_connection More...
 
DOCA_STABLE doca_error_t doca_comch_connection_get_counter (const struct doca_comch_connection *comch_connection, enum doca_comch_counter counter_type, uint64_t *counter_value)
 get statistics counter for a given comch_connection More...
 
DOCA_STABLE doca_error_t doca_comch_server_event_consumer_register (struct doca_comch_server *comch_server, doca_comch_event_consumer_cb_t new_consumer_event_cb, doca_comch_event_consumer_cb_t expired_consumer_event_cb)
 Configure the doca_comch callback for for receiving consumer events on server context. More...
 
DOCA_STABLE doca_error_t doca_comch_client_event_consumer_register (struct doca_comch_client *comch_client, doca_comch_event_consumer_cb_t new_consumer_event_cb, doca_comch_event_consumer_cb_t expired_consumer_event_cb)
 Configure the doca_comch callback for for receiving consumer events on client context. More...