[IOMultiplexerV2] added reverse lookups to IODNSEngine_default and added DNS example...
[NextIRCd.git] / src / IOHandler / IODNSLookup.h
index 29574cba3185173f4bef1e1fb33f2bcb38023ad9..d62c88a904677cec4befe6bba4a1b2ce9bd61a65 100644 (file)
@@ -64,6 +64,7 @@ extern struct _IODNSQuery *iodnsquery_last;
 #define IODNSFLAG_PARENT_SOCKET  0x08
 
 struct IODNSResult;
+struct _IOSocket;
 
 struct _IODNSQuery {
        void *query;
@@ -89,6 +90,7 @@ struct IODNSEngine {
     void (*add)(struct _IODNSQuery *query);
     void (*remove)(struct _IODNSQuery *query);
     void (*loop)();
+       void (*socket_callback)(struct _IOSocket *iosock, int readable, int writeable);
 };
 
 void _init_iodns();
@@ -100,8 +102,8 @@ void _stop_dnsquery(struct _IODNSQuery *query);
 /* call only from engines! */
 enum IODNSEventType;
 void _free_dnsquery(struct _IODNSQuery *query);
+void iodns_socket_callback(struct _IOSocket *iosock, int wantread, int wantwrite);
 void iodns_event_callback(struct _IODNSQuery *query, enum IODNSEventType state);
-
 void iodns_poll();
 
 #endif
@@ -146,8 +148,8 @@ struct IODNSEvent {
        struct IODNSResult *result;
 };
 
-struct IODNSQuery *iodns_getaddrinfo(char *hostname, int records, iodns_callback *callback);
-struct IODNSQuery *iodns_getnameinfo(const struct sockaddr *addr, size_t addrlen, iodns_callback *callback);
+struct IODNSQuery *iodns_getaddrinfo(char *hostname, int records, iodns_callback *callback, void *arg);
+struct IODNSQuery *iodns_getnameinfo(const struct sockaddr *addr, size_t addrlen, iodns_callback *callback, void *arg);
 void iodns_abort(struct IODNSQuery *query);
 
 void iodns_free_result(struct IODNSResult *result);