The 'sntp_client' component periodically requests the current time from a
given SNTP server and reports it as GMT in a format that can also be used
to re-program Genode's RTC driver.


Configuration
~~~~~~~~~~~~~

This is an example configuration of the component with a static IP config,
an individual request interval, and debugging output enabled:

! + config
!          interface:  10.0.0.72/24
!          gateway:    10.0.0.1
!          dst_addr:   10.0.0.24
!          period_min: 10
!          verbose:    yes

This is an example configuration of the component with DHCP:

! + config | dst_addr: 10.0.0.24

The 'config' node has the following attributes:

:interface:
  Optional. Determined via DHCP if not configured. IP address and subnet of
  the component. If not set, the component requests and maintains the IP
  configuration via DHCP.

:gateway:
  Optional. Determined via DHCP if not configured. IP address of the gateway
  of the IP subnet.

:dst_addr:
  Mandatory. IP address or domain name of a SNTP server.

:period_min:
  Optional. Default is 60. Length of request interval in minutes.

:verbose:
  Optional. Default is 'no'. Toggles wether the component shall log
  debugging information.


Sessions
~~~~~~~~

This is an overview of the sessions required and provided by the
component apart from the environment sessions:

* One Timer session.
* One Report session with label 'set_rtc'.


Report 'set_rtc' provided by the component
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is an example content of the report:

! + set_rtc
!           year:   2018
!           month:  11
!           day:    27
!           hour:   22
!           minute: 45
!           second: 32

The format of the report is exactly what is expected by the Genode RTC driver.
The time is given as GMT in 24H mode, leap seconds considered, but without
taking the round trip time between SNTP server and client in account.


Examples
~~~~~~~~

An example of how to use the component can be found in the test script
'libports/run/sntp_client.run'.
