Provided by: manpages-ru_4.19.0-7_all
ИМЯ
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 Если действует это свойство (всегда, согласно POSIX.1-2001), то только суперпользователь может изменять владельца файла, а обычный пользователь может задать группу файла только на одну из групп, которой принадлежит. Учитывается в функциях: 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: Шифрование (_XOPEN_CRYPT) Realtime (_XOPEN_REALTIME) Advanced Realtime (ADB) Realtime Threads (_XOPEN_REALTIME_THREADS) Advanced Realtime Threads (ADVANCED REALTIME THREADS) Tracing (TRACING) XSI Streams (STREAMS) Legacy (_XOPEN_LEGACY)
СМ. ТАКЖЕ
sysconf(3), standards(7)
ПЕРЕВОД
Русский перевод этой страницы руководства был сделан Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>, kogamatranslator49 <r.podarov@yandex.ru>, Kogan, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com> Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.