New Japanese translations

Use the uniform expression for the phrase "accept filter"

Submitted by:	Akira Ikeuchi <a_ikeuchi@mic.mitsumi.co.jp>
Reviewed by:	Yoshihito Ryuzaki <riew@cybtec.co.jp>
This commit is contained in:
Kazuo Horikawa 2003-06-09 01:38:22 +00:00
parent 38656c8856
commit 744fe37af6
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=17204
5 changed files with 311 additions and 3 deletions

View file

@ -154,7 +154,7 @@
.It Dv SO_RCVLOWAT Ta "入力用の最小カウントを設定します"
.It Dv SO_SNDTIMEO Ta "出力についてのタイムアウト値を設定します"
.It Dv SO_RCVTIMEO Ta "入力についてのタイムアウト値を設定します"
.It Dv SO_ACCEPTFILTER Ta "待ち受けソケットでの受け取り用フィルタを設定します"
.It Dv SO_ACCEPTFILTER Ta "待ち受けソケットでの accept フィルタを設定します"
.It Dv SO_TYPE Ta "ソケットのタイプを取得します (取得のみ)"
.It Dv SO_ERROR Ta "ソケットのエラーを取得してクリアします (取得のみ)"
.El
@ -327,12 +327,12 @@ struct accept_filter_arg {
を選択、設定します。
.Fa af_name
引数は、アプリケーションが待ち受けソケット上に置きたいと思っている
受け取り用フィルタの名前で埋めなくてはなりません。
accept フィルタの名前で埋めなくてはなりません。
オプションの引数
.Fa af_arg
は、
.Fa af_name
で指定された受け取り用フィルタに渡すことができるものです。
で指定された accept フィルタに渡すことができるものです。
これにより、ソケットに置かれる時にさらなる設定オプションを
提供します。
NULL を

View file

@ -58,6 +58,9 @@ MAN9 = BUS_PRINT_CHILD.9\
VOP_SETEXTATTR.9\
VOP_STRATEGY.9\
acl.9\
accept_filter.9\
accf_data.9\
accf_http.9\
bios.9\
boot.9\
buf.9\

View file

@ -0,0 +1,134 @@
.\"
.\" Copyright (c) 2000 Alfred Perlstein
.\"
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" %FreeBSD: src/share/man/man9/accept_filter.9,v 1.10 2002/12/27 12:15:34 schweikh Exp %
.\" $FreeBSD$
.\" "
.Dd June 25, 2000
.Os
.Dt ACCEPT_FILTER 9
.Sh 名称
.Nm accept_filter ,
.Nm accept_filt_add ,
.Nm accept_filt_del ,
.Nm accept_filt_generic_mod_event ,
.Nm accept_filt_get
.Nd 入力接続フィルタ
.Sh 書式
.In sys/types.h
.In sys/module.h
.In sys/socket.h
.Fd #define ACCEPT_FILTER_MOD
.In sys/socketvar.h
.Ft int
.Fn accept_filt_add "struct accept_filter *filt"
.Ft int
.Fn accept_filt_del "char *name"
.Ft int
.Fn accept_filt_generic_mod_event "module_t mod" "int event" "void *data"
.Ft struct accept_filter *
.Fn accept_filt_get "char *name"
.Sh 解説
accept フィルタは、カーネルが入力接続を前処理することを、アプリケーションが
要求することを可能にします。
accept フィルタは、
.Dv SO_ACCEPTFILTER
.Fa optname
で渡すことで、
.Xr setsockopt 2
システムコールを介して要求されます。
.Sh 実装に関する注
accept フィルタになりたいモジュールは、システムに accept_filter 構造体を
提供しなければなりません。
.Bd -literal
struct accept_filter {
char accf_name[16];
void (*accf_callback)(struct socket *so, void *arg, int waitflag);
void * (*accf_create)(struct socket *so, char *arg);
void (*accf_destroy)(struct socket *so);
SLIST_ENTRY(accept_filter) accf_next; /* リストの次のエントリ */
};
.Ed
.Pp
そのモジュールは、
.Xr MALLOC 9
で割当てられた accept_filter 構造体へのポインタを渡す関数
.Fn accept_filt_add
を使用して、それを登録するべきです。
.Pp
.Fa struct accept_filter
のフィールドは以下の通りです。
.Bl -tag -width accf_callbackXXX
.It accf_name
フィルタの名前です。
これはユーザ領域からアクセスされる方法です。
.It accf_callback
接続が確立されたときにカーネルが実行するコールバックです。
これは socket upcall と同等で、そのコールバックがソケットのフラグを
変更しない限りは、接続が確立したとき、
またソケットに新しいデータが届くたびに、呼出されます。
.It accf_create
監視しているソケット上に
.Xr setsockopt 2
がフィルタをインストールするたびに呼出されます。
.It accf_destroy
ユーザがそのソケット上の accept フィルタを取り除くたびに呼出されます。
.El
.Pp
.Fn accept_filt_add
を使用して登録されたときに accept_filter.accf_name に使用された同じ文字列が
.Fn accept_filt_del
に渡されると、その後カーネルはそれ以上のユーザ領域の
そのフィルタの使用を禁じます。
.Pp
.Fn accept_filt_get
.Fn setsockopt
システムコールを介して使用されるための accept フィルタを
見つけるために内部で使用されます。
.Pp
.Fn accept_filt_generic_mod_event
は自分自身をロードおよびアンロードするための引数フィールドを使用しない
accept フィルタのために、コードの重複を避ける単純な方法を提供します。
これは
.Fn DECLARE_MODULE
マクロのためにロード/アンロード構造体に配置されることが可能な関数です。
.Sh 関連項目
.Xr setsockopt 2 ,
.Xr accf_data 9 ,
.Xr accf_http 9 ,
.Xr malloc 9
.Sh 歴史
accept フィルタ機構は
.Fx 4.0
で導入されました。
.Sh 作者
このマニュアルページは
.An Alfred Perlstein ,
Sheldon Hearn および Jeroen Ruigrok van der Werven
が書きました。
accept フィルタの構想は Yahoo! の David Filo によって開拓され、
Alfred Perlstein によってローダブルモジュールシステムに改良されました。

View file

@ -0,0 +1,77 @@
.\"
.\" Copyright (c) 2000 Alfred Perlstein
.\"
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" %FreeBSD: src/share/man/man9/accf_data.9,v 1.7 2002/12/24 13:41:46 ru Exp %
.\" $FreeBSD$
.\" "
.Dd November 15, 2000
.Os
.Dt ACCF_DATA 9
.Sh 名称
.Nm accf_data
.Nd データ到着までの間の入力接続バッファ
.Sh 書式
.Nm options INET
.Nm options ACCEPT_FILTER_DATA
.Nm kldload accf_data
.Sh 解説
これは入力接続を受け取るために
.Fn accept
が使用されるソケット上に配置されるためのフィルタです。
.Pp
これは接続上のデータ到着までの間にアプリケーションが
.Fn accept
を介して接続された記述子を受け取ることを防止します。
.Pp
カーネルの中に INET オプションが既にコンパイルされている場合には、
.Fa ACCEPT_FILTER_DATA
カーネルオプションは
.Xr kldload 8
を介して実行時に有効化することができるモジュールもあります。
.Sh 使用例
ACCEPT_FILTER_DATA がカーネルコンフィグファイルに含まれているか、
.Nm
モジュールがロードされていると仮定して、これはソケット
.Fa sok
上のデータ accept フィルタを有効化します。
.Bd -literal -offset 0i
struct accept_filter_arg afa;
bzero(&afa, sizeof(afa));
strcpy(afa.af_name, "dataready");
setsockopt(sok, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa));
.Ed
.Sh 関連項目
.Xr setsockopt 2 ,
.Xr accept_filter 9 ,
.Xr accf_http 9
.Sh 歴史
accept フィルタ機構および accf_data フィルタは
.Fx 4.0
で導入されました。
.Sh 作者
このマニュアルページおよびこのフィルタは
.An Alfred Perlstein
が書きました。

View file

@ -0,0 +1,94 @@
.\"
.\" Copyright (c) 2000 Alfred Perlstein
.\"
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" %FreeBSD: src/share/man/man9/accf_http.9,v 1.10 2002/12/24 13:41:46 ru Exp %
.\" $FreeBSD$
.\" "
.Dd November 15, 2000
.Os
.Dt ACCF_HTTP 9
.Sh 名称
.Nm accf_http
.Nd ある完全な HTTP リクエストの到着までの間の入力接続バッファ
.Sh 書式
.Nm options INET
.Nm options ACCEPT_FILTER_HTTP
.Nm kldload accf_http
.Sh 解説
これは HTTP 入力接続を受け取るために
.Fn accept
が使用されるソケット上に配置されるためのフィルタです。
.Pp
これは完全な HTTP/1.0 または HTTP/1.1 の HEAD または GET リクエストが
カーネルによってバッファされるまでの間に、アプリケーションが
.Fn accept
を介して接続された記述子を受け取ることを防止します。
.Pp
HTTP/1.0 または HTTP/1.1 の HEAD または GET リクエスト以外の何かが
受け取られた場合には、カーネルはアプリケーションが
.Fn accept
を介して接続記述子を受け取ることを可能にします。
.Pp
.Nm
の効用は、サーバがそのリクエストの初期の文法解析を実行する前に
コンテキストの切り替えを何回か行なう必要が無いようにすることです。
Apache のようなサーバのフォーク前のアクティブプロセス数を低く抑え、
.Fn select ,
.Fn poll
または
.Fn kevent
のようなインタフェースによって管理されることが必要なファイル記述子の組の
大きさを減少させることによって、
入力リクエストのために必要な CPU 利用を効果的に減少させます。
.Pp
カーネルの中に INET オプションが既にコンパイルされている場合には、
.Nm
カーネルオプションは
.Xr kldload 8
を介して実行時に有効化することができるモジュールもあります。
.Sh 使用例
ACCEPT_FILTER_HTTP がカーネルコンフィグファイルに含まれているか、
.Nm
モジュールがロードされていると仮定して、これはソケット
.Fa sok
上の http accept フィルタを有効化します。
.Bd -literal -offset 0i
struct accept_filter_arg afa;
bzero(&afa, sizeof(afa));
strcpy(afa.af_name, "httpready");
setsockopt(sok, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa));
.Ed
.Sh 関連項目
.Xr setsockopt 2 ,
.Xr accept_filter 9
.Sh 歴史
accept フィルタ機構および accf_http フィルタは
.Fx 4.0
で導入されました。
.Sh 作者
このマニュアルページおよびこのフィルタは
.An Alfred Perlstein
が書きました。