# 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: 0,
    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''',
)

option(
    'update-timeout-seconds',
    type: 'integer',
    min: 60,
    max: 90,
    value: 60,
    description: '''Timeout in seconds for the UA to cancel the component update
                    if no command is received from the FD during component image
                    transfer stage''',
)

# 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',
)

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

## OEM NVIDIA Options
option(
    'oem-nvidia',
    type: 'feature',
    description: 'Enable NVIDIA 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,
)

# Firmware Update configuration parameters
option(
    'fw-update-pkg-inotify',
    type: 'feature',
    value: 'disabled',
    description: 'Enable inotify-based firmware update package monitoring',
)
