ИМЯ 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), то только root может изменять владельца файла, а не-root может задавать группу файла только, если он входит в эту группу. Это учитывается в функциях chown(), fchown().
CS - _POSIX_CLOCK_SELECTION - _SC_CLOCK_SELECTION Это свойство подразумевает свойство _POSIX_TIMERS. Доступны следующие функции:
pthread_condattr_getclock(), pthread_condattr_setclock(),
--- - _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 option. Влияет на функции:
aio_suspend(), clock_getres(), clock_gettime(), clock_settime(),
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(), 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, доступны следующие функции:
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 Поддерживается clockID 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(). 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_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(), 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_VDISABLE Имеется всегда (вероятное значение — 0). Присвоение значения специального управляющего символа означает выключение.
РАСШИРЕНИЯ XOPEN _XOPEN_CRYPT, _XOPEN_LEGACY, _XOPEN_REALTIME, _XOPEN_REALTIME_THREADS, _XOPEN_UNIX.
СМОТРИТЕ ТАКЖЕ sysconf(3), standards(7)
|