# QairtBackend

Backend selection, configuration, and context creation.

**Include:** `#include "QairtBackend/QairtBackend.h"`

- struct QairtBackend\_V1\_t

    - *#include &lt;QairtBackend.h&gt;*

Public Members

- uint64\_t size

    - 

- [Qairt\_GetInterfaceFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv422Qairt_GetInterfaceFn_t) getInterface

    - 

- [QairtBackend\_CreateFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv423QairtBackend_CreateFn_t) create

    - 

- [QairtBackend\_FreeFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv421QairtBackend_FreeFn_t) free

    - 

- [QairtBackend\_SetConfigFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv426QairtBackend_SetConfigFn_t) setConfig

    - 

- [QairtBackend\_RegisterOpPackageFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv434QairtBackend_RegisterOpPackageFn_t) registerOpPackage

    - 

- [QairtBackend\_GetSupportedOperationsFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv439QairtBackend_GetSupportedOperationsFn_t) getSupportedOperations

    - 

- [QairtBackend\_ValidateOpConfigFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv433QairtBackend_ValidateOpConfigFn_t) validateOpConfig

    - 

- [QairtBackend\_CreateProfileFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv430QairtBackend_CreateProfileFn_t) createProfile

    -

Functions

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_create([QairtLog\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtLog.html#_CPPv417QairtLog_Handle_t) logHandle, [QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t) configHandle, [QairtBackend\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv421QairtBackend_Handle_t) \*backendHandle)

    - Initialize a backend library and create a backend handle.

Function is re-entrant and thread-safe.

- Parameters

    - - **logHandle** – **[in]** A handle to the logger. Use a NULL handle to disable logging. QairtBackend does not manage the lifecycle of the logger and must be freed by using [QairtLog\_free()](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtLog.html#QairtLog_8h_1af60ca9cb29a9a35c1d71d3dbdd1570b8).
- **configHandle** – **[in]** A handle to a backend configuration, which is managed from the BackendConfig component APIs. NULL is allowed and indicates no config options are provided. This handle may be freed once the backend is created.
- **backendHandle** – **[out]** A handle to the created backend.

- Returns

    - Error code:

- QAIRT\_SUCCESS: No error encountered
- QAIRT\_BACKEND\_ERROR\_UNSUPPORTED\_PLATFORM: Backend attempted to be created on unsupported platform
- QAIRT\_BACKEND\_ERROR\_INCONSISTENT\_CONFIG: One or more backend configurations are inconsistent between multiple create calls. Refer to backend headers for which configuration options must be consistent.
- QAIRT\_BACKEND\_ERROR\_CANNOT\_INITIALIZE: backend failed to initialize
- QAIRT\_BACKEND\_ERROR\_MEM\_ALLOC: error related to memory allocation
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *logger* is not a valid handle
- QAIRT\_BACKEND\_ERROR\_INVALID\_CONFIG: one or more config values is invalid
- QAIRT\_BACKEND\_ERROR\_NOT\_SUPPORTED: an optional feature is not supported

Note

Use corresponding API through [QairtBackend\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__V1__t).

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_free([QairtBackend\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv421QairtBackend_Handle_t) backendHandle)

    - Frees a backend handle.

- Parameters

    - **backendHandle** – **[in]** A handle to a created backend.

- Returns

    - Error code:

- QAIRT\_SUCCESS: No error encountered.
- QAIRT\_BACKEND\_ERROR\_MEM\_ALLOC: error related to memory deallocation
- QAIRT\_BACKEND\_ERROR\_TERMINATE\_FAILED: indicates failure to free resources or failure to invalidate handles and pointers allocated by the library
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *backend* is not a valid handle
- QAIRT\_COMMON\_ERROR\_SYSTEM\_COMMUNICATION: SSR occurence (successful recovery)
- QAIRT\_COMMON\_ERROR\_SYSTEM\_COMMUNICATION\_FATAL: SSR occurence (unsuccessful recovery)

Note

Use corresponding API through [QairtBackend\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__V1__t).

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_setConfig([QairtBackend\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv421QairtBackend_Handle_t) backendHandle, [QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t) configHandle)

    - A function to set/modify configuration options on an already generated backend.

- Parameters

    - - **backendHandle** – **[in]** A handle to a created backend.
- **configHandle** – **[in]** A handle to a backend configuration, which is managed from the BackendConfig component APIs.

- Returns

    - Error code:

- QAIRT\_SUCCESS: no error is encountered
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *backend* is not a valid handle
- QAIRT\_BACKEND\_ERROR\_INVALID\_CONFIG: at least one config option is invalid
- QAIRT\_BACKEND\_ERROR\_NOT\_SUPPORTED: an optional feature is not supported

Note

Use corresponding API through [QairtBackend\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__V1__t).

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_registerOpPackage([QairtBackend\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv421QairtBackend_Handle_t) backendHandle, const char \*packagePath, const char \*interfaceProvider, const char \*target)

    - Register an operation package with the backend handle.

- Parameters

    - - **backendHandle** – **[in]** A handle to a created backend.
- **packagePath** – **[in]** Path on disk to the op package library to load.
- **interfaceProvider** – **[in]** The name of a function in the op package library which satisfies the QairtOpPackage\_InterfaceProvider\_t interface. The backend will use this function to retrieve the op package’s interface.
- **target** – **[in]** An optional parameter specifying the target platform on which the backend must register the op package. Required in scenarios where an op package is to be loaded on a processing unit that is different from the target on which the backend runs. Ex: loading a DSP op package on ARM for optional online context caching. Refer to additional documentation for a list of permissible target names.

- Returns

    - Error code:

- QAIRT\_SUCCESS: No error encountered
- QAIRT\_BACKEND\_ERROR\_INVALID\_ARGUMENT: if *packagePath* or *interfaceProvider* is NULL
- QAIRT\_BACKEND\_ERROR\_OP\_PACKAGE\_NOT\_FOUND: Could not open *packagePath*
- QAIRT\_BACKEND\_ERROR\_OP\_PACKAGE\_IF\_PROVIDER\_NOT\_FOUND: Could not find *interfaceProvider* symbol in package library
- QAIRT\_BACKEND\_ERROR\_OP\_PACKAGE\_REGISTRATION\_FAILED: Op package registration failed
- QAIRT\_BACKEND\_ERROR\_OP\_PACKAGE\_UNSUPPORTED\_VERSION: Op package has interface version not supported by this backend
- QAIRT\_BACKEND\_ERROR\_NOT\_SUPPORTED: Op package registration is not supported.
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *backend* is not a valid handle
- QAIRT\_BACKEND\_ERROR\_OP\_PACKAGE\_DUPLICATE: OpPackageName+OpName must be unique. Op package content information can be be obtained with QairtOpPackage interface. Indicates that an Op with the same package name and op name was already registered.
- QAIRT\_COMMON\_ERROR\_SYSTEM\_COMMUNICATION: SSR occurence (successful recovery)
- QAIRT\_COMMON\_ERROR\_SYSTEM\_COMMUNICATION\_FATAL: SSR occurence (unsuccessful recovery)

Note

Use corresponding API through [QairtBackend\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__V1__t).

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_getSupportedOperations([QairtBackend\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv421QairtBackend_Handle_t) backendHandle, const [QairtBackend\_OperationNameHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv434QairtBackend_OperationNameHandle_t) \*\*operationsHandle, uint32\_t \*numOperations)

    - Get the supported operations registered to a backend handle including built-in ops.

- Parameters

    - - **backendHandle** – **[in]** A created backend handle. Can be NULL to obtain the built-in op package.
- **operationsHandle** – **[out]** Array of operation handles, which are managed from the Backend Operation Name component APIs.
- **numOperations** – **[out]** Number of supported operations.

- Returns

    - Error code:

- QAIRT\_SUCCESS: No error encountered
- QAIRT\_BACKEND\_ERROR\_INVALID\_ARGUMENT: if *numOperations* or *operationsHandle* is NULL
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *backendHandle* is not a valid handle
- QAIRT\_COMMON\_ERROR\_SYSTEM\_COMMUNICATION: SSR occurence (successful recovery)
- QAIRT\_COMMON\_ERROR\_SYSTEM\_COMMUNICATION\_FATAL: SSR occurence (unsuccessful recovery)

Note

Use corresponding API through [QairtBackend\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__V1__t).

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_validateOpConfig([QairtBackend\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv421QairtBackend_Handle_t) backendHandle, [QairtOpConfig\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#_CPPv422QairtOpConfig_Handle_t) opConfigHandle)

    - A method to validate op config with an appropriate op package.

This is a wrapper API around the actual OpPackage interface method that performs op validation. The Backend may pick an appropriate op package among ones that are registered with it for validation based on the attributes of the op configuration.

- Parameters

    - - **backendHandle** – **[in]** A created backend handle.
- **opConfigHandle** – **[in]** A created opConfig handle, which is managed by the OpConfig component APIs.

- Returns

    - Error code

- QAIRT\_SUCCESS if validation is successful
- QAIRT\_OP\_PACKAGE\_ERROR\_VALIDATION\_FAILURE: op config validation failed
- QAIRT\_BACKEND\_ERROR\_NOT\_SUPPORTED: Validation API not supported
- QAIRT\_BACKEND\_ERROR\_OP\_PACKAGE\_NOT\_FOUND: No op package with matching op config attributes found.
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *backend* is not a valid handle

Note

Use corresponding API through [QairtBackend\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__V1__t).

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_createProfile([QairtBackend\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv421QairtBackend_Handle_t) backendHandle, [QairtProfile\_Level\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtProfile.html#_CPPv420QairtProfile_Level_t) level, [QairtProfile\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtProfile.html#_CPPv421QairtProfile_Handle_t) \*profileHandle)

    - Create a handle to a profile object.

- Parameters

    - - **backendHandle** – **[in]** A backend handle.
- **level** – **[in]** Granularity level at which the profile should collect events.
- **profileHandle** – **[out]** A profile handle.

- Returns

    - Error code

- QAIRT\_SUCCESS: No error encountered
- QAIRT\_BACKEND\_ERROR\_INVALID\_ARGUMENT: *profile* is NULL or *level* is invalid.
- QAIRT\_BACKEND\_ERROR\_NOT\_SUPPORTED: Profiling is unsupported on a backend.
- QAIRT\_BACKEND\_ERROR\_MEM\_ALLOC: Error in allocating memory when creating profile handle
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *backend* is not a valid handle

Note

Use corresponding API through QairtInterface\_t.

Enums

- enum QairtBackend\_Error\_t

    - QAIRT Backend API result / error codes.

*Values:*

- enumerator QAIRT\_BACKEND\_MIN\_ERROR = QAIRT\_MIN\_ERROR\_BACKEND

    - 

- enumerator QAIRT\_BACKEND\_NO\_ERROR = QAIRT\_SUCCESS

    - Qairt Backend success.

- enumerator QAIRT\_BACKEND\_ERROR\_MEM\_ALLOC = [QAIRT\_COMMON\_ERROR\_MEM\_ALLOC](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N19QairtCommon_Error_t28QAIRT_COMMON_ERROR_MEM_ALLOCE)

    - General error relating to memory allocation in Backend API.

- enumerator QAIRT\_BACKEND\_ERROR\_UNSUPPORTED\_PLATFORM = [QAIRT\_COMMON\_ERROR\_PLATFORM\_NOT\_SUPPORTED](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N19QairtCommon_Error_t41QAIRT_COMMON_ERROR_PLATFORM_NOT_SUPPORTEDE)

    - Backend attempted to be created on an unsupported platform.

- enumerator QAIRT\_BACKEND\_ERROR\_CANNOT\_INITIALIZE = 4000

    - Backend failed to initialize.

- enumerator QAIRT\_BACKEND\_ERROR\_TERMINATE\_FAILED = 4002

    - Failed to free allocated resources during termination.

- enumerator QAIRT\_BACKEND\_ERROR\_NOT\_SUPPORTED = 4003

    - Backend does not support requested functionality.

- enumerator QAIRT\_BACKEND\_ERROR\_INVALID\_ARGUMENT = 4004

    - Invalid function argument.

- enumerator QAIRT\_BACKEND\_ERROR\_OP\_PACKAGE\_NOT\_FOUND = 4005

    - Could not find specified op package.

- enumerator QAIRT\_BACKEND\_ERROR\_OP\_PACKAGE\_IF\_PROVIDER\_NOT\_FOUND = 4006

    - Could not load interface provider from op package library.

- enumerator QAIRT\_BACKEND\_ERROR\_OP\_PACKAGE\_REGISTRATION\_FAILED = 4007

    - Failed to register op package.

- enumerator QAIRT\_BACKEND\_ERROR\_OP\_PACKAGE\_UNSUPPORTED\_VERSION = 4008

    - Backend does not support the op config’s interface version.

- enumerator QAIRT\_BACKEND\_ERROR\_OP\_PACKAGE\_DUPLICATE = 4009

    - An Op with the same package name and op name was already registered.

- enumerator QAIRT\_BACKEND\_ERROR\_INCONSISTENT\_CONFIG = 4010

    - Inconsistent backend configuration.

- enumerator QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE = 4011

    - Invalid backend handle.

- enumerator QAIRT\_BACKEND\_ERROR\_INVALID\_CONFIG = 4012

    - Invalid config.

- enumerator QAIRT\_BACKEND\_MAX\_ERROR = QAIRT\_MAX\_ERROR\_BACKEND

    - 

- enumerator QAIRT\_BACKEND\_ERROR\_UNDEFINED = 0x7FFFFFFF

    -

Typedefs

- typedef struct \_QairtBackend\_Handle\_t \*QairtBackend\_Handle\_t

    - Backend handle used to interface with Backend APIs.

The handle itself is created and freed by the client.
    Copy to clipboard

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_CreateFn\_t)([QairtLog\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtLog.html#_CPPv417QairtLog_Handle_t), [QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t), [QairtBackend\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv421QairtBackend_Handle_t)\*)

    - 

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_FreeFn\_t)([QairtBackend\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv421QairtBackend_Handle_t))

    - 

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_SetConfigFn\_t)([QairtBackend\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv421QairtBackend_Handle_t), [QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t))

    - 

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_RegisterOpPackageFn\_t)([QairtBackend\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv421QairtBackend_Handle_t), const char\*, const char\*, const char\*)

    - 

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_GetSupportedOperationsFn\_t)([QairtBackend\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv421QairtBackend_Handle_t), const [QairtBackend\_OperationNameHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv434QairtBackend_OperationNameHandle_t)\*\*, uint32\_t\*)

    - 

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_ValidateOpConfigFn\_t)([QairtBackend\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv421QairtBackend_Handle_t), [QairtOpConfig\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#_CPPv422QairtOpConfig_Handle_t))

    - 

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_CreateProfileFn\_t)([QairtBackend\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv421QairtBackend_Handle_t), [QairtProfile\_Level\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtProfile.html#_CPPv420QairtProfile_Level_t), [QairtProfile\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtProfile.html#_CPPv421QairtProfile_Handle_t)\*)

    -

Defines

- QAIRT\_BACKEND\_V1\_ID QAIRT\_MIN\_ID\_BACKEND

    - 

- QAIRT\_BACKEND\_CONFIG\_V1\_ID QAIRT\_MIN\_ID\_BACKEND + 1

    - 

- QAIRT\_BACKEND\_OPERATION\_NAME\_V1\_ID QAIRT\_MIN\_ID\_BACKEND + 2

    -

* * *

Capability key constants for backend queries.

**Include:** `#include "QairtBackend/QairtBackendCapabilityKeys.h"`

Warning

doxygenfile: Cannot find file “QairtBackend/QairtBackendCapabilityKeys.h

* * *

Backend configuration options.

**Include:** `#include "QairtBackend/QairtBackendConfig.h"`

- struct QairtBackend\_ConfigV1\_t

    - *#include &lt;QairtBackendConfig.h&gt;*

Public Members

- uint64\_t size

    - 

- [Qairt\_GetInterfaceFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv422Qairt_GetInterfaceFn_t) getInterface

    - 

- [QairtBackend\_Config\_CreateFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv430QairtBackend_Config_CreateFn_t) create

    - 

- [QairtBackend\_Config\_FreeFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv428QairtBackend_Config_FreeFn_t) free

    - 

- [QairtBackend\_Config\_SetCustomConfigsFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv440QairtBackend_Config_SetCustomConfigsFn_t) setCustomConfigs

    - 

- [QairtBackend\_Config\_GetNumCustomConfigsFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv443QairtBackend_Config_GetNumCustomConfigsFn_t) getNumCustomConfigs

    - 

- [QairtBackend\_Config\_GetCustomConfigAtFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv441QairtBackend_Config_GetCustomConfigAtFn_t) getCustomConfigAt

    - 

- [QairtBackend\_Config\_SetErrorReportingConfigFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv447QairtBackend_Config_SetErrorReportingConfigFn_t) setErrorReportingConfig

    - 

- [QairtBackend\_Config\_GetErrorReportingConfigFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv447QairtBackend_Config_GetErrorReportingConfigFn_t) getErrorReportingConfig

    - 

- [QairtBackend\_Config\_SetPlatformOptionsFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv442QairtBackend_Config_SetPlatformOptionsFn_t) setPlatformOptions

    - 

- [QairtBackend\_Config\_GetNumPlatformOptionsFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv445QairtBackend_Config_GetNumPlatformOptionsFn_t) getNumPlatformOptions

    - 

- [QairtBackend\_Config\_GetPlatformOptionAtFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv443QairtBackend_Config_GetPlatformOptionAtFn_t) getPlatformOptionAt

    -

Functions

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_Config\_create([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t) \*cfgHandle)

    - Creates a backend config handle.

- Parameters

    - **cfgHandle** – **[out]** A handle to the created config.

- Returns

    - Error code:

- QAIRT\_SUCCESS: no error is encountered
- QAIRT\_BACKEND\_ERROR\_INVALID\_ARGUMENT: *cfgHandle* is NULL

Note

Use corresponding API through [QairtBackend\_ConfigV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__ConfigV1__t).

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_Config\_free([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t) cfgHandle)

    - Frees a backend config handle.

- Parameters

    - **cfgHandle** – **[in]** A handle to the created config.

- Returns

    - Error code:

- QAIRT\_SUCCESS: no error is encountered
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *cfgHandle* is not a valid handle
- QAIRT\_BACKEND\_ERROR\_MEM\_ALLOC: Memory deallocation error

Note

Use corresponding API through [QairtBackend\_ConfigV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__ConfigV1__t).

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_Config\_setCustomConfigs([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t) cfgHandle, const [QairtBackend\_CustomConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv433QairtBackend_CustomConfigHandle_t) \*customConfigHandles, uint32\_t numCustomConfigs)

    - Applies an array of custom configs onto a Backend Config.

- Parameters

    - - **cfgHandle** – **[in]** A handle to a created backend config.
- **customConfigHandles** – **[in]** An array of custom configuration handles.
- **numCustomConfigs** – **[in]** The number of handles in the array.

- Returns

    - Error code:

- QAIRT\_SUCCESS: no error is encountered
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *cfgHandle* or one or more handles in *customConfigHandles* are not valid handles
- QAIRT\_BACKEND\_ERROR\_INVALID\_ARGUMENT: *customConfigHandles* is NULL when *numCustomConfigs* is greater than zero

Note

Use corresponding API through [QairtBackend\_ConfigV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__ConfigV1__t).

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_Config\_getNumCustomConfigs([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t) cfgHandle, uint32\_t \*numConfigs)

    - Gets the number of custom configurations associated with the Backend Config handle.

- Parameters

    - - **cfgHandle** – **[in]** A handle to the created config.
- **numConfigs** – **[out]** Pointer to retrieve the number of custom configs.

- Returns

    - Error code:

- QAIRT\_SUCCESS: no error is encountered
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *cfgHandle* is not a valid handle
- QAIRT\_BACKEND\_ERROR\_INVALID\_ARGUMENT: *numConfigs* is NULL

Note

Use corresponding API through [QairtBackend\_ConfigV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__ConfigV1__t).

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_Config\_getCustomConfigAt([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t) cfgHandle, uint32\_t index, [QairtBackend\_CustomConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv433QairtBackend_CustomConfigHandle_t) \*customConfigHandle)

    - Gets a custom config at a particular index.

Index must be less than getNumCustomConfigs.

- Parameters

    - - **cfgHandle** – **[in]** A handle to the created config.
- **index** – **[in]** Index of the custom config
- **customConfigHandle** – **[out]** A referenced backend custom config 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: no error is encountered
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *cfgHandle* is not a valid handle
- QAIRT\_BACKEND\_ERROR\_INVALID\_ARGUMENT: *customConfigHandle* is NULL or *index* is invalid

Note

Use corresponding API through [QairtBackend\_ConfigV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__ConfigV1__t).

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_Config\_setErrorReportingConfig([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t) cfgHandle, const [QairtErrorReporting\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv434QairtErrorReporting_ConfigHandle_t) errorReportingConfigHandle)

    - Sets an Error Reporting Config onto a Backend Config.

- Parameters

    - - **cfgHandle** – **[in]** A handle to the created config.
- **errorReportingConfigHandle** – **[in]** A handle to an error reporting config, which is managed by the Error Reporting Config component APIs.

- Returns

    - Error code:

- QAIRT\_SUCCESS: no error is encountered
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *cfgHandle* or *errorReportingConfig* is not a valid handle
- QAIRT\_BACKEND\_ERROR\_INVALID\_ARGUMENT: at least one argument is invalid

Note

Use corresponding API through [QairtBackend\_ConfigV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__ConfigV1__t).

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_Config\_getErrorReportingConfig([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t) cfgHandle, [QairtErrorReporting\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv434QairtErrorReporting_ConfigHandle_t) \*errorReportingConfigHandle)

    - Gets an Error Reporting Config associated with a Backend Config.

- Parameters

    - - **cfgHandle** – **[in]** A handle to the created config.
- **errorReportingConfigHandle** – **[out]** A handle to a referenced error reporting config, which is managed by the Error Reporting Config component APIs. Referenced handles should not be freed. Referenced handles are invalidated if modification operations are performed from the same component API.

- Returns

    - Error code:

- QAIRT\_SUCCESS: no error is encountered
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *cfgHandle* is not a valid handle
- QAIRT\_BACKEND\_ERROR\_INVALID\_ARGUMENT: *errorReportingConfig* is NULL

Note

Use corresponding API through [QairtBackend\_ConfigV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__ConfigV1__t).

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_Config\_setPlatformOptions([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t) cfgHandle, const char \*const \*platformOptions, uint32\_t numPlatformOptions)

    - Sets an array of Platform options onto a Backend Config.

- Parameters

    - - **cfgHandle** – **[in]** A handle to the created config.
- **platformOptions** – **[in]** An array of null-terminated platform option key-value pair strings. Max length per option is 1024.
- **numPlatformOptions** – **[in]** The number of platform options in the array.

- Returns

    - Error code:

- QAIRT\_SUCCESS: no error is encountered
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *cfgHandle* is not a valid handle
- QAIRT\_BACKEND\_ERROR\_INVALID\_ARGUMENT: *platformOptions* is NULL when *numPlatformOptions* is greater than zero, or one or more options are invalid

Note

Use corresponding API through [QairtBackend\_ConfigV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__ConfigV1__t).

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_Config\_getNumPlatformOptions([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t) cfgHandle, uint32\_t \*numPlatformOptions)

    - Gets the number of platform options associated with a Backend Config handle.

- Parameters

    - - **cfgHandle** – **[in]** A handle to the created config.
- **numPlatformOptions** – **[out]** Pointer to retrieve the number of platform options associated with the Backend Config handle.

- Returns

    - Error code:

- QAIRT\_SUCCESS: no error is encountered
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *cfgHandle* is not a valid handle
- QAIRT\_BACKEND\_ERROR\_INVALID\_ARGUMENT: *numPlatformOptions* is NULL

Note

Use corresponding API through [QairtBackend\_ConfigV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__ConfigV1__t).

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_Config\_getPlatformOptionAt([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t) cfgHandle, uint32\_t index, const char \*\*platformOption)

    - Gets a Platform option at a particular index associated with the Backend Config Handle.

- Parameters

    - - **cfgHandle** – **[in]** A handle to the created config.
- **index** – **[in]** Index of the platform option. Value must be less than getNumPlatformOptions.
- **platformOption** – **[out]** The null-terminated platform option key-value pair with a max length of 1024.

- Returns

    - Error code:

- QAIRT\_SUCCESS: no error is encountered
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *cfgHandle* is not a valid handle
- QAIRT\_BACKEND\_ERROR\_INVALID\_ARGUMENT: *platformOption* is NULL or *index* is invalid

Note

Use corresponding API through [QairtBackend\_ConfigV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__ConfigV1__t).

Typedefs

- typedef struct \_QairtBackend\_ConfigHandle\_t \*QairtBackend\_ConfigHandle\_t

    - Backend Config handle used to interface with Backend Config APIs.

The handle itself is created and freed by the client.
    Copy to clipboard

- typedef struct \_QairtBackend\_CustomConfigHandle\_t \*QairtBackend\_CustomConfigHandle\_t

    - Backend Custom Config handle used to interface with Backend Custom Config APIs, which are specific to each backend.

The handle itself is created and freed by the client.

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_Config\_CreateFn\_t)([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t)\*)

    - 

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_Config\_FreeFn\_t)([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t))

    - 

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_Config\_SetCustomConfigsFn\_t)([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t), const [QairtBackend\_CustomConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv433QairtBackend_CustomConfigHandle_t)\*, uint32\_t)

    - 

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_Config\_GetNumCustomConfigsFn\_t)([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t), uint32\_t\*)

    - 

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_Config\_GetCustomConfigAtFn\_t)([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t), uint32\_t, [QairtBackend\_CustomConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv433QairtBackend_CustomConfigHandle_t)\*)

    - 

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_Config\_SetErrorReportingConfigFn\_t)([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t), const [QairtErrorReporting\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv434QairtErrorReporting_ConfigHandle_t))

    - 

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_Config\_GetErrorReportingConfigFn\_t)([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t), [QairtErrorReporting\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv434QairtErrorReporting_ConfigHandle_t)\*)

    - 

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_Config\_SetPlatformOptionsFn\_t)([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t), const char\*const\*, uint32\_t)

    - 

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_Config\_GetNumPlatformOptionsFn\_t)([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t), uint32\_t\*)

    - 

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_Config\_GetPlatformOptionAtFn\_t)([QairtBackend\_ConfigHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv427QairtBackend_ConfigHandle_t), uint32\_t, const char\*\*)

    -

* * *

Operation name types for backend capability queries.

**Include:** `#include "QairtBackend/QairtBackendOperationName.h"`

- struct QairtBackend\_OperationNameV1\_t

    - *#include &lt;QairtBackendOperationName.h&gt;*

Public Members

- uint64\_t size

    - 

- [Qairt\_GetInterfaceFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv422Qairt_GetInterfaceFn_t) getInterface

    - 

- [QairtBackend\_OperationName\_GetPackageNameFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv445QairtBackend_OperationName_GetPackageNameFn_t) getPackageName

    - 

- [QairtBackend\_OperationName\_GetNameFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv438QairtBackend_OperationName_GetNameFn_t) getName

    - 

- [QairtBackend\_OperationName\_GetTargetFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv440QairtBackend_OperationName_GetTargetFn_t) getTarget

    -

Functions

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_OperationName\_getPackageName([QairtBackend\_OperationNameHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv434QairtBackend_OperationNameHandle_t) beOpNameHandle, const char \*\*packageName)

    - Gets a package name associated with a Backend Operation Name Handle.

- Parameters

    - - **beOpNameHandle** – **[in]** A Backend Operation Name Handle.
- **packageName** – **[out]** A package name associated with the Backend Operation Name handle. Describes the op package to which the operation belongs.

- Returns

    - Error code:

- QAIRT\_SUCCESS: no error is encountered
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *beOpNameHandle* is not a valid handle
- QAIRT\_BACKEND\_ERROR\_INVALID\_ARGUMENT: *packageName* is NULL

Note

Use corresponding API through [QairtBackend\_OperationNameV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__OperationNameV1__t).

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_OperationName\_getName([QairtBackend\_OperationNameHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv434QairtBackend_OperationNameHandle_t) beOpNameHandle, const char \*\*name)

    - Gets an operation name associated with a Backend Operation Name Handle.

- Parameters

    - - **beOpNameHandle** – **[in]** A Backend Operation Name Handle.
- **name** – **[out]** A name associated with the Backend Operation Name handle. Describes the operation name within the op package.

- Returns

    - Error code:

- QAIRT\_SUCCESS: no error is encountered
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *beOpNameHandle* is not a valid handle
- QAIRT\_BACKEND\_ERROR\_INVALID\_ARGUMENT: *name* is NULL

Note

Use corresponding API through [QairtBackend\_OperationNameV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__OperationNameV1__t).

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtBackend\_OperationName\_getTarget([QairtBackend\_OperationNameHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv434QairtBackend_OperationNameHandle_t) beOpNameHandle, const char \*\*target)

    - Gets the intended target platform for the combination of domain and operation name associated with a Backend Operation Name Handle.

- Parameters

    - - **beOpNameHandle** – **[in]** A Backend Operation Name Handle.
- **target** – **[out]** The intended target platform. May be unused (NULL) by some backends.

- Returns

    - Error code:

- QAIRT\_SUCCESS: no error is encountered
- QAIRT\_BACKEND\_ERROR\_INVALID\_HANDLE: *beOpNameHandle* is not a valid handle
- QAIRT\_BACKEND\_ERROR\_INVALID\_ARGUMENT: *target* is NULL

Note

Use corresponding API through [QairtBackend\_OperationNameV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#structQairtBackend__OperationNameV1__t).

Typedefs

- typedef struct \_QairtBackend\_OperationNameHandle\_t \*QairtBackend\_OperationNameHandle\_t

    - Backend OperationName handle used to interface with Backend OperationName APIs.

The handle itself is created and freed by the client.

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_OperationName\_GetPackageNameFn\_t)([QairtBackend\_OperationNameHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv434QairtBackend_OperationNameHandle_t), const char\*\*)

    - 

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_OperationName\_GetNameFn\_t)([QairtBackend\_OperationNameHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv434QairtBackend_OperationNameHandle_t), const char\*\*)

    - 

- typedef [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) (\*QairtBackend\_OperationName\_GetTargetFn\_t)([QairtBackend\_OperationNameHandle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv434QairtBackend_OperationNameHandle_t), const char\*\*)

    -

Last Published: Jun 04, 2026

[Previous Topic
QairtTensor](https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/QairtTensor.md) [Next Topic
QairtDevice](https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/QairtDevice.md)