# C Config APIs **Detailed Description** This section contains C Config APIs related to Cellular-V2X operation. These APIs are provided as an abstraction of the CV2X configuration relevant interfaces. - *group* Telematics\_cv2x\_c\_config - Abstraction of the CV2X configuration relevant interfaces. Typedefs - typedef void (\*cv2x\_config\_event\_listener)([v2x\_config\_event\_info\_t](https://docs.qualcomm.com/doc/80-PF458-10/topic/config.html#_CPPv423v2x_config_event_info_t) info) - Callback made when the v2x config file changes. - **Associated data types** - [v2x\_config\_event\_info\_t](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00332.html#a00332) - Param config: - **[in]** V2X config file information. Enums - enum v2x\_config\_soure\_t - V2X configuration source types listed in ascending order of priority. The system always uses the V2X configuration with the highest priority if multiple V2X configuration sources exist. *Values:* - enumerator V2X\_CONFIG\_SOURCE\_UNKNOWN - V2X config file source is unknown - enumerator V2X\_CONFIG\_SOURCE\_PRECONFIG - V2X config file source is preconfig - enumerator V2X\_CONFIG\_SOURCE\_SIM\_CARD - V2X config file source is SIM card - enumerator V2X\_CONFIG\_SOURCE\_OMA\_DM - V2X config file source is OMA-DM - enum v2x\_config\_event\_t - Events relevant to CV2X config file. *Values:* - enumerator V2X\_CONFIG\_EVENT\_CHANGED - V2X config file is changed - enumerator V2X\_CONFIG\_EVENT\_EXPIRED - V2X config file is expired Functions - [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-10/topic/c_apis_common.html#_CPPv420v2x_status_enum_type) v2x\_register\_for\_config\_change\_ind([cv2x\_config\_event\_listener](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00067_1ga6b35bf7657c9180fb3a857af858d0c93.html#_CPPv426cv2x_config_event_listener) callback) - Register listener for any updates to CV2X configuration. - **Associated data types** - cv2x\_config\_event\_listener - **Detailed description** - This function should be called before calling [v2x\_update\_configuration](https://docs.qualcomm.com/doc/80-PF458-10/topic/function_a00067_1ga0005ab399a8660d97dfa2935e2dac92e.html#a00067_1ga0005ab399a8660d97dfa2935e2dac92e) or [v2x\_retrieve\_configuration](https://docs.qualcomm.com/doc/80-PF458-10/topic/function_a00067_1ga3e0931f2a8ab942e3b62534c9996ba65.html#a00067_1ga3e0931f2a8ab942e3b62534c9996ba65) if the caller has interest in the notification of V2X configuration events. - - V2X\_CONFIG\_EVENT\_CHANGED [v2x\_config\_event\_t](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00067_1gac9296e6994adf8c375736a3aaea1ed51.html#a00067_1gac9296e6994adf8c375736a3aaea1ed51) is sent to registered CV2X configuration listeners if the content of the active V2X configuration file is changed by calling [v2x\_update\_configuration](https://docs.qualcomm.com/doc/80-PF458-10/topic/function_a00067_1ga0005ab399a8660d97dfa2935e2dac92e.html#a00067_1ga0005ab399a8660d97dfa2935e2dac92e) or the active V2X configuration file source [v2x\_config\_soure\_t](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00067_1ga2eaf0051d9c329126fab009294479893.html#a00067_1ga2eaf0051d9c329126fab009294479893) is changed from one type to another. - - V2X\_CONFIG\_EVENT\_EXPIRED [v2x\_config\_event\_t](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00067_1gac9296e6994adf8c375736a3aaea1ed51.html#a00067_1gac9296e6994adf8c375736a3aaea1ed51) is sent to registered CV2X configuration listeners when the active V2X configuration file is expired. - - [V2X\_STATUS\_FAIL](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00066_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00066_1gga49d62bdeb1801fa5715ad5fe72f9427da3858c725ee54429d49ea708f6d86e150) — If there is an error. - Parameters: - **callback** – **[in]** Callback function of [cv2x\_config\_event\_listener](https://docs.qualcomm.com/doc/80-PF458-10/topic/config.html#a00067_1ga6b35bf7657c9180fb3a857af858d0c93) structure that is used during CV2X config events (such as CV2X configuration expriy or changed). - Returns: - [V2X\_STATUS\_SUCCESS](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00066_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00066_1gga49d62bdeb1801fa5715ad5fe72f9427dad6de32b5dffe2d50d735121355f2cfc6). - [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-10/topic/c_apis_common.html#_CPPv420v2x_status_enum_type) v2x\_update\_configuration(const char \*config\_file\_path) - Updates the OMA-DM V2X radio configuration file. On platforms with access control enabled, the caller needs to have TELUX\_CV2X\_CONFIG permission to successfully invoke this API. - **Detailed description** - The V2X radio status must be INACTIVE. If the V2X status is ACTIVE or SUSPENDED (see [v2x\_event\_t](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00062_1ga3d41faf0302655759df57978a1ef5ff9.html#a00062_1ga3d41faf0302655759df57978a1ef5ff9)), call [stop\_v2x\_mode()](https://docs.qualcomm.com/doc/80-PF458-10/topic/function_a00062_1ga449fc2f1c94654b702279133942f28f9.html#a00062_1ga449fc2f1c94654b702279133942f28f9) first. - - The functionality of V2X configuration expiration is supported by adding an expiration leaf to the V2X configuration file passed in. When the active configuration expires, the system fallbacks to a lower priority V2X configuration [v2x\_config\_soure\_t](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00067_1ga2eaf0051d9c329126fab009294479893.html#a00067_1ga2eaf0051d9c329126fab009294479893) if existed. If the V2X stauts is active, it changes to suspended when the active V2X configuration expires and then changes to active after the system fallbacks to a lower priority V2X configuration or changes to inactive if no V2X configuration is available. - - This call is a blocking call. When it returns the configuration has been updated, assuming no error. - - Otherwise: - [V2X\_STATUS\_EALREADY](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00066_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00066_1gga49d62bdeb1801fa5715ad5fe72f9427daefdf22f24b42df1417a7a4e3099af64c) — Failure because V2X status is not [V2X\_INACTIVE](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00062_1ga3d41faf0302655759df57978a1ef5ff9.html#a00062_1gga3d41faf0302655759df57978a1ef5ff9a8cdd9c02dc690f27962204715d3c43e8). - [V2X\_STATUS\_FAIL](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00066_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00066_1gga49d62bdeb1801fa5715ad5fe72f9427da3858c725ee54429d49ea708f6d86e150) — Other failure. - **Dependencies** - V2X radio status must be [V2X\_INACTIVE](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00062_1ga3d41faf0302655759df57978a1ef5ff9.html#a00062_1gga3d41faf0302655759df57978a1ef5ff9a8cdd9c02dc690f27962204715d3c43e8) ([v2x\_event\_t](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00062_1ga3d41faf0302655759df57978a1ef5ff9.html#a00062_1ga3d41faf0302655759df57978a1ef5ff9)). - Parameters: - **config\_file\_path** – **[in]** Pointer to the path of the configuration file. - Returns: - [V2X\_STATUS\_SUCCESS](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00066_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00066_1gga49d62bdeb1801fa5715ad5fe72f9427dad6de32b5dffe2d50d735121355f2cfc6). - [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-10/topic/c_apis_common.html#_CPPv420v2x_status_enum_type) v2x\_retrieve\_configuration(const char \*config\_file\_path) - Retrieve the V2X radio configuration file. On platforms with access control enabled, the caller needs to have TELUX\_CV2X\_CONFIG permission to successfully invoke this API. - - This call is a blocking call. When it returns the configuration has been read out, assuming no error. - - Otherwise: - [V2X\_STATUS\_FAIL](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00066_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00066_1gga49d62bdeb1801fa5715ad5fe72f9427da3858c725ee54429d49ea708f6d86e150) — Other failure. - Parameters: - **config\_file\_path** – **[in]** Pointer to the path of the configuration file. - Returns: - [V2X\_STATUS\_SUCCESS](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00066_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00066_1gga49d62bdeb1801fa5715ad5fe72f9427dad6de32b5dffe2d50d735121355f2cfc6). - struct v2x\_config\_event\_info\_t - Information about any update to a V2X config file. Public Members - [v2x\_config\_soure\_t](https://docs.qualcomm.com/doc/80-PF458-10/topic/config.html#_CPPv418v2x_config_soure_t) source - The type of the V2X config file. - [v2x\_config\_event\_t](https://docs.qualcomm.com/doc/80-PF458-10/topic/config.html#_CPPv418v2x_config_event_t) event - Config file event. Last Published: Aug 05, 2026 [Previous Topic C Vehicle APIs](https://docs.qualcomm.com/bundle/publicresource/80-PF458-10/topics/vehicle.md) [Next Topic C Packet APIs](https://docs.qualcomm.com/bundle/publicresource/80-PF458-10/topics/packet.md)