Go to the source code of this file.
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.13" |
#define | LDNS_REVISION ((1<<16)|(6<<8)|(13)) |
#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 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, signed char 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). | |
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) |
#define LDNS_MALLOC | ( | type | ) | LDNS_XMALLOC(type, 1) |
#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) |
typedef struct ldns_struct_lookup_table ldns_lookup_table |
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.
[in] | table | the lookup table to search in |
[in] | name | what to search for |
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.
[in] | table | the lookup table to search in |
[in] | id | what to search for |
int ldns_get_bit | ( | uint8_t | bits[], | |
size_t | index | |||
) |
int ldns_get_bit_r | ( | uint8_t | bits[], | |
size_t | index | |||
) |
void ldns_set_bit | ( | uint8_t * | byte, | |
int | bit_nr, | |||
signed char | 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.
[in] | byte | the bit to set the bit in |
[in] | bit_nr | the bit to set (0 <= n <= 7) |
[in] | value | whether to set the bit to 1 or 0 |
int ldns_hexdigit_to_int | ( | char | ch | ) |
char ldns_int_to_hexdigit | ( | int | ch | ) |
int ldns_hexstring_to_data | ( | uint8_t * | data, | |
const char * | str | |||
) |
Converts a hex string to binary data.
[out] | data | The binary result is placed here. At least strlen(str)/2 bytes should be allocated |
[in] | str | The hex string to convert. This string should not contain spaces |
Definition at line 174 of file util.c.
References ldns_hexdigit_to_int().
const char* ldns_version | ( | void | ) |
Show the internal library version.
Definition at line 196 of file util.c.
References LDNS_VERSION.
time_t mktime_from_utc | ( | const struct tm * | tm | ) |
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).
That number of seconds is then converted to broken-out time information. This is especially usefull when converting the inception and expiration fields of RRSIG records.
[in] | time | number of seconds since epoch (midnight, January 1st, 1970) to be intepreted as a serial arithmitics number relative to now. |
[in] | now | number of seconds since epoch (midnight, January 1st, 1970) to which the time value is compared to determine the final value. |
[out] | result | the struct with the broken-out time information |
int ldns_init_random | ( | FILE * | fd, | |
unsigned int | size | |||
) |
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 357 of file util.c.
References LDNS_FREE, and LDNS_XMALLOC.
uint16_t ldns_get_random | ( | void | ) |
char* ldns_bubblebabble | ( | uint8_t * | data, | |
size_t | len | |||
) |
Encode data as BubbleBabble.
[in] | data | a pointer to data to be encoded |
[in] | len | size the number of bytes of data |
Definition at line 447 of file util.c.
References LDNS_XMALLOC.
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 | |||
) |