chiark / gitweb /
Fix typo in changelog entry for 1.6.1
[adns.git] / src / internal.h
index 0fd64da3791fbe8ce89608676d756f07a1f78782..083f429f4adbdb80dd24e4b2750d5f2651d34322 100644 (file)
@@ -5,12 +5,8 @@
  * - comments regarding library data structures
  */
 /*
- *  This file is part of adns, which is
- *    Copyright (C) 1997-2000,2003,2006,2014-2016,2020  Ian Jackson
- *    Copyright (C) 2014  Mark Wooding
- *    Copyright (C) 1999-2000,2003,2006  Tony Finch
- *    Copyright (C) 1991 Massachusetts Institute of Technology
- *  (See the file INSTALL for full details.)
+ *  This file is part of adns, which is Copyright Ian Jackson
+ *  and contributors (see the file INSTALL for full details).
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -298,7 +294,8 @@ struct adns__query {
   int id, flags, retries;
   int udpnextserver;
   unsigned long udpsent; /* bitmap indexed by server */
-  struct timeval timeout;
+  int timeout_ms;
+  struct timeval timeout_started;
   time_t expires; /* Earliest expiry time of any record we used. */
 
   qcontext ctx;
@@ -885,6 +882,17 @@ void adns__autosys(adns_state ads, struct timeval now);
  * lest we end up in recursive descent !
  */
 
+static inline void
+adns__timeout_set(adns_query qu, struct timeval now, long ms)
+  { qu->timeout_ms= ms; qu->timeout_started= now; }
+
+static inline void
+adns__timeout_clear(adns_query qu)
+  { qu->timeout_ms= 0; timerclear(&qu->timeout_started); }
+
+
+int adns__gettimeofday(adns_state ads, struct timeval *tv_buf);
+
 void adns__must_gettimeofday(adns_state ads, const struct timeval **now_io,
                             struct timeval *tv_buf);
 /* Call with care - might reentrantly cause queries to be completed! */