summaryrefslogtreecommitdiffstats
path: root/man-pages-posix-2013/man0p/stdio.h.0p
diff options
context:
space:
mode:
Diffstat (limited to 'man-pages-posix-2013/man0p/stdio.h.0p')
-rw-r--r--man-pages-posix-2013/man0p/stdio.h.0p327
1 files changed, 327 insertions, 0 deletions
diff --git a/man-pages-posix-2013/man0p/stdio.h.0p b/man-pages-posix-2013/man0p/stdio.h.0p
new file mode 100644
index 0000000..1954b79
--- /dev/null
+++ b/man-pages-posix-2013/man0p/stdio.h.0p
@@ -0,0 +1,327 @@
+'\" et
+.TH stdio.h "0P" 2013 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.SH PROLOG
+This manual page is part of the POSIX Programmer's Manual.
+The Linux implementation of this interface may differ (consult
+the corresponding Linux manual page for details of Linux behavior),
+or the interface may not be implemented on Linux.
+
+.SH NAME
+stdio.h
+\(em standard buffered input/output
+.SH SYNOPSIS
+.LP
+.nf
+#include <stdio.h>
+.fi
+.SH DESCRIPTION
+Some of the functionality described on this reference page extends the
+ISO\ C standard. Applications shall define the appropriate feature test macro
+(see the System Interfaces volume of POSIX.1\(hy2008,
+.IR "Section 2.2" ", " "The Compilation Environment")
+to enable the visibility of these symbols in this header.
+.P
+The
+.IR <stdio.h>
+header shall define the following data types through
+.BR typedef :
+.IP "\fBFILE\fP" 14
+A structure containing information about a file.
+.IP "\fBfpos_t\fP" 14
+A non-array type containing all information needed to specify uniquely
+every position within a file.
+.IP "\fBoff_t\fP" 14
+As described in
+.IR <sys/types.h> .
+.IP "\fBsize_t\fP" 14
+As described in
+.IR <stddef.h> .
+.IP "\fBssize_t\fP" 14
+As described in
+.IR <sys/types.h> .
+.IP "\fBva_list\fP" 14
+As described in
+.IR <stdarg.h> .
+.P
+The
+.IR <stdio.h>
+header shall define the following macros which shall expand to
+integer constant expressions:
+.IP BUFSIZ 14
+Size of
+.IR <stdio.h>
+buffers.
+This shall expand to a positive value.
+.IP L_ctermid 14
+Maximum size of character array to hold
+\fIctermid\fR()
+output.
+.IP L_tmpnam 14
+Maximum size of character array to hold
+\fItmpnam\fR()
+output.
+.P
+The
+.IR <stdio.h>
+header shall define the following macros which shall expand to
+integer constant expressions with distinct values:
+.IP _IOFBF 14
+Input/output fully buffered.
+.IP _IOLBF 14
+Input/output line buffered.
+.IP _IONBF 14
+Input/output unbuffered.
+.P
+The
+.IR <stdio.h>
+header shall define the following macros which shall expand to
+integer constant expressions with distinct values:
+.IP SEEK_CUR 14
+Seek relative to current position.
+.IP SEEK_END 14
+Seek relative to end-of-file.
+.IP SEEK_SET 14
+Seek relative to start-of-file.
+.P
+The
+.IR <stdio.h>
+header shall define the following macros which shall expand to
+integer constant expressions denoting implementation limits:
+.IP {FILENAME_MAX} 14
+Maximum size in bytes of the longest pathname that the implementation
+guarantees can be opened.
+.IP {FOPEN_MAX} 14
+Number of streams which the implementation guarantees can be open
+simultaneously. The value is at least eight.
+.IP {TMP_MAX} 14
+Minimum number of unique filenames generated by
+\fItmpnam\fR().
+Maximum number of times an application can call
+\fItmpnam\fR()
+reliably. The value of
+{TMP_MAX}
+is at least 25.
+.RS 14
+.P
+On XSI-conformant systems, the value of
+{TMP_MAX}
+is at least 10\|000.
+.RE
+.P
+The
+.IR <stdio.h>
+header shall define the following macro which shall expand to an integer
+constant expression with type
+.BR int
+and a negative value:
+.IP EOF 14
+End-of-file return value.
+.P
+The
+.IR <stdio.h>
+header shall define NULL as described in
+.IR <stddef.h> .
+.br
+.P
+The
+.IR <stdio.h>
+header shall define the following macro which shall expand to a
+string constant:
+.IP P_tmpdir 14
+Default directory prefix for
+\fItempnam\fR().
+.P
+The
+.IR <stdio.h>
+header shall define the following macros which shall expand to
+expressions of type ``pointer to
+.BR FILE ''
+that point to the
+.BR FILE
+objects associated, respectively, with the standard error, input, and
+output streams:
+.IP "\fIstderr\fR" 14
+Standard error output stream.
+.IP "\fIstdin\fR" 14
+Standard input stream.
+.IP "\fIstdout\fR" 14
+Standard output stream.
+.P
+The following shall be declared as functions and may also be defined as
+macros. Function prototypes shall be provided.
+.sp
+.RS 4
+.nf
+\fB
+void clearerr(FILE *);
+char *ctermid(char *);
+int dprintf(int, const char *restrict, ...)
+int fclose(FILE *);
+FILE *fdopen(int, const char *);
+int feof(FILE *);
+int ferror(FILE *);
+int fflush(FILE *);
+int fgetc(FILE *);
+int fgetpos(FILE *restrict, fpos_t *restrict);
+char *fgets(char *restrict, int, FILE *restrict);
+int fileno(FILE *);
+void flockfile(FILE *);
+FILE *fmemopen(void *restrict, size_t, const char *restrict);
+FILE *fopen(const char *restrict, const char *restrict);
+int fprintf(FILE *restrict, const char *restrict, ...);
+int fputc(int, FILE *);
+int fputs(const char *restrict, FILE *restrict);
+size_t fread(void *restrict, size_t, size_t, FILE *restrict);
+FILE *freopen(const char *restrict, const char *restrict,
+ FILE *restrict);
+int fscanf(FILE *restrict, const char *restrict, ...);
+int fseek(FILE *, long, int);
+int fseeko(FILE *, off_t, int);
+int fsetpos(FILE *, const fpos_t *);
+long ftell(FILE *);
+off_t ftello(FILE *);
+int ftrylockfile(FILE *);
+void funlockfile(FILE *);
+size_t fwrite(const void *restrict, size_t, size_t, FILE *restrict);
+int getc(FILE *);
+int getchar(void);
+int getc_unlocked(FILE *);
+int getchar_unlocked(void);
+ssize_t getdelim(char **restrict, size_t *restrict, int,
+ FILE *restrict);
+ssize_t getline(char **restrict, size_t *restrict, FILE *restrict);
+char *gets(char *);
+FILE *open_memstream(char **, size_t *);
+int pclose(FILE *);
+void perror(const char *);
+FILE *popen(const char *, const char *);
+int printf(const char *restrict, ...);
+int putc(int, FILE *);
+int putchar(int);
+int putc_unlocked(int, FILE *);
+int putchar_unlocked(int);
+int puts(const char *);
+int remove(const char *);
+int rename(const char *, const char *);
+int renameat(int, const char *, int, const char *);
+void rewind(FILE *);
+int scanf(const char *restrict, ...);
+void setbuf(FILE *restrict, char *restrict);
+int setvbuf(FILE *restrict, char *restrict, int, size_t);
+int snprintf(char *restrict, size_t, const char *restrict, ...);
+int sprintf(char *restrict, const char *restrict, ...);
+int sscanf(const char *restrict, const char *restrict, ...);
+char *tempnam(const char *, const char *);
+FILE *tmpfile(void);
+char *tmpnam(char *);
+int ungetc(int, FILE *);
+int vdprintf(int, const char *restrict, va_list);
+int vfprintf(FILE *restrict, const char *restrict, va_list);
+int vfscanf(FILE *restrict, const char *restrict, va_list);
+int vprintf(const char *restrict, va_list);
+int vscanf(const char *restrict, va_list);
+int vsnprintf(char *restrict, size_t, const char *restrict,
+ va_list);
+int vsprintf(char *restrict, const char *restrict, va_list);
+int vsscanf(const char *restrict, const char *restrict, va_list);
+.fi \fR
+.P
+.RE
+.P
+Inclusion of the
+.IR <stdio.h>
+header may also make visible all symbols from
+.IR <stddef.h> .
+.LP
+.IR "The following sections are informative."
+.SH "APPLICATION USAGE"
+Since standard I/O streams may use an underlying file descriptor to
+access the file associated with a stream, application developers need
+to be aware that
+{FOPEN_MAX}
+streams may not be available if file descriptors are being used to access
+files that are not associated with streams.
+.SH RATIONALE
+There is a conflict between the ISO\ C standard and the POSIX definition of the
+{TMP_MAX}
+macro that is addressed by ISO/IEC\ 9899:\|1999 standard, Defect Report 336. The POSIX standard is
+in alignment with the public record of the response to the Defect Report.
+This change has not yet been published as part of the ISO\ C standard.
+.SH "FUTURE DIRECTIONS"
+None.
+.SH "SEE ALSO"
+.IR "\fB<stdarg.h>\fP",
+.IR "\fB<stddef.h>\fP",
+.IR "\fB<sys_types.h>\fP"
+.P
+.ad l
+The System Interfaces volume of POSIX.1\(hy2008,
+.IR "Section 2.2" ", " "The Compilation Environment",
+.IR "\fIclearerr\fR\^(\|)",
+.IR "\fIctermid\fR\^(\|)",
+.IR "\fIfclose\fR\^(\|)",
+.IR "\fIfdopen\fR\^(\|)",
+.IR "\fIfeof\fR\^(\|)",
+.IR "\fIferror\fR\^(\|)",
+.IR "\fIfflush\fR\^(\|)",
+.IR "\fIfgetc\fR\^(\|)",
+.IR "\fIfgetpos\fR\^(\|)",
+.IR "\fIfgets\fR\^(\|)",
+.IR "\fIfileno\fR\^(\|)",
+.IR "\fIflockfile\fR\^(\|)",
+.IR "\fIfmemopen\fR\^(\|)",
+.IR "\fIfopen\fR\^(\|)",
+.IR "\fIfprintf\fR\^(\|)",
+.IR "\fIfputc\fR\^(\|)",
+.IR "\fIfputs\fR\^(\|)",
+.IR "\fIfread\fR\^(\|)",
+.IR "\fIfreopen\fR\^(\|)",
+.IR "\fIfscanf\fR\^(\|)",
+.IR "\fIfseek\fR\^(\|)",
+.IR "\fIfsetpos\fR\^(\|)",
+.IR "\fIftell\fR\^(\|)",
+.IR "\fIfwrite\fR\^(\|)",
+.IR "\fIgetc\fR\^(\|)",
+.IR "\fIgetchar\fR\^(\|)",
+.IR "\fIgetc_unlocked\fR\^(\|)",
+.IR "\fIgetdelim\fR\^(\|)",
+.IR "\fIgetopt\fR\^(\|)",
+.IR "\fIgets\fR\^(\|)",
+.IR "\fIopen_memstream\fR\^(\|)",
+.IR "\fIpclose\fR\^(\|)",
+.IR "\fIperror\fR\^(\|)",
+.IR "\fIpopen\fR\^(\|)",
+.IR "\fIputc\fR\^(\|)",
+.IR "\fIputchar\fR\^(\|)",
+.IR "\fIputs\fR\^(\|)",
+.IR "\fIremove\fR\^(\|)",
+.IR "\fIrename\fR\^(\|)",
+.IR "\fIrewind\fR\^(\|)",
+.IR "\fIsetbuf\fR\^(\|)",
+.IR "\fIsetvbuf\fR\^(\|)",
+.IR "\fIstdin\fR\^",
+.IR "\fIsystem\fR\^(\|)",
+.IR "\fItempnam\fR\^(\|)",
+.IR "\fItmpfile\fR\^(\|)",
+.IR "\fItmpnam\fR\^(\|)",
+.IR "\fIungetc\fR\^(\|)",
+.IR "\fIvfprintf\fR\^(\|)",
+.IR "\fIvfscanf\fR\^(\|)"
+.ad b
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 7, Copyright (C) 2013 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group.
+(This is POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.) In the
+event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.unix.org/online.html .
+
+Any typographical or formatting errors that appear
+in this page are most likely
+to have been introduced during the conversion of the source files to
+man page format. To report such errors, see
+https://www.kernel.org/doc/man-pages/reporting_bugs.html .