1 .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
3 .\" This is free documentation; you can redistribute it and/or
4 .\" modify it under the terms of the GNU General Public License as
5 .\" published by the Free Software Foundation; either version 2 of
6 .\" the License, or (at your option) any later version.
8 .\" The GNU General Public License's references to "object code"
9 .\" and "executables" are to be interpreted as the output of any
10 .\" document formatting or typesetting system, including
11 .\" intermediate and printed output.
13 .\" This manual is distributed in the hope that it will be useful,
14 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
15 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 .\" GNU General Public License for more details.
18 .\" You should have received a copy of the GNU General Public
19 .\" License along with this manual; if not, write to the Free
20 .\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
23 .\" Japanese Version Copyright (c) 2004 Yuichi SATO
24 .\" all rights reserved.
25 .\" Translated Thu Dec 16 03:35:45 JST 2004
26 .\" by Yuichi SATO <ysato444@yahoo.co.jp>
28 .\"WORD: feature test macro 機能テストマクロ
30 .TH POSIXOPTIONS 7 2007-12-21 "" "Linux Programmer's Manual"
34 POSIX 標準 (以下の情報は POSIX.1-2001 の抜粋) は
35 互換システムの動作とインタフェースのセットを記述している。
36 しかし、多くのインタフェースは選択可能であり、
37 コンパイル時にインタフェースが使用可能かをテストする機能テストマクロと、
51 POSIX 省略形の名前・オプション・オプションを調べるための
53 引き数の名前・(可能ならば) 非常に短い説明を記述する。
54 より正確な詳細は POSIX 標準自身に書かれている。
55 POSIX 標準は今日では Web で自由にアクセスできる。
56 .SS "ADV - _POSIX_ADVISORY_INFO - _SC_ADVISORY_INFO"
63 .IR posix_fallocate (),
64 .IR posix_memalign (),
69 .SS "AIO - _POSIX_ASYNCHRONOUS_IO - _SC_ASYNCHRONOUS_IO"
89 .SS "BAR - _POSIX_BARRIERS - _SC_BARRIERS"
93 .B _POSIX_THREAD_SAFE_FUNCTIONS
100 .IR pthread_barrier_destroy (),
101 .IR pthread_barrier_init (),
102 .IR pthread_barrier_wait (),
103 .IR pthread_barrierattr_destroy (),
104 .IR pthread_barrierattr_init ().
112 .SS "--- - POSIX_CHOWN_RESTRICTED"
113 このオプションが有効な場合 (POSIX.1-2001 では常に有効)、
114 root だけがファイル所有者の変更を許され、
116 自分が所属するグループの 1 つに設定することだけができる。
128 .SS "CS - _POSIX_CLOCK_SELECTION - _SC_CLOCK_SELECTION"
137 .IR pthread_condattr_getclock (),
138 .IR pthread_condattr_setclock (),
139 .IR clock_nanosleep ().
147 で変更された場合、絶対時間に関係する全てのタイマのセットに影響する。
148 .SS "CPT - _POSIX_CPUTIME - _SC_CPUTIME"
149 clockID CLOCK_PROCESS_CPUTIME_ID がサポートされている。
150 このクロックの初期値は、各プロセス毎に 0 となる。
155 .IR clock_getcpuclockid ()
161 .SS "--- - _POSIX_FILE_LOCKING - _SC_FILE_LOCKING"
162 このオプションは削除された。XPG6 最終版にはない。
163 .SS "FSC - _POSIX_FSYNC - _SC_FSYNC "
167 .SS "IP6 - _POSIX_IPV6 - _SC_IPV6"
168 Internet Protocol Version 6 がサポートされている。
169 .SS "--- - _POSIX_JOB_CONTROL - _SC_JOB_CONTROL"
170 このオプションが有効な場合 (POSIX.1-2001 では常に有効)、
171 システムは POSIX 方式のジョブ制御を実装しており、
186 .SS "MF - _POSIX_MAPPED_FILES - _SC_MAPPED_FILES"
202 .SS "ML - _POSIX_MEMLOCK - _SC_MEMLOCK"
214 .SS "MR/MLR - _POSIX_MEMLOCK_RANGE - _SC_MEMLOCK_RANGE"
226 .SS "MPR - _POSIX_MEMORY_PROTECTION - _SC_MEMORY_PROTECTION"
230 .SS "MSG - _POSIX_MESSAGE_PASSING - _SC_MESSAGE_PASSING"
250 .SS "MON - _POSIX_MONOTONIC_CLOCK - _SC_MONOTONIC_CLOCK"
262 .IR clock_gettime (),
263 .IR clock_settime (),
267 .SS "--- - _POSIX_MULTI_PROCESS - _SC_MULTI_PROCESS"
268 このオプションは削除された。XPG6 最終版にはない。
270 .\" IEC 60559 浮動小数点数オプション。
271 .SS "--- - _POSIX_NO_TRUNC"
272 このオプションが有効な場合 (POSIX.1-2001 では常に有効)、
274 より長いパス名の構成要素は切り詰められないが、エラーになる。
275 この設定は構成要素のパス接頭辞に依存する場合もある。
276 .SS "PIO - _POSIX_PRIORITIZED_IO - _SC_PRIORITIZED_IO"
277 このオプションは非同期 I/O の優先度が指定できることを表す。
287 .SS "PS - _POSIX_PRIORITY_SCHEDULING - _SC_PRIORITY_SCHEDULING"
296 .IR sched_get_priority_max (),
297 .IR sched_get_priority_min (),
298 .IR sched_getparam (),
299 .IR sched_getscheduler (),
300 .IR sched_rr_get_interval (),
301 .IR sched_setparam (),
302 .IR sched_setscheduler (),
313 .IR posix_spawnattr_getschedparam (),
314 .IR posix_spawnattr_getschedpolicy (),
315 .IR posix_spawnattr_setschedparam (),
316 .IR posix_spawnattr_setschedpolicy ().
319 .SS "RS - _POSIX_RAW_SOCKETS"
331 .SS "--- - _POSIX_READER_WRITER_LOCKS - _SC_READER_WRITER_LOCKS"
337 オプションはこのオプションを暗黙の内に指定する。
342 .IR pthread_rwlock_destroy (),
343 .IR pthread_rwlock_init (),
344 .IR pthread_rwlock_rdlock (),
345 .IR pthread_rwlock_tryrdlock (),
346 .IR pthread_rwlock_trywrlock (),
347 .IR pthread_rwlock_unlock (),
348 .IR pthread_rwlock_wrlock (),
349 .IR pthread_rwlockattr_destroy (),
350 .IR pthread_rwlockattr_init ().
353 .SS "RTS - _POSIX_REALTIME_SIGNALS - _SC_REALTIME_SIGNALS"
354 リアルタイムシグナルがサポートされている。
366 .SS "--- - _POSIX_REGEXP - _SC_REGEXP"
367 このオプションが有効な場合 (POSIX.1-2001 では常に有効)、
368 POSIX 正規表現がサポートされ、以下の関数が存在する。
380 .SS "--- - _POSIX_SAVED_IDS - _SC_SAVED_IDS"
381 このオプションが有効な場合 (POSIX.1-2001 では常に有効)、
382 プロセスは保存 (saved) set-user-ID と保存 set-group-ID を持つ。
399 .SS "SEM - _POSIX_SEMAPHORES - _SC_SEMAPHORES"
420 .SS "SHM - _POSIX_SHARED_MEMORY_OBJECTS - _SC_SHARED_MEMORY_OBJECTS"
433 .SS "--- - _POSIX_SHELL - _SC_SHELL"
434 このオプションが有効な場合 (POSIX.1-2001 では常に有効)、関数
437 .SS "SPN - _POSIX_SPAWN - _SC_SPAWN"
438 このオプションは、例えば MMU が存在しないなどの理由によって、
440 を使用することが難しいか不可能という状況で、
451 .IR posix_spawn_file_actions_addclose (),
452 .IR posix_spawn_file_actions_adddup2 (),
453 .IR posix_spawn_file_actions_addopen (),
454 .IR posix_spawn_file_actions_destroy (),
455 .IR posix_spawn_file_actions_init (),
456 .IR posix_spawnattr_destroy (),
457 .IR posix_spawnattr_getsigdefault (),
458 .IR posix_spawnattr_getflags (),
459 .IR posix_spawnattr_getpgroup (),
460 .IR posix_spawnattr_getsigmask (),
461 .IR posix_spawnattr_init (),
462 .IR posix_spawnattr_setsigdefault (),
463 .IR posix_spawnattr_setflags (),
464 .IR posix_spawnattr_setpgroup (),
465 .IR posix_spawnattr_setsigmask (),
471 .B _POSIX_PRIORITY_SCHEDULING
477 .IR posix_spawnattr_getschedparam (),
478 .IR posix_spawnattr_getschedpolicy (),
479 .IR posix_spawnattr_setschedparam (),
480 .IR posix_spawnattr_setschedpolicy ().
483 .SS "SPI - _POSIX_SPIN_LOCKS - _SC_SPIN_LOCKS"
487 .B _POSIX_THREAD_SAFE_FUNCTIONS
494 .IR pthread_spin_destroy (),
495 .IR pthread_spin_init (),
496 .IR pthread_spin_lock (),
497 .IR pthread_spin_trylock (),
498 .IR pthread_spin_unlock ().
502 .SS "SS - _POSIX_SPORADIC_SERVER - _SC_SPORADIC_SERVER"
507 .B _POSIX_PRIORITY_SCHEDULING
514 .IR sched_setparam (),
515 .IR sched_setscheduler ().
519 .SS "SIO - _POSIX_SYNCHRONIZED_IO - _SC_SYNCHRONIZED_IO"
525 .SS "TSA - _POSIX_THREAD_ATTR_STACKADDR - _SC_THREAD_ATTR_STACKADDR"
531 .IR pthread_attr_getstack (),
532 .IR pthread_attr_getstackaddr (),
533 .IR pthread_attr_setstack (),
534 .IR pthread_attr_setstackaddr ().
538 .SS "TSS - _POSIX_THREAD_ATTR_STACKSIZE - _SC_THREAD_ATTR_STACKSIZE"
544 .IR pthread_attr_getstack (),
545 .IR pthread_attr_getstacksize (),
546 .IR pthread_attr_setstack (),
547 .IR pthread_attr_setstacksize ().
551 .SS "TCT - _POSIX_THREAD_CPUTIME - _SC_THREAD_CPUTIME"
552 clockID CLOCK_THREAD_CPUTIME_ID がサポートされている。
561 .IR pthread_getcpuclockid (),
563 .IR clock_gettime (),
564 .IR clock_settime (),
569 .SS "TPI - _POSIX_THREAD_PRIO_INHERIT - _SC_THREAD_PRIO_INHERIT"
575 .IR pthread_mutexattr_getprotocol (),
576 .IR pthread_mutexattr_setprotocol ().
580 .SS "TPP - _POSIX_THREAD_PRIO_PROTECT - _SC_THREAD_PRIO_PROTECT"
586 .IR pthread_mutex_getprioceiling (),
587 .IR pthread_mutex_setprioceiling (),
588 .IR pthread_mutexattr_getprioceiling (),
589 .IR pthread_mutexattr_getprotocol (),
590 .IR pthread_mutexattr_setprioceiling (),
591 .IR pthread_mutexattr_setprotocol ().
595 .SS "TPS - _POSIX_THREAD_PRIORITY_SCHEDULING - _SC_THREAD_PRIORITY_SCHEDULING"
596 このオプションが有効な場合、1 つのプロセス内の個々のスレッドを
597 個々の優先度または個々のスケジューラ (またはその両方) で実行できる。
603 .IR pthread_attr_getinheritsched (),
604 .IR pthread_attr_getschedpolicy (),
605 .IR pthread_attr_getscope (),
606 .IR pthread_attr_setinheritsched (),
607 .IR pthread_attr_setschedpolicy (),
608 .IR pthread_attr_setscope (),
609 .IR pthread_getschedparam (),
610 .IR pthread_setschedparam (),
611 .IR pthread_setschedprio ().
615 .SS "TSH - _POSIX_THREAD_PROCESS_SHARED - _SC_THREAD_PROCESS_SHARED"
621 .IR pthread_barrierattr_getpshared (),
622 .IR pthread_barrierattr_setpshared (),
623 .IR pthread_condattr_getpshared (),
624 .IR pthread_condattr_setpshared (),
625 .IR pthread_mutexattr_getpshared (),
626 .IR pthread_mutexattr_setpshared (),
627 .IR pthread_rwlockattr_getpshared (),
628 .IR pthread_rwlockattr_setpshared ().
632 .SS "TSF - _POSIX_THREAD_SAFE_FUNCTIONS - _SC_THREAD_SAFE_FUNCTIONS"
646 .IR getc_unlocked (),
647 .IR getchar_unlocked (),
648 .IR putc_unlocked (),
649 .IR putchar_unlocked (),
660 .SS "TSP - _POSIX_THREAD_SPORADIC_SERVER - _SC_THREAD_SPORADIC_SERVER"
662 .B _POSIX_THREAD_PRIORITY_SCHEDULING
669 .IR sched_getparam (),
670 .IR sched_setparam (),
671 .IR sched_setscheduler ().
675 .SS "THR - _POSIX_THREADS - _SC_THREADS"
676 POSIX スレッドの基本サポートが使用可能である。
682 .IR pthread_atfork (),
683 .IR pthread_attr_destroy (),
684 .IR pthread_attr_getdetachstate (),
685 .IR pthread_attr_getschedparam (),
686 .IR pthread_attr_init (),
687 .IR pthread_attr_setdetachstate (),
688 .IR pthread_attr_setschedparam (),
689 .IR pthread_cancel (),
690 .IR pthread_cleanup_push (),
691 .IR pthread_cleanup_pop (),
692 .IR pthread_cond_broadcast (),
693 .IR pthread_cond_destroy (),
694 .IR pthread_cond_init (),
695 .IR pthread_cond_signal (),
696 .IR pthread_cond_timedwait (),
697 .IR pthread_cond_wait (),
698 .IR pthread_condattr_destroy (),
699 .IR pthread_condattr_init (),
700 .IR pthread_create (),
701 .IR pthread_detach (),
702 .IR pthread_equal (),
704 .IR pthread_getspecific (),
706 .IR pthread_key_create (),
707 .IR pthread_key_delete (),
708 .IR pthread_mutex_destroy (),
709 .IR pthread_mutex_init (),
710 .IR pthread_mutex_lock (),
711 .IR pthread_mutex_trylock (),
712 .IR pthread_mutex_unlock (),
713 .IR pthread_mutexattr_destroy (),
714 .IR pthread_mutexattr_init (),
716 .IR pthread_rwlock_destroy (),
717 .IR pthread_rwlock_init (),
718 .IR pthread_rwlock_rdlock (),
719 .IR pthread_rwlock_tryrdlock (),
720 .IR pthread_rwlock_trywrlock (),
721 .IR pthread_rwlock_unlock (),
722 .IR pthread_rwlock_wrlock (),
723 .IR pthread_rwlockattr_destroy (),
724 .IR pthread_rwlockattr_init (),
726 .IR pthread_setcancelstate (),
727 .IR pthread_setcanceltype (),
728 .IR pthread_setspecific (),
729 .IR pthread_testcancel ().
733 .SS "TMO - _POSIX_TIMEOUTS - _SC_TIMEOUTS"
739 .IR mq_timedreceive (),
741 .IR pthread_mutex_timedlock (),
742 .IR pthread_rwlock_timedrdlock (),
743 .IR pthread_rwlock_timedwrlock (),
744 .IR sem_timedwait (),
745 .IR posix_trace_timedgetnext_event ().
749 .SS "TMR - _POSIX_TIMERS - _SC_TIMERS"
756 .IR clock_gettime (),
757 .IR clock_settime (),
761 .IR timer_gettime (),
762 .IR timer_getoverrun (),
763 .IR timer_settime ().
767 .SS "TRC - _POSIX_TRACE - _SC_TRACE"
768 POSIX トレーシング (tracing) が使用可能である。
774 .IR posix_trace_attr_destroy (),
775 .IR posix_trace_attr_getclockres (),
776 .IR posix_trace_attr_getcreatetime (),
777 .IR posix_trace_attr_getgenversion (),
778 .IR posix_trace_attr_getmaxdatasize (),
779 .IR posix_trace_attr_getmaxsystemeventsize (),
780 .IR posix_trace_attr_getmaxusereventsize (),
781 .IR posix_trace_attr_getname (),
782 .IR posix_trace_attr_getstreamfullpolicy (),
783 .IR posix_trace_attr_getstreamsize (),
784 .IR posix_trace_attr_init (),
785 .IR posix_trace_attr_setmaxdatasize (),
786 .IR posix_trace_attr_setname (),
787 .IR posix_trace_attr_setstreamsize (),
788 .IR posix_trace_attr_setstreamfullpolicy (),
789 .IR posix_trace_clear (),
790 .IR posix_trace_create (),
791 .IR posix_trace_event (),
792 .IR posix_trace_eventid_equal (),
793 .IR posix_trace_eventid_get_name (),
794 .IR posix_trace_eventid_open (),
795 .IR posix_trace_eventtypelist_getnext_id (),
796 .IR posix_trace_eventtypelist_rewind (),
797 .IR posix_trace_flush (),
798 .IR posix_trace_get_attr (),
799 .IR posix_trace_get_status (),
800 .IR posix_trace_getnext_event (),
801 .IR posix_trace_shutdown (),
802 .IR posix_trace_start (),
803 .IR posix_trace_stop (),
804 .IR posix_trace_trygetnext_event ().
808 .SS "TEF - _POSIX_TRACE_EVENT_FILTER - _SC_TRACE_EVENT_FILTER"
817 .IR posix_trace_eventset_add (),
818 .IR posix_trace_eventset_del (),
819 .IR posix_trace_eventset_empty (),
820 .IR posix_trace_eventset_fill (),
821 .IR posix_trace_eventset_ismember (),
822 .IR posix_trace_get_filter (),
823 .IR posix_trace_set_filter (),
824 .IR posix_trace_trid_eventid_open ().
828 .SS "TRI - _POSIX_TRACE_INHERIT - _SC_TRACE_INHERIT"
829 トレースされているプロセスの子プロセスのトレースをサポートする。
838 .IR posix_trace_attr_getinherited (),
839 .IR posix_trace_attr_setinherited ().
843 .SS "TRL - _POSIX_TRACE_LOG - _SC_TRACE_LOG"
852 .IR posix_trace_attr_getlogfullpolicy (),
853 .IR posix_trace_attr_getlogsize (),
854 .IR posix_trace_attr_setlogfullpolicy (),
855 .IR posix_trace_attr_setlogsize (),
856 .IR posix_trace_close (),
857 .IR posix_trace_create_withlog (),
858 .IR posix_trace_open (),
859 .IR posix_trace_rewind ().
863 .SS "TYM - _POSIX_TYPED_MEMORY_OBJECTS - _SC_TYPED_MEMORY_OBJECT"
869 .IR posix_mem_offset (),
870 .IR posix_typed_mem_get_info (),
871 .IR posix_typed_mem_open ().
875 .SS "--- - _POSIX_VDISABLE"
878 これにより特殊制御文字が無効であることを表す。
882 .BR _XOPEN_REALTIME ,
883 .BR _XOPEN_REALTIME_THREADS ,