Classes | Macros | Typedefs | Functions
printf.c File Reference
#include <stdbool.h>
#include <stdint.h>
#include "printf.h"
#include <float.h>
Include dependency graph for printf.c:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  out_fct_wrap_type
 

Macros

#define FLAGS_ADAPT_EXP   (1U << 11U)
 
#define FLAGS_ADAPT_EXP   (1U << 11U)
 
#define FLAGS_CHAR   (1U << 6U)
 
#define FLAGS_CHAR   (1U << 6U)
 
#define FLAGS_HASH   (1U << 4U)
 
#define FLAGS_HASH   (1U << 4U)
 
#define FLAGS_LEFT   (1U << 1U)
 
#define FLAGS_LEFT   (1U << 1U)
 
#define FLAGS_LONG   (1U << 8U)
 
#define FLAGS_LONG   (1U << 8U)
 
#define FLAGS_LONG_LONG   (1U << 9U)
 
#define FLAGS_LONG_LONG   (1U << 9U)
 
#define FLAGS_PLUS   (1U << 2U)
 
#define FLAGS_PLUS   (1U << 2U)
 
#define FLAGS_PRECISION   (1U << 10U)
 
#define FLAGS_PRECISION   (1U << 10U)
 
#define FLAGS_SHORT   (1U << 7U)
 
#define FLAGS_SHORT   (1U << 7U)
 
#define FLAGS_SPACE   (1U << 3U)
 
#define FLAGS_SPACE   (1U << 3U)
 
#define FLAGS_UPPERCASE   (1U << 5U)
 
#define FLAGS_UPPERCASE   (1U << 5U)
 
#define FLAGS_ZEROPAD   (1U << 0U)
 
#define FLAGS_ZEROPAD   (1U << 0U)
 
#define PRINTF_DEFAULT_FLOAT_PRECISION   6U
 
#define PRINTF_FTOA_BUFFER_SIZE   32U
 
#define PRINTF_MAX_FLOAT   1e9
 
#define PRINTF_NTOA_BUFFER_SIZE   32U
 
#define PRINTF_SUPPORT_EXPONENTIAL
 
#define PRINTF_SUPPORT_EXPONENTIAL
 
#define PRINTF_SUPPORT_FLOAT
 
#define PRINTF_SUPPORT_FLOAT
 
#define PRINTF_SUPPORT_LONG_LONG
 
#define PRINTF_SUPPORT_LONG_LONG
 
#define PRINTF_SUPPORT_PTRDIFF_T
 
#define PRINTF_SUPPORT_PTRDIFF_T
 

Typedefs

typedef void(* out_fct_type) (char character, void *buffer, size_t idx, size_t maxlen)
 

Functions

static unsigned int _atoi (const char **str)
 
static size_t _etoa (out_fct_type out, char *buffer, size_t idx, size_t maxlen, double value, unsigned int prec, unsigned int width, unsigned int flags)
 
static size_t _ftoa (out_fct_type out, char *buffer, size_t idx, size_t maxlen, double value, unsigned int prec, unsigned int width, unsigned int flags)
 
static bool _is_digit (char ch)
 
static size_t _ntoa_format (out_fct_type out, char *buffer, size_t idx, size_t maxlen, char *buf, size_t len, bool negative, unsigned int base, unsigned int prec, unsigned int width, unsigned int flags)
 
static size_t _ntoa_long (out_fct_type out, char *buffer, size_t idx, size_t maxlen, unsigned long value, bool negative, unsigned long base, unsigned int prec, unsigned int width, unsigned int flags)
 
static size_t _ntoa_long_long (out_fct_type out, char *buffer, size_t idx, size_t maxlen, unsigned long long value, bool negative, unsigned long long base, unsigned int prec, unsigned int width, unsigned int flags)
 
static void _out_buffer (char character, void *buffer, size_t idx, size_t maxlen)
 
static void _out_char (char character, void *buffer, size_t idx, size_t maxlen)
 
static void _out_fct (char character, void *buffer, size_t idx, size_t maxlen)
 
static void _out_null (char character, void *buffer, size_t idx, size_t maxlen)
 
static size_t _out_rev (out_fct_type out, char *buffer, size_t idx, size_t maxlen, const char *buf, size_t len, unsigned int width, unsigned int flags)
 
static unsigned int _strnlen_s (const char *str, size_t maxsize)
 
static int _vsnprintf (out_fct_type out, char *buffer, const size_t maxlen, const char *format, va_list va)
 
int fctprintf (void(*out)(char character, void *arg), void *arg, const char *format,...)
 
int printf_ (const char *format,...)
 
int snprintf_ (char *buffer, size_t count, const char *format,...)
 
int sprintf_ (char *buffer, const char *format,...)
 
int vprintf_ (const char *format, va_list va)
 
int vsnprintf_ (char *buffer, size_t count, const char *format, va_list va)
 

Macro Definition Documentation

◆ FLAGS_ADAPT_EXP [1/2]

#define FLAGS_ADAPT_EXP   (1U << 11U)

Definition at line 112 of file test_suite.cpp.

◆ FLAGS_ADAPT_EXP [2/2]

#define FLAGS_ADAPT_EXP   (1U << 11U)

◆ FLAGS_CHAR [1/2]

#define FLAGS_CHAR   (1U << 6U)

Definition at line 107 of file test_suite.cpp.

◆ FLAGS_CHAR [2/2]

#define FLAGS_CHAR   (1U << 6U)

◆ FLAGS_HASH [1/2]

#define FLAGS_HASH   (1U << 4U)

Definition at line 105 of file test_suite.cpp.

◆ FLAGS_HASH [2/2]

#define FLAGS_HASH   (1U << 4U)

◆ FLAGS_LEFT [1/2]

#define FLAGS_LEFT   (1U << 1U)

◆ FLAGS_LEFT [2/2]

#define FLAGS_LEFT   (1U << 1U)

Definition at line 102 of file test_suite.cpp.

◆ FLAGS_LONG [1/2]

#define FLAGS_LONG   (1U << 8U)

◆ FLAGS_LONG [2/2]

#define FLAGS_LONG   (1U << 8U)

Definition at line 109 of file test_suite.cpp.

◆ FLAGS_LONG_LONG [1/2]

#define FLAGS_LONG_LONG   (1U << 9U)

Definition at line 110 of file test_suite.cpp.

◆ FLAGS_LONG_LONG [2/2]

#define FLAGS_LONG_LONG   (1U << 9U)

◆ FLAGS_PLUS [1/2]

#define FLAGS_PLUS   (1U << 2U)

Definition at line 103 of file test_suite.cpp.

◆ FLAGS_PLUS [2/2]

#define FLAGS_PLUS   (1U << 2U)

◆ FLAGS_PRECISION [1/2]

#define FLAGS_PRECISION   (1U << 10U)

◆ FLAGS_PRECISION [2/2]

#define FLAGS_PRECISION   (1U << 10U)

Definition at line 111 of file test_suite.cpp.

◆ FLAGS_SHORT [1/2]

#define FLAGS_SHORT   (1U << 7U)

Definition at line 108 of file test_suite.cpp.

◆ FLAGS_SHORT [2/2]

#define FLAGS_SHORT   (1U << 7U)

◆ FLAGS_SPACE [1/2]

#define FLAGS_SPACE   (1U << 3U)

Definition at line 104 of file test_suite.cpp.

◆ FLAGS_SPACE [2/2]

#define FLAGS_SPACE   (1U << 3U)

◆ FLAGS_UPPERCASE [1/2]

#define FLAGS_UPPERCASE   (1U << 5U)

Definition at line 106 of file test_suite.cpp.

◆ FLAGS_UPPERCASE [2/2]

#define FLAGS_UPPERCASE   (1U << 5U)

◆ FLAGS_ZEROPAD [1/2]

#define FLAGS_ZEROPAD   (1U << 0U)

Definition at line 101 of file test_suite.cpp.

◆ FLAGS_ZEROPAD [2/2]

#define FLAGS_ZEROPAD   (1U << 0U)

◆ PRINTF_DEFAULT_FLOAT_PRECISION

#define PRINTF_DEFAULT_FLOAT_PRECISION   6U

Definition at line 76 of file printf.c.

◆ PRINTF_FTOA_BUFFER_SIZE

#define PRINTF_FTOA_BUFFER_SIZE   32U

Definition at line 58 of file printf.c.

◆ PRINTF_MAX_FLOAT

#define PRINTF_MAX_FLOAT   1e9

Definition at line 82 of file printf.c.

◆ PRINTF_NTOA_BUFFER_SIZE

#define PRINTF_NTOA_BUFFER_SIZE   32U

Definition at line 51 of file printf.c.

◆ PRINTF_SUPPORT_EXPONENTIAL [1/2]

#define PRINTF_SUPPORT_EXPONENTIAL

◆ PRINTF_SUPPORT_EXPONENTIAL [2/2]

#define PRINTF_SUPPORT_EXPONENTIAL

Definition at line 70 of file test_suite.cpp.

◆ PRINTF_SUPPORT_FLOAT [1/2]

#define PRINTF_SUPPORT_FLOAT

Definition at line 64 of file test_suite.cpp.

◆ PRINTF_SUPPORT_FLOAT [2/2]

#define PRINTF_SUPPORT_FLOAT

◆ PRINTF_SUPPORT_LONG_LONG [1/2]

#define PRINTF_SUPPORT_LONG_LONG

Definition at line 88 of file test_suite.cpp.

◆ PRINTF_SUPPORT_LONG_LONG [2/2]

#define PRINTF_SUPPORT_LONG_LONG

◆ PRINTF_SUPPORT_PTRDIFF_T [1/2]

#define PRINTF_SUPPORT_PTRDIFF_T

◆ PRINTF_SUPPORT_PTRDIFF_T [2/2]

#define PRINTF_SUPPORT_PTRDIFF_T

Definition at line 95 of file test_suite.cpp.

Typedef Documentation

◆ out_fct_type

typedef void(* out_fct_type) (char character, void *buffer, size_t idx, size_t maxlen)

Definition at line 122 of file printf.c.

Function Documentation

◆ _atoi()

static unsigned int _atoi ( const char **  str)
static

Definition at line 188 of file printf.c.

◆ _etoa()

static size_t _etoa ( out_fct_type  out,
char *  buffer,
size_t  idx,
size_t  maxlen,
double  value,
unsigned int  prec,
unsigned int  width,
unsigned int  flags 
)
static

Definition at line 467 of file printf.c.

◆ _ftoa()

static size_t _ftoa ( out_fct_type  out,
char *  buffer,
size_t  idx,
size_t  maxlen,
double  value,
unsigned int  prec,
unsigned int  width,
unsigned int  flags 
)
static

Definition at line 339 of file printf.c.

◆ _is_digit()

static bool _is_digit ( char  ch)
inlinestatic

Definition at line 181 of file printf.c.

◆ _ntoa_format()

static size_t _ntoa_format ( out_fct_type  out,
char *  buffer,
size_t  idx,
size_t  maxlen,
char *  buf,
size_t  len,
bool  negative,
unsigned int  base,
unsigned int  prec,
unsigned int  width,
unsigned int  flags 
)
static

Definition at line 227 of file printf.c.

◆ _ntoa_long()

static size_t _ntoa_long ( out_fct_type  out,
char *  buffer,
size_t  idx,
size_t  maxlen,
unsigned long  value,
bool  negative,
unsigned long  base,
unsigned int  prec,
unsigned int  width,
unsigned int  flags 
)
static

Definition at line 281 of file printf.c.

◆ _ntoa_long_long()

static size_t _ntoa_long_long ( out_fct_type  out,
char *  buffer,
size_t  idx,
size_t  maxlen,
unsigned long long  value,
bool  negative,
unsigned long long  base,
unsigned int  prec,
unsigned int  width,
unsigned int  flags 
)
static

Definition at line 306 of file printf.c.

◆ _out_buffer()

static void _out_buffer ( char  character,
void *  buffer,
size_t  idx,
size_t  maxlen 
)
inlinestatic

Definition at line 133 of file printf.c.

◆ _out_char()

static void _out_char ( char  character,
void *  buffer,
size_t  idx,
size_t  maxlen 
)
inlinestatic

Definition at line 149 of file printf.c.

◆ _out_fct()

static void _out_fct ( char  character,
void *  buffer,
size_t  idx,
size_t  maxlen 
)
inlinestatic

Definition at line 159 of file printf.c.

◆ _out_null()

static void _out_null ( char  character,
void *  buffer,
size_t  idx,
size_t  maxlen 
)
inlinestatic

Definition at line 142 of file printf.c.

◆ _out_rev()

static size_t _out_rev ( out_fct_type  out,
char *  buffer,
size_t  idx,
size_t  maxlen,
const char *  buf,
size_t  len,
unsigned int  width,
unsigned int  flags 
)
static

Definition at line 199 of file printf.c.

◆ _strnlen_s()

static unsigned int _strnlen_s ( const char *  str,
size_t  maxsize 
)
inlinestatic

Definition at line 171 of file printf.c.

◆ _vsnprintf()

static int _vsnprintf ( out_fct_type  out,
char *  buffer,
const size_t  maxlen,
const char *  format,
va_list  va 
)
static

Definition at line 577 of file printf.c.

◆ fctprintf()

int fctprintf ( void(*)(char character, void *arg)  out,
void *  arg,
const char *  format,
  ... 
)

printf with output function You may use this as dynamic alternative to printf() with its fixed _putchar() output

Parameters
outAn output function which takes one character and an argument pointer
argAn argument pointer for user data passed to output function
formatA string that specifies the format of the output
Returns
The number of characters that are sent to the output function, not counting the terminating null character

Definition at line 906 of file printf.c.

◆ printf_()

int printf_ ( const char *  format,
  ... 
)

Definition at line 862 of file printf.c.

◆ snprintf_()

int snprintf_ ( char *  buffer,
size_t  count,
const char *  format,
  ... 
)

Definition at line 883 of file printf.c.

◆ sprintf_()

int sprintf_ ( char *  buffer,
const char *  format,
  ... 
)

Definition at line 873 of file printf.c.

◆ vprintf_()

int vprintf_ ( const char *  format,
va_list  va 
)

Definition at line 893 of file printf.c.

◆ vsnprintf_()

int vsnprintf_ ( char *  buffer,
size_t  count,
const char *  format,
va_list  va 
)

Definition at line 900 of file printf.c.



inertial_sense_ros
Author(s):
autogenerated on Sun Feb 28 2021 03:17:59