Skip to content

Advanced UNIX Programming

Best in textbook rentals since 2012!

ISBN-10: 067231990X

ISBN-13: 9780672319907

Edition: 2000

Authors: Warren W. Gay

List price: $59.99
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Description:

This text seeks to provide detailed explanations of internal system processes and coverage of UNIX library functions. It shows the reader how to write portable code and master the runtime libraries of the UNIX system.
Customers also bought

Book details

List price: $59.99
Copyright year: 2000
Publisher: Pearson Education
Publication date: 9/20/2000
Binding: Paperback
Pages: 624
Size: 7.50" wide x 9.00" long x 1.25" tall
Weight: 2.244
Language: English

Introduction
Files and Directories
Compiler Notes and Options
Online Manual Pages
Example Code in This Book
Compiling C Programs
Managing Compiler Warnings
Compiling to Standards
Summary
UNIX File System Objects
File System Objects
Permissions
Working with Files Under UNIX
UNIX File I/O
Summary
Error Handling and Reporting
Determining Success or Failure
Determining the Reason for Failure
The Old errno Value
The New errno Value
Reporting on errno Values
Testing for Errors Using stdio(3)
Summary
UNIX Input and Output
The umask(2) Function and umask Bits
Reading and Writing
Seeking Within a File
Truncating Files
Sparse Files
Forcing Data to Media
Scattered Reading and Writing
Determining Your tty Name
Summary
File Locking
Understanding Lock Types
The Lock File Technique
Record Locking
Summary
Managing Files and Their Properties
Removing Files
Linking Files
Moving Files
Obtaining File System Information
Testing Access to a File
Symbolic Links
File Permissions and Ownership
Named Pipes (FIFOs)
Obtaining Size and Configuration Information
Summary
Directory Management
Obtaining the Working Directory
Changing the Current Directory
Making a New Directory
Removing a Directory
Opening a Directory for Searching
Closing a Directory
Searching a Directory
Rewinding to the Start of a Directory
Saving Position Within a Directory
Restoring Position Within a Directory
Scanning a Directory
Walking a Directory Structure
Changing Your Root Directory
Summary
Temporary Files and Process Cleanup
Creating Temporary Files
Making Files Temporary
Summary
Library Functions
UNIX Command-Line Processing
Command-Line Conventions
Arguments That Look Like Options
The getopt(3) Function
The getsubopt(3) Function
GNU Long Options Extension
Summary
Conversion Functions
Simple Conversion Functions
Using sscanf(3) for Conversion and Validation
The strtol(3) and strtoul(3) Functions
Large Integer Conversions
BSD strtoq(3) and strtouq(3) Functions
The strtod(3) Function
Summary
UNIX Date and Time Facilities
Time Zones
Defining the Date and Time Data Type
Time Conversion Functions
Customizing Date and Time Formats with strftime(3)
Summary
User, Password, and Group Management
Introduction to UNIX User Management
The getuid(2) and geteuid(2) Functions
The getgid(2) and getegid(2) Functions
Real, Effective, and Saved User ID
Setting User ID
Setting Group ID
The FreeBSD Function issetugid(2)
The /etc/passwd File
The Password Database Routines
The Group Database
Related Re-entrant Functions
Supplementary Groups
Summary
Static and Shared Libraries
The Static Library
The Shared Library
Comparing Static and Shared Libraries
Dynamic Library Loading
Summary
Database Library Routines
The NDBM Database
An NDBM Database Example
Summary
Advanced Concepts
Signals
Understanding UNIX Signals
Reliable and Unreliable Signals
The Unreliable signal(3) API
The Reliable Signal API
Controlling Signals
Applying the alarm(3) Function
Calling Functions from a Signal Handler
Applying the EINTR Error Code
Raising Signals
Summary
Efficient I/O Scheduling
Non-Blocking I/O
I/O Scheduling Functions
I/O Polling
Summary
Timers
The Sleep Functions
Interval Timer Functions
Summary
Pipes and Processes
UNIX Pipes
External Processes Without Pipes
Summary
Forked Processes
Overview of the UNIX Fork Process
The fork(2) Function
Waiting for Process Completion
Executing New Programs
Summary
Pattern Matching
Shell Patterns
String Pattern Functions
The glob(3) Function
Summary
Regular Expressions
Understanding Regular Expressions
The Regular Expression Library
Summary
Interprocess Communication Concepts
Types of IPC
The Message Queue
Shared Memory
Semaphores
Referencing IPC Resources
Destroying IPC Resources
Summary
Message Queues
Controlling a Message Queue
Sending and Receiving Messages
Applying Message Queues
Summary
Semaphores
Semaphore Utility Program
Creating and Accessing Semaphore Sets
Destroying Semaphore Sets
Controlling Semaphores
Using Semaphores
Summary
Shared Memory
The globvar Utility Program
Shared Memory System Calls
Using Shared Memory
Summary
Memory-Mapped Files
Determining the Page Size
Creating Memory Mappings
Controlling Memory-Mapped Regions
Destroying Memory Mappings
Summary
X Window Programming
Event-Driven Programming
An Xlib Client Program
Summary
Index