# QESDK event callback

Source: [https://docs.qualcomm.com/doc/80-PK177-134/topic/native_fwk_event_callback.html](https://docs.qualcomm.com/doc/80-PK177-134/topic/native_fwk_event_callback.html)

Needs to be registered as callback during qesdk\_initEx call. Clients should implement the
    callback, which is called when the registered services are unavailable. It is called by passing
    the parameters as opcodes and subsystems[] pair of the services that failed.

typedef void (*fwk_event_callback)()Copy to clipboard

## Parameters

| **Parameters** | **Data type** | **Description** |
| --- | --- | --- |
| opcodes | uint32\_t | Contains opcode that is unavailable |
| subsystems | uint32\_t[] | Contains subsystem IDs that are unavailable |

If opcode is 0, the application should initialize all services again, since opcode 0 indicates
        that the QESDK framework restarted due to unexpected issues.

If opcode value is nonzero, the service corresponding to that opcode should initialize
        again.

| **Opcode** | **Service** |
| --- | --- |
| 11 | Modem |
| 19 | Performance |
| 17 | Sensor |
| 24 | Location |

Note: 
        
- A given service end (de-init) on Java/Native, notifies Native/Java correspondingly, if the same service is being used.

    **For example:** If a service is initialized in both Java and Native and de-initializes the session for that
        service in Native, then it triggers the QESDK framework event callback to the application in Java. Vice-versa is also true.

Note: From Gen 3 release de-init will be required for all individual services.

**Parent Topic:** [QESDK Native API](https://docs.qualcomm.com/doc/80-PK177-134/topic/native_api.html)

Last Published: Nov 14, 2024

[Previous Topic
deinit](https://docs.qualcomm.com/bundle/publicresource/80-PK177-134/topics/individual_subsystem_deinit_native.md) [Next Topic
QESDK transaction status for Native APIs](https://docs.qualcomm.com/bundle/publicresource/80-PK177-134/topics/native_qesdk_class.md)