.\" 2007-10-23 mtk: created as a new page, by taking the content
.\" specific to the _syscall() macros from intro(2).
.\"
-.\" 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"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH _SYSCALL 2 2007\-12\-19 Linux "Linux Programmer's Manual"
.SH 名前
_syscall \- ライブラリのサポートなしでシステムコールを起動する (昔の方法)
.SH 書式
-.B #include <linux/unistd.h>
+\fB#include <linux/unistd.h>\fP
A _syscall macro
desired system call
.SH 説明
-システムコールに関してそのプロトタイプを知ることが重要である。
-引き数の個数、それらの型、返り値の型を知る必要がある。
-実際の使用にあたっては、システムコールをシステムに呼び出しやすくするために、
-7 個のマクロが用意されている。これらのマクロは以下の形である。
+システムコールに関してそのプロトタイプを知ることが重要である。 引き数の個数、それらの型、返り値の型を知る必要がある。
+実際の使用にあたっては、システムコールをシステムに呼び出しやすくするために、 7 個のマクロが用意されている。これらのマクロは以下の形である。
.sp
.RS
-.RI _syscall X ( type , name , type1 , arg1 , type2 , arg2 ,...)
+_syscall\fIX\fP(\fItype\fP,\fIname\fP,\fItype1\fP,\fIarg1\fP,\fItype2\fP,\fIarg2\fP,...)
.RE
.PP
ここで
.IP
\fIargN\fP は N 番目の引き数の名前である。
.PP
-これらのマクロは、指定した引き数を持つ \fIname\fP という名前の関数を生成する。
-一度ソースファイルの中で _syscall() をインクルードしておくと、
-そのシステムコールを \fIname\fP という名前で呼ぶことができる。
+これらのマクロは、指定した引き数を持つ \fIname\fP という名前の関数を生成する。 一度ソースファイルの中で _syscall()
+をインクルードしておくと、 そのシステムコールを \fIname\fP という名前で呼ぶことができる。
.SH ファイル
-.I /usr/include/linux/unistd.h
+\fI/usr/include/linux/unistd.h\fP
.SH 準拠
これらのマクロは Linux 固有であり、その使用は非推奨である。
.SH 注意
-カーネル 2.6.18 あたりから、_syscall マクロ群はユーザ空間に対して提供される
-ヘッダファイルから削除された。代わりに
-.BR syscall (2)
-を使用すること。
-(いくつかのアーキテクチャ、特に ia64、では、これまで _syscall マクロが
-提供されたことはない。このようなアーキテクチャでは、常に
-.BR syscall (2)
-が必要であった。)
+カーネル 2.6.18 あたりから、_syscall マクロ群はユーザ空間に対して提供される ヘッダファイルから削除された。代わりに
+\fBsyscall\fP(2) を使用すること。 (いくつかのアーキテクチャ、特に ia64、では、これまで _syscall マクロが
+提供されたことはない。このようなアーキテクチャでは、常に \fBsyscall\fP(2) が必要であった。)
-_syscall() マクロはプロトタイプを「生成しない」。
-ユーザはプロトタイプを自分で書かなければならないかもしれない。
-とりわけ C++ ユーザの場合はそうであろう。
+_syscall() マクロはプロトタイプを「生成しない」。 ユーザはプロトタイプを自分で書かなければならないかもしれない。 とりわけ C++
+ユーザの場合はそうであろう。
システムコールは、正のエラーコードのみ、または負のエラーコードのみを返すように
定められている訳ではない。そのシステムコールがどのようなエラーコードを返すかを
-確認するには、そのソースコードを読む必要がある。たいていの場合は、標準のエラー
-コードを負にしたものである (例えば \-\fBEPERM\fP)。
-_syscall() マクロは、そのシステムコールの返り値 \fIr\fP が負でない場合、その値
-をそのまま返す。一方、\fIr\fP が負の場合には、変数
-.I errno
-に \-\fIr\fP を設定し、\-1 を返す。
-エラーコードについては
-.BR errno (3)
-を参照。
+確認するには、そのソースコードを読む必要がある。たいていの場合は、標準のエラー コードを負にしたものである (例えば \-\fBEPERM\fP)。
+_syscall() マクロは、そのシステムコールの返り値 \fIr\fP が負でない場合、その値 をそのまま返す。一方、\fIr\fP が負の場合には、変数
+\fIerrno\fP に \-\fIr\fP を設定し、\-1 を返す。 エラーコードについては \fBerrno\fP(3) を参照。
-システムコールを定義する際、引き数の型は値渡し (by-value) か、
-(構造体のように集合的なデータの場合は) ポインタ渡し (by-pointer)
-でなければならない。
.\" The preferred way to invoke system calls that glibc does not know
.\" about yet is via
.\" .BR syscall (2).
.\" 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>
int error;
error = sysinfo(&s_info);
- printf("code error = %d\\n", error);
- printf("Uptime = %lds\\nLoad: 1 min %lu / 5 min %lu / 15 min %lu\\n"
- "RAM: total %lu / free %lu / shared %lu\\n"
- "Memory in buffers = %lu\\nSwap: total %lu / free %lu\\n"
- "Number of processes = %d\\n",
+ 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,
Number of processes = 40
.fi
.SH 関連項目
-.BR intro (2),
-.BR syscall (2),
-.BR errno (3)
+\fBintro\fP(2), \fBsyscall\fP(2), \fBerrno\fP(3)