* - 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
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;
* 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! */