Wed, 13 May 2009 20:29:03 +0000
Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.
| 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_ */ |