Added printf_fast_f. Same as printf_fast, but with floating point enabled
[fw/sdcc] / device / include / stdio.h
index 6795985c597eda1752940f7400bd0d8b4391e8b5..d96ebc2883ea5d35237f1c4ac0431bd6a251c2bb 100644 (file)
@@ -1,25 +1,25 @@
 /*-------------------------------------------------------------------------
   stdio.h - ANSI functions forward declarations
 /*-------------------------------------------------------------------------
   stdio.h - ANSI functions forward declarations
+
              Written By -  Sandeep Dutta . sandeep.dutta@usa.net (1998)
 
    This program is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by the
    Free Software Foundation; either version 2, or (at your option) any
    later version.
              Written By -  Sandeep Dutta . sandeep.dutta@usa.net (1998)
 
    This program is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by the
    Free Software Foundation; either version 2, or (at your option) any
    later version.
-   
+
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
-   
+
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-   
+
    In other words, you are welcome to use, share and improve this program.
    You are forbidden to forbid anyone else to use, share and improve
    In other words, you are welcome to use, share and improve this program.
    You are forbidden to forbid anyone else to use, share and improve
-   what you give them.   Help stamp out software-hoarding!  
+   what you give them.   Help stamp out software-hoarding!
 -------------------------------------------------------------------------*/
 
 #ifndef __SDC51_STDIO_H
 -------------------------------------------------------------------------*/
 
 #ifndef __SDC51_STDIO_H
 
 #include <stdarg.h>
 
 
 #include <stdarg.h>
 
-#if defined(SDCC_MODEL_LARGE) || defined(SDCC_MODEL_FLAT24)
-#ifndef TINIBIOS_H
+#ifdef __ds390
 #include <tinibios.h>
 #include <tinibios.h>
-#endif TINIBIOS_H
-#define XSPEC xdata
-#else
-#define XSPEC
 #endif
 
 #endif
 
-extern printf_small (char *,...) reentrant;
-extern printf (XSPEC const char *,...) reentrant;
-extern int vprintf (const char *, va_list);
-extern int sprintf (const char *, XSPEC const char *, ...) reentrant;
-extern int vsprintf (const char *, const char *, va_list);
-extern int puts(const char *);
-extern char *gets(char *);
-extern char getchar(void);
-extern void putchar(char);
+#include <sdcc-lib.h>
+
+#ifndef NULL
+  #define NULL (void *)0
 #endif
 
 #endif
 
+#ifndef _SIZE_T_DEFINED
+#define _SIZE_T_DEFINED
+  typedef unsigned int size_t;
+#endif
 
 
+typedef void (*pfn_outputchar)(char c, void* p) _REENTRANT;
 
 
+extern int _print_format (pfn_outputchar pfn, void* pvoid, const char *format, va_list ap);
 
 
+/*-----------------------------------------------------------------------*/
 
 
+extern void printf_small (char *,...) _REENTRANT;
+extern int printf (const char *,...);
+extern int vprintf (const char *, va_list);
+extern int sprintf (char *, const char *, ...);
+extern int vsprintf (char *, const char *, va_list);
+extern int puts(const char *);
+extern char *gets(char *);
+extern char getchar(void);
+extern void putchar(char);
+
+#ifdef __mcs51
+extern void printf_fast(code char *fmt, ...) _REENTRANT;
+extern void printf_fast_f(code char *fmt, ...) _REENTRANT;
+extern void printf_tiny(code char *fmt, ...) _REENTRANT;
+#endif
 
 
+#endif /* __SDC51_STDIO_H */