Changeset 2595dab in mainline for uspace/lib/libc/include/stdio.h
- Timestamp:
- 2009-06-03T19:26:28Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- d00ae4c
- Parents:
- ca3ba3a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/libc/include/stdio.h
rca3ba3a r2595dab 39 39 #include <stdarg.h> 40 40 41 #define EOF (-1) 42 43 #include <string.h> 44 #include <io/stream.h> 41 #define EOF (-1) 45 42 46 43 #define DEBUG(fmt, ...) \ 47 44 { \ 48 45 char buf[256]; \ 49 int n; \ 50 n = snprintf(buf, sizeof(buf), fmt, ##__VA_ARGS__); \ 46 int n = snprintf(buf, sizeof(buf), fmt, ##__VA_ARGS__); \ 51 47 if (n > 0) \ 52 48 (void) __SYSCALL3(SYS_KLOG, 1, (sysarg_t) buf, str_size(buf)); \ 53 49 } 54 50 51 #ifndef SEEK_SET 52 #define SEEK_SET 0 53 #define SEEK_CUR 1 54 #define SEEK_END 2 55 #endif 56 55 57 typedef struct { 56 58 /** Underlying file descriptor. */ 57 59 int fd; 58 60 59 61 /** Error indicator. */ 60 62 int error; 61 63 62 64 /** End-of-file indicator. */ 63 65 int eof; 66 67 /** Klog indicator */ 68 int klog; 69 70 /** Phone to the file provider */ 71 int phone; 64 72 } FILE; 65 73 66 extern FILE *stdin, *stdout, *stderr; 74 extern FILE stdin_null; 75 extern FILE stdout_klog; 76 77 extern FILE *stdin; 78 extern FILE *stdout; 79 extern FILE *stderr; 80 81 /* Character and string input functions */ 82 extern int fgetc(FILE *); 83 extern char *fgets(char *, size_t, FILE *); 67 84 68 85 extern int getchar(void); 86 extern char *gets(char *, size_t); 69 87 88 /* Character and string output functions */ 89 extern int fputc(wchar_t, FILE *); 90 extern int fputs(const char *, FILE *); 91 92 extern int putchar(wchar_t); 70 93 extern int puts(const char *); 71 extern int putchar(int); 72 extern int fflush(FILE *); 94 95 /* Formatted string output functions */ 96 extern int fprintf(FILE *, const char*, ...); 97 extern int vfprintf(FILE *, const char *, va_list); 73 98 74 99 extern int printf(const char *, ...); 100 extern int vprintf(const char *, va_list); 101 102 extern int snprintf(char *, size_t , const char *, ...); 75 103 extern int asprintf(char **, const char *, ...); 76 extern int sprintf(char *, const char *, ...);77 extern int snprintf(char *, size_t , const char *, ...);78 79 extern int vprintf(const char *, va_list);80 extern int vsprintf(char *, const char *, va_list);81 104 extern int vsnprintf(char *, size_t, const char *, va_list); 82 105 83 extern int rename(const char *, const char *); 84 106 /* File stream functions */ 85 107 extern FILE *fopen(const char *, const char *); 86 108 extern int fclose(FILE *); 109 87 110 extern size_t fread(void *, size_t, size_t, FILE *); 88 111 extern size_t fwrite(const void *, size_t, size_t, FILE *); 112 113 extern int fseek(FILE *, long, int); 114 extern int ftell(FILE *); 89 115 extern int feof(FILE *); 116 117 extern int fflush(FILE *); 90 118 extern int ferror(FILE *); 91 119 extern void clearerr(FILE *); 92 120 93 extern int fgetc(FILE *); 94 extern int fputc(int, FILE *); 95 extern int fputs(const char *, FILE *); 96 97 extern int fprintf(FILE *, const char *, ...); 98 extern int vfprintf(FILE *, const char *, va_list); 99 100 #define getc fgetc 101 #define putc fputc 102 103 extern int fseek(FILE *, long, int); 104 105 #ifndef SEEK_SET 106 #define SEEK_SET 0 107 #define SEEK_CUR 1 108 #define SEEK_END 2 109 #endif 121 /* Misc file functions */ 122 extern int rename(const char *, const char *); 110 123 111 124 #endif
Note:
See TracChangeset
for help on using the changeset viewer.