diff --git a/src/ncp/ncp_base.hpp b/src/ncp/ncp_base.hpp index 7ac5948c9..cd8a9cfda 100644 --- a/src/ncp/ncp_base.hpp +++ b/src/ncp/ncp_base.hpp @@ -296,6 +296,9 @@ private: // (they expect `aHeader` as an input argument) and are processed separately in // `HandleCommandPropertySet()`. + // -------------------------------------------------------------------------- + // Common Properties + NCP_GET_PROP_HANDLER(LAST_STATUS); NCP_GET_PROP_HANDLER(PROTOCOL_VERSION); NCP_GET_PROP_HANDLER(INTERFACE_TYPE); @@ -312,6 +315,9 @@ private: NCP_GET_PROP_HANDLER(LOCK); NCP_GET_PROP_HANDLER(HOST_POWER_STATE); NCP_GET_PROP_HANDLER(UNSOL_UPDATE_FILTER); + NCP_SET_PROP_HANDLER(UNSOL_UPDATE_FILTER); + NCP_INSERT_PROP_HANDLER(UNSOL_UPDATE_FILTER); + NCP_REMOVE_PROP_HANDLER(UNSOL_UPDATE_FILTER); NCP_GET_PROP_HANDLER(UNSOL_UPDATE_LIST); NCP_GET_PROP_HANDLER(PHY_RX_SENSITIVITY); @@ -326,9 +332,6 @@ private: NCP_GET_PROP_HANDLER(MAC_15_4_LADDR); NCP_SET_PROP_HANDLER(MAC_15_4_LADDR); NCP_GET_PROP_HANDLER(MAC_15_4_SADDR); -#if OPENTHREAD_ENABLE_RAW_LINK_API - NCP_SET_PROP_HANDLER(MAC_15_4_SADDR); -#endif NCP_GET_PROP_HANDLER(MAC_PROMISCUOUS_MODE); NCP_SET_PROP_HANDLER(MAC_PROMISCUOUS_MODE); NCP_GET_PROP_HANDLER(MAC_RAW_STREAM_ENABLED); @@ -336,28 +339,36 @@ private: NCP_GET_PROP_HANDLER(MAC_DATA_POLL_PERIOD); NCP_SET_PROP_HANDLER(MAC_DATA_POLL_PERIOD); - NCP_SET_PROP_HANDLER(UNSOL_UPDATE_FILTER); - - NCP_INSERT_PROP_HANDLER(UNSOL_UPDATE_FILTER); - NCP_REMOVE_PROP_HANDLER(UNSOL_UPDATE_FILTER); + // -------------------------------------------------------------------------- + // Raw Link API Properties #if OPENTHREAD_ENABLE_RAW_LINK_API - NCP_SET_PROP_HANDLER(MAC_SRC_MATCH_ENABLED); + NCP_SET_PROP_HANDLER(PHY_ENABLED); + + NCP_SET_PROP_HANDLER(MAC_15_4_SADDR); + NCP_SET_PROP_HANDLER(MAC_SRC_MATCH_ENABLED); NCP_SET_PROP_HANDLER(MAC_SRC_MATCH_SHORT_ADDRESSES); NCP_INSERT_PROP_HANDLER(MAC_SRC_MATCH_SHORT_ADDRESSES); NCP_REMOVE_PROP_HANDLER(MAC_SRC_MATCH_SHORT_ADDRESSES); - NCP_SET_PROP_HANDLER(MAC_SRC_MATCH_EXTENDED_ADDRESSES); NCP_INSERT_PROP_HANDLER(MAC_SRC_MATCH_EXTENDED_ADDRESSES); NCP_REMOVE_PROP_HANDLER(MAC_SRC_MATCH_EXTENDED_ADDRESSES); - NCP_SET_PROP_HANDLER(PHY_ENABLED); #endif // OPENTHREAD_ENABLE_RAW_LINK_API - // FTD or MTD handlers. + // -------------------------------------------------------------------------- + // MTD (or FTD) Properties + #if OPENTHREAD_MTD || OPENTHREAD_FTD + NCP_SET_PROP_HANDLER(STREAM_NET); + NCP_SET_PROP_HANDLER(STREAM_NET_INSECURE); + + NCP_GET_PROP_HANDLER(PHY_FREQ); + NCP_GET_PROP_HANDLER(PHY_CHAN_SUPPORTED); + NCP_GET_PROP_HANDLER(PHY_RSSI); + NCP_GET_PROP_HANDLER(MAC_EXTENDED_ADDR); NCP_GET_PROP_HANDLER(MAC_SCAN_MASK); NCP_SET_PROP_HANDLER(MAC_SCAN_MASK); @@ -365,10 +376,24 @@ private: NCP_SET_PROP_HANDLER(MAC_SCAN_PERIOD); NCP_GET_PROP_HANDLER(MAC_SCAN_STATE); NCP_SET_PROP_HANDLER(MAC_SCAN_STATE); - - NCP_GET_PROP_HANDLER(PHY_FREQ); - NCP_GET_PROP_HANDLER(PHY_CHAN_SUPPORTED); - NCP_GET_PROP_HANDLER(PHY_RSSI); +#if OPENTHREAD_ENABLE_MAC_FILTER + NCP_GET_PROP_HANDLER(MAC_WHITELIST_ENABLED); + NCP_SET_PROP_HANDLER(MAC_WHITELIST_ENABLED); + NCP_GET_PROP_HANDLER(MAC_WHITELIST); + NCP_SET_PROP_HANDLER(MAC_WHITELIST); + NCP_INSERT_PROP_HANDLER(MAC_WHITELIST); + NCP_REMOVE_PROP_HANDLER(MAC_WHITELIST); + NCP_GET_PROP_HANDLER(MAC_BLACKLIST_ENABLED); + NCP_SET_PROP_HANDLER(MAC_BLACKLIST_ENABLED); + NCP_GET_PROP_HANDLER(MAC_BLACKLIST); + NCP_SET_PROP_HANDLER(MAC_BLACKLIST); + NCP_INSERT_PROP_HANDLER(MAC_BLACKLIST); + NCP_REMOVE_PROP_HANDLER(MAC_BLACKLIST); + NCP_GET_PROP_HANDLER(MAC_FIXED_RSS); + NCP_SET_PROP_HANDLER(MAC_FIXED_RSS); + NCP_INSERT_PROP_HANDLER(MAC_FIXED_RSS); + NCP_REMOVE_PROP_HANDLER(MAC_FIXED_RSS); +#endif NCP_GET_PROP_HANDLER(NET_SAVED); NCP_GET_PROP_HANDLER(NET_IF_UP); @@ -388,24 +413,22 @@ private: NCP_GET_PROP_HANDLER(NET_PARTITION_ID); NCP_GET_PROP_HANDLER(NET_KEY_SWITCH_GUARDTIME); NCP_SET_PROP_HANDLER(NET_KEY_SWITCH_GUARDTIME); - NCP_GET_PROP_HANDLER(THREAD_LEADER); + NCP_GET_PROP_HANDLER(IPV6_ML_PREFIX); NCP_SET_PROP_HANDLER(IPV6_ML_PREFIX); NCP_GET_PROP_HANDLER(IPV6_ML_ADDR); NCP_GET_PROP_HANDLER(IPV6_LL_ADDR); - NCP_GET_PROP_HANDLER(IPV6_ADDRESS_TABLE); NCP_INSERT_PROP_HANDLER(IPV6_ADDRESS_TABLE); NCP_REMOVE_PROP_HANDLER(IPV6_ADDRESS_TABLE); - NCP_GET_PROP_HANDLER(IPV6_ROUTE_TABLE); NCP_GET_PROP_HANDLER(IPV6_ICMP_PING_OFFLOAD); NCP_SET_PROP_HANDLER(IPV6_ICMP_PING_OFFLOAD); - NCP_GET_PROP_HANDLER(IPV6_MULTICAST_ADDRESS_TABLE); NCP_INSERT_PROP_HANDLER(IPV6_MULTICAST_ADDRESS_TABLE); NCP_REMOVE_PROP_HANDLER(IPV6_MULTICAST_ADDRESS_TABLE); + NCP_GET_PROP_HANDLER(THREAD_LEADER); NCP_GET_PROP_HANDLER(THREAD_RLOC16_DEBUG_PASSTHRU); NCP_SET_PROP_HANDLER(THREAD_RLOC16_DEBUG_PASSTHRU); NCP_GET_PROP_HANDLER(THREAD_OFF_MESH_ROUTES); @@ -439,7 +462,18 @@ private: #if OPENTHREAD_ENABLE_BORDER_ROUTER NCP_SET_PROP_HANDLER(THREAD_ALLOW_LOCAL_NET_DATA_CHANGE); #endif - NCP_SET_PROP_HANDLER(STREAM_NET); + NCP_GET_PROP_HANDLER(THREAD_MODE); + NCP_SET_PROP_HANDLER(THREAD_MODE); + NCP_GET_PROP_HANDLER(THREAD_CHILD_TIMEOUT); + NCP_GET_PROP_HANDLER(THREAD_RLOC16); + NCP_GET_PROP_HANDLER(NET_REQUIRE_JOIN_EXISTING); + NCP_SET_PROP_HANDLER(NET_REQUIRE_JOIN_EXISTING); + NCP_GET_PROP_HANDLER(THREAD_DISCOVERY_SCAN_JOINER_FLAG); + NCP_SET_PROP_HANDLER(THREAD_DISCOVERY_SCAN_JOINER_FLAG); + NCP_GET_PROP_HANDLER(THREAD_DISCOVERY_SCAN_ENABLE_FILTERING); + NCP_SET_PROP_HANDLER(THREAD_DISCOVERY_SCAN_ENABLE_FILTERING); + NCP_GET_PROP_HANDLER(THREAD_DISCOVERY_SCAN_PANID); + NCP_SET_PROP_HANDLER(THREAD_DISCOVERY_SCAN_PANID); NCP_GET_PROP_HANDLER(CNTR_TX_PKT_TOTAL); NCP_GET_PROP_HANDLER(CNTR_TX_PKT_ACK_REQ); @@ -486,37 +520,8 @@ private: NCP_GET_PROP_HANDLER(CNTR_IP_RX_SUCCESS); NCP_GET_PROP_HANDLER(CNTR_IP_TX_FAILURE); NCP_GET_PROP_HANDLER(CNTR_IP_RX_FAILURE); + NCP_SET_PROP_HANDLER(CNTR_RESET); NCP_GET_PROP_HANDLER(MSG_BUFFER_COUNTERS); -#if OPENTHREAD_ENABLE_MAC_FILTER - NCP_GET_PROP_HANDLER(MAC_WHITELIST_ENABLED); - NCP_SET_PROP_HANDLER(MAC_WHITELIST_ENABLED); - NCP_GET_PROP_HANDLER(MAC_WHITELIST); - NCP_SET_PROP_HANDLER(MAC_WHITELIST); - NCP_INSERT_PROP_HANDLER(MAC_WHITELIST); - NCP_REMOVE_PROP_HANDLER(MAC_WHITELIST); - NCP_INSERT_PROP_HANDLER(MAC_BLACKLIST); - NCP_REMOVE_PROP_HANDLER(MAC_BLACKLIST); - NCP_GET_PROP_HANDLER(MAC_BLACKLIST_ENABLED); - NCP_SET_PROP_HANDLER(MAC_BLACKLIST_ENABLED); - NCP_SET_PROP_HANDLER(MAC_BLACKLIST); - NCP_GET_PROP_HANDLER(MAC_BLACKLIST); - NCP_GET_PROP_HANDLER(MAC_FIXED_RSS); - NCP_SET_PROP_HANDLER(MAC_FIXED_RSS); - NCP_INSERT_PROP_HANDLER(MAC_FIXED_RSS); - NCP_REMOVE_PROP_HANDLER(MAC_FIXED_RSS); -#endif - NCP_GET_PROP_HANDLER(THREAD_MODE); - NCP_SET_PROP_HANDLER(THREAD_MODE); - NCP_GET_PROP_HANDLER(THREAD_CHILD_TIMEOUT); - NCP_GET_PROP_HANDLER(THREAD_RLOC16); - NCP_GET_PROP_HANDLER(NET_REQUIRE_JOIN_EXISTING); - NCP_SET_PROP_HANDLER(NET_REQUIRE_JOIN_EXISTING); - NCP_GET_PROP_HANDLER(THREAD_DISCOVERY_SCAN_JOINER_FLAG); - NCP_SET_PROP_HANDLER(THREAD_DISCOVERY_SCAN_JOINER_FLAG); - NCP_GET_PROP_HANDLER(THREAD_DISCOVERY_SCAN_ENABLE_FILTERING); - NCP_SET_PROP_HANDLER(THREAD_DISCOVERY_SCAN_ENABLE_FILTERING); - NCP_GET_PROP_HANDLER(THREAD_DISCOVERY_SCAN_PANID); - NCP_SET_PROP_HANDLER(THREAD_DISCOVERY_SCAN_PANID); #if OPENTHREAD_ENABLE_JAM_DETECTION NCP_GET_PROP_HANDLER(JAM_DETECTED); @@ -535,13 +540,17 @@ private: NCP_SET_PROP_HANDLER(NEST_LEGACY_ULA_PREFIX); NCP_GET_PROP_HANDLER(NEST_LEGACY_LAST_NODE_JOINED); #endif - NCP_SET_PROP_HANDLER(STREAM_NET_INSECURE); - NCP_SET_PROP_HANDLER(CNTR_RESET); + #endif // OPENTHREAD_MTD || OPENTHREAD_FTD + // -------------------------------------------------------------------------- + // FTD Only Properties + #if OPENTHREAD_FTD + NCP_GET_PROP_HANDLER(NET_PSKC); NCP_SET_PROP_HANDLER(NET_PSKC); + NCP_GET_PROP_HANDLER(THREAD_CHILD_TABLE); NCP_GET_PROP_HANDLER(THREAD_CHILD_COUNT_MAX); NCP_SET_PROP_HANDLER(THREAD_CHILD_COUNT_MAX); @@ -574,8 +583,13 @@ private: NCP_SET_PROP_HANDLER(THREAD_TMF_PROXY_STREAM); #endif NCP_REMOVE_PROP_HANDLER(THREAD_ACTIVE_ROUTER_IDS); + #endif // OPENTHREAD_FTD + // -------------------------------------------------------------------------- + // Property "set" handlers for special properties for which the spinel + // response needs to be created from within the set handler. + otError SetPropertyHandler_HOST_POWER_STATE(uint8_t aHeader); #if OPENTHREAD_ENABLE_DIAG