Scroll to navigation

ldns(3) Library Functions Manual ldns(3)


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


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

#include <ldns/ldns.h>

size_t ldns_buffer_limit(const ldns_buffer *buffer);

void ldns_buffer_set_limit(ldns_buffer *buffer, size_t limit);

size_t ldns_buffer_capacity(const ldns_buffer *buffer);

bool ldns_buffer_set_capacity(ldns_buffer *buffer, size_t capacity);

bool ldns_buffer_reserve(ldns_buffer *buffer, size_t amount);

uint8_t * ldns_buffer_at(const ldns_buffer *buffer, size_t at);

uint8_t * ldns_buffer_begin(const ldns_buffer *buffer);

uint8_t * ldns_buffer_end(const ldns_buffer *buffer);

uint8_t * ldns_buffer_current(const ldns_buffer *buffer);


ldns_buffer_limit() returns the maximum size of the buffer \param[in] buffer
Returns the size

ldns_buffer_set_limit() changes the buffer's limit. If the buffer's position is greater than the new limit the position is set to the limit.
buffer: the buffer
limit: the new limit

ldns_buffer_capacity() returns the number of bytes the buffer can hold.
buffer: the buffer
Returns the number of bytes

ldns_buffer_set_capacity() 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.
buffer: the buffer
capacity: the capacity to use
Returns whether this failed or succeeded

ldns_buffer_reserve() 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.
buffer: the buffer
amount: amount to use
Returns whether this failed or succeeded

ldns_buffer_at() returns a pointer to the data at the indicated position.
buffer: the buffer
at: position
Returns the pointer to the data

ldns_buffer_begin() returns a pointer to the beginning of the buffer (the data at position 0).
buffer: the buffer
Returns the pointer

ldns_buffer_end() returns a pointer to the end of the buffer (the data at the buffer's limit).
buffer: the buffer
Returns the pointer

ldns_buffer_current() returns a pointer to the data at the buffer's current position.
buffer: the buffer
Returns the pointer


The ldns team at NLnet Labs.


Please report bugs to or in our bugzilla at


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.


ldns_buffer. And perldoc Net::DNS, RFC1034, RFC1035, RFC4033, RFC4034 and RFC4035.


This manpage was automatically generated from the ldns source code.

30 May 2006