• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
2 "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
3<node>
4  <interface name="io.openthread.BorderRouter">
5    <!-- Scan: Perform a Thread network scan.
6      @scan_result: array of scan results.
7
8      The result struture definition is:
9      <literallayout>
10        struct {
11          uint64 ext_address
12          uint16 panid
13          uint16 channel
14          uint16 rssi
15          uint8 lqi
16        }
17      </literallayout>
18    -->
19    <method name="Scan">
20      <arg name="scan_result" type="a(tqqqy)" direction="out"/>
21    </method>
22
23    <!-- Energy Scan: Perform a Thread energy scan.
24      @scanDuration: The 32-bit duration time for the scan of each channel, in milliseconds.
25
26      @result: array of energy scan results.
27
28      The result struture definition is:
29      <literallayout>
30        struct {
31          uint8  channel
32          int8_t max_rssi
33        }
34      </literallayout>
35    -->
36    <method name="EnergyScan">
37      <arg name="scanduration" type="u"/>
38      <arg name="result" type="a(yy)" direction="out"/>
39    </method>
40
41    <!-- Attach: Attach the current device to the Thread network.
42      @networkkey: The 128-bit network network key, empty for random.
43      @panid: The 16-bit panid, UINT16_MAX for any.
44      @networkname: The Thread network name.
45      @extpanid: The 64-bit extended panid, UINT64_MAX for random.
46      @pskc: The 128-bit pre-shared key for commissione, empty for random.
47      @channel_mask: The bitwise channel mask, will randomly select a valid channel.
48
49      You can also call this method with no arugment to use the current active network dataset.
50    -->
51    <method name="Attach">
52      <arg name="networkkey" type="ay"/>
53      <arg name="panid" type="q"/>
54      <arg name="networkname" type="s"/>
55      <arg name="extpanid" type="t"/>
56      <arg name="pskc" type="ay"/>
57      <arg name="channel_mask" type="u"/>
58    </method>
59
60    <!-- AttachAllNodesTo: Request to attach all nodes to the specified Thread network.
61      @dataset: The Operational Dataset that contains parameter values of the Thread network
62                to attach to. It must be a full dataset.
63      @delay_ms: The delay between the method returns and the dataset takes effect, in
64                 milliseconds. If this value is 0, then the node is attached to the given network
65                 when this method returns. If this value is not 0, then the node is attached to
66                 its existing network when this method returns, and will attach to the given
67                 network after the delay.
68    -->
69    <method name="AttachAllNodesTo">
70      <arg name="dataset" type="ay"/>
71      <arg name="delay_ms" type="x" direction="out"/>
72    </method>
73
74    <!-- Detach: Detach the current device from the Thread network. -->
75    <method name="Detach">
76    </method>
77
78    <!-- PermitUnsecureJoin: Allow joining the network via unsecure traffic temporarily.
79      @port: The port of the unsecure traffic.
80      @timeout: The timeout for the permission.
81    -->
82    <method name="PermitUnsecureJoin">
83      <arg name="port" type="q"/>
84      <arg name="timeout" type="u"/>
85    </method>
86
87    <!-- JoinerStart: Start Thread joining.
88      @pskd: The pre-shared key for the device.
89      @provision_url: The url for further provision.
90      @vendor vendor_name: The current device vendor name.
91      @vendor vendor_model: The current device model.
92      @vendor vendor_sw_version: The current device software version.
93      @vendor vendor_data: The additional vendor data.
94    -->
95    <method name="JoinerStart">
96      <arg name="pskd" type="s"/>
97      <arg name="provision_url" type="s"/>
98      <arg name="vendor_name" type="s"/>
99      <arg name="vendor_model" type="s"/>
100      <arg name="vendor_sw_version" type="s"/>
101      <arg name="vendor_data" type="s"/>
102    </method>
103
104    <!-- JoinerStop: Stop Thread joining. -->
105    <method name="JoinerStop">
106    </method>
107
108    <!-- FactoryReset: Perform a factory reset, will wipe all Thread persistent data. -->
109    <method name="FactoryReset">
110    </method>
111
112    <!-- Reset: Perform a reset, will try to resume the network after reset. -->
113    <method name="Reset">
114    </method>
115
116    <!-- AddExternalRoute: Add an external border routing rule to the network.
117      @prefix: The prefix for border routing.
118
119      This will make the current device act as the border router for the prefix.
120      The prefix structure is:
121      <literallayout>
122        struct {
123          struct {
124            uint8[] prefix_bytes
125            uint8 prefix_length
126          }
127          uint16 rloc // Not used
128          uint8 preference
129          bool stable
130          bool next_hop_is_self // Not used
131        }
132      </literallayout>
133    -->
134    <method name="AddExternalRoute">
135      <arg name="prefix" type="((ayy)qybb)"/>
136    </method>
137
138    <!-- RemoveExternalRoute: Remove an external border routing rule from the network.
139      @prefix: The prefix for border routing.
140
141      The prefix structure is:
142      <literallayout>
143        struct {
144          uint8[] prefix_bytes
145          uint8 prefix_length
146        }
147      </literallayout>
148    -->
149    <method name="RemoveExternalRoute">
150      <arg name="prefix" type="(ayy)"/>
151    </method>
152
153    <!-- AddOnMeshPrefix: Add an on-mesh prefix to the network.
154      @prefix: The on-mesh prefix.
155
156      The on-mesh prefix structure is:
157      <literallayout>
158        struct {
159          struct {
160            uint8[] prefix_bytes
161            uint8 prefix_length
162          }
163          byte preference
164          struct {
165            boolean preferred
166            boolean slaac
167            boolean dhcp
168            boolean configure
169            boolean default_route
170            boolean on_mesh
171            boolean stable
172          }
173        }
174      </literallayout>
175    -->
176    <method name="AddOnMeshPrefix">
177      <arg name="prefix" type="((ayy)y(bbbbbbb))"/>
178    </method>
179
180    <!-- RemoveOnMeshPrefix: Remove an on-mesh prefix from the network.
181      @prefix: The on-mesh prefix.
182
183      The prefix structure is:
184      <literallayout>
185        struct {
186          uint8[] prefix_bytes
187          uint8 prefix_length
188        }
189      </literallayout>
190    -->
191    <method name="RemoveOnMeshPrefix">
192      <arg name="prefix" type="(ayy)"/>
193    </method>
194
195    <!-- UpdateMeshCopTxt: Update multiple entries in the TXT record.
196      @key: The key of the entry.
197      @value: The value of the entry.
198
199      The prefix structure is:
200      <literallayout>
201        struct {
202          string key
203          uint8[] value
204        }
205      </literallayout>
206    -->
207    <method name="UpdateVendorMeshCopTxtEntries">
208      <arg name="update" type="a(say)" direction="in"/>
209    </method>
210
211    <!-- GetProperties: Get one or more OpenThread properties.
212      @properties: Names of properties.
213    -->
214    <method name="GetProperties">
215      <arg name="properties" type="as" direction="in"/>
216    </method>
217
218    <!-- MeshLocalPrefix: The /64 mesh-local prefix.  -->
219    <property name="MeshLocalPrefix" type="ay" access="readwrite">
220      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
221    </property>
222
223    <!-- LegacyULAPrefix: The /64 legacy prefix.  -->
224    <property name="LegacyULAPrefix" type="ay" access="readwrite">
225      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
226    </property>
227
228    <!-- LinkMode: The current link mode.
229      <literallayout>
230      struct {
231        bool rx_on_when_idle    //whether the radio receiving is on when idle
232        bool device_type        //ftd or mtd
233        bool network_data       //full or stable
234      }
235      </literallayout>
236    -->
237    <property name="LinkMode" type="(bbb)" access="readwrite">
238      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
239    </property>
240
241    <!-- DeviceRole: The current device role.
242      Possible values are:
243      <literallayout>
244        0: Disabled
245        1: Detached
246        2: Child
247        3: Router
248        4: Leader
249      </literallayout>
250    -->
251    <property name="DeviceRole" type="s" access="read">
252      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="true"/>
253    </property>
254
255    <!-- NetworkName: The network name. -->
256    <property name="NetworkName" type="s" access="read">
257      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
258    </property>
259
260    <!-- PanId: The pan ID. -->
261    <property name="PanId" type="q" access="read">
262      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
263    </property>
264
265    <!-- ExtPanId: The extended pan ID. -->
266    <property name="ExtPanId" type="t" access="read">
267      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
268    </property>
269
270    <!-- Channel: The current network channel, from 11 to 26 -->
271    <property name="Channel" type="q" access="read">
272      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
273    </property>
274
275    <!-- CcaFailureRate: The Clear Channel Assessment failure rate. -->
276    <property name="CcaFailureRate" type="q" access="read">
277      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
278    </property>
279
280    <!-- MacCounters: The mac layer statistic counters.
281      The counter structure definition:
282      <literallayout>
283        struct {
284          uint32 tx_total;
285          uint32 tx_unicast;
286          uint32 tx_broadcast;
287          uint32 tx_ack_requested;
288          uint32 tx_acked;
289          uint32 tx_no_ack_requested;
290          uint32 tx_data;
291          uint32 tx_data_poll;
292          uint32 tx_beacon;
293          uint32 tx_beacon_request;
294          uint32 tx_other;
295          uint32 tx_retry;
296          uint32 tx_err_cca;
297          uint32 tx_err_abort;
298          uint32 tx_busy_channel;
299          uint32 rx_total;
300          uint32 rx_unicast;
301          uint32 rx_broadcast;
302          uint32 rx_data;
303          uint32 rx_data_poll;
304          uint32 rx_beacon;
305          uint32 rx_beacon_request;
306          uint32 rx_other;
307          uint32 rx_address_filtered;
308          uint32 rx_dest_address_filtered;
309          uint32 rx_duplicated;
310          uint32 rx_err_no_frame;
311          uint32 rx_err_unknown_neighbor;
312          uint32 rx_err_invalid_src_addr;
313          uint32 rx_err_sec;
314          uint32 rx_err_fcs;
315          uint32 rx_err_other;
316        }
317      </literallayout>
318    -->
319    <property name="MacCounters" type="(uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu)" access="read">
320      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
321    </property>
322
323    <!-- LinkCounters: The link statistic counters.
324      The counter structure definition:
325      <literallayout>
326        struct {
327          uint32 ip_tx_success;
328          uint32 ip_rx_success;
329          uint32 ip_tx_failure;
330          uint32 ip_rx_failure;
331        }
332      </literallayout>
333    -->
334    <property name="LinkCounters" type="(uuuu)" access="read">
335      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
336    </property>
337
338    <!-- LinkSupportedChannelMask: The bitwise link supported channel mask -->
339    <property name="LinkSupportedChannelMask" type="u" access="read">
340      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
341    </property>
342
343    <!-- Rloc16: The 16-bit routing locator -->
344    <property name="Rloc16" type="q" access="read">
345      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
346    </property>
347
348    <!-- ExtendedAddress: The 64-bit extended address -->
349    <property name="ExtendedAddress" type="t" access="read">
350      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
351    </property>
352
353    <!-- RouterID: The current router ID -->
354    <property name="RouterID" type="y" access="read">
355      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
356    </property>
357
358    <!-- LeaderData: The network leader data.
359      The structure definition:
360      <literallayout>
361        struct {
362          uint32_t mPartitionId;       // Partition ID
363          uint8_t  mWeighting;         // Leader Weight
364          uint8_t  mDataVersion;       // Full Network Data Version
365          uint8_t  mStableDataVersion; // Stable Network Data Version
366          uint8_t  mLeaderRouterId;    // Leader Router ID
367        }
368      </literallayout>
369    -->
370    <property name="LeaderData" type="(uyyyy)" access="read">
371      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
372    </property>
373
374    <!-- NetworkData: The network data. -->
375    <property name="NetworkData" type="ay" access="read">
376      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
377    </property>
378
379    <!-- StableNetworkData: The stable network data. -->
380    <property name="StableNetworkData" type="ay" access="read">
381      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
382    </property>
383
384    <!-- LocalLeaderWeight: The leader weight of the current node. -->
385    <property name="LocalLeaderWeight" type="y" access="read">
386      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
387    </property>
388
389    <!-- ChannelMonitorSampleCount: The number of the collected samples from the channel monitor -->
390    <property name="ChannelMonitorSampleCount" type="u" access="read">
391      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
392    </property>
393
394    <!-- ChannelMonitorChannelQualityMap: The channel monitor statistics data.
395      The structure definition:
396      <literallayout>
397        struct {
398          uint8_t  mChannel;
399          uint16_t mOccupancy;
400        }
401      </literallayout>
402    -->
403    <property name="ChannelMonitorChannelQualityMap" type="a(yq)" access="read">
404      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
405    </property>
406
407    <!-- ChildTable: The node's child table as an array of child entry structure.
408      The child entry structure definition:
409      <literallayout>
410        struct {
411          uint64_t mExtAddress;         // IEEE 802.15.4 Extended Address
412          uint32_t mTimeout;            // Timeout
413          uint32_t mAge;                // Time last heard
414          uint16_t mRloc16;             // RLOC16
415          uint16_t mChildId;            // Child ID
416          uint8_t  mNetworkDataVersion; // Network Data Version
417          uint8_t  mLinkQualityIn;      // Link Quality In
418          int8_t   mAverageRssi;        // Average RSSI
419          int8_t   mLastRssi;           // Last observed RSSI
420          uint16_t mFrameErrorRate;     // Frame error rate (0xffff->100%). Requires error tracking feature.
421          uint16_t mMessageErrorRate;   // (IPv6) msg error rate (0xffff->100%). Requires error tracking feature.
422          bool     mRxOnWhenIdle;       // rx-on-when-idle
423          bool     mFullThreadDevice;   // Full Thread Device
424          bool     mFullNetworkData;    // Full Network Data
425          bool     mIsStateRestoring;   // Is in restoring state
426        }
427      </literallayout>
428    -->
429    <property name="ChildTable" type="a(tuuqqyyyyqqbbbb)" access="read">
430      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
431    </property>
432
433    <!-- NeighborTable: The node's neighbor table as an array of neighbor entry structure.
434      The neighbor entry structure definition:
435      <literallayout>
436        struct {
437          uint64_t mExtAddress;        // IEEE 802.15.4 Extended Address
438          uint32_t mAge;               // Time last heard
439          uint16_t mRloc16;            // RLOC16
440          uint32_t mLinkFrameCounter;  // Link Frame Counter
441          uint32_t mMleFrameCounter;   // MLE Frame Counter
442          uint8_t  mLinkQualityIn;     // Link Quality In
443          int8_t   mAverageRssi;       // Average RSSI
444          int8_t   mLastRssi;          // Last observed RSSI
445          uint16_t mFrameErrorRate;    // Frame error rate (0xffff->100%). Requires error tracking feature.
446          uint16_t mMessageErrorRate;  // (IPv6) msg error rate (0xffff->100%). Requires error tracking feature.
447          bool     mRxOnWhenIdle;      // rx-on-when-idle
448          bool     mFullThreadDevice;  // Full Thread Device
449          bool     mFullNetworkData;   // Full Network Data
450          bool     mIsChild;           // Is the neighbor a child
451        }
452      </literallayout>
453    -->
454    <property name="NeighborTable" type="a(tuquuyyyqqbbbb)" access="read">
455      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
456    </property>
457
458    <!-- PartitionId: The network partition ID. -->
459    <property name="PartitionId" type="u" access="read">
460      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
461    </property>
462
463    <!-- InstantRssi: The RSSI of the last received packet. -->
464    <property name="InstantRssi" type="y" access="read">
465      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
466    </property>
467
468    <!-- RadioTxPower: The radio transmit power. -->
469    <property name="RadioTxPower" type="y" access="read">
470      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
471    </property>
472
473    <!-- ExternalRoutes: The list of current external route rules.
474      External route rule structure definition:
475      <literallayout>
476        struct {
477          struct {
478            uint8[] prefix_bytes
479            uint8 prefix_length
480          }
481          uint16 rloc
482          uint8 preference
483          bool stable
484          bool next_hop_is_self
485        }
486      </literallayout>
487    -->
488    <property name="ExternalRoutes" type="((ayy)qybb)" access="read">
489      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
490    </property>
491
492    <!-- OnMeshPrefixes: The list of current on-mesh prefixes.
493      on-mesh prefix structure definition:
494      <literallayout>
495        struct {
496          struct {
497            uint8[] prefix_bytes
498            uint8 prefix_length
499          }
500          uint16 rloc
501          uint8 preference
502          bool is_preferred
503          bool is_slaac
504          bool is_dhcp
505          bool is_configure
506          bool is_default_route
507          bool is_on_mesh
508          bool is_stable
509          bool is_nd_dns
510          bool is_dp
511        }
512      </literallayout>
513    -->
514    <property name="OnMeshPrefixes" type="a((ayy)qybbbbbbbbb)" access="read">
515      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
516    </property>
517
518    <!-- ActiveDatasetTlvs: The Thread active dataset tlv in binary form. -->
519    <property name="ActiveDatasetTlvs" type="ay" access="readwrite">
520      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
521    </property>
522
523    <!-- RadioRegion: The radio region code in ISO 3166-1. -->
524    <property name="RadioRegion" type="s" access="readwrite">
525      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
526    </property>
527
528    <!-- SrpServerInfo: The SRP server information.
529      <literallayout>
530        struct {
531          uint8 state
532          uint16 port
533          uint8 address_mode
534          struct {  // hosts
535            uint32 fresh_count
536            uint32 deleted_count
537            uint64 lease_time_total
538            uint64 key_lease_time_total
539            uint64 remaining_lease_time_total
540            uint64 remaining_key_lease_time_total
541          }
542          struct {  // services
543            uint32 fresh_count
544            uint32 deleted_count
545            uint64 lease_time_total
546            uint64 key_lease_time_total
547            uint64 remaining_lease_time_total
548            uint64 remaining_key_lease_time_total
549          }
550          struct {  // response counters
551            uint32 success
552            uint32 server_failure
553            uint32 format_error
554            uint32 name_exists
555            uint32 refused
556            uint32 other
557          }
558        }
559      </literallayout>
560    -->
561    <property name="SrpServerInfo" type="(yqy(uutttt)(uutttt)(uuuuuu))" access="read">
562      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
563    </property>
564    <!-- DnssdCounters: The DNS-SD counters
565    <literallayout>
566        struct {
567          uint32 success
568          uint32 server_failure
569          uint32 format_error
570          uint32 name_error
571          uint32 not_implemented
572          uint32 other
573          uint32 resolved_by_srp
574        }
575      </literallayout>
576    -->
577    <property name="DnssdCounters" type="(uuuuuuu)" access="read">
578      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
579    </property>
580
581    <!-- MdnsTelemetryInfo: The MDNS information
582    <literallayout>
583        struct {
584          struct {  // host registration responses
585            uint32 success
586            uint32 not_found
587            uint32 invalid_args
588            uint32 duplicated
589            uint32 not_implemented
590            uint32 unknown_error
591          }
592          struct {  // service registration responses
593            uint32 success
594            uint32 not_found
595            uint32 invalid_args
596            uint32 duplicated
597            uint32 not_implemented
598            uint32 unknown_error
599          }
600          struct {  // host resolution responses
601            uint32 success
602            uint32 not_found
603            uint32 invalid_args
604            uint32 duplicated
605            uint32 not_implemented
606            uint32 unknown_error
607          }
608          struct {  // service resolution responses
609            uint32 success
610            uint32 not_found
611            uint32 invalid_args
612            uint32 duplicated
613            uint32 not_implemented
614            uint32 unknown_error
615          }
616          uint32 host_registration_ema_latency
617          uint32 service_registration_ema_latency
618          uint32 host_resolution_ema_latency
619          uint32 service_resolution_ema_latency
620        }
621      </literallayout>
622    -->
623    <property name="MdnsTelemetryInfo" type="(uuuuuu)(uuuuuu)(uuuuuu)(uuuuuu)uuuu" access="read">
624      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
625    </property>
626
627    <!-- OtHostVersion: The version string of the host build. -->
628    <property name="OtHostVersion" type="s" access="read">
629      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
630    </property>
631
632    <!-- OtRcpVersion: The version string of the RCP firmware. -->
633    <property name="OtRcpVersion" type="s" access="read">
634      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
635    </property>
636
637    <!-- ThreadVersion: The Thread protocol version. -->
638    <property name="ThreadVersion" type="q" access="read">
639      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
640    </property>
641
642    <!-- Eui64: The IEEE EUI-64 of this Thread interface. -->
643    <property name="Eui64" type="t" access="read">
644      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
645    </property>
646
647    <!-- RadioSpinelMetrics: The radio spinel metrics
648    <literallayout>
649        struct {
650          uint32_t mRcpTimeoutCount;         // The number of RCP timeouts.
651          uint32_t mRcpUnexpectedResetCount; // The number of RCP unexcepted resets.
652          uint32_t mRcpRestorationCount;     // The number of RCP restorations.
653          uint32_t mSpinelParseErrorCount;   // The number of spinel frame parse errors.
654        }
655      </literallayout>
656    -->
657    <property name="RadioSpinelMetrics" type="(uuuu)" access="read">
658      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
659    </property>
660
661    <!-- RcpInterfaceMetrics: The RCP interface metrics
662    <literallayout>
663        struct {
664          uint8_t  mRcpInterfaceType;             // The RCP interface type.
665          uint64_t mTransferredFrameCount;        // The number of transferred frames.
666          uint64_t mTransferredValidFrameCount;   // The number of transferred valid frames.
667          uint64_t mTransferredGarbageFrameCount; // The number of transferred garbage frames.
668          uint64_t mRxFrameCount;                 // The number of received frames.
669          uint64_t mRxFrameByteCount;             // The number of received bytes.
670          uint64_t mTxFrameCount;                 // The number of transmitted frames.
671          uint64_t mTxFrameByteCount;             // The number of transmitted bytes.
672        }
673      </literallayout>
674    -->
675    <property name="RcpInterfaceMetrics" type="(yttttttt)" access="read">
676      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
677    </property>
678
679    <!-- Uptime: The number of milliseconds since OpenThread instance was initialized. -->
680    <property name="Uptime" type="t" access="read">
681      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
682    </property>
683
684    <!-- RadioCoexMetrics: The radio coexistence metrics
685    <literallayout>
686        struct {
687          uint32_t mNumGrantGlitch;                     // Number of grant glitches.
688          uint32_t mNumTxRequest;                       // Number of tx requests.
689          uint32_t mNumTxGrantImmediate;                // Number of tx requests while grant was active.
690          uint32_t mNumTxGrantWait;                     // Number of tx requests while grant was inactive.
691          uint32_t mNumTxGrantWaitActivated;            // Number of tx requests while grant was inactive that were ultimately granted.
692          uint32_t mNumTxGrantWaitTimeout;              // Number of tx requests while grant was inactive that timed out.
693          uint32_t mNumTxGrantDeactivatedDuringRequest; // Number of tx that were in progress when grant was deactivated.
694          uint32_t mNumTxDelayedGrant;                  // Number of tx requests that were not granted within 50us.
695          uint32_t mAvgTxRequestToGrantTime;            // Average time in usec from tx request to grant.
696          uint32_t mNumRxRequest;                       // Number of rx requests.
697          uint32_t mNumRxGrantImmediate;                // Number of rx requests while grant was active.
698          uint32_t mNumRxGrantWait;                     // Number of rx requests while grant was inactive.
699          uint32_t mNumRxGrantWaitActivated;            // Number of rx requests while grant was inactive that were ultimately granted.
700          uint32_t mNumRxGrantWaitTimeout;              // Number of rx requests while grant was inactive that timed out.
701          uint32_t mNumRxGrantDeactivatedDuringRequest; // Number of rx that were in progress when grant was deactivated.
702          uint32_t mNumRxDelayedGrant;                  // Number of rx requests that were not granted within 50us.
703          uint32_t mAvgRxRequestToGrantTime;            // Average time in usec from rx request to grant.
704          uint32_t mNumRxGrantNone;                     // Number of rx requests that completed without receiving grant.
705          bool     mStopped;                            // Stats collection stopped due to saturation.
706        }
707      </literallayout>
708    -->
709    <property name="RadioCoexMetrics" type="(uuuuuuuuuuuuuuuuuub)" access="read">
710      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
711    </property>
712
713  </interface>
714
715  <interface name="org.freedesktop.DBus.Properties">
716    <method name="Get">
717      <arg name="interface" direction="in" type="s"/>
718      <arg name="property" direction="in" type="s"/>
719      <arg name="value" direction="out" type="v"/>
720    </method>
721
722    <method name="GetAll">
723      <arg name="interface" direction="in" type="s"/>
724      <arg name="properties" direction="out" type="a{sv}"/>
725    </method>
726
727    <method name="Set">
728      <arg name="interface" direction="in" type="s"/>
729      <arg name="property" direction="in" type="s"/>
730      <arg name="value" direction="in" type="v"/>
731    </method>
732
733    <signal name="PropertiesChanged">
734      <arg type="s" name="interface"/>
735      <arg type="a{sv}" name="changed_properties"/>
736      <arg type="as" name="invalidated_properties"/>
737    </signal>
738  </interface>
739</node>
740