utils.h File Reference
General-purpose utility functions
`#include <osmocom/core/backtrace.h>`
`#include <osmocom/core/talloc.h>`
`#include <stdint.h>`

Go to the source code of this file.

## Data Structures

struct | value_string
| A mapping between human-readable string and numeric value. More...

## Macros

#define | ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
| Determine number of elements in an array of static size.
#define | OSMO_MAX(a, b) ((a) >= (b) ? (a) : (b))
| Return the maximum of two specified values.
#define | OSMO_MIN(a, b) ((a) >= (b) ? (b) : (a))
| Return the minimum of two specified values.
#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)

## Functions

const char * | get_value_string (const struct value_string *vs, uint32_t val)
| get human-readable string 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 ocntaining 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, char *newstr)