| POSIXOPTIONS(7) | Linux Programmer's 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 標準自身に書かれている。 POSIX 標準は今日では Web で自由にアクセスできる。
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 以外はファイルのグループを 自分が所属するグループのいずれか 1 つにだけ設定することができる。 関数 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
clockID CLOCK_PROCESS_CPUTIME_ID がサポートされている。 このクロックの初期値は、各プロセス毎に 0 となる。 このオプションは _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
共有メモリーがコア内にロックできる。 次の関数が存在する。 mlockall(), munlockall().
MR/MLR _POSIX_MEMLOCK_RANGE - _SC_MEMLOCK_RANGE
より詳細に、範囲をコア内にロックできる。 次の関数が存在する。 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
このオプションは非同期 I/O の優先度が指定できることを表す。 これは以下の関数に影響する。
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
raw ソケットがサポートされている。 次の関数が影響を受ける。 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 では常に有効)、 プロセスは保存 (saved) 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
このオプションは、例えば MMU が存在しないなどの理由によって、 fork() を使用することが難しいか不可能という状況で、 プロセス生成をサポートすることを表す。 _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
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().
TPS _POSIX_THREAD_PRIORITY_SCHEDULING - _SC_THREAD_PRIORITY_SCHEDULING
このオプションが有効な場合、1 つのプロセス内の個々のスレッドを 個々の優先度または個々のスケジューラ (またはその両方) で実行できる。 影響を受ける関数は以下の通り。
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 トレーシング (tracing) が使用可能である。 以下の関数が存在する。
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 である)。 変更可能な特殊制御文字を設定する値。 これにより特殊制御文字が無効であることを表す。
XOPEN 拡張
_XOPEN_CRYPT, _XOPEN_LEGACY, _XOPEN_REALTIME, _XOPEN_REALTIME_THREADS, _XOPEN_UNIX.
関連項目
sysconf(3), standards(7)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
| 2007-12-21 |