posixoptions(7) | Miscellaneous Information Manual | posixoptions(7) |
ИМЯ
posixoptions - необязательные части стандарта POSIX
ОПИСАНИЕ
В стандарте POSIX (информация взята POSIX.1-2001) описан набор правил работы и интерфейсы, требуемый от совместимой системы. Однако много интерфейсов являются необязательными и имеется набор макросов тестирования свойств для проверки доступности интерфейсов во время компиляции, а также есть функции sysconf(3), fpathconf(3), pathconf(3), confstr(3), которые выполняют проверки во время выполнения. Из сценариев оболочки можно использовать getconf(1). Подробности смотрите в sysconf(3).
Мы приводим имя из POSIX, свойство, имя параметра sysconf(3), который используется для запроса этого свойство, и возможно, очень краткое описание. Более полную информацию можно найти в самом стандарте POSIX, из версий, которые теперь свободно доступны через веб.
ADV - _POSIX_ADVISORY_INFO - _SC_ADVISORY_INFO
Доступны следующие консультативные функции:
posix_fadvise() posix_fallocate() posix_memalign() posix_madvise()
AIO - _POSIX_ASYNCHRONOUS_IO - _SC_ASYNCHRONOUS_IO
Доступен заголовочный файл <aio.h>. Доступны следующие функции:
aio_cancel() aio_error() aio_fsync() aio_read() aio_return() aio_suspend() aio_write() lio_listio()
BAR - _POSIX_BARRIERS - _SC_BARRIERS
Это свойство подразумевает свойства _POSIX_THREADS и _POSIX_THREAD_SAFE_FUNCTIONS. Доступны следующие функции:
pthread_barrier_destroy() pthread_barrier_init() pthread_barrier_wait() pthread_barrierattr_destroy() pthread_barrierattr_init()
--- - POSIX_CHOWN_RESTRICTED
If this option is in effect (as it always is under POSIX.1-2001), then only root may change the owner of a file, and nonroot can set the group of a file only to one of the groups it belongs to. This affects the following functions:
chown() fchown()
CS - _POSIX_CLOCK_SELECTION - _SC_CLOCK_SELECTION
Это свойство подразумевает свойство _POSIX_TIMERS. Доступны следующие функции:
pthread_condattr_getclock() pthread_condattr_setclock() clock_nanosleep()
Если CLOCK_REALTIME изменяется функцией clock_settime(), то это влияет на все таймеры, заданные абсолютным временем.
CPT - _POSIX_CPUTIME - _SC_CPUTIME
Поддерживается идентификатор часов CLOCK_PROCESS_CPUTIME_ID. Начальное значение этих часов равно нулю для каждого процесса. Данное свойство подразумевает свойство _POSIX_TIMERS. Доступна функция clock_getcpuclockid().
--- - _POSIX_FILE_LOCKING - _SC_FILE_LOCKING
Эта функция была удалена. Нет в окончательной XPG6.
FSC - _POSIX_FSYNC - _SC_FSYNC
Доступна функция fsync().
IP6 - _POSIX_IPV6 - _SC_IPV6
Поддерживается Internet Protocol Version 6.
--- - _POSIX_JOB_CONTROL - _SC_JOB_CONTROL
Если доступно это свойство (всегда в POSIX.1-2001), то в системе реализовано управление заданиями в стиле POSIX и доступны следующие функции:
setpgid() tcdrain() tcflush() tcgetpgrp() tcsendbreak() tcsetattr() tcsetpgrp()
MF - _POSIX_MAPPED_FILES - _SC_MAPPED_FILES
Поддерживается общая память. Доступен заголовочный файл <sys/mman.h>. Доступны следующие функции:
mmap() msync() munmap()
ML - _POSIX_MEMLOCK - _SC_MEMLOCK
Общая память может блокироваться в ядре (core). Доступны следующие функции:
mlockall() munlockall()
MR/MLR - _POSIX_MEMLOCK_RANGE - _SC_MEMLOCK_RANGE
Более точно, диапазоны могут блокироваться в ядре (core). Доступны следующие функции:
mlock() munlock()
MPR - _POSIX_MEMORY_PROTECTION - _SC_MEMORY_PROTECTION
Доступна функция mprotect().
MSG - _POSIX_MESSAGE_PASSING - _SC_MESSAGE_PASSING
Доступен заголовочный файл <mqueue.h>. Доступны следующие функции:
mq_close() mq_getattr() mq_notify() mq_open() mq_receive() mq_send() mq_setattr() mq_unlink()
MON - _POSIX_MONOTONIC_CLOCK - _SC_MONOTONIC_CLOCK
Поддерживается CLOCK_MONOTONIC. Это свойство подразумевает свойство _POSIX_TIMERS. Влияет на следующие функции:
aio_suspend() clock_getres() clock_gettime() clock_settime() timer_create()
--- - _POSIX_MULTI_PROCESS - _SC_MULTI_PROCESS
Эта функция была удалена. Нет в окончательной XPG6.
--- - _POSIX_NO_TRUNC
Если доступно это свойство (всегда в POSIX.1-2001), то компоненты пути длиннее чем NAME_MAX не обрезаются, а выдаётся ошибка. Данное свойство может зависеть от префикса компонента пути.
PIO - _POSIX_PRIORITIZED_IO - _SC_PRIORITIZED_IO
Это свойство показывает, то можно задавать приоритеты для асинхронного ввода-вывода. Влияет на следующие функции:
aio_read() aio_write()
PS - _POSIX_PRIORITY_SCHEDULING - _SC_PRIORITY_SCHEDULING
Доступен заголовочный файл <sched.h>. Доступны следующие функции:
sched_get_priority_max() sched_get_priority_min() sched_getparam() sched_getscheduler() sched_rr_get_interval() sched_setparam() sched_setscheduler() sched_yield()
Если также доступно свойство _POSIX_SPAWN, доступны следующие функции:
posix_spawnattr_getschedparam() posix_spawnattr_getschedpolicy() posix_spawnattr_setschedparam() posix_spawnattr_setschedpolicy()
RS - _POSIX_RAW_SOCKETS
Поддерживаются неструктурированные сокеты. Влияет на следующие функции:
getsockopt() setsockopt()
--- - _POSIX_READER_WRITER_LOCKS - _SC_READER_WRITER_LOCKS
Это свойство подразумевает свойство _POSIX_THREADS. И наоборот, согласно POSIX.1-2001, свойство _POSIX_THREADS подразумевает это свойство.
Доступны следующие функции:
pthread_rwlock_destroy() pthread_rwlock_init() pthread_rwlock_rdlock() pthread_rwlock_tryrdlock() pthread_rwlock_trywrlock() pthread_rwlock_unlock() pthread_rwlock_wrlock() pthread_rwlockattr_destroy() pthread_rwlockattr_init()
RTS - _POSIX_REALTIME_SIGNALS - _SC_REALTIME_SIGNALS
Доступны сигналы реального времени. Доступны следующие функции:
sigqueue() sigtimedwait() sigwaitinfo()
--- - _POSIX_REGEXP - _SC_REGEXP
Если доступно это свойство (всегда в POSIX.1-2001), то поддерживаются регулярные выражения POSIX и доступны следующие функции:
regcomp() regerror() regexec() regfree()
--- - _POSIX_SAVED_IDS - _SC_SAVED_IDS
Если доступно это свойство (всегда в POSIX.1-2001), то у процесса имеются сохранённый set-user-ID и сохранённый set-group-ID. Влияет на следующие функции:
exec() kill() seteuid() setegid() setgid() setuid()
SEM - _POSIX_SEMAPHORES - _SC_SEMAPHORES
Доступен заголовочный файл <semaphore.h>. Доступны следующие функции:
sem_close() sem_destroy() sem_getvalue() sem_init() sem_open() sem_post() sem_trywait() sem_unlink() sem_wait()
SHM - _POSIX_SHARED_MEMORY_OBJECTS - _SC_SHARED_MEMORY_OBJECTS
Доступны следующие функции:
mmap() munmap() shm_open() shm_unlink()
--- - _POSIX_SHELL - _SC_SHELL
Если доступно это свойство (всегда в POSIX.1-2001), то в системе доступна функция system().
SPN - _POSIX_SPAWN - _SC_SPAWN
Данное свойство выделяет процесс создания поддержки в связи с тем, что трудно или невозможно использовать fork(), например, из-за отсутствия MMU.
Если задействовано свойство _POSIX_SPAWN, то доступен заголовочный файл <spawn.h> и следующие функции:
posix_spawn() posix_spawn_file_actions_addclose() posix_spawn_file_actions_adddup2() posix_spawn_file_actions_addopen() posix_spawn_file_actions_destroy() posix_spawn_file_actions_init() posix_spawnattr_destroy() posix_spawnattr_getsigdefault() posix_spawnattr_getflags() posix_spawnattr_getpgroup() posix_spawnattr_getsigmask() posix_spawnattr_init() posix_spawnattr_setsigdefault() posix_spawnattr_setflags() posix_spawnattr_setpgroup() posix_spawnattr_setsigmask() posix_spawnp()
Если также доступно свойство _POSIX_PRIORITY_SCHEDULING, то доступны следующие функции:
posix_spawnattr_getschedparam() posix_spawnattr_getschedpolicy() posix_spawnattr_setschedparam() posix_spawnattr_setschedpolicy()
SPI - _POSIX_SPIN_LOCKS - _SC_SPIN_LOCKS
Это свойство подразумевает свойства _POSIX_THREADS и _POSIX_THREAD_SAFE_FUNCTIONS. Доступны следующие функции:
pthread_spin_destroy() pthread_spin_init() pthread_spin_lock() pthread_spin_trylock() pthread_spin_unlock()
SS - _POSIX_SPORADIC_SERVER - _SC_SPORADIC_SERVER
Поддерживается алгоритм планирования SCHED_SPORADIC. Это свойство подразумевает свойство _POSIX_PRIORITY_SCHEDULING. Влияет на следующие функции:
sched_setparam() sched_setscheduler()
SIO - _POSIX_SYNCHRONIZED_IO - _SC_SYNCHRONIZED_IO
Влияет на следующие функции:
open() msync() fsync() fdatasync()
TSA - _POSIX_THREAD_ATTR_STACKADDR - _SC_THREAD_ATTR_STACKADDR
Влияет на следующие функции:
pthread_attr_getstack() pthread_attr_getstackaddr() pthread_attr_setstack() pthread_attr_setstackaddr()
TSS - _POSIX_THREAD_ATTR_STACKSIZE - _SC_THREAD_ATTR_STACKSIZE
Влияет на следующие функции:
pthread_attr_getstack() pthread_attr_getstacksize() pthread_attr_setstack() pthread_attr_setstacksize()
TCT - _POSIX_THREAD_CPUTIME - _SC_THREAD_CPUTIME
Поддерживается идентификатор часов CLOCK_THREAD_CPUTIME_ID. Это свойство подразумевает свойство _POSIX_TIMERS. Влияет на следующие функции:
pthread_getcpuclockid() clock_getres() clock_gettime() clock_settime() timer_create()
TPI - _POSIX_THREAD_PRIO_INHERIT - _SC_THREAD_PRIO_INHERIT
Влияет на следующие функции:
pthread_mutexattr_getprotocol() pthread_mutexattr_setprotocol()
TPP - _POSIX_THREAD_PRIO_PROTECT - _SC_THREAD_PRIO_PROTECT
Влияет на следующие функции:
pthread_mutex_getprioceiling() pthread_mutex_setprioceiling() pthread_mutexattr_getprioceiling() pthread_mutexattr_getprotocol() pthread_mutexattr_setprioceiling() pthread_mutexattr_setprotocol()
TPS - _POSIX_THREAD_PRIORITY_SCHEDULING - _SC_THREAD_PRIORITY_SCHEDULING
Если доступно это свойство, то нити в процессе можно выполнять с разными приоритетами или планировщиками. Влияет на следующие функции:
pthread_attr_getinheritsched() pthread_attr_getschedpolicy() pthread_attr_getscope() pthread_attr_setinheritsched() pthread_attr_setschedpolicy() pthread_attr_setscope() pthread_getschedparam() pthread_setschedparam() pthread_setschedprio()
TSH - _POSIX_THREAD_PROCESS_SHARED - _SC_THREAD_PROCESS_SHARED
Влияет на следующие функции:
pthread_barrierattr_getpshared() pthread_barrierattr_setpshared() pthread_condattr_getpshared() pthread_condattr_setpshared() pthread_mutexattr_getpshared() pthread_mutexattr_setpshared() pthread_rwlockattr_getpshared() pthread_rwlockattr_setpshared()
TSF - _POSIX_THREAD_SAFE_FUNCTIONS - _SC_THREAD_SAFE_FUNCTIONS
Влияет на следующие функции:
readdir_r() getgrgid_r() getgrnam_r() getpwnam_r() getpwuid_r() flockfile() ftrylockfile() funlockfile() getc_unlocked() getchar_unlocked() putc_unlocked() putchar_unlocked() rand_r() strerror_r() strtok_r() asctime_r() ctime_r() gmtime_r() localtime_r()
TSP - _POSIX_THREAD_SPORADIC_SERVER - _SC_THREAD_SPORADIC_SERVER
Это свойство подразумевает свойство _POSIX_THREAD_PRIORITY_SCHEDULING. Влияет на следующие функции:
sched_getparam() sched_setparam() sched_setscheduler()
THR - _POSIX_THREADS - _SC_THREADS
Доступна начальная поддержка нитей POSIX. Доступны следующие функции:
pthread_atfork() pthread_attr_destroy() pthread_attr_getdetachstate() pthread_attr_getschedparam() pthread_attr_init() pthread_attr_setdetachstate() pthread_attr_setschedparam() pthread_cancel() pthread_cleanup_push() pthread_cleanup_pop() pthread_cond_broadcast() pthread_cond_destroy() pthread_cond_init() pthread_cond_signal() pthread_cond_timedwait() pthread_cond_wait() pthread_condattr_destroy() pthread_condattr_init() pthread_create() pthread_detach() pthread_equal() pthread_exit() pthread_getspecific() pthread_join() pthread_key_create() pthread_key_delete() pthread_mutex_destroy() pthread_mutex_init() pthread_mutex_lock() pthread_mutex_trylock() pthread_mutex_unlock() pthread_mutexattr_destroy() pthread_mutexattr_init() pthread_once() pthread_rwlock_destroy() pthread_rwlock_init() pthread_rwlock_rdlock() pthread_rwlock_tryrdlock() pthread_rwlock_trywrlock() pthread_rwlock_unlock() pthread_rwlock_wrlock() pthread_rwlockattr_destroy() pthread_rwlockattr_init() pthread_self() pthread_setcancelstate() pthread_setcanceltype() pthread_setspecific() pthread_testcancel()
TMO - _POSIX_TIMEOUTS - _SC_TIMEOUTS
Доступны следующие функции:
mq_timedreceive() mq_timedsend() pthread_mutex_timedlock() pthread_rwlock_timedrdlock() pthread_rwlock_timedwrlock() sem_timedwait() posix_trace_timedgetnext_event()
TMR - _POSIX_TIMERS - _SC_TIMERS
Доступны следующие функции:
clock_getres() clock_gettime() clock_settime() nanosleep() timer_create() timer_delete() timer_gettime() timer_getoverrun() timer_settime()
TRC - _POSIX_TRACE - _SC_TRACE
Доступна поддержка трассировки POSIX. Доступны следующие функции:
posix_trace_attr_destroy() posix_trace_attr_getclockres() posix_trace_attr_getcreatetime() posix_trace_attr_getgenversion() posix_trace_attr_getmaxdatasize() posix_trace_attr_getmaxsystemeventsize() posix_trace_attr_getmaxusereventsize() posix_trace_attr_getname() posix_trace_attr_getstreamfullpolicy() posix_trace_attr_getstreamsize() posix_trace_attr_init() posix_trace_attr_setmaxdatasize() posix_trace_attr_setname() posix_trace_attr_setstreamsize() posix_trace_attr_setstreamfullpolicy() posix_trace_clear() posix_trace_create() posix_trace_event() posix_trace_eventid_equal() posix_trace_eventid_get_name() posix_trace_eventid_open() posix_trace_eventtypelist_getnext_id() posix_trace_eventtypelist_rewind() posix_trace_flush() posix_trace_get_attr() posix_trace_get_status() posix_trace_getnext_event() posix_trace_shutdown() posix_trace_start() posix_trace_stop() posix_trace_trygetnext_event()
TEF - _POSIX_TRACE_EVENT_FILTER - _SC_TRACE_EVENT_FILTER
Это свойство подразумевает свойство _POSIX_TRACE. Доступны следующие функции:
posix_trace_eventset_add() posix_trace_eventset_del() posix_trace_eventset_empty() posix_trace_eventset_fill() posix_trace_eventset_ismember() posix_trace_get_filter() posix_trace_set_filter() posix_trace_trid_eventid_open()
TRI - _POSIX_TRACE_INHERIT - _SC_TRACE_INHERIT
Поддерживается трассировка потомков трассируемого процесса. Это свойство подразумевает свойство _POSIX_TRACE. Доступны следующие функции:
posix_trace_attr_getinherited() posix_trace_attr_setinherited()
TRL - _POSIX_TRACE_LOG - _SC_TRACE_LOG
Это свойство подразумевает свойство _POSIX_TRACE. Доступны следующие функции:
posix_trace_attr_getlogfullpolicy() posix_trace_attr_getlogsize() posix_trace_attr_setlogfullpolicy() posix_trace_attr_setlogsize() posix_trace_close() posix_trace_create_withlog() posix_trace_open() posix_trace_rewind()
TYM - _POSIX_TYPED_MEMORY_OBJECTS - _SC_TYPED_MEMORY_OBJECT
Доступны следующие функции:
posix_mem_offset() posix_typed_mem_get_info() posix_typed_mem_open()
--- - _POSIX_VDISABLE
Имеется всегда (вероятное значение — 0). Присвоение значения специального управляющего символа означает выключение.
РАСШИРЕНИЯ X/OPEN SYSTEM INTERFACE
XSI - _XOPEN_CRYPT - _SC_XOPEN_CRYPT
Доступны следующие функции:
crypt() encrypt() setkey()
XSI - _XOPEN_REALTIME - _SC_XOPEN_REALTIME
Это свойство подразумевает следующие свойства:
- _POSIX_ASYNCHRONOUS_IO==200112L
- _POSIX_FSYNC
- _POSIX_MAPPED_FILES
- _POSIX_MEMLOCK==200112L
- _POSIX_MEMLOCK_RANGE==200112L
- _POSIX_MEMORY_PROTECTION
- _POSIX_MESSAGE_PASSING==200112L
- _POSIX_PRIORITIZED_IO
- _POSIX_PRIORITY_SCHEDULING==200112L
- _POSIX_REALTIME_SIGNALS==200112L
- _POSIX_SEMAPHORES==200112L
- _POSIX_SHARED_MEMORY_OBJECTS==200112L
- _POSIX_SYNCHRONIZED_IO==200112L
- _POSIX_TIMERS==200112L
ADV - --- - ---
Группа свойств Advanced Realtime подразумевает, что все следующие свойства определены до 200112L:
- _POSIX_ADVISORY_INFO
- _POSIX_CLOCK_SELECTION
- (подразумевает _POSIX_TIMERS)
- _POSIX_CPUTIME
- (подразумевает _POSIX_TIMERS)
- _POSIX_MONOTONIC_CLOCK
- (подразумевает _POSIX_TIMERS)
- _POSIX_SPAWN
- _POSIX_SPORADIC_SERVER
- (подразумевает _POSIX_PRIORITY_SCHEDULING)
- _POSIX_TIMEOUTS
- _POSIX_TYPED_MEMORY_OBJECTS
XSI - _XOPEN_REALTIME_THREADS - _SC_XOPEN_REALTIME_THREADS
Это свойство подразумевает, что все следующие свойства определены до 200112L:
- _POSIX_THREAD_PRIO_INHERIT
- _POSIX_THREAD_PRIO_PROTECT
- _POSIX_THREAD_PRIORITY_SCHEDULING
ADVANCED REALTIME THREADS - --- - ---
Это свойство подразумевает, что все следующие свойства определены до 200112L:
- _POSIX_BARRIERS
- (подразумевает _POSIX_THREADS, _POSIX_THREAD_SAFE_FUNCTIONS)
- _POSIX_SPIN_LOCKS
- (подразумевает _POSIX_THREADS, _POSIX_THREAD_SAFE_FUNCTIONS)
- _POSIX_THREAD_CPUTIME
- (подразумевает _POSIX_TIMERS)
- _POSIX_THREAD_SPORADIC_SERVER
- (подразумевает _POSIX_THREAD_PRIORITY_SCHEDULING)
TRACING - --- - ---
Это свойство подразумевает, что все следующие свойства определены до 200112L:
- _POSIX_TRACE
- _POSIX_TRACE_EVENT_FILTER
- _POSIX_TRACE_LOG
- _POSIX_TRACE_INHERIT
STREAMS - _XOPEN_STREAMS - _SC_XOPEN_STREAMS
Доступны следующие функции:
fattach() fdetach() getmsg() getpmsg() ioctl() isastream() putmsg() putpmsg()
XSI - _XOPEN_LEGACY - _SC_XOPEN_LEGACY
Функции, включённые в группу устаревших свойств, которые были обязательны ранее, но в этой версии стали необязательными. Это относится к следующим функциям:
bcmp() bcopy() bzero() ecvt() fcvt() ftime() gcvt() getwd() index() mktemp() rindex() utimes() wcswcs()
XSI - _XOPEN_UNIX - _SC_XOPEN_UNIX
Доступны следующие функции:
mmap() munmap() msync()
Это свойство подразумевает следующие свойства:
- _POSIX_FSYNC
- _POSIX_MAPPED_FILES
- _POSIX_MEMORY_PROTECTION
- _POSIX_THREAD_ATTR_STACKADDR
- _POSIX_THREAD_ATTR_STACKSIZE
- _POSIX_THREAD_PROCESS_SHARED
- _POSIX_THREAD_SAFE_FUNCTIONS
- _POSIX_THREADS
Это свойство может подразумевать следующие свойства из групп свойств XSI:
СМОТРИТЕ ТАКЖЕ
ПЕРЕВОД
Русский перевод этой страницы руководства разработал Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>, kogamatranslator49 <r.podarov@yandex.ru>, Darima Kogan <silverdk99@gmail.com>, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику по его адресу электронной почты или по адресу списка рассылки русских переводчиков.
2 мая 2024 г. | Linux man-pages 6.8 |