blob: 89a051c23d3bfed90e15c8ac6d3e169b0e0ac23f [file] [log] [blame]
#ifndef XIL_PRINTF_H
#define XIL_PRINTF_H
#ifdef __cplusplus
extern "C" {
#endif
#include <ctype.h>
#include <string.h>
#include <stdarg.h>
#include "xparameters.h"
#include "xil_types.h"
/*----------------------------------------------------*/
/* Use the following parameter passing structure to */
/* make xil_printf re-entrant. */
/*----------------------------------------------------*/
struct params_s;
/*---------------------------------------------------*/
/* The purpose of this routine is to output data the */
/* same as the standard printf function without the */
/* overhead most run-time libraries involve. Usually */
/* the printf brings in many kilobytes of code and */
/* that is unacceptable in most embedded systems. */
/*---------------------------------------------------*/
typedef char* charptr;
typedef int (*func_ptr)(int c);
/* */
void padding( const int l_flag, struct params_s *par);
void outs( charptr lp, struct params_s *par);
void outnum( const long n, const long base, struct params_s *par);
int getnum( charptr* linep);
void xil_printf( const char *ctrl1, ...);
void print( const char *ptr);
void outbyte (char);
char inbyte(void);
#ifdef __cplusplus
}
#endif
#endif /* end of protection macro */