chiark / gitweb /
Much decoding of incoming packets.
[adns.git] / src / internal.h
index b652f2304903d4cd4c44d0e8bfb5d80643136ef7..bf6d3ac3aa44fa5518238fc5d67bae46e20be097 100644 (file)
@@ -17,13 +17,16 @@ typedef unsigned char byte;
 /* Configuration and constants */
 
 #define MAXSERVERS 5
-#define MAXUDPRETRIES 15
+#define UDPMAXRETRIES /*15*/5
 #define UDPRETRYMS 2000
 #define TCPMS 30000
 #define LOCALRESOURCEMS 20
-#define MAXUDPDGRAM 512
-#define NSPORT 53
-#define MAXDNAME 255
+
+#define DNS_UDPPORT 53
+#define DNS_MAXUDP 512
+#define DNS_MAXDOMAIN 255
+#define DNS_HDRSIZE 12
+#define DNS_CLASS_IN 1
 
 /* Shared data structures */
 
@@ -53,7 +56,7 @@ struct adns__query {
   struct { adns_query head, tail; } children;
   struct { adns_query back, next; } siblings;
   adns_rrtype type;
-  vbuf answer;
+  vbuf ans;
   int id, flags, udpretries;
   int udpnextserver;
   unsigned long udpsent, tcpfailed; /* bitmap indexed by server */
@@ -175,9 +178,9 @@ static inline void timevaladd(struct timeval *tv_io, long ms) {
   struct timeval tmp;
   assert(ms>=0);
   tmp= *tv_io;
-  tmp.tv_usec += (ms%1000)*1000;
+  tmp.tv_usec += (ms%1000)*1000000;
   tmp.tv_sec += ms/1000;
-  if (tmp.tv_usec >= 1000) { tmp.tv_sec++; tmp.tv_usec -= 1000; }
+  if (tmp.tv_usec >= 1000000) { tmp.tv_sec++; tmp.tv_usec -= 1000; }
   *tv_io= tmp;
 }