# SVCAN4Settings Structure

This structure defines various settings for the ValueCAN 4-4 and 4-2EL device.

{% tabs %}
{% tab title="C/C++ Declare" %}

```cpp
typedef struct __declspec
{
  uint16_t perf_en;
  CAN_SETTINGS can1;
  CANFD_SETTINGS canFD1;
  CAN_SETTINGS can2;
  CANFD_SETTINGS canFD2;
  CAN_SETTINGS can3;
  CANFD_SETTINGS canFD3;
  CAN_SETTINGS can4;
  CANFD_SETTINGS canFD4;
  unsigned short network_enables;
  unsigned short network_enables_2;
  LIN_SETTINGS lin1;
  unsigned short network_enabled_on_boot;
  unsigned short iso_9141_kwp_enable_reserved;
  ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings;
  unsigned short iso_parity;
  unsigned short iso_msg_termination_1;
  unsigned short network_enables_3;
  STextAPISettings text_api;
  ETHERNET_SETTINGS ethernet;
  unsigned int Flags;
  unsigned short pwr_man_enable;
  unsigned short pwr_man_timeout;
}
SVCAN4Settings;
```

{% endtab %}

{% tab title="Visual Basic .NET Declare" %}

```vbnet
<StructLayout(LayoutKind.Sequential, Pack:=2)> Public Structure SVCAN4Settings
  Dim perf_en As UInt16
  Dim can1 As CAN_SETTINGS
  Dim canFD1 As CANFD_SETTINGS
  Dim can2 As CAN_SETTINGS
  Dim canFD2 As CANFD_SETTINGS
  Dim can3 As CAN_SETTINGS
  Dim canFD3 As CANFD_SETTINGS
  Dim can4 As CAN_SETTINGS
  Dim canFD4 As CANFD_SETTINGS
  Dim network_enables As UInt16
  Dim network_enables_2 As UInt16
  Dim lin1 As LIN_SETTINGS
  Dim network_enabled_on_boot As UInt16
  Dim iso_9141_kwp_enable_reserved As UInt16
  Dim iso9141_kwp_settings As ISO9141_KEYWORD2000_SETTINGS
  Dim iso_parity As UInt16
  Dim iso_msg_termination_1 As UInt16
  Dim network_enables_3 As UInt16
  Dim text_api As STextAPISettings
  Dim ethernet As ETHERNET_SETTINGS
  Dim Flags As UInt32
  Dim pwr_man_enable As UInt16
  Dim pwr_man_timeout As UInt16
End Structure
```

{% endtab %}

{% tab title="C# .NET Declare" %}

```csharp
[StructLayout(LayoutKind.Sequential,Pack=2)]
public struct SVCAN4Settings
{
public UInt16 perf_en;
public CAN_SETTINGS can1;
public CANFD_SETTINGS canFD1;
public CAN_SETTINGS can2;
public CANFD_SETTINGS canFD2;
public CAN_SETTINGS can3;
public CANFD_SETTINGS canFD3;
public CAN_SETTINGS can4;
public CANFD_SETTINGS canFD4;
public UInt16 network_enables;
public UInt16 network_enables_2;
public LIN_SETTINGS lin1;
public UInt16 network_enabled_on_boot;
public UInt16 iso_9141_kwp_enable_reserved;
public ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings;
public UInt16 iso_parity;
public UInt16 iso_msg_termination_1;
public UInt16 network_enables_3;
public STextAPISettings text_api;
public ETHERNET_SETTINGS ethernet;
public UInt32 Flags;
public UInt16 pwr_man_enable;
public UInt16 pwr_man_timeout;
}
```

{% endtab %}
{% endtabs %}

**Remarks**

<table><thead><tr><th width="266">Item</th><th>Description</th></tr></thead><tbody><tr><td>perf_en</td><td>Performance test. Default value = 0</td></tr><tr><td>can1</td><td>See <a href="sub-setting-structures-overview-intrepidcs-api/can_settings-structure">CAN_SETTINGS</a> structure</td></tr><tr><td>canFD1</td><td>See <a href="sub-setting-structures-overview-intrepidcs-api/canfd_settings-structure">CANFD_SETTINGS</a> structure</td></tr><tr><td>can2</td><td>See <a href="sub-setting-structures-overview-intrepidcs-api/can_settings-structure">CAN_SETTINGS</a> structure</td></tr><tr><td>canFD2</td><td>See <a href="sub-setting-structures-overview-intrepidcs-api/canfd_settings-structure">CANFD_SETTINGS</a> structure</td></tr><tr><td>can3</td><td>See <a href="sub-setting-structures-overview-intrepidcs-api/can_settings-structure">CAN_SETTINGS</a> structure</td></tr><tr><td>canFD3</td><td>See <a href="sub-setting-structures-overview-intrepidcs-api/canfd_settings-structure">CANFD_SETTINGS</a> structure</td></tr><tr><td>can4</td><td>See <a href="sub-setting-structures-overview-intrepidcs-api/can_settings-structure">CAN_SETTINGS</a> structure</td></tr><tr><td>canFD4</td><td>See <a href="sub-setting-structures-overview-intrepidcs-api/canfd_settings-structure">CANFD_SETTINGS</a> structure</td></tr><tr><td>network_enables</td><td>Bitfield containing the software license enables. Depending on the hardware license purchased the customer may have to conditionally select which hardware channels to enable. For example the neoVI Red license allows the user to enable any 2 Dual Wire CAN channels and any 2 LIN channels. To enable a specific network its corresponding bit must be set (1). In order to transmit or receive on a network it must be enabled.</td></tr><tr><td>network_enables_2</td><td>Bitfield containing the software license enables. Depending on the hardware license purchased the customer may have to conditionally select which hardware channels to enable. For example the neoVI Red license allows the user to enable any 2 Dual Wire CAN channels and any 2 LIN channels. To enable a specific network its corresponding bit must be set (1). In order to transmit or receive on a network it must be enabled.</td></tr><tr><td>lin1</td><td>See <a href="sub-setting-structures-overview-intrepidcs-api/lin_settings-structure">LIN_SETTINGS</a> structure</td></tr><tr><td>network_enabled_on_boot</td><td><p>Normally neoVI only initiates its comm channels when CoreMini is running or if neoVI is online with DLL/Vehicle Spy 3. Practically this means the the CAN controllers stay in Listen Only mode until the device goes online. Once online the neoVI loads the user settings. Setting this parameter to 1 will change this behavior so that the neoVI enables its controllers immediately on boot.</p><p>Default value = 0</p></td></tr><tr><td>iso_9141_kwp_enable_reserved</td><td>Reserved</td></tr><tr><td>iso9141_kwp_settings</td><td>See <a href="sub-setting-structures-overview-intrepidcs-api/iso9141_keyword2000_settings-structure">ISO9141_KEYWORD2000_SETTING</a>S structure</td></tr><tr><td>iso_parity</td><td>ISO9141 Parity setting: 0 - no parity, 1 - even, 2 - odd</td></tr><tr><td>iso_msg_termination_1</td><td>ISO9141 message termination setting: 0 - use inner frame time 1 - GME CIM-SCL</td></tr><tr><td>network_enables_3</td><td>Bitfield containing the software license enables. Depending on the hardware license purchased the customer may have to conditionally select which hardware channels to enable. For example the neoVI Red license allows the user to enable any 2 Dual Wire CAN channels and any 2 LIN channels. To enable a specific network its corresponding bit must be set (1). In order to transmit or receive on a network it must be enabled.</td></tr><tr><td>text_api</td><td>See <a href="sub-setting-structures-overview-intrepidcs-api/stextapisettings-structure">STextAPISettings</a> structure</td></tr><tr><td>ethernet</td><td>See <a href="sub-setting-structures-overview-intrepidcs-api/ethernet_settings-structure">ETHERNET_SETTINGS</a> structure</td></tr><tr><td>Flags</td><td>Not used</td></tr><tr><td>pwr_man_enable</td><td><p>1 = enable Power Management, 0 = disable.</p><p>Default value = 0</p></td></tr><tr><td>pwr_man_timeout</td><td><p>Number of milliseconds of no bus activity required before neoVI enters low power mode. Note pwr_man_enable must be set for power management to be enabled.</p><p>Default value = 10000</p></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.intrepidcs.com/neovi-api/win32-api-overview-intrepidcs-api/structures-types-and-defines-overview-intrepidcs-api/setting-structures-overview-intrepidcs-api/svcan4settings-structure.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
