Getting the Example Programs

The example programs in this book are available electronically in a number of ways: by ftp, ftpmail, bitftp, and uucp. The cheapest, fastest, and easiest ways are listed first. If you read from the top down, the first one that works for you is probably the best. Use ftp if you are directly on the Internet. Use ftpmail if you are not on the Internet but can send and receive electronic mail to internet sites (this includes CompuServe users). Use BITFTP if you send electronic mail via BITNET. Use UUCP if none of the above works.


To use FTP, you need a machine with direct access to the Internet. A sample session is shown, with what you should type in boldface.

% ftp
Connected to
220 FTP server (Version 6.21 Tue Mar 10 22:09:55 EST 1992) ready.
Name ( anonymous
331 Guest login ok, send domain style e-mail address as password.
Password: (use your user name and host here)
230 Guest login ok, access restrictions apply.
ftp> cd /published/oreilly/xbook/xlib/
250 CWD command successful.
ftp> binary ( Very important! You must
 specify binary transfer for compressed files.)
200 Type set to I.
ftp> get xlibprgs4.tar.Z
200 PORT command successful.
150 Opening BINARY mode data connection for xlibprgs4.tar.Z.
226 Transfer complete.
ftp> quit
221 Goodbye.

The file is a compressed tar archive; extract the files from the archive by typing:

% zcat xlibprgs4.tar.Z | tar xf -

System V systems require the following tar command instead:

% zcat xlibprgs4.tar.Z | tar xof -

If zcat is not available on your system, use separate uncompress and tar commands.


FTPMAIL is a mail server available to anyone who can send and receive electronic mail to and from Internet sites. This includes most workstations that have an email connection to the outside world, and CompuServe users. You do not need to be directly on the Internet. Here’s how to do it.

You send mail to . In the message body, give the name of the anonymous ftp host and the ftp commands you want to run. The server will run anonymous ftp for you and mail the files back to you. To get a complete help file, send a message with no subject and the single word “help” in the body. The following is an example mail session that should get you the examples. This command sends you a listing of the files in the selected directory, and the requested examples file. The listing is useful in case there’s a later version of the examples you’re interested in.

% mail
reply (where you want files mailed)
cd /published/oreilly/xbook/xlib/
uuencode    (or btoa if you have it)
get xlibprgs4.tar.Z

A signature at the end of the message is acceptable as long as it appears after “quit.”

All retrieved files will be split into 60KB chunks and mailed to you. You then remove the mail headers and concatenate them into one file, and then uudecode or atob it. Once you’ve got the desired file, follow the directions under FTP to extract the files from the archive.


BITFTP is a mail server for BITNET users. You send it electronic mail messages requesting files, and it sends you back the files by electronic mail. BITFTP currently serves only users who send it mail from nodes that are directly on BITNET, EARN, or NetNorth. BITFTP is a public service of Princeton University. Here’s how it works.

To use BITFTP, send mail containing your ftp commands to BITFTP@PUCC. For a complete help file, send HELP as the message body.

The following is the message body you should send to BITFTP:

USER  anonymous
PASS your Internet email address (not your bitnet address)
CD  /published/oreilly/xbook/xlib/
GET  xlibprgs4.tar.Z

Once you’ve got the desired file, follow the directions under FTP to extract the files from the archive. Since you are probably not on a UNIX system, you may need to get versions of uudecode, uncompress, atob, and tar for your system. VMS, DOS, and Mac versions are available. The VMS versions are on in /archive/pub/VMS.

Questions about BITFTP can be directed to Melinda Varian, MAINT@PUCC on BITNET.


UUCP is standard on virtually all UNIX systems, and is available for IBM-compatible PCs and Apple Macintoshes. The examples are available by UUCP via modem from UUNET; UUNET’s connect-time charges apply.

You can get the examples from UUNET whether you have an account or not. If you or your company has an account with UUNET, you will have a system with a direct UUCP connection to UUNET. Find that system, and type:

uucp uunet\!~/published/oreilly/xbook/xlib//xlibprgs4.tar.Z yourhost\!~/yourname/

The backslashes can be omitted if you use the Bourne shell (sh) instead of csh. The file should appear some time later (up to a day or more) in the directory /usr/spool/uucppublic/yourname. If you don’t have an account but would like one so that you can get electronic mail, then contact UUNET at 703-204-8000.

It’s a good idea to get the file /published/oreilly/xbook/xlib//ls-lR.Z as a short test file containing the filenames and sizes of all the files in the directory.

Once you’ve got the desired file, follow the directions under FTP to extract the files from the archive.

Get XLIB Programming Manual, Rel. 5, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.