]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
naming and documentation
authorMiek Gieben <miekg@NLnetLabs.nl>
Mon, 31 Jan 2005 12:51:13 +0000 (12:51 +0000)
committerMiek Gieben <miekg@NLnetLabs.nl>
Mon, 31 Jan 2005 12:51:13 +0000 (12:51 +0000)
ldns/packet.h
packet.c
resolver.c
run-test5.c

index f289fbdccc4930a8d9a23c5f4ead96d52fc2c937..a38429a44e86bcb01a1823b8d015a21210035dab 100644 (file)
@@ -147,8 +147,8 @@ void ldns_pkt_free(ldns_pkt *packet);
 /**
  * Creates a query packet for the given name, type, class
  */
-ldns_pkt * ldns_pkt_query_new(char *name, ldns_rr_type rr_type, ldns_rr_class rr_class);
-
+ldns_pkt * ldns_pkt_query_new_frm_str(char *, ldns_rr_type, ldns_rr_class);
+ldns_pkt * ldns_pkt_query_new(ldns_rdf *, ldns_rr_type, ldns_rr_class);
 
 #define MAX_PACKET_SIZE         65535
 
index b02431d74f28dd37258abf8fa0079f017bf4d9c6..bca7a5ca17364b255510a45993e9bc788734b6dd 100644 (file)
--- a/packet.c
+++ b/packet.c
@@ -332,12 +332,22 @@ ldns_pkt_free(ldns_pkt *packet)
 }
 
 ldns_pkt *
-ldns_pkt_query_new(char *name, ldns_rr_type rr_type, ldns_rr_class rr_class)
+ldns_pkt_query_new_frm_str(char *name, ldns_rr_type rr_type, ldns_rr_class rr_class)
 {
-       ldns_pkt *packet = ldns_pkt_new();
-       ldns_rr *question_rr = ldns_rr_new();
+       ldns_pkt *packet;
+       ldns_rr *question_rr;
        ldns_rdf *name_rdf;
 
+       packet = ldns_pkt_new();
+       if (!packet) {
+               return NULL;
+       }
+       
+       question_rr = ldns_rr_new();
+       if (!question_rr) {
+               return NULL;
+       }
+
        if (rr_type == 0) {
                rr_type = LDNS_RR_TYPE_A;
        }
@@ -359,3 +369,42 @@ ldns_pkt_query_new(char *name, ldns_rr_type rr_type, ldns_rr_class rr_class)
        
        return packet;
 }
+
+/**
+ * Create a packet with a query in it
+ * \param[in] name the name to query for
+ * \param[in] type the type to query for
+ * \param[in] class the class to query for
+ * \return ldns_pkt* a pointer to the new pkt
+ */
+ldns_pkt *
+ldns_pkt_query_new(ldns_rdf *rr_name, ldns_rr_type rr_type, ldns_rr_class rr_class)
+{
+       ldns_pkt *packet;
+       ldns_rr *question_rr;
+       ldns_rdf *name_rdf;
+
+       packet = ldns_pkt_new();
+       if (!packet) {
+               return NULL;
+       }
+       
+       question_rr = ldns_rr_new();
+       if (!question_rr) {
+               return NULL;
+       }
+
+       if (rr_type == 0) {
+               rr_type = LDNS_RR_TYPE_A;
+       }
+       if (rr_class == 0) {
+               rr_class = LDNS_RR_CLASS_IN;
+       }
+
+       ldns_rr_set_owner(question_rr, rr_name);
+       ldns_rr_set_type(question_rr, rr_type);
+       ldns_rr_set_class(question_rr, rr_class);
+       
+       ldns_pkt_push_rr(packet, LDNS_SECTION_QUESTION, question_rr);
+       return packet;
+}
index d4d4eae1c75ac4ac9fabeeae581a6230c7ff40db..75581bb45e637e4789a98ffdda9f0a07b21c9269 100644 (file)
@@ -233,7 +233,7 @@ ldns_resolver_send(ldns_resolver *r, ldns_rdf *name, ldns_rr_type type, ldns_rr_
        
        /* prepare a question pkt from the parameters
         * and then send this */
-       /*query_pkt = somesortofconversion2qpkt(name, type, class, flags); * */
+       query_pkt = ldns_pkt_query_new(name, type, class);
 
        /* return NULL on error */
        answer_pkt = ldns_send(*r, query_pkt);
index a69bad34737469d759b1e89fe89e075f81b1ccf4..31ba2c4581d55cb294a4b675c72795dd4d801752 100644 (file)
@@ -9,7 +9,7 @@ main(int argc, char **argv)
        
        printf("test 5\n");
        
-       packet = ldns_pkt_query_new("www.kanariepiet.com",
+       packet = ldns_pkt_query_new_frm_str("www.kanariepiet.com",
                                    LDNS_RR_TYPE_A,
                                    LDNS_RR_CLASS_IN);