# QairtTensor Tensor creation and management. **Include:** `#include "QairtTensor/QairtTensor.h"` - struct QairtTensor\_V1\_t - *#include <QairtTensor.h>* Public Members - uint64\_t size - - [Qairt\_GetInterfaceFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv422Qairt_GetInterfaceFn_t) getInterface - - [QairtTensor\_CreateFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv422QairtTensor_CreateFn_t) create - - [QairtTensor\_FreeFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_FreeFn_t) free - - [QairtTensor\_SetIdFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv421QairtTensor_SetIdFn_t) setId - - [QairtTensor\_GetIdFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv421QairtTensor_GetIdFn_t) getId - - [QairtTensor\_GetIsProducedFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv429QairtTensor_GetIsProducedFn_t) getIsProduced - - [QairtTensor\_SetNameFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv423QairtTensor_SetNameFn_t) setName - - [QairtTensor\_GetNameFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv423QairtTensor_GetNameFn_t) getName - - [QairtTensor\_SetTensorPropertiesFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv435QairtTensor_SetTensorPropertiesFn_t) setTensorProperties - - [QairtTensor\_GetTensorPropertiesFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv435QairtTensor_GetTensorPropertiesFn_t) getTensorProperties - - [QairtTensor\_SetDataFormatFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv429QairtTensor_SetDataFormatFn_t) setDataFormat - - [QairtTensor\_GetDataFormatFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv429QairtTensor_GetDataFormatFn_t) getDataFormat - - [QairtTensor\_SetDataTypeFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv427QairtTensor_SetDataTypeFn_t) setDataType - - [QairtTensor\_GetDataTypeFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv427QairtTensor_GetDataTypeFn_t) getDataType - - [QairtTensor\_GetRankFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv423QairtTensor_GetRankFn_t) getRank - - [QairtTensor\_SetDimsFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv423QairtTensor_SetDimsFn_t) setDims - - [QairtTensor\_GetDimsFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv423QairtTensor_GetDimsFn_t) getDims - - [QairtTensor\_SetTensorMemoryFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv431QairtTensor_SetTensorMemoryFn_t) setTensorMemory - - [QairtTensor\_GetTensorMemoryFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv431QairtTensor_GetTensorMemoryFn_t) getTensorMemory - - [QairtTensor\_SetIsDynamicDimensionsFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv438QairtTensor_SetIsDynamicDimensionsFn_t) setIsDynamicDimensions - - [QairtTensor\_GetIsDynamicDimensionsFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv438QairtTensor_GetIsDynamicDimensionsFn_t) getIsDynamicDimensions - - [QairtTensor\_SetSparseParamsFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv431QairtTensor_SetSparseParamsFn_t) setSparseParams - - [QairtTensor\_GetSparseParamsFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv431QairtTensor_GetSparseParamsFn_t) getSparseParams - - [QairtTensor\_SetQuantizeParamsFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv433QairtTensor_SetQuantizeParamsFn_t) setQuantizeParams - - [QairtTensor\_GetQuantizeParamsFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv433QairtTensor_GetQuantizeParamsFn_t) getQuantizeParams - Functions - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_create([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) \*tensorHandle) - Create a tensor handle. - Parameters - **tensorHandle** – **[out]** A handle to the created tensor. - Returns - Error code: - QAIRT\_SUCCESS: Tensor was successfully created. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *tensorHandle* is NULL. - QAIRT\_TENSOR\_ERROR\_MEM\_ALLOC: Memory allocation error. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_free([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle) - Free a tensor handle. - Parameters - **tensorHandle** – **[in]** A handle to a created tensor. - Returns - Error code: - QAIRT\_SUCCESS: Tensor was successfully freed. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_MEM\_ALLOC: Memory deallocation error. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_setId([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, uint64\_t id) - Set the unique identifier of a tensor. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **id** – **[in]** The unique identifier to set on the tensor. - Returns - Error code: - QAIRT\_SUCCESS: ID was successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_getId([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, uint64\_t \*id) - Get the unique identifier of a tensor. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **id** – **[out]** The unique identifier of the tensor. - Returns - Error code: - QAIRT\_SUCCESS: ID was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *id* is NULL. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_getIsProduced([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, uint8\_t \*isProduced) - Check if a tensor is produced (output) or consumed (input). - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **isProduced** – **[out]** Set to 1 if the tensor is produced (output), 0 if consumed (input). - Returns - Error code: - QAIRT\_SUCCESS: Status was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *isProduced* is NULL. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_setName([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, const char \*name) - Set the name of a tensor. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **name** – **[in]** The name to assign to the tensor. Must be a valid null-terminated string. - Returns - Error code: - QAIRT\_SUCCESS: Name was successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *name* is NULL. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_getName([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, const char \*\*name) - Get the name of a tensor. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **name** – **[out]** Pointer to the tensor name string. The string is owned by the tensor and should not be freed by the caller. - Returns - Error code: - QAIRT\_SUCCESS: Name was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *name* is NULL. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_setTensorProperties([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, [QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t) propertiesHandle) - Set tensor properties on a tensor. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **propertiesHandle** – **[in]** A handle to tensor properties. - Returns - Error code: - QAIRT\_SUCCESS: Properties were successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* or *propertiesHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: One or more property values are invalid. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_getTensorProperties([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, [QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t) \*propertiesHandle) - Get tensor properties from a tensor. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **propertiesHandle** – **[out]** A referenced tensor properties handle. Reference handles should not be freed. Referenced handles are invalidated if modification operations are performed from the same component API. - Returns - Error code: - QAIRT\_SUCCESS: Properties were successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *propertiesHandle* is NULL. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_setDataFormat([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, uint32\_t dataFormat) - Set the data format of a tensor. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **dataFormat** – **[in]** The data format value to set. - Returns - Error code: - QAIRT\_SUCCESS: Data format was successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *dataFormat* is invalid. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_getDataFormat([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, uint32\_t \*dataFormat) - Get the data format of a tensor. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **dataFormat** – **[out]** The data format value. - Returns - Error code: - QAIRT\_SUCCESS: Data format was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *dataFormat* is NULL. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_setDataType([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, [Qairt\_DataType\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv416Qairt_DataType_t) dataType) - Set the data type of a tensor. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **dataType** – **[in]** The data type to set. - Returns - Error code: - QAIRT\_SUCCESS: Data type was successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *dataType* is invalid. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_getDataType([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, [Qairt\_DataType\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv416Qairt_DataType_t) \*dataType) - Get the data type of a tensor. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **dataType** – **[out]** The data type value. - Returns - Error code: - QAIRT\_SUCCESS: Data type was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *dataType* is NULL. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_getRank([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, uint32\_t \*rank) - Get the rank (number of dimensions) of a tensor. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **rank** – **[out]** The rank value. - Returns - Error code: - QAIRT\_SUCCESS: Rank was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *rank* is NULL. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_setDims([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, uint32\_t \*dims, uint32\_t size) - Set the dimensions of a tensor. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **dims** – **[in]** An array of dimension values. - **size** – **[in]** The number of dimensions (rank). - Returns - Error code: - QAIRT\_SUCCESS: Dimensions were successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *dims* is NULL or *size* is invalid. - QAIRT\_TENSOR\_ERROR\_MEM\_ALLOC: Memory allocation error while setting dimensions. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_getDims([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, uint32\_t \*dims) - Get the dimensions of a tensor. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **dims** – **[out]** An array to store the dimension values. Must be pre-allocated with size equal to the tensor’s rank. - Returns - Error code: - QAIRT\_SUCCESS: Dimensions were successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *dims* is NULL. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_setTensorMemory([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, [QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t) memoryHandle) - Set tensor memory configuration. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **memoryHandle** – **[in]** A handle to tensor memory configuration. - Returns - Error code: - QAIRT\_SUCCESS: Memory configuration was successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* or *memoryHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: Memory configuration is invalid. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_getTensorMemory([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, [QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t) \*memoryHandle) - Get tensor memory configuration. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **memoryHandle** – **[out]** A referenced tensor memory handle. Reference handles should not be freed. Referenced handles are invalidated if modification operations are performed from the same component API. - Returns - Error code: - QAIRT\_SUCCESS: Memory configuration was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *memoryHandle* is NULL. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_setIsDynamicDimensions([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, const uint8\_t \*isDynamic, uint32\_t size) - Set which dimensions are dynamic (can change at runtime). - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **isDynamic** – **[in]** An array of boolean values (0 or 1) indicating which dimensions are dynamic. Array length must equal the tensor’s rank. - **size** – **[in]** The number of elements in the isDynamic array (must equal rank). - Returns - Error code: - QAIRT\_SUCCESS: Dynamic dimensions were successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *isDynamic* is NULL or *size* doesn’t match rank. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_getIsDynamicDimensions([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, uint8\_t \*isDynamic) - Get which dimensions are dynamic. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **isDynamic** – **[out]** An array to store boolean values indicating which dimensions are dynamic. Must be pre-allocated with size equal to the tensor’s rank. - Returns - Error code: - QAIRT\_SUCCESS: Dynamic dimensions were successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *isDynamic* is NULL. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_setSparseParams([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, [QairtSparseParams\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtSparseParams_Handle_t) sparseParamsHandle) - Set sparse parameters for a tensor. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **sparseParamsHandle** – **[in]** A handle to sparse parameters configuration. - Returns - Error code: - QAIRT\_SUCCESS: Sparse parameters were successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* or *sparseParamsHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: Sparse parameters are invalid. - QAIRT\_TENSOR\_ERROR\_UNSUPPORTED\_FEATURE: Sparse tensors are not supported. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_getSparseParams([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, [QairtSparseParams\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtSparseParams_Handle_t) \*sparseParamsHandle) - Get sparse parameters from a tensor. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **sparseParamsHandle** – **[out]** A referenced sparse parameters handle. Reference handles should not be freed. Referenced handles are invalidated if modification operations are performed from the same component API. - Returns - Error code: - QAIRT\_SUCCESS: Sparse parameters were successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *sparseParamsHandle* is NULL. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_setQuantizeParams([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, [QairtQuantizeParams\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv428QairtQuantizeParams_Handle_t) quantParamsHandle) - Set quantization parameters for a tensor. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **quantParamsHandle** – **[in]** A handle to quantization parameters configuration. - Returns - Error code: - QAIRT\_SUCCESS: Quantization parameters were successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* or *quantParamsHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: Quantization parameters are invalid. - QAIRT\_TENSOR\_ERROR\_UNSUPPORTED\_FEATURE: Quantized tensors are not supported. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_getQuantizeParams([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t) tensorHandle, [QairtQuantizeParams\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv428QairtQuantizeParams_Handle_t) \*quantParamsHandle) - Get quantization parameters from a tensor. - Parameters - - **tensorHandle** – **[in]** A handle to a created tensor. - **quantParamsHandle** – **[out]** A referenced quantization parameters handle. Reference handles should not be freed. Referenced handles are invalidated if modification operations are performed from the same component API. - Returns - Error code: - QAIRT\_SUCCESS: Quantization parameters were successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *quantParamsHandle* is NULL. Note Use corresponding API through [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__V1__t). Typedefs - typedef struct \_QairtTensor\_Handle\_t \*QairtTensor\_Handle\_t - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_CreateFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t)\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_FreeFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t)) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_SetIdFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), uint64\_t) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_GetIdFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), uint64\_t\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_GetIsProducedFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), uint8\_t\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_SetNameFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), const char\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_GetNameFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), const char\*\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_SetTensorPropertiesFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), [QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t)) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_GetTensorPropertiesFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), [QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t)\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_SetDataFormatFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), uint32\_t) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_GetDataFormatFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), uint32\_t\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_SetDataTypeFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), [Qairt\_DataType\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv416Qairt_DataType_t)) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_GetDataTypeFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), [Qairt\_DataType\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv416Qairt_DataType_t)\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_GetRankFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), uint32\_t\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_SetDimsFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), uint32\_t\*, uint32\_t) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_GetDimsFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), uint32\_t\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_SetTensorMemoryFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), [QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t)) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_GetTensorMemoryFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), [QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t)\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_SetIsDynamicDimensionsFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), const uint8\_t\*, uint32\_t) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_GetIsDynamicDimensionsFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), uint8\_t\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_SetSparseParamsFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), [QairtSparseParams\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtSparseParams_Handle_t)) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_GetSparseParamsFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), [QairtSparseParams\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtSparseParams_Handle_t)\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_SetQuantizeParamsFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), [QairtQuantizeParams\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv428QairtQuantizeParams_Handle_t)) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_GetQuantizeParamsFn\_t)([QairtTensor\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv420QairtTensor_Handle_t), [QairtQuantizeParams\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv428QairtQuantizeParams_Handle_t)\*) - Defines - QAIRT\_TENSOR\_V1\_ID QAIRT\_MIN\_ID\_TENSOR - - QAIRT\_TENSOR\_MEMORY\_V1\_ID QAIRT\_MIN\_ID\_TENSOR + 1 - - QAIRT\_TENSOR\_PROPERTIES\_V1\_ID QAIRT\_MIN\_ID\_TENSOR + 2 - - QAIRT\_TENSOR\_CLIENT\_BUFFER\_V1\_ID QAIRT\_MIN\_ID\_TENSOR + 3 - * * * Common tensor types and error codes. **Include:** `#include "QairtTensor/QairtTensorCommon.h"` Enums - enum QairtTensor\_Error\_t - QAIRT Tensor API result / error codes. *Values:* - enumerator QAIRT\_TENSOR\_MIN\_ERROR = QAIRT\_MIN\_ERROR\_TENSOR - - enumerator QAIRT\_TENSOR\_NO\_ERROR = QAIRT\_SUCCESS - Success. - enumerator QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE = 7001 - Invalid context/graph handle in creating tensor. - enumerator QAIRT\_TENSOR\_ERROR\_DOES\_NOT\_EXIST = 7002 - Tensor with specified credentials not registered with a context/graph. - enumerator QAIRT\_TENSOR\_ERROR\_INVALID\_TENSOR\_PARAM = 7004 - Invalid tensor param. - enumerator QAIRT\_TENSOR\_ERROR\_UNSUPPORTED\_TENSOR\_PARAM = 7005 - This tensor param is currently unsupported. - enumerator QAIRT\_TENSOR\_ERROR\_INCOMPATIBLE\_TENSOR\_UPDATE = 7007 - Tensor provided for update is invalid. - enumerator QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT = 7008 - Invalid context/graph handle in creating tensor. - enumerator QAIRT\_TENSOR\_ERROR\_MEM\_ALLOC = 7009 - Memory allocation error during tensor memory operations. - enumerator QAIRT\_TENSOR\_ERROR\_MEMORY\_TYPE\_MISMATCH = 7010 - Tensor memory type mismatch for requested operation. - enumerator QAIRT\_TENSOR\_ERROR\_UNSUPPORTED\_FEATURE = [QAIRT\_COMMON\_ERROR\_NOT\_SUPPORTED](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N19QairtCommon_Error_t32QAIRT_COMMON_ERROR_NOT_SUPPORTEDE) - There is optional API component that is not supported yet. See QairtProperty. - enumerator QAIRT\_TENSOR\_MAX\_ERROR = QAIRT\_MAX\_ERROR\_TENSOR - - enumerator QAIRT\_TENSOR\_ERROR\_UNDEFINED = 0x7FFFFFFF - Typedefs - typedef void \*QairtSparseParams\_Handle\_t - * * * Tensor memory allocation and management. **Include:** `#include "QairtTensor/QairtTensorMemory.h"` - struct QairtTensor\_ClientBufferV1\_t - *#include <QairtTensorMemory.h>* Public Members - uint64\_t size - - [Qairt\_GetInterfaceFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv422Qairt_GetInterfaceFn_t) getInterface - - [QairtTensor\_ClientBuffer\_CreateFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv435QairtTensor_ClientBuffer_CreateFn_t) create - - [QairtTensor\_ClientBuffer\_FreeFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv433QairtTensor_ClientBuffer_FreeFn_t) free - - [QairtTensor\_ClientBuffer\_SetDataFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv436QairtTensor_ClientBuffer_SetDataFn_t) setData - - [QairtTensor\_ClientBuffer\_GetDataFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv436QairtTensor_ClientBuffer_GetDataFn_t) getData - - [QairtTensor\_ClientBuffer\_SetDataSizeFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv440QairtTensor_ClientBuffer_SetDataSizeFn_t) setDataSize - - [QairtTensor\_ClientBuffer\_GetDataSizeFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv440QairtTensor_ClientBuffer_GetDataSizeFn_t) getDataSize - - struct QairtTensor\_MemoryV1\_t - *#include <QairtTensorMemory.h>* Public Members - uint64\_t size - - [Qairt\_GetInterfaceFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv422Qairt_GetInterfaceFn_t) getInterface - - [QairtTensor\_Memory\_CreateFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv429QairtTensor_Memory_CreateFn_t) create - - [QairtTensor\_Memory\_FreeFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv427QairtTensor_Memory_FreeFn_t) free - - [QairtTensor\_Memory\_GetMemoryTypeFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv436QairtTensor_Memory_GetMemoryTypeFn_t) getMemoryType - - [QairtTensor\_Memory\_SetMemHandleFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv435QairtTensor_Memory_SetMemHandleFn_t) setMemHandle - - [QairtTensor\_Memory\_GetMemHandleFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv435QairtTensor_Memory_GetMemHandleFn_t) getMemHandle - - [QairtTensor\_Memory\_SetClientBufferFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv438QairtTensor_Memory_SetClientBufferFn_t) setClientBuffer - - [QairtTensor\_Memory\_GetClientBufferFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv438QairtTensor_Memory_GetClientBufferFn_t) getClientBuffer - - [QairtTensor\_Memory\_SetRawRetrieveCallbacksFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv446QairtTensor_Memory_SetRawRetrieveCallbacksFn_t) setRawRetrieveCallbacks - - [QairtTensor\_Memory\_GetRawRetrieveCallbacksFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv446QairtTensor_Memory_GetRawRetrieveCallbacksFn_t) getRawRetrieveCallbacks - Functions - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_ClientBuffer\_create([QairtTensor\_ClientBufferHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv432QairtTensor_ClientBufferHandle_t) \*clientBufferHandle) - Create a client buffer handle. - Parameters - **clientBufferHandle** – **[out]** A handle to the created client buffer. - Returns - Error code: - QAIRT\_SUCCESS: Client buffer was successfully created. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *clientBufferHandle* is NULL. - QAIRT\_TENSOR\_ERROR\_MEM\_ALLOC: Memory allocation error while creating client buffer. Note Use corresponding API through [QairtTensor\_ClientBufferV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__ClientBufferV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_ClientBuffer\_free([QairtTensor\_ClientBufferHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv432QairtTensor_ClientBufferHandle_t) clientBufferHandle) - Free a client buffer handle and associated resources. - Parameters - **clientBufferHandle** – **[in]** A handle to a created client buffer. - Returns - Error code: - QAIRT\_SUCCESS: Client buffer was successfully freed. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *clientBufferHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_MEM\_ALLOC: Memory deallocation error. Note Use corresponding API through [QairtTensor\_ClientBufferV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__ClientBufferV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_ClientBuffer\_setData([QairtTensor\_ClientBufferHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv432QairtTensor_ClientBufferHandle_t) clientBufferHandle, void \*data) - Set data pointer for a client buffer. - Parameters - - **clientBufferHandle** – **[in]** A handle to a created client buffer. - **data** – **[in]** Pointer to the data to be associated with the client buffer. May be NULL for zero-size buffers or to reset/detach the buffer. - Returns - Error code: - QAIRT\_SUCCESS: Data was successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *clientBufferHandle* is not a valid handle. Note Use corresponding API through [QairtTensor\_ClientBufferV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__ClientBufferV1__t). Note NULL data pointers are valid for empty buffers (size 0) or when resetting a buffer. This allows proper cleanup and initialization of tensor buffers. - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_ClientBuffer\_getData([QairtTensor\_ClientBufferHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv432QairtTensor_ClientBufferHandle_t) clientBufferHandle, void \*\*data) - Get data pointer from a client buffer. - Parameters - - **clientBufferHandle** – **[in]** A handle to a created client buffer. - **data** – **[out]** Pointer to retrieve the data associated with the client buffer. May be NULL if the buffer has no data or has been reset. - Returns - Error code: - QAIRT\_SUCCESS: Data was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *clientBufferHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *data* is NULL. Note Use corresponding API through [QairtTensor\_ClientBufferV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__ClientBufferV1__t). Note The retrieved data pointer may be NULL for empty or reset buffers. - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_ClientBuffer\_setDataSize([QairtTensor\_ClientBufferHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv432QairtTensor_ClientBufferHandle_t) clientBufferHandle, uint32\_t dataSize) - Set data size for a client buffer. - Parameters - - **clientBufferHandle** – **[in]** A handle to a created client buffer. - **dataSize** – **[in]** Data size of the client buffer in bytes. May be 0 for empty buffers. - Returns - Error code: - QAIRT\_SUCCESS: dataSize was successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *clientBufferHandle* is not a valid handle. Note Use corresponding API through [QairtTensor\_ClientBufferV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__ClientBufferV1__t). Note A size of 0 is valid and indicates an empty buffer. - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_ClientBuffer\_getDataSize([QairtTensor\_ClientBufferHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv432QairtTensor_ClientBufferHandle_t) clientBufferHandle, uint32\_t \*dataSize) - Get data size from a client buffer. - Parameters - - **clientBufferHandle** – **[in]** A handle to a created client buffer. - **dataSize** – **[out]** Pointer to retrieve the data size of the client buffer in bytes. May be 0 for empty buffers. - Returns - Error code: - QAIRT\_SUCCESS: dataSize was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *clientBufferHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *dataSize* is NULL. Note Use corresponding API through [QairtTensor\_ClientBufferV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__ClientBufferV1__t). Note The retrieved size may be 0 for empty buffers. - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Memory\_create([QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t) \*tensorMemoryHandle) - Create a tensor memory handle. - Parameters - **tensorMemoryHandle** – **[out]** A handle to the created tensor memory. - Returns - Error code: - QAIRT\_SUCCESS: Tensor memory was successfully created. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *tensorMemoryHandle* is NULL. - QAIRT\_TENSOR\_ERROR\_MEM\_ALLOC: Memory allocation error while creating tensor memory. Note Use corresponding API through [QairtTensor\_MemoryV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__MemoryV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Memory\_free([QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t) tensorMemoryHandle) - Free a tensor memory handle and associated resources. - Parameters - **tensorMemoryHandle** – **[in]** A handle to a created tensor memory. - Returns - Error code: - QAIRT\_SUCCESS: Tensor memory was successfully freed. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorMemoryHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_MEM\_ALLOC: Memory deallocation error. Note Use corresponding API through [QairtTensor\_MemoryV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__MemoryV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Memory\_getMemoryType([QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t) tensorMemoryHandle, [QairtTensor\_MemoryType\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv424QairtTensor_MemoryType_t) \*type) - Get the memory type of a tensor memory handle. - Parameters - - **tensorMemoryHandle** – **[in]** A handle to a created tensor memory. - **type** – **[out]** Pointer to retrieve the memory type. - Returns - Error code: - QAIRT\_SUCCESS: Memory type was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorMemoryHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *type* is invalid. Note Use corresponding API through [QairtTensor\_MemoryV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__MemoryV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Memory\_setMemHandle([QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t) tensorMemory, [QairtMem\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtMem.html#_CPPv417QairtMem_Handle_t) memHandle) - Set a memory handle for a tensor memory handle. Creates a memory handle memory type within the tensor memory if not already present, then associates the specified memory handle with the tensor memory. - Parameters - - **tensorMemory** – **[in]** A handle to a created tensor memory. - **memHandle** – **[in]** A memory handle to associate with the tensor memory. - Returns - Error code: - QAIRT\_SUCCESS: Memory handle was successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorMemory* or *memHandle* is not a valid handle. Note Use corresponding API through [QairtTensor\_MemoryV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__MemoryV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Memory\_getMemHandle([QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t) tensorMemory, [QairtMem\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtMem.html#_CPPv417QairtMem_Handle_t) \*memHandle) - Get memory handle from a tensor memory handle. - Parameters - - **tensorMemory** – **[in]** A handle to a created tensor memory. - **memHandle** – **[out]** Pointer to retrieve the memory handle. - Returns - Error code: - QAIRT\_SUCCESS: Memory handle was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorMemory* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *memHandle* is NULL. - QAIRT\_TENSOR\_ERROR\_MEMORY\_TYPE\_MISMATCH: Tensor memory type is not QAIRT\_TENSORMEMTYPE\_MEMHANDLE. Note Use corresponding API through [QairtTensor\_MemoryV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__MemoryV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Memory\_setClientBuffer([QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t) tensorMemory, [QairtTensor\_ClientBufferHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv432QairtTensor_ClientBufferHandle_t) clientBuffer) - Set client buffer for a tensor memory handle. Creates a buffer memory type within the tensor memory if not already present, then associates the specified client buffer with the tensor memory. - Parameters - - **tensorMemory** – **[in]** A handle to a created tensor memory. - **clientBuffer** – **[in]** A client buffer handle to associate with the tensor memory. - Returns - Error code: - QAIRT\_SUCCESS: Client buffer was successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorMemory* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *clientBuffer* is NULL. Note Use corresponding API through [QairtTensor\_MemoryV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__MemoryV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Memory\_getClientBuffer([QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t) tensorMemory, [QairtTensor\_ClientBufferHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv432QairtTensor_ClientBufferHandle_t) \*clientBuffer) - Get client buffer from a tensor memory handle. - Parameters - - **tensorMemory** – **[in]** A handle to a created tensor memory. - **clientBuffer** – **[out]** Pointer to retrieve the client buffer handle. - Returns - Error code: - QAIRT\_SUCCESS: Client buffer was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorMemory* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *clientBuffer* is NULL. - QAIRT\_TENSOR\_ERROR\_MEMORY\_TYPE\_MISMATCH: Tensor memory type is not QAIRT\_TENSORMEMTYPE\_RAW. Note Use corresponding API through [QairtTensor\_MemoryV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__MemoryV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Memory\_setRawRetrieveCallbacks([QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t) tensorMemory, [Qairt\_GetTensorRawDataFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426Qairt_GetTensorRawDataFn_t) getCallback, [Qairt\_FreeTensorRawDataFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv427Qairt_FreeTensorRawDataFn_t) freeCallback, void \*cookie) - Set raw retrieve callbacks for a tensor memory handle. Creates a raw retrieve memory type within the tensor memory if not already present, then sets the specified callback functions and cookie. - Parameters - - **tensorMemory** – **[in]** A handle to a created tensor memory. - **getCallback** – **[in]** Callback function to get tensor raw data. - **freeCallback** – **[in]** Callback function to free tensor raw data. - **cookie** – **[in]** User-supplied context pointer to pass to callbacks (may be NULL). - Returns - Error code: - QAIRT\_SUCCESS: Raw retrieve callbacks were successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorMemory* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *getCallback* or *freeCallback* is NULL. Note Use corresponding API through [QairtTensor\_MemoryV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__MemoryV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Memory\_getRawRetrieveCallbacks([QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t) tensorMemory, [Qairt\_GetTensorRawDataFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426Qairt_GetTensorRawDataFn_t) \*getCallback, [Qairt\_FreeTensorRawDataFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv427Qairt_FreeTensorRawDataFn_t) \*freeCallback, void \*\*cookie) - Get callbacks and associated cookie from a tensor memory handle’s raw retrieve. - Parameters - - **tensorMemory** – **[in]** A handle to a created tensor memory. - **getCallback** – **[out]** Pointer to retrieve the get tensor raw data callback. - **freeCallback** – **[out]** Pointer to retrieve the free tensor raw data callback. - **cookie** – **[out]** Pointer to retrieve the user-supplied context pointer passed to callbacks. (The pointer value will be set to NULL if no cookie was set.) - Returns - Error code: - QAIRT\_SUCCESS: Callbacks were successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorMemory* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *getCallback*, *freeCallback*, or *cookie* is NULL. - QAIRT\_TENSOR\_ERROR\_MEMORY\_TYPE\_MISMATCH: Tensor memory type is not QAIRT\_TENSORMEMTYPE\_RETRIEVE\_RAW. Note Use corresponding API through [QairtTensor\_MemoryV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__MemoryV1__t). Enums - enum QairtTensor\_MemoryType\_t - An enum specifying memory types of tensor data. *Values:* - enumerator QAIRT\_TENSORMEMTYPE\_RAW = 0 - Raw memory pointer. - enumerator QAIRT\_TENSORMEMTYPE\_MEMHANDLE = 1 - Memory object, provide capability for memory sharing in between QAIRT accelerator backends. - enumerator QAIRT\_TENSORMEMTYPE\_RETRIEVE\_RAW = 2 - Callback to retrieve a raw memory pointer. - enumerator QAIRT\_TENSORMEMTYPE\_UNDEFINED = 0x7FFFFFFF - Typedefs - typedef struct \_QairtTensor\_MemoryHandle\_t \*QairtTensor\_MemoryHandle\_t - - typedef struct \_QairtTensor\_ClientBufferHandle\_t \*QairtTensor\_ClientBufferHandle\_t - - typedef struct \_QairtContext\_Handle\_t \*QairtContext\_Handle\_t - - typedef struct \_QairtGraph\_Handle\_t \*QairtGraph\_Handle\_t - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*Qairt\_GetTensorRawDataFn\_t)([QairtContext\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtContext.html#_CPPv421QairtContext_Handle_t) context, [QairtGraph\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtGraph.html#_CPPv419QairtGraph_Handle_t) graph, uint64\_t id, [QairtTensor\_ClientBufferHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv432QairtTensor_ClientBufferHandle_t) \*clientBuf, void \*cookie) - A client-defined function used to obtain tensor data when the tensor memory type is QAIRT\_TENSORMEMTYPE\_RETRIEVE\_RAW. Qairt\_GetTensorRawDataFn\_t may be called multiple times for the same tensor. Each call to Qairt\_GetTensorRawDataFn\_t must be accompanied by a call to Qairt\_FreeTensorRawDataFn\_t to free any allocated data for that tensor. - Param context - **[in]** The context to which the tensor is associated - Param graph - **[in]** The graph to which the context is associated. For context tensors this field should be null. - Param id - **[in]** The tensor ID. - Param clientBuf - **[out]** A handle to a client buffer that should be populated with the tensor’s raw data pointer and size. - Param cookie - **[in]** User-supplied context pointer passed to callbacks (may be NULL). This is the same cookie value provided via [QairtTensor\_Memory\_setRawRetrieveCallbacks()](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorMemory_8h_1a98d010dfd7e8e2683d204d812061afe3). - Return - Error code: - QAIRT\_SUCCESS: Client Buffer data successfully provided. - QAIRT\_TENSOR\_ERROR\_DOES\_NOT\_EXIST: Tensor with id does not exist or was not created as QAIRT\_TENSORMEMTYPE\_RETRIEVE\_RAW. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: clientBuf is NULL - QAIRT\_TENSOR\_ERROR\_MEM\_ALLOC: Requested tensor data cannot be allocated. - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*Qairt\_FreeTensorRawDataFn\_t)([QairtContext\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtContext.html#_CPPv421QairtContext_Handle_t) context, [QairtGraph\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtGraph.html#_CPPv419QairtGraph_Handle_t) graph, uint64\_t id, void \*cookie) - A client-defined function used to free tensor data previously obtained by Qairt\_GetTensorRawDataFn\_t. After the call to Qairt\_FreeTensorRawDataFn\_t the data provided in the client buffer should be considered invalid. If Qairt\_GetTensorRawDataFn\_t has been called multiple times for the same tensor then Qairt\_FreeTensorRawDataFn\_t must be called an equivalent number of times to free all allocated data for this tensor. - Param context - **[in]** The context to which the tensor is associated - Param graph - **[in]** The graph to which the context is associated. For context tensors this field should be null. - Param id - **[in]** The tensor ID. - Param cookie - **[in]** User-supplied context pointer passed to callbacks (may be NULL). This is the same cookie value provided via [QairtTensor\_Memory\_setRawRetrieveCallbacks()](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorMemory_8h_1a98d010dfd7e8e2683d204d812061afe3). - Return - Error code: - QAIRT\_SUCCESS: Client Buffer data successfully freed. - QAIRT\_TENSOR\_ERROR\_DOES\_NOT\_EXIST: Tensor with id does not exist, was not created as QAIRT\_TENSORMEMTYPE\_RETRIEVE\_RAW, or has already been freed. - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_ClientBuffer\_CreateFn\_t)([QairtTensor\_ClientBufferHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv432QairtTensor_ClientBufferHandle_t)\*) - Client Buffer. - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_ClientBuffer\_FreeFn\_t)([QairtTensor\_ClientBufferHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv432QairtTensor_ClientBufferHandle_t)) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_ClientBuffer\_SetDataFn\_t)([QairtTensor\_ClientBufferHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv432QairtTensor_ClientBufferHandle_t), void\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_ClientBuffer\_GetDataFn\_t)([QairtTensor\_ClientBufferHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv432QairtTensor_ClientBufferHandle_t), void\*\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_ClientBuffer\_SetDataSizeFn\_t)([QairtTensor\_ClientBufferHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv432QairtTensor_ClientBufferHandle_t), uint32\_t) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_ClientBuffer\_GetDataSizeFn\_t)([QairtTensor\_ClientBufferHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv432QairtTensor_ClientBufferHandle_t), uint32\_t\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Memory\_CreateFn\_t)([QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t)\*) - Tensor Memory. - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Memory\_FreeFn\_t)([QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t)) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Memory\_GetMemoryTypeFn\_t)([QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t), [QairtTensor\_MemoryType\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv424QairtTensor_MemoryType_t)\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Memory\_SetMemHandleFn\_t)([QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t), [QairtMem\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtMem.html#_CPPv417QairtMem_Handle_t)) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Memory\_GetMemHandleFn\_t)([QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t), [QairtMem\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtMem.html#_CPPv417QairtMem_Handle_t)\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Memory\_SetClientBufferFn\_t)([QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t), [QairtTensor\_ClientBufferHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv432QairtTensor_ClientBufferHandle_t)) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Memory\_GetClientBufferFn\_t)([QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t), [QairtTensor\_ClientBufferHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv432QairtTensor_ClientBufferHandle_t)\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Memory\_SetRawRetrieveCallbacksFn\_t)([QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t), [Qairt\_GetTensorRawDataFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426Qairt_GetTensorRawDataFn_t), [Qairt\_FreeTensorRawDataFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv427Qairt_FreeTensorRawDataFn_t), void \*cookie) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Memory\_GetRawRetrieveCallbacksFn\_t)([QairtTensor\_MemoryHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_MemoryHandle_t), [Qairt\_GetTensorRawDataFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426Qairt_GetTensorRawDataFn_t)\*, [Qairt\_FreeTensorRawDataFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv427Qairt_FreeTensorRawDataFn_t)\*, void \*\*cookie) - * * * Tensor property accessors. **Include:** `#include "QairtTensor/QairtTensorProperties.h"` - struct QairtTensor\_PropertiesV1\_t - *#include <QairtTensorProperties.h>* Public Members - uint64\_t size - - [Qairt\_GetInterfaceFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv422Qairt_GetInterfaceFn_t) getInterface - - [QairtTensor\_Properties\_CreateFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv433QairtTensor_Properties_CreateFn_t) create - - [QairtTensor\_Properties\_FreeFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv431QairtTensor_Properties_FreeFn_t) free - - [QairtTensor\_Properties\_SetIsInputFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv437QairtTensor_Properties_SetIsInputFn_t) setIsInput - - [QairtTensor\_Properties\_GetIsInputFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv437QairtTensor_Properties_GetIsInputFn_t) getIsInput - - [QairtTensor\_Properties\_SetIsOutputFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv438QairtTensor_Properties_SetIsOutputFn_t) setIsOutput - - [QairtTensor\_Properties\_GetIsOutputFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv438QairtTensor_Properties_GetIsOutputFn_t) getIsOutput - - [QairtTensor\_Properties\_SetIsNativeFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv438QairtTensor_Properties_SetIsNativeFn_t) setIsNative - - [QairtTensor\_Properties\_GetIsNativeFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv438QairtTensor_Properties_GetIsNativeFn_t) getIsNative - - [QairtTensor\_Properties\_SetIsNullFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv436QairtTensor_Properties_SetIsNullFn_t) setIsNull - - [QairtTensor\_Properties\_GetIsNullFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv436QairtTensor_Properties_GetIsNullFn_t) getIsNull - - [QairtTensor\_Properties\_SetIsStaticFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv438QairtTensor_Properties_SetIsStaticFn_t) setIsStatic - - [QairtTensor\_Properties\_GetIsStaticFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv438QairtTensor_Properties_GetIsStaticFn_t) getIsStatic - - [QairtTensor\_Properties\_SetIsOptionalFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv440QairtTensor_Properties_SetIsOptionalFn_t) setIsOptional - - [QairtTensor\_Properties\_GetIsOptionalFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv440QairtTensor_Properties_GetIsOptionalFn_t) getIsOptional - - [QairtTensor\_Properties\_SetIsUpdatableFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv441QairtTensor_Properties_SetIsUpdatableFn_t) setIsUpdatable - - [QairtTensor\_Properties\_GetIsUpdatableFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv441QairtTensor_Properties_GetIsUpdatableFn_t) getIsUpdatable - Functions - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Properties\_create([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t) \*tensorPropertiesHandle) - Create a tensor properties handle. - Parameters - **tensorPropertiesHandle** – **[out]** A handle to the created tensor properties. - Returns - Error code: - QAIRT\_SUCCESS: Tensor properties was successfully created. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *tensorPropertiesHandle* is NULL. - QAIRT\_TENSOR\_ERROR\_MEM\_ALLOC: Memory allocation error while creating tensor properties. Note Use corresponding API through [QairtTensor\_PropertiesV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__PropertiesV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Properties\_free([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t) tensorPropertiesHandle) - Free a tensor properties handle and associated resources. - Parameters - **tensorPropertiesHandle** – **[in]** A handle to a created tensor properties. - Returns - Error code: - QAIRT\_SUCCESS: Tensor properties was successfully freed. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorPropertiesHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_MEM\_ALLOC: Memory deallocation error. Note Use corresponding API through [QairtTensor\_PropertiesV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__PropertiesV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Properties\_setIsInput([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t) tensorPropertiesHandle, uint8\_t isInput) - Set the input property of tensor properties. - Parameters - - **tensorPropertiesHandle** – **[in]** A handle to a created tensor properties. - **isInput** – **[in]** Flag indicating whether tensor is an input (1) or not (0). - Returns - Error code: - QAIRT\_SUCCESS: Input property was successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorPropertiesHandle* is not a valid handle. Note Use corresponding API through [QairtTensor\_PropertiesV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__PropertiesV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Properties\_getIsInput([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t) tensorPropertiesHandle, uint8\_t \*isInput) - Get the input property of tensor properties. - Parameters - - **tensorPropertiesHandle** – **[in]** A handle to a created tensor properties. - **isInput** – **[out]** Flag indicating whether tensor is an input (1) or not (0). - Returns - Error code: - QAIRT\_SUCCESS: Input property was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorPropertiesHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *isInput* is NULL. Note Use corresponding API through [QairtTensor\_PropertiesV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__PropertiesV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Properties\_setIsOutput([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t) tensorPropertiesHandle, uint8\_t isOutput) - Set the output property of tensor properties. - Parameters - - **tensorPropertiesHandle** – **[in]** A handle to a created tensor properties. - **isOutput** – **[in]** Flag indicating whether tensor is an output (1) or not (0). - Returns - Error code: - QAIRT\_SUCCESS: Output property was successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorPropertiesHandle* is not a valid handle. Note Use corresponding API through [QairtTensor\_PropertiesV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__PropertiesV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Properties\_getIsOutput([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t) tensorPropertiesHandle, uint8\_t \*isOutput) - Get the output property of tensor properties. - Parameters - - **tensorPropertiesHandle** – **[in]** A handle to a created tensor properties. - **isOutput** – **[out]** Flag indicating whether tensor is an output (1) or not (0). - Returns - Error code: - QAIRT\_SUCCESS: Output property was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorPropertiesHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *isOutput* is NULL. Note Use corresponding API through [QairtTensor\_PropertiesV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__PropertiesV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Properties\_setIsNative([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t) tensorPropertiesHandle, uint8\_t isNative) - Set the native property of tensor properties. - Parameters - - **tensorPropertiesHandle** – **[in]** A handle to a created tensor properties. - **isNative** – **[in]** Flag indicating whether tensor is native (1) or not (0). - Returns - Error code: - QAIRT\_SUCCESS: Native property was successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorPropertiesHandle* is not a valid handle. Note Use corresponding API through [QairtTensor\_PropertiesV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__PropertiesV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Properties\_getIsNative([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t) tensorPropertiesHandle, uint8\_t \*isNative) - Get the native property of tensor properties. - Parameters - - **tensorPropertiesHandle** – **[in]** A handle to a created tensor properties. - **isNative** – **[out]** Flag indicating whether tensor is native (1) or not (0). - Returns - Error code: - QAIRT\_SUCCESS: Native property was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorPropertiesHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *isNative* is NULL. Note Use corresponding API through [QairtTensor\_PropertiesV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__PropertiesV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Properties\_setIsNull([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t) tensorPropertiesHandle, uint8\_t isNull) - Set the null property of tensor properties. - Parameters - - **tensorPropertiesHandle** – **[in]** A handle to a created tensor properties. - **isNull** – **[in]** Flag indicating whether tensor is null (1) or not (0). - Returns - Error code: - QAIRT\_SUCCESS: Null property was successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorPropertiesHandle* is not a valid handle. Note Use corresponding API through [QairtTensor\_PropertiesV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__PropertiesV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Properties\_getIsNull([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t) tensorPropertiesHandle, uint8\_t \*isNull) - Get the null property of tensor properties. - Parameters - - **tensorPropertiesHandle** – **[in]** A handle to a created tensor properties. - **isNull** – **[out]** Flag indicating whether tensor is null (1) or not (0). - Returns - Error code: - QAIRT\_SUCCESS: Null property was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorPropertiesHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *isNull* is NULL. Note Use corresponding API through [QairtTensor\_PropertiesV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__PropertiesV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Properties\_setIsOptional([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t) tensorPropertiesHandle, uint8\_t isOptional) - Set the optional property of tensor properties. - Parameters - - **tensorPropertiesHandle** – **[in]** A handle to a created tensor properties. - **isOptional** – **[in]** Flag indicating whether tensor is optional (1) or not (0). - Returns - Error code: - QAIRT\_SUCCESS: Optional property was successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorPropertiesHandle* is not a valid handle. Note Use corresponding API through [QairtTensor\_PropertiesV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__PropertiesV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Properties\_getIsOptional([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t) tensorPropertiesHandle, uint8\_t \*isOptional) - Get the optional property of tensor properties. - Parameters - - **tensorPropertiesHandle** – **[in]** A handle to a created tensor properties. - **isOptional** – **[out]** Flag indicating whether tensor is optional (1) or not (0). - Returns - Error code: - QAIRT\_SUCCESS: Optional property was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorPropertiesHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *isOptional* is NULL. Note Use corresponding API through [QairtTensor\_PropertiesV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__PropertiesV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Properties\_setIsStatic([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t) tensorPropertiesHandle, uint8\_t isStatic) - Set the static property of tensor properties. - Parameters - - **tensorPropertiesHandle** – **[in]** A handle to a created tensor properties. - **isStatic** – **[in]** Flag indicating whether tensor is static (1) or not (0). - Returns - Error code: - QAIRT\_SUCCESS: Static property was successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorPropertiesHandle* is not a valid handle. Note Use corresponding API through [QairtTensor\_PropertiesV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__PropertiesV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Properties\_getIsStatic([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t) tensorPropertiesHandle, uint8\_t \*isStatic) - Get the static property of tensor properties. - Parameters - - **tensorPropertiesHandle** – **[in]** A handle to a created tensor properties. - **isStatic** – **[out]** Flag indicating whether tensor is static (1) or not (0). - Returns - Error code: - QAIRT\_SUCCESS: Static property was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorPropertiesHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *isStatic* is NULL. Note Use corresponding API through [QairtTensor\_PropertiesV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__PropertiesV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Properties\_setIsUpdatable([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t) tensorPropertiesHandle, uint8\_t isUpdatable) - Set the updatable property of tensor properties. - Parameters - - **tensorPropertiesHandle** – **[in]** A handle to a created tensor properties. - **isUpdatable** – **[in]** Flag indicating whether tensor is updatable (1) or not (0). - Returns - Error code: - QAIRT\_SUCCESS: Updatable property was successfully set. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorPropertiesHandle* is not a valid handle. Note Use corresponding API through [QairtTensor\_PropertiesV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__PropertiesV1__t). - [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtTensor\_Properties\_getIsUpdatable([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t) tensorPropertiesHandle, uint8\_t \*isUpdatable) - Get the updatable property of tensor properties. - Parameters - - **tensorPropertiesHandle** – **[in]** A handle to a created tensor properties. - **isUpdatable** – **[out]** Flag indicating whether tensor is updatable (1) or not (0). - Returns - Error code: - QAIRT\_SUCCESS: Updatable property was successfully retrieved. - QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE: *tensorPropertiesHandle* is not a valid handle. - QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT: *isUpdatable* is NULL. Note Use corresponding API through [QairtTensor\_PropertiesV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#structQairtTensor__PropertiesV1__t). Typedefs - typedef struct \_QairtTensor\_PropertiesHandle\_t \*QairtTensor\_PropertiesHandle\_t - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Properties\_CreateFn\_t)([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t)\*) - Create/Free. - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Properties\_FreeFn\_t)([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t)) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Properties\_SetIsInputFn\_t)([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t), uint8\_t) - Input Tensor. - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Properties\_GetIsInputFn\_t)([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t), uint8\_t\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Properties\_SetIsOutputFn\_t)([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t), uint8\_t) - Output Tensor. - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Properties\_GetIsOutputFn\_t)([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t), uint8\_t\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Properties\_SetIsNativeFn\_t)([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t), uint8\_t) - Native Tensor. - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Properties\_GetIsNativeFn\_t)([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t), uint8\_t\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Properties\_SetIsNullFn\_t)([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t), uint8\_t) - Null Tensor. - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Properties\_GetIsNullFn\_t)([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t), uint8\_t\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Properties\_SetIsStaticFn\_t)([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t), uint8\_t) - Static Tensor. - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Properties\_GetIsStaticFn\_t)([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t), uint8\_t\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Properties\_SetIsOptionalFn\_t)([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t), uint8\_t) - Optional Tensor. - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Properties\_GetIsOptionalFn\_t)([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t), uint8\_t\*) - - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Properties\_SetIsUpdatableFn\_t)([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t), uint8\_t) - Updatable Tensor. - typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtTensor\_Properties\_GetIsUpdatableFn\_t)([QairtTensor\_PropertiesHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv430QairtTensor_PropertiesHandle_t), uint8\_t\*) - Last Published: Aug 06, 2026 [Previous Topic QairtGraph](https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/QairtGraph.md) [Next Topic QairtBackend](https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/QairtBackend.md)