|
#define | ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) |
| Determine number of elements in an array of static size. More...
|
|
#define | OSMO_MAX(a, b) ((a) >= (b) ? (a) : (b)) |
| Return the maximum of two specified values. More...
|
|
#define | OSMO_MIN(a, b) ((a) >= (b) ? (b) : (a)) |
| Return the minimum of two specified values. More...
|
|
#define | OSMO_STRINGIFY(x) #x |
| Stringify the contents of a macro, e.g. More...
|
|
#define | OSMO_VALUE_STRING(x) { x, #x } |
| Make a value_string entry from an enum value name. More...
|
|
#define | OSMO_BYTES_FOR_BITS(BITS) ((BITS + 8 - 1) / 8) |
| Number of bytes necessary to store given BITS. More...
|
|
#define | osmo_static_assert(exp, name) typedef int dummy##name [(exp) ? 1 : -1] __attribute__((__unused__)); |
|
#define | OSMO_SNPRINTF_RET(ret, rem, offset, len) |
|
#define | OSMO_ASSERT(exp) |
| Helper macro to terminate when an assertion failes. More...
|
|
#define | osmo_talloc_asprintf(ctx, dest, fmt, args ...) |
| Append to a string and re-/allocate if necessary. More...
|
|
|
const char * | get_value_string (const struct value_string *vs, uint32_t val) |
| get human-readable string for given value More...
|
|
const char * | get_value_string_or_null (const struct value_string *vs, uint32_t val) |
| get human-readable string or NULL for given value More...
|
|
int | get_string_value (const struct value_string *vs, const char *str) |
| get numeric value for given human-readable string More...
|
|
char | osmo_bcd2char (uint8_t bcd) |
| Convert BCD-encoded digit into printable character. More...
|
|
uint8_t | osmo_char2bcd (char c) |
| Convert number in ASCII to BCD value. More...
|
|
int | osmo_hexparse (const char *str, uint8_t *b, int max_len) |
| Parse a string containing hexadecimal digits. More...
|
|
char * | osmo_ubit_dump (const uint8_t *bits, unsigned int len) |
| Convert a sequence of unpacked bits to ASCII string. More...
|
|
char * | osmo_hexdump (const unsigned char *buf, int len) |
| Convert binary sequence to hexadecimal ASCII string. More...
|
|
char * | osmo_hexdump_nospc (const unsigned char *buf, int len) |
| Convert binary sequence to hexadecimal ASCII string. More...
|
|
char * | osmo_osmo_hexdump_nospc (const unsigned char *buf, int len) __attribute__((__deprecated__)) |
|
void | osmo_str2lower (char *out, const char *in) |
| Convert an entire string to lower case. More...
|
|
void | osmo_str2upper (char *out, const char *in) |
| Convert an entire string to upper case. More...
|
|
static void | osmo_talloc_replace_string (void *ctx, char **dst, const char *newstr) |
| duplicate a string using talloc and release its prior content (if any) More...
|
|
int | osmo_constant_time_cmp (const uint8_t *exp, const uint8_t *rel, const int count) |
| Wishful thinking to generate a constant time compare. More...
|
|
uint64_t | osmo_decode_big_endian (const uint8_t *data, size_t data_len) |
| Generic retrieval of 1..8 bytes as big-endian uint64_t. More...
|
|
uint8_t * | osmo_encode_big_endian (uint64_t value, size_t data_len) |
| Generic big-endian encoding of big endian number up to 64bit. More...
|
|
size_t | osmo_strlcpy (char *dst, const char *src, size_t siz) |
| Copy a C-string into a sized buffer. More...
|
|
bool | osmo_is_hexstr (const char *str, int min_digits, int max_digits, bool require_even) |
| Validate that a given string is a hex string within given size limits. More...
|
|
bool | osmo_identifier_valid (const char *str) |
| Determine if a given identifier is valid, i.e. More...
|
|