Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LWRES_GETRRSETBYNAME(3)		     BIND9	       LWRES_GETRRSETBYNAME(3)

NAME
       lwres_getrrsetbyname, lwres_freerrset - retrieve	DNS records

SYNOPSIS
       #include	<lwres/netdb.h>

       int lwres_getrrsetbyname(const char *hostname, unsigned int rdclass,
				unsigned int rdtype, unsigned int flags,
				struct rrsetinfo **res);

       void lwres_freerrset(struct rrsetinfo *rrset);

       The following structures	are used:

       struct  rdatainfo {
	       unsigned	int	       rdi_length;     /* length of data */
	       unsigned	char	       *rdi_data;      /* record data */
       };

       struct  rrsetinfo {
	       unsigned	int	       rri_flags;      /* RRSET_VALIDATED... */
	       unsigned	int	       rri_rdclass;    /* class	number */
	       unsigned	int	       rri_rdtype;     /* RR type number */
	       unsigned	int	       rri_ttl;	       /* time to live */
	       unsigned	int	       rri_nrdatas;    /* size of rdatas array */
	       unsigned	int	       rri_nsigs;      /* size of sigs array */
	       char		       *rri_name;      /* canonical name */
	       struct rdatainfo	       *rri_rdatas;    /* individual records */
	       struct rdatainfo	       *rri_sigs;      /* individual signatures	*/
       };

DESCRIPTION
       lwres_getrrsetbyname() gets a set of resource records associated	with a
       hostname, class,	and type.  hostname is a pointer a to null-terminated
       string. The flags field is currently unused and must be zero.

       After a successful call to lwres_getrrsetbyname(), *res is a pointer to
       an rrsetinfo structure, containing a list of one	or more	rdatainfo
       structures containing resource records and potentially another list of
       rdatainfo structures containing SIG resource records associated with
       those records. The members rri_rdclass and rri_rdtype are copied	from
       the parameters.	rri_ttl	and rri_name are properties of the obtained
       rrset. The resource records contained in	rri_rdatas and rri_sigs	are in
       uncompressed DNS	wire format. Properties	of the rdataset	are
       represented in the rri_flags bitfield. If the RRSET_VALIDATED bit is
       set, the	data has been DNSSEC validated and the signatures verified.

       All of the information returned by lwres_getrrsetbyname() is
       dynamically allocated: the rrsetinfo and	rdatainfo structures, and the
       canonical host name strings pointed to by the rrsetinfostructure.
       Memory allocated	for the	dynamically allocated structures created by a
       successful call to lwres_getrrsetbyname() is released by
       lwres_freerrset().  rrset is a pointer to a struct rrset	created	by a
       call to lwres_getrrsetbyname().

RETURN VALUES
       lwres_getrrsetbyname() returns zero on success, and one of the
       following error codes if	an error occurred:

       ERRSET_NONAME
	   the name does not exist

       ERRSET_NODATA
	   the name exists, but	does not have data of the desired type

       ERRSET_NOMEMORY
	   memory could	not be allocated

       ERRSET_INVAL
	   a parameter is invalid

       ERRSET_FAIL
	   other failure

SEE ALSO
       lwres(3).

AUTHOR
       Internet	Systems	Consortium, Inc.

COPYRIGHT
       Copyright (C) 2004, 2005, 2007, 2014-2016 Internet Systems Consortium,
       Inc. ("ISC")
       Copyright (C) 2000, 2001	Internet Software Consortium.

ISC				  2007-06-18	       LWRES_GETRRSETBYNAME(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | AUTHOR | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=lwres_getrrsetbyname&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help