diff options
Diffstat (limited to 'man3/unlocked_stdio.3')
-rw-r--r-- | man3/unlocked_stdio.3 | 94 |
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) |