|
|
1.1 root 1: .\" Copyright (c) 1986 Regents of the University of California.
2: .\" All rights reserved. The Berkeley software License Agreement
3: .\" specifies the terms and conditions for redistribution.
4: .\"
5: .\" @(#)3.t 6.10 (Berkeley) 4/14/86
6: .\"
7: .SH
8: .LG
9: .ce
10: Section 3
11: .SM
12: .sp
13: .PP
14: The Section 3 documentation has been reorganized into just two sections.
15: The first section contains everything previously in Section 3
16: except the Fortran library routines.
17: The second section contains the Fortran library routines.
18: .PP
19: The routines \fImemccpy, memchr, memcmp, memcpy, memset, strchr, strcspn,
20: strpbrk, strrchr, strspn,\fP and \fIstrtok\fP have been added for
21: compatibility with System V.
22: These routines are similar to the string and block handling ones
23: described in the
24: .I bstring
25: and
26: .I string
27: manual pages.
28: The 4.3BSD \fIstring\fP and \fIbstring\fP versions should be faster than
29: these compatibility routines on the VAX.
30: .PP
31: .BP abort
32: Sets SIGILL signal action to the default
33: to avoid looping if SIGILL had been ignored or blocked.
34: .BP ctime
35: Daylight savings time calculations have been fixed for Europe and Canada.
36: Programs making multiple calls to \fIctime\fP will make fewer system calls.
37: The include file has moved from <\fIsys/time.h\fP> to <\fItime.h\fP>.
38: .BP ctype
39: .I iscntrl
40: has been fixed to correspond to the manual page. Space is a printing
41: character. \fIisgraph\fP is a new function that
42: returns true for characters that leave a mark on
43: the paper.
44: .I toupper,
45: .I tolower,
46: and
47: .I toascii
48: have all been documented.
49: .BP curses
50: The library handles larger termcap definitions and
51: handles more of the ``funny'' termcap capabilities.
52: The old \fIcrmode\fP and \fInocrmode\fP macros have been
53: renamed \fIcbreak\fP and \fInocbreak\fP respectively;
54: backwards compatible definitions for these macros are provided.
55: The erase and kill characters and the terminal's baudrate
56: may be accessed via \fIerasechar\fP, \fIkillchar\fP,
57: and \fIbaudrate\fP macros defined in <\fIcurses.h\fP>.
58: A \fItouchoverlap\fP function has been provided,
59: and bugs in \fIoverlay\fP and \fIoverwrite\fP have been fixed.
60: .BP dbm
61: Has been rewritten to use the multiple-database version of the
62: library, \fIndbm\fP.
63: .BP disktab
64: Has added support for two new fields indicating the use of
65: \fIbad144\fP-style bad sector forwarding and filesystem offsets
66: specified in sectors.
67: .BP encrypt
68: Now works correctly when called directly.
69: .BP execvp
70: No longer recognizes ``-'' as a path separator.
71: .BP frexp
72: Now handles 0 and powers of 2 correctly. This routine is now
73: written in assembly language for the VAX.
74: .BP gethost*
75: \fIgethostbyaddr\fP and \fIgethostbyname\fP
76: have been modified to
77: make calls to the name server. If the name server is not running,
78: a linear scan of the host table is made.
79: With an optional C library configuration, these routines may instead
80: use an \fIndbm\fP database for the host table.
81: One of these lookup mechanisms must be specified when compiling
82: the C library. The default is to use the name server.
83: \fIgethostent\fP has no equivalent when using the routines
84: calling the name server.
85: The \fIhostent\fP structure
86: has been modified to support the return of multiple addresses.
87: The external variable \fIh_errno\fP has been added for returning error
88: status information from the name server,
89: such as whether a transient error was encountered.
90: .BP getopt
91: A new routine for parsing command line arguments. It is compatible
92: with the System V routine by the same name.
93: .BP getpw*
94: .I getpwnam
95: and
96: .I getpwuid
97: use a hashed database using
98: .I ndbm
99: for faster lookups by user name and id.
100: .BP gettty*
101: .I getttyent
102: and
103: .I getttynam
104: are new routines for looking up entries in the
105: new version of \fI/etc/ttys\fP.
106: The new header file <\fIttyent.h\fP>
107: describes the associated structures.
108: .BP getusershell
109: A new routine for retrieving shell names from a file listing
110: the standard interactive shells, \fI/etc/shells\fP, for the use
111: of
112: .IR passwd (1)
113: and servers providing remote host access.
114: .BP getwd
115: \fIGetwd\fP no longer changes directories in calculating the
116: working directory; this eliminates
117: problems with return to the current directory,
118: and results in fewer \fIstat\fP calls.
119: .BP inet_makeaddr
120: Properly handles INADDR_BROADCAST.
121: .BP longjmp
122: On errors, \fIlongjmp\fP calls the routine \fIlongjmperror\fP.
123: The default routine still prints ``longjmp botch'' and exits;
124: this may be replaced if a program
125: wants to provide its own error handler.
126: .BP malloc
127: \fIMalloc\fP underwent a major rework.
128: Memory requests of page size or larger are always page aligned,
129: and are now optimized for sizes that are a power of two.
130: The debugging code has been improved.
131: .BP math
132: The math library has been rewritten to improve the speed and
133: accuracy of the routines on VAXen with D-format floating
134: point support and machines that conform to the IEEE
135: standard 754 for double precision floating point arithmetic.
136: The library also has improved error detection and handling;
137: for the VAX, the library generates reserved operand faults
138: for invalid operands.
139: Many new functions have been added.
140: Two functions have changed their names;
141: \fIgamma\fP is now \fIlgamma\fP and
142: \fIfmod\fP is now \fImodf\fP.
143: The old math library is available as \-lom.
144: .BP mkstemp
145: Is a new routine similar to
146: .I mktemp
147: except that it returns an open file descriptor for a temporary file.
148: It is intended to replace \fImktemp\fP in programs (run as root or setuid)
149: that must be concerned with atomic creation of temporary files
150: without the possibility of having the temporary file relocated
151: to an unexpected location by a symbolic link.
152: .BP ndbm
153: A new version of \fIdbm\fP that allows multiple databases to be open
154: simultaneously.
155: .BP nlist
156: Now returns \-1 on error or the number of unfound items.
157: .BP perror
158: A few of the error messages have been made more accurate.
159: .BP plot
160: Supports many new devices: Tektronix 4013, AED graphics terminal,
161: BBN Bitgraph terminal, terminals using the DEC GiGi protocol,
162: HP 2648 terminals and 7221 plotters,
163: and Imagen laser printers (240 or 300 dots per inch). Libraries
164: also exist for generating plot files from Fortran programs and
165: for plotting on ``dumb'' devices such as a standard line printer.
166: .BP popen
167: Dynamically allocates an array for file descriptors.
168: The new signal interface is now used.
169: .BP psignal
170: New signals have been added to the list.
171: .BP random
172: An initialization bug that messed up default generation was fixed.
173: .BP rcmd
174: Cleans up properly.
175: A problem with doing multiple calls within one program was fixed.
176: .BP ruserok
177: Now is more flexible about the format of \fI.rhosts\fP.
178: Domain style hostnames do not need full specification
179: if they are a part of the local domain, as determined by \fIhostname\fP\|(1).
180: \fIRuserok\fP is more paranoid about ownership of \fI.rhosts\fP.
181: .BP scandir
182: Handling of overflow has been fixed.
183: .BP setjmp
184: The signal stack status is now set correctly.
185: .BP siginterrupt
186: A new routine to set the signals for which system calls are not restarted after
187: signal delivery.
188: .BP signal
189: Keeps track of new features when changing signal handlers.
190: .BP sleep
191: A couple of races have been fixed.
192: .BP stdio
193: Has been modified to dynamically allocate slots for file pointers.
194: Output on unbuffered files is now buffered within a call
195: to \fIprintf\fP or \fIfputs\fP for efficiency.
196: \fIFseek\fP now returns zero
197: if it was successful.
198: \fIFread\fP and \fIfwrite\fP have been rewritten to improve performance.
199: On the VAX, \fIfgets, gets, fputs\fP and \fIputs\fP
200: were rewritten to take advantage of VAX string instructions
201: and thus improve performance.
202: Line buffering now works on any file descriptor,
203: not just \fIstdout\fP and \fIstderr\fP.
204: \fIPutc\fP is implemented completely within a macro
205: except when the buffer is full
206: or when a newline is output on a line-buffered file.
207: Some sign extension bugs with the return value of \fIputc\fP
208: have been fixed.
209: .BP string
210: The routines \fIindex, rindex, strcat, strcmp, strcpy, strlen,
211: strncat\fP, and \fIstrncpy\fP have been rewritten in VAX assembly language for
212: efficiency. The C routines are included for use on other machines.
213: Only \fIMakefile\fPs
214: need to be modified to select the version to be used.
215: .BP syslog
216: The third parameter to \fIopenlog\fP
217: is a ``\fIfacility code\fP'' used to classify messages.
218: References to <\fIsyslog.h\fP> should be replaced with references
219: to <\fIsys/syslog.h\fP>.
220: .BP ttyslot
221: Uses the new \fIgetttyent\fP routine.
222: .BP ualarm
223: A simplified interface to \fIsetitimer\fP, similar to \fIalarm\fP
224: but with its argument in microseconds.
225: .BP usleep
226: A new routine which resembles \fIsleep\fP
227: but takes an argument in microseconds.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.