# PLDM daemon options
option('tests', type: 'feature', value: 'enabled', description: 'Build tests')

option(
    'utilities',
    type: 'feature',
    value: 'enabled',
    description: 'Enable debug utilities',
)

option(
    'libpldmresponder',
    type: 'feature',
    value: 'enabled',
    description: 'Enable libpldmresponder',
)

option(
    'systemd',
    type: 'feature',
    value: 'enabled',
    description: 'Include systemd support',
)

option(
    'transport-implementation',
    type: 'combo',
    choices: ['mctp-demux', 'af-mctp'],
    description: 'transport via af-mctp or mctp-demux',
)

# As per PLDM spec DSP0240 version 1.1.0, in Timing Specification for PLDM messages (Table 6),
# the instance ID for a given response will expire and become reusable if a response has not been
# received within a maximum of 6 seconds after a request is sent. By setting the dbus timeout
# value to 5 seconds we ensure that PLDM does not wait for a response from a dbus call even after
# the instance ID has expired. If the option is set to 5 seconds, any dbus call originated from
# PLDM daemon will timeout after 5 seconds.
option(
    'dbus-timeout-value',
    type: 'integer',
    min: 3,
    max: 10,
    value: 5,
    description: '''The amount of time pldm waits to get a response for a dbus
                    message before timing out''',
)

option(
    'heartbeat-timeout-seconds',
    type: 'integer',
    value: 120,
    description: '''The amount of time host waits for BMC to respond to pings
                    from host, as part of host-bmc surveillance''',
)

# Flight Recorder for PLDM Daemon
option(
    'flightrecorder-max-entries',
    type: 'integer',
    min: 0,
    max: 30,
    value: 10,
    description: '''The max number of pldm messages that can be stored in the
                    recorder, this feature will be disabled if it is set to 0''',
)

# PLDM Daemon Terminus options
option(
    'terminus-id',
    type: 'integer',
    min: 0,
    max: 255,
    value: 1,
    description: '''The terminus id value of the device that is running this
                    pldm stack''',
)

option(
    'terminus-handle',
    type: 'integer',
    min: 0,
    max: 65535,
    value: 1,
    description: '''The terminus handle value of the device that is running this
                    pldm stack''',
)

# Timing specification options for PLDM messages
option(
    'number-of-request-retries',
    type: 'integer',
    min: 2,
    max: 30,
    value: 2,
    description: '''The number of times a requester is obligated to retry a
                    request''',
)

option(
    'instance-id-expiration-interval',
    type: 'integer',
    min: 5,
    max: 6,
    value: 5,
    description: 'Instance ID expiration interval in seconds',
)

# Default response-time-out set to 2 seconds to facilitate a minimum retry of
# the request of 2.
option(
    'response-time-out',
    type: 'integer',
    min: 300,
    max: 4800,
    value: 2000,
    description: '''The amount of time a requester has to wait for a response
                    message in milliseconds''',
)

# Firmware update configuration parameters
option(
    'maximum-transfer-size',
    type: 'integer',
    min: 16,
    max: 4294967295,
    value: 4096,
    description: '''Maximum size in bytes of the variable payload allowed to be
                    requested by the FD, via RequestFirmwareData command''',
)

# Bios Attributes option
option(
    'system-specific-bios-json',
    type: 'feature',
    value: 'disabled',
    description: 'Support for different set of bios attributes for different types of systems',
)

# PLDM Soft Power off options
option(
    'softoff',
    type: 'feature',
    value: 'enabled',
    description: 'Build soft power off application',
)

option(
    'softoff-timeout-seconds',
    type: 'integer',
    value: 7200,
    description: 'softoff: Time to wait for host to gracefully shutdown',
)

# Vendor Specific Options

## OEM IBM Options
option(
    'oem-ibm',
    type: 'feature',
    value: 'enabled',
    description: 'Enable IBM OEM PLDM',
)

option(
    'oem-ibm-dma-maxsize',
    type: 'integer',
    min: 4096,
    max: 16773120,
    value: 8384512,
    description: 'OEM-IBM: max DMA size',
)


## OEM AMPERE Options
option(
    'oem-ampere',
    type: 'feature',
    description: 'Enable AMPERE OEM PLDM',
    value: 'enabled',
)

## Default Sensor Update Interval Options
option(
    'default-sensor-update-interval',
    type: 'integer',
    min: 1,
    max: 4294967295,
    description: '''The default sensor polling interval in milliseconds.
                    The value will be used when the internal is not configured
                    in the PLDM sensor PDRs use `updateInterval` field. `pldmd`
                    will send `GetSensorReading` to get the PLDM sensor values
                    of the monitoring terminus after each configured
                    interval.''',
    value: 999,
)

# Platform-mc configuration parameters

## Sensor Polling Options
option(
    'sensor-polling-time',
    type: 'integer',
    min: 1,
    max: 10000,
    description: '''The configured timeout in milliseconds of the common sensor
                    polling timer of each terminus which will trigger the
                    terminus sensor reading task. The task will check
                    whether the sensor in the terminus sensors list need to
                    be updated by comparing the sensor `updateInterval` with the
                    interval between current timestamp and latest updated
                    timestamp of the sensor. The task will send
                    `GetSensorReading` if the sensor need to be updated.''',
    value: 249,
)
