パン・カーネル・サービス
目的
指定されたブロック・データをバッファーに読み取ります。
構文
#include <sys/types.h>
#include <sys/errno.h>
#include <sys/buf.h>
struct buf *bread (dev, blkno)
dev_t dev;
daddr_t blkno;パラメーター
| 項目 | 説明 |
|---|---|
| dev | 読み取るブロックが入っている装置を指定します。 |
| ブルクノ | 読み取るブロックを指定します。 |
説明
パン カーネル・サービスは、指定されたブロックにバッファーを割り当てます。 指定されたブロックが既にバッファー・キャッシュ内にある場合は、ブロック・バッファー・ヘッダーが戻されます。 それ以外の場合は、指定されたブロックにフリー・バッファーが割り当てられ、データがバッファーに読み込まれます。 パン サービスは、バッファー・ヘッダーを戻すために入出力が完了するのを待機します。
バッファーは呼び出し側に割り振られ、使用中のマークが付けられます。
実行環境
パン カーネル・サービスは、 プロセス環境 からのみ呼び出すことができます。
戻り値
パン サービスは、選択されたバッファーのヘッダーのアドレスを返します。 B_ エラー のゼロ以外の値b_flagsバッファーのヘッダーのフィールド (ブフ 構造体) がエラーを示しています。 この場合、呼び出し側は、 ブレース カーネル・サービスを使用して、ブロックに関連したバッファーを解放する必要があります。
ストレージ・キーをサポートするプラットフォームでは、 キー・ブロック・デバイス カーネル・キーによって保護されるストレージからバッファー・ヘッダーが割り振られます。