home *** CD-ROM | disk | FTP | other *** search
/ linuxmafia.com 2016 / linuxmafia.com.tar / linuxmafia.com / pub / palmos / pippy-0.6beta-src.tar.gz / pippy-0.6beta-src.tar / pippy-0.6beta-src / src / Palm / libc / include / stdio.h < prev    next >
C/C++ Source or Header  |  2000-12-21  |  3KB  |  107 lines

  1. #ifndef __332_STDIO_H
  2. #define __332_STDIO_H
  3.  
  4. #include <stdarg.h>
  5. #include <sys/types.h>
  6. #include "libc_segments.h"
  7.  
  8. #ifndef NULL
  9. /* #define NULL ((void *) 0) */
  10. #define NULL 0
  11. #endif
  12.  
  13. #define    BUFSIZ    1024
  14.  
  15. /* dummy file structure */
  16. /* for convenience, for FILE *f; f->fileno == fileno */
  17. typedef struct {
  18.      int fileno;
  19. } FILE;
  20.  
  21. /* FILE tmp_stdio[] = {{0},{1},{2}}; */
  22.  
  23. /* #define stdin (&tmp_stdio[0])   */
  24. /* #define stdout (&tmp_stdio[1])  */
  25. /* #define stderr (&tmp_stdio[2])  */
  26.  
  27. /* #define stdin ( (FILE *) 0 ) */
  28. #define stdin NULL
  29. #define stdout ( (FILE *) 1 )
  30. #define stderr ( (FILE *) 2 )
  31.  
  32.  
  33. #ifndef EOF
  34. #define EOF     (-1)
  35. #endif
  36.  
  37. extern int getchar () SEG_LIBC;
  38. extern char *gets (char *buf) SEG_LIBC;
  39. extern int puts (unsigned char *string) SEG_LIBC;
  40. extern int putchar (unsigned int outch) SEG_LIBC;
  41.  
  42. extern int vsprintf(char *buf, const char *fmt, va_list args) SEG_LIBC;
  43. extern int sprintf(char * buf, const char *fmt, ...); 
  44. extern int printf(const char *fmt, ...);
  45.  
  46. extern int fprintf(FILE *, const char *fmt, ...);
  47. extern int vfprintf(FILE *, const char *fmt, va_list args) SEG_LIBC;
  48.  
  49. #define fflush(A) (0); /* always assume success */
  50.  
  51. extern int sscanf(const char *, const char *, ...) SEG_LIBC;
  52. extern FILE *fopen(const char *, const char *) ; 
  53. extern int fclose(FILE *stream); /* Python uses fclose as a function pointer - can't #define instead*/
  54.  
  55.  
  56. extern size_t fwrite(const void *ptr, size_t size, size_t nitems,
  57.           FILE *stream) SEG_LIBC;
  58.  
  59. #define putc( A, B ) ( putchar(A) )
  60. #define setbuf(A, B) (0)
  61.  
  62. /* since we don't expect stream input for now, define fgets as such */
  63. #define fgets(s, n, stream) ('\0')
  64. #define fputc(A, stream) (putchar(A))
  65.  
  66. /* always say that an EOF condition has been been reached */
  67. #define feof(stream) (1)
  68.  
  69. /* always fail on an fseek */
  70. #define fseek(a,b,c) (-1)
  71.  
  72. #define ftell(A) (-1)
  73.  
  74. /* indicate where fwrite is attempting to write a string */
  75. /* #define fwrite(data, size, number, stream) printf("fwrite a string\n") */
  76. #define fread(data, size, number, stream) (0)
  77. #define ferror(stream) (0)
  78. #define fgetc(stream) (1)
  79. #define getc(stream) (1)
  80. #define fputs(s, stream) puts(s)
  81. #define clearerr(stream) 
  82.  
  83. #define isatty(fildes) (0)
  84.  
  85. /* fileno probably should return the correct file number for stdin,
  86.    stdout, stderr ---> assume stdout for now */
  87. /* #define fileno(stream) (1) */
  88. extern int fileno(FILE *stream) SEG_LIBC;
  89.  
  90.  
  91. /* the following really belongs in stdlib.h, but since we are using the
  92.    system version, we'll define it here.  Another note:  this should
  93.    be turned into a function returning the appropriate environment
  94.    variable value via string comparison */
  95. #define getenv(env) '\0'
  96. /* abort should probably shut down the system somehow - need to
  97.    add PalmOS hook */
  98. #define abort() printf("ABORT, ABORT...\n\n");
  99. #define exit(status)printf("EXIT, EXIT...\n\n");
  100.  
  101. /* belongs in unistd.h, but it's not actually included in the sources - 
  102.    hence we define unlink (which we don't actually use) here to fail */
  103. #define unlink(path) (-1)
  104.  
  105.  
  106. #endif /* __332_STDIO_H */
  107.