# 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)