summaryrefslogtreecommitdiffstats
path: root/man3/unlocked_stdio.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/unlocked_stdio.3')
-rw-r--r--man3/unlocked_stdio.394
1 files changed, 94 insertions, 0 deletions
diff --git a/man3/unlocked_stdio.3 b/man3/unlocked_stdio.3
new file mode 100644
index 000000000..46a26ed2e
--- /dev/null
+++ b/man3/unlocked_stdio.3
@@ -0,0 +1,94 @@
+.\" Copyright (C) 2001 Andries Brouwer <aeb@cwi.nl>.
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\"
+.TH UNLOCKED_STDIO 3 2001-10-18 "" "Linux Programmer's Manual"
+.SH NAME
+*_unlocked \- non-locking stdio functions
+.SH SYNOPSIS
+.nf
+.B #include <stdio.h>
+.sp
+.BI "int getc_unlocked(FILE *" stream );
+.BI "int getchar_unlocked(void);"
+.BI "int putc_unlocked(int " c ", FILE *" stream );
+.BI "int putchar_unlocked(int " c );
+.sp
+.BR "#define _BSD_SOURCE" " /* or _SVID_SOURCE or _GNU_SOURCE */
+.B #include <stdio.h>
+.sp
+.BI "void clearerr_unlocked(FILE *" stream );
+.BI "int feof_unlocked(FILE *" stream );
+.BI "int ferror_unlocked(FILE *" stream );
+.BI "int fileno_unlocked(FILE *" stream );
+.BI "int fflush_unlocked(FILE *" stream );
+.BI "int fgetc_unlocked(FILE *" stream );
+.BI "int fputc_unlocked(int " c ", FILE *" stream );
+.BI "size_t fread_unlocked(void *" ptr ", size_t " size ", size_t " n ,
+.BI " FILE *" stream );
+.BI "size_t fwrite_unlocked(const void *" ptr ", size_t " size ", size_t " n ,
+.BI " FILE *" stream );
+.sp
+.B #define _GNU_SOURCE
+.B #include <stdio.h>
+.sp
+.BI "char *fgets_unlocked(char *" s ", int " n ", FILE *" stream );
+.BI "int fputs_unlocked(const char *" s ", FILE *" stream );
+.sp
+.B #define _GNU_SOURCE
+.B #include <wchar.h>
+.sp
+.BI "wint_t getwc_unlocked(FILE *" stream );
+.BI "wint_t getwchar_unlocked(void);"
+.BI "wint_t fgetwc_unlocked(FILE *" stream );
+.BI "wint_t fputwc_unlocked(wchar_t " wc ", FILE *" stream );
+.BI "wint_t putwc_unlocked(wchar_t " wc ", FILE *" stream );
+.BI "wint_t putwchar_unlocked(wchar_t " wc );
+.BI "wchar_t *fgetws_unlocked(wchar_t *" ws ", int " n ", FILE *" stream );
+.BI "int fputws_unlocked(const wchar_t *" ws ", FILE *" stream );
+.fi
+.SH DESCRIPTION
+Each of these functions has the same behaviour as its counterpart
+without the `_unlocked' suffix, except that they do not use locking
+(they do not set locks themselves, and do not test for the presence
+of locks set by others) and hence are thread-unsafe.
+See
+.BR flockfile (3).
+.SH "CONFORMING TO"
+The four functions \fIgetc_unlocked\fP(), \fIgetchar_unlocked\fP(),
+\fIputc_unlocked\fP(), \fIputchar_unlocked\fP() are in POSIX.1.
+The nonstandard
+.BR *_unlocked()
+variants occur on a few Unix systems, and are available in recent glibc.
+.\" E.g., in HPUX 10.0. In HPUX 10.30 they are called obsolescent, and
+.\" moved to a compatibility library.
+.\" Available in HPUX 10.0: clearerr_unlocked, fclose_unlocked,
+.\" feof_unlocked, ferror_unlocked, fflush_unlocked, fgets_unlocked,
+.\" fgetwc_unlocked, fgetws_unlocked, fileno_unlocked, fputs_unlocked,
+.\" fputwc_unlocked, fputws_unlocked, fread_unlocked, fseek_unlocked,
+.\" ftell_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
+.\" getw_unlocked, getwc_unlocked, getwchar_unlocked, putc_unlocked,
+.\" putchar_unlocked, puts_unlocked, putws_unlocked, putw_unlocked,
+.\" putwc_unlocked, putwchar_unlocked, rewind_unlocked, setvbuf_unlocked,
+.\" ungetc_unlocked, ungetwc_unlocked.
+They should probably not be used.
+.SH "SEE ALSO"
+.BR flockfile (3)