Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/posix/include/posix/stdio.h

    rc8830a2 re3480d5  
    3737#define POSIX_STDIO_H_
    3838
     39#ifndef __POSIX_DEF__
     40#define __POSIX_DEF__(x) x
     41/* DEBUG macro does not belong to POSIX stdio.h. Its unconditional
     42 * definition in the native stdio.h causes unexpected behaviour of
     43 * applications which uses their own DEBUG macro (e.g. debugging
     44 * output is printed even if not desirable). */
     45#undef DEBUG
     46#endif
     47
    3948#include "stddef.h"
    4049#include "unistd.h"
     
    5665
    5766#define BUFSIZ  4096
    58 #define SEEK_SET  0
    59 #define SEEK_CUR  1
    60 #define SEEK_END  2
    6167
    6268typedef struct _IO_FILE FILE;
     
    108114extern size_t fwrite(const void *, size_t, size_t, FILE *);
    109115
    110 extern int fseek(FILE *, off64_t, int);
    111116extern void rewind(FILE *);
    112 extern off64_t ftell(FILE *);
    113117extern int feof(FILE *);
    114118extern int fileno(FILE *);
     
    126130#undef L_ctermid
    127131#define L_ctermid PATH_MAX
    128 extern char *posix_ctermid(char *s);
     132extern char *__POSIX_DEF__(ctermid)(char *s);
    129133
    130134/* Error Recovery */
    131 extern void posix_clearerr(FILE *stream);
     135extern void __POSIX_DEF__(clearerr)(FILE *stream);
    132136
    133137/* Input/Output */
    134138#undef putc
    135139#define putc fputc
    136 extern int posix_fputs(const char *restrict s, FILE *restrict stream);
     140extern int __POSIX_DEF__(fputs)(const char *restrict s, FILE *restrict stream);
    137141#undef getc
    138142#define getc fgetc
    139 extern int posix_ungetc(int c, FILE *stream);
    140 extern ssize_t posix_getdelim(char **restrict lineptr, size_t *restrict n,
     143extern int __POSIX_DEF__(ungetc)(int c, FILE *stream);
     144extern ssize_t __POSIX_DEF__(getdelim)(char **restrict lineptr, size_t *restrict n,
    141145    int delimiter, FILE *restrict stream);
    142 extern ssize_t posix_getline(char **restrict lineptr, size_t *restrict n,
     146extern ssize_t __POSIX_DEF__(getline)(char **restrict lineptr, size_t *restrict n,
    143147    FILE *restrict stream);
    144148
    145149/* Opening Streams */
    146 extern FILE *posix_freopen(const char *restrict filename,
     150extern FILE *__POSIX_DEF__(freopen)(const char *restrict filename,
    147151    const char *restrict mode, FILE *restrict stream);
    148152
    149153/* Error Messages */
    150 extern void posix_perror(const char *s);
     154extern void __POSIX_DEF__(perror)(const char *s);
    151155
    152156/* File Positioning */
    153 typedef struct _posix_fpos posix_fpos_t;
    154 extern int posix_fsetpos(FILE *stream, const posix_fpos_t *pos);
    155 extern int posix_fgetpos(FILE *restrict stream, posix_fpos_t *restrict pos);
    156 extern int posix_fseek(FILE *stream, long offset, int whence);
    157 extern int posix_fseeko(FILE *stream, posix_off_t offset, int whence);
    158 extern long posix_ftell(FILE *stream);
    159 extern posix_off_t posix_ftello(FILE *stream);
     157typedef struct _posix_fpos __POSIX_DEF__(fpos_t);
     158extern int __POSIX_DEF__(fsetpos)(FILE *stream, const __POSIX_DEF__(fpos_t) *pos);
     159extern int __POSIX_DEF__(fgetpos)(FILE *restrict stream, __POSIX_DEF__(fpos_t) *restrict pos);
     160extern int __POSIX_DEF__(fseek)(FILE *stream, long offset, int whence);
     161extern int __POSIX_DEF__(fseeko)(FILE *stream, __POSIX_DEF__(off_t) offset, int whence);
     162extern long __POSIX_DEF__(ftell)(FILE *stream);
     163extern __POSIX_DEF__(off_t) __POSIX_DEF__(ftello)(FILE *stream);
    160164
    161165/* Flushing Buffers */
    162 extern int posix_fflush(FILE *stream);
     166extern int __POSIX_DEF__(fflush)(FILE *stream);
    163167
    164168/* Formatted Output */
    165 extern int posix_dprintf(int fildes, const char *restrict format, ...)
     169extern int __POSIX_DEF__(dprintf)(int fildes, const char *restrict format, ...)
    166170    PRINTF_ATTRIBUTE(2, 3);
    167 extern int posix_vdprintf(int fildes, const char *restrict format, va_list ap);
    168 extern int posix_sprintf(char *restrict s, const char *restrict format, ...)
     171extern int __POSIX_DEF__(vdprintf)(int fildes, const char *restrict format, va_list ap);
     172extern int __POSIX_DEF__(sprintf)(char *restrict s, const char *restrict format, ...)
    169173    PRINTF_ATTRIBUTE(2, 3);
    170 extern int posix_vsprintf(char *restrict s, const char *restrict format, va_list ap);
     174extern int __POSIX_DEF__(vsprintf)(char *restrict s, const char *restrict format, va_list ap);
    171175
    172176/* Formatted Input */
    173 extern int posix_fscanf(
     177extern int __POSIX_DEF__(fscanf)(
    174178    FILE *restrict stream, const char *restrict format, ...);
    175 extern int posix_vfscanf(
     179extern int __POSIX_DEF__(vfscanf)(
    176180    FILE *restrict stream, const char *restrict format, va_list arg);
    177 extern int posix_scanf(const char *restrict format, ...);
    178 extern int posix_vscanf(const char *restrict format, va_list arg);
    179 extern int posix_sscanf(
     181extern int __POSIX_DEF__(scanf)(const char *restrict format, ...);
     182extern int __POSIX_DEF__(vscanf)(const char *restrict format, va_list arg);
     183extern int __POSIX_DEF__(sscanf)(
    180184    const char *restrict s, const char *restrict format, ...);
    181 extern int posix_vsscanf(
     185extern int __POSIX_DEF__(vsscanf)(
    182186    const char *restrict s, const char *restrict format, va_list arg);
    183187
    184188/* File Locking */
    185 extern void posix_flockfile(FILE *file);
    186 extern int posix_ftrylockfile(FILE *file);
    187 extern void posix_funlockfile(FILE *file);
    188 extern int posix_getc_unlocked(FILE *stream);
    189 extern int posix_getchar_unlocked(void);
    190 extern int posix_putc_unlocked(int c, FILE *stream);
    191 extern int posix_putchar_unlocked(int c);
     189extern void __POSIX_DEF__(flockfile)(FILE *file);
     190extern int __POSIX_DEF__(ftrylockfile)(FILE *file);
     191extern void __POSIX_DEF__(funlockfile)(FILE *file);
     192extern int __POSIX_DEF__(getc_unlocked)(FILE *stream);
     193extern int __POSIX_DEF__(getchar_unlocked)(void);
     194extern int __POSIX_DEF__(putc_unlocked)(int c, FILE *stream);
     195extern int __POSIX_DEF__(putchar_unlocked)(int c);
    192196
    193197/* Deleting Files */
    194 extern int posix_remove(const char *path);
     198extern int __POSIX_DEF__(remove)(const char *path);
    195199
    196200/* Renaming Files */
    197 extern int posix_rename(const char *old, const char *new);
     201extern int __POSIX_DEF__(rename)(const char *oldname, const char *newname);
    198202
    199203/* Temporary Files */
    200204#undef L_tmpnam
    201205#define L_tmpnam PATH_MAX
    202 extern char *posix_tmpnam(char *s);
    203 extern char *posix_tempnam(const char *dir, const char *pfx);
    204 extern FILE *posix_tmpfile(void);
    205 
    206 #ifndef LIBPOSIX_INTERNAL
    207         /* DEBUG macro does not belong to POSIX stdio.h. Its unconditional
    208          * definition in the native stdio.h causes unexpected behaviour of
    209          * applications which uses their own DEBUG macro (e.g. debugging
    210          * output is printed even if not desirable). */
    211         #undef DEBUG
    212 
    213         #define ctermid posix_ctermid
    214 
    215         #define clearerr posix_clearerr
    216 
    217         #define fputs posix_fputs
    218         #define ungetc posix_ungetc
    219         #define getdelim posix_getdelim
    220         #define getline posix_getline
    221 
    222         #define freopen posix_freopen
    223 
    224         #define perror posix_perror
    225 
    226         #define fpos_t posix_fpos_t
    227         #define fsetpos posix_fsetpos
    228         #define fgetpos posix_fgetpos
    229         #define fseek posix_fseek
    230         #define fseeko posix_fseeko
    231         #define ftell posix_ftell
    232         #define ftello posix_ftello
    233 
    234         #define fflush posix_fflush
    235 
    236         #define dprintf posix_dprintf
    237         #define vdprintf posix_vdprintf
    238         #define sprintf posix_sprintf
    239         #define vsprintf posix_vsprintf
    240 
    241         #define fscanf posix_fscanf
    242         #define vfscanf posix_vfscanf
    243         #define vscanf posix_vscanf
    244         #define scanf posix_scanf
    245         #define sscanf posix_sscanf
    246         #define vsscanf posix_vsscanf
    247 
    248         #define flockfile posix_flockfile
    249         #define ftrylockfile posix_ftrylockfile
    250         #define funlockfile posix_funlockfile
    251 
    252         #define getc_unlocked posix_getc_unlocked
    253         #define getchar_unlocked posix_getchar_unlocked
    254         #define putc_unlocked posix_putc_unlocked
    255         #define putchar_unlocked posix_putchar_unlocked
    256 
    257         #define remove posix_remove
    258 
    259         #define rename posix_rename
    260 
    261         #define tmpnam posix_tmpnam
    262         #define tempnam posix_tempnam
    263         #define tmpfile posix_tmpfile
    264 #endif
     206extern char *__POSIX_DEF__(tmpnam)(char *s);
     207extern char *__POSIX_DEF__(tempnam)(const char *dir, const char *pfx);
     208extern FILE *__POSIX_DEF__(tmpfile)(void);
     209
    265210
    266211#endif /* POSIX_STDIO_H_ */
Note: See TracChangeset for help on using the changeset viewer.