#define TIZEN_ERROR_DNSSD -0x01CA0000
#endif
-/**
- * @brief Gets the interface name of DNSSD local service
- * @since_tizen 4.0
- * @privilevel public
- * @privilege %http://tizen.org/privilege/internet
- * @param[in] service The DNSSD service handle
- * @param[in] interface The interface name
- * @retval #DNSSD_ERROR_NONE Successful
- * @retval #DNSSD_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #DNSSD_ERROR_NOT_SUPPORTED Not Supported
- * @retval #DNSSD_ERROR_OUT_OF_MEMORY Out of Memory
- * @retval #DNSSD_ERROR_NOT_INITIALIZED Not Initialized
- */
-int dnssd_service_set_interface(dnssd_service_h local_service, const char *interface);
-
-/**
- * @brief Gets the interface name of DNSSD local/remote service.
- * @since_tizen 6.5
- * @remarks You must release @a interface using g_free().
- * @privilevel public
- * @privilege %http://tizen.org/privilege/internet
- * @param[in] service The DNSSD service handle
- * @param[out] interface The interface name
- * @retval #DNSSD_ERROR_NONE Successful
- * @retval #DNSSD_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #DNSSD_ERROR_NOT_SUPPORTED Not Supported
- * @retval #DNSSD_ERROR_OUT_OF_MEMORY Out of Memory
- * @retval #DNSSD_ERROR_NOT_INITIALIZED Not Initialized
- */
-int dnssd_service_get_interface(dnssd_service_h dnssd_service, char **interface);
-
/**
* @brief Starts browsing the DNSSD remote service on a specific network interface.
* @details found_cb would be called only if there are any services available of
dnssd_browser_h *dnssd_service, dnssd_found_cb found_cb,
void *user_data);
-/**
- * @brief Browses the services which have @a service_type.
- * @details @a found_cb will be called whenever a service appear or disapear from the network.
- * Application will keep browsing until it calls dnssd_cancel_browse_service().
- * @since_tizen 6.5
- * @privlevel public
- * @privilege %http://tizen.org/privilege/internet
- * @remark dnssd_resolve_service() should be called in @a found_cb
- * if you want to get a service data such as a target host name, a port,
- * txt record and IP addresses.
- * @param[in] service_type The DNSSD service type to browse.
- * @param[out] browser The DNSSD browse service handle
- * @param[in] found_cb The callback function to be called
- * @param[in] user_data The user data passed to the callback function
- * @return @c 0 on success, otherwise negative error value
- * @retval #DNSSD_ERROR_NONE Successful
- * @retval #DNSSD_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #DNSSD_ERROR_NOT_SUPPORTED Not Supported
- * @retval #DNSSD_ERROR_SERVICE_NOT_RUNNING Service Not Running
- * @retval #DNSSD_ERROR_NOT_INITIALIZED Not Initialized
- * @retval #DNSSD_ERROR_PERMISSION_DENIED Permission Denied
- * see dnssd_cancel_browse_service()
- */
-int dnssd_browse_service(const char *service_type, const char *interface,
- dnssd_browser_h *browser, dnssd_found_cb found_cb, void *user_data);
-
-/**
- * @brief Cancels browsing the services.
- * @since_tizen 6.5
- * @param[in] browser The DNSSD browse service handle returned by dnssd_browse_service()
- * @return @c 0 on success, otherwise negative error value
- * @retval #DNSSD_ERROR_NONE Successful
- * @retval #DNSSD_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #DNSSD_ERROR_NOT_SUPPORTED Not Supported
- * @retval #DNSSD_ERROR_SERVICE_NOT_RUNNING Service Not Running
- * @retval #DNSSD_ERROR_NOT_INITIALIZED Not Initialized
- * see dnssd_browse_service()
- */
-
-int dnssd_cancel_browse_service(dnssd_browser_h browser);
-
-/**
- * @brief Called when the service is resolved.
- * @since_tizen 6.5
- * @param[in] result The result of resolving.
- * @param[in] service The resolved service.
- * @param[in] user_data The user data passed from the request function
- * @see dnssd_resolve_service()
- */
-typedef void (*dnssd_resolved_cb) (dnssd_error_e result,
- dnssd_service_h service, void *user_data);
-
-/**
- * @brief Resolves a service browsed by dnssd_browse_service().
- * @details @a resolved_cb will be called whenever a service is resolved.
- * You can get a target host name, a port, txt record and IP addresses
- * from @a resolved_cb. If you have gotten the desired results,
- * cancel resolving service using dnssd_cancel_resolve_service().
- * @since_tizen 6.5
- * @privlevel public
- * @privilege %http://tizen.org/privilege/internet
- * @param[in] service The DNSSD service handle
- * @param[in] resolved_cb The callback function to be called
- * @param[in] user_data The user data passed to the callback function
- * @return @c 0 on success, otherwise negative error value
- * @retval #DNSSD_ERROR_NONE Successful
- * @retval #DNSSD_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #DNSSD_ERROR_NOT_SUPPORTED Not Supported
- * @retval #DNSSD_ERROR_SERVICE_NOT_RUNNING Service Not Running
- * @retval #DNSSD_ERROR_NOT_INITIALIZED Not Initialized
- * @retval #DNSSD_ERROR_PERMISSION_DENIED Permission Denied
- * @see dnssd_browse_service()
- * @see dnssd_cancel_resolve_service()
- */
-int dnssd_resolve_service(dnssd_service_h service,
- dnssd_resolved_cb resolved_cb, void *user_data);
-
-/**
- * @brief Cancels resolving a service.
- * @since_tizen 6.5
- * @privlevel public
- * @privilege %http://tizen.org/privilege/internet
- * @param[in] service The DNSSD service handle
- * @return @c 0 on success, otherwise negative error value
- * @retval #DNSSD_ERROR_NONE Successful
- * @retval #DNSSD_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #DNSSD_ERROR_NOT_SUPPORTED Not Supported
- * @retval #DNSSD_ERROR_SERVICE_NOT_RUNNING Service Not Running
- * @retval #DNSSD_ERROR_NOT_INITIALIZED Not Initialized
- * @retval #DNSSD_ERROR_PERMISSION_DENIED Permission Denied
- * @see dnssd_resolve_service()
- */
-int dnssd_cancel_resolve_service(dnssd_service_h service);
-
-
-/**
- * @brief Creates a DNSSD remote service handle.
- * @details @a dnssd_service is used for dnssd_resolve_service() only.
- * @since_tizen 6.5
- * @remarks You must release @a dnssd_service using dnssd_destroy_remote_service().
- * @param[in] service_type The DNSSD service type. It is expressed as type
- * followed by protocol, separated by a dot(e.g. "_ftp._tcp"). It
- * must begin with an underscore, followed by 1-15 characters which
- * may be letters, digits, or hyphens. The transport protocol must be
- * "_tcp" or "_udp". New service types should be registered at
- * http://www.dns-sd.org/ServiceTypes.html.
- * @param[in] service_name The name of DNSSD remote service
- * @param[in] interface The interface name
- * @param[out] dnssd_service The DNSSD remote handle
- * @return @c 0 on success,
- * otherwise negative error value
- * @retval #DNSSD_ERROR_NONE Successful
- * @retval #DNSSD_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #DNSSD_ERROR_OUT_OF_MEMORY Out of memory
- * @retval #DNSSD_ERROR_NOT_SUPPORTED Not Supported
- * @retval #DNSSD_ERROR_NOT_INITIALIZED Not Initialized
- * @see dnssd_destroy_remote_service()
- * @pre This API needs dnssd_initialize() before use
- */
-int dnssd_create_remote_service(const char *service_type, const char *service_name, const char *interfac, dnssd_service_h *dnssd_service);
-
-/**
- * @brief Destroys the DNSSD remote service handle.
- * @since_tizen 6.5
- * @remarks You must destroy only remote services created using dnssd_create_remote_service().
- * @param[in] dnssd_service The DNSSD remote service handle
- * @return @c 0 on success,
- * otherwise negative error value
- * @retval #DNSSD_ERROR_NONE Successful
- * @retval #DNSSD_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #DNSSD_ERROR_NOT_SUPPORTED Not Supported
- * @retval #DNSSD_ERROR_NOT_INITIALIZED Not Initialized
- * @see dnssd_create_remote_service()
- * @pre This API needs dnssd_create_remote_service() before use.
- */
-int dnssd_destroy_remote_service(dnssd_service_h dnssd_service);
-
#ifdef __cplusplus
}
#endif
*/
int dnssd_service_set_record(dnssd_service_h local_service, unsigned short type, unsigned short length, const void *data);
-
/**
* @brief Unsets the DNS resource record. DNS resource record for the given type
* must be set using dnssd_service_set_record().
*/
int dnssd_service_unset_record(dnssd_service_h local_service, unsigned short type);
+/**
+ * @brief Sets the interface name of DNSSD local service.
+ * @detail The @a interface is the interface of network card that this service is provided (e.g. wlan0, eth0, etc.).
+ * @since_tizen 7.0
+ * @param[in] local_service The DNSSD service handle
+ * @param[in] interface The interface name
+ * @return @c 0 on success,
+ * otherwise negative error value
+ * @retval #DNSSD_ERROR_NONE Successful
+ * @retval #DNSSD_ERROR_NOT_SUPPORTED Not Supported
+ * @retval #DNSSD_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #DNSSD_ERROR_NOT_INITIALIZED Not Initialized
+ */
+int dnssd_service_set_interface(dnssd_service_h local_service, const char *interface);
+
+/**
+ * @brief Gets the interface name of DNSSD local/remote service.
+ * @since_tizen 7.0
+ * @remarks You must release @a interface using free().
+ * @param[in] service The DNSSD service handle
+ * @param[out] interface The interface name
+ * @return @c 0 on success,
+ * otherwise negative error value
+ * @retval #DNSSD_ERROR_NONE Successful
+ * @retval #DNSSD_ERROR_NOT_SUPPORTED Not Supported
+ * @retval #DNSSD_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #DNSSD_ERROR_NOT_INITIALIZED Not Initialized
+ * @retval #DNSSD_ERROR_OUT_OF_MEMORY Out of Memory
+ */
+int dnssd_service_get_interface(dnssd_service_h service, char **interface);
+
/**
* @brief Registers the DNSSD local service for publishing.
*/
int dnssd_service_get_all_txt_record(dnssd_service_h dnssd_service, unsigned short *length, void **value);
+/**
+ * @brief Browses the services which have @a service_type.
+ * @details @a found_cb will be called whenever a service appear or disappear from the network.
+ * Application will keep browsing until it calls dnssd_cancel_browsing_service().
+ * @since_tizen 7.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/internet
+ * @remarks dnssd_resolve_service() should be called in @a found_cb
+ * if you want to get a service data such as a target host name, a port,
+ * txt record and IP addresses.
+ * @remarks The @a browser should be released using dnssd_cancel_browsing_service().
+ * @param[in] service_type The DNSSD service type to browse.
+ * @param[in] interface The interface name
+ * @param[out] browser The DNSSD browse service handle
+ * @param[in] found_cb The callback function to be called
+ * @param[in] user_data The user data passed to the callback function
+ * @return @c 0 on success, otherwise negative error value
+ * @retval #DNSSD_ERROR_NONE Successful
+ * @retval #DNSSD_ERROR_NOT_SUPPORTED Not Supported
+ * @retval #DNSSD_ERROR_PERMISSION_DENIED Permission Denied
+ * @retval #DNSSD_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #DNSSD_ERROR_OPERATION_FAILED Operation failed
+ * @retval #DNSSD_ERROR_OUT_OF_MEMORY Out of Memory
+ * @retval #DNSSD_ERROR_SERVICE_NOT_RUNNING Service Not Running
+ * @retval #DNSSD_ERROR_NOT_INITIALIZED Not Initialized
+ * @see dnssd_cancel_browsing_service()
+ */
+int dnssd_browse_service(const char *service_type, const char *interface,
+ dnssd_browser_h *browser, dnssd_found_cb found_cb, void *user_data);
+
+/**
+ * @brief Cancels browsing the services.
+ * @since_tizen 7.0
+ * @param[in] browser The DNSSD browse service handle returned by dnssd_browse_service()
+ * @return @c 0 on success, otherwise negative error value
+ * @retval #DNSSD_ERROR_NONE Successful
+ * @retval #DNSSD_ERROR_NOT_SUPPORTED Not Supported
+ * @retval #DNSSD_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #DNSSD_ERROR_OPERATION_FAILED Operation failed
+ * @retval #DNSSD_ERROR_SERVICE_NOT_RUNNING Service Not Running
+ * @retval #DNSSD_ERROR_NOT_INITIALIZED Not Initialized
+ * @see dnssd_browse_service()
+ */
+
+int dnssd_cancel_browsing_service(dnssd_browser_h browser);
+
+/**
+ * @brief Called when the service is resolved.
+ * @details The following @a result can be received: \n
+ * #DNSSD_ERROR_NONE Successful \n
+ * #DNSSD_ERROR_OPERATION_FAILED Operation failed \n
+ * @since_tizen 7.0
+ * @param[in] result The result of resolving.
+ * @param[in] remote_service The resolved service.
+ * @param[in] user_data The user data passed from the request function
+ * @see dnssd_resolve_service()
+ */
+typedef void (*dnssd_resolved_cb) (dnssd_error_e result,
+ dnssd_service_h remote_service, void *user_data);
+
+/**
+ * @brief Resolves a service browsed by dnssd_browse_service().
+ * @details @a resolved_cb will be called when a service is resolved.
+ * You can get a target host name, a port, txt record and IP addresses
+ * from @a resolved_cb. If you have gotten the desired results,
+ * cancel resolving service using dnssd_cancel_resolving_service().
+ * @since_tizen 7.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/internet
+ * @param[in] remote_service The DNSSD service handle
+ * @param[in] resolved_cb The callback function to be called
+ * @param[in] user_data The user data passed to the callback function
+ * @return @c 0 on success, otherwise negative error value
+ * @retval #DNSSD_ERROR_NONE Successful
+ * @retval #DNSSD_ERROR_NOT_SUPPORTED Not Supported
+ * @retval #DNSSD_ERROR_PERMISSION_DENIED Permission Denied
+ * @retval #DNSSD_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #DNSSD_ERROR_OPERATION_FAILED Operation failed
+ * @retval #DNSSD_ERROR_SERVICE_NOT_RUNNING Service Not Running
+ * @retval #DNSSD_ERROR_NOT_INITIALIZED Not Initialized
+ * @see dnssd_browse_service()
+ * @see dnssd_cancel_resolving_service()
+ */
+int dnssd_resolve_service(dnssd_service_h remote_service,
+ dnssd_resolved_cb resolved_cb, void *user_data);
+
+/**
+ * @brief Cancels resolving a service.
+ * @since_tizen 7.0
+ * @param[in] remote_service The DNSSD service handle
+ * @return @c 0 on success, otherwise negative error value
+ * @retval #DNSSD_ERROR_NONE Successful
+ * @retval #DNSSD_ERROR_NOT_SUPPORTED Not Supported
+ * @retval #DNSSD_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #DNSSD_ERROR_OPERATION_FAILED Operation failed
+ * @retval #DNSSD_ERROR_SERVICE_NOT_RUNNING Service Not Running
+ * @retval #DNSSD_ERROR_NOT_INITIALIZED Not Initialized
+ * @see dnssd_resolve_service()
+ */
+int dnssd_cancel_resolving_service(dnssd_service_h remote_service);
+
+/**
+ * @brief Creates a DNSSD remote service handle.
+ * @details @a remote_service is used for dnssd_resolve_service() only.
+ * @since_tizen 7.0
+ * @remarks You must release @a remote_service using dnssd_destroy_remote_service().
+ * @param[in] service_type The DNSSD service type. It is expressed as type
+ * followed by protocol, separated by a dot(e.g. "_ftp._tcp"). It
+ * must begin with an underscore, followed by 1-15 characters which
+ * may be letters, digits, or hyphens. The transport protocol must be
+ * "_tcp" or "_udp". New service types should be registered at
+ * http://www.dns-sd.org/ServiceTypes.html.
+ * @param[in] service_name The name of DNSSD remote service
+ * @param[in] interface The interface name
+ * @param[out] remote_service The DNSSD remote handle
+ * @return @c 0 on success,
+ * otherwise negative error value
+ * @retval #DNSSD_ERROR_NONE Successful
+ * @retval #DNSSD_ERROR_NOT_SUPPORTED Not Supported
+ * @retval #DNSSD_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #DNSSD_ERROR_OUT_OF_MEMORY Out of memory
+ * @retval #DNSSD_ERROR_NOT_INITIALIZED Not Initialized
+ * @see dnssd_destroy_remote_service()
+ */
+int dnssd_create_remote_service(const char *service_type, const char *service_name,
+ const char *interface, dnssd_service_h *remote_service);
+
+/**
+ * @brief Destroys the DNSSD remote service handle.
+ * @since_tizen 7.0
+ * @remarks You must destroy only remote services created using dnssd_create_remote_service().
+ * @param[in] remote_service The DNSSD remote service handle
+ * @return @c 0 on success,
+ * otherwise negative error value
+ * @retval #DNSSD_ERROR_NONE Successful
+ * @retval #DNSSD_ERROR_NOT_SUPPORTED Not Supported
+ * @retval #DNSSD_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #DNSSD_ERROR_NOT_INITIALIZED Not Initialized
+ * @see dnssd_create_remote_service()
+ */
+int dnssd_destroy_remote_service(dnssd_service_h remote_service);
+
/**
* @}
*/
+
#ifdef __cplusplus
}
#endif
(flags & kDNSServiceFlagsAdd) ? "Available" : "Unavailable");
}
- g_idle_add_full(G_PRIORITY_HIGH, __remove_service_getaddrinfo_socket,
- local_handle, NULL);
+ __remove_service_getaddrinfo_socket(local_handle);
DNSSD_UNLOCK;
}
return _dnssd_browse_service(service_type, interface, 0, browser, found_cb, user_data);
}
-EXPORT_API int dnssd_cancel_browse_service(dnssd_browser_h browser)
+EXPORT_API int dnssd_cancel_browsing_service(dnssd_browser_h browser)
{
return DNSSD_ERROR_NONE;
}
return res;
}
-EXPORT_API int dnssd_cancel_resolve_service(dnssd_service_h service)
+EXPORT_API int dnssd_cancel_resolving_service(dnssd_service_h service)
{
return DNSSD_ERROR_NONE;
}
return 1;
}
-int test_dnssd_cancel_browse_service()
+int test_dnssd_cancel_browsing_service()
{
dnssd_browser_h browser;
int rv;
printf("Enter Browse Service Handle:\n");
rv = scanf("%u", &browser);
- rv = dnssd_cancel_browse_service(browser);
+ rv = dnssd_cancel_browsing_service(browser);
if (rv != DNSSD_ERROR_NONE) {
printf("Failed to stop browse dns service %s\n",
dnssd_error_to_string(rv));
rv = test_dnssd_browse_service();
break;
case '4':
- rv = test_dnssd_cancel_browse_service();
+ rv = test_dnssd_cancel_browsing_service();
break;
case '5':
rv = test_dnssd_resolve_service();