Data Structures |
struct | ldns_schwartzian_compare_struct |
| Structure to do a Schwartzian-like transformation, for instance when sorting. More...
|
struct | ldns_struct_lookup_table |
| A general purpose lookup table. More...
|
Defines |
#define | dprintf(X, Y) fprintf(stderr, (X), (Y)) |
#define | LDNS_VERSION "1.6.12" |
#define | LDNS_REVISION ((1<<16)|(6<<8)|(12)) |
#define | INLINE static inline |
| splint static inline workaround
|
#define | LDNS_MALLOC(type) LDNS_XMALLOC(type, 1) |
| Memory management macros.
|
#define | LDNS_XMALLOC(type, count) ((type *) malloc((count) * sizeof(type))) |
#define | LDNS_CALLOC(type, count) ((type *) calloc((count), sizeof(type))) |
#define | LDNS_REALLOC(ptr, type) LDNS_XREALLOC((ptr), type, 1) |
#define | LDNS_XREALLOC(ptr, type, count) ((type *) realloc((ptr), (count) * sizeof(type))) |
#define | LDNS_FREE(ptr) do { free((ptr)); (ptr) = NULL; } while (0) |
#define | LDNS_DEP printf("DEPRECATED FUNCTION!\n"); |
Typedefs |
typedef struct
ldns_struct_lookup_table | ldns_lookup_table |
Functions |
ldns_lookup_table * | ldns_lookup_by_name (ldns_lookup_table table[], const char *name) |
| Looks up the table entry by name, returns NULL if not found.
|
ldns_lookup_table * | ldns_lookup_by_id (ldns_lookup_table table[], int id) |
| Looks up the table entry by id, returns NULL if not found.
|
int | ldns_get_bit (uint8_t bits[], size_t index) |
| Returns the value of the specified bit The bits are counted from left to right, so bit #0 is the left most bit.
|
int | ldns_get_bit_r (uint8_t bits[], size_t index) |
| Returns the value of the specified bit The bits are counted from right to left, so bit #0 is the right most bit.
|
void | ldns_set_bit (uint8_t *byte, int bit_nr, bool value) |
| sets the specified bit in the specified byte to 1 if value is true, 0 if false The bits are counted from right to left, so bit #0 is the right most bit.
|
int | ldns_hexdigit_to_int (char ch) |
| Returns the int value of the given (hex) digit.
|
char | ldns_int_to_hexdigit (int ch) |
| Returns the char (hex) representation of the given int.
|
int | ldns_hexstring_to_data (uint8_t *data, const char *str) |
| Converts a hex string to binary data.
|
const char * | ldns_version (void) |
| Show the internal library version.
|
time_t | mktime_from_utc (const struct tm *tm) |
| Convert TM to seconds since epoch (midnight, January 1st, 1970).
|
struct tm * | ldns_serial_arithmitics_gmtime_r (int32_t time, time_t now, struct tm *result) |
| The function interprets time as the number of seconds since epoch with respect to now using serial arithmitics (rfc1982).
|
int | ldns_init_random (FILE *fd, unsigned int size) |
| Seed the random function.
|
uint16_t | ldns_get_random (void) |
| Get random number.
|
char * | ldns_bubblebabble (uint8_t *data, size_t len) |
| Encode data as BubbleBabble.
|
int | ldns_b32_ntop (uint8_t const *src, size_t srclength, char *target, size_t targsize) |
int | b32_ntop (uint8_t const *src, size_t srclength, char *target, size_t targsize) |
int | ldns_b32_ntop_extended_hex (uint8_t const *src, size_t srclength, char *target, size_t targsize) |
int | b32_ntop_extended_hex (uint8_t const *src, size_t srclength, char *target, size_t targsize) |
int | ldns_b32_pton (char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize) |
int | b32_pton (char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize) |
int | ldns_b32_pton_extended_hex (char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize) |
int | b32_pton_extended_hex (char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize) |
Seed the random function.
If the file descriptor is specified, the random generator is seeded with data from that file. If not, /dev/urandom is used.
applications should call this if they need entropy data within ldns If openSSL is available, it is automatically seeded from /dev/urandom or /dev/random.
If you need more entropy, or have no openssl available, this function MUST be called at the start of the program
If openssl *is* available, this function just adds more entropy
- Parameters:
-
[in] | fd | a file providing entropy data for the seed |
[in] | size | the number of bytes to use as entropy data. If this is 0, only the minimal amount is taken (usually 4 bytes) |
- Returns:
- 0 if seeding succeeds, 1 if it fails
Seed the random function.
If you need more entropy, or have no openssl available, this function MUST be called at the start of the program
If openssl *is* available, this function just adds more entropy
Definition at line 353 of file util.c.
References LDNS_FREE, and LDNS_XMALLOC.