Changes in uspace/lib/posix/include/posix/stdio.h [1433ecda:4e6a610] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/posix/include/posix/stdio.h
r1433ecda r4e6a610 40 40 41 41 #include "stddef.h" 42 #include "unistd.h"43 42 #include "libc/io/verify.h" 44 43 #include "sys/types.h" … … 46 45 #include "limits.h" 47 46 48 /*49 * These are the same as in HelenOS libc.50 * It would be possible to directly include <stdio.h> but51 * it is better not to pollute POSIX namespace with other functions52 * defined in that header.53 *54 * Because libposix is always linked with libc, providing only these55 * forward declarations ought to be enough.56 */57 #define EOF (-1)58 59 /** Size of buffers used in stdio header. */60 #define BUFSIZ 409661 62 /** Maximum size in bytes of the longest filename. */63 #define FILENAME_MAX 409664 65 typedef struct _IO_FILE FILE;66 67 extern FILE *stdin;68 extern FILE *stdout;69 extern FILE *stderr;70 71 extern int fgetc(FILE *);72 extern char *fgets(char *, int, FILE *);73 74 extern int getchar(void);75 extern char *gets(char *, size_t);76 77 extern int fputc(wchar_t, FILE *);78 extern int fputs(const char *, FILE *);79 80 extern int putchar(wchar_t);81 extern int puts(const char *);82 83 extern int fprintf(FILE *, const char *, ...) _HELENOS_PRINTF_ATTRIBUTE(2, 3);84 extern int vfprintf(FILE *, const char *, va_list);85 86 extern int printf(const char *, ...) _HELENOS_PRINTF_ATTRIBUTE(1, 2);87 extern int vprintf(const char *, va_list);88 89 extern int snprintf(char *, size_t, const char *, ...) _HELENOS_PRINTF_ATTRIBUTE(3, 4);90 #ifdef _GNU_SOURCE91 extern int vasprintf(char **, const char *, va_list);92 extern int asprintf(char **, const char *, ...) _HELENOS_PRINTF_ATTRIBUTE(2, 3);93 #endif94 extern int vsnprintf(char *, size_t, const char *, va_list);95 96 extern FILE *fopen(const char *, const char *);97 47 extern FILE *fdopen(int, const char *); 98 extern int fclose(FILE *);99 100 extern size_t fread(void *, size_t, size_t, FILE *);101 extern size_t fwrite(const void *, size_t, size_t, FILE *);102 103 extern void rewind(FILE *);104 extern int feof(FILE *);105 48 extern int fileno(FILE *); 106 49 107 extern int fflush(FILE *); 108 extern int ferror(FILE *); 109 extern void clearerr(FILE *); 110 111 extern void setvbuf(FILE *, void *, int, size_t); 112 extern void setbuf(FILE *, void *); 113 114 /* POSIX specific stuff. */ 50 #define P_tmpdir "/tmp" 115 51 116 52 /* Identifying the Terminal */ … … 119 55 extern char *ctermid(char *s); 120 56 121 /* Error Recovery */122 extern void clearerr(FILE *stream);123 124 57 /* Input/Output */ 125 #undef putc126 #define putc fputc127 extern int fputs(const char *__restrict__ s, FILE *__restrict__ stream);128 #undef getc129 #define getc fgetc130 extern int ungetc(int c, FILE *stream);131 58 extern ssize_t getdelim(char **__restrict__ lineptr, size_t *__restrict__ n, 132 59 int delimiter, FILE *__restrict__ stream); … … 134 61 FILE *__restrict__ stream); 135 62 136 /* Opening Streams */137 extern FILE *freopen(const char *__restrict__ filename,138 const char *__restrict__ mode, FILE *__restrict__ stream);139 140 /* Error Messages */141 extern void perror(const char *s);142 143 /* File Positioning */144 typedef struct {145 off64_t offset;146 } fpos_t;147 148 extern int fsetpos(FILE *stream, const fpos_t *pos);149 extern int fgetpos(FILE *__restrict__ stream, fpos_t *__restrict__ pos);150 extern int fseek(FILE *stream, long offset, int whence);151 63 extern int fseeko(FILE *stream, off_t offset, int whence); 152 extern long ftell(FILE *stream);153 64 extern off_t ftello(FILE *stream); 154 155 /* Flushing Buffers */156 extern int fflush(FILE *stream);157 65 158 66 /* Formatted Output */ … … 160 68 _HELENOS_PRINTF_ATTRIBUTE(2, 3); 161 69 extern int vdprintf(int fildes, const char *__restrict__ format, va_list ap); 162 extern int sprintf(char *__restrict__ s, const char *__restrict__ format, ...)163 _HELENOS_PRINTF_ATTRIBUTE(2, 3);164 extern int vsprintf(char *__restrict__ s, const char *__restrict__ format, va_list ap);165 166 /* Formatted Input */167 extern int fscanf(168 FILE *__restrict__ stream, const char *__restrict__ format, ...);169 extern int vfscanf(170 FILE *__restrict__ stream, const char *__restrict__ format, va_list arg);171 extern int scanf(const char *__restrict__ format, ...);172 extern int vscanf(const char *__restrict__ format, va_list arg);173 extern int sscanf(174 const char *__restrict__ s, const char *__restrict__ format, ...);175 extern int vsscanf(176 const char *__restrict__ s, const char *__restrict__ format, va_list arg);177 70 178 71 /* File Locking */ … … 185 78 extern int putchar_unlocked(int c); 186 79 187 /* Deleting Files */188 extern int remove(const char *path);189 190 /* Renaming Files */191 extern int rename(const char *oldname, const char *newname);192 193 80 /* Temporary Files */ 194 #undef L_tmpnam195 #define L_tmpnam PATH_MAX196 extern char *tmpnam(char *s);197 81 extern char *tempnam(const char *dir, const char *pfx); 198 extern FILE *tmpfile(void);199 200 82 201 83 #endif /* POSIX_STDIO_H_ */
Note:
See TracChangeset
for help on using the changeset viewer.