Module Name: src Committed By: jruoho Date: Tue May 4 07:43:12 UTC 2010
Modified Files: src/lib/libc/stdio: stdio.3 Log Message: Remove the list of functions. This list was updated only two times in nearly two decades. (If people need to learn the standard I/O functions in C, it would be better to mention K&R or some other textbook; if people need to know the list of functions, it would be better to point out the location of the standard.) In addition, some clean-up and structural editing. To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/lib/libc/stdio/stdio.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libc/stdio/stdio.3 diff -u src/lib/libc/stdio/stdio.3:1.22 src/lib/libc/stdio/stdio.3:1.23 --- src/lib/libc/stdio/stdio.3:1.22 Mon Jul 13 22:31:59 2009 +++ src/lib/libc/stdio/stdio.3 Tue May 4 07:43:12 2010 @@ -1,4 +1,4 @@ -.\" $NetBSD: stdio.3,v 1.22 2009/07/13 22:31:59 wiz Exp $ +.\" $NetBSD: stdio.3,v 1.23 2010/05/04 07:43:12 jruoho Exp $ .\" .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" @(#)stdio.3 8.7 (Berkeley) 4/19/94 .\" -.Dd July 13, 2009 +.Dd May 4, 2010 .Dt STDIO 3 .Os .Sh NAME @@ -39,9 +39,9 @@ .Lb libc .Sh SYNOPSIS .In stdio.h -.Fd FILE *stdin; -.Fd FILE *stdout; -.Fd FILE *stderr; +.Vt FILE *stdin; +.Vt FILE *stdout; +.Vt FILE *stderr; .Sh DESCRIPTION The standard .Tn I/O @@ -52,8 +52,6 @@ and the physical .Tn I/O characteristics are concealed. -The functions and macros are listed below; -more information is available from the individual man pages. .Pp A stream is associated with an external file (which may be a physical device) by @@ -108,21 +106,24 @@ .Pp At program startup, three streams are predefined and need not be opened explicitly: -.Bl -bullet -compact -offset indent +.Bl -enum -offset indent .It .Em standard input -(for reading conventional input), +for reading conventional input, .It .Em standard output -(for writing conventional output), and +for writing conventional output, and .It .Em standard error -(for writing diagnostic output). +for writing diagnostic output. .El +.Pp These streams are abbreviated -.Em stdin , stdout +.Em stdin , +.Em stdout , and .Em stderr . +.Pp Initially, the standard error stream is unbuffered; the standard input and output streams are fully buffered if and only if the streams do not refer to @@ -150,33 +151,20 @@ Alternatively, these defaults may be modified via the .Xr setvbuf 3 function. -.Pp -The -.Nm -library is a part of the library -.Pa libc.a -and routines are automatically loaded as needed by compilers such -as -.Xr cc 1 . -The -.Tn SYNOPSIS -sections of the following manual pages indicate which include files -are to be used, what the compiler declaration for the function -looks like and which external variables are of interest. -.Pp +.Sh IMPLEMENTATION NOTES In multi-threaded applications, operations on streams perform implicit locking, except for the -.Fa getc_unlocked , -.Fa getchar_unlocked , -.Fa putc_unlocked , +.Fn getc_unlocked , +.Fn getchar_unlocked , +.Fn putc_unlocked , and -.Fa putchar_unlocked +.Fn putchar_unlocked functions. Explicit control of stream locking is available through the -.Fa flockfile , -.Fa ftrylockfile , +.Fn flockfile , +.Fn ftrylockfile , and -.Fa funlockfile +.Fn funlockfile functions . .Pp The following are defined as macros; these names may not be re-used @@ -211,6 +199,7 @@ .Dv stderr , .Dv stdin , .Dv stdout . +.Pp Function versions of the macro functions .Fn feof , .Fn ferror , @@ -236,93 +225,6 @@ .Nm library conforms to .St -ansiC . -.Sh LIST OF FUNCTIONS -.Bl -column "putchar_unlocked" "Description" -.It Sy Function Description -.It clearerr check and reset stream status -.It fclose close a stream -.It fdopen stream open functions -.It feof check and reset stream status -.It ferror check and reset stream status -.It fflush flush a stream -.It fgetc get next character or word from input stream -.It fgetln get a line from a stream -.It fgetpos reposition a stream -.It fgets get a line from a stream -.It fgetwc get next wide character from input stream -.It fileno check and reset stream status -.It flockfile lock a stream -.It fopen stream open functions -.It fprintf formatted output conversion -.It fpurge flush a stream -.It fputc output a character or word to a stream -.It fputs output a line to a stream -.It fputwc output a wide character to a stream -.It fread binary stream input/output -.It freopen stream open functions -.It fropen open a stream -.It fscanf input format conversion -.It fseek reposition a stream -.It fsetpos reposition a stream -.It ftell reposition a stream -.It ftrylockfile lock a stream (non-blocking) -.It funlockfile unlock a stream -.It funopen open a stream -.It fwide set/get orientation of a stream -.It fwopen open a stream -.It fwrite binary stream input/output -.It getc get next character or word from input stream -.It getc_unlocked get next character or word from input stream -.It Ta (no implicit locking) -.It getchar get next character or word from input stream -.It getchar_unlocked get next character or word from input stream -.It Ta (no implicit locking) -.It getdelim get a delimited record from a stream -.It getline get a line from a stream -.It gets get a line from a stream -.It getw get next character or word from input stream -.It getwc get next wide character from input stream -.It getwchar get next wide character from input stream -.It mkstemp create unique temporary file -.It mktemp create unique temporary file -.It perror system error messages -.It printf formatted output conversion -.It putc output a character or word to a stream -.It putc_unlocked output a character or word to a stream -.It Ta (no implicit locking) -.It putchar output a character or word to a stream -.It putchar_unlocked output a character or word to a stream -.It Ta (no implicit locking) -.It puts output a line to a stream -.It putw output a character or word to a stream -.It putwc output a wide character to a stream -.It putwchar output a wide character to a stream -.It remove remove directory entry -.It rewind reposition a stream -.It scanf input format conversion -.It setbuf stream buffering operations -.It setbuffer stream buffering operations -.It setlinebuf stream buffering operations -.It setvbuf stream buffering operations -.It snprintf formatted output conversion -.It sprintf formatted output conversion -.It sscanf input format conversion -.It strerror system error messages -.It sys_errlist system error messages -.It sys_nerr system error messages -.It tempnam temporary file routines -.It tmpfile temporary file routines -.It tmpnam temporary file routines -.It ungetc un-get character from input stream -.It ungetwc un-get wide character from input stream -.It vfprintf formatted output conversion -.It vfscanf input format conversion -.It vprintf formatted output conversion -.It vscanf input format conversion -.It vsnprintf formatted output conversion -.It vsprintf formatted output conversion -.It vsscanf input format conversion -.El .Sh BUGS The standard buffered functions do not interact well with certain other library and system functions, especially