String formatting API. More...
String formatting API.
Definition in file fmt.h.
#include <stddef.h>#include <stdint.h>#include <time.h>#include <unistd.h>
Include dependency graph for fmt.h:Go to the source code of this file.
Macros | |
| #define | FMT_USE_MEMMOVE (1) |
| use memmove() or internal implementation | |
Functions | |
| static int | fmt_is_digit (char c) |
Test if the given character is a numerical digit (regex [0-9]) More... | |
| static int | fmt_is_upper (char c) |
Test if the given character is an uppercase letter (regex [A-Z]) More... | |
| int | fmt_is_number (const char *str) |
Test if the given string is a number (regex [0-9]+) More... | |
| size_t | fmt_byte_hex (char *out, uint8_t byte) |
| Format a byte value as hex. More... | |
| size_t | fmt_bytes_hex (char *out, const uint8_t *ptr, size_t n) |
| Formats a sequence of bytes as hex characters. More... | |
| size_t | fmt_bytes_hex_reverse (char *out, const uint8_t *ptr, size_t n) |
| Formats a sequence of bytes as hex characters, starting with the last byte. More... | |
| uint8_t | fmt_hex_byte (const char *hex) |
| Converts a sequence of two hex characters to a byte. More... | |
| size_t | fmt_hex_bytes (uint8_t *out, const char *hex) |
| Converts a sequence of hex characters to an array of bytes. More... | |
| size_t | fmt_u16_hex (char *out, uint16_t val) |
| Convert a uint16 value to hex string. More... | |
| size_t | fmt_u32_hex (char *out, uint32_t val) |
| Convert a uint32 value to hex string. More... | |
| size_t | fmt_u64_hex (char *out, uint64_t val) |
| Convert a uint64 value to hex string. More... | |
| size_t | fmt_u16_dec (char *out, uint16_t val) |
| Convert a uint16 value to decimal string. More... | |
| size_t | fmt_u32_dec (char *out, uint32_t val) |
| Convert a uint32 value to decimal string. More... | |
| size_t | fmt_u64_dec (char *out, uint64_t val) |
| Convert a uint64 value to decimal string. More... | |
| size_t | fmt_s64_dec (char *out, int64_t val) |
| Convert a int64 value to decimal string. More... | |
| size_t | fmt_s32_dec (char *out, int32_t val) |
| Convert a int32 value to decimal string. More... | |
| size_t | fmt_s16_dec (char *out, int16_t val) |
| Convert a int16 value to decimal string. More... | |
| size_t | fmt_s16_dfp (char *out, int16_t val, int scale) |
| Convert 16-bit fixed point number to a decimal string. More... | |
| size_t | fmt_s32_dfp (char *out, int32_t val, int scale) |
| Convert 32-bit fixed point number to a decimal string. More... | |
| size_t | fmt_float (char *out, float f, unsigned precision) |
| Format float to string. More... | |
| size_t | fmt_char (char *out, char c) |
Copy in char to string (without terminating '\0') More... | |
| size_t | fmt_strlen (const char *str) |
Count characters until '\0' (exclusive) in str. More... | |
| size_t | fmt_strnlen (const char *str, size_t maxlen) |
Count at most maxlen characters until '\0' (exclusive) in str. More... | |
| size_t | fmt_str (char *out, const char *str) |
| Copy null-terminated string (excluding terminating \0) More... | |
| size_t | fmt_to_lower (char *out, const char *str) |
| Copy null-terminated string to a lowercase string (excluding terminating \0) More... | |
| int | fmt_time_tm_iso8601 (char out[20], const struct tm *tm, char separator) |
| Format a time structure to an ISO 8601 string. More... | |
| uint32_t | scn_u32_dec (const char *str, size_t n) |
| Convert string of decimal digits to uint32. More... | |
| uint32_t | scn_u32_hex (const char *str, size_t n) |
| Convert string hexadecimal digits to uin32_t. More... | |
| ssize_t | scn_buf_hex (void *dest, size_t dest_len, const char *hex, size_t hex_len) |
| Convert a hex to binary. More... | |
| int | scn_time_tm_iso8601 (struct tm *tm, const char *str, char separator) |
| Convert an ISO 8601 string to time structure. More... | |
| void | print (const char *s, size_t n) |
| Print string to stdout. More... | |
| void | print_u32_dec (uint32_t val) |
| Print uint32 value to stdout. More... | |
| void | print_s32_dec (int32_t val) |
| Print int32 value to stdout. More... | |
| void | print_byte_hex (uint8_t byte) |
| Print byte value as hex to stdout. More... | |
| void | print_bytes_hex (const void *bytes, size_t n) |
| Print bytes as hex to stdout. More... | |
| void | print_u32_hex (uint32_t val) |
| Print uint32 value as hex to stdout. More... | |
| void | print_u64_hex (uint64_t val) |
| Print uint64 value as hex to stdout. More... | |
| void | print_u64_dec (uint64_t val) |
| Print uint64 value as decimal to stdout. More... | |
| void | print_s64_dec (uint64_t val) |
| Print int64 value as decimal to stdout. More... | |
| void | print_float (float f, unsigned precision) |
| Print float value. More... | |
| void | print_str (const char *str) |
| Print null-terminated string to stdout. More... | |
| size_t | fmt_lpad (char *str, size_t in_len, size_t pad_len, char pad_char) |
| Pad string to the left. More... | |