OSDN Git Service

Retire LDP man-pages repository
[linuxjm/LDP_man-pages.git] / release / man2 / _syscall.2
diff --git a/release/man2/_syscall.2 b/release/man2/_syscall.2
deleted file mode 100644 (file)
index 53cadbb..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-.\" Copyright (c) 1993 Michael Haardt (michael@moria.de),
-.\"   Fri Apr  2 11:32:09 MET DST 1993
-.\"
-.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
-.\" This is free documentation; you can redistribute it and/or
-.\" modify it under the terms of the GNU General Public License as
-.\" published by the Free Software Foundation; either version 2 of
-.\" the License, or (at your option) any later version.
-.\"
-.\" The GNU General Public License's references to "object code"
-.\" and "executables" are to be interpreted as the output of any
-.\" document formatting or typesetting system, including
-.\" intermediate and printed output.
-.\"
-.\" This manual is distributed in the hope that it will be useful,
-.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-.\" GNU General Public License for more details.
-.\"
-.\" You should have received a copy of the GNU General Public
-.\" License along with this manual; if not, see
-.\" <http://www.gnu.org/licenses/>.
-.\" %%%LICENSE_END
-.\"
-.\" Tue Jul  6 12:42:46 MDT 1993 <dminer@nyx.cs.du.edu>
-.\" Added "Calling Directly" and supporting paragraphs
-.\"
-.\" Modified Sat Jul 24 15:19:12 1993 by Rik Faith <faith@cs.unc.edu>
-.\"
-.\" Modified 21 Aug 1994 by Michael Chastain <mec@shell.portal.com>:
-.\"   Added explanation of arg stacking when 6 or more args.
-.\"
-.\" Modified 10 June 1995 by Andries Brouwer <aeb@cwi.nl>
-.\"
-.\" 2007-10-23 mtk: created as a new page, by taking the content
-.\" specific to the _syscall() macros from intro(2).
-.\"
-.\"*******************************************************************
-.\"
-.\" This file was generated with po4a. Translate the source file.
-.\"
-.\"*******************************************************************
-.\"
-.\" Japanese Version Copyright (c) 2008  Akihiro MOTOKI
-.\"         all rights reserved.
-.\" Translated 2008-02-11, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\"
-.TH _SYSCALL 2 2007\-12\-19 Linux "Linux Programmer's Manual"
-.SH 名前
-_syscall \- ライブラリのサポートなしでシステムコールを起動する (昔の方法)
-.SH 書式
-\fB#include <linux/unistd.h>\fP
-
-A _syscall macro
-
-desired system call
-.SH 説明
-システムコールに関してそのプロトタイプを知ることが重要である。 引き数の個数、それらの型、返り値の型を知る必要がある。
-実際の使用にあたっては、システムコールをシステムに呼び出しやすくするために、 7 個のマクロが用意されている。これらのマクロは以下の形である。
-.sp
-.RS
-_syscall\fIX\fP(\fItype\fP,\fIname\fP,\fItype1\fP,\fIarg1\fP,\fItype2\fP,\fIarg2\fP,...)
-.RE
-.PP
-ここで
-.IP
-\fIX\fP は 0〜6 で、システムコールが取る引き数の個数である。
-.IP
-\fItype\fP はシステムコールの返り値の型である。
-.IP
-\fIname\fP はシステムコールの名前である。
-.IP
-\fItypeN\fP は N 番目の引き数の型である。
-.IP
-\fIargN\fP は N 番目の引き数の名前である。
-.PP
-これらのマクロは、指定した引き数を持つ \fIname\fP という名前の関数を生成する。 一度ソースファイルの中で _syscall()
-をインクルードしておくと、 そのシステムコールを \fIname\fP という名前で呼ぶことができる。
-.SH ファイル
-\fI/usr/include/linux/unistd.h\fP
-.SH 準拠
-これらのマクロは Linux 固有であり、その使用は非推奨である。
-.SH 注意
-カーネル 2.6.18 あたりから、_syscall マクロ群はユーザー空間に対して提供される ヘッダーファイルから削除された。代わりに
-\fBsyscall\fP(2)  を使用すること。 (いくつかのアーキテクチャー、特に ia64、では、これまで _syscall マクロが
-提供されたことはない。このようなアーキテクチャーでは、常に \fBsyscall\fP(2)  が必要であった。)
-
-_syscall() マクロはプロトタイプを「生成しない」。 ユーザーはプロトタイプを自分で書かなければならないかもしれない。 とりわけ C++
-ユーザーの場合はそうであろう。
-
-システムコールは、正のエラーコードのみ、または負のエラーコードのみを返すように
-定められている訳ではない。そのシステムコールがどのようなエラーコードを返すかを
-確認するには、そのソースコードを読む必要がある。たいていの場合は、標準のエラー コードを負にしたものである (例えば \-\fIEPERM\fP)。
-_syscall() マクロは、そのシステムコールの返り値 \fIr\fP が負でない場合、その値 をそのまま返す。一方、\fIr\fP が負の場合には、変数
-\fIerrno\fP に \-\fIr\fP を設定し、\-1 を返す。 エラーコードについては \fBerrno\fP(3)  を参照。
-
-.\" The preferred way to invoke system calls that glibc does not know
-.\" about yet is via
-.\" .BR syscall (2).
-.\" However, this mechanism can be used only if using a libc
-.\" (such as glibc) that supports
-.\" .BR syscall (2),
-.\" and if the
-.\" .I <sys/syscall.h>
-.\" header file contains the required SYS_foo definition.
-.\" Otherwise, the use of a _syscall macro is required.
-.\"
-システムコールを定義する際、引き数の型は値渡し (by\-value) か、 (構造体のように集合的なデータの場合は) ポインター渡し
-(by\-pointer)  でなければならない。
-.SH 例
-.nf
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <linux/unistd.h>       /* for _syscallX macros/related stuff */
-#include <linux/kernel.h>       /* for struct sysinfo */
-
-_syscall1(int, sysinfo, struct sysinfo *, info);
-
-/* Note: nroff のソースファイルから直接コピーする際には、
-printf 文内の余分なバックスラッシュを忘れずに削除するように。 */
-
-int
-main(void)
-{
-    struct sysinfo s_info;
-    int error;
-
-    error = sysinfo(&s_info);
-    printf("code error = %d\en", error);
-    printf("Uptime = %lds\enLoad: 1 min %lu / 5 min %lu / 15 min %lu\en"
-           "RAM: total %lu / free %lu / shared %lu\en"
-           "Memory in buffers = %lu\enSwap: total %lu / free %lu\en"
-           "Number of processes = %d\en",
-           s_info.uptime, s_info.loads[0],
-           s_info.loads[1], s_info.loads[2],
-           s_info.totalram, s_info.freeram,
-           s_info.sharedram, s_info.bufferram,
-           s_info.totalswap, s_info.freeswap,
-           s_info.procs);
-    exit(EXIT_SUCCESS);
-}
-.fi
-.SS 出力例
-.nf
-code error = 0
-uptime = 502034s
-Load: 1 min 13376 / 5 min 5504 / 15 min 1152
-RAM: total 15343616 / free 827392 / shared 8237056
-Memory in buffers = 5066752
-Swap: total 27881472 / free 24698880
-Number of processes = 40
-.fi
-.SH 関連項目
-\fBintro\fP(2), \fBsyscall\fP(2), \fBerrno\fP(3)
-.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
-である。プロジェクトの説明とバグ報告に関する情報は
-http://www.kernel.org/doc/man\-pages/ に書かれている。