Sun, 20 May 2007 06:19:49 +0000
merge of 'b98e72d4089afb8a1879e5fe9627cfb132ee88de'
and 'b2836a24d81e7a1bd1d21b3aea8794b094391344'
|
11373
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
1 | /** |
|
11379
a5a66b0e8b6e
[gaim-migrate @ 13605]
Daniel Atallah <datallah@pidgin.im>
parents:
11374
diff
changeset
|
2 | * @file dnssrv.h |
|
14370
12ef3d4096ee
[gaim-migrate @ 16998]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
3 | * |
|
11373
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
4 | * gaim |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
5 | * |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
6 | * Copyright (C) 2005, Thomas Butter <butter@uni-mannheim.de> |
|
14370
12ef3d4096ee
[gaim-migrate @ 16998]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
7 | *i |
|
11373
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
8 | * This program is free software; you can redistribute it and/or modify |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
9 | * it under the terms of the GNU General Public License as published by |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
10 | * the Free Software Foundation; either version 2 of the License, or |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
11 | * (at your option) any later version. |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
12 | * |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
13 | * This program is distributed in the hope that it will be useful, |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
16 | * GNU General Public License for more details. |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
17 | * |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
18 | * You should have received a copy of the GNU General Public License |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
19 | * along with this program; if not, write to the Free Software |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
21 | */ |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
22 | |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
23 | #ifndef _GAIM_DNSSRV_H |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
24 | #define _GAIM_DNSSRV_H |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
25 | |
|
14988
66b34458d49e
[gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents:
14370
diff
changeset
|
26 | #ifdef __cplusplus |
|
66b34458d49e
[gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents:
14370
diff
changeset
|
27 | extern "C" { |
|
66b34458d49e
[gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents:
14370
diff
changeset
|
28 | #endif |
|
66b34458d49e
[gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents:
14370
diff
changeset
|
29 | |
|
12686
ec3e7c4ff045
[gaim-migrate @ 15029]
Richard Laager <rlaager@pidgin.im>
parents:
11501
diff
changeset
|
30 | typedef struct _GaimSrvResponse GaimSrvResponse; |
|
14370
12ef3d4096ee
[gaim-migrate @ 16998]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
31 | typedef struct _GaimSrvQueryData GaimSrvQueryData; |
|
12686
ec3e7c4ff045
[gaim-migrate @ 15029]
Richard Laager <rlaager@pidgin.im>
parents:
11501
diff
changeset
|
32 | |
|
ec3e7c4ff045
[gaim-migrate @ 15029]
Richard Laager <rlaager@pidgin.im>
parents:
11501
diff
changeset
|
33 | struct _GaimSrvResponse { |
|
11373
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
34 | char hostname[256]; |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
35 | int port; |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
36 | int weight; |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
37 | int pref; |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
38 | }; |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
39 | |
|
14370
12ef3d4096ee
[gaim-migrate @ 16998]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
40 | typedef void (*GaimSrvCallback)(GaimSrvResponse *resp, int results, gpointer data); |
|
11373
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
41 | |
|
11374
eb32bdcf2e38
[gaim-migrate @ 13600]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
11373
diff
changeset
|
42 | /** |
|
eb32bdcf2e38
[gaim-migrate @ 13600]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
11373
diff
changeset
|
43 | * Queries an SRV record. |
|
eb32bdcf2e38
[gaim-migrate @ 13600]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
11373
diff
changeset
|
44 | * |
|
eb32bdcf2e38
[gaim-migrate @ 13600]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
11373
diff
changeset
|
45 | * @param protocol Name of the protocol (e.g. "sip") |
|
eb32bdcf2e38
[gaim-migrate @ 13600]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
11373
diff
changeset
|
46 | * @param transport Name of the transport ("tcp" or "udp") |
|
14370
12ef3d4096ee
[gaim-migrate @ 16998]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
47 | * @param domain Domain name to query (e.g. "blubb.com") |
|
11501
a8fc92026134
[gaim-migrate @ 13746]
Richard Laager <rlaager@pidgin.im>
parents:
11444
diff
changeset
|
48 | * @param cb A callback which will be called with the results |
|
a8fc92026134
[gaim-migrate @ 13746]
Richard Laager <rlaager@pidgin.im>
parents:
11444
diff
changeset
|
49 | * @param extradata Extra data to be passed to the callback |
|
11374
eb32bdcf2e38
[gaim-migrate @ 13600]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
11373
diff
changeset
|
50 | */ |
|
14370
12ef3d4096ee
[gaim-migrate @ 16998]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
51 | GaimSrvQueryData *gaim_srv_resolve(const char *protocol, const char *transport, const char *domain, GaimSrvCallback cb, gpointer extradata); |
|
12ef3d4096ee
[gaim-migrate @ 16998]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
52 | |
|
12ef3d4096ee
[gaim-migrate @ 16998]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
53 | /** |
|
12ef3d4096ee
[gaim-migrate @ 16998]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
54 | * Cancel an SRV DNS query. |
|
12ef3d4096ee
[gaim-migrate @ 16998]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
55 | * |
|
12ef3d4096ee
[gaim-migrate @ 16998]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
56 | * @param query_data The request to cancel. |
|
12ef3d4096ee
[gaim-migrate @ 16998]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
57 | */ |
|
12ef3d4096ee
[gaim-migrate @ 16998]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
58 | void gaim_srv_cancel(GaimSrvQueryData *query_data); |
|
11373
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
59 | |
|
14988
66b34458d49e
[gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents:
14370
diff
changeset
|
60 | #ifdef __cplusplus |
|
66b34458d49e
[gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents:
14370
diff
changeset
|
61 | } |
|
66b34458d49e
[gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents:
14370
diff
changeset
|
62 | #endif |
|
66b34458d49e
[gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents:
14370
diff
changeset
|
63 | |
|
11373
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
64 | #endif /* _GAIM_DNSSRV_H */ |