<head>
  <meta name="search_weight" content="2" />
</head>

### System configuration "sysConfig" switches

The `sysConfig` switches control the overall behaviour of the Embedded Engine in various ways that don't fall under Content Management.

| Switch name                  | Switch setting           | Default       | Description                                                  |
| ---------------------------- | ------------------------ | ------------- | ------------------------------------------------------------ |
| enable_hash_sha256           | true/false               | true          | Calculates SHA256 hashes of input and output  files, adding them into analysis reports. Enabling this will increase  processing time. |
| enable_text_support          | false/true               | false         | **(beta feature)** Word Search only. Enabling this  will allow UTF-8 or ASCII encoded text files to be processed when at least  one "Require" action is specified. When disabled, the file will be  rejected as an unsupported filetype. |
| export_embedded_images       | true/false               | true          | Export embedded images to SISL or  XML when set to 'true', or save as raw images when set to 'false'. |
| interchange_best_compression | false/true               | false         | Compress the Export archive  package at the maximum compression level. Enabling this will increase  processing time. |
| interchange_pretty           | false/true               | false         | Format the intermediate SISL or  XML data structure to be more human-readable. Enabling this will slightly  increase intermediate file size. |
| interchange_type             | sisl/xml                 | sisl          | The intermediate file format for  the exported document object model. |
| linux_memory_limit           | 0 to 256 (integer only)  | 0             | Enforces a limit on the memory  usage of the process, while processing a session, in GiB. This limit triggers  process termination. '0' disables this limit. This setting has no effect on  non-Linux platforms. See below for details. |
| session_timeout              | 0 to 60 (integer only)   | 60            | Enforces a time limit on running a  session, in minutes. This limit triggers process termination. '0' disables  this timeout. See below for details. |
| enable_export_xml_headers    | true/false               | true          | An XML header is added to the beginning of the xml file(s) generated during export. Requires the interchange_type to be xml. |

#### linux_memory_limit - technical details
This option controls a limit on the memory used by the process. This limit is enforced for the duration of a call to [GW2RunSession](/embedded-engine/embedded-engine-gw2runsession), and does not apply outside of this API call.

The value is specified in GiB, integers only. The value '0' for this option means 'no limit'. This is the default.

It applies only to Linux-based platforms. On other platforms, this option has no effect.

When the limit is reached, the process will print an error message to stderr and terminate. The exit code seen after termination is platform dependent, but will be consistent with application termination by SIGABRT. 

The limit is imposed on the peak Resident Set Size (RSS), which is the amount of physical memory the process consumes.

#### session_timeout - technical details
This options controls a limit on the amount of time a call to [GW2RunSession](/embedded-engine/embedded-engine-gw2runsession) can last. It does not apply outside of this API call.

The value is specified in minutes, integers only. The value '0' for this option means 'no timeout', meaning GW2RunSession will continue for as long as required. The default value is '60', giving a failsafe timeout of one hour.

When the timeout is reached before GW2RunSession completes, the process will print an error message to stderr and terminate. The exit code seen after termination is platform dependent, but will be consistent with application termination by SIGABRT

Subsequent calls to GW2RunSession begin their own timer.

#### Content management "sysConfig" switches

```
<?xml version="1.0" encoding="UTF-8"?>
<config>
  <sysConfig>
    <interchange_type>sisl</interchange_type>
    <interchange_pretty>false</interchange_pretty>
    <interchange_best_compression>false</interchange_best_compression>
    <export_embedded_images>true</export_embedded_images>
    <enable_hash_sha256>true</enable_hash_sha256>
    <linux_memory_limit>0</linux_memory_limit>
    <session_timeout>60</session_timeout>
    <enable_text_support>false</enable_text_support>
  </sysConfig>    
</config>
```