fmt.h File Reference

String formatting API. More...

Detailed Description

String formatting API.

Author
Kaspar Schleiser kaspa.nosp@m.r@sc.nosp@m.hleis.nosp@m.er.d.nosp@m.e

Definition in file fmt.h.

#include <stdint.h>
#include <stddef.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 bytes. More...
 
size_t fmt_bytes_hex_reverse (char *out, const uint8_t *ptr, size_t n)
 Formats a sequence of bytes as hex bytes, 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 bytes 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_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_u16_dec (char *out, uint16_t val)
 Convert a uint16 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 fp_digits)
 Convert 16-bit fixed point number to a decimal string. More...
 
size_t fmt_s32_dfp (char *out, int32_t val, int fp_digits)
 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...
 
uint32_t scn_u32_dec (const char *str, size_t n)
 Convert digits to uint32. More...
 
uint32_t scn_u32_hex (const char *str, size_t n)
 Convert hexadecimal characters to uin32_t. 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_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_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...