xref: /aosp_15_r20/external/ot-br-posix/src/dbus/server/introspect.xml (revision 4a64e381480ef79f0532b2421e44e6ee336b8e0d)
1*4a64e381SAndroid Build Coastguard Worker<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
2*4a64e381SAndroid Build Coastguard Worker "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
3*4a64e381SAndroid Build Coastguard Worker<node>
4*4a64e381SAndroid Build Coastguard Worker  <interface name="io.openthread.BorderRouter">
5*4a64e381SAndroid Build Coastguard Worker    <!-- Scan: Perform a Thread network scan.
6*4a64e381SAndroid Build Coastguard Worker      @scan_result: array of scan results.
7*4a64e381SAndroid Build Coastguard Worker
8*4a64e381SAndroid Build Coastguard Worker      The result struture definition is:
9*4a64e381SAndroid Build Coastguard Worker      <literallayout>
10*4a64e381SAndroid Build Coastguard Worker        struct {
11*4a64e381SAndroid Build Coastguard Worker          uint64 ext_address
12*4a64e381SAndroid Build Coastguard Worker          string network_name
13*4a64e381SAndroid Build Coastguard Worker          uint64 ext_panid
14*4a64e381SAndroid Build Coastguard Worker          uint8[] steering_data
15*4a64e381SAndroid Build Coastguard Worker          uint16 panid
16*4a64e381SAndroid Build Coastguard Worker          uint16 joiner_udp_port
17*4a64e381SAndroid Build Coastguard Worker          uint8 channel
18*4a64e381SAndroid Build Coastguard Worker          int16 rssi
19*4a64e381SAndroid Build Coastguard Worker          uint8 lqi
20*4a64e381SAndroid Build Coastguard Worker          uint8 version
21*4a64e381SAndroid Build Coastguard Worker          bool is_native
22*4a64e381SAndroid Build Coastguard Worker          bool is_joinable
23*4a64e381SAndroid Build Coastguard Worker        }
24*4a64e381SAndroid Build Coastguard Worker      </literallayout>
25*4a64e381SAndroid Build Coastguard Worker    -->
26*4a64e381SAndroid Build Coastguard Worker    <method name="Scan">
27*4a64e381SAndroid Build Coastguard Worker      <arg name="scan_result" type="a(tstayqqynyybb)" direction="out"/>
28*4a64e381SAndroid Build Coastguard Worker    </method>
29*4a64e381SAndroid Build Coastguard Worker
30*4a64e381SAndroid Build Coastguard Worker    <!-- Energy Scan: Perform a Thread energy scan.
31*4a64e381SAndroid Build Coastguard Worker      @scanDuration: The 32-bit duration time for the scan of each channel, in milliseconds.
32*4a64e381SAndroid Build Coastguard Worker
33*4a64e381SAndroid Build Coastguard Worker      @result: array of energy scan results.
34*4a64e381SAndroid Build Coastguard Worker
35*4a64e381SAndroid Build Coastguard Worker      The result struture definition is:
36*4a64e381SAndroid Build Coastguard Worker      <literallayout>
37*4a64e381SAndroid Build Coastguard Worker        struct {
38*4a64e381SAndroid Build Coastguard Worker          uint8  channel
39*4a64e381SAndroid Build Coastguard Worker          int8_t max_rssi
40*4a64e381SAndroid Build Coastguard Worker        }
41*4a64e381SAndroid Build Coastguard Worker      </literallayout>
42*4a64e381SAndroid Build Coastguard Worker    -->
43*4a64e381SAndroid Build Coastguard Worker    <method name="EnergyScan">
44*4a64e381SAndroid Build Coastguard Worker      <arg name="scanduration" type="u"/>
45*4a64e381SAndroid Build Coastguard Worker      <arg name="result" type="a(yy)" direction="out"/>
46*4a64e381SAndroid Build Coastguard Worker    </method>
47*4a64e381SAndroid Build Coastguard Worker
48*4a64e381SAndroid Build Coastguard Worker    <!-- Attach: Attach the current device to the Thread network.
49*4a64e381SAndroid Build Coastguard Worker      @networkkey: The 128-bit network network key, empty for random.
50*4a64e381SAndroid Build Coastguard Worker      @panid: The 16-bit panid, UINT16_MAX for any.
51*4a64e381SAndroid Build Coastguard Worker      @networkname: The Thread network name.
52*4a64e381SAndroid Build Coastguard Worker      @extpanid: The 64-bit extended panid, UINT64_MAX for random.
53*4a64e381SAndroid Build Coastguard Worker      @pskc: The 128-bit pre-shared key for commissione, empty for random.
54*4a64e381SAndroid Build Coastguard Worker      @channel_mask: The bitwise channel mask, will randomly select a valid channel.
55*4a64e381SAndroid Build Coastguard Worker
56*4a64e381SAndroid Build Coastguard Worker      You can also call this method with no arugment to use the current active network dataset.
57*4a64e381SAndroid Build Coastguard Worker    -->
58*4a64e381SAndroid Build Coastguard Worker    <method name="Attach">
59*4a64e381SAndroid Build Coastguard Worker      <arg name="networkkey" type="ay"/>
60*4a64e381SAndroid Build Coastguard Worker      <arg name="panid" type="q"/>
61*4a64e381SAndroid Build Coastguard Worker      <arg name="networkname" type="s"/>
62*4a64e381SAndroid Build Coastguard Worker      <arg name="extpanid" type="t"/>
63*4a64e381SAndroid Build Coastguard Worker      <arg name="pskc" type="ay"/>
64*4a64e381SAndroid Build Coastguard Worker      <arg name="channel_mask" type="u"/>
65*4a64e381SAndroid Build Coastguard Worker    </method>
66*4a64e381SAndroid Build Coastguard Worker
67*4a64e381SAndroid Build Coastguard Worker    <!-- AttachAllNodesTo: Request to attach all nodes to the specified Thread network.
68*4a64e381SAndroid Build Coastguard Worker      @dataset: The Operational Dataset that contains parameter values of the Thread network
69*4a64e381SAndroid Build Coastguard Worker                to attach to. It must be a full dataset.
70*4a64e381SAndroid Build Coastguard Worker      @delay_ms: The delay between the method returns and the dataset takes effect, in
71*4a64e381SAndroid Build Coastguard Worker                 milliseconds. If this value is 0, then the node is attached to the given network
72*4a64e381SAndroid Build Coastguard Worker                 when this method returns. If this value is not 0, then the node is attached to
73*4a64e381SAndroid Build Coastguard Worker                 its existing network when this method returns, and will attach to the given
74*4a64e381SAndroid Build Coastguard Worker                 network after the delay.
75*4a64e381SAndroid Build Coastguard Worker    -->
76*4a64e381SAndroid Build Coastguard Worker    <method name="AttachAllNodesTo">
77*4a64e381SAndroid Build Coastguard Worker      <arg name="dataset" type="ay"/>
78*4a64e381SAndroid Build Coastguard Worker      <arg name="delay_ms" type="x" direction="out"/>
79*4a64e381SAndroid Build Coastguard Worker    </method>
80*4a64e381SAndroid Build Coastguard Worker
81*4a64e381SAndroid Build Coastguard Worker    <!-- Detach: Detach the current device from the Thread network. -->
82*4a64e381SAndroid Build Coastguard Worker    <method name="Detach">
83*4a64e381SAndroid Build Coastguard Worker    </method>
84*4a64e381SAndroid Build Coastguard Worker
85*4a64e381SAndroid Build Coastguard Worker    <!-- PermitUnsecureJoin: Allow joining the network via unsecure traffic temporarily.
86*4a64e381SAndroid Build Coastguard Worker      @port: The port of the unsecure traffic.
87*4a64e381SAndroid Build Coastguard Worker      @timeout: The timeout for the permission.
88*4a64e381SAndroid Build Coastguard Worker    -->
89*4a64e381SAndroid Build Coastguard Worker    <method name="PermitUnsecureJoin">
90*4a64e381SAndroid Build Coastguard Worker      <arg name="port" type="q"/>
91*4a64e381SAndroid Build Coastguard Worker      <arg name="timeout" type="u"/>
92*4a64e381SAndroid Build Coastguard Worker    </method>
93*4a64e381SAndroid Build Coastguard Worker
94*4a64e381SAndroid Build Coastguard Worker    <!-- JoinerStart: Start Thread joining.
95*4a64e381SAndroid Build Coastguard Worker      @pskd: The pre-shared key for the device.
96*4a64e381SAndroid Build Coastguard Worker      @provision_url: The url for further provision.
97*4a64e381SAndroid Build Coastguard Worker      @vendor vendor_name: The current device vendor name.
98*4a64e381SAndroid Build Coastguard Worker      @vendor vendor_model: The current device model.
99*4a64e381SAndroid Build Coastguard Worker      @vendor vendor_sw_version: The current device software version.
100*4a64e381SAndroid Build Coastguard Worker      @vendor vendor_data: The additional vendor data.
101*4a64e381SAndroid Build Coastguard Worker    -->
102*4a64e381SAndroid Build Coastguard Worker    <method name="JoinerStart">
103*4a64e381SAndroid Build Coastguard Worker      <arg name="pskd" type="s"/>
104*4a64e381SAndroid Build Coastguard Worker      <arg name="provision_url" type="s"/>
105*4a64e381SAndroid Build Coastguard Worker      <arg name="vendor_name" type="s"/>
106*4a64e381SAndroid Build Coastguard Worker      <arg name="vendor_model" type="s"/>
107*4a64e381SAndroid Build Coastguard Worker      <arg name="vendor_sw_version" type="s"/>
108*4a64e381SAndroid Build Coastguard Worker      <arg name="vendor_data" type="s"/>
109*4a64e381SAndroid Build Coastguard Worker    </method>
110*4a64e381SAndroid Build Coastguard Worker
111*4a64e381SAndroid Build Coastguard Worker    <!-- JoinerStop: Stop Thread joining. -->
112*4a64e381SAndroid Build Coastguard Worker    <method name="JoinerStop">
113*4a64e381SAndroid Build Coastguard Worker    </method>
114*4a64e381SAndroid Build Coastguard Worker
115*4a64e381SAndroid Build Coastguard Worker    <!-- FactoryReset: Perform a factory reset, will wipe all Thread persistent data. -->
116*4a64e381SAndroid Build Coastguard Worker    <method name="FactoryReset">
117*4a64e381SAndroid Build Coastguard Worker    </method>
118*4a64e381SAndroid Build Coastguard Worker
119*4a64e381SAndroid Build Coastguard Worker    <!-- Reset: Perform a reset, will try to resume the network after reset. -->
120*4a64e381SAndroid Build Coastguard Worker    <method name="Reset">
121*4a64e381SAndroid Build Coastguard Worker    </method>
122*4a64e381SAndroid Build Coastguard Worker
123*4a64e381SAndroid Build Coastguard Worker    <!-- AddExternalRoute: Add an external border routing rule to the network.
124*4a64e381SAndroid Build Coastguard Worker      @prefix: The prefix for border routing.
125*4a64e381SAndroid Build Coastguard Worker
126*4a64e381SAndroid Build Coastguard Worker      This will make the current device act as the border router for the prefix.
127*4a64e381SAndroid Build Coastguard Worker      The prefix structure is:
128*4a64e381SAndroid Build Coastguard Worker      <literallayout>
129*4a64e381SAndroid Build Coastguard Worker        struct {
130*4a64e381SAndroid Build Coastguard Worker          struct {
131*4a64e381SAndroid Build Coastguard Worker            uint8[] prefix_bytes
132*4a64e381SAndroid Build Coastguard Worker            uint8 prefix_length
133*4a64e381SAndroid Build Coastguard Worker          }
134*4a64e381SAndroid Build Coastguard Worker          uint16 rloc // Not used
135*4a64e381SAndroid Build Coastguard Worker          uint8 preference
136*4a64e381SAndroid Build Coastguard Worker          bool stable
137*4a64e381SAndroid Build Coastguard Worker          bool next_hop_is_self // Not used
138*4a64e381SAndroid Build Coastguard Worker        }
139*4a64e381SAndroid Build Coastguard Worker      </literallayout>
140*4a64e381SAndroid Build Coastguard Worker    -->
141*4a64e381SAndroid Build Coastguard Worker    <method name="AddExternalRoute">
142*4a64e381SAndroid Build Coastguard Worker      <arg name="prefix" type="((ayy)qybb)"/>
143*4a64e381SAndroid Build Coastguard Worker    </method>
144*4a64e381SAndroid Build Coastguard Worker
145*4a64e381SAndroid Build Coastguard Worker    <!-- RemoveExternalRoute: Remove an external border routing rule from the network.
146*4a64e381SAndroid Build Coastguard Worker      @prefix: The prefix for border routing.
147*4a64e381SAndroid Build Coastguard Worker
148*4a64e381SAndroid Build Coastguard Worker      The prefix structure is:
149*4a64e381SAndroid Build Coastguard Worker      <literallayout>
150*4a64e381SAndroid Build Coastguard Worker        struct {
151*4a64e381SAndroid Build Coastguard Worker          uint8[] prefix_bytes
152*4a64e381SAndroid Build Coastguard Worker          uint8 prefix_length
153*4a64e381SAndroid Build Coastguard Worker        }
154*4a64e381SAndroid Build Coastguard Worker      </literallayout>
155*4a64e381SAndroid Build Coastguard Worker    -->
156*4a64e381SAndroid Build Coastguard Worker    <method name="RemoveExternalRoute">
157*4a64e381SAndroid Build Coastguard Worker      <arg name="prefix" type="(ayy)"/>
158*4a64e381SAndroid Build Coastguard Worker    </method>
159*4a64e381SAndroid Build Coastguard Worker
160*4a64e381SAndroid Build Coastguard Worker    <!-- AddOnMeshPrefix: Add an on-mesh prefix to the network.
161*4a64e381SAndroid Build Coastguard Worker      @prefix: The on-mesh prefix.
162*4a64e381SAndroid Build Coastguard Worker
163*4a64e381SAndroid Build Coastguard Worker      The on-mesh prefix structure is:
164*4a64e381SAndroid Build Coastguard Worker      <literallayout>
165*4a64e381SAndroid Build Coastguard Worker        struct {
166*4a64e381SAndroid Build Coastguard Worker          struct {
167*4a64e381SAndroid Build Coastguard Worker            uint8[] prefix_bytes
168*4a64e381SAndroid Build Coastguard Worker            uint8 prefix_length
169*4a64e381SAndroid Build Coastguard Worker          }
170*4a64e381SAndroid Build Coastguard Worker          uint16 rloc16
171*4a64e381SAndroid Build Coastguard Worker          byte preference
172*4a64e381SAndroid Build Coastguard Worker          bool preferred
173*4a64e381SAndroid Build Coastguard Worker          bool slaac
174*4a64e381SAndroid Build Coastguard Worker          bool dhcp
175*4a64e381SAndroid Build Coastguard Worker          bool configure
176*4a64e381SAndroid Build Coastguard Worker          bool default_route
177*4a64e381SAndroid Build Coastguard Worker          bool on_mesh
178*4a64e381SAndroid Build Coastguard Worker          bool stable
179*4a64e381SAndroid Build Coastguard Worker          bool nd_dns
180*4a64e381SAndroid Build Coastguard Worker          bool dp
181*4a64e381SAndroid Build Coastguard Worker        }
182*4a64e381SAndroid Build Coastguard Worker      </literallayout>
183*4a64e381SAndroid Build Coastguard Worker    -->
184*4a64e381SAndroid Build Coastguard Worker    <method name="AddOnMeshPrefix">
185*4a64e381SAndroid Build Coastguard Worker      <arg name="prefix" type="((ayy)qybbbbbbbbb)"/>
186*4a64e381SAndroid Build Coastguard Worker    </method>
187*4a64e381SAndroid Build Coastguard Worker
188*4a64e381SAndroid Build Coastguard Worker    <!-- RemoveOnMeshPrefix: Remove an on-mesh prefix from the network.
189*4a64e381SAndroid Build Coastguard Worker      @prefix: The on-mesh prefix.
190*4a64e381SAndroid Build Coastguard Worker
191*4a64e381SAndroid Build Coastguard Worker      The prefix structure is:
192*4a64e381SAndroid Build Coastguard Worker      <literallayout>
193*4a64e381SAndroid Build Coastguard Worker        struct {
194*4a64e381SAndroid Build Coastguard Worker          uint8[] prefix_bytes
195*4a64e381SAndroid Build Coastguard Worker          uint8 prefix_length
196*4a64e381SAndroid Build Coastguard Worker        }
197*4a64e381SAndroid Build Coastguard Worker      </literallayout>
198*4a64e381SAndroid Build Coastguard Worker    -->
199*4a64e381SAndroid Build Coastguard Worker    <method name="RemoveOnMeshPrefix">
200*4a64e381SAndroid Build Coastguard Worker      <arg name="prefix" type="(ayy)"/>
201*4a64e381SAndroid Build Coastguard Worker    </method>
202*4a64e381SAndroid Build Coastguard Worker
203*4a64e381SAndroid Build Coastguard Worker    <!-- UpdateMeshCopTxt: Update multiple entries in the TXT record.
204*4a64e381SAndroid Build Coastguard Worker      @key: The key of the entry.
205*4a64e381SAndroid Build Coastguard Worker      @value: The value of the entry.
206*4a64e381SAndroid Build Coastguard Worker
207*4a64e381SAndroid Build Coastguard Worker      The prefix structure is:
208*4a64e381SAndroid Build Coastguard Worker      <literallayout>
209*4a64e381SAndroid Build Coastguard Worker        struct {
210*4a64e381SAndroid Build Coastguard Worker          string key
211*4a64e381SAndroid Build Coastguard Worker          uint8[] value
212*4a64e381SAndroid Build Coastguard Worker        }
213*4a64e381SAndroid Build Coastguard Worker      </literallayout>
214*4a64e381SAndroid Build Coastguard Worker    -->
215*4a64e381SAndroid Build Coastguard Worker    <method name="UpdateVendorMeshCopTxtEntries">
216*4a64e381SAndroid Build Coastguard Worker      <arg name="update" type="a(say)" direction="in"/>
217*4a64e381SAndroid Build Coastguard Worker    </method>
218*4a64e381SAndroid Build Coastguard Worker
219*4a64e381SAndroid Build Coastguard Worker    <!-- GetProperties: Get one or more OpenThread properties.
220*4a64e381SAndroid Build Coastguard Worker      @properties: Names of properties.
221*4a64e381SAndroid Build Coastguard Worker    -->
222*4a64e381SAndroid Build Coastguard Worker    <method name="GetProperties">
223*4a64e381SAndroid Build Coastguard Worker      <arg name="properties" type="as" direction="in"/>
224*4a64e381SAndroid Build Coastguard Worker    </method>
225*4a64e381SAndroid Build Coastguard Worker
226*4a64e381SAndroid Build Coastguard Worker    <!-- LeaveNetwork: Detach from the network and forget the credentials. -->
227*4a64e381SAndroid Build Coastguard Worker    <method name="LeaveNetwork">
228*4a64e381SAndroid Build Coastguard Worker    </method>
229*4a64e381SAndroid Build Coastguard Worker
230*4a64e381SAndroid Build Coastguard Worker    <method name="SetNat64Enabled">
231*4a64e381SAndroid Build Coastguard Worker      <arg name="enable" type="b" direction="in"/>
232*4a64e381SAndroid Build Coastguard Worker    </method>
233*4a64e381SAndroid Build Coastguard Worker
234*4a64e381SAndroid Build Coastguard Worker    <property name="EphemeralKeyEnabled" type="b" access="readwrite">
235*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
236*4a64e381SAndroid Build Coastguard Worker    </property>
237*4a64e381SAndroid Build Coastguard Worker
238*4a64e381SAndroid Build Coastguard Worker    <!-- ActivateEphemeralKeyMode: Activate ePSKc mode.
239*4a64e381SAndroid Build Coastguard Worker      @lifetime: in milliseconds, duration of active ePSKc mode before secure session is established.
240*4a64e381SAndroid Build Coastguard Worker                 0 for OT_BORDER_AGENT_DEFAULT_EPHEMERAL_KEY_TIMEOUT (2 min).
241*4a64e381SAndroid Build Coastguard Worker      @epskc: returns the ephemeral key digit string of length 9 with first 8 digits randomly generated,
242*4a64e381SAndroid Build Coastguard Worker              and the last digit as verhoeff checksum.
243*4a64e381SAndroid Build Coastguard Worker    -->
244*4a64e381SAndroid Build Coastguard Worker    <method name="ActivateEphemeralKeyMode">
245*4a64e381SAndroid Build Coastguard Worker      <arg name="lifetime" type="u" direction="in"/>
246*4a64e381SAndroid Build Coastguard Worker      <arg name="epskc" type="s" direction="out"/>
247*4a64e381SAndroid Build Coastguard Worker    </method>
248*4a64e381SAndroid Build Coastguard Worker
249*4a64e381SAndroid Build Coastguard Worker    <!-- DeactivateEphemeralKeyMode: Deactivate ePSKc mode. -->
250*4a64e381SAndroid Build Coastguard Worker    <method name="DeactivateEphemeralKeyMode">
251*4a64e381SAndroid Build Coastguard Worker    </method>
252*4a64e381SAndroid Build Coastguard Worker
253*4a64e381SAndroid Build Coastguard Worker    <!-- MeshLocalPrefix: The /64 mesh-local prefix.  -->
254*4a64e381SAndroid Build Coastguard Worker    <property name="MeshLocalPrefix" type="ay" access="readwrite">
255*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
256*4a64e381SAndroid Build Coastguard Worker    </property>
257*4a64e381SAndroid Build Coastguard Worker
258*4a64e381SAndroid Build Coastguard Worker    <!-- LinkMode: The current link mode.
259*4a64e381SAndroid Build Coastguard Worker      <literallayout>
260*4a64e381SAndroid Build Coastguard Worker      struct {
261*4a64e381SAndroid Build Coastguard Worker        bool rx_on_when_idle    //whether the radio receiving is on when idle
262*4a64e381SAndroid Build Coastguard Worker        bool device_type        //ftd or mtd
263*4a64e381SAndroid Build Coastguard Worker        bool network_data       //full or stable
264*4a64e381SAndroid Build Coastguard Worker      }
265*4a64e381SAndroid Build Coastguard Worker      </literallayout>
266*4a64e381SAndroid Build Coastguard Worker    -->
267*4a64e381SAndroid Build Coastguard Worker    <property name="LinkMode" type="(bbb)" access="readwrite">
268*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
269*4a64e381SAndroid Build Coastguard Worker    </property>
270*4a64e381SAndroid Build Coastguard Worker
271*4a64e381SAndroid Build Coastguard Worker    <!-- DeviceRole: The current device role.
272*4a64e381SAndroid Build Coastguard Worker      Possible values are:
273*4a64e381SAndroid Build Coastguard Worker      <literallayout>
274*4a64e381SAndroid Build Coastguard Worker        0: Disabled
275*4a64e381SAndroid Build Coastguard Worker        1: Detached
276*4a64e381SAndroid Build Coastguard Worker        2: Child
277*4a64e381SAndroid Build Coastguard Worker        3: Router
278*4a64e381SAndroid Build Coastguard Worker        4: Leader
279*4a64e381SAndroid Build Coastguard Worker      </literallayout>
280*4a64e381SAndroid Build Coastguard Worker    -->
281*4a64e381SAndroid Build Coastguard Worker    <property name="DeviceRole" type="s" access="read">
282*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="true"/>
283*4a64e381SAndroid Build Coastguard Worker    </property>
284*4a64e381SAndroid Build Coastguard Worker
285*4a64e381SAndroid Build Coastguard Worker    <!-- NetworkName: The network name. -->
286*4a64e381SAndroid Build Coastguard Worker    <property name="NetworkName" type="s" access="read">
287*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
288*4a64e381SAndroid Build Coastguard Worker    </property>
289*4a64e381SAndroid Build Coastguard Worker
290*4a64e381SAndroid Build Coastguard Worker    <!-- PanId: The pan ID. -->
291*4a64e381SAndroid Build Coastguard Worker    <property name="PanId" type="q" access="read">
292*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
293*4a64e381SAndroid Build Coastguard Worker    </property>
294*4a64e381SAndroid Build Coastguard Worker
295*4a64e381SAndroid Build Coastguard Worker    <!-- ExtPanId: The extended pan ID. -->
296*4a64e381SAndroid Build Coastguard Worker    <property name="ExtPanId" type="t" access="read">
297*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
298*4a64e381SAndroid Build Coastguard Worker    </property>
299*4a64e381SAndroid Build Coastguard Worker
300*4a64e381SAndroid Build Coastguard Worker    <!-- Channel: The current network channel, from 11 to 26 -->
301*4a64e381SAndroid Build Coastguard Worker    <property name="Channel" type="q" access="read">
302*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
303*4a64e381SAndroid Build Coastguard Worker    </property>
304*4a64e381SAndroid Build Coastguard Worker
305*4a64e381SAndroid Build Coastguard Worker    <!-- CcaFailureRate: The Clear Channel Assessment failure rate. -->
306*4a64e381SAndroid Build Coastguard Worker    <property name="CcaFailureRate" type="q" access="read">
307*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
308*4a64e381SAndroid Build Coastguard Worker    </property>
309*4a64e381SAndroid Build Coastguard Worker
310*4a64e381SAndroid Build Coastguard Worker    <!-- MacCounters: The mac layer statistic counters.
311*4a64e381SAndroid Build Coastguard Worker      The counter structure definition:
312*4a64e381SAndroid Build Coastguard Worker      <literallayout>
313*4a64e381SAndroid Build Coastguard Worker        struct {
314*4a64e381SAndroid Build Coastguard Worker          uint32 tx_total;
315*4a64e381SAndroid Build Coastguard Worker          uint32 tx_unicast;
316*4a64e381SAndroid Build Coastguard Worker          uint32 tx_broadcast;
317*4a64e381SAndroid Build Coastguard Worker          uint32 tx_ack_requested;
318*4a64e381SAndroid Build Coastguard Worker          uint32 tx_acked;
319*4a64e381SAndroid Build Coastguard Worker          uint32 tx_no_ack_requested;
320*4a64e381SAndroid Build Coastguard Worker          uint32 tx_data;
321*4a64e381SAndroid Build Coastguard Worker          uint32 tx_data_poll;
322*4a64e381SAndroid Build Coastguard Worker          uint32 tx_beacon;
323*4a64e381SAndroid Build Coastguard Worker          uint32 tx_beacon_request;
324*4a64e381SAndroid Build Coastguard Worker          uint32 tx_other;
325*4a64e381SAndroid Build Coastguard Worker          uint32 tx_retry;
326*4a64e381SAndroid Build Coastguard Worker          uint32 tx_err_cca;
327*4a64e381SAndroid Build Coastguard Worker          uint32 tx_err_abort;
328*4a64e381SAndroid Build Coastguard Worker          uint32 tx_busy_channel;
329*4a64e381SAndroid Build Coastguard Worker          uint32 rx_total;
330*4a64e381SAndroid Build Coastguard Worker          uint32 rx_unicast;
331*4a64e381SAndroid Build Coastguard Worker          uint32 rx_broadcast;
332*4a64e381SAndroid Build Coastguard Worker          uint32 rx_data;
333*4a64e381SAndroid Build Coastguard Worker          uint32 rx_data_poll;
334*4a64e381SAndroid Build Coastguard Worker          uint32 rx_beacon;
335*4a64e381SAndroid Build Coastguard Worker          uint32 rx_beacon_request;
336*4a64e381SAndroid Build Coastguard Worker          uint32 rx_other;
337*4a64e381SAndroid Build Coastguard Worker          uint32 rx_address_filtered;
338*4a64e381SAndroid Build Coastguard Worker          uint32 rx_dest_address_filtered;
339*4a64e381SAndroid Build Coastguard Worker          uint32 rx_duplicated;
340*4a64e381SAndroid Build Coastguard Worker          uint32 rx_err_no_frame;
341*4a64e381SAndroid Build Coastguard Worker          uint32 rx_err_unknown_neighbor;
342*4a64e381SAndroid Build Coastguard Worker          uint32 rx_err_invalid_src_addr;
343*4a64e381SAndroid Build Coastguard Worker          uint32 rx_err_sec;
344*4a64e381SAndroid Build Coastguard Worker          uint32 rx_err_fcs;
345*4a64e381SAndroid Build Coastguard Worker          uint32 rx_err_other;
346*4a64e381SAndroid Build Coastguard Worker        }
347*4a64e381SAndroid Build Coastguard Worker      </literallayout>
348*4a64e381SAndroid Build Coastguard Worker    -->
349*4a64e381SAndroid Build Coastguard Worker    <property name="MacCounters" type="(uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu)" access="read">
350*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
351*4a64e381SAndroid Build Coastguard Worker    </property>
352*4a64e381SAndroid Build Coastguard Worker
353*4a64e381SAndroid Build Coastguard Worker    <!-- LinkCounters: The link statistic counters.
354*4a64e381SAndroid Build Coastguard Worker      The counter structure definition:
355*4a64e381SAndroid Build Coastguard Worker      <literallayout>
356*4a64e381SAndroid Build Coastguard Worker        struct {
357*4a64e381SAndroid Build Coastguard Worker          uint32 ip_tx_success;
358*4a64e381SAndroid Build Coastguard Worker          uint32 ip_rx_success;
359*4a64e381SAndroid Build Coastguard Worker          uint32 ip_tx_failure;
360*4a64e381SAndroid Build Coastguard Worker          uint32 ip_rx_failure;
361*4a64e381SAndroid Build Coastguard Worker        }
362*4a64e381SAndroid Build Coastguard Worker      </literallayout>
363*4a64e381SAndroid Build Coastguard Worker    -->
364*4a64e381SAndroid Build Coastguard Worker    <property name="LinkCounters" type="(uuuu)" access="read">
365*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
366*4a64e381SAndroid Build Coastguard Worker    </property>
367*4a64e381SAndroid Build Coastguard Worker
368*4a64e381SAndroid Build Coastguard Worker    <!-- LinkSupportedChannelMask: The bitwise link supported channel mask -->
369*4a64e381SAndroid Build Coastguard Worker    <property name="LinkSupportedChannelMask" type="u" access="read">
370*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
371*4a64e381SAndroid Build Coastguard Worker    </property>
372*4a64e381SAndroid Build Coastguard Worker
373*4a64e381SAndroid Build Coastguard Worker    <!-- LinkPreferredChannelMask: The bitwise link preferred channel mask -->
374*4a64e381SAndroid Build Coastguard Worker    <property name="LinkPreferredChannelMask" type="u" access="read">
375*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
376*4a64e381SAndroid Build Coastguard Worker    </property>
377*4a64e381SAndroid Build Coastguard Worker
378*4a64e381SAndroid Build Coastguard Worker    <!-- Rloc16: The 16-bit routing locator -->
379*4a64e381SAndroid Build Coastguard Worker    <property name="Rloc16" type="q" access="read">
380*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
381*4a64e381SAndroid Build Coastguard Worker    </property>
382*4a64e381SAndroid Build Coastguard Worker
383*4a64e381SAndroid Build Coastguard Worker    <!-- ExtendedAddress: The 64-bit extended address -->
384*4a64e381SAndroid Build Coastguard Worker    <property name="ExtendedAddress" type="t" access="read">
385*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
386*4a64e381SAndroid Build Coastguard Worker    </property>
387*4a64e381SAndroid Build Coastguard Worker
388*4a64e381SAndroid Build Coastguard Worker    <!-- RouterID: The current router ID -->
389*4a64e381SAndroid Build Coastguard Worker    <property name="RouterID" type="y" access="read">
390*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
391*4a64e381SAndroid Build Coastguard Worker    </property>
392*4a64e381SAndroid Build Coastguard Worker
393*4a64e381SAndroid Build Coastguard Worker    <!-- LeaderData: The network leader data.
394*4a64e381SAndroid Build Coastguard Worker      The structure definition:
395*4a64e381SAndroid Build Coastguard Worker      <literallayout>
396*4a64e381SAndroid Build Coastguard Worker        struct {
397*4a64e381SAndroid Build Coastguard Worker          uint32_t mPartitionId;       // Partition ID
398*4a64e381SAndroid Build Coastguard Worker          uint8_t  mWeighting;         // Leader Weight
399*4a64e381SAndroid Build Coastguard Worker          uint8_t  mDataVersion;       // Full Network Data Version
400*4a64e381SAndroid Build Coastguard Worker          uint8_t  mStableDataVersion; // Stable Network Data Version
401*4a64e381SAndroid Build Coastguard Worker          uint8_t  mLeaderRouterId;    // Leader Router ID
402*4a64e381SAndroid Build Coastguard Worker        }
403*4a64e381SAndroid Build Coastguard Worker      </literallayout>
404*4a64e381SAndroid Build Coastguard Worker    -->
405*4a64e381SAndroid Build Coastguard Worker    <property name="LeaderData" type="(uyyyy)" access="read">
406*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
407*4a64e381SAndroid Build Coastguard Worker    </property>
408*4a64e381SAndroid Build Coastguard Worker
409*4a64e381SAndroid Build Coastguard Worker    <!-- NetworkData: The network data. -->
410*4a64e381SAndroid Build Coastguard Worker    <property name="NetworkData" type="ay" access="read">
411*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
412*4a64e381SAndroid Build Coastguard Worker    </property>
413*4a64e381SAndroid Build Coastguard Worker
414*4a64e381SAndroid Build Coastguard Worker    <!-- StableNetworkData: The stable network data. -->
415*4a64e381SAndroid Build Coastguard Worker    <property name="StableNetworkData" type="ay" access="read">
416*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
417*4a64e381SAndroid Build Coastguard Worker    </property>
418*4a64e381SAndroid Build Coastguard Worker
419*4a64e381SAndroid Build Coastguard Worker    <!-- LocalLeaderWeight: The leader weight of the current node. -->
420*4a64e381SAndroid Build Coastguard Worker    <property name="LocalLeaderWeight" type="y" access="read">
421*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
422*4a64e381SAndroid Build Coastguard Worker    </property>
423*4a64e381SAndroid Build Coastguard Worker
424*4a64e381SAndroid Build Coastguard Worker    <!-- ChannelMonitorSampleCount: The number of the collected samples from the channel monitor -->
425*4a64e381SAndroid Build Coastguard Worker    <property name="ChannelMonitorSampleCount" type="u" access="read">
426*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
427*4a64e381SAndroid Build Coastguard Worker    </property>
428*4a64e381SAndroid Build Coastguard Worker
429*4a64e381SAndroid Build Coastguard Worker    <!-- ChannelMonitorChannelQualityMap: The channel monitor statistics data.
430*4a64e381SAndroid Build Coastguard Worker      The structure definition:
431*4a64e381SAndroid Build Coastguard Worker      <literallayout>
432*4a64e381SAndroid Build Coastguard Worker        struct {
433*4a64e381SAndroid Build Coastguard Worker          uint8_t  mChannel;
434*4a64e381SAndroid Build Coastguard Worker          uint16_t mOccupancy;
435*4a64e381SAndroid Build Coastguard Worker        }
436*4a64e381SAndroid Build Coastguard Worker      </literallayout>
437*4a64e381SAndroid Build Coastguard Worker    -->
438*4a64e381SAndroid Build Coastguard Worker    <property name="ChannelMonitorChannelQualityMap" type="a(yq)" access="read">
439*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
440*4a64e381SAndroid Build Coastguard Worker    </property>
441*4a64e381SAndroid Build Coastguard Worker
442*4a64e381SAndroid Build Coastguard Worker    <!-- ChildTable: The node's child table as an array of child entry structure.
443*4a64e381SAndroid Build Coastguard Worker      The child entry structure definition:
444*4a64e381SAndroid Build Coastguard Worker      <literallayout>
445*4a64e381SAndroid Build Coastguard Worker        struct {
446*4a64e381SAndroid Build Coastguard Worker          uint64_t mExtAddress;         // IEEE 802.15.4 Extended Address
447*4a64e381SAndroid Build Coastguard Worker          uint32_t mTimeout;            // Timeout
448*4a64e381SAndroid Build Coastguard Worker          uint32_t mAge;                // Time last heard
449*4a64e381SAndroid Build Coastguard Worker          uint16_t mRloc16;             // RLOC16
450*4a64e381SAndroid Build Coastguard Worker          uint16_t mChildId;            // Child ID
451*4a64e381SAndroid Build Coastguard Worker          uint8_t  mNetworkDataVersion; // Network Data Version
452*4a64e381SAndroid Build Coastguard Worker          uint8_t  mLinkQualityIn;      // Link Quality In
453*4a64e381SAndroid Build Coastguard Worker          int8_t   mAverageRssi;        // Average RSSI
454*4a64e381SAndroid Build Coastguard Worker          int8_t   mLastRssi;           // Last observed RSSI
455*4a64e381SAndroid Build Coastguard Worker          uint16_t mFrameErrorRate;     // Frame error rate (0xffff->100%). Requires error tracking feature.
456*4a64e381SAndroid Build Coastguard Worker          uint16_t mMessageErrorRate;   // (IPv6) msg error rate (0xffff->100%). Requires error tracking feature.
457*4a64e381SAndroid Build Coastguard Worker          bool     mRxOnWhenIdle;       // rx-on-when-idle
458*4a64e381SAndroid Build Coastguard Worker          bool     mFullThreadDevice;   // Full Thread Device
459*4a64e381SAndroid Build Coastguard Worker          bool     mFullNetworkData;    // Full Network Data
460*4a64e381SAndroid Build Coastguard Worker          bool     mIsStateRestoring;   // Is in restoring state
461*4a64e381SAndroid Build Coastguard Worker        }
462*4a64e381SAndroid Build Coastguard Worker      </literallayout>
463*4a64e381SAndroid Build Coastguard Worker    -->
464*4a64e381SAndroid Build Coastguard Worker    <property name="ChildTable" type="a(tuuqqyyyyqqbbbb)" access="read">
465*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
466*4a64e381SAndroid Build Coastguard Worker    </property>
467*4a64e381SAndroid Build Coastguard Worker
468*4a64e381SAndroid Build Coastguard Worker    <!-- NeighborTable: The node's neighbor table as an array of neighbor entry structure.
469*4a64e381SAndroid Build Coastguard Worker      The neighbor entry structure definition:
470*4a64e381SAndroid Build Coastguard Worker      <literallayout>
471*4a64e381SAndroid Build Coastguard Worker        struct {
472*4a64e381SAndroid Build Coastguard Worker          uint64_t mExtAddress;        // IEEE 802.15.4 Extended Address
473*4a64e381SAndroid Build Coastguard Worker          uint32_t mAge;               // Time last heard
474*4a64e381SAndroid Build Coastguard Worker          uint16_t mRloc16;            // RLOC16
475*4a64e381SAndroid Build Coastguard Worker          uint32_t mLinkFrameCounter;  // Link Frame Counter
476*4a64e381SAndroid Build Coastguard Worker          uint32_t mMleFrameCounter;   // MLE Frame Counter
477*4a64e381SAndroid Build Coastguard Worker          uint8_t  mLinkQualityIn;     // Link Quality In
478*4a64e381SAndroid Build Coastguard Worker          int8_t   mAverageRssi;       // Average RSSI
479*4a64e381SAndroid Build Coastguard Worker          int8_t   mLastRssi;          // Last observed RSSI
480*4a64e381SAndroid Build Coastguard Worker          uint16_t mFrameErrorRate;    // Frame error rate (0xffff->100%). Requires error tracking feature.
481*4a64e381SAndroid Build Coastguard Worker          uint16_t mMessageErrorRate;  // (IPv6) msg error rate (0xffff->100%). Requires error tracking feature.
482*4a64e381SAndroid Build Coastguard Worker          uint16_t mVersion;           // Thread version of the neighbor
483*4a64e381SAndroid Build Coastguard Worker          bool     mRxOnWhenIdle;      // rx-on-when-idle
484*4a64e381SAndroid Build Coastguard Worker          bool     mFullThreadDevice;  // Full Thread Device
485*4a64e381SAndroid Build Coastguard Worker          bool     mFullNetworkData;   // Full Network Data
486*4a64e381SAndroid Build Coastguard Worker          bool     mIsChild;           // Is the neighbor a child
487*4a64e381SAndroid Build Coastguard Worker        }
488*4a64e381SAndroid Build Coastguard Worker      </literallayout>
489*4a64e381SAndroid Build Coastguard Worker    -->
490*4a64e381SAndroid Build Coastguard Worker    <property name="NeighborTable" type="a(tuquuyyyqqqbbbb)" access="read">
491*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
492*4a64e381SAndroid Build Coastguard Worker    </property>
493*4a64e381SAndroid Build Coastguard Worker
494*4a64e381SAndroid Build Coastguard Worker    <!-- PartitionId: The network partition ID. -->
495*4a64e381SAndroid Build Coastguard Worker    <property name="PartitionId" type="u" access="read">
496*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
497*4a64e381SAndroid Build Coastguard Worker    </property>
498*4a64e381SAndroid Build Coastguard Worker
499*4a64e381SAndroid Build Coastguard Worker    <!-- InstantRssi: The RSSI of the last received packet. -->
500*4a64e381SAndroid Build Coastguard Worker    <property name="InstantRssi" type="y" access="read">
501*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
502*4a64e381SAndroid Build Coastguard Worker    </property>
503*4a64e381SAndroid Build Coastguard Worker
504*4a64e381SAndroid Build Coastguard Worker    <!-- RadioTxPower: The radio transmit power. -->
505*4a64e381SAndroid Build Coastguard Worker    <property name="RadioTxPower" type="y" access="read">
506*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
507*4a64e381SAndroid Build Coastguard Worker    </property>
508*4a64e381SAndroid Build Coastguard Worker
509*4a64e381SAndroid Build Coastguard Worker    <!-- ExternalRoutes: The list of current external route rules.
510*4a64e381SAndroid Build Coastguard Worker      External route rule structure definition:
511*4a64e381SAndroid Build Coastguard Worker      <literallayout>
512*4a64e381SAndroid Build Coastguard Worker        struct {
513*4a64e381SAndroid Build Coastguard Worker          struct {
514*4a64e381SAndroid Build Coastguard Worker            uint8[] prefix_bytes
515*4a64e381SAndroid Build Coastguard Worker            uint8 prefix_length
516*4a64e381SAndroid Build Coastguard Worker          }
517*4a64e381SAndroid Build Coastguard Worker          uint16 rloc
518*4a64e381SAndroid Build Coastguard Worker          uint8 preference
519*4a64e381SAndroid Build Coastguard Worker          bool stable
520*4a64e381SAndroid Build Coastguard Worker          bool next_hop_is_self
521*4a64e381SAndroid Build Coastguard Worker        }
522*4a64e381SAndroid Build Coastguard Worker      </literallayout>
523*4a64e381SAndroid Build Coastguard Worker    -->
524*4a64e381SAndroid Build Coastguard Worker    <property name="ExternalRoutes" type="((ayy)qybb)" access="read">
525*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
526*4a64e381SAndroid Build Coastguard Worker    </property>
527*4a64e381SAndroid Build Coastguard Worker
528*4a64e381SAndroid Build Coastguard Worker    <!-- OnMeshPrefixes: The list of current on-mesh prefixes.
529*4a64e381SAndroid Build Coastguard Worker      on-mesh prefix structure definition:
530*4a64e381SAndroid Build Coastguard Worker      <literallayout>
531*4a64e381SAndroid Build Coastguard Worker        struct {
532*4a64e381SAndroid Build Coastguard Worker          struct {
533*4a64e381SAndroid Build Coastguard Worker            uint8[] prefix_bytes
534*4a64e381SAndroid Build Coastguard Worker            uint8 prefix_length
535*4a64e381SAndroid Build Coastguard Worker          }
536*4a64e381SAndroid Build Coastguard Worker          uint16 rloc
537*4a64e381SAndroid Build Coastguard Worker          uint8 preference
538*4a64e381SAndroid Build Coastguard Worker          bool is_preferred
539*4a64e381SAndroid Build Coastguard Worker          bool is_slaac
540*4a64e381SAndroid Build Coastguard Worker          bool is_dhcp
541*4a64e381SAndroid Build Coastguard Worker          bool is_configure
542*4a64e381SAndroid Build Coastguard Worker          bool is_default_route
543*4a64e381SAndroid Build Coastguard Worker          bool is_on_mesh
544*4a64e381SAndroid Build Coastguard Worker          bool is_stable
545*4a64e381SAndroid Build Coastguard Worker          bool is_nd_dns
546*4a64e381SAndroid Build Coastguard Worker          bool is_dp
547*4a64e381SAndroid Build Coastguard Worker        }
548*4a64e381SAndroid Build Coastguard Worker      </literallayout>
549*4a64e381SAndroid Build Coastguard Worker    -->
550*4a64e381SAndroid Build Coastguard Worker    <property name="OnMeshPrefixes" type="a((ayy)qybbbbbbbbb)" access="read">
551*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
552*4a64e381SAndroid Build Coastguard Worker    </property>
553*4a64e381SAndroid Build Coastguard Worker
554*4a64e381SAndroid Build Coastguard Worker    <!-- ActiveDatasetTlvs: The Thread active dataset tlv in binary form. -->
555*4a64e381SAndroid Build Coastguard Worker    <property name="ActiveDatasetTlvs" type="ay" access="readwrite">
556*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
557*4a64e381SAndroid Build Coastguard Worker    </property>
558*4a64e381SAndroid Build Coastguard Worker
559*4a64e381SAndroid Build Coastguard Worker    <!-- PendingDatasetTlvs: The Thread pending dataset tlv in binary form. -->
560*4a64e381SAndroid Build Coastguard Worker    <property name="PendingDatasetTlvs" type="ay" access="read">
561*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
562*4a64e381SAndroid Build Coastguard Worker    </property>
563*4a64e381SAndroid Build Coastguard Worker
564*4a64e381SAndroid Build Coastguard Worker     <!-- FeatureFlagListData: The Thread feature flags (defined as proto/feature_flag.proto)
565*4a64e381SAndroid Build Coastguard Worker      in binary form. -->
566*4a64e381SAndroid Build Coastguard Worker    <property name="FeatureFlagListData" type="ay" access="readwrite">
567*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
568*4a64e381SAndroid Build Coastguard Worker    </property>
569*4a64e381SAndroid Build Coastguard Worker
570*4a64e381SAndroid Build Coastguard Worker    <!-- RadioRegion: The radio region code in ISO 3166-1. -->
571*4a64e381SAndroid Build Coastguard Worker    <property name="RadioRegion" type="s" access="readwrite">
572*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
573*4a64e381SAndroid Build Coastguard Worker    </property>
574*4a64e381SAndroid Build Coastguard Worker
575*4a64e381SAndroid Build Coastguard Worker    <!-- SrpServerInfo: The SRP server information.
576*4a64e381SAndroid Build Coastguard Worker      <literallayout>
577*4a64e381SAndroid Build Coastguard Worker        struct {
578*4a64e381SAndroid Build Coastguard Worker          uint8 state
579*4a64e381SAndroid Build Coastguard Worker          uint16 port
580*4a64e381SAndroid Build Coastguard Worker          uint8 address_mode
581*4a64e381SAndroid Build Coastguard Worker          struct {  // hosts
582*4a64e381SAndroid Build Coastguard Worker            uint32 fresh_count
583*4a64e381SAndroid Build Coastguard Worker            uint32 deleted_count
584*4a64e381SAndroid Build Coastguard Worker            uint64 lease_time_total
585*4a64e381SAndroid Build Coastguard Worker            uint64 key_lease_time_total
586*4a64e381SAndroid Build Coastguard Worker            uint64 remaining_lease_time_total
587*4a64e381SAndroid Build Coastguard Worker            uint64 remaining_key_lease_time_total
588*4a64e381SAndroid Build Coastguard Worker          }
589*4a64e381SAndroid Build Coastguard Worker          struct {  // services
590*4a64e381SAndroid Build Coastguard Worker            uint32 fresh_count
591*4a64e381SAndroid Build Coastguard Worker            uint32 deleted_count
592*4a64e381SAndroid Build Coastguard Worker            uint64 lease_time_total
593*4a64e381SAndroid Build Coastguard Worker            uint64 key_lease_time_total
594*4a64e381SAndroid Build Coastguard Worker            uint64 remaining_lease_time_total
595*4a64e381SAndroid Build Coastguard Worker            uint64 remaining_key_lease_time_total
596*4a64e381SAndroid Build Coastguard Worker          }
597*4a64e381SAndroid Build Coastguard Worker          struct {  // response counters
598*4a64e381SAndroid Build Coastguard Worker            uint32 success
599*4a64e381SAndroid Build Coastguard Worker            uint32 server_failure
600*4a64e381SAndroid Build Coastguard Worker            uint32 format_error
601*4a64e381SAndroid Build Coastguard Worker            uint32 name_exists
602*4a64e381SAndroid Build Coastguard Worker            uint32 refused
603*4a64e381SAndroid Build Coastguard Worker            uint32 other
604*4a64e381SAndroid Build Coastguard Worker          }
605*4a64e381SAndroid Build Coastguard Worker        }
606*4a64e381SAndroid Build Coastguard Worker      </literallayout>
607*4a64e381SAndroid Build Coastguard Worker    -->
608*4a64e381SAndroid Build Coastguard Worker    <property name="SrpServerInfo" type="(yqy(uutttt)(uutttt)(uuuuuu))" access="read">
609*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
610*4a64e381SAndroid Build Coastguard Worker    </property>
611*4a64e381SAndroid Build Coastguard Worker    <!-- DnssdCounters: The DNS-SD counters
612*4a64e381SAndroid Build Coastguard Worker    <literallayout>
613*4a64e381SAndroid Build Coastguard Worker        struct {
614*4a64e381SAndroid Build Coastguard Worker          uint32 success
615*4a64e381SAndroid Build Coastguard Worker          uint32 server_failure
616*4a64e381SAndroid Build Coastguard Worker          uint32 format_error
617*4a64e381SAndroid Build Coastguard Worker          uint32 name_error
618*4a64e381SAndroid Build Coastguard Worker          uint32 not_implemented
619*4a64e381SAndroid Build Coastguard Worker          uint32 other
620*4a64e381SAndroid Build Coastguard Worker          uint32 resolved_by_srp
621*4a64e381SAndroid Build Coastguard Worker        }
622*4a64e381SAndroid Build Coastguard Worker      </literallayout>
623*4a64e381SAndroid Build Coastguard Worker    -->
624*4a64e381SAndroid Build Coastguard Worker    <property name="DnssdCounters" type="(uuuuuuu)" access="read">
625*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
626*4a64e381SAndroid Build Coastguard Worker    </property>
627*4a64e381SAndroid Build Coastguard Worker
628*4a64e381SAndroid Build Coastguard Worker    <!-- MdnsTelemetryInfo: The MDNS information
629*4a64e381SAndroid Build Coastguard Worker    <literallayout>
630*4a64e381SAndroid Build Coastguard Worker        struct {
631*4a64e381SAndroid Build Coastguard Worker          struct {  // host registration responses
632*4a64e381SAndroid Build Coastguard Worker            uint32 success
633*4a64e381SAndroid Build Coastguard Worker            uint32 not_found
634*4a64e381SAndroid Build Coastguard Worker            uint32 invalid_args
635*4a64e381SAndroid Build Coastguard Worker            uint32 duplicated
636*4a64e381SAndroid Build Coastguard Worker            uint32 not_implemented
637*4a64e381SAndroid Build Coastguard Worker            uint32 unknown_error
638*4a64e381SAndroid Build Coastguard Worker            uint32 aborted
639*4a64e381SAndroid Build Coastguard Worker            uint32 invalid_state
640*4a64e381SAndroid Build Coastguard Worker          }
641*4a64e381SAndroid Build Coastguard Worker          struct {  // service registration responses
642*4a64e381SAndroid Build Coastguard Worker            uint32 success
643*4a64e381SAndroid Build Coastguard Worker            uint32 not_found
644*4a64e381SAndroid Build Coastguard Worker            uint32 invalid_args
645*4a64e381SAndroid Build Coastguard Worker            uint32 duplicated
646*4a64e381SAndroid Build Coastguard Worker            uint32 not_implemented
647*4a64e381SAndroid Build Coastguard Worker            uint32 unknown_error
648*4a64e381SAndroid Build Coastguard Worker            uint32 aborted
649*4a64e381SAndroid Build Coastguard Worker            uint32 invalid_state
650*4a64e381SAndroid Build Coastguard Worker          }
651*4a64e381SAndroid Build Coastguard Worker          struct {  // host resolution responses
652*4a64e381SAndroid Build Coastguard Worker            uint32 success
653*4a64e381SAndroid Build Coastguard Worker            uint32 not_found
654*4a64e381SAndroid Build Coastguard Worker            uint32 invalid_args
655*4a64e381SAndroid Build Coastguard Worker            uint32 duplicated
656*4a64e381SAndroid Build Coastguard Worker            uint32 not_implemented
657*4a64e381SAndroid Build Coastguard Worker            uint32 unknown_error
658*4a64e381SAndroid Build Coastguard Worker            uint32 aborted
659*4a64e381SAndroid Build Coastguard Worker            uint32 invalid_state
660*4a64e381SAndroid Build Coastguard Worker          }
661*4a64e381SAndroid Build Coastguard Worker          struct {  // service resolution responses
662*4a64e381SAndroid Build Coastguard Worker            uint32 success
663*4a64e381SAndroid Build Coastguard Worker            uint32 not_found
664*4a64e381SAndroid Build Coastguard Worker            uint32 invalid_args
665*4a64e381SAndroid Build Coastguard Worker            uint32 duplicated
666*4a64e381SAndroid Build Coastguard Worker            uint32 not_implemented
667*4a64e381SAndroid Build Coastguard Worker            uint32 unknown_error
668*4a64e381SAndroid Build Coastguard Worker            uint32 aborted
669*4a64e381SAndroid Build Coastguard Worker            uint32 invalid_state
670*4a64e381SAndroid Build Coastguard Worker          }
671*4a64e381SAndroid Build Coastguard Worker          uint32 host_registration_ema_latency
672*4a64e381SAndroid Build Coastguard Worker          uint32 service_registration_ema_latency
673*4a64e381SAndroid Build Coastguard Worker          uint32 host_resolution_ema_latency
674*4a64e381SAndroid Build Coastguard Worker          uint32 service_resolution_ema_latency
675*4a64e381SAndroid Build Coastguard Worker        }
676*4a64e381SAndroid Build Coastguard Worker      </literallayout>
677*4a64e381SAndroid Build Coastguard Worker    -->
678*4a64e381SAndroid Build Coastguard Worker    <property name="MdnsTelemetryInfo" type="(uuuuuuuu)(uuuuuuuu)(uuuuuuuu)(uuuuuuuu)uuuu" access="read">
679*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
680*4a64e381SAndroid Build Coastguard Worker    </property>
681*4a64e381SAndroid Build Coastguard Worker
682*4a64e381SAndroid Build Coastguard Worker    <!-- OtbrVersion: The version string of the otbr package. -->
683*4a64e381SAndroid Build Coastguard Worker    <property name="OtbrVersion" type="s" access="read">
684*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
685*4a64e381SAndroid Build Coastguard Worker    </property>
686*4a64e381SAndroid Build Coastguard Worker
687*4a64e381SAndroid Build Coastguard Worker    <!-- OtHostVersion: The version string of the host build. -->
688*4a64e381SAndroid Build Coastguard Worker    <property name="OtHostVersion" type="s" access="read">
689*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
690*4a64e381SAndroid Build Coastguard Worker    </property>
691*4a64e381SAndroid Build Coastguard Worker
692*4a64e381SAndroid Build Coastguard Worker    <!-- OtRcpVersion: The version string of the RCP firmware. -->
693*4a64e381SAndroid Build Coastguard Worker    <property name="OtRcpVersion" type="s" access="read">
694*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
695*4a64e381SAndroid Build Coastguard Worker    </property>
696*4a64e381SAndroid Build Coastguard Worker
697*4a64e381SAndroid Build Coastguard Worker    <!-- ThreadVersion: The Thread protocol version. -->
698*4a64e381SAndroid Build Coastguard Worker    <property name="ThreadVersion" type="q" access="read">
699*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
700*4a64e381SAndroid Build Coastguard Worker    </property>
701*4a64e381SAndroid Build Coastguard Worker
702*4a64e381SAndroid Build Coastguard Worker    <!-- Eui64: The IEEE EUI-64 of this Thread interface. -->
703*4a64e381SAndroid Build Coastguard Worker    <property name="Eui64" type="t" access="read">
704*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
705*4a64e381SAndroid Build Coastguard Worker    </property>
706*4a64e381SAndroid Build Coastguard Worker
707*4a64e381SAndroid Build Coastguard Worker    <!-- RadioSpinelMetrics: The radio spinel metrics
708*4a64e381SAndroid Build Coastguard Worker    <literallayout>
709*4a64e381SAndroid Build Coastguard Worker        struct {
710*4a64e381SAndroid Build Coastguard Worker          uint32_t mRcpTimeoutCount;         // The number of RCP timeouts.
711*4a64e381SAndroid Build Coastguard Worker          uint32_t mRcpUnexpectedResetCount; // The number of RCP unexcepted resets.
712*4a64e381SAndroid Build Coastguard Worker          uint32_t mRcpRestorationCount;     // The number of RCP restorations.
713*4a64e381SAndroid Build Coastguard Worker          uint32_t mSpinelParseErrorCount;   // The number of spinel frame parse errors.
714*4a64e381SAndroid Build Coastguard Worker        }
715*4a64e381SAndroid Build Coastguard Worker      </literallayout>
716*4a64e381SAndroid Build Coastguard Worker    -->
717*4a64e381SAndroid Build Coastguard Worker    <property name="RadioSpinelMetrics" type="(uuuu)" access="read">
718*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
719*4a64e381SAndroid Build Coastguard Worker    </property>
720*4a64e381SAndroid Build Coastguard Worker
721*4a64e381SAndroid Build Coastguard Worker    <!-- RcpInterfaceMetrics: The RCP interface metrics
722*4a64e381SAndroid Build Coastguard Worker    <literallayout>
723*4a64e381SAndroid Build Coastguard Worker        struct {
724*4a64e381SAndroid Build Coastguard Worker          uint8_t  mRcpInterfaceType;             // The RCP interface type.
725*4a64e381SAndroid Build Coastguard Worker          uint64_t mTransferredFrameCount;        // The number of transferred frames.
726*4a64e381SAndroid Build Coastguard Worker          uint64_t mTransferredValidFrameCount;   // The number of transferred valid frames.
727*4a64e381SAndroid Build Coastguard Worker          uint64_t mTransferredGarbageFrameCount; // The number of transferred garbage frames.
728*4a64e381SAndroid Build Coastguard Worker          uint64_t mRxFrameCount;                 // The number of received frames.
729*4a64e381SAndroid Build Coastguard Worker          uint64_t mRxFrameByteCount;             // The number of received bytes.
730*4a64e381SAndroid Build Coastguard Worker          uint64_t mTxFrameCount;                 // The number of transmitted frames.
731*4a64e381SAndroid Build Coastguard Worker          uint64_t mTxFrameByteCount;             // The number of transmitted bytes.
732*4a64e381SAndroid Build Coastguard Worker        }
733*4a64e381SAndroid Build Coastguard Worker      </literallayout>
734*4a64e381SAndroid Build Coastguard Worker    -->
735*4a64e381SAndroid Build Coastguard Worker    <property name="RcpInterfaceMetrics" type="(yttttttt)" access="read">
736*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
737*4a64e381SAndroid Build Coastguard Worker    </property>
738*4a64e381SAndroid Build Coastguard Worker
739*4a64e381SAndroid Build Coastguard Worker    <!-- Uptime: The number of milliseconds since OpenThread instance was initialized. -->
740*4a64e381SAndroid Build Coastguard Worker    <property name="Uptime" type="t" access="read">
741*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
742*4a64e381SAndroid Build Coastguard Worker    </property>
743*4a64e381SAndroid Build Coastguard Worker
744*4a64e381SAndroid Build Coastguard Worker    <!-- RadioCoexMetrics: The radio coexistence metrics
745*4a64e381SAndroid Build Coastguard Worker    <literallayout>
746*4a64e381SAndroid Build Coastguard Worker        struct {
747*4a64e381SAndroid Build Coastguard Worker          uint32_t mNumGrantGlitch;                     // Number of grant glitches.
748*4a64e381SAndroid Build Coastguard Worker          uint32_t mNumTxRequest;                       // Number of tx requests.
749*4a64e381SAndroid Build Coastguard Worker          uint32_t mNumTxGrantImmediate;                // Number of tx requests while grant was active.
750*4a64e381SAndroid Build Coastguard Worker          uint32_t mNumTxGrantWait;                     // Number of tx requests while grant was inactive.
751*4a64e381SAndroid Build Coastguard Worker          uint32_t mNumTxGrantWaitActivated;            // Number of tx requests while grant was inactive that were ultimately granted.
752*4a64e381SAndroid Build Coastguard Worker          uint32_t mNumTxGrantWaitTimeout;              // Number of tx requests while grant was inactive that timed out.
753*4a64e381SAndroid Build Coastguard Worker          uint32_t mNumTxGrantDeactivatedDuringRequest; // Number of tx that were in progress when grant was deactivated.
754*4a64e381SAndroid Build Coastguard Worker          uint32_t mNumTxDelayedGrant;                  // Number of tx requests that were not granted within 50us.
755*4a64e381SAndroid Build Coastguard Worker          uint32_t mAvgTxRequestToGrantTime;            // Average time in usec from tx request to grant.
756*4a64e381SAndroid Build Coastguard Worker          uint32_t mNumRxRequest;                       // Number of rx requests.
757*4a64e381SAndroid Build Coastguard Worker          uint32_t mNumRxGrantImmediate;                // Number of rx requests while grant was active.
758*4a64e381SAndroid Build Coastguard Worker          uint32_t mNumRxGrantWait;                     // Number of rx requests while grant was inactive.
759*4a64e381SAndroid Build Coastguard Worker          uint32_t mNumRxGrantWaitActivated;            // Number of rx requests while grant was inactive that were ultimately granted.
760*4a64e381SAndroid Build Coastguard Worker          uint32_t mNumRxGrantWaitTimeout;              // Number of rx requests while grant was inactive that timed out.
761*4a64e381SAndroid Build Coastguard Worker          uint32_t mNumRxGrantDeactivatedDuringRequest; // Number of rx that were in progress when grant was deactivated.
762*4a64e381SAndroid Build Coastguard Worker          uint32_t mNumRxDelayedGrant;                  // Number of rx requests that were not granted within 50us.
763*4a64e381SAndroid Build Coastguard Worker          uint32_t mAvgRxRequestToGrantTime;            // Average time in usec from rx request to grant.
764*4a64e381SAndroid Build Coastguard Worker          uint32_t mNumRxGrantNone;                     // Number of rx requests that completed without receiving grant.
765*4a64e381SAndroid Build Coastguard Worker          bool     mStopped;                            // Stats collection stopped due to saturation.
766*4a64e381SAndroid Build Coastguard Worker        }
767*4a64e381SAndroid Build Coastguard Worker      </literallayout>
768*4a64e381SAndroid Build Coastguard Worker    -->
769*4a64e381SAndroid Build Coastguard Worker    <property name="RadioCoexMetrics" type="(uuuuuuuuuuuuuuuuuub)" access="read">
770*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
771*4a64e381SAndroid Build Coastguard Worker    </property>
772*4a64e381SAndroid Build Coastguard Worker
773*4a64e381SAndroid Build Coastguard Worker    <!-- Nat64State: The state of NAT64
774*4a64e381SAndroid Build Coastguard Worker    <literallayout>
775*4a64e381SAndroid Build Coastguard Worker        struct {
776*4a64e381SAndroid Build Coastguard Worker            string mPrefixManagerState;
777*4a64e381SAndroid Build Coastguard Worker            string mTranslatorState;
778*4a64e381SAndroid Build Coastguard Worker        }
779*4a64e381SAndroid Build Coastguard Worker    </literallayout>
780*4a64e381SAndroid Build Coastguard Worker    -->
781*4a64e381SAndroid Build Coastguard Worker    <property name="Nat64State" type="(ss)" access="read">
782*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
783*4a64e381SAndroid Build Coastguard Worker    </property>
784*4a64e381SAndroid Build Coastguard Worker
785*4a64e381SAndroid Build Coastguard Worker    <!-- Nat64Mappings: The state of NAT64
786*4a64e381SAndroid Build Coastguard Worker    <literallayout>
787*4a64e381SAndroid Build Coastguard Worker        struct
788*4a64e381SAndroid Build Coastguard Worker        {
789*4a64e381SAndroid Build Coastguard Worker          uint64_t  mId;              // The unique id for a mapping session.
790*4a64e381SAndroid Build Coastguard Worker          uint8_t[] mIp4;             // The IPv4 address of the mapping.
791*4a64e381SAndroid Build Coastguard Worker          uint8_t[] mIp6;             // The IPv6 address of the mapping.
792*4a64e381SAndroid Build Coastguard Worker          uint32_t  mRemainingTimeMs; // Remaining time before expiry in milliseconds.
793*4a64e381SAndroid Build Coastguard Worker          struct
794*4a64e381SAndroid Build Coastguard Worker          {
795*4a64e381SAndroid Build Coastguard Worker            struct
796*4a64e381SAndroid Build Coastguard Worker            {
797*4a64e381SAndroid Build Coastguard Worker              uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6.
798*4a64e381SAndroid Build Coastguard Worker              uint64_t m4To6Bytes;   // Sum of size of packets translated from IPv4 to IPv6.
799*4a64e381SAndroid Build Coastguard Worker              uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4.
800*4a64e381SAndroid Build Coastguard Worker              uint64_t m6To4Bytes;   // Sum of size of packets translated from IPv6 to IPv4.
801*4a64e381SAndroid Build Coastguard Worker            } mTotal;                // Counters for sum of all protocols.
802*4a64e381SAndroid Build Coastguard Worker            struct
803*4a64e381SAndroid Build Coastguard Worker            {
804*4a64e381SAndroid Build Coastguard Worker              uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6.
805*4a64e381SAndroid Build Coastguard Worker              uint64_t m4To6Bytes;   // Sum of size of packets translated from IPv4 to IPv6.
806*4a64e381SAndroid Build Coastguard Worker              uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4.
807*4a64e381SAndroid Build Coastguard Worker              uint64_t m6To4Bytes;   // Sum of size of packets translated from IPv6 to IPv4.
808*4a64e381SAndroid Build Coastguard Worker            } mIcmp;                 // Counters for ICMP and ICMPv6.
809*4a64e381SAndroid Build Coastguard Worker            struct
810*4a64e381SAndroid Build Coastguard Worker            {
811*4a64e381SAndroid Build Coastguard Worker              uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6.
812*4a64e381SAndroid Build Coastguard Worker              uint64_t m4To6Bytes;   // Sum of size of packets translated from IPv4 to IPv6.
813*4a64e381SAndroid Build Coastguard Worker              uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4.
814*4a64e381SAndroid Build Coastguard Worker              uint64_t m6To4Bytes;   // Sum of size of packets translated from IPv6 to IPv4.
815*4a64e381SAndroid Build Coastguard Worker            } mUdp;                  // Counters for UDP.
816*4a64e381SAndroid Build Coastguard Worker            struct
817*4a64e381SAndroid Build Coastguard Worker            {
818*4a64e381SAndroid Build Coastguard Worker              uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6.
819*4a64e381SAndroid Build Coastguard Worker              uint64_t m4To6Bytes;   // Sum of size of packets translated from IPv4 to IPv6.
820*4a64e381SAndroid Build Coastguard Worker              uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4.
821*4a64e381SAndroid Build Coastguard Worker              uint64_t m6To4Bytes;   // Sum of size of packets translated from IPv6 to IPv4.
822*4a64e381SAndroid Build Coastguard Worker            } mTcp;                  // Counters for TCP.
823*4a64e381SAndroid Build Coastguard Worker          } mCounters;
824*4a64e381SAndroid Build Coastguard Worker        }[]
825*4a64e381SAndroid Build Coastguard Worker    </literallayout>
826*4a64e381SAndroid Build Coastguard Worker    -->
827*4a64e381SAndroid Build Coastguard Worker    <property name="Nat64Mappings" type="a(tayayu((tttt)(tttt)(tttt)(tttt)))" access="read">
828*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
829*4a64e381SAndroid Build Coastguard Worker    </property>
830*4a64e381SAndroid Build Coastguard Worker
831*4a64e381SAndroid Build Coastguard Worker    <!-- Nat64ProtocolCounters: The state of NAT64
832*4a64e381SAndroid Build Coastguard Worker    <literallayout>
833*4a64e381SAndroid Build Coastguard Worker        struct
834*4a64e381SAndroid Build Coastguard Worker        {
835*4a64e381SAndroid Build Coastguard Worker          struct
836*4a64e381SAndroid Build Coastguard Worker          {
837*4a64e381SAndroid Build Coastguard Worker            uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6.
838*4a64e381SAndroid Build Coastguard Worker            uint64_t m4To6Bytes;   // Sum of size of packets translated from IPv4 to IPv6.
839*4a64e381SAndroid Build Coastguard Worker            uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4.
840*4a64e381SAndroid Build Coastguard Worker            uint64_t m6To4Bytes;   // Sum of size of packets translated from IPv6 to IPv4.
841*4a64e381SAndroid Build Coastguard Worker          } mTotal;                // Counters for sum of all protocols.
842*4a64e381SAndroid Build Coastguard Worker          struct
843*4a64e381SAndroid Build Coastguard Worker          {
844*4a64e381SAndroid Build Coastguard Worker            uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6.
845*4a64e381SAndroid Build Coastguard Worker            uint64_t m4To6Bytes;   // Sum of size of packets translated from IPv4 to IPv6.
846*4a64e381SAndroid Build Coastguard Worker            uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4.
847*4a64e381SAndroid Build Coastguard Worker            uint64_t m6To4Bytes;   // Sum of size of packets translated from IPv6 to IPv4.
848*4a64e381SAndroid Build Coastguard Worker          } mIcmp;                 // Counters for ICMP and ICMPv6.
849*4a64e381SAndroid Build Coastguard Worker          struct
850*4a64e381SAndroid Build Coastguard Worker          {
851*4a64e381SAndroid Build Coastguard Worker            uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6.
852*4a64e381SAndroid Build Coastguard Worker            uint64_t m4To6Bytes;   // Sum of size of packets translated from IPv4 to IPv6.
853*4a64e381SAndroid Build Coastguard Worker            uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4.
854*4a64e381SAndroid Build Coastguard Worker            uint64_t m6To4Bytes;   // Sum of size of packets translated from IPv6 to IPv4.
855*4a64e381SAndroid Build Coastguard Worker          } mUdp;                  // Counters for UDP.
856*4a64e381SAndroid Build Coastguard Worker          struct
857*4a64e381SAndroid Build Coastguard Worker          {
858*4a64e381SAndroid Build Coastguard Worker            uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6.
859*4a64e381SAndroid Build Coastguard Worker            uint64_t m4To6Bytes;   // Sum of size of packets translated from IPv4 to IPv6.
860*4a64e381SAndroid Build Coastguard Worker            uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4.
861*4a64e381SAndroid Build Coastguard Worker            uint64_t m6To4Bytes;   // Sum of size of packets translated from IPv6 to IPv4.
862*4a64e381SAndroid Build Coastguard Worker          } mTcp;                  // Counters for TCP.
863*4a64e381SAndroid Build Coastguard Worker        }
864*4a64e381SAndroid Build Coastguard Worker    </literallayout>
865*4a64e381SAndroid Build Coastguard Worker    -->
866*4a64e381SAndroid Build Coastguard Worker    <property name="Nat64ProtocolCounters" type="((tttt)(tttt)(tttt)(tttt))" access="read">
867*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
868*4a64e381SAndroid Build Coastguard Worker    </property>
869*4a64e381SAndroid Build Coastguard Worker
870*4a64e381SAndroid Build Coastguard Worker    <!-- Nat64ErrorCounters: The state of NAT64
871*4a64e381SAndroid Build Coastguard Worker    <literallayout>
872*4a64e381SAndroid Build Coastguard Worker        struct
873*4a64e381SAndroid Build Coastguard Worker        {
874*4a64e381SAndroid Build Coastguard Worker          struct
875*4a64e381SAndroid Build Coastguard Worker          {
876*4a64e381SAndroid Build Coastguard Worker            uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6.
877*4a64e381SAndroid Build Coastguard Worker            uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4.
878*4a64e381SAndroid Build Coastguard Worker          } mUnknown;              // Packet drop for unknown reasons.
879*4a64e381SAndroid Build Coastguard Worker          struct
880*4a64e381SAndroid Build Coastguard Worker          {
881*4a64e381SAndroid Build Coastguard Worker            uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6.
882*4a64e381SAndroid Build Coastguard Worker            uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4.
883*4a64e381SAndroid Build Coastguard Worker          } mIllegalPacket;        // Packet drop due to failed to parse the datagram.
884*4a64e381SAndroid Build Coastguard Worker          struct
885*4a64e381SAndroid Build Coastguard Worker          {
886*4a64e381SAndroid Build Coastguard Worker            uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6.
887*4a64e381SAndroid Build Coastguard Worker            uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4.
888*4a64e381SAndroid Build Coastguard Worker          } mUnsupportedProto;     // Packet drop due to unsupported IP protocol.
889*4a64e381SAndroid Build Coastguard Worker          struct
890*4a64e381SAndroid Build Coastguard Worker          {
891*4a64e381SAndroid Build Coastguard Worker            uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6.
892*4a64e381SAndroid Build Coastguard Worker            uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4.
893*4a64e381SAndroid Build Coastguard Worker          } mNoMapping;            // Packet drop due to no mappings found or mapping pool exhausted.
894*4a64e381SAndroid Build Coastguard Worker        }
895*4a64e381SAndroid Build Coastguard Worker    </literallayout>
896*4a64e381SAndroid Build Coastguard Worker    -->
897*4a64e381SAndroid Build Coastguard Worker    <property name="Nat64ErrorCounters" type="((tt)(tt)(tt)(tt))" access="read">
898*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
899*4a64e381SAndroid Build Coastguard Worker    </property>
900*4a64e381SAndroid Build Coastguard Worker
901*4a64e381SAndroid Build Coastguard Worker    <!-- Nat64Cidr: The CIDR used for NAT64 -->
902*4a64e381SAndroid Build Coastguard Worker    <property name="Nat64Cidr" type="s" access="readwrite">
903*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
904*4a64e381SAndroid Build Coastguard Worker    </property>
905*4a64e381SAndroid Build Coastguard Worker
906*4a64e381SAndroid Build Coastguard Worker    <!-- BorderRoutingCounters: The counters for inbound/outbound packets
907*4a64e381SAndroid Build Coastguard Worker    <literallayout>
908*4a64e381SAndroid Build Coastguard Worker        struct {
909*4a64e381SAndroid Build Coastguard Worker          struct {  // inbound unicast
910*4a64e381SAndroid Build Coastguard Worker            uint64 packets
911*4a64e381SAndroid Build Coastguard Worker            uint64 bytes
912*4a64e381SAndroid Build Coastguard Worker          }
913*4a64e381SAndroid Build Coastguard Worker          struct {  // inbound multicast
914*4a64e381SAndroid Build Coastguard Worker            uint64 packets
915*4a64e381SAndroid Build Coastguard Worker            uint64 bytes
916*4a64e381SAndroid Build Coastguard Worker          }
917*4a64e381SAndroid Build Coastguard Worker          struct {  // outbound unicast
918*4a64e381SAndroid Build Coastguard Worker            uint64 packets
919*4a64e381SAndroid Build Coastguard Worker            uint64 bytes
920*4a64e381SAndroid Build Coastguard Worker          }
921*4a64e381SAndroid Build Coastguard Worker          struct {  // outbound multicast
922*4a64e381SAndroid Build Coastguard Worker            uint64 packets
923*4a64e381SAndroid Build Coastguard Worker            uint64 bytes
924*4a64e381SAndroid Build Coastguard Worker          }
925*4a64e381SAndroid Build Coastguard Worker          uint32  ra_rx;              // The number of received RA packets.
926*4a64e381SAndroid Build Coastguard Worker          uint32  ra_tx_success;      // The number of RA packets successfully transmitted.
927*4a64e381SAndroid Build Coastguard Worker          uint32  ra_tx_failure;      // The number of RA packets failed to transmit.
928*4a64e381SAndroid Build Coastguard Worker          uint32  rs_rx;              // The number of received RS packets.
929*4a64e381SAndroid Build Coastguard Worker          uint32  rs_tx_success;      // The number of RS packets successfully transmitted.
930*4a64e381SAndroid Build Coastguard Worker          uint32  rs_tx_failure;      // The number of RS packets failed to transmit.
931*4a64e381SAndroid Build Coastguard Worker        }
932*4a64e381SAndroid Build Coastguard Worker    </literallayout>
933*4a64e381SAndroid Build Coastguard Worker    -->
934*4a64e381SAndroid Build Coastguard Worker    <property name="BorderRoutingCounters" type="((tt)(tt)(tt)(tt)uuuuuu)" access="read">
935*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
936*4a64e381SAndroid Build Coastguard Worker    </property>
937*4a64e381SAndroid Build Coastguard Worker
938*4a64e381SAndroid Build Coastguard Worker    <!-- InfraLinkInfo: Information of infrastructure network interface.
939*4a64e381SAndroid Build Coastguard Worker    <literallayout>
940*4a64e381SAndroid Build Coastguard Worker        struct {
941*4a64e381SAndroid Build Coastguard Worker          string name;                     // The name of the infrastructure network interface.
942*4a64e381SAndroid Build Coastguard Worker          bool   is_up;                    // Whether the infrastructure network interface is up.
943*4a64e381SAndroid Build Coastguard Worker          bool   is_running;               // Whether the infrastructure network interface is running.
944*4a64e381SAndroid Build Coastguard Worker          bool   is_multicast;             // Whether the infrastructure network interface is multicast.
945*4a64e381SAndroid Build Coastguard Worker          uint32 link_local_addresses      // The number of link-local addresses on the infra network interface.
946*4a64e381SAndroid Build Coastguard Worker          uint32 unique_local_addresses    // The number of unique local addresses on the infra network interface.
947*4a64e381SAndroid Build Coastguard Worker          uint32 global_unicast_addresses  // The number of global unicast addresses on the infra network interface.
948*4a64e381SAndroid Build Coastguard Worker        }
949*4a64e381SAndroid Build Coastguard Worker    </literallayout>
950*4a64e381SAndroid Build Coastguard Worker    -->
951*4a64e381SAndroid Build Coastguard Worker    <property name="InfraLinkInfo" type="(sbbbuuu)" access="read">
952*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
953*4a64e381SAndroid Build Coastguard Worker    </property>
954*4a64e381SAndroid Build Coastguard Worker
955*4a64e381SAndroid Build Coastguard Worker    <!-- DnsUpstreamQueryState: Whether the server will / should forward DNS queries platform
956*4a64e381SAndroid Build Coastguard Worker    specified upstream DNS servers. -->
957*4a64e381SAndroid Build Coastguard Worker    <property name="DnsUpstreamQueryState" type="b" access="readwrite">
958*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
959*4a64e381SAndroid Build Coastguard Worker    </property>
960*4a64e381SAndroid Build Coastguard Worker
961*4a64e381SAndroid Build Coastguard Worker    <!-- TelemetryData: The Thread telemetry data (defined as proto/thread_telemetry.proto)
962*4a64e381SAndroid Build Coastguard Worker      in binary form. -->
963*4a64e381SAndroid Build Coastguard Worker    <property name="TelemetryData" type="ay" access="read">
964*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
965*4a64e381SAndroid Build Coastguard Worker    </property>
966*4a64e381SAndroid Build Coastguard Worker
967*4a64e381SAndroid Build Coastguard Worker    <!-- Capabilities: The Thread capabilities data (defined as proto/capabilities.proto)
968*4a64e381SAndroid Build Coastguard Worker      in binary form. -->
969*4a64e381SAndroid Build Coastguard Worker    <property name="Capabilities" type="ay" access="read">
970*4a64e381SAndroid Build Coastguard Worker      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
971*4a64e381SAndroid Build Coastguard Worker    </property>
972*4a64e381SAndroid Build Coastguard Worker
973*4a64e381SAndroid Build Coastguard Worker    <!-- The Ready signal is sent on start -->
974*4a64e381SAndroid Build Coastguard Worker    <signal name="Ready">
975*4a64e381SAndroid Build Coastguard Worker    </signal>
976*4a64e381SAndroid Build Coastguard Worker
977*4a64e381SAndroid Build Coastguard Worker  </interface>
978*4a64e381SAndroid Build Coastguard Worker
979*4a64e381SAndroid Build Coastguard Worker  <interface name="org.freedesktop.DBus.Properties">
980*4a64e381SAndroid Build Coastguard Worker    <method name="Get">
981*4a64e381SAndroid Build Coastguard Worker      <arg name="interface" direction="in" type="s"/>
982*4a64e381SAndroid Build Coastguard Worker      <arg name="property" direction="in" type="s"/>
983*4a64e381SAndroid Build Coastguard Worker      <arg name="value" direction="out" type="v"/>
984*4a64e381SAndroid Build Coastguard Worker    </method>
985*4a64e381SAndroid Build Coastguard Worker
986*4a64e381SAndroid Build Coastguard Worker    <method name="GetAll">
987*4a64e381SAndroid Build Coastguard Worker      <arg name="interface" direction="in" type="s"/>
988*4a64e381SAndroid Build Coastguard Worker      <arg name="properties" direction="out" type="a{sv}"/>
989*4a64e381SAndroid Build Coastguard Worker    </method>
990*4a64e381SAndroid Build Coastguard Worker
991*4a64e381SAndroid Build Coastguard Worker    <method name="Set">
992*4a64e381SAndroid Build Coastguard Worker      <arg name="interface" direction="in" type="s"/>
993*4a64e381SAndroid Build Coastguard Worker      <arg name="property" direction="in" type="s"/>
994*4a64e381SAndroid Build Coastguard Worker      <arg name="value" direction="in" type="v"/>
995*4a64e381SAndroid Build Coastguard Worker    </method>
996*4a64e381SAndroid Build Coastguard Worker
997*4a64e381SAndroid Build Coastguard Worker    <signal name="PropertiesChanged">
998*4a64e381SAndroid Build Coastguard Worker      <arg type="s" name="interface"/>
999*4a64e381SAndroid Build Coastguard Worker      <arg type="a{sv}" name="changed_properties"/>
1000*4a64e381SAndroid Build Coastguard Worker      <arg type="as" name="invalidated_properties"/>
1001*4a64e381SAndroid Build Coastguard Worker    </signal>
1002*4a64e381SAndroid Build Coastguard Worker  </interface>
1003*4a64e381SAndroid Build Coastguard Worker</node>
1004