# QairtSignal

Signal handling API.

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

- struct QairtSignal\_V1\_t

    - *#include &lt;QairtSignal.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

    - 

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

    - 

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

    - 

- [QairtSignal\_TriggerFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtSignal.html#_CPPv423QairtSignal_TriggerFn_t) trigger

    - 

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

    -

Functions

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

    - Create a new signal object.

The object will be configured with desired behavior and is idle and available for usage.

- Parameters

    - - **backendHandle** – **[in]** A backend handle
- **configHandle** – **[in]** A handle to a signal configuration. NULL is allowed, indicates no config options are provided, and signal will not be configured to do anything. All config options have default value, in case not provided.
- **signalHandle** – **[out]** Handle to newly created signal object.

- Returns

    - Error code:

- QAIRT\_SUCCESS: if the signal is created successfully
- QAIRT\_SIGNAL\_ERROR\_INVALID\_ARGUMENT: at least one argument or config option invalid
- QAIRT\_SIGNAL\_ERROR\_INVALID\_HANDLE: *backendHandle* is not a valid handle
- QAIRT\_SIGNAL\_ERROR\_UNSUPPORTED: if QairtSignal API is not supported on the backend
- QAIRT\_SIGNAL\_ERROR\_MEM\_ALLOC: Memory allocation error
- QAIRT\_COMMON\_ERROR\_SYSTEM\_COMMUNICATION: SSR occurrence (successful recovery)
- QAIRT\_COMMON\_ERROR\_SYSTEM\_COMMUNICATION\_FATAL: SSR occurrence (unsuccessful recovery)

Note

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

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

    - Set/change a configuration on an existing signal.

- Parameters

    - - **signalHandle** – **[in]** Signal object whose configuration needs to be set
- **configHandle** – **[in]** A handle to a signal configuration. NULL is allowed and may be used to reset any previously set configuration. No default values are assumed for config options that are not set. If a backend cannot support all provided configs it will fail.

- Returns

    - Error Code:

- QAIRT\_SUCCESS: if the config is set successfully
- QAIRT\_SIGNAL\_ERROR\_INVALID\_HANDLE: signal handle is null or invalid
- QAIRT\_SIGNAL\_ERROR\_INVALID\_ARGUMENT: one or more config values is invalid
- QAIRT\_SIGNAL\_ERROR\_SIGNAL\_IN\_USE: when attempting to reconfigure a signal that is active and in-use.
- QAIRT\_SIGNAL\_ERROR\_UNSUPPORTED: if QairtSignal API is not supported on the backend

Note

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

- [Qairt\_Status\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv414Qairt_Status_t) QairtSignal\_trigger([QairtSignal\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtSignal.html#_CPPv420QairtSignal_Handle_t) signalHandle)

    - Triggers the signal action during the associated API call.

For abort config signals, it causes the associated API call to gracefully cease execution at the earliest opportunity. This function will block until the targeted call has released associated resources and is ready to return in it’s own calling context. When the associated API call is initiated, the signal object will be in-use and not available to another call. When the associated API call returns, the associated signal object will be available and can safely be passed to another call.

- Parameters

    - **signalHandle** – **[in]** Signal handle used by the associated API call

- Returns

    - Error code:

- QAIRT\_SUCCESS: if the trigger is successful.
- QAIRT\_SIGNAL\_ERROR\_INVALID\_HANDLE: signal handle is null or invalid
- QAIRT\_SIGNAL\_ERROR\_INCOMPATIBLE\_SIGNAL\_TYPE: API does not support the signal type
- QAIRT\_SIGNAL\_ERROR\_SIGNAL\_IDLE: if the signal is not currently in-use, and hence can not be triggered.
- QAIRT\_SIGNAL\_ERROR\_UNSUPPORTED: if QairtSignal API is not supported on the backend
- QAIRT\_COMMON\_ERROR\_SYSTEM\_COMMUNICATION: SSR occurrence (successful recovery)
- QAIRT\_COMMON\_ERROR\_SYSTEM\_COMMUNICATION\_FATAL: SSR occurrence (unsuccessful recovery)

Note

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

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

    - Free memory and resources associated with an available signal object.

- Parameters

    - **signalHandle** – **[in]** The signal object to free.

- Returns

    - Error code:

- QAIRT\_SUCCESS: if the signal object is successfully freed
- QAIRT\_SIGNAL\_ERROR\_INVALID\_HANDLE: signal handle is null or invalid
- QAIRT\_SIGNAL\_ERROR\_SIGNAL\_IN\_USE: if the signal object is currently in-use
- QAIRT\_SIGNAL\_ERROR\_MEM\_ALLOC: an error is encountered with de-allocation of associated memory
- QAIRT\_SIGNAL\_ERROR\_UNSUPPORTED: if QairtSignal API is not supported on the backend

Note

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

Enums

- enum QairtSignal\_Error\_t

    - QAIRT Signal API result / error codes.

*Values:*

- enumerator QAIRT\_SIGNAL\_MIN\_ERROR = QAIRT\_MIN\_ERROR\_SIGNAL

    - 

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

    - 

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

    - Backend does not support the requested functionality.

- enumerator QAIRT\_SIGNAL\_ERROR\_SIGNAL\_IN\_USE = QAIRT\_MIN\_ERROR\_SIGNAL + 0

    - Attempt to reconfigure, free, or supply to a second QAIRT function call a signal object that is already in use.

- enumerator QAIRT\_SIGNAL\_ERROR\_SIGNAL\_IDLE = QAIRT\_MIN\_ERROR\_SIGNAL + 1

    - Signal object is idle and not being used by an outstanding function call.

- enumerator QAIRT\_SIGNAL\_ERROR\_INVALID\_ARGUMENT = QAIRT\_MIN\_ERROR\_SIGNAL + 2

    - Invalid configuration error.

- enumerator QAIRT\_SIGNAL\_ERROR\_INVALID\_HANDLE = QAIRT\_MIN\_ERROR\_SIGNAL + 3

    - NULL or unrecognized signal handle error.

- enumerator QAIRT\_SIGNAL\_ERROR\_TIMEOUT = QAIRT\_MIN\_ERROR\_SIGNAL + 4

    - Timeout error.

- enumerator QAIRT\_SIGNAL\_ERROR\_INCOMPATIBLE\_SIGNAL\_TYPE = QAIRT\_MIN\_ERROR\_SIGNAL + 5

    - API supplied with incompatible signal type.

- enumerator QAIRT\_SIGNAL\_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)

    - Memory allocation error.

- enumerator QAIRT\_SIGNAL\_MAX\_ERROR = QAIRT\_MAX\_ERROR\_SIGNAL

    - 

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

    -

Typedefs

- typedef void \*QairtSignal\_Handle\_t

    - Signal handle used to interface with Signal 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) (\*QairtSignal\_CreateFn\_t)([QairtBackend\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv421QairtBackend_Handle_t), QairtSignal\_ConfigHandle\_t, [QairtSignal\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtSignal.html#_CPPv420QairtSignal_Handle_t)\*)

    - 

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

    - 

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

    - 

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

    -

Defines

- QAIRT\_SIGNAL\_V1\_ID QAIRT\_MIN\_ID\_SIGNAL

    - 

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

    -

Last Published: Jun 04, 2026

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