Loading...
Searching...
No Matches
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 <stddef.h>
#include <stdint.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])
 
static int fmt_is_upper (char c)
 Test if the given character is an uppercase letter (regex [A-Z])
 
int fmt_is_number (const char *str)
 Test if the given string is a number (regex [0-9]+)
 
size_t fmt_byte_hex (char *out, uint8_t byte)
 Format a byte value as hex.
 
size_t fmt_bytes_hex (char *out, const uint8_t *ptr, size_t n)
 Formats a sequence of bytes as hex characters.
 
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.
 
uint8_t fmt_hex_byte (const char *hex)
 Converts a sequence of two hex characters to a byte.
 
size_t fmt_hex_bytes (uint8_t *out, const char *hex)
 Converts a sequence of hex characters to an array of bytes.
 
size_t fmt_u16_hex (char *out, uint16_t val)
 Convert a uint16 value to hex string.
 
size_t fmt_u32_hex (char *out, uint32_t val)
 Convert a uint32 value to hex string.
 
size_t fmt_u64_hex (char *out, uint64_t val)
 Convert a uint64 value to hex string.
 
size_t fmt_u16_dec (char *out, uint16_t val)
 Convert a uint16 value to decimal string.
 
size_t fmt_u32_dec (char *out, uint32_t val)
 Convert a uint32 value to decimal string.
 
size_t fmt_u64_dec (char *out, uint64_t val)
 Convert a uint64 value to decimal string.
 
size_t fmt_s64_dec (char *out, int64_t val)
 Convert a int64 value to decimal string.
 
size_t fmt_s32_dec (char *out, int32_t val)
 Convert a int32 value to decimal string.
 
size_t fmt_s16_dec (char *out, int16_t val)
 Convert a int16 value to decimal string.
 
size_t fmt_s16_dfp (char *out, int16_t val, int scale)
 Convert 16-bit fixed point number to a decimal string.
 
size_t fmt_s32_dfp (char *out, int32_t val, int scale)
 Convert 32-bit fixed point number to a decimal string.
 
size_t fmt_float (char *out, float f, unsigned precision)
 Format float to string.
 
size_t fmt_char (char *out, char c)
 Copy in char to string (without terminating '\0')
 
size_t fmt_strlen (const char *str)
 Count characters until '\0' (exclusive) in str.
 
size_t fmt_strnlen (const char *str, size_t maxlen)
 Count at most maxlen characters until '\0' (exclusive) in str.
 
size_t fmt_str (char *out, const char *str)
 Copy null-terminated string (excluding terminating \0)
 
size_t fmt_to_lower (char *out, const char *str)
 Copy null-terminated string to a lowercase string (excluding terminating \0)
 
uint32_t scn_u32_dec (const char *str, size_t n)
 Convert string of decimal digits to uint32.
 
uint32_t scn_u32_hex (const char *str, size_t n)
 Convert string hexadecimal digits to uin32_t.
 
ssize_t scn_buf_hex (void *dest, size_t dest_len, const char *hex, size_t hex_len)
 Convert a hex to binary.
 
void print (const char *s, size_t n)
 Print string to stdout.
 
void print_u32_dec (uint32_t val)
 Print uint32 value to stdout.
 
void print_s32_dec (int32_t val)
 Print int32 value to stdout.
 
void print_byte_hex (uint8_t byte)
 Print byte value as hex to stdout.
 
void print_bytes_hex (const void *bytes, size_t n)
 Print bytes as hex to stdout.
 
void print_u32_hex (uint32_t val)
 Print uint32 value as hex to stdout.
 
void print_u64_hex (uint64_t val)
 Print uint64 value as hex to stdout.
 
void print_u64_dec (uint64_t val)
 Print uint64 value as decimal to stdout.
 
void print_s64_dec (uint64_t val)
 Print int64 value as decimal to stdout.
 
void print_float (float f, unsigned precision)
 Print float value.
 
void print_str (const char *str)
 Print null-terminated string to stdout.
 
size_t fmt_lpad (char *str, size_t in_len, size_t pad_len, char pad_char)
 Pad string to the left.