# 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-8/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-8/topic/struct_a00330.html#a00330)

- 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-8/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-8/topic/typedef_a00065_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-8/topic/function_a00065_1ga0005ab399a8660d97dfa2935e2dac92e.html#a00065_1ga0005ab399a8660d97dfa2935e2dac92e) or [v2x\_retrieve\_configuration](https://docs.qualcomm.com/doc/80-PF458-8/topic/function_a00065_1ga3e0931f2a8ab942e3b62534c9996ba65.html#a00065_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-8/topic/enum_a00065_1gac9296e6994adf8c375736a3aaea1ed51.html#a00065_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-8/topic/function_a00065_1ga0005ab399a8660d97dfa2935e2dac92e.html#a00065_1ga0005ab399a8660d97dfa2935e2dac92e) or the active V2X configuration file source [v2x\_config\_soure\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00065_1ga2eaf0051d9c329126fab009294479893.html#a00065_1ga2eaf0051d9c329126fab009294479893) is changed from one type to another.

- 
    - V2X\_CONFIG\_EVENT\_EXPIRED [v2x\_config\_event\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00065_1gac9296e6994adf8c375736a3aaea1ed51.html#a00065_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-8/topic/enum_a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00064_1gga49d62bdeb1801fa5715ad5fe72f9427da3858c725ee54429d49ea708f6d86e150) — If there is an error.

- Parameters:

    - **callback** – **[in]** Callback function of [cv2x\_config\_event\_listener](https://docs.qualcomm.com/doc/80-PF458-8/topic/config.html#a00065_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-8/topic/enum_a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00064_1gga49d62bdeb1801fa5715ad5fe72f9427dad6de32b5dffe2d50d735121355f2cfc6).

- [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/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-8/topic/enum_a00060_1ga3d41faf0302655759df57978a1ef5ff9.html#a00060_1ga3d41faf0302655759df57978a1ef5ff9)), call [stop\_v2x\_mode()](https://docs.qualcomm.com/doc/80-PF458-8/topic/function_a00060_1ga449fc2f1c94654b702279133942f28f9.html#a00060_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-8/topic/enum_a00065_1ga2eaf0051d9c329126fab009294479893.html#a00065_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-8/topic/enum_a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00064_1gga49d62bdeb1801fa5715ad5fe72f9427daefdf22f24b42df1417a7a4e3099af64c) — Failure because V2X status is not [V2X\_INACTIVE](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00060_1ga3d41faf0302655759df57978a1ef5ff9.html#a00060_1gga3d41faf0302655759df57978a1ef5ff9a8cdd9c02dc690f27962204715d3c43e8).
- [V2X\_STATUS\_FAIL](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00064_1gga49d62bdeb1801fa5715ad5fe72f9427da3858c725ee54429d49ea708f6d86e150) — Other failure.

- **Dependencies**
    - V2X radio status must be [V2X\_INACTIVE](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00060_1ga3d41faf0302655759df57978a1ef5ff9.html#a00060_1gga3d41faf0302655759df57978a1ef5ff9a8cdd9c02dc690f27962204715d3c43e8) ([v2x\_event\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00060_1ga3d41faf0302655759df57978a1ef5ff9.html#a00060_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-8/topic/enum_a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00064_1gga49d62bdeb1801fa5715ad5fe72f9427dad6de32b5dffe2d50d735121355f2cfc6).

- [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/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-8/topic/enum_a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00064_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-8/topic/enum_a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00064_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-8/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-8/topic/config.html#_CPPv418v2x_config_event_t) event

    - Config file event.

Last Published: May 20, 2026

[Previous Topic
C Vehicle APIs](https://docs.qualcomm.com/bundle/publicresource/80-PF458-8/topics/vehicle.md) [Next Topic
C Packet APIs](https://docs.qualcomm.com/bundle/publicresource/80-PF458-8/topics/packet.md)