X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=release%2Fman2%2Fsyscalls.2;h=0c5d3616873faebc17df922a6793480ab8a57a9b;hb=8c3216bbefd2adb71d0db76c057521f8da86ceab;hp=59b5a4f9a99d15b28ac3f7e367b66b5fdd73610c;hpb=7e089fcc022461849bbc09437103cc337a88dd9c;p=linuxjm%2FLDP_man-pages.git diff --git a/release/man2/syscalls.2 b/release/man2/syscalls.2 index 59b5a4f9..0c5d3616 100644 --- a/release/man2/syscalls.2 +++ b/release/man2/syscalls.2 @@ -6,6 +6,7 @@ .\" Modifications for 2.2 and 2.4 Copyright (C) 2002 Ian Redfern .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -25,6 +26,13 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* .\" .\" Japanese Version Copyright (c) 1998 HANATAKA Shinya .\" all rights reserved. @@ -33,75 +41,41 @@ .\" Modified 2005-04-05, Akihiro MOTOKI .\" Updated 2007-09-08, Akihiro MOTOKI , LDP v2.64 .\" Updated 2008-11-09, Akihiro MOTOKI , LDP v3.13 +.\" Updated 2012-04-30, Akihiro MOTOKI +.\" Updated 2012-05-29, Akihiro MOTOKI +.\" Updated 2013-05-01, Akihiro MOTOKI .\" -.TH SYSCALLS 2 2010-10-09 "Linux" "Linux Programmer's Manual" -.SH ̾Á° -syscalls \- Linux ¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë -.SH ½ñ¼° -Linux ¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¡£ -.SH ÀâÌÀ -¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È Linux ¥«¡¼¥Í¥ë¤È¤Î´Ö¤Î -´ðËÜŪ¤Ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¢¤ë¡£ -.SS ¥·¥¹¥Æ¥à¥³¡¼¥ë¤È¥é¥¤¥Ö¥é¥ê¤Î¥é¥Ã¥Ñ¡¼´Ø¿ô -¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï°ìÈ̤ˤÏľÀܵ¯Æ°¤µ¤ì¤º¡¢ -glibc (¤ä¾¤Î²¿¤é¤«¤Î¥é¥¤¥Ö¥é¥ê) ·Ðͳ¤Çµ¯Æ°¤µ¤ì¤ë¡£ -¥·¥¹¥Æ¥à¥³¡¼¥ë¤ÎľÀܵ¯Æ°¤Ë¤Ä¤¤¤Æ¤Ï¡¢¾ÜºÙ¤Ï -.BR intro (2) -¤ò»²¾È¤Î¤³¤È¡£ -¤¤¤Ä¤â¤È¤¤¤¦Ìõ¤Ç¤Ï¤Ê¤¤¤¬¡¢ÉáÄ̤ϡ¢¥é¥Ã¥Ñ¡¼´Ø¿ô¤Î̾Á°¤Ï¤½¤Î´Ø¿ô¤¬µ¯Æ°¤¹¤ë -¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î̾Á°¤ÈƱ¤¸¤Ç¤¢¤ë¡£ -Î㤨¤Ð¡¢glibc ¤Ë¤Ï -.BR truncate () -¤È¤¤¤¦´Ø¿ô¤¬¤¢¤ê¡¢¤³¤Î´Ø¿ô¤Ï "truncate" ¥·¥¹¥Æ¥à¥³¡¼¥ë¤òµ¯Æ°¤¹¤ë¡£ +.TH SYSCALLS 2 2013\-04\-17 Linux "Linux Programmer's Manual" +.SH 名前 +syscalls \- Linux のシステムコール +.SH 書式 +Linux のシステムコール。 +.SH 説明 +システムコールは、アプリケーションと Linux カーネルとの間の 基本的なインタフェースである。 +.SS システムコールとライブラリのラッパー関数 +システムコールは一般には直接起動されず、 glibc (や他の何らかのライブラリ) 経由で起動される。 システムコールの直接起動については、詳細は +\fBintro\fP(2) を参照のこと。 いつもという訳ではないが、普通は、ラッパー関数の名前はその関数が起動する システムコールの名前と同じである。 +例えば、glibc には \fBtruncate\fP() という関数があり、この関数は "truncate" システムコールを起動する。 -¤¿¤¤¤Æ¤¤¤Î¾ì¹ç¡¢glibc ¤Î¥é¥Ã¥Ñ¡¼´Ø¿ô¤Ï¤«¤Ê¤ê´Êñ¤Ê¤â¤Î¤Ç¡¢ -¥·¥¹¥Æ¥à¥³¡¼¥ë¤òµ¯Æ°¤¹¤ëÁ°¤Ë°ú¤­¿ô¤òŬÀڤʥ쥸¥¹¥¿¤Ë¥³¥Ô¡¼¤·¡¢ -¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬Ê֤俸å¤Ï -.I errno -¤òŬÀÚ¤ËÀßÄꤹ¤ë°Ê³°¤Ï¡¢¤Û¤È¤ó¤É½èÍý¤ò¹Ô¤ï¤Ê¤¤ -(¤³¤ì¤é¤Ï¡¢¥é¥Ã¥Ñ¡¼´Ø¿ô¤¬Ä󶡤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë -¥·¥¹¥Æ¥à¥³¡¼¥ë¤òµ¯Æ°¤¹¤ë¤Î¤Ë»ÈÍѤ¹¤ë -.BR syscall (2) -¤Ë¤è¤ê¼Â¹Ô¤µ¤ì¤ë½èÍý¤ÈƱ¤¸¤Ç¤¢¤ë)¡£ -[Ãí°Õ] ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¼ºÇÔ¤ò¼¨¤¹¤Î¤ËÉé¤Î¥¨¥é¡¼ÈÖ¹æ¤ò¸Æ¤Ó½Ð¤·¸µ¤ËÊÖ¤¹¡£ -¼ºÇÔ¤¬µ¯¤³¤Ã¤¿ºÝ¤Ë¤Ï¡¢¥é¥Ã¥Ñ¡¼´Ø¿ô¤ÏÊÖ¤µ¤ì¤¿¥¨¥é¡¼ÈÖ¹æ¤òȿž¤·¤Æ -(Àµ¤ÎÃͤËÊÑ´¹¤·)¡¢¤½¤ì¤ò -.I errno -¤Ë¥³¥Ô¡¼¤·¡¢¥é¥Ã¥Ñ¡¼´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¸µ¤Ë \-1 ¤òÊÖ¤¹¡£ +たいていの場合、glibc のラッパー関数はかなり簡単なもので、 システムコールを起動する前に引き数を適切なレジスタにコピーし、 +システムコールが返った後は \fIerrno\fP を適切に設定する以外は、ほとんど処理を行わない (これらは、ラッパー関数が提供されていない場合に +システムコールを起動するのに使用する \fBsyscall\fP(2) により実行される処理と同じである)。 [注意] +システムコールは失敗を示すのに負のエラー番号を呼び出し元に返す。 失敗が起こった際には、ラッパー関数は返されたエラー番号を反転して +(正の値に変換し)、それを \fIerrno\fP にコピーし、ラッパー関数の呼び出し元に \-1 を返す。 -¤·¤«¤·¤Ê¤¬¤é¡¢»þ¤Ë¤Ï¡¢¥é¥Ã¥Ñ¡¼´Ø¿ô¤¬¥·¥¹¥Æ¥à¥³¡¼¥ë¤òµ¯Æ°¤¹¤ëÁ°¤Ë -²¿¤é¤«¤ÎÄɲäνèÍý¤ò¹Ô¤¦¾ì¹ç¤¬¤¢¤ë¡£ -Î㤨¤Ð¡¢¸½ºß¡¢ -Æó¤Ä¤Î´ØÏ¢¤¹¤ë¥·¥¹¥Æ¥à¥³¡¼¥ë -.BR truncate (2) -¤È -.BR truncate64 (2) -¤¬¤¢¤ê¡¢glibc ¤Î¥é¥Ã¥Ñ¡¼´Ø¿ô -.BR truncate () -¤Ï¡¢¥«¡¼¥Í¥ë¤¬¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î¤¦¤Á¤É¤Á¤é¤òÄ󶡤·¤Æ¤¤¤ë¤«¤ò¥Á¥§¥Ã¥¯¤·¡¢ -¤É¤Á¤é¤òºÎÍѤ¹¤ë¤«¤ò·èÄꤹ¤ë¡£ -.SS ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î¥ê¥¹¥È -°Ê²¼¤Ï¡¢¤Û¤È¤ó¤É¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¶¦Ä̤¹¤ë¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£ -¤³¤Î¥ê¥¹¥È¤Ç¡¢ -.I Kernel -¤ÎÎó¤Ï¡¢Linux 2.2 °Ê¹ß¤ÇÅо줷¤¿¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬ -Åо줷¤¿¥«¡¼¥Í¥ë¥Ð¡¼¥¸¥ç¥ó¤ò¼¨¤¹¡£ -°Ê²¼¤Ë¾ÜºÙ¤ÊÀâÌÀ¤òµ­¤¹¡£ +しかしながら、時には、ラッパー関数がシステムコールを起動する前に 何らかの追加の処理を行う場合がある。 例えば、現在、 二つの関連するシステムコール +\fBtruncate\fP(2) と \fBtruncate64\fP(2) があり、glibc のラッパー関数 \fBtruncate\fP() +は、カーネルがこれらのシステムコールのうちどちらを提供しているかをチェックし、 どちらを採用するかを決定する。 +.SS システムコールのリスト +以下は Linux のシステムコールのリストである。 このリストで、 \fIKernel\fP の列は、Linux 2.2 以降で登場したシステムコールが +登場したカーネルバージョンを示す。 以下に詳細な説明を記す。 .IP * 3 -¥«¡¼¥Í¥ë¥Ð¡¼¥¸¥ç¥ó¤¬¤Ê¤¤¾ì¹ç¡¢¤½¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï -¥«¡¼¥Í¥ë 1.0 ¤â¤·¤¯¤Ï¤½¤ì°ÊÁ°¤ËÅо줷¤¿¡£ +カーネルバージョンがない場合、そのシステムコールは カーネル 1.0 もしくはそれ以前に登場した。 .IP * -¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ë "1.2" ¤È½ñ¤«¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ -¤½¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬¤ª¤½¤é¤¯¥Ð¡¼¥¸¥ç¥ó 1.1.x ¤Î¥«¡¼¥Í¥ë¤ÇÅо줷¡¢ -°ÂÄêÈǤΥ«¡¼¥Í¥ë¤Ç¤Ï 1.2 ¤Ç½é¤á¤ÆÅо줷¤¿¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ -(¥Ð¡¼¥¸¥ç¥ó 1.2 ¤Î¥«¡¼¥Í¥ë¤Ï¡¢¥«¡¼¥Í¥ë 1.0.6 ¤«¤éʬ´ô¤·¡¢ -¥Ð¡¼¥¸¥ç¥ó 1.1.x ¤ÎÉÔ°ÂÄêÈǤΥ«¡¼¥Í¥ë·ÏÎó¤È¤·¤Æ³«È¯¤µ¤ì¤¿¡£) +システムコールに "1.2" と書かれている場合、 そのシステムコールがおそらくバージョン 1.1.x のカーネルで登場し、 安定版のカーネルでは +1.2 で初めて登場したことを意味する。 (バージョン 1.2 のカーネルは、カーネル 1.0.6 から分岐し、 バージョン 1.1.x +の不安定版のカーネル系列として開発された。) .IP * -¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ë "2.0" ¤È½ñ¤«¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ -¤½¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬¤ª¤½¤é¤¯¥Ð¡¼¥¸¥ç¥ó 1.3.x ¤Î¥«¡¼¥Í¥ë¤ÇÅо줷¡¢ -°ÂÄêÈǤΥ«¡¼¥Í¥ë¤Ç¤Ï 2.0 ¤Ç½é¤á¤ÆÅо줷¤¿¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ -(¥Ð¡¼¥¸¥ç¥ó 2.0 ¤Î¥«¡¼¥Í¥ë¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó 1.2.10 ¤¢¤¿¤ê¤Î¥«¡¼¥Í¥ë 1.2.x -¤«¤éʬ´ô¤·¡¢¥Ð¡¼¥¸¥ç¥ó 1.3.x ¤ÎÉÔ°ÂÄêÈǤΥ«¡¼¥Í¥ë·ÏÎó¤È¤·¤Æ³«È¯¤µ¤ì¤¿¡£) .\" Was kernel 2.0 started from a branch of 1.2.10? .\" At least from the timestamps of the tarballs of .\" of 1.2.10 and 1.3.0, that's how it looks, but in @@ -111,44 +85,39 @@ glibc ( .\" timestamps of some files in 1.3.0 seem to be older .\" than those in 1.2.10. All of this suggests .\" that there might not have been a clean branch point. +システムコールに "2.0" と書かれている場合、 そのシステムコールがおそらくバージョン 1.3.x のカーネルで登場し、 安定版のカーネルでは +2.0 で初めて登場したことを意味する。 (バージョン 2.0 のカーネルは、バージョン 1.2.10 あたりのカーネル 1.2.x +から分岐し、バージョン 1.3.x の不安定版のカーネル系列として開発された。) .IP * -¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ë "2.2" ¤È½ñ¤«¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ -¤½¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬¤ª¤½¤é¤¯¥Ð¡¼¥¸¥ç¥ó 2.1.x ¤Î¥«¡¼¥Í¥ë¤ÇÅо줷¡¢ -°ÂÄêÈǤΥ«¡¼¥Í¥ë¤Ç¤Ï 2.2.0 ¤Ç½é¤á¤ÆÅо줷¤¿¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ -(¥Ð¡¼¥¸¥ç¥ó 2.2 ¤Î¥«¡¼¥Í¥ë¤Ï¡¢¥«¡¼¥Í¥ë 2.0.21 ¤«¤éʬ´ô¤·¡¢ -¥Ð¡¼¥¸¥ç¥ó 2.1.x ¤ÎÉÔ°ÂÄêÈǤΥ«¡¼¥Í¥ë·ÏÎó¤È¤·¤Æ³«È¯¤µ¤ì¤¿¡£) +システムコールに "2.2" と書かれている場合、 そのシステムコールがおそらくバージョン 2.1.x のカーネルで登場し、 安定版のカーネルでは +2.2.0 で初めて登場したことを意味する。 (バージョン 2.2 のカーネルは、カーネル 2.0.21 から分岐し、 バージョン 2.1.x +の不安定版のカーネル系列として開発された。) .IP * -¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ë "2.4" ¤È½ñ¤«¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ -¤½¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬¤ª¤½¤é¤¯¥Ð¡¼¥¸¥ç¥ó 2.3.x ¤Î¥«¡¼¥Í¥ë¤ÇÅо줷¡¢ -°ÂÄêÈǤΥ«¡¼¥Í¥ë¤Ç¤Ï 2.4.0 ¤Ç½é¤á¤ÆÅо줷¤¿¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ -(¥Ð¡¼¥¸¥ç¥ó 2.4 ¤Î¥«¡¼¥Í¥ë¤Ï¡¢¥«¡¼¥Í¥ë 2.2.8 ¤«¤éʬ´ô¤·¡¢ -¥Ð¡¼¥¸¥ç¥ó 2.3.x ¤ÎÉÔ°ÂÄêÈǤΥ«¡¼¥Í¥ë·ÏÎó¤È¤·¤Æ³«È¯¤µ¤ì¤¿¡£) +システムコールに "2.4" と書かれている場合、 そのシステムコールがおそらくバージョン 2.3.x のカーネルで登場し、 安定版のカーネルでは +2.4.0 で初めて登場したことを意味する。 (バージョン 2.4 のカーネルは、カーネル 2.2.8 から分岐し、 バージョン 2.3.x +の不安定版のカーネル系列として開発された。) .IP * -¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ë "2.6" ¤È½ñ¤«¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ -¤½¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬¤ª¤½¤é¤¯¥Ð¡¼¥¸¥ç¥ó 2.5.x ¤Î¥«¡¼¥Í¥ë¤ÇÅо줷¡¢ -°ÂÄêÈǤΥ«¡¼¥Í¥ë¤Ç¤Ï 2.6.0 ¤Ç½é¤á¤ÆÅо줷¤¿¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ -(¥Ð¡¼¥¸¥ç¥ó 2.6 ¤Î¥«¡¼¥Í¥ë¤Ï¡¢¥«¡¼¥Í¥ë 2.4.15 ¤«¤éʬ´ô¤·¡¢ -¥Ð¡¼¥¸¥ç¥ó 2.5.x ¤ÎÉÔ°ÂÄêÈǤΥ«¡¼¥Í¥ë·ÏÎó¤È¤·¤Æ³«È¯¤µ¤ì¤¿¡£) +システムコールに "2.6" と書かれている場合、 そのシステムコールがおそらくバージョン 2.5.x のカーネルで登場し、 安定版のカーネルでは +2.6.0 で初めて登場したことを意味する。 (バージョン 2.6 のカーネルは、カーネル 2.4.15 から分岐し、 バージョン 2.5.x +の不安定版のカーネル系列として開発された。) .IP * -¥«¡¼¥Í¥ë 2.6.0 ¤«¤é³«È¯¥â¥Ç¥ë¤ÏÊѹ¹¤µ¤ì¡¢ -¿·¤·¤¤¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬¸Ä¡¹¤Î 2.6.x ¤Î¥ê¥ê¡¼¥¹¤Ç¤âÅо줹¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£ -¤³¤Î¾ì¹ç¡¢¥ê¥¹¥È¤Ç¤Ï¡¢¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬Åо줷¤¿ -¸·Ì©¤Ê¥Ð¡¼¥¸¥ç¥óÈֹ椬µ­ºÜ¤µ¤ì¤Æ¤¤¤ë¡£ +カーネル 2.6.0 から開発モデルは変更され、新しいシステムコールが +個々の 2.6.x のリリースでも登場するようになった。 +その場合、このリストでは、システムコールが登場した +厳密なバージョン番号が記載されている。この慣習は、カーネル 2.6.39 の +後継となるバージョン 3.x 系列のカーネルでも継続されている。 .IP * -Á°¤Î°ÂÄêÈÇ¥«¡¼¥Í¥ë·ÏÎ󤫤éʬ´ô¤·¤¿¸å¤Ë°ÂÄêÈÇ¥«¡¼¥Í¥ë·ÏÎó¤Ë¥·¥¹¥Æ¥à¥³¡¼¥ë -¤¬Äɲ䵤줿¾ì¹ç¡¢°ÊÁ°¤Î°ÂÄêÈÇ¥«¡¼¥Í¥ë·ÏÎó¤Ë¤½¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬ -°Ü¿¢ (backport) ¤µ¤ì¤ë¤³¤È¤¬¤¢¤ë¡£ -Î㤨¤Ð¡¢2.6.x ¤ÇÅо줷¤¿¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î¤¤¤¯¤Ä¤«¤Ï¡¢ -2.4.15 °Ê¹ß¤Î 2.4.x ¥ê¥ê¡¼¥¹¤Ë¤â backport ¤µ¤ì¤¿¡£ -¤³¤Î¾ì¹ç¡¢¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬Åо줷¤¿¥Ð¡¼¥¸¥ç¥ó¤È¤·¤Æ¡¢ -ξÊý¤Î°ÂÄêÈÇ·ÏÎó¤Î¥Ð¡¼¥¸¥ç¥ó¤¬µ­ºÜ¤µ¤ì¤Æ¤¤¤ë¡£ +前の安定版カーネル系列から分岐した後に安定版カーネル系列にシステムコール が追加された場合、以前の安定版カーネル系列にそのシステムコールが 移植 +(backport) されることがある。 例えば、2.6.x で登場したシステムコールのいくつかは、 2.4.15 以降の 2.4.x リリースにも +backport された。 この場合、システムコールが登場したバージョンとして、 両方の安定版系列のバージョンが記載されている。 .PP -¥«¡¼¥Í¥ë 2.6.33 ¤ÇÍøÍѲÄǽ¤Ê¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î¥ê¥¹¥È¤ò°Ê²¼¤Ë¼¨¤¹ -(¤½¤ì°ÊÁ°¤Î¥«¡¼¥Í¥ë¤Ç¤À¤±ÍøÍѲÄǽ¤Ê¤â¤Î¤â¾¯¿ô¤À¤¬´Þ¤Þ¤ì¤ë): .\" .\" Looking at scripts/checksyscalls.sh in the kernel source is -.\" instructive about i386 specifics. +.\" instructive about x86 specifics. .\" +カーネル 3.9 で利用可能なシステムコールのリストを以下に示す +(それ以前のカーネルでだけ利用可能なものも少数だが含まれる): +.ad l .TS l l l --- @@ -156,41 +125,48 @@ l l l. \fBSystem call\fP \fBKernel\fP \fBNotes\fP \fB_llseek\fP(2) 1.2 -\fB_newselect\fP(2) -\fB_sysctl\fP(2) -\fBaccept\fP(2) +\fB_newselect\fP(2) 2.0 +\fB_sysctl\fP(2) 2.0 +\fBaccept\fP(2) 2.0 \fBsocketcall\fP(2) の「注意」の節を参照 \fBaccept4\fP(2) 2.6.28 -\fBaccess\fP(2) -\fBacct\fP(2) +\fBaccess\fP(2) 1.0 +\fBacct\fP(2) 1.0 \fBadd_key\fP(2) 2.6.11 -\fBadjtimex\fP(2) -\fBafs_syscall\fP(2) Not implemented -\fBalarm\fP(2) -\fBalloc_hugepages\fP(2) 2.5.36 Removed in 2.5.44 -\fBbdflush\fP(2) -\fBbind\fP(2) -\fBbreak\fP(2) Not implemented -\fBbrk\fP(2) -\fBcacheflush\fP(2) 1.2 Not on i386 +\fBadjtimex\fP(2) 1.0 +\fBalarm\fP(2) 1.0 +\fBalloc_hugepages\fP(2) 2.5.36 2.5.44 で削除 +\fBbdflush\fP(2) 1.2 T{ +2.6 以降では非推奨 +.br +(何もしない) +T} +\fBbind\fP(2) 2.0 \fBsocketcall\fP(2) の「注意」の節を参照 +\fBbrk\fP(2) 1.0 +\fBcacheflush\fP(2) 1.2 x86 にはない \fBcapget\fP(2) 2.2 \fBcapset\fP(2) 2.2 -\fBchdir\fP(2) -\fBchmod\fP(2) -\fBchown\fP(2) +\fBchdir\fP(2) 1.0 +\fBchmod\fP(2) 1.0 +\fBchown\fP(2) 2.2 T{ +バージョン毎の詳細は +.br +\fBchown\fP(2) を参照。 +T} \fBchown32\fP(2) 2.4 -\fBchroot\fP(2) +\fBchroot\fP(2) 1.0 +\fBclock_adjtime\fP(2) 2.6.39 \fBclock_getres\fP(2) 2.6 \fBclock_gettime\fP(2) 2.6 \fBclock_nanosleep\fP(2) 2.6 \fBclock_settime\fP(2) 2.6 -\fBclone\fP(2) -\fBclose\fP(2) -\fBconnect\fP(2) -\fBcreat\fP(2) -\fBcreate_module\fP(2) -\fBdelete_module\fP(2) -\fBdup\fP(2) -\fBdup2\fP(2) +\fBclone\fP(2) 1.0 +\fBclose\fP(2) 1.0 +\fBconnect\fP(2) 2.0 \fBsocketcall\fP(2) の「注意」の節を参照 +\fBcreat\fP(2) 1.0 +\fBcreate_module\fP(2) 2.6 で削除 +\fBdelete_module\fP(2) 1.0 +\fBdup\fP(2) 1.0 +\fBdup2\fP(2) 1.0 \fBdup3\fP(2) 2.6.27 \fBepoll_create\fP(2) 2.6 \fBepoll_create1\fP(2) 2.6.27 @@ -199,43 +175,46 @@ l l l. \fBepoll_wait\fP(2) 2.6 \fBeventfd\fP(2) 2.6.22 \fBeventfd2\fP(2) 2.6.27 -\fBexecve\fP(2) -\fBexit\fP(2) +\fBexecve\fP(2) 1.0 +\fBexit\fP(2) 1.0 \fBexit_group\fP(2) 2.6 \fBfaccessat\fP(2) 2.6.16 \fBfadvise64\fP(2) 2.6 .\" Implements \fBposix_fadvise\fP(2) \fBfadvise64_64\fP(2) 2.6 \fBfallocate\fP(2) 2.6.23 -\fBfchdir\fP(2) -\fBfchmod\fP(2) +\fBfanotify_init\fP(2) 2.6.37 +\fBfanotify_mark\fP(2) 2.6.37 +.\" The fanotify calls were added in Linux 2.6.36, +.\" but disabled while the API was finalized. +\fBfchdir\fP(2) 1.0 +\fBfchmod\fP(2) 1.0 \fBfchmodat\fP(2) 2.6.16 -\fBfchown\fP(2) +\fBfchown\fP(2) 1.0 \fBfchown32\fP(2) 2.4 \fBfchownat\fP(2) 2.6.16 -\fBfcntl\fP(2) +\fBfcntl\fP(2) 1.0 \fBfcntl64\fP(2) 2.4 -\fBfdatasync\fP(2) +\fBfdatasync\fP(2) 2.0 \fBfgetxattr\fP(2) 2.6; 2.4.18 +\fBfinit_module\fP(2) 3.8 \fBflistxattr\fP(2) 2.6; 2.4.18 \fBflock\fP(2) 2.0 -\fBfork\fP(2) -\fBfree_hugepages\fP(2) 2.5.36 Removed in 2.5.44 +\fBfork\fP(2) 1.0 +\fBfree_hugepages\fP(2) 2.5.36 2.5.44 で削除 \fBfremovexattr\fP(2) 2.6; 2.4.18 \fBfsetxattr\fP(2) 2.6; 2.4.18 -\fBfstat\fP(2) +\fBfstat\fP(2) 1.0 \fBfstat64\fP(2) 2.4 \fBfstatat64\fP(2) 2.6.16 -\fBfstatfs\fP(2) +\fBfstatfs\fP(2) 1.0 \fBfstatfs64\fP(2) 2.6 -\fBfsync\fP(2) -\fBftime\fP(2) Not implemented -.\" Implemented in glibc; see \fBftime\fP(3) -\fBftruncate\fP(2) +\fBfsync\fP(2) 1.0 1.0 +\fBftruncate\fP(2) 1.0 \fBftruncate64\fP(2) 2.4 \fBfutex\fP(2) 2.6 \fBfutimesat\fP(2) 2.6.16 -\fBget_kernel_syms\fP(2) +\fBget_kernel_syms\fP(2) 2.6 で削除 \fBget_mempolicy\fP(2) 2.6.6 \fBget_robust_list\fP(2) 2.6.17 \fBget_thread_area\fP(2) 2.6 @@ -243,42 +222,38 @@ l l l. \fBgetcwd\fP(2) 2.2 \fBgetdents\fP(2) 2.0 \fBgetdents64\fP(2) 2.4 -\fBgetegid\fP(2) +\fBgetegid\fP(2) 1.0 \fBgetegid32\fP(2) 2.4 -\fBgeteuid\fP(2) +\fBgeteuid\fP(2) 1.0 \fBgeteuid32\fP(2) 2.4 -\fBgetgid\fP(2) +\fBgetgid\fP(2) 1.0 \fBgetgid32\fP(2) 2.4 -\fBgetgroups\fP(2) +\fBgetgroups\fP(2) 1.0 \fBgetgroups32\fP(2) 2.4 -\fBgetitimer\fP(2) -\fBgetpeername\fP(2) -\fBgetpagesize\fP(2) 2.0 Not on i386 -\fBgetpgid\fP(2) -\fBgetpgrp\fP(2) -\fBgetpid\fP(2) -\fBgetpmsg\fP(2) Not implemented -.\" Reserved for STREAMS support -\fBgetppid\fP(2) -\fBgetpriority\fP(2) +\fBgetitimer\fP(2) 1.0 +\fBgetpeername\fP(2) 2.0 \fBsocketcall\fP(2) の「注意」の節を参照 +\fBgetpagesize\fP(2) 2.0 x86 にはない +\fBgetpgid\fP(2) 1.0 +\fBgetpgrp\fP(2) 1.0 +\fBgetpid\fP(2) 1.0 +\fBgetppid\fP(2) 1.0 +\fBgetpriority\fP(2) 1.0 \fBgetresgid\fP(2) 2.2 \fBgetresgid32\fP(2) 2.4 \fBgetresuid\fP(2) 2.2 \fBgetresuid32\fP(2) 2.4 -\fBgetrlimit\fP(2) -\fBgetrusage\fP(2) +\fBgetrlimit\fP(2) 1.0 +\fBgetrusage\fP(2) 1.0 \fBgetsid\fP(2) 2.0 -\fBgetsockname\fP(2) -\fBgetsockopt\fP(2) +\fBgetsockname\fP(2) 2.0 \fBsocketcall\fP(2) の「注意」の節を参照 +\fBgetsockopt\fP(2) 2.0 \fBsocketcall\fP(2) の「注意」の節を参照 \fBgettid\fP(2) 2.4.11 -\fBgettimeofday\fP(2) -\fBgetuid\fP(2) +\fBgettimeofday\fP(2) 1.0 +\fBgetuid\fP(2) 1.0 \fBgetuid32\fP(2) 2.4 .\" \fBgetunwind\fP(2) 2.4.8 ia64; DEPRECATED \fBgetxattr\fP(2) 2.6; 2.4.18 -\fBgtty\fP(2) Not implemented -\fBidle\fP(2) Not implemented -\fBinit_module\fP(2) +\fBinit_module\fP(2) 1.0 \fBinotify_add_watch\fP(2) 2.6.13 \fBinotify_init\fP(2) 2.6.13 \fBinotify_init1\fP(2) 2.6.27 @@ -288,31 +263,37 @@ l l l. \fBio_getevents\fP(2) 2.6 \fBio_setup\fP(2) 2.6 \fBio_submit\fP(2) 2.6 -\fBioctl\fP(2) -\fBioperm\fP(2) -\fBiopl\fP(2) +\fBioctl\fP(2) 1.0 +\fBioperm\fP(2) 1.0 +\fBiopl\fP(2) 1.0 \fBioprio_get\fP(2) 2.6.13 \fBioprio_set\fP(2) 2.6.13 -\fBipc\fP(2) +\fBipc\fP(2) 1.0 .\" Implements System V IPC calls -\fBkexec_load\fP(2) 2.6.7 +\fBkcmp\fP(2) 3.5 +\fBkern_features\fP(2) 3.7 Sparc64 +\fBkexec_load\fP(2) 2.6.13 +.\" The entry in the syscall table was reserved starting in 2.6.7 .\" Was named sys_kexec_load() from 2.6.7 to 2.6.16 \fBkeyctl\fP(2) 2.6.11 -\fBkill\fP(2) -\fBlchown\fP(2) 2.2 +\fBkill\fP(2) 1.0 +\fBlchown\fP(2) 1.0 T{ +バージョン毎の詳細は +.br +\fBchown\fP(2) を参照。 +T} \fBlchown32\fP(2) 2.4 \fBlgetxattr\fP(2) 2.6; 2.4.18 -\fBlink\fP(2) +\fBlink\fP(2) 1.0 \fBlinkat\fP(2) 2.6.16 -\fBlisten\fP(2) +\fBlisten\fP(2) 2.0 \fBsocketcall\fP(2) の「注意」の節を参照 \fBlistxattr\fP(2) 2.6; 2.4.18 \fBllistxattr\fP(2) 2.6; 2.4.18 -\fBlock\fP(2) Not implemented \fBlookup_dcookie\fP(2) 2.6 \fBlremovexattr\fP(2) 2.6; 2.4.18 -\fBlseek\fP(2) +\fBlseek\fP(2) 1.0 \fBlsetxattr\fP(2) 2.6; 2.4.18 -\fBlstat\fP(2) +\fBlstat\fP(2) 1.0 \fBlstat64\fP(2) 2.4 \fBmadvise\fP(2) 2.4 \fBmadvise1\fP(2) 2.4 @@ -320,112 +301,119 @@ l l l. .\" \fBmemory_ordering\fP(2) ??? Sparc64 \fBmigrate_pages\fP(2) 2.6.16 \fBmincore\fP(2) 2.4 -\fBmkdir\fP(2) +\fBmkdir\fP(2) 1.0 \fBmkdirat\fP(2) 2.6.16 -\fBmknod\fP(2) +\fBmknod\fP(2) 1.0 \fBmknodat\fP(2) 2.6.16 -\fBmlock\fP(2) -\fBmlockall\fP(2) -\fBmmap\fP(2) +\fBmlock\fP(2) 2.0 +\fBmlockall\fP(2) 2.0 +\fBmmap\fP(2) 1.0 \fBmmap2\fP(2) 2.4 -\fBmodify_ldt\fP(2) -\fBmount\fP(2) +\fBmodify_ldt\fP(2) 1.0 +\fBmount\fP(2) 1.0 \fBmove_pages\fP(2) 2.6.18 -\fBmprotect\fP(2) -\fBmpx\fP(2) Not implemented +\fBmprotect\fP(2) 1.0 \fBmq_getsetattr\fP(2) 2.6.6 .\" Implements \fBmq_getattr\fP(3) and \fBmq_setattr\fP(3) \fBmq_notify\fP(2) 2.6.6 \fBmq_open\fP(2) 2.6.6 \fBmq_timedreceive\fP(2) 2.6.6 \fBmq_timedsend\fP(2) 2.6.6 -\fBmq_unlink\fP(2) +\fBmq_unlink\fP(2) 2.6.6 \fBmremap\fP(2) 2.0 -\fBmsgctl\fP(2) -\fBmsgget\fP(2) -\fBmsgrcv\fP(2) -\fBmsgsnd\fP(2) +\fBmsgctl\fP(2) 2.0 \fBipc\fP(2) の「注意」の節を参照 +\fBmsgget\fP(2) 2.0 \fBipc\fP(2) の「注意」の節を参照 +\fBmsgrcv\fP(2) 2.0 \fBipc\fP(2) の「注意」の節を参照 +\fBmsgsnd\fP(2) 2.0 \fBipc\fP(2) の「注意」の節を参照 \fBmsync\fP(2) 2.0 .\" \fBmultiplexer\fP(2) ?? __NR_multiplexer reserved on .\" PowerPC, but unimplemented? -\fBmunlock\fP(2) -\fBmunlockall\fP(2) -\fBmunmap\fP(2) +\fBmunlock\fP(2) 2.0 +\fBmunlockall\fP(2) 2.0 +\fBmunmap\fP(2) 1.0 +\fBname_to_handle_at\fP(2) 2.6.39 \fBnanosleep\fP(2) 2.0 -\fBnfsservctl\fP(2) 2.2 -\fBnice\fP(2) -\fBoldfstat\fP(2) -\fBoldlstat\fP(2) -\fBoldolduname\fP(2) -\fBoldstat\fP(2) -\fBolduname\fP(2) -\fBopen\fP(2) +\fBnfsservctl\fP(2) 2.2 3.1 で削除 +\fBnice\fP(2) 1.0 +\fBoldfstat\fP(2) 1.0 +\fBoldlstat\fP(2) 1.0 +\fBoldolduname\fP(2) 1.0 +\fBoldstat\fP(2) 1.0 +\fBolduname\fP(2) 1.0 +\fBopen\fP(2) 1.0 +\fBopen_by_handle_at\fP(2) 2.6.39 \fBopenat\fP(2) 2.6.16 -\fBpause\fP(2) -\fBpciconfig_iobase\fP(2) 2.2.15; 2.4 Not on i386 -.\" Alpha, PowerPC, ARM; not i386 -\fBpciconfig_read\fP(2) 2.0.26; 2.2 Not on i386 -.\" , PowerPC, ARM; not i386 -\fBpciconfig_write\fP(2) 2.0.26; 2.2 Not on i386 -.\" , PowerPC, ARM; not i386 -\fBperf_event_open\fP(2) 2.6.31 Was called perf_counter_open() - in 2.6.31; renamed in 2.6.32 +\fBpause\fP(2) 1.0 +\fBpciconfig_iobase\fP(2) 2.2.15; 2.4 x86 にはない +.\" Alpha, PowerPC, ARM; not x86 +\fBpciconfig_read\fP(2) 2.0.26; 2.2 x86 にはない +.\" , PowerPC, ARM; not x86 +\fBpciconfig_write\fP(2) 2.0.26; 2.2 x86 にはない +.\" , PowerPC, ARM; not x86 +\fBperf_event_open\fP(2) 2.6.31 T{ +2.6.31 では perf_counter_open() という +.br +名前であった; 2.6.32 で名称変更 +T} \fBpersonality\fP(2) 1.2 -.\" \fBperfctr\fP(2) ??? Sparc32, Sparc64 -.\" \fBperfmonctl\fP(2) ??? ia64 -\fBphys\fP(2) Not implemented -.\" Unimplemented (no slot since 2.1.116) -\fBpipe\fP(2) +\fBperfctr\fP(2) 2.2 Sparc; 2.6.34 で削除 +.\" commit c7d5a0050773e98d1094eaa9f2a1a793fafac300 removed perfctr() +\fBperfmonctl\fP(2) 2.4 ia64 +\fBpipe\fP(2) 1.0 \fBpipe2\fP(2) 2.6.27 \fBpivot_root\fP(2) 2.4 -\fBpoll\fP(2) 2.2 +\fBpoll\fP(2) 2.0.36; 2.2 +\fBppc_rtas\fP(2) PowerPC のみ \fBppoll\fP(2) 2.6.16 \fBprctl\fP(2) 2.2 -\fBpread64\fP(2) Added as "pread" in 2.2; - renamed "pread64" in 2.6 +\fBpread64\fP(2) T{ +2.2 で "pread" として追加; +.br +2.6 で "pread64" に名称変更 +T} \fBpreadv\fP(2) 2.6.30 -\fBprof\fP(2) Not implemented -\fBprofil\fP(2) Not implemented -.\" Implemented in glibc; see \fBprofil\fP(3) +\fBprlimit\fP(2) 2.6.36 +\fBprocess_vm_readv\fP(2) 3.2 +\fBprocess_vm_writev\fP(2) 3.2 \fBpselect6\fP(2) 2.6.16 .\" Implements \fBpselect\fP(2) -\fBptrace\fP(2) -\fBputpmsg\fP(2) Not implemented -.\" Reserved for STREAMS support -\fBpwrite64\fP(2) Added as "pwrite" in 2.2; - renamed "pwrite64" in 2.6 +\fBptrace\fP(2) 1.0 +\fBpwrite64\fP(2) T{ +2.2 で "pwrite" として追加; +.br +2.6 で "pwrite64" に名称変更 +T} \fBpwritev\fP(2) 2.6.30 -\fBquery_module\fP(2) 2.2 -\fBquotactl\fP(2) -\fBread\fP(2) +\fBquery_module\fP(2) 2.2 2.6 で削除 +\fBquotactl\fP(2) 1.0 +\fBread\fP(2) 1.0 \fBreadahead\fP(2) 2.4.13 -\fBreaddir\fP(2) +\fBreaddir\fP(2) 1.0 .\" Supersedes \fBgetdents\fP(2) -\fBreadlink\fP(2) +\fBreadlink\fP(2) 1.0 \fBreadlinkat\fP(2) 2.6.16 \fBreadv\fP(2) 2.0 -\fBreboot\fP(2) -\fBrecv\fP(2) -\fBrecvfrom\fP(2) -\fBrecvmsg\fP(2) +\fBreboot\fP(2) 1.0 +\fBrecv\fP(2) 2.0 \fBsocketcall\fP(2) の「注意」の節を参照 +\fBrecvfrom\fP(2) 2.0 \fBsocketcall\fP(2) の「注意」の節を参照 +\fBrecvmsg\fP(2) 2.0 \fBsocketcall\fP(2) の「注意」の節を参照 \fBrecvmmsg\fP(2) 2.6.33 \fBremap_file_pages\fP(2) 2.6 \fBremovexattr\fP(2) 2.6; 2.4.18 -\fBrename\fP(2) +\fBrename\fP(2) 1.0 \fBrenameat\fP(2) 2.6.16 \fBrequest_key\fP(2) 2.6.11 \fBrestart_syscall\fP(2) 2.6 -\fBrmdir\fP(2) +\fBrmdir\fP(2) 1.0 \fBrt_sigaction\fP(2) 2.2 \fBrt_sigpending\fP(2) 2.2 \fBrt_sigprocmask\fP(2) 2.2 \fBrt_sigqueueinfo\fP(2) 2.2 -.\" Implements \fBsigqueue\fP(2) \fBrt_sigreturn\fP(2) 2.2 \fBrt_sigsuspend\fP(2) 2.2 \fBrt_sigtimedwait\fP(2) 2.2 \fBrt_tgsigqueueinfo\fP(2) 2.6.31 -.\" Implements \fBpthread_sigqueue\fP(3) +\fBs390_runtime_instr\fP(2) 3.7 s390 のみ \fBsched_get_priority_max\fP(2) 2.0 \fBsched_get_priority_min\fP(2) 2.0 \fBsched_getaffinity\fP(2) 2.6 @@ -436,102 +424,104 @@ l l l. \fBsched_setparam\fP(2) 2.0 \fBsched_setscheduler\fP(2) 2.0 \fBsched_yield\fP(2) 2.0 -\fBsecurity\fP(2) Not implemented -\fBselect\fP(2) -\fBsemctl\fP(2) -\fBsemget\fP(2) -\fBsemop\fP(2) +\fBselect\fP(2) 1.0 +\fBsemctl\fP(2) 2.0 \fBipc\fP(2) の「注意」の節を参照 +\fBsemget\fP(2) 2.0 \fBipc\fP(2) の「注意」の節を参照 +\fBsemop\fP(2) 2.0 \fBipc\fP(2) の「注意」の節を参照 \fBsemtimedop\fP(2) 2.6; 2.4.22 -\fBsend\fP(2) +\fBsend\fP(2) 2.0 \fBsocketcall\fP(2) の「注意」の節を参照 \fBsendfile\fP(2) 2.2 \fBsendfile64\fP(2) 2.6; 2.4.19 -\fBsendmsg\fP(2) -\fBsendto\fP(2) +\fBsendmmsg\fP(2) 3.0 +\fBsendmsg\fP(2) 2.0 \fBsocketcall\fP(2) の「注意」の節を参照 +\fBsendto\fP(2) 2.0 \fBsocketcall\fP(2) の「注意」の節を参照 \fBset_mempolicy\fP(2) 2.6.6 \fBset_robust_list\fP(2) 2.6.17 \fBset_thread_area\fP(2) 2.6 \fBset_tid_address\fP(2) 2.6 -\fBset_zone_reclaim\fP(2) 2.6.13 Removed in 2.6.16 (was never - available to userspace) .\" See http://lkml.org/lkml/2005/8/1/83 .\" "[PATCH] remove sys_set_zone_reclaim()" -\fBsetdomainname\fP(2) +\fBsetdomainname\fP(2) 1.0 \fBsetfsgid\fP(2) 1.2 \fBsetfsgid32\fP(2) 2.4 \fBsetfsuid\fP(2) 1.2 \fBsetfsuid32\fP(2) 2.4 -\fBsetgid\fP(2) +\fBsetgid\fP(2) 1.0 \fBsetgid32\fP(2) 2.4 -\fBsetgroups\fP(2) +\fBsetgroups\fP(2) 1.0 \fBsetgroups32\fP(2) 2.4 -\fBsethostname\fP(2) -\fBsetitimer\fP(2) -\fBsetpgid\fP(2) -\fBsetpriority\fP(2) -\fBsetregid\fP(2) +\fBsethostname\fP(2) 1.0 +\fBsetitimer\fP(2) 1.0 +\fBsetns\fP(2) 3.0 +\fBsetpgid\fP(2) 1.0 +\fBsetpriority\fP(2) 1.0 +\fBsetregid\fP(2) 1.0 \fBsetregid32\fP(2) 2.4 \fBsetresgid\fP(2) 2.2 \fBsetresgid32\fP(2) 2.4 \fBsetresuid\fP(2) 2.2 \fBsetresuid32\fP(2) 2.4 -\fBsetreuid\fP(2) +\fBsetreuid\fP(2) 1.0 \fBsetreuid32\fP(2) 2.4 -\fBsetrlimit\fP(2) -\fBsetsid\fP(2) -\fBsetsockopt\fP(2) -\fBsettimeofday\fP(2) -\fBsetuid\fP(2) +\fBsetrlimit\fP(2) 1.0 +\fBsetsid\fP(2) 1.0 +\fBsetsockopt\fP(2) 2.0 \fBsocketcall\fP(2) の「注意」の節を参照 +\fBsettimeofday\fP(2) 1.0 +\fBsetuid\fP(2) 1.0 \fBsetuid32\fP(2) 2.4 -\fBsetup\fP(2) Removed in 2.2 +\fBsetup\fP(2) 2.2 で削除 \fBsetxattr\fP(2) 2.6; 2.4.18 -\fBsgetmask\fP(2) -\fBshmat\fP(2) -\fBshmctl\fP(2) -\fBshmdt\fP(2) -\fBshmget\fP(2) -\fBshutdown\fP(2) -\fBsigaction\fP(2) +\fBsgetmask\fP(2) 1.0 +\fBshmat\fP(2) 2.0 \fBipc\fP(2) の「注意」の節を参照 +\fBshmctl\fP(2) 2.0 \fBipc\fP(2) の「注意」の節を参照 +\fBshmdt\fP(2) 2.0 \fBipc\fP(2) の「注意」の節を参照 +\fBshmget\fP(2) 2.0 \fBipc\fP(2) の「注意」の節を参照 +\fBshutdown\fP(2) 2.0 \fBsocketcall\fP(2) の「注意」の節を参照 +\fBsigaction\fP(2) 1.0 \fBsigaltstack\fP(2) 2.2 -\fBsignal\fP(2) +\fBsignal\fP(2) 1.0 \fBsignalfd\fP(2) 2.6.22 \fBsignalfd4\fP(2) 2.6.27 -\fBsigpending\fP(2) -\fBsigprocmask\fP(2) -\fBsigreturn\fP(2) -\fBsigsuspend\fP(2) -\fBsocket\fP(2) -\fBsocketcall\fP(2) +\fBsigpending\fP(2) 1.0 +\fBsigprocmask\fP(2) 1.0 +\fBsigreturn\fP(2) 1.0 +\fBsigsuspend\fP(2) 1.0 +\fBsocket\fP(2) 2.0 \fBsocketcall\fP(2) の「注意」の節を参照 +\fBsocketcall\fP(2) 1.0 .\" Implements BSD socket calls -\fBsocketpair\fP(2) +\fBsocketpair\fP(2) 2.0 \fBsocketcall\fP(2) の「注意」の節を参照 \fBsplice\fP(2) 2.6.17 -\fBspu_create\fP(2) 2.6.16 PowerPC only -\fBspu_run\fP(2) 2.6.16 PowerPC only -\fBssetmask\fP(2) -\fBstat\fP(2) +\fBspu_create\fP(2) 2.6.16 PowerPC のみ +\fBspu_run\fP(2) 2.6.16 PowerPC のみ +\fBssetmask\fP(2) 1.0 +\fBstat\fP(2) 1.0 \fBstat64\fP(2) 2.4 -\fBstatfs\fP(2) +\fBstatfs\fP(2) 1.0 \fBstatfs64\fP(2) 2.6 -\fBstime\fP(2) -\fBstty\fP(2) Not implemented -\fBsubpage_prot\fP(2) 2.6.25 PowerPC if CONFIG_PPC_64K_PAGES -\fBswapoff\fP(2) -\fBswapon\fP(2) -\fBsymlink\fP(2) +\fBstime\fP(2) 1.0 +\fBsubpage_prot\fP(2) 2.6.25 PowerPC で + CONFIG_PPC_64K_PAGES の場合 +\fBswapoff\fP(2) 1.0 +\fBswapon\fP(2) 1.0 +\fBsymlink\fP(2) 1.0 \fBsymlinkat\fP(2) 2.6.16 -\fBsync\fP(2) +\fBsync\fP(2) 1.0 \fBsync_file_range\fP(2) 2.6.17 -\fBsync_file_range2\fP(2) 2.6.22 Architecture-specific variant +\fBsync_file_range2\fP(2) 2.6.22 T{ +アーキテクチャ固有の +\fBsync_file_range\fP(2) の一種 +T} .\" PowerPC, ARM, tile .\" First appeared on ARM, as arm_sync_file_range(), but later renamed - of \fBsync_file_range\fP(2) .\" \fBsys_debug_setcontext\fP(2) ??? PowerPC if CONFIG_PPC32 +\fBsyncfs\fP(2) 2.6.39 \fBsysfs\fP(2) 1.2 -\fBsysinfo\fP(2) -\fBsyslog\fP(2) +\fBsysinfo\fP(2) 1.0 +\fBsyslog\fP(2) 1.0 .\" glibc interface is \fBklogctl\fP(3) \fBtee\fP(2) 2.6.17 \fBtgkill\fP(2) 2.6 -\fBtime\fP(2) +\fBtime\fP(2) 1.0 \fBtimer_create\fP(2) 2.6 \fBtimer_delete\fP(2) 2.6 \fBtimer_getoverrun\fP(2) 2.6 @@ -540,251 +530,138 @@ l l l. \fBtimerfd_create\fP(2) 2.6.25 \fBtimerfd_gettime\fP(2) 2.6.25 \fBtimerfd_settime\fP(2) 2.6.25 -\fBtimes\fP(2) +\fBtimes\fP(2) 1.0 \fBtkill\fP(2) 2.6; 2.4.22 -\fBtruncate\fP(2) +\fBtruncate\fP(2) 1.0 \fBtruncate64\fP(2) 2.4 -\fBtuxcall\fP(2) Not implemented -.\" Unimplemented; no slot on i386 -.\" As at 2.6.22, tuxcall has a slot on PowerPC, x86_64, and alpha \fBugetrlimit\fP(2) 2.4 -\fBulimit\fP(2) Not implemented -.\" Implemented in glibc; see \fBulimit\fP(3) -\fBumask\fP(2) -\fBumount\fP(2) +\fBumask\fP(2) 1.0 +\fBumount\fP(2) 1.0 .\" sys_oldumount() -- __NR_umount \fBumount2\fP(2) 2.2 .\" sys_umount() -- __NR_umount2 -\fBuname\fP(2) -\fBunlink\fP(2) +\fBuname\fP(2) 1.0 +\fBunlink\fP(2) 1.0 \fBunlinkat\fP(2) 2.6.16 \fBunshare\fP(2) 2.6.16 -\fBuselib\fP(2) -\fBustat\fP(2) -\fButime\fP(2) +\fBuselib\fP(2) 1.0 +\fBustat\fP(2) 1.0 +\fButime\fP(2) 1.0 \fButimensat\fP(2) 2.6.22 \fButimes\fP(2) 2.2 -\fBvfork\fP(2) -\fBvhangup\fP(2) -\fBvm86old\fP(2) -.\" Superseded by \fBvm86\fP(2) +\fButrap_install\fP(2) 2.2 Sparc +\fBvfork\fP(2) 2.2 +\fBvhangup\fP(2) 1.0 +\fBvm86old\fP(2) 1.0 T{ +以前は "vm86"; +2.0.28/2.2 で改名された +T} +\fBvm86\fP(2) 2.0.28; 2.2 \fBvmsplice\fP(2) 2.6.17 -\fBvserver\fP(2) Not implemented -\fBwait4\fP(2) +\fBwait4\fP(2) 1.0 \fBwaitid\fP(2) 2.6.10 -\fBwaitpid\fP(2) -\fBwrite\fP(2) +\fBwaitpid\fP(2) 1.0 +\fBwrite\fP(2) 1.0 \fBwritev\fP(2) 2.0 .TE +.ad .PP -i386 ¤ò´Þ¤à¿¤¯¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¡¢¥½¥±¥Ã¥È´ØÏ¢¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï -(glibc ¤Î¥é¥Ã¥Ñ¡¼´Ø¿ô¤ò²ð¤·¤Æ¤À¤¬) ¤¹¤Ù¤Æ -.BR socketcall (2) -·Ðͳ¤Ë¿½Å¤µ¤ì¤Æ¤¤¤ë¡£ -ƱÍͤˡ¢System V IPC ´ØÏ¢¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï -.BR ipc (2) -·Ðͳ¤Ë¿½Å¤µ¤ì¤Æ¤¤¤ë¡£ -.SH Ãí°Õ -°Ê²¼¤ÎÅÀ¤Ëα°Õ¤¹¤ë¤³¤È: -.IP * 3 -°Ê²¼¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢ -¥·¥¹¥Æ¥à¥³¡¼¥ë¡¦¥Æ¡¼¥Ö¥ë¤Ë¥¹¥í¥Ã¥È¤¬Í½Ì󤵤ì¤Æ¤¤¤ë¤¬¡¢ -ɸ½à¤Î¥«¡¼¥Í¥ë¤Ë¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤: -.BR afs_syscall (2), \" __NR_afs_syscall is 53 on Linux 2.6.22/i386 -.BR break (2), \" __NR_break is 17 on Linux 2.6.22/i386 -.BR ftime (2), \" __NR_ftime is 35 on Linux 2.6.22/i386 -.BR getpmsg (2), \" __NR_getpmsg is 188 on Linux 2.6.22/i386 -.BR gtty (2), \" __NR_gtty is 32 on Linux 2.6.22/i386 -.BR idle (2), \" __NR_idle is 112 on Linux 2.6.22/i386 -.BR lock (2), \" __NR_lock is 53 on Linux 2.6.22/i386 -.BR madvise1 (2), \" __NR_madvise1 is 219 on Linux 2.6.22/i386 -.BR mpx (2), \" __NR_mpx is 66 on Linux 2.6.22/i386 -.BR phys (2), \" Slot has been reused -.BR prof (2), \" __NR_prof is 44 on Linux 2.6.22/i386 -.BR profil (2), \" __NR_profil is 98 on Linux 2.6.22/i386 -.BR putpmsg (2), \" __NR_putpmsg is 189 on Linux 2.6.22/i386 +x86\-32 を含む多くのプラットフォームでは、ソケット関連のシステムコールは (glibc のラッパー関数を介してだが) すべて +\fBsocketcall\fP(2) 経由に多重されている。 同様に、System V IPC 関連のシステムコールは \fBipc\fP(2) +経由に多重されている。 + +.\" __NR_afs_syscall is 53 on Linux 2.6.22/i386 +.\" __NR_break is 17 on Linux 2.6.22/i386 +.\" __NR_ftime is 35 on Linux 2.6.22/i386 +.\" __NR_getpmsg is 188 on Linux 2.6.22/i386 +.\" __NR_gtty is 32 on Linux 2.6.22/i386 +.\" __NR_idle is 112 on Linux 2.6.22/i386 +.\" __NR_lock is 53 on Linux 2.6.22/i386 +.\" __NR_madvise1 is 219 on Linux 2.6.22/i386 +.\" __NR_mpx is 66 on Linux 2.6.22/i386 +.\" Slot has been reused +.\" __NR_prof is 44 on Linux 2.6.22/i386 +.\" __NR_profil is 98 on Linux 2.6.22/i386 +.\" __NR_putpmsg is 189 on Linux 2.6.22/i386 +.\" __NR_security is 223 on Linux 2.4/i386 .\" __NR_security is 223 on Linux 2.4/i386; absent on 2.6/i386, present .\" on a couple of 2.6 architectures -.BR security (2), \" __NR_security is 223 on Linux 2.4/i386 -.BR stty (2), \" __NR_stty is 31 on Linux 2.6.22/i386 -.BR tuxcall (2), \" __NR_tuxcall is 184 on x86_64, also on PPC and alpha -.BR ulimit (2), \" __NR_ulimit is 58 on Linux 2.6.22/i386 -.BR vserver (2) \" __NR_vserver is 273 on Linux 2.6.22/i386 -.RB ( unimplemented (2) -¤â»²¾È)¡£ -¤·¤«¤·¡¢ -.BR ftime (3), -.BR profil (3), -.BR ulimit (3) -¤Ï¥é¥¤¥Ö¥é¥ê¡¦¥ë¡¼¥Á¥ó¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¡£ -.BR phys (2) -ÍѤξì½ê¤Ï 2.1.116 °Ê¹ß¤Ç¤Ï -.BR umount (2) -ÍѤ˻ÈÍѤµ¤ì¤Æ¤¤¤ë; -¾­Íè¤Ë¤ª¤¤¤Æ¤â -.BR phys (2) -¤Ï¼ÂÁõ¤µ¤ì¤Ê¤¤¡£ -.IP * -.BR getpmsg (2) -¤È -.BR putpmsg (2) -¤Ï¡¢¥¹¥È¥ê¡¼¥àÂбþ¤Î¥Ñ¥Ã¥Á¤¬Åö¤Æ¤é¤ì¤¿¥«¡¼¥Í¥ëÍѤΤâ¤Î¤Ç¡¢ -ɸ½à¤Î¥«¡¼¥Í¥ë¤Ë¸ºß¤¹¤ë¤³¤È¤Ïº£¸å¤â¤Ê¤¤¡£ +.\" __NR_stty is 31 on Linux 2.6.22/i386 .\" The security call is for future use. +.\" __NR_tuxcall is 184 on x86_64, also on PPC and alpha +.\" __NR_ulimit is 58 on Linux 2.6.22/i386 +.\" __NR_vserver is 273 on Linux 2.6.22/i386 +以下のシステムコールは、システムコールテーブルにスロットが予約されているが、 +標準のカーネルには実装されていない: +\fBafs_syscall\fP(2), \fBbreak\fP(2), \fBftime\fP(2), \fBgetpmsg\fP(2), \fBgtty\fP(2), +\fBidle\fP(2), \fBlock\fP(2), \fBmadvise1\fP(2), \fBmpx\fP(2), \fBphys\fP(2), \fBprof\fP(2), +\fBprofil\fP(2), \fBputpmsg\fP(2), \fBsecurity\fP(2), \fBstty\fP(2), \fBtuxcall\fP(2), +\fBulimit\fP(2), \fBvserver\fP(2) (\fBunimplemented\fP(2) も参照)。 +しかし、\fBftime\fP(3), \fBprofil\fP(3), \fBulimit\fP(3) はライブラリルーチンとして +実装されている。 \fBphys\fP(2) 用の場所は 2.1.116 以降では \fBumount\fP(2) 用に +使用されている; 将来においても \fBphys\fP(2) は実装されない。 +\fBgetpmsg\fP(2) と \fBputpmsg\fP(2) は STREAMS 対応のパッチが適用された +カーネル用であり、標準のカーネルに登場することはないかもしれない。 + +\fBset_zone_reclaim\fP(2) は少しの間だけ存在した。 Linux 2.6.13 で追加され、2.6.16 +で削除された。このシステムコールがユーザ空間から使える状態になったことはない。 +.SH 注意 .PP -¤¿¤¤¤Æ¤¤¤Ï¡¢ -.I /usr/include/asm/unistd.h -¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ëÈÖ¹æ __NR_xxx ¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î¥³¡¼¥É¤Ï¡¢ -¥«¡¼¥Í¥ë¡¦¥½¡¼¥¹¤Î -.IR sys_xxx () -¤È¤¤¤¦¥ë¡¼¥Á¥ó¤Ë½ñ¤«¤ì¤Æ¤¤¤ë -(i386 ¤Ë¤ª¤±¤ë¼Â¹Ô¥Æ¡¼¥Ö¥ë¤Ï -.I /usr/src/linux/arch/i386/kernel/entry.S -¤Ë½ñ¤«¤ì¤Æ¤¤¤ë)¡£ -¤·¤«¤·¤³¤ì¤Ë¤Ï¿¤¯¤ÎÎã³°¤¬¤¢¤ë¡£¸Å¤¤¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¿·ÈǤËÃÖ¤­´¹¤¨¤é¤ì¤Æ -¤­¤¿¤¬¡¢¤³¤ÎÃÖ¤­´¹¤¨¤Ï¤¢¤Þ¤êÂηÏΩ¤Æ¤Æ¹Ô¤ï¤ì¤ÆÍè¤Ê¤«¤Ã¤¿¤«¤é¤Ç¤¢¤ë¡£ -parisc, sparc, sparc64, alpha ¤È¤¤¤Ã¤¿¥×¥í¥×¥ê¥¨¥¿¥ê OS ¤Î¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó -µ¡Ç½¤¬¤¢¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¡¢Â¿¤¯¤ÎÄɲå·¥¹¥Æ¥à¥³¡¼¥ë¤¬¤¢¤ë¡£ -mips64 ¤Ë¤Ï¡¢32 ¥Ó¥Ã¥È¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î¥Õ¥ë¥»¥Ã¥È¤â´Þ¤Þ¤ì¤Æ¤¤¤ë¡£ +たいていは、 \fI/usr/include/asm/unistd.h\fP で定義されている番号 __NR_xxx のシステムコールのコードは、 Linux +カーネルソースの \fIsys_xxx\fP() というルーチンに書かれている (i386 における実行テーブルは +\fI/usr/src/linux/arch/i386/kernel/entry.S\fP に書かれている)。 +しかしこれには多くの例外がある。古いシステムコールは新版に置き換えられて きたが、この置き換えはあまり体系立てて行われて来なかったからである。 +parisc, sparc, sparc64, alpha +といったプロプリエタリなオペレーティングシステムのエミュレーション機能があるプラットフォームでは、多くの追加システムコールがある。 mips64 +には、32 ビットシステムコールのフルセットも含まれている。 -»þ´Ö¤Î·Ð²á¤È¤È¤â¤Ë¡¢¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ç¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î -Êѹ¹¤¬É¬ÍפˤʤäƤ­¤¿¡£ -¤³¤¦¤·¤¿Êѹ¹¤ÎÍýͳ¤Î°ì¤Ä¤Ï¡¢¥·¥¹¥Æ¥à¥³¡¼¥ë¤ËÅϤµ¤ì¤ë¹½Â¤ÂΤ䥹¥«¥é¡¼ÃÍ -¤Î¥µ¥¤¥º¤òÁý¤ä¤¹É¬Íפ¬¤¢¤ë¤³¤È¤À¤Ã¤¿¡£ -¤³¤ì¤é¤ÎÊѹ¹¤Î·ë²Ì¡¢¸½ºß¤Ç¤Ï¡¢Æ±ÍͤνèÍý¤ò¼Â¹Ô¤¹¤ë¤¬ -°ú¤­¿ô¤Î¥µ¥¤¥º¤Ê¤É¤Î¾ÜºÙ¤Ï°Û¤Ê¤ë¡¢°ìÏ¢¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë·²¤¬ -¤¤¤¯¤Ä¤«Â¸ºß¤¹¤ë -(Î㤨¤Ð¡¢ -.BR truncate (2) -¤È -.BR truncate64 (2))¡£ -(¤¹¤Ç¤Ë½Ò¤Ù¤¿¤è¤¦¤Ë¡¢ -°ìÈ̤ˤϥ¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¤³¤Î¤³¤È¤ò°Õ¼±¤¹¤ë¤³¤È¤Ï¤Ê¤¤¡£ -glibc ¤Î¥é¥Ã¥Ñ¡¼´Ø¿ô¤¬¡¢Å¬Àڤʥ·¥¹¥Æ¥à¥³¡¼¥ë¤òµ¯Æ°¤·¡¢¸Å¤¤¥Ð¥¤¥Ê¥ê¤Ë -ÂФ·¤Æ ABI ¥ì¥Ù¥ë¤Ç¤Î¸ß´¹À­¤òÊÝ»ý¤¹¤ë¤³¤È¤òÊݾڤ¹¤ë½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤ë¡£) -Ê£¿ô¤Î¥Ð¡¼¥¸¥ç¥ó¤¬Â¸ºß¤¹¤ë¥·¥¹¥Æ¥à¥³¡¼¥ë¤ÎÎã¤ò°Ê²¼¤Ëµó¤²¤ë¡£ +時間の経過とともに、いくつかのシステムコールではインタフェースの 変更が必要になってきた。 +こうした変更の理由の一つは、システムコールに渡される構造体やスカラー値 のサイズを増やす必要があることだった。 +これらの変更の結果、現在では、同様の処理を実行するが 引き数のサイズなどの詳細は異なる、一連のシステムコール群が いくつか存在する (例えば、 +\fBtruncate\fP(2) と \fBtruncate64\fP(2))。 (すでに述べたように、 +一般にはアプリケーションがこのことを意識することはない。 glibc のラッパー関数が、適切なシステムコールを起動し、古いバイナリに 対して ABI +レベルでの互換性を保持することを保証する処理を行っている。) 複数のバージョンが存在するシステムコールの例を以下に挙げる。 .IP * 3 -¤³¤ì¤Þ¤Ç¤Ë¡¢ -.BR stat (2) -¤Ë¤Ï 3 ¼ïÎà¤Î°Û¤Ê¤ë¥Ð¡¼¥¸¥ç¥ó¤¬Â¸ºß¤¹¤ë¡£ -.IR sys_stat () -(¥¹¥í¥Ã¥È¤Ï -.IR __NR_oldstat )¡¢ -.IR sys_newstat () -(¥¹¥í¥Ã¥È¤Ï -.IR __NR_stat )¡¢ -.IR sys_stat64 () -(¥«¡¼¥Í¥ë 2.4 ¤ÇƳÆþ; ¥¹¥í¥Ã¥È¤Ï -.IR __NR_stat64 )¡£ -3¤Ä¤Î¤¦¤ÁºÇ¸å¤Î¤â¤Î¤¬ºÇ¿·¤Ç¤¢¤ë¡£ .\" e.g., on 2.6.22/i386: __NR_oldstat 18, __NR_stat 106, __NR_stat64 195 .\" The stat system calls deal with three different data structures, .\" defined in include/asm-i386/stat.h: __old_kernel_stat, stat, stat64 -.BR lstat (2) -¤È -.BR fstat (2) -¤Ë¤Ä¤¤¤Æ¤âƱÍͤǤ¢¤ë¡£ +これまでに、 \fBstat\fP(2) には 3 種類の異なるバージョンが存在する。 \fIsys_stat\fP() (スロットは +\fI__NR_oldstat\fP)、 \fIsys_newstat\fP() (スロットは \fI__NR_stat\fP)、 \fIsys_stat64\fP() +(カーネル 2.4 で導入; スロットは \fI__NR_stat64\fP)。 3つのうち最後のものが最新である。 \fBlstat\fP(2) と +\fBfstat\fP(2) についても同様である。 .IP * -¤Þ¤¿¡¢ -.IR __NR_oldolduname , -.IR __NR_olduname , -.I __NR_uname -¤È¤¤¤¦ÄêµÁ¤Ï¡¢¤½¤ì¤¾¤ì -.IR sys_olduname (), -.IR sys_uname (), -.IR sys_newuname () -¤È¤¤¤¦¥ë¡¼¥Á¥ó¤ò»²¾È¤·¤Æ¤¤¤ë¡£ +また、 \fI__NR_oldolduname\fP, \fI__NR_olduname\fP, \fI__NR_uname\fP という定義は、それぞれ +\fIsys_olduname\fP(), \fIsys_uname\fP(), \fIsys_newuname\fP() というルーチンを参照している。 .IP * -Linux 2.0 ¤Ç¤Ï¡¢ -.BR vm86 (2) -¤Î¿·¥Ð¡¼¥¸¥ç¥ó¤¬Åо줷¤¿¡£¥«¡¼¥Í¥ë¥ë¡¼¥Á¥ó¤Î -¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¡¢¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Ï¤½¤ì¤¾¤ì -.IR sys_vm86old (), -.IR sys_vm86 () -¤È¤¤¤¦Ì¾Á°¤Ç¤¢¤ë¡£ +Linux 2.0 では、 \fBvm86\fP(2) の新バージョンが登場した。カーネルルーチンの 古いバージョン、新しいバージョンはそれぞれ +\fIsys_vm86old\fP(), \fIsys_vm86\fP() という名前である。 .IP * -Linux 2.4 ¤Ç¤Ï¡¢ -.BR getrlimit (2) -¤Î¿·¥Ð¡¼¥¸¥ç¥ó¤¬Åо줷¤¿¡£¥«¡¼¥Í¥ë¥ë¡¼¥Á¥ó¤Î -¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¡¢¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Ï¤½¤ì¤¾¤ì -.IR sys_old_getrlimit () -(¥¹¥í¥Ã¥È¤Ï -.IR __NR_getrlimit ), -.IR sys_getrlimit () -(¥¹¥í¥Ã¥È¤Ï -.IR __NR_ugetrlimit ) -¤È¤¤¤¦Ì¾Á°¤Ç¤¢¤ë¡£ +Linux 2.4 では、 \fBgetrlimit\fP(2) の新バージョンが登場した。カーネルルーチンの 古いバージョン、新しいバージョンはそれぞれ +\fIsys_old_getrlimit\fP() (スロットは \fI__NR_getrlimit\fP), \fIsys_getrlimit\fP() +(スロットは \fI__NR_ugetrlimit\fP) という名前である。 .IP * -Linux 2.4 ¤Ç¡¢¥æ¡¼¥¶ ID ¤È¥°¥ë¡¼¥× ID ¤Î¥µ¥¤¥º¤¬ -16 ¥Ó¥Ã¥È¤«¤é 32 ¥Ó¥Ã¥È¤ËÁý¤¨¤¿¡£ .\" 64-bit off_t changes: ftruncate64, *stat64, .\" fcntl64 (because of the flock structure), getdents64, *statfs64 -¤³¤ÎÊѹ¹¤ËÂбþ¤¹¤ë¤¿¤á¡¢¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬Äɲ䵤줿 -.RB ( chown32 (2), -.BR getuid32 (2), -.BR getgroups32 (2), -.BR setresuid32 (2) -¤Ê¤É)¡£ -¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬¡¢ËöÈø¤Î "32" ¤¬ÉÕ¤«¤Ê¤¤Æ±Ì¾¤Î -¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤ËÂå¤ï¤Ã¤Æ»È¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£ +Linux 2.4 で、ユーザ ID とグループ ID のサイズが 16 ビットから 32 ビットに増えた。 +この変更に対応するため、いくつかのシステムコールが追加された (\fBchown32\fP(2), \fBgetuid32\fP(2), +\fBgetgroups32\fP(2), \fBsetresuid32\fP(2) など)。 これらのシステムコールが、末尾の "32" が付かない同名の +古いバージョンに代わって使われるようになった。 .IP * -Linux 2.4 ¤Ç¤Ï¡¢32 ¥Ó¥Ã¥È¡¦¥¢¡¼¥­¥Æ¥¯¥Á¥ã¾å¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ -Â礭¤Ê¥Õ¥¡¥¤¥ë (¤Ä¤Þ¤ê¡¢32 ¥Ó¥Ã¥È¤Ç¤Ïɽ¸½¤Ç¤­¤Ê¤¤¥µ¥¤¥º¤ä -¥Õ¥¡¥¤¥ë¡¦¥ª¥Õ¥»¥Ã¥È¤¬É¬Íפʥե¡¥¤¥ë) ¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£ -¤³¤ÎÊѹ¹¤ËÂбþ¤¹¤ë¤¿¤á¡¢¥Õ¥¡¥¤¥ë¡¦¥ª¥Õ¥»¥Ã¥È¤È¥µ¥¤¥º¤ò°·¤¦ -¥·¥¹¥Æ¥à¥³¡¼¥ë¤ÎÃÖ¤­´¹¤¨¤¬É¬ÍפȤʤä¿¡£¤½¤Î·ë²Ì¡¢ -.BR fcntl64 (2), -.BR ftruncate64 (2), -.BR getdents64 (2), -.BR stat64 (2), -.BR statfs64 (2) -¤È¡¢¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ä¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ÇƱ¤¸µ¡Ç½¤ò»ý¤Ä -¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬Äɲ䵤줿¡£ -¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬¡¢ËöÈø¤Î "64" ¤¬ÉÕ¤«¤Ê¤¤Æ±Ì¾¤Î -¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤ËÂå¤ï¤Ã¤Æ»È¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£ -⤷¡¢"stat" ·Ï¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¤½¤Î¸Â¤ê¤Ç¤Ï¤Ê¤¤¡£ +Linux 2.4 では、32 ビットアーキテクチャ上のアプリケーションが 大きなファイル (つまり、32 ビットでは表現できないサイズや +ファイルオフセットが必要なファイル) にアクセスできるようになった。 この変更に対応するため、ファイルオフセットとサイズを扱う +システムコールの置き換えが必要となった。その結果、 \fBfcntl64\fP(2), \fBftruncate64\fP(2), +\fBgetdents64\fP(2), \fBstat64\fP(2), \fBstatfs64\fP(2) +と、ファイルディスクリプタやシンボリックリンクで同じ機能を持つ システムコールが追加された。 これらのシステムコールが、末尾の "64" +が付かない同名の 古いバージョンに代わって使われるようになった。 但し、"stat" 系のシステムコールはその限りではない。 -64-bit ¥Õ¥¡¥¤¥ë¥¢¥¯¥»¥¹¤È 32-bit UID ¤Î¤ß¤ò»ý¤Ä -¿·¤·¤¤¥×¥é¥Ã¥È¥Õ¥©¡¼¥à (alpha, ia64, s390x ¤Ê¤É) ¤Ç¤Ï¡¢ -*64 ¤ä *32 ¤È¤¤¤¦Ì¾Á°¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¤Ê¤¤¡£ -*64 ¤ä *32 ¤È¤¤¤¦¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢ -*64 ¤ä *32 ¤¬¤Ä¤¤¤Æ¤¤¤Ê¤¤¥·¥¹¥Æ¥à¥³¡¼¥ë¤ÏÇѻ߰·¤¤¤Ç¤¢¤ë¡£ +64\-bit ファイルアクセスと 32\-bit UID のみを持つ 新しいプラットフォーム (alpha, ia64, s390x など) では、 +*64 や *32 という名前のシステムコールはない。 *64 や *32 というシステムコールが存在する場合、 *64 や *32 +がついていないシステムコールは廃止扱いである。 .IP * -¥ê¥¢¥ë¥¿¥¤¥à¥·¥°¥Ê¥ë -.RB ( signal (7) -»²¾È) ¤Ø¤ÎÂбþ¤òÄɲ乤뤿¤á¤Ë¡¢ -.I rt_sig* -·Ï¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬¥«¡¼¥Í¥ë 2.2 ¤ÇÄɲ䵤줿¡£ -¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬¡¢ÀèƬ¤Ë "rt_" ¤¬ÉÕ¤«¤Ê¤¤Æ±Ì¾¤Î -¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤ËÂå¤ï¤Ã¤Æ»È¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£ +リアルタイムシグナル (\fBsignal\fP(7) 参照) への対応を追加するために、 \fIrt_sig*\fP 系のシステムコールがカーネル 2.2 +で追加された。 これらのシステムコールが、先頭に "rt_" が付かない同名の 古いバージョンに代わって使われるようになった。 .IP * -.BR select (2) -¤È -.BR mmap (2) -¤Ï 5¤Ä¤â¤·¤¯¤Ï¤½¤ì°Ê¾å¤Î°ú¤­¿ô¤ò»ÈÍѤ·¤Æ¤ª¤ê¡¢ -i386 ¤Ç¤Ï°ú¤­¿ô¤Î¼õ¤±ÅϤ·¤ËÌäÂ꤬À¸¤¸¤ë¡£ -¤½¤Î¤¿¤á¡¢Â¾¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç¤Ï -.I __NR_select -¤È -.I __NR_mmap -¤ËÂбþ¤¹¤ë -.IR sys_select () -¤È -.IR sys_mmap () -¤¬Â¸ºß¤¹¤ë¤¬¡¢i386 ¤Ç¤ÏÂå¤ï¤ê¤Ë -.IR old_select () -¤È -.IR old_mmap () -¤È¤¤¤¦¥ë¡¼¥Á¥ó¤¬¤¢¤ë -(¤³¤ì¤é¤Î¥ë¡¼¥Á¥ó¤Ï°ú¤­¿ô¥Ö¥í¥Ã¥¯¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»ÈÍѤ¹¤ë)¡£ -¸½ºß¤Ç¤Ï 5¤Ä¤Î°ú¤­¿ô¤òÅϤ¹¤³¤È¤Ï¤â¤Ï¤äÌäÂê¤Ç¤Ï¤Ê¤¯¤Ê¤Ã¤Æ¤ª¤ê¡¢ -.\" (libc 6 ¤Ç»ÈÍѤµ¤ì¤ë) -.I __NR__newselect -¤Ï -.IR sys_select () -¤ËľÀÜÂбþ¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ -.I __NR_mmap2 -¤Ë¤Ä¤¤¤Æ¤âƱÍͤǤ¢¤ë¡£ +.\" (used by libc 6) .\" .PP .\" Two system call numbers, .\" .IR __NR__llseek @@ -805,7 +682,15 @@ i386 .\" .BR chown (2), .\" and the semantics of the latter call were changed to what .\" they are today. -.SH ´ØÏ¢¹àÌÜ -.BR syscall (2), -.BR unimplemented (2), -.BR libc (7) +\fBselect\fP(2) と \fBmmap\fP(2) は 5つもしくはそれ以上の引き数を使用しており、 i386 では引き数の受け渡しに問題が生じる。 +そのため、他のアーキテクチャでは \fI__NR_select\fP と \fI__NR_mmap\fP に対応する \fIsys_select\fP() と +\fIsys_mmap\fP() が存在するが、i386 では代わりに \fIold_select\fP() と \fIold_mmap\fP() +というルーチンがある (これらのルーチンは引き数ブロックへのポインタを使用する)。 現在では 5つの引き数を渡すことはもはや問題ではなくなっており、 +\fI__NR__newselect\fP は \fIsys_select\fP() に直接対応するようになっている。 \fI__NR_mmap2\fP +についても同様である。 +.SH 関連項目 +\fBsyscall\fP(2), \fBunimplemented\fP(2), \fBlibc\fP(7) +.SH この文書について +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.54 の一部 +である。プロジェクトの説明とバグ報告に関する情報は +http://www.kernel.org/doc/man\-pages/ に書かれている。