Using C on the UNIX System provides a thorough introduction to the UNIX system call libraries. It is aimed at programmers who already know C, but who want to take full advantage of the UNIX programming environment. If you want to learn how to work with the operating system and to write programs that can interact with directories, terminals, and networks at the lowest level, you will find this book essential. It is impossible to write UNIX utilities of any sophistication without understanding the material in this book.
Even if you don't want to program at this level, familiarity with the UNIX system interface is the mark of an experienced and fluent user. If you want to know how the C shell performs job control or how network addressing works, you will find the answer here. Your knowledge of the UNIX system is fundamentally incomplete until you can make C work for you.
Using C provides discussions of the most important system calls as well as detailed descriptions of the important system data structures.
Topics covered include:
Low-level I/O (open, close, read, write).
Files, directories, and the low-level structure of the file system.
I/O control, including terminal management (ioctl).
Reading the system administrative databases (getpwent, etc.).
Time, timers, and timing.
How one program starts another program (system, execv, fork).
Interprocess communication (sockets, message queues, semaphores, shared memory).
Networking (addressing, port numbers).
This book is based on Berkeley 4.3 UNIX, but also covers System V.