日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
G_ACCESS(9) FreeBSD カーネル開発者マニュアル G_ACCESS(9) 名称 g_access -- GEOM コンシューマ (消費者) とそれらのプロバイダへのアクセスを 制御する 書式 #include <geom/geom.h> int g_access(struct g_consumer *cp, int dcr, int dcw, int dce); 解説 g_access() 関数は一般的に、与えられたコンシューマ (消費者) cp にアタッチ されるプロバイダへのアクセスをオープンし、クローズし、変更します。引数 dcr, dcw と dce は関連する読み込み、書き込み、と排他的なアクセスカウント の変更を表します。読み込みと書き込みアクセスカウントは自明で、排他的なア クセスカウントは、他の関心がある部分への書き込みアクセスを拒否します。プ ロバイダのアクセスカウントはすべてのアタッチされたコンシューマのアクセス カウントの合計です。 g_attach(9) でコンシューマをプロバイダにアタッチした後に、g_access() 関数 は I/O 要求を始める前に、コンシューマ上で呼び出されなければなりません。 制限/条件 コンシューマはプロバイダにアタッチされなければなりません。 対象となる変更は負のアクセスカウントとなってはいけません。 ノーオペレーションは許可されません (dcr = dcw = dce = 0)。 プロバイダの geom には、アクセス方法定義 (例えば、gp->access) がなければ なりません。 トポロジロックは保持されなければなりません。 戻り値 成功すれば、g_access() 関数は 0 を返します。そうでなければ、エラーコード が返されます。引数 dcr, dcw と dce が 0 以下であるときに、g_access() が失 敗するかもしれないことに注意してください。 使用例 コンシューマを作成して、それを与えられたプロバイダにアタッチし、読み込み アクセスを獲得し、最初のセクタを読み込みます。 void some_function(struct g_geom *mygeom, struct g_provider *pp) { struct g_consumer *cp; void *ptr; int error; g_topology_assert(); /* 新しいコンシューマを 'mygeom' geom に作成します。*/ cp = g_new_consumer(mygeom); /* 新たに作成されたコンシューマを与えられたプロバイダに アタッチします。*/ if (g_attach(cp, pp) != 0) { g_destroy_consumer(cp); return; } /* 我々のコンシューマを通して読み込みむためにプロバイダを オープンします。*/ error = g_access(cp, 1, 0, 0); if (error != 0) { printf("Cannot access provider: %s\n", error); g_detach(cp); g_destroy_consumer(cp); return; } /* * 読み込み間にトポロジロックを保持しない。 */ g_topology_unlock(); ptr = g_read_data(cp, 0, pp->sectorsize, &error); if (ptr == NULL) printf("Error while reading: %d\n", error); /* * データで何か便利にする。 */ g_topology_lock(); /* プロバイダ (リリースアクセスカウント) の接続を切ります。*/ g_access(cp, -1, 0, 0); /* プロバイダからデタッチします。*/ g_detach(cp); /* コンシューマを破壊する。*/ g_destroy_consumer(cp); } エラー あり得るエラーは次の通りです: [EPERM] 関数は排他的なアクセスカウントでプロバイダをオープンし ようとしていますが、それは既に書き込みモードでオープン されています。 [EPERM] 関数は書き込みモードでプロバイダをオープンしようとして いますが、それは既に排他的にオープンされています。 プロバイダのアクセス方法によって返すことができる他のなんらかのエラーがあ ります。 関連項目 geom(4), DECLARE_GEOM_CLASS(9), g_attach(9), g_bio(9), g_consumer(9), g_data(9), g_event(9), g_geom(9), g_provider(9), g_provider_by_name(9), g_wither_geom(9) 作者 このマニュアルページは、Pawel Jakub Dawidek <pjd@FreeBSD.org> によって書 かれました。 FreeBSD 11.2 January 16, 2004 FreeBSD 11.2