NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
doca_sta_subsystem.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_SUBSYSTEM_H_
15 #define DOCA_STA_SUBSYSTEM_H_
16 
17 #include <stdint.h>
18 
19 #include <doca_compat.h>
20 #include <doca_error.h>
21 
22 #include <doca_sta_handle.h>
23 #include <doca_sta_task.h>
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 struct doca_sta;
30 struct doca_dev;
31 
34  const char *nqn,
35  struct doca_sta_subs_handle **subs_handle);
36 
38 doca_error_t doca_sta_subsystem_add_dev(struct doca_sta_subs_handle *subs_handle, const struct doca_dev *dev);
39 
60 doca_error_t doca_sta_subsystem_destroy(struct doca_sta_subs_handle *subs_handle);
61 
63 doca_error_t doca_sta_subsystem_add_ns(struct doca_sta_subs_handle *subs_handle,
64  uint32_t fe_ns_id,
65  uint32_t ns_block_size,
66  uint32_t be_ns_id,
67  struct doca_sta_be_handle *be_handle,
68  struct doca_sta_ns_handle **ns_handle);
69 
71 doca_error_t doca_sta_subsystem_rm_ns(struct doca_sta_subs_handle *subs_handle, struct doca_sta_ns_handle *ns_handle);
72 
91 doca_error_t doca_sta_subsystem_task_rm_ns_alloc_init(struct doca_sta_subs_handle *subs_handle,
92  struct doca_sta_ns_handle *ns_handle,
93  union doca_data user_data,
94  struct doca_sta_producer_task_send **task);
95 
96 #ifdef __cplusplus
97 }
98 #endif
99 
100 #endif /* DOCA_STA_SUBSYSTEM_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_subsystem_destroy(struct doca_sta_subs_handle *subs_handle)
DOCA_EXPERIMENTAL doca_error_t doca_sta_subsystem_task_rm_ns_alloc_init(struct doca_sta_subs_handle *subs_handle, struct doca_sta_ns_handle *ns_handle, union doca_data user_data, struct doca_sta_producer_task_send **task)
This method allocates and initializes a STA remove namespace task.
DOCA_EXPERIMENTAL doca_error_t doca_sta_subsystem_task_rm_ns_set_conf(struct doca_sta *sta, doca_sta_task_completion_cb_t task_completion_cb, doca_sta_task_completion_cb_t task_error_cb)
This method sets the STA remove namespace tasks configuration.
DOCA_EXPERIMENTAL doca_error_t doca_sta_subsystem_add_dev(struct doca_sta_subs_handle *subs_handle, const struct doca_dev *dev)
DOCA_EXPERIMENTAL doca_error_t doca_sta_subsystem_rm_ns(struct doca_sta_subs_handle *subs_handle, struct doca_sta_ns_handle *ns_handle)
DOCA_EXPERIMENTAL doca_error_t doca_sta_subsystem_create(struct doca_sta *sta, const char *nqn, struct doca_sta_subs_handle **subs_handle)
DOCA_EXPERIMENTAL doca_error_t doca_sta_subsystem_add_ns(struct doca_sta_subs_handle *subs_handle, uint32_t fe_ns_id, uint32_t ns_block_size, uint32_t be_ns_id, struct doca_sta_be_handle *be_handle, struct doca_sta_ns_handle **ns_handle)
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