pintos/src/lib/stdio.c File Reference

#include <stdio.h>
#include <ctype.h>
#include <inttypes.h>
#include <round.h>
#include <stdint.h>
#include <string.h>

Go to the source code of this file.

Data Structures

struct  vsnprintf_aux
struct  printf_conversion
struct  integer_base

Functions

static void vsnprintf_helper (char, void *)
int vsnprintf (char *buffer, size_t buf_size, const char *format, va_list args)
int snprintf (char *buffer, size_t buf_size, const char *format,...)
int printf (const char *format,...)
static const char * parse_conversion (const char *format, struct printf_conversion *, va_list *)
static void format_integer (uintmax_t value, bool is_signed, bool negative, const struct integer_base *, const struct printf_conversion *, void(*output)(char, void *), void *aux)
static void output_dup (char ch, size_t cnt, void(*output)(char, void *), void *aux)
static void format_string (const char *string, int length, struct printf_conversion *, void(*output)(char, void *), void *aux)
void __vprintf (const char *format, va_list args, void(*output)(char, void *), void *aux)
void __printf (const char *format, void(*output)(char, void *), void *aux,...)
void hex_dump (uintptr_t ofs, const void *buf_, size_t size, bool ascii)
void print_human_readable_size (uint64_t size)

Variables

static struct integer_base base_d = {10, "0123456789", 0, 3}
static struct integer_base base_o = {8, "01234567", 0, 3}
static struct integer_base base_x = {16, "0123456789abcdef", 'x', 4}
static struct integer_base base_X = {16, "0123456789ABCDEF", 'X', 4}


Function Documentation

void __printf ( const char *  format,
void(*)(char, void *)  output,
void *  aux,
  ... 
)

Definition at line 578 of file stdio.c.

References __vprintf(), va_end, and va_start.

Referenced by __vprintf().

void __vprintf ( const char *  format,
va_list  args,
void(*)(char, void *)  output,
void *  aux 
)

static void format_integer ( uintmax_t  value,
bool  is_signed,
bool  negative,
const struct integer_base b,
const struct printf_conversion c,
void(*)(char, void *)  output,
void *  aux 
) [static]

static void format_string ( const char *  string,
int  length,
struct printf_conversion c,
void(*)(char, void *)  output,
void *  aux 
) [static]

Definition at line 562 of file stdio.c.

References printf_conversion::flags, output_dup(), and printf_conversion::width.

Referenced by __vprintf().

void hex_dump ( uintptr_t  ofs,
const void *  buf_,
size_t  size,
bool  ascii 
)

Definition at line 594 of file stdio.c.

References buf, isprint(), printf(), ROUND_DOWN, and start.

Referenced by bitmap_dump(), compare_bytes(), fsutil_cat(), main(), uhci_tx_pkt_wait(), and usb_load_config().

static void output_dup ( char  ch,
size_t  cnt,
void(*)(char, void *)  output,
void *  aux 
) [static]

Definition at line 552 of file stdio.c.

Referenced by format_integer(), and format_string().

static const char * parse_conversion ( const char *  format,
struct printf_conversion c,
va_list args 
) [static]

void print_human_readable_size ( uint64_t  size  ) 

Definition at line 643 of file stdio.c.

References NULL, printf(), and PRIu64.

Referenced by block_register(), and identify_ata_device().

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

int snprintf ( char *  buffer,
size_t  buf_size,
const char *  format,
  ... 
)

int vsnprintf ( char *  buffer,
size_t  buf_size,
const char *  format,
va_list  args 
)

static void vsnprintf_helper ( char  ch,
void *  aux_ 
) [static]

Definition at line 47 of file stdio.c.

References vsnprintf_aux::length, vsnprintf_aux::max_length, and vsnprintf_aux::p.

Referenced by vsnprintf().


Variable Documentation

struct integer_base base_d = {10, "0123456789", 0, 3} [static]

Definition at line 139 of file stdio.c.

struct integer_base base_o = {8, "01234567", 0, 3} [static]

Definition at line 140 of file stdio.c.

struct integer_base base_X = {16, "0123456789ABCDEF", 'X', 4} [static]

Definition at line 142 of file stdio.c.

struct integer_base base_x = {16, "0123456789abcdef", 'x', 4} [static]

Definition at line 141 of file stdio.c.


Generated on Mon Jan 10 16:43:58 2011 for Pintos by  doxygen 1.5.6