|
|
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.