]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
start of making ldns network aware
authorMiek Gieben <miekg@NLnetLabs.nl>
Wed, 12 Jan 2005 13:48:56 +0000 (13:48 +0000)
committerMiek Gieben <miekg@NLnetLabs.nl>
Wed, 12 Jan 2005 13:48:56 +0000 (13:48 +0000)
libdns.vim
net.c

index ff7c4248dcf9d88974b7c266f321479c3c58d78a..e56210e41f7e9d2edefbe99ead8b507fd8efbcad 100644 (file)
@@ -113,7 +113,6 @@ syn keyword  ldnsConstant TYPE_ANY
 syn keyword  ldnsConstant MAXLABELLEN     
 syn keyword  ldnsConstant MAXDOMAINLEN
 
-
 syn keyword  ldnsMacro QHEADERSZ
 syn keyword  ldnsMacro RD_MASK
 syn keyword  ldnsMacro RD_SHIFT
@@ -173,6 +172,9 @@ syn keyword  ldnsMacro      NSCOUNT
 syn keyword  ldnsMacro  ARCOUNT_OFF
 syn keyword  ldnsMacro         ARCOUNT
 
+" ldns/buffer.h
+syn keyword  ldnsType  ldns_buffer
+
 " Default highlighting
 command -nargs=+ HiLink hi def link <args>
 HiLink ldnsType                Type
diff --git a/net.c b/net.c
index b9e9242663d12fcf6703ffaa789b406e01e25660..4017cb33885c1d6943df73cb5c925059a40c1c5b 100644 (file)
--- a/net.c
+++ b/net.c
 #include <ldns/rdata.h>
 #include <ldns/error.h>
 #include <ldns/resolver.h>
+#include <ldns/buffer.h>
+
+#include <arpa/inet.h>
+#include <sys/time.h>
+
 
 #include "util.h"
 
 
-/* send of an packet and return any reply packet(s)
+
+/* send off an buffer and return any reply packet
+ * this is done synchronus
+ *
+ * sock must be opened, binded etc.
  */
+ldns_pkt *
+ldns_sendbuf(ldns_buffer *buf, int *sockfd, struct sockaddr *dest)
+{
+       struct timeval tv_s;
+       struct timeval tv_e;
+       ldns_pkt * new_pkt;
+       int bufsize; /* bogus decl. to make it comile */
+       
+       assert(buf != NULL);
+       assert(*sockfd != 0);
+
+       new_pkt = NULL;
+
+       if (sendto(*sockfd, buf, bufsize, 0, dest, 
+                               (socklen_t) sizeof(*dest)) != bufsize) {
+               /* ai */
+               return NULL;
+       }
+       
+       return new_pkt;
+
+
+}