dnsquery.h File Reference
DNS query API. More...
#include <glib.h>
#include "eventloop.h"
#include "account.h"

Go to the source code of this file.
Data Structures | |
| struct | PurpleDnsQueryUiOps |
| DNS Request UI operations; UIs should implement this if they want to do DNS lookups themselves, rather than relying on the core. More... | |
Typedefs | |
| typedef struct _PurpleDnsQueryData | PurpleDnsQueryData |
| An opaque structure representing a DNS query. | |
| typedef void(* | PurpleDnsQueryConnectFunction )(GSList *hosts, gpointer data, const char *error_message) |
| The "hosts" parameter is a linked list containing pairs of one size_t addrlen and one struct sockaddr *addr. | |
| typedef void(* | PurpleDnsQueryResolvedCallback )(PurpleDnsQueryData *query_data, GSList *hosts) |
| Callbacks used by the UI if it handles resolving DNS. | |
| typedef void(* | PurpleDnsQueryFailedCallback )(PurpleDnsQueryData *query_data, const gchar *error_message) |
Functions | |
DNS query API | |
| PurpleDnsQueryData * | purple_dnsquery_a (const char *hostname, int port, PurpleDnsQueryConnectFunction callback, gpointer data) |
| Perform an asynchronous DNS query. | |
| void | purple_dnsquery_destroy (PurpleDnsQueryData *query_data) |
| Cancel a DNS query and destroy the associated data structure. | |
| void | purple_dnsquery_set_ui_ops (PurpleDnsQueryUiOps *ops) |
| Sets the UI operations structure to be used when doing a DNS resolve. | |
| PurpleDnsQueryUiOps * | purple_dnsquery_get_ui_ops (void) |
| Returns the UI operations structure to be used when doing a DNS resolve. | |
| char * | purple_dnsquery_get_host (PurpleDnsQueryData *query_data) |
| Get the host associated with a PurpleDnsQueryData. | |
| unsigned short | purple_dnsquery_get_port (PurpleDnsQueryData *query_data) |
| Get the port associated with a PurpleDnsQueryData. | |
| void | purple_dnsquery_init (void) |
| Initializes the DNS query subsystem. | |
| void | purple_dnsquery_uninit (void) |
| Uninitializes the DNS query subsystem. | |
Detailed Description
DNS query API.
Definition in file dnsquery.h.
Typedef Documentation
| typedef void(* PurpleDnsQueryConnectFunction)(GSList *hosts, gpointer data, const char *error_message) |
The "hosts" parameter is a linked list containing pairs of one size_t addrlen and one struct sockaddr *addr.
It should be free'd by the callback function.
Definition at line 45 of file dnsquery.h.
| typedef struct _PurpleDnsQueryData PurpleDnsQueryData |
An opaque structure representing a DNS query.
The hostname and port associated with the query can be retrieved using purple_dnsquery_get_host() and purple_dnsquery_get_port().
Definition at line 38 of file dnsquery.h.
Function Documentation
| PurpleDnsQueryData* purple_dnsquery_a | ( | const char * | hostname, | |
| int | port, | |||
| PurpleDnsQueryConnectFunction | callback, | |||
| gpointer | data | |||
| ) |
Perform an asynchronous DNS query.
- Parameters:
-
hostname The hostname to resolve. port A port number which is stored in the struct sockaddr. callback The callback function to call after resolving. data Extra data to pass to the callback function.
- Returns:
- NULL if there was an error, otherwise return a reference to a data structure that can be used to cancel the pending DNS query, if needed.
| void purple_dnsquery_destroy | ( | PurpleDnsQueryData * | query_data | ) |
Cancel a DNS query and destroy the associated data structure.
- Parameters:
-
query_data The DNS query to cancel. This data structure is freed by this function.
| char* purple_dnsquery_get_host | ( | PurpleDnsQueryData * | query_data | ) |
Get the host associated with a PurpleDnsQueryData.
- Parameters:
-
query_data The DNS query
- Returns:
- The host.
| unsigned short purple_dnsquery_get_port | ( | PurpleDnsQueryData * | query_data | ) |
Get the port associated with a PurpleDnsQueryData.
- Parameters:
-
query_data The DNS query
- Returns:
- The port.
| PurpleDnsQueryUiOps* purple_dnsquery_get_ui_ops | ( | void | ) |
Returns the UI operations structure to be used when doing a DNS resolve.
- Returns:
- The UI operations structure.
| void purple_dnsquery_set_ui_ops | ( | PurpleDnsQueryUiOps * | ops | ) |
Sets the UI operations structure to be used when doing a DNS resolve.
The UI operations need only be set if the UI wants to handle the resolve itself; otherwise, leave it as NULL.
- Parameters:
-
ops The UI operations structure.

