1 .\" Copyright (c) 1986, 1993
2 .\" The Regents of the University of California. All rights reserved.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\" must display the following acknowledgement:
14 .\" This product includes software developed by the University of
15 .\" California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\" may be used to endorse or promote products derived from this software
18 .\" without specific prior written permission.
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 .\" @(#)00.contents 8.1 (Berkeley) 6/8/93
37 UNIX Programmer's Supplementary Documents (PSD)
39 \s-24.4 Berkeley Software Distribution\s+2
43 This volume contains documents which supplement the manual pages in
47 Programmer's Reference Manual
49 for the FreeBSD system as distributed by the FreeBSD Project. Documents
50 ``(encumbered)'' are not distributed for legal reasons.
52 Documents of Historical Interest
54 .tl 'The Unix Time\-Sharing System''PSD:1'
56 Dennis Ritchie and Ken Thompson's original paper about UNIX, reprinted
57 from Communications of the ACM. (encumbered)
60 .tl 'Unix Implementation''PSD:2'
62 Ken Thompson's description of the implementation of the Version 7
63 kernel and file system. (encumbered)
66 .tl 'The Unix I/O System''PSD:3'
68 Dennis Ritchie's overview of the I/O System of Version 7; still helpful for
69 those writing device drivers. (encumbered)
72 .tl 'Unix Programming \- Second Edition ''PSD:4'
74 Describes the programming interface to the UNIX version 7 operating
75 system and the standard I/O library. Should be supplemented by
76 Kernighan and Pike, ``The UNIX Programming Environment'',
77 Prentice-Hall, 1984 and especially by the Programmer Reference Manual
78 section 2 (system calls) and 3 (library routines). (encumbered)
81 .tl 'Berkeley Software Architecture Manual (4.4 Edition)''PSD:5'
83 A concise and terse description of the system call interface
84 provided in Berkeley Unix, as revised for 4.4BSD.
85 This will never be a best seller.
88 Languages in common use
90 .tl 'The C Programming Language \- Reference Manual''PSD:6'
92 Official statement of the syntax of C.
93 Should be supplemented by ``The C Programming Language,''
94 B.W. Kernighan and D.M. Ritchie, Prentice-Hall, 1978, that
95 contains a tutorial introduction and many examples. (encumbered)
98 .tl 'Berkeley Pascal User\'s Manual''PSD:7'
100 An implementation of this language popular for learning to program.
101 (Not provided in FreeBSD.)
104 .tl 'A Portable Fortran 77 Compiler''PSD:8'
106 A revised version of the document which originally appeared in
107 Volume 2b of the Bell Labs documentation;
108 this version reflects the work done at Berkeley. (encumbered)
111 .tl 'Introduction to the f77 I/O Library''PSD:9'
113 A description of the revised input/output library for Fortran 77,
114 reflecting work carried out at Berkeley. (Not provided in FreeBSD.)
119 .tl 'Debugging with GDB: The GNU Source-Level Debugger''PSD:10'
121 How to debug programs using the source level \fIgdb\fP debugger
122 (or how to debug programs without having to know much about machine language).
123 (A TeXinfo version is provided separately.)
126 .tl 'A Tutorial Introduction to ADB''PSD:11'
128 How to debug programs using the assembly-language level \fIadb\fP debugger.
132 .tl 'Make \- A Program for Maintaining Computer Programs''PSD:12'
134 Indispensable tool for making sure large programs are properly
135 compiled with minimal effort.
138 .tl 'An Introduction to the Revision Control System''PSD:13'
140 RCS is a user-contributed tool for working together with other people
141 without stepping on each other's toes.
142 An alternative to \fIsccs\fR for controlling software changes.
145 .tl 'An Introduction to the Source Code Control System''PSD:14'
147 A useful introductory article for those users with
148 installations licensed for SCCS. (encumbered)
151 .tl 'YACC: Yet Another Compiler-Compiler''PSD:15'
153 Converts a BNF specification of a language and semantic actions
154 written in C into a compiler for that language. (encumbered)
157 .tl 'LEX \- A Lexical Analyzer Generator''PSD:16'
159 Creates a recognizer for a set of regular expressions:
160 each regular expression can be followed by arbitrary C code
161 to be executed upon finding the regular expression. (encumbered)
164 .tl 'The M4 Macro Processor''PSD:17'
166 M4 is a macro processor useful in its own right and as a
167 front-end for C, Ratfor, and Cobol.
170 .tl 'gprof: a Call Graph Execution Profiler''PSD:18'
172 A program to show the call graph and execution time of a program.
173 Indispensable aid for improving the running time of almost everything.
176 Programming Libraries
178 .tl 'Screen Updating and Cursor Movement Optimization''PSD:19'
180 Describes the \fIcurses\fP package, an aid for writing screen-oriented,
181 terminal-independent programs.
186 .tl 'An Introductory 4.4BSD Interprocess Communication Tutorial''PSD:20'
188 How to write programs that use the Interprocess Communication Facilities
192 .tl 'An Advanced 4.4BSD Interprocess Communication Tutorial''PSD:21'
194 The reference document (with some examples) for the Interprocess Communication
195 Facilities of 4.4BSD.
198 .tl 'RPCGEN Programming Guide''PSD:22'
200 Manual for the ONC RPC stub-generating program, provided by Sun Microsystems.
203 .tl 'Remote Procedure Call Programming Guide''PSD:23'
205 A tutorial introduction to programming the ONC RPC system, provided by
209 .tl 'External Data Representation: Sun Technical Notes''PSD:24'
211 Technical details about the design of the XDR component of ONC RPC,
212 provided by Sun Microsystems.
215 .tl 'External Data Representation Standard: Protocol Specification''PSD:25'
217 The Internet RFC specifying ONC XDR, provided by Sun Microsystems.
220 .tl 'Remote Procedure Calls: Protocol Specification''PSD:26'
222 The Internet RFC specifying ONC RPC, RFC 1050, as provided by Sun
226 .tl 'Network File System: Version 2 Protocol Specification''PSD:27'
228 The Internet RFC specifying NFS, as provided by Sun Microsystems.
229 Note that the NFS-compatible filesystem itself, while
230 compliant with this specification, was not provided by Sun.
233 .tl 'CVS II: Parallelizing Software Development''PSD:28'
235 CVS (Concurrent Versions System) is a front end to the
236 RCS revision control system which extends the notion of
237 revision control from a collection of files in a single
238 directory to a hierarchical collection of directories each
239 containing revision controlled files.