<device_cfg>

    <!-- Log Information: -->
    <log>

        <!--
        Mask used to specify the levels that should be logged.
        The mask is actually a pair, and the format is print_mask[:save_mask]
        The print_mask and save_mask is specified in hex and the save_mask is
        optional. The bits in the masks are as follows:
        Bit Position        Log Level
            0        EMERGENCY
            1        ERROR
            2        WARNING
            3        INFORMATION
            4        DIAGNOSTICS
            5        DUMP
            6        DEBUG
            7        FUNCTION ENTRY/EXIT
        The print_mask is used to specify which logs will be printed to the
        stderr, and the save_mask to specify those saved in a log file.
        For the BREW application, the first mask controls DIAG logging (viewed
        through a tool such as QXDM) and the second controls logging to the
        EFS file controlled by the log_file_name parameter.
        -->
        <mask>0x3f:0x7f</mask>

        <!--
        File name to be used for saving the log messages. See above.
        The files will be created even if the save_mask portion of log_mask is 0.
        Two log files are generated, "name_0.log" and "name_1.log" where "name" is
        whatever value user specifies for log_file_name config param.
        Log messages are logged in either of these two log files. When one log 
        file fills up, the other log file is truncated and logging continues in
        this file. When initializing xcore, both log files are truncated and log 
        messages are logged in name_0.log file.
        Note: There is no default file name for this config parameter.
        log_file_name            = log
	    -->
        <!-- <file_name>mdsc_log</file_name> -->

        <!-- Flag which enables the log file corresponding to the filename 
        suggested by the user to be saved to EFS. 
         -->
        <!-- <efs>true</efs>   -->

	<!--
	Log file size in bytes to be used for saving the log messages.
	See above.  Default value is 1Mbytes. Each log file is half the
	size specified by this config parameter.
        -->
        <!-- <file_size>1000000</file_size> -->

        <!--
        Log line size in bytes
        BREW Logger tool and CAIT may require chopping lines to less than 40.
        Line size must be at least 30. The default on BREW is 120, while the
        default on linux is large enough to avoid splitting messages.
        -->
        <!-- <line_size>120</line_size> -->

        <!--
        Log message format:
        Value    Format flag
            0    No timestamp
            1    Long timestamp (mm/dd/yy hh:mm:ss.ms)
            2    Short timestamp (ss.ms)    
        -->
        <format>2</format>
    </log>

    <!-- Enable udp diagnostic port -->
    <!-- <diag_protocol udp_port="0" enable="false"/> -->

    <!-- Storage Information: -->
    <!-- <storage> -->
        <!--
        Storage quota. Sets maximum amount of storage (in bytes) that client 
        application is allowed to use. This includes _all_ files in the working 
        directory (even executable itself).
        Currently storage quota is enforced only against the content.
        Default quota is zero, which means unlimited. Using default quota is 
        an adversarial case as application might consume all available storage
        on device and we will notice "no space available" errors.

        storage_quota = 0  # unlimited
	-->
	<!-- Also known as Application_storage_limit. -->
	<!-- Not a run time configurable parameter. -->
	<!-- <quota>0</quota> -->

        <!--
        Minimum free storage (file system) space. Sets the amount of free storage 
        space (in bytes) that client core must keep. This setting is intended for 
        protecting file system integrity on the platforms which do not provide 
        sufficient mechanisms for that (Brew for example).
        Currently minfree limit is enforced only against the content.

        storage_minfree  = 0         # Linux - unlimited
        storage_minfree  = 2097152   # BREW  - 2 MB
        -->
        <!-- <minfree>2097152</minfree> -->

    <!-- </storage> -->

    <!-- Reverse Link Information: -->
    <!-- Currently not implemented in MDSC -->
    <!-- Not a run-time configurable parameter. -->
    <!-- <reverse_link> -->
        <!-- Timeout (in seconds) for bringing up the data session. -->
	<!-- <data_session_timeout>45</data_session_timeout> -->

        <!-- 
        Limit the number of simultaneous HTTP requests (content downloads only)
        max_http             = 6        # Linux
        max_http             = 4        # BREW (Device)
        max_http             = 2        # BREW (Emulator)
        -->
        <!-- Maximum simulataneous http requests MDSC can make -->
	<!-- <max_requests>3</max_requests> -->

        <!--
        Set maximum size of the HTTP chunk.
        Default is 2048.
        -->
	<!-- <max_chunk>2048</max_chunk> -->

        <!--
        Enable throttling of the HTTP response.
        This value set minimal delay between chunks in milliseconds.
        Default is 30ms
        -->
	<!-- <throttle>30</throttle> -->

    <!-- </reverse_link> -->

    <!-- This parameter denotes the time (in seconds) at which the device will give up on 
         attempting to acquire the Notification flow. -->
    <!-- Allowed range is 10 to 180-->
    <!-- <notify_fail_time>30</notify_fail_time> -->
    
    <!-- This parameter specifies the time (in seconds) the device will wait to 
         invalidate the stored Notification information. -->
    <!-- Allowed range is 1296000 to 5184000 -->
    <!-- <notify_ver_invalidate_time>2592000</notify_ver_invalidate_time> -->

    <!--
    Parameters to influence the CPU usage of the Clipcast FEC decoder.

    EFS block size index is used to derive the block size for writing
    to the flash. The block size is computed as follows:

    block size = 512 * (2 ^ efs_bs_index)

    512 bytes being the size of a NAND page. Range is currently limited
    to 0-4; meaning the block sizes used by the decoder are limited to
    512B-8KB. Note that a lower value translates into lower write data
    rates, for example, from 400 KB/s to 100 KB/s for a change in block
    size from 8KB to 512B. Refer to 80-V3121-1.005784.pdf (EFS2
    Performance) for more details.

    Duty cycle specifies how long, on average, the decoder performs
    useful work before it yields CPU back to BREW. Range is currently
    limited to 6-255 msec. Note that smaller values will introduce
    greater overheads due to task switching. Also, note that smaller
    duty cycles can be achieved only if corresponding smaller EFS block
    sizes are used.

    Sleep cycle specifies for how long CPU should be yielded after every
    duty cycle. Range is 0-255 msec. A value of 0 means that the decoder
    will take as much CPU as possible, while still behaving in a very
    co-operative fashion (depending upon the duty cycle.)
    -->
    <!-- Not a run time configurable parameter. -->
    <!-- <fec efs_bs_index="4" duty_cycle="30" sleep_cycle="90"/> -->

    <!-- Device profile ID represents the set of capabilities supported by the device.
    This configuration parameter is transmitted from the server to the device -->
    <!-- <device_profile_id>0</device_profile_id> -->

    <!-- MPG parsing takes a significant part of the CPU. the following parameters
    allow the MDSC to yield the UI task so the video task can run. 
    mpg_parser_yield_msec is the number of milliseconds to sleep 
    mpg_parser_yield_count is the number of records to parse before yielding -->
    <!-- <mpg_parser_yield_msec>50</mpg_parser_yield_msec> -->
    <!-- <mpg_parser_yield_count>15</mpg_parser_yield_count> -->

</device_cfg>
