Ignore:
File:
1 edited

Legend:

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

    re3891262 r8b5fb5e  
    4040#include "sys/types.h"
    4141#include "libc/stdarg.h"
     42#include "limits.h"
    4243
    43 /* Character Input/Output */
     44#undef L_ctermid
     45#define L_ctermid PATH_MAX
     46
     47extern void posix_clearerr(FILE *stream);
     48extern char *posix_ctermid(char *s);
     49
     50/* Input/Output */
    4451#undef putc
    4552#define putc fputc
     
    4754#define getc fgetc
    4855extern int posix_ungetc(int c, FILE *stream);
     56
     57extern ssize_t posix_getdelim(char **restrict lineptr, size_t *restrict n,
     58    int delimiter, FILE *restrict stream);
     59extern ssize_t posix_getline(char **restrict lineptr, size_t *restrict n,
     60    FILE *restrict stream);
    4961
    5062/* Opening Streams */
     
    5466   FILE *restrict stream);
    5567
     68/* Memory Streams */
     69
     70extern FILE *posix_fmemopen(void *restrict buf, size_t size,
     71    const char *restrict mode);
     72extern FILE *posix_open_memstream(char **bufp, size_t *sizep);
     73
    5674/* Error Messages */
    5775extern void posix_perror(const char *s);
    5876
    5977/* File Positioning */
     78
     79typedef struct _posix_fpos posix_fpos_t;
     80extern int posix_fsetpos(FILE *stream, const posix_fpos_t *pos);
     81extern int posix_fgetpos(FILE *restrict stream, posix_fpos_t *restrict pos);
     82extern int posix_fseek(FILE *stream, long offset, int whence);
    6083extern int posix_fseeko(FILE *stream, posix_off_t offset, int whence);
     84extern long posix_ftell(FILE *stream);
    6185extern posix_off_t posix_ftello(FILE *stream);
    6286
    6387/* Formatted Input/Output */
    64 extern int posix_sprintf(char *restrict s, const char *restrict format, ...);
     88extern int posix_dprintf(int fildes, const char *restrict format, ...)
     89    PRINTF_ATTRIBUTE(2, 3);
     90extern int posix_vdprintf(int fildes, const char *restrict format, va_list ap);
     91extern int posix_sprintf(char *restrict s, const char *restrict format, ...)
     92    PRINTF_ATTRIBUTE(2, 3);
    6593extern int posix_vsprintf(char *restrict s, const char *restrict format, va_list ap);
    66 extern int posix_sscanf(const char *restrict s, const char *restrict format, ...);
     94
     95extern int posix_fscanf(
     96    FILE *restrict stream, const char *restrict format, ...);
     97extern int posix_vfscanf(
     98    FILE *restrict stream, const char *restrict format, va_list arg);
     99extern int posix_scanf(const char *restrict format, ...);
     100extern int posix_vscanf(const char *restrict format, va_list arg);
     101extern int posix_sscanf(
     102    const char *restrict s, const char *restrict format, ...);
     103extern int posix_vsscanf(
     104    const char *restrict s, const char *restrict format, va_list arg);
     105
     106/* File Locking */
     107
     108extern void posix_flockfile(FILE *file);
     109extern int posix_ftrylockfile(FILE *file);
     110extern void posix_funlockfile(FILE *file);
     111
     112extern int posix_getc_unlocked(FILE *stream);
     113extern int posix_getchar_unlocked(void);
     114extern int posix_putc_unlocked(int c, FILE *stream);
     115extern int posix_putchar_unlocked(int c);
    67116
    68117/* Deleting Files */
     
    76125
    77126#ifndef LIBPOSIX_INTERNAL
     127        #define clearerr posix_clearerr
     128        #define ctermid posix_ctermid
     129
    78130        #define ungetc posix_ungetc
     131
     132        #define getdelim posix_getdelim
     133        #define getline posix_getline
    79134
    80135        #define freopen posix_freopen
    81136
     137        #define fmemopen posix_fmemopen
     138        #define open_memstream posix_open_memstream
     139
    82140        #define perror posix_perror
    83141
     142        #define fpos_t posix_fpos_t
     143        #define fsetpos posix_fsetpos
     144        #define fgetpos posix_fgetpos
     145        #define fseek posix_fseek
    84146        #define fseeko posix_fseeko
     147        #define ftell posix_ftell
    85148        #define ftello posix_ftello
    86149
     150        #define dprintf posix_dprintf
     151        #define vdprintf posix_vdprintf
    87152        #define sprintf posix_sprintf
    88153        #define vsprintf posix_vsprintf
     154
     155        #define fscanf posix_fscanf
     156        #define vfscanf posix_vfscanf
     157        #define vscanf posix_vscanf
     158        #define scanf posix_scanf
    89159        #define sscanf posix_sscanf
     160        #define vsscanf posix_vsscanf
     161
     162        #define flockfile posix_flockfile
     163        #define ftrylockfile posix_ftrylockfile
     164        #define funlockfile posix_funlockfile
     165
     166        #define getc_unlocked posix_getc_unlocked
     167        #define getchar_unlocked posix_getchar_unlocked
     168        #define putc_unlocked posix_putc_unlocked
     169        #define putchar_unlocked posix_putchar_unlocked
    90170
    91171        #define remove posix_remove
Note: See TracChangeset for help on using the changeset viewer.