ldns(3)

NAME
ldns_pkt, ldns_pkt_section, ldns_pkt_type

SYNOPSIS
#include <stdint.h>
#include <stdbool.h>

#include <ldns/ldns.h>

DESCRIPTION

ldns_pkt
DNS packet
This structure contains a complete DNS packet (either a query or an answer)
It is the complete representation of what you actually send to a
nameserver, and what it sends back (assuming you are the client here).
struct ldns_struct_pkt
{
    Header section:
    ldns_hdr *_header;
    /* extra items needed in a packet */
    The size of the wire format of the packet in octets:
    ldns_rdf *_answerfrom;
        Timestamp of the time the packet was sent or created:
    struct timeval timestamp;
    The duration of the query this packet is an answer to:
    uint32_t _querytime;
    The size of the wire format of the packet in octets:
    size_t _size;
    Optional tsig rr:
    ldns_rr *_tsig_rr;
    EDNS0 available buffer size, see RFC2671:
    uint16_t _edns_udp_size;
    EDNS0 Extended rcode:
    uint8_t _edns_extended_rcode;
    EDNS Version:
    uint8_t _edns_version;
    Reserved EDNS data bits:
    uint16_t _edns_z;
    Arbitrary EDNS rdata:
    ldns_rdf *_edns_data;
    Question section:
    ldns_rr_list    *_question;
    Answer section:
    ldns_rr_list    *_answer;
    Authority section:
    ldns_rr_list    *_authority;
    Additional section:
    ldns_rr_list    *_additional;
};
typedef struct ldns_struct_pkt ldns_pkt;

ldns_pkt_section
The sections of a packet
enum ldns_enum_pkt_section {
    LDNS_SECTION_QUESTION = 0,
    LDNS_SECTION_ANSWER = 1,
    LDNS_SECTION_AUTHORITY = 2,
    LDNS_SECTION_ADDITIONAL = 3,
    bogus section, if not interested:
    LDNS_SECTION_ANY = 4,
    used to get all non-question rrs from a packet:
    LDNS_SECTION_ANY_NOQUESTION = 5
};
typedef enum ldns_enum_pkt_section ldns_pkt_section;

ldns_pkt_type
The different types of packets
enum ldns_enum_pkt_type {
    LDNS_PACKET_QUESTION,
    LDNS_PACKET_REFERRAL,
    LDNS_PACKET_ANSWER,
    LDNS_PACKET_NXDOMAIN,
    LDNS_PACKET_NODATA,
    LDNS_PACKET_UNKNOWN
};
typedef enum ldns_enum_pkt_type ldns_pkt_type;

AUTHOR
The ldns team at NLnet Labs. Which consists out of Jelte Jansen and Miek Gieben.

REPORTING BUGS
Please report bugs to ldns-team@nlnetlabs.nl or in our bugzilla at http://www.nlnetlabs.nl/bugs/index.html

COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.

Licensed under the BSD License. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO
ldns_pkt_new, ldns_pkt_free, ldns_pkt_print, ldns_pkt_query_new, ldns_pkt_query_new_frm_str, ldns_pkt_reply_type, ldns_pkt_id, ldns_pkt_qr, ldns_pkt_aa, ldns_pkt_tc, ldns_pkt_rd, ldns_pkt_cd, ldns_pkt_ra, ldns_pkt_ad, ldns_pkt_get_opcode, ldns_pkt_get_rcode, ldns_pkt_qdcount, ldns_pkt_ancount, ldns_pkt_nscount, ldns_pkt_arcount, ldns_pkt_answerfrom, ldns_pkt_querytime, ldns_pkt_size, ldns_pkt_tsig, ldns_pkt_question, ldns_pkt_answer, ldns_pkt_authority, ldns_pkt_additional, ldns_pkt_get_section_clone, ldns_pkt_rr_list_by_name, ldns_pkt_rr_list_by_type, ldns_pkt_rr_list_by_name_and_type, ldns_pkt_set_flags, ldns_pkt_set_id, ldns_pkt_set_qr, ldns_pkt_set_aa, ldns_pkt_set_tc, ldns_pkt_set_rd, ldns_pkt_set_cd, ldns_pkt_set_ra, ldns_pkt_set_ad, ldns_pkt_set_opcode, ldns_pkt_set_rcode, ldns_pkt_set_qdcount, ldns_pkt_set_ancount, ldns_pkt_set_nscount, ldns_pkt_set_arcount, ldns_pkt_set_answerfrom, ldns_pkt_set_querytime, ldns_pkt_set_size, ldns_pkt_set_section_count, ldns_pkt_set_tsig, ldns_pkt_edns, ldns_pkt_edns_udp_size, ldns_pkt_edns_extended_rcode, ldns_pkt_edns_version, ldns_pkt_edns_z, ldns_pkt_edns_data, ldns_pkt_set_edns_udp_size, ldns_pkt_set_edns_extended_rcode, ldns_pkt_set_edns_version, ldns_pkt_set_edns_z, ldns_pkt_set_edns_data. And perldoc Net::DNS, RFC1034, RFC1035, RFC4033, RFC4034 and RFC4035.

REMARKS
This manpage was automaticly generated from the ldns source code by use of Doxygen and some perl.