* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
- * $Id: adns.h,v 1.52 1999/07/14 21:59:38 ian Exp $
+ * $Id: adns.h,v 1.55 1999/08/05 00:03:24 ian Exp $
*/
#ifndef ADNS_H_INCLUDED
#define ADNS_H_INCLUDED
+#ifdef __cplusplus
+extern "C" { /* I really dislike this - iwj. */
+#endif
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
+#include <sys/types.h>
+#include <sys/time.h>
+#include <unistd.h>
/* All struct in_addr anywhere in adns are in NETWORK byte order. */
* first adns_submit or _transact call using the same adns_state after
* it became invalid, so you may compare it for equality with other
* query handles until you next call _query or _transact.
+ *
+ * _submit and _synchronous return ENOSYS if they don't understand the
+ * query type.
*/
void adns_finish(adns_state ads);
void adns_forallqueries_begin(adns_state ads);
-struct adns_query adns_forallqueries_next(adns_state ads, void **context_r);
+adns_query adns_forallqueries_next(adns_state ads, void **context_r);
/* Iterator functions, which you can use to loop over the outstanding
* (submitted but not yet successfuly checked/waited) queries.
*
* query in the same adns_state). There is no need to explicitly
* finish an iteration.
*
- * context_r may be 0.
+ * context_r may be 0. *context_r may not be set when _next returns 0.
*/
/*
* not returned by the same adns library.
*/
+#ifdef __cplusplus
+} /* end of extern "C" */
+#endif
#endif