Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / third_party / ot-br-posix / repo / src / dbus / server / introspect.xml
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           string network_name
13           uint64 ext_panid
14           uint8[] steering_data
15           uint16 panid
16           uint16 joiner_udp_port
17           uint16 channel
18           uint16 rssi
19           uint8 lqi
20           uint8 version
21           bool is_native
22           bool is_joinable
23         }
24       </literallayout>
25     -->
26     <method name="Scan">
27       <arg name="scan_result" type="a(tstayqqqqyybb)" direction="out"/> 
28     </method>
29
30     <!-- Attach: Attach the current device to the Thread network.
31       @masterkey: The 128-bit network master key, empty for random.
32       @panid: The 16-bit panid, UINT16_MAX for any.
33       @networkname: The Thread network name.
34       @extpanid: The 64-bit extended panid, UINT64_MAX for random.
35       @pskc: The 128-bit pre-shared key for commissione, empty for random.
36       @channel_mask: The bitwise channel mask, will randomly select a valid channel.
37
38       You can also call this method with no arugment to use the current active network dataset.
39     -->
40     <method name="Attach">
41       <arg name="masterkey" type="ay"/>
42       <arg name="panid" type="q"/>
43       <arg name="networkname" type="s"/>
44       <arg name="extpanid" type="t"/>
45       <arg name="pskc" type="ay"/>
46       <arg name="channel_mask" type="u"/>
47     </method>
48
49     <!-- PermitUnsecureJoin: Allow joining the network via unsecure traffic temporarily.
50       @port: The port of the unsecure traffic.
51       @timeout: The timeout for the permission.
52     -->
53     <method name="PermitUnsecureJoin">
54       <arg name="port" type="q"/>
55       <arg name="timeout" type="u"/>
56     </method>
57
58     <!-- JoinerStart: Start Thread joining.
59       @pskd: The pre-shared key for the device.
60       @provision_url: The url for further provision.
61       @vendor vendor_name: The current device vendor name.
62       @vendor vendor_model: The current device model.
63       @vendor vendor_sw_version: The current device software version.
64       @vendor vendor_data: The additional vendor data.
65     -->
66     <method name="JoinerStart">
67       <arg name="pskd" type="s"/>
68       <arg name="provision_url" type="s"/>
69       <arg name="vendor_name" type="s"/>
70       <arg name="vendor_model" type="s"/>
71       <arg name="vendor_sw_version" type="s"/>
72       <arg name="vendor_data" type="s"/>
73     </method>
74
75     <!-- JoinerStop: Stop Thread joining. -->
76     <method name="JoinerStop">
77     </method>
78
79     <!-- FactoryReset: Perform a factory reset, will wipe all Thread persistent data. -->
80     <method name="FactoryReset">
81     </method>
82
83     <!-- Reset: Perform a reset, will try to resume the network after reset. -->
84     <method name="Reset">
85     </method>
86
87     <!-- AddExternalRoute: Add an external border routing rule to the network.
88       @prefix: The prefix for border routing.
89
90       This will make the current device act as the border router for the prefix.
91       The prefix structure is:
92       <literallayout>
93         struct {
94           struct {
95             uint8[] prefix_bytes
96             uint8 prefix_length
97           }
98           uint16 rloc // Not used
99           uint8 preference
100           bool stable
101           bool next_hop_is_self // Not used
102         }
103       </literallayout>
104     -->
105     <method name="AddExternalRoute">
106       <arg name="prefix" type="((ayy)qybb)"/>
107     </method>
108
109     <!-- RemoveExternalRoute: Remove an external border routing rule from the network.
110       @prefix: The prefix for border routing.
111
112       The prefix structure is:
113       <literallayout>
114         struct {
115           uint8[] prefix_bytes
116           uint8 prefix_length
117         }
118       </literallayout>
119     -->
120     <method name="RemoveExternalRoute">
121       <arg name="prefix" type="(ayy)"/>
122     </method>
123
124     <!-- AddOnMeshPrefix: Add an on-mesh prefix to the network.
125       @prefix: The on-mesh prefix.
126
127       The on-mesh prefix structure is:
128       <literallayout>
129         struct {
130           struct {
131             uint8[] prefix_bytes
132             uint8 prefix_length
133           }
134           byte preference
135           struct {
136             boolean preferred
137             boolean slaac 
138             boolean dhcp 
139             boolean configure 
140             boolean default_route   
141             boolean on_mesh
142             boolean stable 
143           }
144         }
145       </literallayout>
146     -->
147     <method name="AddOnMeshPrefix">
148       <arg name="prefix" type="((ayy)y(bbbbbbb))"/>
149     </method>
150     
151     <!-- RemoveOnMeshPrefix: Remove an on-mesh prefix from the network.
152       @prefix: The on-mesh prefix.
153
154       The prefix structure is:
155       <literallayout>
156         struct {
157           uint8[] prefix_bytes
158           uint8 prefix_length
159         }
160       </literallayout>
161     -->
162     <method name="RemoveOnMeshPrefix">
163       <arg name="prefix" type="(ayy)"/>
164     </method>
165
166     <!-- MeshLocalPrefix: The /64 mesh-local prefix.  -->
167     <property name="MeshLocalPrefix" type="ay" access="readwrite">
168       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
169     </property>
170
171     <!-- LegacyULAPrefix: The /64 legacy prefix.  -->
172     <property name="LegacyULAPrefix" type="ay" access="readwrite">
173       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
174     </property>
175
176     <!-- LinkMode: The current link mode.
177       <literallayout>
178       struct {
179         bool rx_on_when_idle    //whether the radio receiving is on when idle
180         bool device_type        //ftd or mtd
181         bool network_data       //full or stable
182       }
183       </literallayout>
184     -->
185     <property name="LinkMode" type="(bbb)" access="readwrite">
186       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
187     </property>
188
189     <!-- DeviceRole: The current device role.
190       Possible values are:
191       <literallayout>
192         0: Disabled
193         1: Detached
194         2: Child
195         3: Router
196         4: Leader
197       </literallayout>
198     -->
199     <property name="DeviceRole" type="s" access="read">
200       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="true"/>
201     </property>
202
203     <!-- NetworkName: The network name. -->
204     <property name="NetworkName" type="s" access="read">
205       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
206     </property>
207
208     <!-- PanId: The pan ID. -->
209     <property name="PanId" type="q" access="read">
210       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
211     </property>
212
213     <!-- ExtPanId: The extended pan ID. -->
214     <property name="ExtPanId" type="t" access="read">
215       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
216     </property>
217
218     <!-- Channel: The current network channel, from 11 to 26 -->
219     <property name="Channel" type="q" access="read">
220       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
221     </property>
222
223     <!-- CcaFailureRate: The Clear Channel Assessment failure rate. -->
224     <property name="CcaFailureRate" type="q" access="read">
225       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
226     </property>
227
228     <!-- MacCounters: The mac layer statistic counters.
229       The counter structure definition:
230       <literallayout>
231         struct {
232           uint32 tx_total;
233           uint32 tx_unicast;
234           uint32 tx_broadcast;
235           uint32 tx_ack_requested;
236           uint32 tx_acked;
237           uint32 tx_no_ack_requested;
238           uint32 tx_data;
239           uint32 tx_data_poll;
240           uint32 tx_beacon;
241           uint32 tx_beacon_request;
242           uint32 tx_other;
243           uint32 tx_retry;
244           uint32 tx_err_cca;
245           uint32 tx_err_abort;
246           uint32 tx_busy_channel;
247           uint32 rx_total;
248           uint32 rx_unicast;
249           uint32 rx_broadcast;
250           uint32 rx_data;
251           uint32 rx_data_poll;
252           uint32 rx_beacon;
253           uint32 rx_beacon_request;
254           uint32 rx_other;
255           uint32 rx_address_filtered;
256           uint32 rx_dest_address_filtered;
257           uint32 rx_duplicated;
258           uint32 rx_err_no_frame;
259           uint32 rx_err_unknown_neighbor;
260           uint32 rx_err_invalid_src_addr;
261           uint32 rx_err_sec;
262           uint32 rx_err_fcs;
263           uint32 rx_err_other;
264         }
265       </literallayout>
266     -->
267     <property name="MacCounters" type="(uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu)" access="read">
268       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
269     </property>
270
271     <!-- LinkCounters: The link statistic counters.
272       The counter structure definition:
273       <literallayout>
274         struct {
275           uint32 ip_tx_success;
276           uint32 ip_rx_success;
277           uint32 ip_tx_failure;
278           uint32 ip_rx_failure;
279         }
280       </literallayout>
281     -->
282     <property name="LinkCounters" type="(uuuu)" access="read">
283       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
284     </property>
285
286     <!-- LinkSupportedChannelMask: The bitwise link supported channel mask -->
287     <property name="LinkSupportedChannelMask" type="u" access="read">
288       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
289     </property>
290
291     <!-- Rloc16: The 16-bit routing locator -->
292     <property name="Rloc16" type="q" access="read">
293       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
294     </property>
295
296     <!-- ExtendedAddress: The 64-bit extended address -->
297     <property name="ExtendedAddress" type="t" access="read">
298       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
299     </property>
300
301     <!-- RouterID: The current router ID -->
302     <property name="RouterID" type="y" access="read">
303       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
304     </property>
305
306     <!-- LeaderData: The network leader data.
307       The structure definition:
308       <literallayout>
309         struct {
310           uint32_t mPartitionId;       // Partition ID
311           uint8_t  mWeighting;         // Leader Weight
312           uint8_t  mDataVersion;       // Full Network Data Version
313           uint8_t  mStableDataVersion; // Stable Network Data Version
314           uint8_t  mLeaderRouterId;    // Leader Router ID
315         }
316       </literallayout>
317     -->
318     <property name="LeaderData" type="(uyyyy)" access="read">
319       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
320     </property>
321
322     <!-- NetworkData: The network data. -->
323     <property name="NetworkData" type="ay" access="read">
324       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
325     </property>
326
327     <!-- StableNetworkData: The stable network data. -->
328     <property name="StableNetworkData" type="ay" access="read">
329       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
330     </property>
331
332     <!-- LocalLeaderWeight: The leader weight of the current node. -->
333     <property name="LocalLeaderWeight" type="y" access="read">
334       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
335     </property>
336
337     <!-- ChannelMonitorSampleCount: The number of the collected samples from the channel monitor -->
338     <property name="ChannelMonitorSampleCount" type="u" access="read">
339       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
340     </property>
341
342     <!-- ChannelMonitorChannelQualityMap: The channel monitor statistics data.
343       The structure definition:
344       <literallayout>
345         struct {
346           uint8_t  mChannel;
347           uint16_t mOccupancy;
348         }
349       </literallayout>
350     -->
351     <property name="ChannelMonitorChannelQualityMap" type="a(yq)" access="read">
352       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
353     </property>
354
355     <!-- ChildTable: The node's child table as an array of child entry structure.
356       The child entry structure definition:
357       <literallayout>
358         struct {
359           uint64_t mExtAddress;         // IEEE 802.15.4 Extended Address
360           uint32_t mTimeout;            // Timeout
361           uint32_t mAge;                // Time last heard
362           uint16_t mRloc16;             // RLOC16
363           uint16_t mChildId;            // Child ID
364           uint8_t  mNetworkDataVersion; // Network Data Version
365           uint8_t  mLinkQualityIn;      // Link Quality In
366           int8_t   mAverageRssi;        // Average RSSI
367           int8_t   mLastRssi;           // Last observed RSSI
368           uint16_t mFrameErrorRate;     // Frame error rate (0xffff->100%). Requires error tracking feature.
369           uint16_t mMessageErrorRate;   // (IPv6) msg error rate (0xffff->100%). Requires error tracking feature.
370           bool     mRxOnWhenIdle;       // rx-on-when-idle
371           bool     mFullThreadDevice;   // Full Thread Device
372           bool     mFullNetworkData;    // Full Network Data
373           bool     mIsStateRestoring;   // Is in restoring state
374         }
375       </literallayout>
376     -->
377     <property name="ChildTable" type="a(tuuqqyyyyqqbbbb)" access="read">
378       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
379     </property>
380
381     <!-- NeighborTable: The node's neighbor table as an array of neighbor entry structure.
382       The neighbor entry structure definition:
383       <literallayout>
384         struct {
385           uint64_t mExtAddress;        // IEEE 802.15.4 Extended Address
386           uint32_t mAge;               // Time last heard
387           uint16_t mRloc16;            // RLOC16
388           uint32_t mLinkFrameCounter;  // Link Frame Counter
389           uint32_t mMleFrameCounter;   // MLE Frame Counter
390           uint8_t  mLinkQualityIn;     // Link Quality In
391           int8_t   mAverageRssi;       // Average RSSI
392           int8_t   mLastRssi;          // Last observed RSSI
393           uint16_t mFrameErrorRate;    // Frame error rate (0xffff->100%). Requires error tracking feature.
394           uint16_t mMessageErrorRate;  // (IPv6) msg error rate (0xffff->100%). Requires error tracking feature.
395           bool     mRxOnWhenIdle;      // rx-on-when-idle
396           bool     mFullThreadDevice;  // Full Thread Device
397           bool     mFullNetworkData;   // Full Network Data
398           bool     mIsChild;           // Is the neighbor a child
399         }
400       </literallayout>
401     -->
402     <property name="NeighborTable" type="a(tuquuyyyqqbbbb)" access="read">
403       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
404     </property>
405
406     <!-- PartitionId: The network partition ID. -->
407     <property name="PartitionId" type="u" access="read">
408       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
409     </property>
410
411     <!-- InstantRssi: The RSSI of the last received packet. -->
412     <property name="InstantRssi" type="y" access="read">
413       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
414     </property>
415
416     <!-- RadioTxPower: The radio transmit power. -->
417     <property name="RadioTxPower" type="y" access="read">
418       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
419     </property>
420
421     <!-- ExternalRoutes: The list of current external route rules.
422       External route rule structure definition:
423       <literallayout>
424         struct {
425           struct {
426             uint8[] prefix_bytes
427             uint8 prefix_length
428           }
429           uint16 rloc
430           uint8 preference
431           bool stable
432           bool next_hop_is_self
433         }
434       </literallayout>
435     -->
436     <property name="ExternalRoutes" type="((ayy)qybb)" access="read">
437       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
438     </property>
439
440     <!-- ActiveDatasetTlvs: The Thread active dataset tlv in binary form. -->
441     <property name="ActiveDatasetTlvs" type="ay" access="readwrite">
442       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
443     </property>
444
445     <!-- RadioRegion: The radio region code in ISO 3166-1. -->
446     <property name="RadioRegion" type="s" access="readwrite">
447       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
448     </property>
449   </interface>
450
451   <interface name="org.freedesktop.DBus.Properties">
452     <method name="Get">
453       <arg name="interface" direction="in" type="s"/>
454       <arg name="property" direction="in" type="s"/>
455       <arg name="value" direction="out" type="v"/>
456     </method>
457
458     <method name="GetAll">
459       <arg name="interface" direction="in" type="s"/>
460       <arg name="properties" direction="out" type="a{sv}"/>
461     </method>
462
463     <method name="Set">
464       <arg name="interface" direction="in" type="s"/>
465       <arg name="property" direction="in" type="s"/>
466       <arg name="value" direction="in" type="v"/>
467     </method>
468
469     <signal name="PropertiesChanged">
470       <arg type="s" name="interface"/>
471       <arg type="a{sv}" name="changed_properties"/>
472       <arg type="as" name="invalidated_properties"/>
473     </signal>
474   </interface>
475 </node>