@@ -51,6 +51,33 @@ typedef enum umf_result_t {
5151 UMF_RESULT_ERROR_UNKNOWN = 0x7ffffffe ///< Unknown error
5252} umf_result_t ;
5353
54+ /// @brief Handle to the memory properties structure
55+ typedef struct umf_memory_properties_t * umf_memory_properties_handle_t ;
56+
57+ /// @brief ID of the memory property
58+ typedef enum umf_memory_property_id_t {
59+ UMF_MEMORY_PROPERTY_INVALID = -1 , ///< Invalid property
60+
61+ // UMF specific
62+ UMF_MEMORY_PROPERTY_PROVIDER_HANDLE = 0 , ///< Handle to the memory provider
63+ UMF_MEMORY_PROPERTY_POOL_HANDLE = 1 , ///< Handle to the memory pool
64+
65+ // generic pointer properties
66+ UMF_MEMORY_PROPERTY_POINTER_TYPE =
67+ 2 , ///< Type of the pointer (umf_usm_memory_type_t)
68+ UMF_MEMORY_PROPERTY_BASE_ADDRESS = 3 , ///< Base address of the allocation
69+ UMF_MEMORY_PROPERTY_BASE_SIZE = 4 , ///< Base size of the allocation
70+ UMF_MEMORY_PROPERTY_BUFFER_ID = 5 , ///< Unique identifier for the buffer
71+
72+ // GPU specific
73+ UMF_MEMORY_PROPERTY_CONTEXT = 6 , ///< GPU context of the allocation
74+ UMF_MEMORY_PROPERTY_DEVICE = 7 , ///< GPU device where the allocation resides
75+
76+ /// @cond
77+ UMF_MEMORY_PROPERTY_MAX_RESERVED = 0x1000 , ///< Maximum reserved value
78+ /// @endcond
79+ } umf_memory_property_id_t ;
80+
5481/// @brief Type of the CTL query
5582typedef enum umf_ctl_query_type {
5683 CTL_QUERY_READ ,
0 commit comments