Wed, 09 Mar 2011 14:01:56 +0000
Fix building on Darwin with --disable-nls. Thanks to Emanuele
Giaquinta.
committer: Ethan Blanton <elb@pidgin.im>
| 14243 | 1 | /** |
| 2 | * @file dnsquery.h DNS query API | |
| 3 | * @ingroup core | |
|
20147
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19974
diff
changeset
|
4 | */ |
|
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19974
diff
changeset
|
5 | |
|
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19974
diff
changeset
|
6 | /* purple |
| 14243 | 7 | * |
| 15884 | 8 | * Purple is the legal property of its developers, whose names are too numerous |
| 14243 | 9 | * to list here. Please refer to the COPYRIGHT file distributed with this |
| 10 | * source distribution. | |
| 11 | * | |
| 12 | * This program is free software; you can redistribute it and/or modify | |
| 13 | * it under the terms of the GNU General Public License as published by | |
| 14 | * the Free Software Foundation; either version 2 of the License, or | |
| 15 | * (at your option) any later version. | |
| 16 | * | |
| 17 | * This program is distributed in the hope that it will be useful, | |
| 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 20 | * GNU General Public License for more details. | |
| 21 | * | |
| 22 | * You should have received a copy of the GNU General Public License | |
| 23 | * along with this program; if not, write to the Free Software | |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
16743
diff
changeset
|
24 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 14243 | 25 | */ |
| 15884 | 26 | #ifndef _PURPLE_DNSQUERY_H_ |
| 27 | #define _PURPLE_DNSQUERY_H_ | |
| 14243 | 28 | |
| 29 | #include <glib.h> | |
| 30 | #include "eventloop.h" | |
|
15763
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
31 | #include "account.h" |
| 14243 | 32 | |
|
28619
cd1d24fe1b7d
Document the opaque structure. Refs #10432.
Paul Aurich <darkrain42@pidgin.im>
parents:
21001
diff
changeset
|
33 | /** |
|
cd1d24fe1b7d
Document the opaque structure. Refs #10432.
Paul Aurich <darkrain42@pidgin.im>
parents:
21001
diff
changeset
|
34 | * An opaque structure representing a DNS query. The hostname and port |
|
cd1d24fe1b7d
Document the opaque structure. Refs #10432.
Paul Aurich <darkrain42@pidgin.im>
parents:
21001
diff
changeset
|
35 | * associated with the query can be retrieved using |
|
cd1d24fe1b7d
Document the opaque structure. Refs #10432.
Paul Aurich <darkrain42@pidgin.im>
parents:
21001
diff
changeset
|
36 | * purple_dnsquery_get_host() and purple_dnsquery_get_port(). |
|
cd1d24fe1b7d
Document the opaque structure. Refs #10432.
Paul Aurich <darkrain42@pidgin.im>
parents:
21001
diff
changeset
|
37 | */ |
| 15884 | 38 | typedef struct _PurpleDnsQueryData PurpleDnsQueryData; |
|
14245
8a215625c6cb
[gaim-migrate @ 16835]
Mark Doliner <markdoliner@pidgin.im>
parents:
14243
diff
changeset
|
39 | |
| 14243 | 40 | /** |
| 41 | * The "hosts" parameter is a linked list containing pairs of | |
|
14300
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
42 | * one size_t addrlen and one struct sockaddr *addr. It should |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
43 | * be free'd by the callback function. |
| 14243 | 44 | */ |
| 15884 | 45 | typedef void (*PurpleDnsQueryConnectFunction)(GSList *hosts, gpointer data, const char *error_message); |
| 14243 | 46 | |
|
15763
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
47 | /** |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
48 | * Callbacks used by the UI if it handles resolving DNS |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
49 | */ |
| 15884 | 50 | typedef void (*PurpleDnsQueryResolvedCallback) (PurpleDnsQueryData *query_data, GSList *hosts); |
| 51 | typedef void (*PurpleDnsQueryFailedCallback) (PurpleDnsQueryData *query_data, const gchar *error_message); | |
| 14243 | 52 | |
|
15763
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
53 | /** |
|
19481
a877ea886841
Add doxygen fu to the DNS UiOps.
Will Thompson <resiak@pidgin.im>
parents:
16743
diff
changeset
|
54 | * DNS Request UI operations; UIs should implement this if they want to do DNS |
|
a877ea886841
Add doxygen fu to the DNS UiOps.
Will Thompson <resiak@pidgin.im>
parents:
16743
diff
changeset
|
55 | * lookups themselves, rather than relying on the core. |
|
a877ea886841
Add doxygen fu to the DNS UiOps.
Will Thompson <resiak@pidgin.im>
parents:
16743
diff
changeset
|
56 | * |
|
a877ea886841
Add doxygen fu to the DNS UiOps.
Will Thompson <resiak@pidgin.im>
parents:
16743
diff
changeset
|
57 | * @see @ref ui-ops |
|
15763
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
58 | */ |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
59 | typedef struct |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
60 | { |
|
19481
a877ea886841
Add doxygen fu to the DNS UiOps.
Will Thompson <resiak@pidgin.im>
parents:
16743
diff
changeset
|
61 | /** If implemented, the UI is responsible for DNS queries */ |
|
a877ea886841
Add doxygen fu to the DNS UiOps.
Will Thompson <resiak@pidgin.im>
parents:
16743
diff
changeset
|
62 | gboolean (*resolve_host)(PurpleDnsQueryData *query_data, |
|
a877ea886841
Add doxygen fu to the DNS UiOps.
Will Thompson <resiak@pidgin.im>
parents:
16743
diff
changeset
|
63 | PurpleDnsQueryResolvedCallback resolved_cb, |
|
a877ea886841
Add doxygen fu to the DNS UiOps.
Will Thompson <resiak@pidgin.im>
parents:
16743
diff
changeset
|
64 | PurpleDnsQueryFailedCallback failed_cb); |
|
15775
a1aed6d0c33b
No changes; fixed a bunch of whitespace problems made by a text editor with 'use tabs' disabled. Sorry for the noise.
Evan Schoenberg <evands@pidgin.im>
parents:
15771
diff
changeset
|
65 | |
|
19481
a877ea886841
Add doxygen fu to the DNS UiOps.
Will Thompson <resiak@pidgin.im>
parents:
16743
diff
changeset
|
66 | /** Called just before @a query_data is freed; this should cancel any |
|
21001
cd56c63e2b2c
Fix a typo in a Doxygen comment.
Richard Laager <rlaager@pidgin.im>
parents:
20147
diff
changeset
|
67 | * further use of @a query_data the UI would make. Unneeded if |
|
19481
a877ea886841
Add doxygen fu to the DNS UiOps.
Will Thompson <resiak@pidgin.im>
parents:
16743
diff
changeset
|
68 | * #resolve_host is not implemented. |
|
15775
a1aed6d0c33b
No changes; fixed a bunch of whitespace problems made by a text editor with 'use tabs' disabled. Sorry for the noise.
Evan Schoenberg <evands@pidgin.im>
parents:
15771
diff
changeset
|
69 | */ |
| 15884 | 70 | void (*destroy)(PurpleDnsQueryData *query_data); |
|
16743
1ce5ffe12e2a
Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents:
15884
diff
changeset
|
71 | |
|
1ce5ffe12e2a
Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents:
15884
diff
changeset
|
72 | void (*_purple_reserved1)(void); |
|
1ce5ffe12e2a
Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents:
15884
diff
changeset
|
73 | void (*_purple_reserved2)(void); |
|
1ce5ffe12e2a
Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents:
15884
diff
changeset
|
74 | void (*_purple_reserved3)(void); |
|
1ce5ffe12e2a
Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents:
15884
diff
changeset
|
75 | void (*_purple_reserved4)(void); |
| 15884 | 76 | } PurpleDnsQueryUiOps; |
| 14243 | 77 | |
| 78 | #ifdef __cplusplus | |
| 79 | extern "C" { | |
| 80 | #endif | |
| 81 | ||
| 82 | /**************************************************************************/ | |
| 83 | /** @name DNS query API */ | |
| 84 | /**************************************************************************/ | |
| 85 | /*@{*/ | |
| 86 | ||
| 87 | /** | |
|
14300
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
88 | * Perform an asynchronous DNS query. |
| 14243 | 89 | * |
|
14300
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
90 | * @param hostname The hostname to resolve. |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
91 | * @param port A port number which is stored in the struct sockaddr. |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
92 | * @param callback The callback function to call after resolving. |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
93 | * @param data Extra data to pass to the callback function. |
| 14243 | 94 | * |
|
14245
8a215625c6cb
[gaim-migrate @ 16835]
Mark Doliner <markdoliner@pidgin.im>
parents:
14243
diff
changeset
|
95 | * @return NULL if there was an error, otherwise return a reference to |
|
8a215625c6cb
[gaim-migrate @ 16835]
Mark Doliner <markdoliner@pidgin.im>
parents:
14243
diff
changeset
|
96 | * a data structure that can be used to cancel the pending |
|
8a215625c6cb
[gaim-migrate @ 16835]
Mark Doliner <markdoliner@pidgin.im>
parents:
14243
diff
changeset
|
97 | * DNS query, if needed. |
| 14243 | 98 | */ |
| 15884 | 99 | PurpleDnsQueryData *purple_dnsquery_a(const char *hostname, int port, PurpleDnsQueryConnectFunction callback, gpointer data); |
| 14243 | 100 | |
|
14300
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
101 | /** |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
102 | * Cancel a DNS query and destroy the associated data structure. |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
103 | * |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
104 | * @param query_data The DNS query to cancel. This data structure |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
105 | * is freed by this function. |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
106 | */ |
| 15884 | 107 | void purple_dnsquery_destroy(PurpleDnsQueryData *query_data); |
|
14300
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
108 | |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
109 | /** |
|
15763
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
110 | * Sets the UI operations structure to be used when doing a DNS |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
111 | * resolve. The UI operations need only be set if the UI wants to |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
112 | * handle the resolve itself; otherwise, leave it as NULL. |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
113 | * |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
114 | * @param ops The UI operations structure. |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
115 | */ |
| 15884 | 116 | void purple_dnsquery_set_ui_ops(PurpleDnsQueryUiOps *ops); |
|
15763
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
117 | |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
118 | /** |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
119 | * Returns the UI operations structure to be used when doing a DNS |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
120 | * resolve. |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
121 | * |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
122 | * @return The UI operations structure. |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
123 | */ |
| 15884 | 124 | PurpleDnsQueryUiOps *purple_dnsquery_get_ui_ops(void); |
|
15763
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
125 | |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
126 | /** |
| 15884 | 127 | * Get the host associated with a PurpleDnsQueryData |
|
15763
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
128 | * |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
129 | * @param query_data The DNS query |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
130 | * @return The host. |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
131 | */ |
| 15884 | 132 | char *purple_dnsquery_get_host(PurpleDnsQueryData *query_data); |
|
15763
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
133 | |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
134 | /** |
| 15884 | 135 | * Get the port associated with a PurpleDnsQueryData |
|
15763
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
136 | * |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
137 | * @param query_data The DNS query |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
138 | * @return The port. |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
139 | */ |
| 15884 | 140 | unsigned short purple_dnsquery_get_port(PurpleDnsQueryData *query_data); |
|
15763
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
141 | |
|
2b529e4350bc
The UI can now use the GaimDnsQueryUiOps to handle DNS resolving itself; if this is done, the platform-specific DNS query code won't be used. This will be used in Adium to use an efficient threads-based DNS resolve (since Adium is already multithreaded, this is significantly cheaper than fork()).
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
142 | /** |
|
14300
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
143 | * Initializes the DNS query subsystem. |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
144 | */ |
| 15884 | 145 | void purple_dnsquery_init(void); |
|
14300
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
146 | |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
147 | /** |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
148 | * Uninitializes the DNS query subsystem. |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
149 | */ |
| 15884 | 150 | void purple_dnsquery_uninit(void); |
|
14300
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
151 | |
| 14243 | 152 | /*@}*/ |
| 153 | ||
| 154 | #ifdef __cplusplus | |
| 155 | } | |
| 156 | #endif | |
| 157 | ||
| 15884 | 158 | #endif /* _PURPLE_DNSQUERY_H_ */ |