NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
doca_umem.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 
24 #ifndef DOCA_UMEM_H_
25 #define DOCA_UMEM_H_
26 
27 #include <stddef.h>
28 #include <stdint.h>
29 
30 #include <doca_compat.h>
31 #include <doca_error.h>
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 /*******************************************************************************
38  * DOCA UMEM
39  ******************************************************************************/
40 
41 struct doca_dev;
42 struct doca_dpa;
43 struct doca_gpu;
44 
48 struct doca_umem;
49 
67 doca_error_t doca_umem_create(const struct doca_dev *dev,
68  void *address,
69  size_t size,
70  uint32_t access_flags,
71  struct doca_umem **umem_obj);
72 
90 doca_error_t doca_umem_dpa_create(struct doca_dpa *dpa,
91  uint64_t address,
92  size_t size,
93  uint32_t access_flags,
94  struct doca_umem **umem_obj);
95 
114 doca_error_t doca_umem_gpu_create(struct doca_gpu *gpu,
115  struct doca_dev *dev,
116  void *address,
117  size_t size,
118  uint32_t access_flags,
119  struct doca_umem **umem_obj);
120 
133 doca_error_t doca_umem_destroy(struct doca_umem *umem_obj);
134 
147 doca_error_t doca_umem_get_id(const struct doca_umem *umem_obj, uint32_t *umem_id);
148 
161 doca_error_t doca_umem_get_size(const struct doca_umem *umem_obj, uint32_t *umem_size);
162 
175 doca_error_t doca_umem_get_address(const struct doca_umem *umem_obj, void **umem_addr);
176 
177 #ifdef __cplusplus
178 }
179 #endif
180 
183 #endif /* DOCA_UMEM_H_ */
#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.
DOCA_EXPERIMENTAL doca_error_t doca_umem_destroy(struct doca_umem *umem_obj)
destroys doca umem
DOCA_EXPERIMENTAL doca_error_t doca_umem_get_address(const struct doca_umem *umem_obj, void **umem_addr)
This method retrieves the umem address from the umem object.
DOCA_EXPERIMENTAL doca_error_t doca_umem_create(const struct doca_dev *dev, void *address, size_t size, uint32_t access_flags, struct doca_umem **umem_obj)
creates a doca umem
DOCA_EXPERIMENTAL doca_error_t doca_umem_get_size(const struct doca_umem *umem_obj, uint32_t *umem_size)
This method retrieves the umem size from the umem object.
DOCA_EXPERIMENTAL doca_error_t doca_umem_dpa_create(struct doca_dpa *dpa, uint64_t address, size_t size, uint32_t access_flags, struct doca_umem **umem_obj)
creates a DPA doca umem
DOCA_EXPERIMENTAL doca_error_t doca_umem_get_id(const struct doca_umem *umem_obj, uint32_t *umem_id)
This method retrieves the umem id from the umem object.
DOCA_EXPERIMENTAL doca_error_t doca_umem_gpu_create(struct doca_gpu *gpu, struct doca_dev *dev, void *address, size_t size, uint32_t access_flags, struct doca_umem **umem_obj)
creates a GPU doca umem