openthread-br  0.3.0-72c0388
otubus.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019, The OpenThread Authors.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  * 1. Redistributions of source code must retain the above copyright
8  * notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  * notice, this list of conditions and the following disclaimer in the
11  * documentation and/or other materials provided with the distribution.
12  * 3. Neither the name of the copyright holder nor the
13  * names of its contributors may be used to endorse or promote products
14  * derived from this software without specific prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26  * POSSIBILITY OF SUCH DAMAGE.
27  */
28 
34 #ifndef OTBR_AGENT_OTUBUS_HPP_
35 #define OTBR_AGENT_OTUBUS_HPP_
36 
37 #include "openthread-br/config.h"
38 
39 #include <stdarg.h>
40 #include <time.h>
41 
42 #include <openthread/ip6.h>
43 #include <openthread/link.h>
44 #include <openthread/netdiag.h>
45 #include <openthread/udp.h>
46 
47 #include "common/code_utils.hpp"
48 #include "common/mainloop.hpp"
49 #include "ncp/ncp_openthread.hpp"
50 
51 extern "C" {
52 #include <libubox/blobmsg_json.h>
53 #include <libubox/uloop.h>
54 #include <libubox/ustream.h>
55 #include <libubox/utils.h>
56 #include <libubus.h>
57 }
58 
59 namespace otbr {
60 namespace Ncp {
61 class ControllerOpenThread;
62 }
63 
64 namespace ubus {
65 
75 {
76 public:
83  static void Initialize(Ncp::ControllerOpenThread *aController, std::mutex *aMutex);
84 
91  static UbusServer &GetInstance(void);
92 
97  void InstallUbusObject(void);
98 
111  static int UbusScanHandler(struct ubus_context * aContext,
112  struct ubus_object * aObj,
113  struct ubus_request_data *aRequest,
114  const char * aMethod,
115  struct blob_attr * aMsg);
116 
129  static int UbusChannelHandler(struct ubus_context * aContext,
130  struct ubus_object * aObj,
131  struct ubus_request_data *aRequest,
132  const char * aMethod,
133  struct blob_attr * aMsg);
134 
147  static int UbusSetChannelHandler(struct ubus_context * aContext,
148  struct ubus_object * aObj,
149  struct ubus_request_data *aRequest,
150  const char * aMethod,
151  struct blob_attr * aMsg);
152 
165  static int UbusNetworknameHandler(struct ubus_context * aContext,
166  struct ubus_object * aObj,
167  struct ubus_request_data *aRequest,
168  const char * aMethod,
169  struct blob_attr * aMsg);
170 
183  static int UbusSetNetworknameHandler(struct ubus_context * aContext,
184  struct ubus_object * aObj,
185  struct ubus_request_data *aRequest,
186  const char * aMethod,
187  struct blob_attr * aMsg);
188 
201  static int UbusStateHandler(struct ubus_context * aContext,
202  struct ubus_object * aObj,
203  struct ubus_request_data *aRequest,
204  const char * aMethod,
205  struct blob_attr * aMsg);
206 
219  static int UbusMacfilterSetStateHandler(struct ubus_context * aContext,
220  struct ubus_object * aObj,
221  struct ubus_request_data *aRequest,
222  const char * aMethod,
223  struct blob_attr * aMsg);
224 
237  static int UbusPanIdHandler(struct ubus_context * aContext,
238  struct ubus_object * aObj,
239  struct ubus_request_data *aRequest,
240  const char * aMethod,
241  struct blob_attr * aMsg);
242 
255  static int UbusSetPanIdHandler(struct ubus_context * aContext,
256  struct ubus_object * aObj,
257  struct ubus_request_data *aRequest,
258  const char * aMethod,
259  struct blob_attr * aMsg);
260 
273  static int UbusPskcHandler(struct ubus_context * aContext,
274  struct ubus_object * aObj,
275  struct ubus_request_data *aRequest,
276  const char * aMethod,
277  struct blob_attr * aMsg);
278 
291  static int UbusSetPskcHandler(struct ubus_context * aContext,
292  struct ubus_object * aObj,
293  struct ubus_request_data *aRequest,
294  const char * aMethod,
295  struct blob_attr * aMsg);
296 
309  static int UbusNetworkkeyHandler(struct ubus_context * aContext,
310  struct ubus_object * aObj,
311  struct ubus_request_data *aRequest,
312  const char * aMethod,
313  struct blob_attr * aMsg);
314 
327  static int UbusSetNetworkkeyHandler(struct ubus_context * aContext,
328  struct ubus_object * aObj,
329  struct ubus_request_data *aRequest,
330  const char * aMethod,
331  struct blob_attr * aMsg);
332 
345  static int UbusRloc16Handler(struct ubus_context * aContext,
346  struct ubus_object * aObj,
347  struct ubus_request_data *aRequest,
348  const char * aMethod,
349  struct blob_attr * aMsg);
350 
363  static int UbusExtPanIdHandler(struct ubus_context * aContext,
364  struct ubus_object * aObj,
365  struct ubus_request_data *aRequest,
366  const char * aMethod,
367  struct blob_attr * aMsg);
368 
381  static int UbusSetExtPanIdHandler(struct ubus_context * aContext,
382  struct ubus_object * aObj,
383  struct ubus_request_data *aRequest,
384  const char * aMethod,
385  struct blob_attr * aMsg);
386 
399  static int UbusModeHandler(struct ubus_context * aContext,
400  struct ubus_object * aObj,
401  struct ubus_request_data *aRequest,
402  const char * aMethod,
403  struct blob_attr * aMsg);
404 
417  static int UbusSetModeHandler(struct ubus_context * aContext,
418  struct ubus_object * aObj,
419  struct ubus_request_data *aRequest,
420  const char * aMethod,
421  struct blob_attr * aMsg);
422 
435  static int UbusPartitionIdHandler(struct ubus_context * aContext,
436  struct ubus_object * aObj,
437  struct ubus_request_data *aRequest,
438  const char * aMethod,
439  struct blob_attr * aMsg);
440 
453  static int UbusLeaderdataHandler(struct ubus_context * aContext,
454  struct ubus_object * aObj,
455  struct ubus_request_data *aRequest,
456  const char * aMethod,
457  struct blob_attr * aMsg);
458 
471  static int UbusNetworkdataHandler(struct ubus_context * aContext,
472  struct ubus_object * aObj,
473  struct ubus_request_data *aRequest,
474  const char * aMethod,
475  struct blob_attr * aMsg);
476 
489  static int UbusParentHandler(struct ubus_context * aContext,
490  struct ubus_object * aObj,
491  struct ubus_request_data *aRequest,
492  const char * aMethod,
493  struct blob_attr * aMsg);
494 
507  static int UbusNeighborHandler(struct ubus_context * aContext,
508  struct ubus_object * aObj,
509  struct ubus_request_data *aRequest,
510  const char * aMethod,
511  struct blob_attr * aMsg);
512 
525  static int UbusThreadStartHandler(struct ubus_context * aContext,
526  struct ubus_object * aObj,
527  struct ubus_request_data *aRequest,
528  const char * aMethod,
529  struct blob_attr * aMsg);
530 
543  static int UbusThreadStopHandler(struct ubus_context * aContext,
544  struct ubus_object * aObj,
545  struct ubus_request_data *aRequest,
546  const char * aMethod,
547  struct blob_attr * aMsg);
548 
561  static int UbusLeaveHandler(struct ubus_context * aContext,
562  struct ubus_object * aObj,
563  struct ubus_request_data *aRequest,
564  const char * aMethod,
565  struct blob_attr * aMsg);
566 
579  static int UbusMacfilterAddrHandler(struct ubus_context * aContext,
580  struct ubus_object * aObj,
581  struct ubus_request_data *aRequest,
582  const char * aMethod,
583  struct blob_attr * aMsg);
584 
597  static int UbusMacfilterStateHandler(struct ubus_context * aContext,
598  struct ubus_object * aObj,
599  struct ubus_request_data *aRequest,
600  const char * aMethod,
601  struct blob_attr * aMsg);
602 
615  static int UbusMacfilterAddHandler(struct ubus_context * aContext,
616  struct ubus_object * aObj,
617  struct ubus_request_data *aRequest,
618  const char * aMethod,
619  struct blob_attr * aMsg);
620 
633  static int UbusMacfilterClearHandler(struct ubus_context * aContext,
634  struct ubus_object * aObj,
635  struct ubus_request_data *aRequest,
636  const char * aMethod,
637  struct blob_attr * aMsg);
638 
651  static int UbusMacfilterRemoveHandler(struct ubus_context * aContext,
652  struct ubus_object * aObj,
653  struct ubus_request_data *aRequest,
654  const char * aMethod,
655  struct blob_attr * aMsg);
656 
669  static int UbusCommissionerStartHandler(struct ubus_context * aContext,
670  struct ubus_object * aObj,
671  struct ubus_request_data *aRequest,
672  const char * aMethod,
673  struct blob_attr * aMsg);
674 
687  static int UbusJoinerAddHandler(struct ubus_context * aContext,
688  struct ubus_object * aObj,
689  struct ubus_request_data *aRequest,
690  const char * aMethod,
691  struct blob_attr * aMsg);
692 
705  static int UbusJoinerRemoveHandler(struct ubus_context * aContext,
706  struct ubus_object * aObj,
707  struct ubus_request_data *aRequest,
708  const char * aMethod,
709  struct blob_attr * aMsg);
710 
723  static int UbusJoinerNumHandler(struct ubus_context * aContext,
724  struct ubus_object * aObj,
725  struct ubus_request_data *aRequest,
726  const char * aMethod,
727  struct blob_attr * aMsg);
728 
741  static int UbusMgmtsetHandler(struct ubus_context * aContext,
742  struct ubus_object * aObj,
743  struct ubus_request_data *aRequest,
744  const char * aMethod,
745  struct blob_attr * aMsg);
746 
756  static void HandleDiagnosticGetResponse(otError aError,
757  otMessage * aMessage,
758  const otMessageInfo *aMessageInfo,
759  void * aContext);
760 
769  void HandleDiagnosticGetResponse(otError aError, otMessage *aMessage, const otMessageInfo *aMessageInfo);
770 
771 private:
772  bool mIfFinishScan;
773  struct ubus_context * mContext;
774  const char * mSockPath;
775  struct blob_buf mBuf;
776  struct blob_buf mNetworkdataBuf;
777  Ncp::ControllerOpenThread *mController;
778  std::mutex * mNcpThreadMutex;
779  time_t mSecond;
780  enum
781  {
782  kDefaultJoinerTimeout = 120,
783  };
784 
791  UbusServer(Ncp::ControllerOpenThread *aController, std::mutex *aMutex);
792 
797  void ProcessScan(void);
798 
811  int UbusScanHandlerDetail(struct ubus_context * aContext,
812  struct ubus_object * aObj,
813  struct ubus_request_data *aRequest,
814  const char * aMethod,
815  struct blob_attr * aMsg);
816 
824  static void HandleActiveScanResult(otActiveScanResult *aResult, void *aContext);
825 
832  void HandleActiveScanResultDetail(otActiveScanResult *aResult);
833 
846  int UbusNeighborHandlerDetail(struct ubus_context * aContext,
847  struct ubus_object * aObj,
848  struct ubus_request_data *aRequest,
849  const char * aMethod,
850  struct blob_attr * aMsg);
851 
864  int UbusParentHandlerDetail(struct ubus_context * aContext,
865  struct ubus_object * aObj,
866  struct ubus_request_data *aRequest,
867  const char * aMethod,
868  struct blob_attr * aMsg);
869 
882  int UbusMgmtset(struct ubus_context * aContext,
883  struct ubus_object * aObj,
884  struct ubus_request_data *aRequest,
885  const char * aMethod,
886  struct blob_attr * aMsg);
887 
900  int UbusLeaveHandlerDetail(struct ubus_context * aContext,
901  struct ubus_object * aObj,
902  struct ubus_request_data *aRequest,
903  const char * aMethod,
904  struct blob_attr * aMsg);
905 
919  int UbusThreadHandler(struct ubus_context * aContext,
920  struct ubus_object * aObj,
921  struct ubus_request_data *aRequest,
922  const char * aMethod,
923  struct blob_attr * aMsg,
924  const char * aAction);
925 
939  int UbusGetInformation(struct ubus_context * aContext,
940  struct ubus_object * aObj,
941  struct ubus_request_data *aRequest,
942  const char * aMethod,
943  struct blob_attr * aMsg,
944  const char * action);
945 
959  int UbusSetInformation(struct ubus_context * aContext,
960  struct ubus_object * aObj,
961  struct ubus_request_data *aRequest,
962  const char * aMethod,
963  struct blob_attr * aMsg,
964  const char * aAction);
965 
979  int UbusCommissioner(struct ubus_context * aContext,
980  struct ubus_object * aObj,
981  struct ubus_request_data *aRequest,
982  const char * aMethod,
983  struct blob_attr * aMsg,
984  const char * aAction);
985 
993  static void HandleStateChanged(otCommissionerState aState, void *aContext);
994 
1001  void HandleStateChanged(otCommissionerState aState);
1002 
1012  static void HandleJoinerEvent(otCommissionerJoinerEvent aEvent,
1013  const otJoinerInfo * aJoinerInfo,
1014  const otExtAddress * aJoinerId,
1015  void * aContext);
1016 
1025  void HandleJoinerEvent(otCommissionerJoinerEvent aEvent,
1026  const otJoinerInfo * aJoinerInfo,
1027  const otExtAddress * aJoinerId);
1028 
1036  void GetState(otInstance *aInstance, char *aState);
1037 
1042  void UbusAddFd(void);
1043 
1050  static void UbusReconnTimer(struct uloop_timeout *aTimeout);
1051 
1058  void UbusReconnTimerDetail(struct uloop_timeout *aTimeout);
1059 
1066  static void UbusConnectionLost(struct ubus_context *aContext);
1067 
1076  int DisplayUbusInit(const char *aPath);
1077 
1082  void DisplayUbusDone(void);
1083 
1094  otError ParseLong(char *aString, long &aLong);
1095 
1105  int Hex2Bin(const char *aHex, uint8_t *aBin, uint16_t aBinLength);
1106 
1115  void OutputBytes(const uint8_t *aBytes, uint8_t aLength, char *aOutput);
1116 
1125  void AppendResult(otError aError, struct ubus_context *aContext, struct ubus_request_data *aRequest);
1126 };
1127 
1129 {
1130 public:
1138  : mNcp(aNcp)
1139  , mThreadMutex()
1140  {
1141  }
1142 
1147  void Init(void);
1148 
1149  void Update(MainloopContext &aMainloop) override;
1150  void Process(const MainloopContext &aMainloop) override;
1151 
1152 private:
1153  static void UbusServerRun(void) { otbr::ubus::UbusServer::GetInstance().InstallUbusObject(); }
1154 
1156  std::mutex mThreadMutex;
1157 };
1158 } // namespace ubus
1159 } // namespace otbr
1160 
1161 #endif // OTBR_AGENT_OTUBUS_HPP_
otbr::ubus::UbusServer::UbusExtPanIdHandler
static int UbusExtPanIdHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:424
otbr::ubus::UbusServer::UbusStateHandler
static int UbusStateHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:388
otbr::ubus::UbusServer::Initialize
static void Initialize(Ncp::ControllerOpenThread *aController, std::mutex *aMutex)
Definition: otubus.cpp:81
otbr::ubus::UbusServer::HandleDiagnosticGetResponse
static void HandleDiagnosticGetResponse(otError aError, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext)
Definition: otubus.cpp:1295
otbr::ubus::UbusServer::UbusThreadStopHandler
static int UbusThreadStopHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:487
otbr::ubus::UBusAgent::Process
void Process(const MainloopContext &aMainloop) override
Definition: otubus.cpp:1824
otbr::ubus::UbusServer::UbusMacfilterSetStateHandler
static int UbusMacfilterSetStateHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:640
otbr::ubus::UbusServer::UbusMacfilterAddrHandler
static int UbusMacfilterAddrHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:604
mainloop.hpp
otbr::ubus::UbusServer::UbusJoinerRemoveHandler
static int UbusJoinerRemoveHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:577
otbr::ubus::UbusServer::UbusMacfilterAddHandler
static int UbusMacfilterAddHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:622
otbr::ubus::UbusServer::UbusPskcHandler
static int UbusPskcHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:442
otbr::ubus::UbusServer::UbusMacfilterRemoveHandler
static int UbusMacfilterRemoveHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:631
otbr::ubus::UbusServer::UbusSetPskcHandler
static int UbusSetPskcHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:451
otbr::ubus::UBusAgent
Definition: otubus.hpp:1128
otbr::ubus::UbusServer::InstallUbusObject
void InstallUbusObject(void)
Definition: otubus.cpp:1717
otbr::ubus::UbusServer::UbusSetPanIdHandler
static int UbusSetPanIdHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:415
otbr::ubus::UbusServer::UbusMacfilterStateHandler
static int UbusMacfilterStateHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:613
otbr::ubus::UbusServer::UbusCommissionerStartHandler
static int UbusCommissionerStartHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:568
otbr::ubus::UbusServer::UbusSetModeHandler
static int UbusSetModeHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:523
otbr::ubus::UBusAgent::UBusAgent
UBusAgent(otbr::Ncp::ControllerOpenThread &aNcp)
Definition: otubus.hpp:1137
otbr::ubus::UbusServer::UbusParentHandler
static int UbusParentHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:496
otbr::ubus::UbusServer::UbusPanIdHandler
static int UbusPanIdHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:406
ncp_openthread.hpp
otbr::ubus::UbusServer::GetInstance
static UbusServer & GetInstance(void)
Definition: otubus.cpp:76
otbr::MainloopProcessor
Definition: mainloop.hpp:54
otbr::ubus::UbusServer::UbusSetNetworkkeyHandler
static int UbusSetNetworkkeyHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:469
otbr::ubus::UbusServer::UbusScanHandler
static int UbusScanHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:296
otbr::ubus::UbusServer::UbusNetworknameHandler
static int UbusNetworknameHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:370
otbr::ubus::UbusServer::UbusLeaderdataHandler
static int UbusLeaderdataHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:550
otbr::ubus::UbusServer::UbusNetworkkeyHandler
static int UbusNetworkkeyHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:460
otbr::ubus::UbusServer::UbusMacfilterClearHandler
static int UbusMacfilterClearHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:649
code_utils.hpp
otbr::ubus::UBusAgent::Init
void Init(void)
Definition: otubus.cpp:1793
otbr::ubus::UbusServer::UbusChannelHandler
static int UbusChannelHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:343
otbr::ubus::UbusServer
Definition: otubus.hpp:74
otbr::ubus::UbusServer::UbusNetworkdataHandler
static int UbusNetworkdataHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:559
otbr::ubus::UbusServer::UbusMgmtsetHandler
static int UbusMgmtsetHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:586
otbr::ubus::UbusServer::UbusJoinerAddHandler
static int UbusJoinerAddHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:595
otbr::ubus::UbusServer::UbusSetNetworknameHandler
static int UbusSetNetworknameHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:379
otbr::ubus::UbusServer::UbusPartitionIdHandler
static int UbusPartitionIdHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:532
otbr::ubus::UbusServer::UbusSetExtPanIdHandler
static int UbusSetExtPanIdHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:433
otbr::ubus::UbusServer::UbusSetChannelHandler
static int UbusSetChannelHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:352
otbr::ubus::UbusServer::UbusLeaveHandler
static int UbusLeaveHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:541
config.h
otbr::ubus::UbusServer::UbusRloc16Handler
static int UbusRloc16Handler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:397
otbr::ubus::UbusServer::UbusThreadStartHandler
static int UbusThreadStartHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:478
otbr::MainloopContext
otSysMainloopContext MainloopContext
Definition: mainloop.hpp:47
otbr::ubus::UBusAgent::Update
void Update(MainloopContext &aMainloop) override
Definition: otubus.cpp:1808
otbr::Ncp::ControllerOpenThread
Definition: ncp_openthread.hpp:64
otbr::ubus::UbusServer::UbusJoinerNumHandler
static int UbusJoinerNumHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:361
otbr::ubus::UbusServer::UbusModeHandler
static int UbusModeHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:514
otbr::ubus::UbusServer::UbusNeighborHandler
static int UbusNeighborHandler(struct ubus_context *aContext, struct ubus_object *aObj, struct ubus_request_data *aRequest, const char *aMethod, struct blob_attr *aMsg)
Definition: otubus.cpp:505