1. Операционная система LINUX 2
2. Ядро LINUX 3
3. Библиотека libc 3
4. Системные вызовы 4
5. ioсtl 5
6. Межпроцессовые коммуникации LINUX 6
6.1. Введение 6
6.2. Полудуплексные каналы UNIX 6
6.2.1. Основные понятия 6
6.2.2. Создание каналов на Си 8
2. Ядро LINUX 10
6.2.3. Каналы - легкий путь! 15
6.2.4. Атомарные (неделимые) операции с каналами 20
6.2.5. Примечания к полудуплексным каналам 20
6.3. Именованные каналы (FIFOs - First In First Out) 21
6.3.1. Основные понятия 21
6.3.2. Создание FIFO 21
6.3.3. Операции FIFO 23
6.3.4. Действие блокирования над FIFO 25
6.3.5. Неизвестный SIGPIPE 25
6.4 System V IPC 26
6.4.1. Базовые понятия 26
6.4.2. Очереди сообщений 29
6.4.3. Семафоры 49
6.4.4. Разделяемая память 72
7. Программирование звука 82
7.1. Программирование встроенного динамика 82
7.2. Программирование звуковой карты 83
8. Символьная графика 84
8.1. Функции ввода/вывода в libc 86
8.1.1. Форматированный вывод 86
8.1.2. Форматированный ввод 88
8.2. Библиотека termcap 89
8.2.1. Введение 89
8.2.2. Поиск описания терминала 91
8.2.3. Описание терминала 92
8.2.4. Свойства termcap 93
8.3. Введение в ncurses 101
8.4. Инициализация 104
8.5. Окна 105
8.6. Вывод 109
8.6.1. Форматированный вывод 110
8.6.2. Вставка символов и линий 111
8.6.3. Удаление символов и линий 112
8.6.4. Боксы и линии 112
8.6.5. Фоновый (background) символ 113
8.7. Ввод 114
8.7.1. Форматированный ввод 116
8.8. Опции 116
8.8.1. Опции ввода 118
8.8.2. Атрибуты терминала 119
8.8.3. Использование опций 120
8.9. Очистка окна и линий 123
8.10. Обновление терминала 124
8.11. Видеоатрибуты и цвет 127
8.12. Координаты курсора и окна 131
8.13. Прокрутка 132
8.14. Заполнители 134
8.15. Мягкие метки (Soft-labels) 134
8.16. Разное 135
8.17. Низкоуровневый доступ 136
8.18. Дамп экрана 136
8.19. Эмуляция termcap 137
8.20. Функции terminfo 137
8.21. Функции отладки 138
8.22. Свойства (capabilities) terminfo 138
8.22.1. Логические свойства 138
8.22.2. Числа 140
8.22.3. Строки 142
9. Программирование портов ввода/вывода 166
9.1. Программирование мыши 168
9.2. Программирование модема 169
9.3. Программирование принтера 169
9.4. Программирование джойстика 170
10. Перенос прикладных программ в Linux 170
10.1. Введение 170
10.2. Обработка сигналов 171
10.2.1. Сигналы в SVR4, BSD и POSIX.1 172
10.2.2. Опции сигналов Linux 172
10.2.3. signal под Linux-ом 173
10.2.4. Сигналы, поддерживаемые Linux-ом 174
10.3. Ввод/вывод с терминала 174
10.4. Управление процессами 175
10.4.1. Подпрограммы kvm 176
10.4.2. ptrace и файловая система /proc 176
10.4.3. Управление процессами под Linux 176
10.5. Переносимая условная компиляция 178
10.6. Дополнительные комментарии 179
11. Справочник системных вызовов 180
12. Аббревиатуры 187