Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minor odds-and-ends #1950

Merged
merged 5 commits into from Mar 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
33 changes: 15 additions & 18 deletions docs/manual/config/config_file_reference.rst
Expand Up @@ -818,7 +818,7 @@ The default value is: ``default``
//CycloneDDS/Domain/Internal
============================

Children: :ref:`AccelerateRexmitBlockSize<//CycloneDDS/Domain/Internal/AccelerateRexmitBlockSize>`, :ref:`AckDelay<//CycloneDDS/Domain/Internal/AckDelay>`, :ref:`AutoReschedNackDelay<//CycloneDDS/Domain/Internal/AutoReschedNackDelay>`, :ref:`BuiltinEndpointSet<//CycloneDDS/Domain/Internal/BuiltinEndpointSet>`, :ref:`BurstSize<//CycloneDDS/Domain/Internal/BurstSize>`, :ref:`ControlTopic<//CycloneDDS/Domain/Internal/ControlTopic>`, :ref:`DefragReliableMaxSamples<//CycloneDDS/Domain/Internal/DefragReliableMaxSamples>`, :ref:`DefragUnreliableMaxSamples<//CycloneDDS/Domain/Internal/DefragUnreliableMaxSamples>`, :ref:`DeliveryQueueMaxSamples<//CycloneDDS/Domain/Internal/DeliveryQueueMaxSamples>`, :ref:`EnableExpensiveChecks<//CycloneDDS/Domain/Internal/EnableExpensiveChecks>`, :ref:`ExtendedPacketInfo<//CycloneDDS/Domain/Internal/ExtendedPacketInfo>`, :ref:`GenerateKeyhash<//CycloneDDS/Domain/Internal/GenerateKeyhash>`, :ref:`HeartbeatInterval<//CycloneDDS/Domain/Internal/HeartbeatInterval>`, :ref:`LateAckMode<//CycloneDDS/Domain/Internal/LateAckMode>`, :ref:`LivelinessMonitoring<//CycloneDDS/Domain/Internal/LivelinessMonitoring>`, :ref:`MaxParticipants<//CycloneDDS/Domain/Internal/MaxParticipants>`, :ref:`MaxQueuedRexmitBytes<//CycloneDDS/Domain/Internal/MaxQueuedRexmitBytes>`, :ref:`MaxQueuedRexmitMessages<//CycloneDDS/Domain/Internal/MaxQueuedRexmitMessages>`, :ref:`MaxSampleSize<//CycloneDDS/Domain/Internal/MaxSampleSize>`, :ref:`MeasureHbToAckLatency<//CycloneDDS/Domain/Internal/MeasureHbToAckLatency>`, :ref:`MonitorPort<//CycloneDDS/Domain/Internal/MonitorPort>`, :ref:`MultipleReceiveThreads<//CycloneDDS/Domain/Internal/MultipleReceiveThreads>`, :ref:`NackDelay<//CycloneDDS/Domain/Internal/NackDelay>`, :ref:`PreEmptiveAckDelay<//CycloneDDS/Domain/Internal/PreEmptiveAckDelay>`, :ref:`PrimaryReorderMaxSamples<//CycloneDDS/Domain/Internal/PrimaryReorderMaxSamples>`, :ref:`PrioritizeRetransmit<//CycloneDDS/Domain/Internal/PrioritizeRetransmit>`, :ref:`RediscoveryBlacklistDuration<//CycloneDDS/Domain/Internal/RediscoveryBlacklistDuration>`, :ref:`RetransmitMerging<//CycloneDDS/Domain/Internal/RetransmitMerging>`, :ref:`RetransmitMergingPeriod<//CycloneDDS/Domain/Internal/RetransmitMergingPeriod>`, :ref:`RetryOnRejectBestEffort<//CycloneDDS/Domain/Internal/RetryOnRejectBestEffort>`, :ref:`SPDPResponseMaxDelay<//CycloneDDS/Domain/Internal/SPDPResponseMaxDelay>`, :ref:`SecondaryReorderMaxSamples<//CycloneDDS/Domain/Internal/SecondaryReorderMaxSamples>`, :ref:`SocketReceiveBufferSize<//CycloneDDS/Domain/Internal/SocketReceiveBufferSize>`, :ref:`SocketSendBufferSize<//CycloneDDS/Domain/Internal/SocketSendBufferSize>`, :ref:`SquashParticipants<//CycloneDDS/Domain/Internal/SquashParticipants>`, :ref:`SynchronousDeliveryLatencyBound<//CycloneDDS/Domain/Internal/SynchronousDeliveryLatencyBound>`, :ref:`SynchronousDeliveryPriorityThreshold<//CycloneDDS/Domain/Internal/SynchronousDeliveryPriorityThreshold>`, :ref:`Test<//CycloneDDS/Domain/Internal/Test>`, :ref:`UnicastResponseToSPDPMessages<//CycloneDDS/Domain/Internal/UnicastResponseToSPDPMessages>`, :ref:`UseMulticastIfMreqn<//CycloneDDS/Domain/Internal/UseMulticastIfMreqn>`, :ref:`Watermarks<//CycloneDDS/Domain/Internal/Watermarks>`, :ref:`WriterLingerDuration<//CycloneDDS/Domain/Internal/WriterLingerDuration>`
Children: :ref:`AccelerateRexmitBlockSize<//CycloneDDS/Domain/Internal/AccelerateRexmitBlockSize>`, :ref:`AckDelay<//CycloneDDS/Domain/Internal/AckDelay>`, :ref:`AutoReschedNackDelay<//CycloneDDS/Domain/Internal/AutoReschedNackDelay>`, :ref:`BuiltinEndpointSet<//CycloneDDS/Domain/Internal/BuiltinEndpointSet>`, :ref:`BurstSize<//CycloneDDS/Domain/Internal/BurstSize>`, :ref:`ControlTopic<//CycloneDDS/Domain/Internal/ControlTopic>`, :ref:`DefragReliableMaxSamples<//CycloneDDS/Domain/Internal/DefragReliableMaxSamples>`, :ref:`DefragUnreliableMaxSamples<//CycloneDDS/Domain/Internal/DefragUnreliableMaxSamples>`, :ref:`DeliveryQueueMaxSamples<//CycloneDDS/Domain/Internal/DeliveryQueueMaxSamples>`, :ref:`EnableExpensiveChecks<//CycloneDDS/Domain/Internal/EnableExpensiveChecks>`, :ref:`ExtendedPacketInfo<//CycloneDDS/Domain/Internal/ExtendedPacketInfo>`, :ref:`GenerateKeyhash<//CycloneDDS/Domain/Internal/GenerateKeyhash>`, :ref:`HeartbeatInterval<//CycloneDDS/Domain/Internal/HeartbeatInterval>`, :ref:`LateAckMode<//CycloneDDS/Domain/Internal/LateAckMode>`, :ref:`LivelinessMonitoring<//CycloneDDS/Domain/Internal/LivelinessMonitoring>`, :ref:`MaxParticipants<//CycloneDDS/Domain/Internal/MaxParticipants>`, :ref:`MaxQueuedRexmitBytes<//CycloneDDS/Domain/Internal/MaxQueuedRexmitBytes>`, :ref:`MaxQueuedRexmitMessages<//CycloneDDS/Domain/Internal/MaxQueuedRexmitMessages>`, :ref:`MaxSampleSize<//CycloneDDS/Domain/Internal/MaxSampleSize>`, :ref:`MeasureHbToAckLatency<//CycloneDDS/Domain/Internal/MeasureHbToAckLatency>`, :ref:`MonitorPort<//CycloneDDS/Domain/Internal/MonitorPort>`, :ref:`MultipleReceiveThreads<//CycloneDDS/Domain/Internal/MultipleReceiveThreads>`, :ref:`NackDelay<//CycloneDDS/Domain/Internal/NackDelay>`, :ref:`PreEmptiveAckDelay<//CycloneDDS/Domain/Internal/PreEmptiveAckDelay>`, :ref:`PrimaryReorderMaxSamples<//CycloneDDS/Domain/Internal/PrimaryReorderMaxSamples>`, :ref:`PrioritizeRetransmit<//CycloneDDS/Domain/Internal/PrioritizeRetransmit>`, :ref:`RediscoveryBlacklistDuration<//CycloneDDS/Domain/Internal/RediscoveryBlacklistDuration>`, :ref:`RetransmitMerging<//CycloneDDS/Domain/Internal/RetransmitMerging>`, :ref:`RetransmitMergingPeriod<//CycloneDDS/Domain/Internal/RetransmitMergingPeriod>`, :ref:`RetryOnRejectBestEffort<//CycloneDDS/Domain/Internal/RetryOnRejectBestEffort>`, :ref:`SPDPResponseMaxDelay<//CycloneDDS/Domain/Internal/SPDPResponseMaxDelay>`, :ref:`SecondaryReorderMaxSamples<//CycloneDDS/Domain/Internal/SecondaryReorderMaxSamples>`, :ref:`SocketReceiveBufferSize<//CycloneDDS/Domain/Internal/SocketReceiveBufferSize>`, :ref:`SocketSendBufferSize<//CycloneDDS/Domain/Internal/SocketSendBufferSize>`, :ref:`SquashParticipants<//CycloneDDS/Domain/Internal/SquashParticipants>`, :ref:`SynchronousDeliveryLatencyBound<//CycloneDDS/Domain/Internal/SynchronousDeliveryLatencyBound>`, :ref:`SynchronousDeliveryPriorityThreshold<//CycloneDDS/Domain/Internal/SynchronousDeliveryPriorityThreshold>`, :ref:`Test<//CycloneDDS/Domain/Internal/Test>`, :ref:`UseMulticastIfMreqn<//CycloneDDS/Domain/Internal/UseMulticastIfMreqn>`, :ref:`Watermarks<//CycloneDDS/Domain/Internal/Watermarks>`, :ref:`WriterLingerDuration<//CycloneDDS/Domain/Internal/WriterLingerDuration>`

The Internal elements deal with a variety of settings that are evolving and that are not necessarily fully supported. For the majority of the Internal settings the functionality is supported, but the right to change the way the options control the functionality is reserved. This includes renaming or moving options.

Expand Down Expand Up @@ -1531,18 +1531,6 @@ This element controls the fraction of outgoing packets to drop, specified as sam
The default value is: ``0``


.. _`//CycloneDDS/Domain/Internal/UnicastResponseToSPDPMessages`:

//CycloneDDS/Domain/Internal/UnicastResponseToSPDPMessages
----------------------------------------------------------

Boolean

This element controls whether the response to a newly discovered participant is sent as a unicasted SPDP packet instead of rescheduling the periodic multicasted one. There is no known benefit to setting this to false.

The default value is: ``true``


.. _`//CycloneDDS/Domain/Internal/UseMulticastIfMreqn`:

//CycloneDDS/Domain/Internal/UseMulticastIfMreqn
Expand Down Expand Up @@ -2603,7 +2591,7 @@ The default value is: ``false``
------------------------------------

One of:
* Comma-separated list of: fatal, error, warning, info, config, discovery, data, radmin, timing, traffic, topic, tcp, plist, whc, throttle, rhc, content, shm, trace
* Comma-separated list of: fatal, error, warning, info, config, discovery, data, radmin, timing, traffic, topic, tcp, plist, whc, throttle, rhc, content, malformed, trace
* Or empty

This element enables individual logging categories. These are enabled in addition to those enabled by Tracing/Verbosity. Recognised categories are:
Expand All @@ -2628,16 +2616,25 @@ This element enables individual logging categories. These are enabled in additio

* traffic: periodic reporting of total outgoing data

* throttle: tracing of throttling events

* whc: tracing of writer history cache changes

* rhc: tracing of reader history cache changes

* tcp: tracing of TCP-specific activity

* topic: tracing of topic definitions

* plist: tracing of discovery parameter list interpretation

* content: tracing of sample contents

* malformed: dump malformed full packet as warning



In addition, there is the keyword trace that enables all but radmin, topic, plist and whc.
In addition, there is the keyword trace that enables: fatal, error, warning, info, config, discovery, data, trace, timing, traffic, tcp, throttle, content..
The categorisation of tracing output is incomplete and hence most of the verbosity levels and categories are not of much use in the current release. This is an ongoing process and here we describe the target situation rather than the current situation. Currently, the most useful is trace.

The default value is: ``<empty>``
Expand Down Expand Up @@ -2699,10 +2696,10 @@ The categorisation of tracing output is incomplete and hence most of the verbosi
The default value is: ``none``

..
generated from ddsi_config.h[eaf2059de5eccc422ae9ebd9bb3c40fd1d7545d3]
generated from ddsi_config.h[007a7968df8cbc42a122109bd139ac85bab0f6c9]
generated from ddsi__cfgunits.h[bd22f0c0ed210501d0ecd3b07c992eca549ef5aa]
generated from ddsi__cfgelems.h[fc5746cc2e55b4ab9daf9bd51bc263cf30ece564]
generated from ddsi_config.c[2d3406ce4db09358597689d7382f80185634eb69]
generated from ddsi__cfgelems.h[607a8f573eb5d87d6f93b1d9bce2947f29da56dc]
generated from ddsi_config.c[d4ef67f90737b1bf8ae94ad932774fa015e3a2cf]
generated from _confgen.h[e32eabfc35e9f3a7dcb63b19ed148c0d17c6e5fc]
generated from _confgen.c[237308acd53897a34e8c643e16e05a61d73ffd65]
generated from generate_rnc.c[b50e4b7ab1d04b2bc1d361a0811247c337b74934]
Expand Down
29 changes: 15 additions & 14 deletions docs/manual/options.md
Expand Up @@ -552,7 +552,7 @@ The default value is: `default`


### //CycloneDDS/Domain/Internal
Children: [AccelerateRexmitBlockSize](#cycloneddsdomaininternalacceleraterexmitblocksize), [AckDelay](#cycloneddsdomaininternalackdelay), [AutoReschedNackDelay](#cycloneddsdomaininternalautoreschednackdelay), [BuiltinEndpointSet](#cycloneddsdomaininternalbuiltinendpointset), [BurstSize](#cycloneddsdomaininternalburstsize), [ControlTopic](#cycloneddsdomaininternalcontroltopic), [DefragReliableMaxSamples](#cycloneddsdomaininternaldefragreliablemaxsamples), [DefragUnreliableMaxSamples](#cycloneddsdomaininternaldefragunreliablemaxsamples), [DeliveryQueueMaxSamples](#cycloneddsdomaininternaldeliveryqueuemaxsamples), [EnableExpensiveChecks](#cycloneddsdomaininternalenableexpensivechecks), [ExtendedPacketInfo](#cycloneddsdomaininternalextendedpacketinfo), [GenerateKeyhash](#cycloneddsdomaininternalgeneratekeyhash), [HeartbeatInterval](#cycloneddsdomaininternalheartbeatinterval), [LateAckMode](#cycloneddsdomaininternallateackmode), [LivelinessMonitoring](#cycloneddsdomaininternallivelinessmonitoring), [MaxParticipants](#cycloneddsdomaininternalmaxparticipants), [MaxQueuedRexmitBytes](#cycloneddsdomaininternalmaxqueuedrexmitbytes), [MaxQueuedRexmitMessages](#cycloneddsdomaininternalmaxqueuedrexmitmessages), [MaxSampleSize](#cycloneddsdomaininternalmaxsamplesize), [MeasureHbToAckLatency](#cycloneddsdomaininternalmeasurehbtoacklatency), [MonitorPort](#cycloneddsdomaininternalmonitorport), [MultipleReceiveThreads](#cycloneddsdomaininternalmultiplereceivethreads), [NackDelay](#cycloneddsdomaininternalnackdelay), [PreEmptiveAckDelay](#cycloneddsdomaininternalpreemptiveackdelay), [PrimaryReorderMaxSamples](#cycloneddsdomaininternalprimaryreordermaxsamples), [PrioritizeRetransmit](#cycloneddsdomaininternalprioritizeretransmit), [RediscoveryBlacklistDuration](#cycloneddsdomaininternalrediscoveryblacklistduration), [RetransmitMerging](#cycloneddsdomaininternalretransmitmerging), [RetransmitMergingPeriod](#cycloneddsdomaininternalretransmitmergingperiod), [RetryOnRejectBestEffort](#cycloneddsdomaininternalretryonrejectbesteffort), [SPDPResponseMaxDelay](#cycloneddsdomaininternalspdpresponsemaxdelay), [SecondaryReorderMaxSamples](#cycloneddsdomaininternalsecondaryreordermaxsamples), [SocketReceiveBufferSize](#cycloneddsdomaininternalsocketreceivebuffersize), [SocketSendBufferSize](#cycloneddsdomaininternalsocketsendbuffersize), [SquashParticipants](#cycloneddsdomaininternalsquashparticipants), [SynchronousDeliveryLatencyBound](#cycloneddsdomaininternalsynchronousdeliverylatencybound), [SynchronousDeliveryPriorityThreshold](#cycloneddsdomaininternalsynchronousdeliveryprioritythreshold), [Test](#cycloneddsdomaininternaltest), [UnicastResponseToSPDPMessages](#cycloneddsdomaininternalunicastresponsetospdpmessages), [UseMulticastIfMreqn](#cycloneddsdomaininternalusemulticastifmreqn), [Watermarks](#cycloneddsdomaininternalwatermarks), [WriterLingerDuration](#cycloneddsdomaininternalwriterlingerduration)
Children: [AccelerateRexmitBlockSize](#cycloneddsdomaininternalacceleraterexmitblocksize), [AckDelay](#cycloneddsdomaininternalackdelay), [AutoReschedNackDelay](#cycloneddsdomaininternalautoreschednackdelay), [BuiltinEndpointSet](#cycloneddsdomaininternalbuiltinendpointset), [BurstSize](#cycloneddsdomaininternalburstsize), [ControlTopic](#cycloneddsdomaininternalcontroltopic), [DefragReliableMaxSamples](#cycloneddsdomaininternaldefragreliablemaxsamples), [DefragUnreliableMaxSamples](#cycloneddsdomaininternaldefragunreliablemaxsamples), [DeliveryQueueMaxSamples](#cycloneddsdomaininternaldeliveryqueuemaxsamples), [EnableExpensiveChecks](#cycloneddsdomaininternalenableexpensivechecks), [ExtendedPacketInfo](#cycloneddsdomaininternalextendedpacketinfo), [GenerateKeyhash](#cycloneddsdomaininternalgeneratekeyhash), [HeartbeatInterval](#cycloneddsdomaininternalheartbeatinterval), [LateAckMode](#cycloneddsdomaininternallateackmode), [LivelinessMonitoring](#cycloneddsdomaininternallivelinessmonitoring), [MaxParticipants](#cycloneddsdomaininternalmaxparticipants), [MaxQueuedRexmitBytes](#cycloneddsdomaininternalmaxqueuedrexmitbytes), [MaxQueuedRexmitMessages](#cycloneddsdomaininternalmaxqueuedrexmitmessages), [MaxSampleSize](#cycloneddsdomaininternalmaxsamplesize), [MeasureHbToAckLatency](#cycloneddsdomaininternalmeasurehbtoacklatency), [MonitorPort](#cycloneddsdomaininternalmonitorport), [MultipleReceiveThreads](#cycloneddsdomaininternalmultiplereceivethreads), [NackDelay](#cycloneddsdomaininternalnackdelay), [PreEmptiveAckDelay](#cycloneddsdomaininternalpreemptiveackdelay), [PrimaryReorderMaxSamples](#cycloneddsdomaininternalprimaryreordermaxsamples), [PrioritizeRetransmit](#cycloneddsdomaininternalprioritizeretransmit), [RediscoveryBlacklistDuration](#cycloneddsdomaininternalrediscoveryblacklistduration), [RetransmitMerging](#cycloneddsdomaininternalretransmitmerging), [RetransmitMergingPeriod](#cycloneddsdomaininternalretransmitmergingperiod), [RetryOnRejectBestEffort](#cycloneddsdomaininternalretryonrejectbesteffort), [SPDPResponseMaxDelay](#cycloneddsdomaininternalspdpresponsemaxdelay), [SecondaryReorderMaxSamples](#cycloneddsdomaininternalsecondaryreordermaxsamples), [SocketReceiveBufferSize](#cycloneddsdomaininternalsocketreceivebuffersize), [SocketSendBufferSize](#cycloneddsdomaininternalsocketsendbuffersize), [SquashParticipants](#cycloneddsdomaininternalsquashparticipants), [SynchronousDeliveryLatencyBound](#cycloneddsdomaininternalsynchronousdeliverylatencybound), [SynchronousDeliveryPriorityThreshold](#cycloneddsdomaininternalsynchronousdeliveryprioritythreshold), [Test](#cycloneddsdomaininternaltest), [UseMulticastIfMreqn](#cycloneddsdomaininternalusemulticastifmreqn), [Watermarks](#cycloneddsdomaininternalwatermarks), [WriterLingerDuration](#cycloneddsdomaininternalwriterlingerduration)

The Internal elements deal with a variety of settings that are evolving and that are not necessarily fully supported. For the majority of the Internal settings the functionality is supported, but the right to change the way the options control the functionality is reserved. This includes renaming or moving options.

Expand Down Expand Up @@ -1051,14 +1051,6 @@ This element controls the fraction of outgoing packets to drop, specified as sam
The default value is: `0`


#### //CycloneDDS/Domain/Internal/UnicastResponseToSPDPMessages
Boolean

This element controls whether the response to a newly discovered participant is sent as a unicasted SPDP packet instead of rescheduling the periodic multicasted one. There is no known benefit to setting this to false.

The default value is: `true`


#### //CycloneDDS/Domain/Internal/UseMulticastIfMreqn
Integer

Expand Down Expand Up @@ -1809,7 +1801,7 @@ The default value is: `false`

#### //CycloneDDS/Domain/Tracing/Category
One of:
* Comma-separated list of: fatal, error, warning, info, config, discovery, data, radmin, timing, traffic, topic, tcp, plist, whc, throttle, rhc, content, shm, trace
* Comma-separated list of: fatal, error, warning, info, config, discovery, data, radmin, timing, traffic, topic, tcp, plist, whc, throttle, rhc, content, malformed, trace
* Or empty

This element enables individual logging categories. These are enabled in addition to those enabled by Tracing/Verbosity. Recognised categories are:
Expand All @@ -1834,15 +1826,24 @@ This element enables individual logging categories. These are enabled in additio

* traffic: periodic reporting of total outgoing data

* throttle: tracing of throttling events

* whc: tracing of writer history cache changes

* rhc: tracing of reader history cache changes

* tcp: tracing of TCP-specific activity

* topic: tracing of topic definitions

* plist: tracing of discovery parameter list interpretation

In addition, there is the keyword trace that enables all but radmin, topic, plist and whc.
* content: tracing of sample contents

* malformed: dump malformed full packet as warning


In addition, there is the keyword trace that enables: fatal, error, warning, info, config, discovery, data, trace, timing, traffic, tcp, throttle, content..
The categorisation of tracing output is incomplete and hence most of the verbosity levels and categories are not of much use in the current release. This is an ongoing process and here we describe the target situation rather than the current situation. Currently, the most useful is trace.

The default value is: `<empty>`
Expand Down Expand Up @@ -1889,10 +1890,10 @@ While none prevents any message from being written to a DDSI2 log file.
The categorisation of tracing output is incomplete and hence most of the verbosity levels and categories are not of much use in the current release. This is an ongoing process and here we describe the target situation rather than the current situation. Currently, the most useful verbosity levels are config, fine and finest.

The default value is: `none`
<!--- generated from ddsi_config.h[eaf2059de5eccc422ae9ebd9bb3c40fd1d7545d3] -->
<!--- generated from ddsi_config.h[007a7968df8cbc42a122109bd139ac85bab0f6c9] -->
<!--- generated from ddsi__cfgunits.h[bd22f0c0ed210501d0ecd3b07c992eca549ef5aa] -->
<!--- generated from ddsi__cfgelems.h[fc5746cc2e55b4ab9daf9bd51bc263cf30ece564] -->
<!--- generated from ddsi_config.c[2d3406ce4db09358597689d7382f80185634eb69] -->
<!--- generated from ddsi__cfgelems.h[607a8f573eb5d87d6f93b1d9bce2947f29da56dc] -->
<!--- generated from ddsi_config.c[d4ef67f90737b1bf8ae94ad932774fa015e3a2cf] -->
<!--- generated from _confgen.h[e32eabfc35e9f3a7dcb63b19ed148c0d17c6e5fc] -->
<!--- generated from _confgen.c[237308acd53897a34e8c643e16e05a61d73ffd65] -->
<!--- generated from generate_rnc.c[b50e4b7ab1d04b2bc1d361a0811247c337b74934] -->
Expand Down