C POSIX library
C POSIX library — языконезависимая библиотека (использующая соглашение о вызове cdecl
), добавляющая специфические функции в систему POSIX. POSIX (и SUS) определяют номера подпрограмм, которые должны быть доступны в дополнение к соответствующим подпрограммам стандартной библиотеки Си. Она была разработана в одно время со стандартом ANSI языка Си и поэтому вплотную с этим языком связана. Были предприняты попытки сделать библиотеки Си и POSIX совместимыми, но, тем не менее, есть несколько функций POSIX, никогда не упоминаемых в ANSI Си.
Удобно применять совместно с функциональностью стандартной библиотекой Си с различной степенью взаимодействия. Например, glibc реализует функции такие как fork() внутри libc.so, но перед тем, как NPTL объединится с glibc, она создаёт отдельную библиотеку со своим собственным флагом линковщика. Зачастую, такая POSIX-специфичная функциональность рассматривается как часть библиотеки; библиотека Си соответственно может быть идентифицирована как библиотека Си, удовлетворяющая стандартам ANSI или ISO.
Заголовочные файлы библиотеки C POSIX
Согласно стандарту POSIX.1, стандартная библиотека должна содержать следующие заголовочные файлы[1]:
<aio.h> |
Асинхронный ввод/вывод |
<arpa/inet.h> |
Определения операций с сетью |
<assert.h> |
Макрос для проверки утверждений |
<complex.h> |
Комплексная арифметика |
<cpio.h> |
Магические числа для формата архива cpio |
<ctype.h> |
Определение типа символов |
<dirent.h> |
Открытие и вывод каталогов |
<dlfcn.h> |
Динамическая компоновка |
<errno.h> |
Номера системных ошибок |
<fcntl.h> |
Открытие и вывод каталогов |
<fenv.h> |
Работа с контекстом операций чисел с плавающей запятой |
<float.h> |
|
<fmtmsg.h> |
Форматирование сообщений |
<fnmatch.h> |
|
<ftw.h> |
Обход дерева файлов |
<glob.h> |
|
<grp.h> |
информация о пользовательских группах и управление |
<iconv.h> |
Преобразование кодировок текста |
<inttypes.h> |
|
<iso646.h> |
Альтернативный синтаксис для некоторых операторов языка C |
<langinfo.h> |
|
<libgen.h> |
Функции обработки путей |
<limits.h> |
|
<locale.h> |
|
<math.h> |
Математические функции |
<monetary.h> |
|
<mqueue.h> |
Очереди сообщений |
<ndbm.h> |
|
<net/if.h> |
|
<netdb.h> |
|
<netinet/in.h> |
|
<netinet/tcp.h> |
|
<nl_types.h> |
|
<poll.h> |
|
<pthread.h> |
Потоки выполнения |
<pwd.h> |
passwd (пользовательская информация) доступ и контроль |
<regex.h> |
|
<sched.h> |
|
<search.h> |
|
<semaphore.h> |
|
<setjmp.h> |
|
<signal.h> |
|
<spawn.h> |
|
<stdarg.h> |
|
<stdbool.h> |
|
<stddef.h> |
|
<stdint.h> |
Определение целочисленных типов данных |
<stdio.h> |
|
<stdlib.h> |
|
<string.h> |
|
<strings.h> |
|
<stropts.h> |
|
<sys/ipc.h> |
межпроцессное взаимодействие (IPC) |
<sys/mman.h> |
Отображение файлов в память |
<sys/msg.h> |
POSIX потоки сообщений |
<sys/resource.h> |
|
<sys/select.h> |
|
<sys/sem.h> |
POSIX семафоры |
<sys/shm.h> |
|
<sys/socket.h> |
|
<sys/stat.h> |
информация о файле (stat и пр.) |
<sys/statvfs.h> |
|
<sys/time.h> |
функции и структуры работы со временем и датой |
<sys/times.h> |
|
<sys/types.h> |
различные типы данных |
<sys/uio.h> |
|
<sys/un.h> |
|
<sys/utsname.h> |
uname и связанные структуры |
<sys/wait.h> |
статус завершенных дочерних процессов (смотри wait) |
<syslog.h> |
|
<tar.h> |
магические числа для формата архивов tar |
<termios.h> |
позволяет использовать интерфейс терминала ввода-вывода |
<tgmath.h> |
|
<time.h> |
|
<trace.h> |
|
<ulimit.h> |
|
<unistd.h> |
различные основные функции и константы POSIX |
<utime.h> |
inode доступ и количество модификаций |
<utmpx.h> |
|
<wchar.h> |
Обработка «широких» символов |
<wctype.h> |
Функции классификации и преобразования «широких» символов |
<wordexp.h> |
Ссылки
Примечания
- Chapter 13. Headers // Standard for Information Technology– Portable Operating System Interface (POSIX®). Base Specifications, Issue 7. — IEEE, 2008. — doi:10.1109/IEEESTD.2008.4694976.