Next:
Contents
The Linux Programmer's Guide
Sven Goldt
Sven van der Meer
Scott Burkett
Matt Welsh
Version 0.4
March 1995
Contents
1 The Linux operating system
2 The Linux kernel
3 The Linux libc package
4 System calls
5 The ``swiss army knife'' ioctl
6 Linux Interprocess Communications
6.1 Introduction
6.2 Half-duplex UNIX Pipes
6.2.1 Basic Concepts
6.2.2 Creating Pipes in C
6.2.3 Pipes the Easy Way!
6.2.4 Atomic Operations with Pipes
6.2.5 Notes on half-duplex pipes:
6.3 Named Pipes (FIFOs - First In First Out)
6.3.1 Basic Concepts
6.3.2 Creating a FIFO
6.3.3 FIFO Operations
6.3.4 Blocking Actions on a FIFO
6.3.5 The Infamous SIGPIPE Signal
6.4 System V IPC
6.4.1 Fundamental Concepts
IPC Identifiers
IPC Keys
The
ipcs
Command
The
ipcrm
Command
6.4.2 Message Queues
Basic Concepts
Internal and User Data Structures
SYSTEM CALL: msgget()
SYSTEM CALL: msgsnd()
SYSTEM CALL: msgctl()
msgtool: An interactive message queue manipulator
6.4.3 Semaphores
Basic Concepts
Internal Data Structures
SYSTEM CALL: semget()
SYSTEM CALL: semop()
SYSTEM CALL: semctl()
semtool: An interactive semaphore manipulator
semstat: A semtool companion program
6.4.4 Shared Memory
Basic Concepts
Internal and User Data Structures
SYSTEM CALL: shmget()
SYSTEM CALL: shmat()
SYSTEM CALL: shmctl()
SYSTEM CALL: shmdt()
shmtool: An interactive shared memory manipulator
7 Sound Programming
7.1 Programming the internal speaker
7.2 Programming a sound card
8 Character Cell Graphics
8.1 I/O Function in libc
8.1.1 Formatted Output
8.1.2 Formatted Input
8.2 The Termcap Library
8.2.1 Introduction
8.2.2 Find a Terminal Description
8.2.3 Look at a Terminal Description
8.2.4 Termcap Capabilities
Boolean Capabilities
Numeric Capabilities
String Capabilities
8.3 Ncurses - Introduction
8.4 Initializing
8.5 Windows
8.6 Output
8.6.1 Formatted Output
8.6.2 Insert Characters/Lines
8.6.3 Delete Characters/Lines
8.6.4 Boxes and Lines
8.6.5 Background Character
8.7 Input
8.7.1 Formated Input
8.8 Options
Output Options
8.8.1 Input Options
8.8.2 Terminal Attributes
8.8.3 Use Options
8.9 Clear Window and Lines
8.10 Updating the Terminal
8.11 Video Attributes and Color
8.12 Cursor and Window Coordinates
8.13 Scrolling
8.14 Pads
8.15 Soft-labels
8.16 Miscellaneous
8.17 Low-level Access
8.18 Screen Dump
8.19 Termcap Emulation
8.20 Terminfo Functions
8.21 Debug Function
8.22 Terminfo Capabilities
8.22.1 Boolean Capabilities
8.22.2 Numbers
8.22.3 Strings
8.23 [N]Curses Function Overview
9 Programming I/O ports
9.1 Mouse Programming
9.2 Modem Programming
9.3 Printer Programming
9.4 Joystick Programming
10 Porting Applications to Linux
10.1 Introduction
10.2 Signal handling
10.2.1 Signals under SVR4, BSD, and POSIX.1
10.2.2 Linux signal options
10.2.3
signal
under Linux
10.2.4 Signals supported by Linux
10.3 Terminal I/O
10.4 Process information and control
10.4.1
kvm
routines
10.4.2
ptrace
and the
/proc
filesystem
10.4.3 Process control under Linux
10.5 Portable conditional compilation
10.6 Additional Comments
11 Systemcalls in alphabetical order
12 Abbreviations
About this document ...
Converted on:
Fri Mar 29 14:43:04 EST 1996