|
|
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: .\" @(#)h.t 1.9 (Berkeley) 4/11/86 ! 6: .\" ! 7: .nr i \w'\fBkern_resource.c\0'u/1n ! 8: .de XP ! 9: .IP \\fB\\$1\\fP \\ni ! 10: .. ! 11: .NH ! 12: Header files ! 13: .PP ! 14: This section details changes in the header files in \fB/sys/h\fP. ! 15: .XP acct.h ! 16: Process accounting is now done in units of 1/\fBAHZ\fP (64) seconds ! 17: rather than seconds. ! 18: .XP buf.h ! 19: The size of the buffer hash table has been increased substantially. ! 20: .XP cmap.h ! 21: The core map has had a number of fields enlarged to support larger ! 22: memories and filesystems. ! 23: The limits imposed by this structure are now commented. ! 24: The current limits are 64 Mb of physical memory, 255 filesystems, ! 25: 1 Gb process segments, 8 Gb per filesystem, ! 26: and 65535 processes and text entries. ! 27: The machine-language support now derives its definitions of these limits ! 28: and the cmap structure from this file. ! 29: .XP dmap.h ! 30: The swap map per process segment was enlarged to allow images up to 64Mb. ! 31: .XP domain.h ! 32: New entry points to each domain have been added, ! 33: for initialization, externalization of access rights, ! 34: and disposal of access rights. ! 35: .XP errno.h ! 36: A definition of EDEADLK was added for System V compatibility. ! 37: .XP fs.h ! 38: One spare field in the superblock was allocated to store an option ! 39: for the fragment allocation policy. ! 40: .XP inode.h ! 41: New fields were added to the in-core inode to hold a cache key ! 42: and a pointer to any text image mapping the file. ! 43: A new macro, ITIMES, is provided for updating the timestamps in an inode ! 44: without writing the inode back to the disk. ! 45: The inode is marked as modified with the IMOD flag. ! 46: A flag has been added to allow serialization of directory renames. ! 47: .XP ioctl.h ! 48: New \fIioctl\fP operations have been added to get and set a terminal or window's ! 49: size. ! 50: The size is stored in a \fIwinsize\fP structure defined here. ! 51: Other new \fIioctl\fPs have been defined to pass a small set of special ! 52: commands from pseudo-terminals to their controllers. ! 53: A new terminal option, LPASS8, allows a full 8-bit data path on input. ! 54: The two tablet line disciplines have been merged. ! 55: A new line discipline is provided for use with IP over serial data lines. ! 56: .XP mbuf.h ! 57: The handling of mbuf page clusters has been broken ! 58: into macros separate from those that handle mbufs. ! 59: MCLALLOC(\fIm\fP, \fIi\fP) is used to allocate \fIi\fP mbuf clusters ! 60: (where \fIi\fP is currently restricted to 1) ! 61: and MCLFREE(\fIm\fP) frees them. ! 62: MCLGET(\fIm\fP) adds a page cluster to the already-allocated mbuf \fIm\fP, ! 63: setting the mbuf length to CLBYTES if successful. ! 64: The new macro M_HASCL(\fIm\fP) ! 65: returns true if the mbuf \fIm\fP has an associated cluster, ! 66: and MTOCL(\fIm\fP) returns a pointer to such a cluster. ! 67: .XP mtio.h ! 68: Definitions have been added for the TMSCP tape controllers ! 69: and to enable or disable the use of an on-board tape buffer. ! 70: .XP namei.h ! 71: This header file was renamed, completed and put into use. ! 72: .XP param.h ! 73: Several limits have been increased. Old values are listed in parentheses ! 74: after each item. The new limits are: 255 mounted filesystems (15), ! 75: 40 processes per user (25), 64 open files (20), 20480 characters per argument ! 76: list (10240), and 16 groups per user (8). ! 77: The maximum length of a host name supported by the kernel is defined ! 78: here as MAXHOSTNAMELEN. ! 79: The default creation mask is now set to 022 by the kernel; previously ! 80: that value was set by login, with the effect that remote shell processes ! 81: used a different default. ! 82: Clist blocks were doubled in size to 64 bytes. ! 83: .XP proc.h ! 84: Pointers were added to the \fIproc\fP structure ! 85: to allow process entries to be linked ! 86: onto lists of active, zombie or free processes. ! 87: .XP protosw.h ! 88: The address family field in the \fIprotosw\fP structure ! 89: was replaced with a pointer to the \fIdomain\fP structure for the address ! 90: family. ! 91: Definitions were added for the arguments to the protocol \fIctloutput\fP ! 92: routines. ! 93: .XP signal.h ! 94: New signals have been defined for window size changes (SIGWINCH) ! 95: and for user-defined functions (SIGUSR1 and SIGUSR2). ! 96: The \fIsv_onstack\fP field in the \fIsigvec\fP structure has been redefined ! 97: as a flags field, with flags defined for use of the signal stack ! 98: and for signals to interrupt pending systems calls rather than restarting them. ! 99: The \fIsigcontext\fP structure now includes the frame and argument pointers ! 100: for the VAX so that the complete return sequence can be done by the kernel. ! 101: A new macro, \fIsigmask\fP, is provided to simplify the use of \fIsigsetmask, ! 102: sigblock\fP, and \fIsigpause\fP. ! 103: .XP socket.h ! 104: Definitions were added for new options set with \fIsetsockopt\fP. ! 105: SO_BROADCAST requests permission to send to the broadcast address, ! 106: formerly a privileged operation, while ! 107: SO_SNDBUF and SO_RCVBUF may be used to examine or change the amount ! 108: of buffer space allocated for a socket. ! 109: Two new options are used only with \fIgetsockopt\fP: ! 110: SO_ERROR obtains any current error status and clears it, ! 111: and SO_TYPE returns the type of the socket. ! 112: A new structure was added for use with SO_LINGER. ! 113: Several new address families were defined. ! 114: .XP socketvar.h ! 115: The character and mbuf counts and limits in the \fIsockbuf\fP structure ! 116: were changed from \fIshort\fP to \fIu_short\fP. ! 117: SB_MAX defines the limit to the amount that can be placed in a \fIsockbuf\fP. ! 118: The \fIsosendallatonce\fP macro was corrected; it previously ! 119: returned true for sockets using non-blocking I/O. ! 120: \fISoreadable\fP and \fIsowriteable\fP now return true if there ! 121: is error status to report. ! 122: .XP syslog.h ! 123: The system logging facility has been extended to allow kernel use, ! 124: and the header file has thus been moved from \fB/usr/include\fP. ! 125: .XP tablet.h ! 126: A new file that contains the definitions for use ! 127: of the tablet line discipline. ! 128: .XP text.h ! 129: Linkage fields have been added to the text structure for use in ! 130: constructing a text table free list. ! 131: The structure used in recording text table usage statistics is defined here. ! 132: .XP time.h ! 133: The \fItime.h\fP header file has been split. Those definitions relating to ! 134: the \fIgettimeofday\fP system call remain ! 135: in this file, included as <\fIsys/time.h\fP>. ! 136: The original <\fItime.h\fP> file has returned and contains the definitions ! 137: for the C library time routines. ! 138: .XP tty.h ! 139: The per-terminal data structure now contains the terminal size ! 140: so that it can be changed dynamically. ! 141: Files that include <\fIsys/tty.h\fP> now require <\fIsys/ioctl.h\fP> as well ! 142: for the \fIwinsize\fP structure definition. ! 143: .XP types.h ! 144: The new typedefs for user and group ID's are located here. ! 145: For compatibility and sensibility, the \fIsize_t\fP, ! 146: \fItime_t\fP and \fIoff_t\fP types ! 147: have all been changed from \fIint\fP to \fIlong\fP. ! 148: New definitions have been added for integer masks and bit operators ! 149: for use with the \fIselect\fP system call. ! 150: .XP uio.h ! 151: The offset field in the \fIuio\fP structure was changed from \fIint\fP ! 152: to \fIoff_t\fP. ! 153: Manifest constants for the \fIuio\fP segment values are now provided. ! 154: .XP un.h ! 155: The path in the Unix-domain version of a \fIsockaddr\fP was reduced ! 156: so that use of the entire pathname array would still allow space for ! 157: a null after the structure when stored in an mbuf. ! 158: .XP unpcb.h ! 159: A Unix-domain socket's own address is now stored in the protocol ! 160: control block rather than that of the socket to which it is connected. ! 161: Fields have been added for flow control on stream connections. ! 162: If a \fIstat\fP has caused the assignment of a dummy inode number to the socket, ! 163: that number is stored here. ! 164: .XP user.h ! 165: The user ID's, group ID's and groups array are declared using the new types ! 166: for these ID's. ! 167: A new field was added to handle the new signal flag ! 168: avoiding system call restarts. ! 169: The index of the last used file descriptor for the process is maintained ! 170: in \fIu.u_lastfile\fP. ! 171: The global fields \fIu_base, u_count,\fP and \fIu_offset\fP ! 172: have been eliminated, ! 173: with the new \fInameidata\fP structure replacing their remaining function. ! 174: The \fIa.out\fP header is no longer kept in the user structure. ! 175: .XP vmmac.h ! 176: Several macros have been rewritten to improve the code generated by ! 177: the compiler. ! 178: New macros were added to lock and unlock \fIcmap\fP entries, substituting ! 179: for \fImlock\fP and \fImunlock\fP. ! 180: .XP vmmeter.h ! 181: All counters are now uniformly declared as \fIlong\fP. ! 182: Software interrupts are now counted.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.