15#include "tuya_cloud_com_defs.h"
16#include "tuya_cloud_types.h"
25#define LAN_RPC_ID_LEN (GW_ID_LEN)
26#define LAN_RPC_KEY_LEN (LOCAL_KEY_LEN)
27#define LAN_RPC_NODE_TIMEOUT 20
29#define LAN_RPC_NODE_ADD 0
30#define LAN_RPC_NODE_DEL 1
31#define LAN_RPC_NODE_REJOIN 2
43 UINT8_T
id[LAN_RPC_ID_LEN + 1];
44 UINT8_T key[LAN_RPC_KEY_LEN + 1];
54typedef OPERATE_RET(*LAN_RPC_NODE_STAT_CB)(UINT8_T stat,
LAN_RPC_NODE_S *node);
55typedef VOID (*LAN_RPC_NODE_OUTPUT_CB)(
LAN_RPC_NODE_S *node, UINT16_T num, VOID *arg);
61 LAN_RPC_NODE_STAT_CB node_stat_cb;
62 LAN_RPC_MASTER_GET_CB master_get_cb;
87VOID lan_rpc_node_fresh(CHAR_T *dev_id);
89VOID lan_rpc_node_timeout_set(UINT_T timeout_s);
199VOID lan_rpc_disable(VOID);
OPERATE_RET lan_rpc_slave_call_sync(JRPC_MSG_S *requset, JRPC_MSG_S *result, UINT_T timeout)
slave rpc sync
OPERATE_RET lan_rpc_init(LAN_RPC_CFG_S *cfg)
rpc init
OPERATE_RET lan_rpc_session_key_set(UINT8_T *session_key)
set session key
INT_T lan_rpc_fd_get(VOID)
get fd
OPERATE_RET lan_rpc_get_peer_ip(OUT TUYA_IP_ADDR_T *peer_ip)
lan rpc get peer ip
OPERATE_RET lan_rpc_call_async(UINT8_T *id, JRPC_MSG_S *requset, RPC_RET_CB cb, VOID *cb_param, UINT_T timeout)
rpc sync
BOOL_T lan_rpc_node_find_ip_by_id(UINT8_T *id, UINT_T *ip)
found ip by id
OPERATE_RET lan_rpc_node_add(LAN_RPC_NODE_S *node)
node add
OPERATE_RET lan_rpc_node_key_set(UINT8_T *id, UINT8_T *key)
node key set
OPERATE_RET lan_rpc_recv(VOID)
rpc receive
BOOL_T lan_rpc_node_find_by_ip(UINT_T ip, LAN_RPC_NODE_S *node)
found node by ip
OPERATE_RET lan_rpc_method_register(CHAR_T *name, RPC_METHOD_CB cb, VOID *arg)
lan rpc method register
VOID lan_rpc_node_timeout_check(VOID)
check timeout
OPERATE_RET lan_rpc_node_output(LAN_RPC_NODE_OUTPUT_CB node_output_cb, VOID *arg)
node output
Definition: json_rpc.h:42
void(* rpc_method_cb)(jrpc_msg_t *request, void *arg, jrpc_msg_t *reply)
rpc method callback
Definition: svc_rpc.h:73
void(* rpc_async_cb)(jrpc_msg_t *result, void *arg)
rpc async callback
Definition: svc_rpc.h:91
Common process - Initialization