Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Source code pack from http://www.apuebook.com/, plus fixes for easy teaching/learning (OSX)
C Shell
Tree: a6714ae45e

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
advio
call
calld
daemons
datafiles
db
environ
exercises
file
include
ipc
ipp
lib
lock
mycat
open.fe
open
opend.fe
opend
proc
pty
sess
signals
sockets
std
stdio
streams
termios
threadctl
threads
.gitignore
DISCLAIMER
Make.defines.freebsd
Make.defines.linux
Make.defines.macos
Make.defines.solaris
Makefile
README
fig1.10
fig1.3
fig1.4
fig1.5
fig1.6
fig1.7
fig1.8
fig1.9
fig10.10
fig10.11
fig10.12
fig10.14
fig10.15
fig10.18
fig10.19
fig10.2
fig10.20
fig10.22
fig10.23
fig10.24
fig10.25
fig10.26
fig10.28
fig10.29
fig10.30
fig10.5
fig10.6
fig10.7
fig10.8
fig10.9
fig11.10
fig11.11
fig11.12
fig11.13
fig11.14
fig11.2
fig11.3
fig11.4
fig11.5
fig12.11
fig12.12
fig12.13
fig12.16
fig12.17
fig12.4
fig12.8
fig13.1
fig13.6
fig13.7
fig13.8
fig14.1
fig14.12
fig14.16
fig14.17
fig14.18
fig14.19
fig14.29a
fig14.29b
fig14.32
fig14.5
fig14.6
fig14.7
fig14.9
fig15.11
fig15.12
fig15.14
fig15.15
fig15.17
fig15.18
fig15.19
fig15.31
fig15.33
fig15.5
fig15.6
fig15.7
fig16.10
fig16.14
fig16.15
fig16.16
fig16.17
fig16.18
fig16.20
fig16.8
fig16.9
fig17.10
fig17.11
fig17.12
fig17.13
fig17.14
fig17.15
fig17.16
fig17.17
fig17.19
fig17.20
fig17.21
fig17.22
fig17.23
fig17.24
fig17.25
fig17.26
fig17.27
fig17.28
fig17.29
fig17.30
fig17.31
fig17.32
fig17.33
fig17.34
fig17.35
fig17.36
fig17.37
fig17.38
fig17.39
fig17.4
fig17.40
fig17.6
fig18.10
fig18.11
fig18.12
fig18.13
fig18.14
fig18.15
fig18.16
fig18.17
fig18.18
fig18.20
fig18.21
fig18.22
fig19.10
fig19.11
fig19.12
fig19.13
fig19.17
fig19.8
fig19.9
fig2.12
fig2.13
fig2.15
fig2.16
fig20.3
fig3.1
fig3.10
fig3.11
fig3.2
fig3.4
fig4.12
fig4.16
fig4.21
fig4.22
fig4.23
fig4.24
fig4.25
fig4.3
fig4.8
fig4.9
fig5.11
fig5.12
fig5.13
fig5.4
fig5.5
fig6.2
fig7.1
fig7.11
fig7.13
fig7.14
fig7.16
fig7.3
fig7.4
fig7.9
fig8.1
fig8.12
fig8.13
fig8.16
fig8.17
fig8.20
fig8.21
fig8.22
fig8.23
fig8.24
fig8.25
fig8.28
fig8.29
fig8.3
fig8.30
fig8.5
fig8.6
fig8.8
fig9.11
figB.1
figB.3
figB.4
figC.1
figC.11
figC.12
figC.13
figC.14
figC.15
figC.16
figC.17
figC.18
figC.20
figC.21
figC.3
figC.4
figC.5
figC.6
figC.7
figC.9
systype.sh

README

Read the file called DISCLAIMER.

Some source changes needed to be made after the book went out for the first
printing.  I forgot to make corresponding changes in the source tree on the
system used to develop the book.  The changes are summarized below.

1. lib/recvfd.c and sockets/recvfd.c - needed sys/uio.h on Mac OS X
2. lib/sendfd.c and sockets/sendfd.c - needed sys/uio.h on Mac OS X
3. stdio/buf.c - added code for Mac OS X
4. threadctl/suspend.c - changed wait to waitloc to avoid symbol definition
	clash on Solaris
5. include/apue.h - FreeBSD compiles work better if we rely on the default
	system settings.  Solaris needed a different XOPEN_SOURCE definition
	and also a CMSG_LEN definition.

To build the source, edit the Make.defines.* file for your system and set
WKDIR to the pathname of the tree containing the source code.  Then just
run "make".  It should figure out the system type and build the source for
that platform automatically.  If you are running on a system other than
FreeBSD, Linux, Mac OS X, or Solaris, you'll need to modify the makefiles
to include the settings for your system.  Also, you'll probably need to
modify the source code to get it to build on a different operating system.
The example source was compiled and tested using FreeBSD 5.2.1, Linux 2.4.22,
Mac OS X 10.3, and Solaris 9.

For FAQs, updated source code, and the lost chapter, see http://www.apuebook.com.
Please direct questions, suggestions, and bug reports to sar@apuebook.com.

Steve Rago
May 30, 2005
Something went wrong with that request. Please try again.