summaryrefslogtreecommitdiff
path: root/libpurple/dnssrv.h
diff options
context:
space:
mode:
Diffstat (limited to 'libpurple/dnssrv.h')
-rw-r--r--libpurple/dnssrv.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/libpurple/dnssrv.h b/libpurple/dnssrv.h
index 4e17ae068c..4d452021bd 100644
--- a/libpurple/dnssrv.h
+++ b/libpurple/dnssrv.h
@@ -28,8 +28,9 @@
extern "C" {
#endif
-typedef struct _PurpleSrvResponse PurpleSrvResponse;
typedef struct _PurpleSrvQueryData PurpleSrvQueryData;
+typedef struct _PurpleSrvResponse PurpleSrvResponse;
+typedef struct _PurpleTxtResponse PurpleTxtResponse;
struct _PurpleSrvResponse {
char hostname[256];
@@ -38,7 +39,12 @@ struct _PurpleSrvResponse {
int pref;
};
+struct _PurpleTxtResponse {
+ char content[256];
+};
+
typedef void (*PurpleSrvCallback)(PurpleSrvResponse *resp, int results, gpointer data);
+typedef void (*PurpleTxtCallback)(PurpleTxtResponse *resp, int results, gpointer data);
/**
* Queries an SRV record.
@@ -58,6 +64,23 @@ PurpleSrvQueryData *purple_srv_resolve(const char *protocol, const char *transpo
*/
void purple_srv_cancel(PurpleSrvQueryData *query_data);
+/**
+ * Queries an TXT record.
+ *
+ * @param owner Name of the protocol (e.g. "_xmppconnect")
+ * @param domain Domain name to query (e.g. "blubb.com")
+ * @param cb A callback which will be called with the results
+ * @param extradata Extra data to be passed to the callback
+ */
+PurpleSrvQueryData *purple_txt_resolve(const char *owner, const char *domain, PurpleTxtCallback cb, gpointer extradata);
+
+/**
+ * Cancel an TXT DNS query.
+ *
+ * @param query_data The request to cancel.
+ */
+void purple_txt_cancel(PurpleSrvQueryData *query_data);
+
#ifdef __cplusplus
}
#endif