.ad l
.TH ldns 3 "30 May 2006"
.SH NAME
ldns_buffer_limit, ldns_buffer_set_limit, ldns_buffer_capacity, ldns_buffer_set_capacity, ldns_buffer_reserve, ldns_buffer_at, ldns_buffer_begin, ldns_buffer_end, ldns_buffer_current \- buffer limits and pointers

.SH SYNOPSIS
#include <stdint.h>
.br
#include <stdbool.h>
.br
.PP
#include <ldns/ldns.h>
.PP
size_t ldns_buffer_limit(const ldns_buffer *buffer);
.PP
void ldns_buffer_set_limit(ldns_buffer *buffer, size_t limit);
.PP
size_t ldns_buffer_capacity(const ldns_buffer *buffer);
.PP
bool ldns_buffer_set_capacity(ldns_buffer *buffer, size_t capacity);
.PP
bool ldns_buffer_reserve(ldns_buffer *buffer, size_t amount);
.PP
uint8_t * ldns_buffer_at(const ldns_buffer *buffer, size_t at);
.PP
uint8_t * ldns_buffer_begin(const ldns_buffer *buffer);
.PP
uint8_t * ldns_buffer_end(const ldns_buffer *buffer);
.PP
uint8_t * ldns_buffer_current(const ldns_buffer *buffer);
.PP

.SH DESCRIPTION
.HP
\fIldns_buffer_limit\fR()
returns the maximum size of the buffer
\\param[in] buffer
\.br
Returns the size
.PP
.HP
\fIldns_buffer_set_limit\fR()
changes the buffer's limit.  If the buffer's position is greater
than the new limit the position is set to the limit.
\.br
\fBbuffer\fR: the buffer
\.br
\fBlimit\fR: the new limit
.PP
.HP
\fIldns_buffer_capacity\fR()
returns the number of bytes the buffer can hold.
\.br
\fBbuffer\fR: the buffer
\.br
Returns the number of bytes
.PP
.HP
\fIldns_buffer_set_capacity\fR()
changes the buffer's capacity.  The data is reallocated so any
pointers to the data may become invalid.  The buffer's limit is set
to the buffer's new capacity.
\.br
\fBbuffer\fR: the buffer
\.br
\fBcapacity\fR: the capacity to use
\.br
Returns whether this failed or succeeded
.PP
.HP
\fIldns_buffer_reserve\fR()
ensures \%BUFFER can contain at least \%AMOUNT more bytes.  The buffer's
capacity is increased if necessary using buffer_set_capacity().

The buffer's limit is always set to the (possibly increased)
capacity.
\.br
\fBbuffer\fR: the buffer
\.br
\fBamount\fR: amount to use
\.br
Returns whether this failed or succeeded
.PP
.HP
\fIldns_buffer_at\fR()
returns a pointer to the data at the indicated position.
\.br
\fBbuffer\fR: the buffer
\.br
\fBat\fR: position
\.br
Returns the pointer to the data
.PP
.HP
\fIldns_buffer_begin\fR()
returns a pointer to the beginning of the buffer (the data at
position 0).
\.br
\fBbuffer\fR: the buffer
\.br
Returns the pointer
.PP
.HP
\fIldns_buffer_end\fR()
returns a pointer to the end of the buffer (the data at the buffer's
limit).
\.br
\fBbuffer\fR: the buffer
\.br
Returns the pointer
.PP
.HP
\fIldns_buffer_current\fR()
returns a pointer to the data at the buffer's current position.
\.br
\fBbuffer\fR: the buffer
\.br
Returns the pointer
.PP
.SH AUTHOR
The ldns team at NLnet Labs.

.SH REPORTING BUGS
Please report bugs to dns-team@nlnetlabs.nl or on
GitHub at https://github.com/NLnetLabs/ldns/issues

.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
.PP
Licensed under the BSD License. There is NO warranty; not even for
MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.

.SH SEE ALSO
\fIldns_buffer\fR.
And \fBperldoc Net::DNS\fR, \fBRFC1034\fR,
\fBRFC1035\fR, \fBRFC4033\fR, \fBRFC4034\fR  and \fBRFC4035\fR.
.SH REMARKS
This manpage was automatically generated from the ldns source code.