NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
doca_sta_io.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES, ALL RIGHTS RESERVED.
3  *
4  * This software product is a proprietary product of NVIDIA CORPORATION &
5  * AFFILIATES (the "Company") and all right, title, and interest in and to the
6  * software product, including all associated intellectual property rights, are
7  * and shall remain exclusively with the Company.
8  *
9  * This software product is governed by the End User License Agreement
10  * provided with the software product.
11  *
12  */
13 
14 #ifndef DOCA_STA_IO_H_
15 #define DOCA_STA_IO_H_
16 
17 #include <stdint.h>
18 
19 #include <doca_compat.h>
20 #include <doca_error.h>
21 #include <doca_types.h>
22 
23 #include <doca_sta_handle.h>
24 #include <doca_sta_task.h>
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 struct doca_pe;
31 struct doca_dev;
32 
33 struct doca_sta;
34 struct doca_sta_io;
35 
50 doca_error_t doca_sta_io_create(struct doca_sta *sta, struct doca_sta_io **sta_io);
51 
64 doca_error_t doca_sta_io_destroy(struct doca_sta_io *sta_io);
65 
75 struct doca_ctx *doca_sta_io_as_ctx(struct doca_sta_io *sta_io);
76 
95 
115  union doca_data user_data,
116  struct doca_sta_qp_handle *qp_handle,
117  struct doca_sta_producer_task_send **task);
118 
119 #ifdef __cplusplus
120 }
121 #endif
122 
123 #endif /* DOCA_STA_IO_H_ */
static void task_error_cb(struct doca_task *se_task, union doca_data task_user_data, union doca_data ctx_user_data)
Definition: common_common.c:65
static void task_completion_cb(struct doca_task *se_task, union doca_data task_user_data, union doca_data ctx_user_data)
Definition: common_common.c:48
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_create(struct doca_sta *sta, struct doca_sta_io **sta_io)
Create a DOCA STA IO Context.
DOCA_EXPERIMENTAL struct doca_ctx * doca_sta_io_as_ctx(struct doca_sta_io *sta_io)
Convert doca_sta_io instance into a generalized context for use with doca core objects.
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_task_disconnect_alloc_init(struct doca_sta_io *sta_io, union doca_data user_data, struct doca_sta_qp_handle *qp_handle, struct doca_sta_producer_task_send **task)
This method allocates and initializes a STA IO disconnect task.
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_task_disconnect_set_conf(struct doca_sta_io *sta_io, doca_sta_task_completion_cb_t task_completion_cb, doca_sta_task_completion_cb_t task_error_cb)
This method sets the STA IO disconnect tasks configuration.
DOCA_EXPERIMENTAL doca_error_t doca_sta_io_destroy(struct doca_sta_io *sta_io)
Destroy a DOCA STA IO context.
void(* doca_sta_task_completion_cb_t)(struct doca_sta_producer_task_send *task, union doca_data task_user_data)
Function to execute on STA task completion.
Definition: doca_sta_task.h:53
#define DOCA_EXPERIMENTAL
To set a Symbol (or specifically a function) as experimental.
Definition: doca_compat.h:103
enum doca_error doca_error_t
DOCA API return codes.
Convenience type for representing opaque data.
Definition: doca_types.h:56