X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=include%2Fstdio.h;h=f64880173d0effbfbadf5f854d80364c3a3ebd33;hp=b00436d9d331ab1f771e3d8e2cea0d9dc9cc9735;hb=ae0c1de530bc3b27069008b8b247171d08dbe80b;hpb=0b44a0315b47dd8eced9f3b7f31580cf14bbfc01 diff --git a/include/stdio.h b/include/stdio.h index b00436d9..f6488017 100644 --- a/include/stdio.h +++ b/include/stdio.h @@ -5,20 +5,22 @@ extern "C" { #endif +#include + #define __NEED_FILE #define __NEED_va_list #define __NEED_size_t + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) #define __NEED_ssize_t #define __NEED_off_t +#endif #include -#undef NULL -#ifdef __cplusplus -#define NULL 0 -#else -#define NULL ((void*)0) -#endif +#define NULL 0L #undef EOF #define EOF (-1) @@ -34,7 +36,11 @@ extern "C" { #define _IOLBF 1 #define _IONBF 2 -#include +#define BUFSIZ 1024 +#define FILENAME_MAX 4095 +#define FOPEN_MAX 1000 +#define TMP_MAX 10000 +#define L_tmpnam 20 typedef union { char __opaque[16]; @@ -49,34 +55,27 @@ extern FILE *const stderr; #define stdout (stdout) #define stderr (stderr) -FILE *fopen(const char *, const char *); -FILE *fdopen(int, const char *); -FILE *freopen(const char *, const char *, FILE *); +FILE *fopen(const char *__restrict, const char *__restrict); +FILE *freopen(const char *__restrict, const char *__restrict, FILE *__restrict); int fclose(FILE *); -FILE *popen(const char *, const char *); -int pclose(FILE *); - int remove(const char *); int rename(const char *, const char *); -int fileno(FILE *); int feof(FILE *); int ferror(FILE *); int fflush(FILE *); void clearerr(FILE *); int fseek(FILE *, long, int); -int fseeko(FILE *, off_t, int); long ftell(FILE *); -off_t ftello(FILE *); void rewind(FILE *); -int fgetpos(FILE *, fpos_t *); +int fgetpos(FILE *__restrict, fpos_t *__restrict); int fsetpos(FILE *, const fpos_t *); -size_t fread(void *, size_t, size_t, FILE *); -size_t fwrite(const void *, size_t, size_t, FILE *); +size_t fread(void *__restrict, size_t, size_t, FILE *__restrict); +size_t fwrite(const void *__restrict, size_t, size_t, FILE *__restrict); int fgetc(FILE *); int getc(FILE *); @@ -87,34 +86,52 @@ int fputc(int, FILE *); int putc(int, FILE *); int putchar(int); -char *fgets(char *, int, FILE *); +char *fgets(char *__restrict, int, FILE *__restrict); +#if __STDC_VERSION__ < 201112L char *gets(char *); +#endif -int fputs(const char *, FILE *); +int fputs(const char *__restrict, FILE *__restrict); int puts(const char *); -int printf(const char *, ...); -int fprintf(FILE *, const char *, ...); -int sprintf(char *, const char *, ...); -int snprintf(char *, size_t, const char *, ...); - -int vprintf(const char *, va_list); -int vfprintf(FILE *, const char *, va_list); -int vsprintf(char *, const char *, va_list); -int vsnprintf(char *, size_t, const char *, va_list); +int printf(const char *__restrict, ...); +int fprintf(FILE *__restrict, const char *__restrict, ...); +int sprintf(char *__restrict, const char *__restrict, ...); +int snprintf(char *__restrict, size_t, const char *__restrict, ...); -int dprintf(int, const char *, ...); -int vdprintf(int, const char *, va_list); +int vprintf(const char *__restrict, va_list); +int vfprintf(FILE *__restrict, const char *__restrict, va_list); +int vsprintf(char *__restrict, const char *__restrict, va_list); +int vsnprintf(char *__restrict, size_t, const char *__restrict, va_list); -int scanf(const char *, ...); -int fscanf(FILE *, const char *, ...); -int sscanf(const char *, const char *, ...); -int vscanf(const char *, va_list); -int vfscanf(FILE *, const char *, va_list); -int vsscanf(const char *, const char *, va_list); +int scanf(const char *__restrict, ...); +int fscanf(FILE *__restrict, const char *__restrict, ...); +int sscanf(const char *__restrict, const char *__restrict, ...); +int vscanf(const char *__restrict, va_list); +int vfscanf(FILE *__restrict, const char *__restrict, va_list); +int vsscanf(const char *__restrict, const char *__restrict, va_list); void perror(const char *); +int setvbuf(FILE *__restrict, char *__restrict, int, size_t); +void setbuf(FILE *__restrict, char *__restrict); + +char *tmpnam(char *); +FILE *tmpfile(void); + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +FILE *fmemopen(void *__restrict, size_t, const char *__restrict); +FILE *open_memstream(char **, size_t *); +FILE *fdopen(int, const char *); +FILE *popen(const char *, const char *); +int pclose(FILE *); +int fileno(FILE *); +int fseeko(FILE *, off_t, int); +off_t ftello(FILE *); +int dprintf(int, const char *__restrict, ...); +int vdprintf(int, const char *__restrict, va_list); void flockfile(FILE *); int ftrylockfile(FILE *); void funlockfile(FILE *); @@ -122,20 +139,57 @@ int getc_unlocked(FILE *); int getchar_unlocked(void); int putc_unlocked(int, FILE *); int putchar_unlocked(int); +ssize_t getdelim(char **__restrict, size_t *__restrict, int, FILE *__restrict); +ssize_t getline(char **__restrict, size_t *__restrict, FILE *__restrict); +int renameat(int, const char *, int, const char *); +char *ctermid(char *); +#define L_ctermid 20 +#endif -int setvbuf(FILE *, char *, int, size_t); -void setbuf(FILE *, char *); -char *tmpnam(char *); +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +#define P_tmpdir "/tmp" char *tempnam(const char *, const char *); -FILE *tmpfile(void); +#endif -char *ctermid(char *); +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define L_cuserid 20 +char *cuserid(char *); +void setlinebuf(FILE *); +void setbuffer(FILE *, char *, size_t); +int fgetc_unlocked(FILE *); +int fputc_unlocked(int, FILE *); +int fflush_unlocked(FILE *); +size_t fread_unlocked(void *, size_t, size_t, FILE *); +size_t fwrite_unlocked(const void *, size_t, size_t, FILE *); +void clearerr_unlocked(FILE *); +int feof_unlocked(FILE *); +int ferror_unlocked(FILE *); +int fileno_unlocked(FILE *); +int getw(FILE *); +int putw(int, FILE *); +char *fgetln(FILE *, size_t *); +int asprintf(char **, const char *, ...); +int vasprintf(char **, const char *, va_list); +#endif -ssize_t getdelim(char **, size_t *, int, FILE *); -ssize_t getline(char **, size_t *, FILE *); +#ifdef _GNU_SOURCE +char *fgets_unlocked(char *, int, FILE *); +int fputs_unlocked(const char *, FILE *); +#endif -int renameat(int, const char *, int, const char *); +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) +#define tmpfile64 tmpfile +#define fopen64 fopen +#define freopen64 freopen +#define fseeko64 fseeko +#define ftello64 ftello +#define fgetpos64 fgetpos +#define fsetpos64 fsetpos +#define fpos64_t fpos_t +#define off64_t off_t +#endif #ifdef __cplusplus }