/**
* @ingroup CAPI_NETWORK_THREAD_BORDERROUTER_MODULE
+ * @brief Set rloc to on-mesh prefix info
+ * @since_tizen 7.0
+ *
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #THREAD_ERROR_NONE Successful
+ * @retval #THREAD_ERROR_NOT_INITIALIZED Not initialized
+ * @retval #THREAD_ERROR_OPERATION_FAILED Operation failed
+ * @retval #THREAD_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @pre thread API must be initialized with thread_initialize().
+ *
+ * @see thread_onmesh_prefix_create()
+ * @see thread_onmesh_prefix_destroy()
+ */
+int thread_onmesh_prefix_set_rloc(thread_onmesh_prefix_info_h onmesh_prefix,
+ uint16_t rloc);
+
+/**
+ * @ingroup CAPI_NETWORK_THREAD_BORDERROUTER_MODULE
+ * @brief Get rloc to on-mesh prefix info
+ * @since_tizen 7.0
+ *
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #THREAD_ERROR_NONE Successful
+ * @retval #THREAD_ERROR_NOT_INITIALIZED Not initialized
+ * @retval #THREAD_ERROR_OPERATION_FAILED Operation failed
+ * @retval #THREAD_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @pre thread API must be initialized with thread_initialize().
+ *
+ * @see thread_onmesh_prefix_create()
+ * @see thread_onmesh_prefix_destroy()
+ */
+int thread_onmesh_prefix_get_rloc(thread_onmesh_prefix_info_h onmesh_prefix,
+ uint16_t *rloc);
+
+/**
+ * @ingroup CAPI_NETWORK_THREAD_BORDERROUTER_MODULE
* @brief Set preferred to on-mesh prefix info
* @since_tizen 7.0
*
return THREAD_ERROR_NONE;
}
+int thread_onmesh_prefix_set_rloc(thread_onmesh_prefix_info_h onmesh_prefix,
+ uint16_t rloc)
+{
+ FUNC_ENTRY;
+ THREAD_CHECK_SUPPORTED_FEATURE(THREAD_FEATURE_COMMON);
+ THREAD_CHECK_INIT_STATUS();
+ THREAD_VALIDATE_INPUT_PARAMETER(onmesh_prefix);
+
+ thread_onmesh_prefix_info_s *onmesh_prefix_info =
+ (thread_onmesh_prefix_info_s *)onmesh_prefix;
+ onmesh_prefix_info->rloc = rloc;
+
+ FUNC_EXIT;
+ return THREAD_ERROR_NONE;
+}
+
+int thread_onmesh_prefix_get_rloc(thread_onmesh_prefix_info_h onmesh_prefix,
+ uint16_t *rloc)
+{
+ FUNC_ENTRY;
+ THREAD_CHECK_SUPPORTED_FEATURE(THREAD_FEATURE_COMMON);
+ THREAD_CHECK_INIT_STATUS();
+ THREAD_VALIDATE_INPUT_PARAMETER(onmesh_prefix);
+
+ thread_onmesh_prefix_info_s *onmesh_prefix_info =
+ (thread_onmesh_prefix_info_s *)onmesh_prefix;
+ *rloc = onmesh_prefix_info->rloc;
+
+ FUNC_EXIT;
+ return THREAD_ERROR_NONE;
+}
int thread_onmesh_prefix_set_preferred(thread_onmesh_prefix_info_h onmesh_prefix,
bool is_preferred)
{
uint8_t onmeshIpv6Prefix[THREAD_IPV6_PREFIX_SIZE];
uint8_t onmeshIpv6PrefixLen;
bool preferred;
+ bool rloc;
bool slaac;
bool dhcp;
bool configure;
thread_onmesh_prefix_get_preference(onmeshPrefix, &preference));
}
+TEST_F(ThreadBRTest, BRSetOnmeshRlocErrorNone)
+{
+ EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
+ EXPECT_EQ(THREAD_ERROR_NONE,
+ thread_onmesh_prefix_create(instance, &onmeshPrefix));
+ EXPECT_EQ(THREAD_ERROR_NONE,
+ thread_onmesh_prefix_set_rloc(onmeshPrefix, rloc));
+}
+
+TEST_F(ThreadBRTest, BRGetOnmeshRlocErrorNone)
+{
+ EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
+ EXPECT_EQ(THREAD_ERROR_NONE,
+ thread_onmesh_prefix_create(instance, &onmeshPrefix));
+ EXPECT_EQ(THREAD_ERROR_NONE,
+ thread_onmesh_prefix_set_rloc(onmeshPrefix, rloc));
+ EXPECT_EQ(THREAD_ERROR_NONE,
+ thread_onmesh_prefix_get_rloc(onmeshPrefix, &rloc));
+}
+
TEST_F(ThreadBRTest, BRSetOnmeshPreferredErrorNone)
{
EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));