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