posixoptions

Autres langues

Langue: ja

Autres versions - même langue

Version: 2003-08-24 (fedora - 25/11/07)

Section: 7 (Divers)

Sommaire

名前

POSIX 標準の選択可能な部分

説明

POSIX 標準 (以下の情報は POSIX.1-2001 の抜粋) は 互換システムの動作とインタフェースのセットを記述している。 しかし、多くのインタフェースは選択可能であり、 コンパイル時にインタフェースが使用可能かをテストする機能テストマクロと、 実行時にテストする関数 sysconf(3), fpathconf(3), pathconf(3), confstr(3) がある。 シェルスクリプトでは getconf(1) を使うことができる。 詳細は sysconf(3) を参照すること。

POSIX 省略形の名前・オプション・オプションを調べるための sysconf() 引き数の名前・(可能ならば) 非常に短い説明を記述する。 より正確な詳細は 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)