PatchworkOS  19e446b
A non-POSIX operating system.
Loading...
Searching...
No Matches
print.h File Reference
#include <assert.h>
#include <ctype.h>
#include <stdarg.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/defs.h>
#include "digits.h"
Include dependency graph for print.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _print_ctx_t
 
struct  _print_format_ctx_t
 
struct  _print_integer_t
 

Macros

#define _PRINT_INTEGER_PUSH(integer, c)   (*--(integer)->dataPtr = (c))
 
#define _PRINT_INTEGER_PREFIX_PUSH(integer, c)   (*--(integer)->prefixPtr = (c))
 
#define _PRINT_INTEGER_LEN(integer)   ((int)((sizeof((integer)->data)) - ((integer)->dataPtr - (integer)->data)))
 
#define _PRINT_INTEGER_PREFIX_LEN(integer)    ((int)((sizeof((integer)->prefix)) - ((integer)->prefixPtr - (integer)->prefix)))
 

Enumerations

enum  _print_format_flags_t {
  _PRINT_LEFT_ALIGNED = 1 << 1 , _PRINT_FORCE_SIGN = 1 << 2 , _PRINT_SPACE_SIGN = 1 << 3 , _PRINT_ALTERNATE_FORM = 1 << 4 ,
  _PRINT_UPPER_CASE = 1 << 5 , _PRINT_PAD_ZERO = 1 << 6
}
 
enum  _print_format_length_t {
  _PRINT_DEFAULT = 0 , _PRINT_HH , _PRINT_H , _PRINT_L ,
  _PRINT_LL , _PRINT_J , _PRINT_Z , _PRINT_T
}
 

Functions

static int _print_padding_left (_print_ctx_t *ctx, _print_format_ctx_t *format, int len)
 
static int _print_padding_right (_print_ctx_t *ctx, _print_format_ctx_t *format, int padding)
 
static int _print_integer_print (_print_ctx_t *ctx, _print_format_ctx_t *format, _print_integer_t *integer)
 
static int _print_format_signed_integer (_print_ctx_t *ctx, _print_format_ctx_t *format)
 
static int _print_format_unsigned_integer (_print_ctx_t *ctx, _print_format_ctx_t *format, uint32_t base)
 
static int _print_format_char (_print_ctx_t *ctx, _print_format_ctx_t *format)
 
static int _print_format_string (_print_ctx_t *ctx, _print_format_ctx_t *format)
 
static int _print_format_written (_print_ctx_t *ctx)
 
static int _print_format_percent (_print_ctx_t *ctx)
 
static int _print_format (_print_ctx_t *ctx)
 
static int _print (const char *_RESTRICT format, size_t n, va_list arg, void *data)