Can set query flags, and static version.
[adns] / src / adns.h
index 416cebf..5b25e66 100644 (file)
@@ -1,4 +1,8 @@
 /*
+ * adns.h
+ * - adns user-visible API (single-threaded, without any locking)
+ */
+/*
  *  This file is part of adns, which is Copyright (C) 1997-1999 Ian Jackson
  *  
  *  This program is free software; you can redistribute it and/or modify
@@ -15,7 +19,7 @@
  *  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.39 1999/03/30 18:57:18 ian Exp $
+ *  $Id: adns.h,v 1.45 1999/04/11 21:01:49 ian Exp $
  */
 
 #ifndef ADNS_H_INCLUDED
@@ -38,6 +42,7 @@ typedef enum {
   adns_if_debug=        0x0008, /* enable all output to stderr plus debug msgs */
   adns_if_noautosys=    0x0010, /* do not make syscalls at every opportunity */
   adns_if_eintr=        0x0020, /* allow _wait and _synchronous to return EINTR */
+  adns_if_nosigpipe=    0x0040, /* applic has SIGPIPE set to SIG_IGN, do not protect */
 } adns_initflags;
 
 typedef enum {
@@ -85,7 +90,7 @@ typedef enum {
   
 } adns_rrtype;
 
-/* In queries without qtf_anyquote, all domains must have standard
+/* In queries without qtf_quoteok_*, all domains must have standard
  * legal syntax.  In queries _with_ qtf_anyquote, domains in the query
  * or response may contain any characters, quoted according to
  * RFC1035 5.1.  On input to adns, the char* is a pointer to the
@@ -191,6 +196,7 @@ typedef struct {
   adns_status status;
   char *cname; /* always NULL if query was for CNAME records */
   adns_rrtype type; /* guaranteed to be same as in query */
+  time_t expires; /* expiry time, defined only if _s_ok, nxdomain or nodata. NOT TTL! */
   int nrrs, rrsz;
   union {
     void *untyped;
@@ -264,10 +270,7 @@ int adns_wait(adns_state ads,
              adns_query *query_io,
              adns_answer **answer_r,
              void **context_r);
-/* fixme: merge _check and _wait into one func with flags wait and `remove'(?) */
-/* fixme: include TTL in answer somehow */
-/* fixme: multithreading/locking */
-/* fixme: easy way to get lists of fd's */
+/* fixme: minor cache */
 
 void adns_cancel(adns_query query);