* device/lib/Makefile.in: reenable floating point in model-xstack-auto
[fw/sdcc] / device / include / stdio.h
index 6795985c597eda1752940f7400bd0d8b4391e8b5..3f24931c1038f825c62f9bd6eb4bd2ad5f34d05c 100644 (file)
@@ -1,25 +1,25 @@
 /*-------------------------------------------------------------------------
   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.
-   
+
    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.
-   
+
    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
 
 #include <stdarg.h>
 
-#if defined(SDCC_MODEL_LARGE) || defined(SDCC_MODEL_FLAT24)
-#ifndef TINIBIOS_H
+#ifdef __ds390
 #include <tinibios.h>
-#endif TINIBIOS_H
-#define XSPEC xdata
-#else
-#define XSPEC
 #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
 
+#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);
+
+#if defined(SDCC_mcs51) && !defined(SDCC_USE_XSTACK)
+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 */