Table of Contents:
  • Chapter 4: The Linux Environment
  • Program Arguments
  • Environment Variables
  • Time and Date
  • Temporary Files
  • User Information
  • Host Information
  • Logging
  • Resources and Limits
  • Summary
  • Chapter 5: Terminals
  • Reading from and Writing to the Terminal
  • Talking to the Terminal
  • The Terminal Driver and the General Terminal Interface
  • The termios Structure
  • Terminal Output
  • Detecting Keystrokes
  • Summary
  • Chapter 6: Managing Text-Based Screens with curses
  • Compiling with curses
  • Curses Terminology and Concepts
  • The Screen
  • The Keyboard
  • Windows
  • Subwindows
  • The Keypad
  • Using Color
  • Pads
  • The CD Collection Application
  • Summary
  • Chapter 7: Data Management
  • Managing Memory
  • File Locking
  • Databases
  • The CD Application
  • Summary
  • Chapter 8: MySQL
  • Installation
  • MySQL Administration
  • Accessing MySQL Data from C
  • The CD Database Application
  • Summary
  • Chapter 9: Development Tools
  • Problems of Multiple Source Files
  • Includes bibliographical references and index
  • The make Command and Makefiles
  • Source Code Control
  • Writing a Manual Page
  • Distributing Software
  • RPM Packages
  • Other Package Formats
  • Development Environments
  • Summary
  • Chapter 10: Debugging
  • Types of Errors
  • General Debugging Techniques
  • Debugging with gdb
  • More Debugging Tools
  • Assertions
  • Memory Debugging
  • Summary
  • Chapter 11: Processes and Signals
  • What Is a Process?
  • Process Structure
  • Starting New Processes
  • Signals
  • Summary
  • Chapter 12: POSIX Threads
  • What Is a Thread?
  • Advantages and Drawbacks of Threads
  • A First Threads Program
  • Simultaneous Execution
  • Synchronization
  • Thread Attributes
  • Canceling a Thread
  • Threads in Abundance
  • Summary
  • Chapter 13: Inter-Process Communication: Pipes
  • What Is a Pipe?
  • Process Pipes
  • Sending Output
  • Cover
  • About the Authors
  • Credits
  • Acknowledgments
  • Contents
  • Foreword
  • Introduction
  • Who's This Book For?
  • What's Covered in the Book
  • What You Need to Use This Book
  • Source Code
  • Conventions
  • Errata
  • p2p.wrox.com
  • Chapter 1: Getting Started
  • An Introduction to UNIX, Linux, and GNU
  • Programming Linux
  • Getting Help
  • Summary
  • Chapter 2: Shell Programming
  • Why Program with a Shell?
  • A Bit of Philosophy
  • What Is a Shell?
  • Pipes and Redirection
  • The Shell as a Programming Language
  • Shell Syntax
  • Going Graphical
  • The dialog Utility
  • Putting It All Together
  • Summary
  • Chapter 3: Working with Files
  • Linux File Structure
  • System Calls and Device Drivers
  • Library Functions
  • Low-Level File Access
  • The Standard I/O Library
  • Formatted Input and Output
  • File and Directory Maintenance
  • Scanning Directories
  • Errors
  • The /proc File System
  • Advanced Topics: fcntl and mmap
  • Summary