Contents
Preface xi
Chapter 1 Fundamental Concepts
1.1 A Whirlwind Tour of UNIX and Linux
1.2 Versions of UNIX
1.3 Using System Calls
1.4 Error Handling
1.5 UNIX Standards
1.6 Common Header File
1.7 Dates and Times
1.8 About the Example Code
1.9 Essential Resources
Chapter 2 Basic File I/O
2.1 Introduction to File I/O
2.2 File Descriptors and Open File Descriptions
2.3 SVmbols for File Permission Bits
2.4 open and creat System Calls
2.5 "mask System Call
2.6 unlink System Call
2.7 Creating Temporary Files
2.8 File OffSets and O APPEND
2.9 write SVstem Call
2.10 read SVstem Call
2.11 close SVstem Call
2.12 User Buffered I/O
2.13 lseek SVstem Call
2.14 pread and pwrite System Calls
2.15 ready and wri tev SVstem Calls
2.16 Synchronized I/O
2.17 truncate and ftruncate SVstem Calls
Chapter 3 Advanced File I/O
3.1 Introduction
3.2 Disk Spe Files and File Systems
3.3 Hard and Symbolic Links
3.4 Pathnames
3.5 Accessing and Displaying File Metadata
3.6 Directories
3.7 Changing an I-Node
3.8 More File-Manipulation Calls
3.9 AsVnchronous I/O
Chapter 4 Terminal I/O
4.1 Introduction
4.2 ReadinZ from a Terminal
4.3 Sessions and Process Groups (Jobs)
4.4 ioctl System Call
4.5 Setting Terminal Attributes
4.6 Additional Terminal-Control System Calls
4.7 Terminal-identification System Calls
4.8 Full-ScreenApplications
4.9 STREAMS I/O
4.10 Pseudo Terminals
Chapter 5 Processes and Threads
5.1 Introduction
5.2 Environment
5.3 exec SVstem Calls
5.4 Implementing a Shell (Version l)
5.5 fork System Call
5.6 Implementing a Shell (Version 2)
5.7 exit SVstem Calls and Process Termination
……
Chapter 6 Basic interprocess Communication
Chapter 7 Advanced interprocess Communication
Chapter 8 Networking and Sockets
Chapter 9 Signals and Timers
Appendix A Process Attributes
Appendix B Ux: A C++ Wrapper for Standard UNIX Functions
Appendix C Jtux: A Java/Jython interface to Standard UNIX Functions
Appendix D Alphabetical and Categorical Function Lists
References
Index