Wed, 06 Feb 2008 18:06:44 +0000
Simplified version of the newest patch on #4533 to not try Yahoo protocol
version 15 file transfer on Yahoo Japan.
| 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 | |
| 15884 | 33 | typedef struct _PurpleDnsQueryData PurpleDnsQueryData; |
|
14245
8a215625c6cb
[gaim-migrate @ 16835]
Mark Doliner <markdoliner@pidgin.im>
parents:
14243
diff
changeset
|
34 | |
| 14243 | 35 | /** |
| 36 | * The "hosts" parameter is a linked list containing pairs of | |
|
14300
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
37 | * one size_t addrlen and one struct sockaddr *addr. It should |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
38 | * be free'd by the callback function. |
| 14243 | 39 | */ |
| 15884 | 40 | typedef void (*PurpleDnsQueryConnectFunction)(GSList *hosts, gpointer data, const char *error_message); |
| 14243 | 41 | |
|
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
|
42 | /** |
|
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
|
43 | * 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
|
44 | */ |
| 15884 | 45 | typedef void (*PurpleDnsQueryResolvedCallback) (PurpleDnsQueryData *query_data, GSList *hosts); |
| 46 | typedef void (*PurpleDnsQueryFailedCallback) (PurpleDnsQueryData *query_data, const gchar *error_message); | |
| 14243 | 47 | |
|
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
|
48 | /** |
|
19481
a877ea886841
Add doxygen fu to the DNS UiOps.
Will Thompson <resiak@pidgin.im>
parents:
16743
diff
changeset
|
49 | * 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
|
50 | * 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
|
51 | * |
|
a877ea886841
Add doxygen fu to the DNS UiOps.
Will Thompson <resiak@pidgin.im>
parents:
16743
diff
changeset
|
52 | * @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
|
53 | */ |
|
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
|
54 | 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
|
55 | { |
|
19481
a877ea886841
Add doxygen fu to the DNS UiOps.
Will Thompson <resiak@pidgin.im>
parents:
16743
diff
changeset
|
56 | /** 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
|
57 | gboolean (*resolve_host)(PurpleDnsQueryData *query_data, |
|
a877ea886841
Add doxygen fu to the DNS UiOps.
Will Thompson <resiak@pidgin.im>
parents:
16743
diff
changeset
|
58 | PurpleDnsQueryResolvedCallback resolved_cb, |
|
a877ea886841
Add doxygen fu to the DNS UiOps.
Will Thompson <resiak@pidgin.im>
parents:
16743
diff
changeset
|
59 | 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
|
60 | |
|
19481
a877ea886841
Add doxygen fu to the DNS UiOps.
Will Thompson <resiak@pidgin.im>
parents:
16743
diff
changeset
|
61 | /** 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
|
62 | * 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
|
63 | * #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
|
64 | */ |
| 15884 | 65 | 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
|
66 | |
|
1ce5ffe12e2a
Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents:
15884
diff
changeset
|
67 | 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
|
68 | 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
|
69 | 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
|
70 | void (*_purple_reserved4)(void); |
| 15884 | 71 | } PurpleDnsQueryUiOps; |
| 14243 | 72 | |
| 73 | #ifdef __cplusplus | |
| 74 | extern "C" { | |
| 75 | #endif | |
| 76 | ||
| 77 | /**************************************************************************/ | |
| 78 | /** @name DNS query API */ | |
| 79 | /**************************************************************************/ | |
| 80 | /*@{*/ | |
| 81 | ||
| 82 | /** | |
|
14300
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
83 | * Perform an asynchronous DNS query. |
| 14243 | 84 | * |
|
14300
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
85 | * @param hostname The hostname to resolve. |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
86 | * @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
|
87 | * @param callback The callback function to call after resolving. |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
88 | * @param data Extra data to pass to the callback function. |
| 14243 | 89 | * |
|
14245
8a215625c6cb
[gaim-migrate @ 16835]
Mark Doliner <markdoliner@pidgin.im>
parents:
14243
diff
changeset
|
90 | * @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
|
91 | * a data structure that can be used to cancel the pending |
|
8a215625c6cb
[gaim-migrate @ 16835]
Mark Doliner <markdoliner@pidgin.im>
parents:
14243
diff
changeset
|
92 | * DNS query, if needed. |
| 14243 | 93 | */ |
| 15884 | 94 | PurpleDnsQueryData *purple_dnsquery_a(const char *hostname, int port, PurpleDnsQueryConnectFunction callback, gpointer data); |
| 14243 | 95 | |
|
14300
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
96 | /** |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
97 | * Cancel a DNS query and destroy the associated data structure. |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
98 | * |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
99 | * @param query_data The DNS query to cancel. This data structure |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
100 | * is freed by this function. |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
101 | */ |
| 15884 | 102 | void purple_dnsquery_destroy(PurpleDnsQueryData *query_data); |
|
14300
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 | /** |
|
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
|
105 | * 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
|
106 | * 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
|
107 | * 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
|
108 | * |
|
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
|
109 | * @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
|
110 | */ |
| 15884 | 111 | 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
|
112 | |
|
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 | * 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
|
115 | * 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
|
116 | * |
|
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 | * @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
|
118 | */ |
| 15884 | 119 | 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
|
120 | |
|
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 | /** |
| 15884 | 122 | * 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
|
123 | * |
|
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
|
124 | * @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
|
125 | * @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
|
126 | */ |
| 15884 | 127 | 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
|
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 | /** |
| 15884 | 130 | * 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
|
131 | * |
|
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
|
132 | * @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
|
133 | * @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
|
134 | */ |
| 15884 | 135 | 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
|
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 | /** |
|
14300
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
138 | * Initializes the DNS query subsystem. |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
139 | */ |
| 15884 | 140 | void purple_dnsquery_init(void); |
|
14300
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
141 | |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
142 | /** |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
143 | * Uninitializes the DNS query subsystem. |
|
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
144 | */ |
| 15884 | 145 | void purple_dnsquery_uninit(void); |
|
14300
68a0aa63f3b8
[gaim-migrate @ 16920]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
146 | |
| 14243 | 147 | /*@}*/ |
| 148 | ||
| 149 | #ifdef __cplusplus | |
| 150 | } | |
| 151 | #endif | |
| 152 | ||
| 15884 | 153 | #endif /* _PURPLE_DNSQUERY_H_ */ |