nvram_device 構造体のリファレンス
#include < nvram.h >
データフィールド | |
構造体 hw_device_t | 一般 |
nvram_result_t (* | get_total_size_in_bytes )(const struct nvram_device *device, uint64_t *total_size) |
nvram_result_t (* | get_available_size_in_bytes )(const struct nvram_device *device, uint64_t *available_size) |
nvram_result_t (* | get_max_space_size_in_bytes )(const struct nvram_device *device, uint64_t *max_space_size) |
nvram_result_t (* | get_max_spaces )(const struct nvram_device *device, uint32_t *num_spaces) |
nvram_result_t (* | get_space_list )(const struct nvram_device *device, uint32_t max_list_size, uint32_t *space_index_list, uint32_t *list_size) |
nvram_result_t (* | get_space_size )(const struct nvram_device *デバイス、uint32_t インデックス、uint64_t *サイズ) |
nvram_result_t (* | get_space_controls )(const struct nvram_device *device, uint32_t インデックス, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size) |
nvram_result_t (* | is_space_locked )(const struct nvram_device *device, uint32_t インデックス, int *write_lock_enabled, int *read_lock_enabled) |
nvram_result_t (* | create_space )(const struct nvram_device *device, uint32_t インデックス, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *authorization_value, uint32_t authorization_value_size) |
nvram_result_t (* | delete_space )(const struct nvram_device *device, uint32_t インデックス, const uint8_t *authorization_value, uint32_t authorization_value_size) |
nvram_result_t (* | disable_create )(const struct nvram_device *device) |
nvram_result_t (* | write_space )(const struct nvram_device *device, uint32_t インデックス, const uint8_t *buffer, uint64_tbuffer_size, const uint8_t *authorization_value, uint32_t authorization_value_size) |
nvram_result_t (* | read_space )(const struct nvram_device *device, uint32_t Index, uint64_t num_bytes_to_read, const uint8_t *authorization_value, uint32_t authorization_value_size, uint8_t *buffer, uint64_t *bytes_read) |
nvram_result_t (* | Enable_write_lock )(const struct nvram_device *device, uint32_t インデックス, const uint8_t *authorization_value, uint32_t authorization_value_size) |
nvram_result_t (* | Enable_read_lock )(const struct nvram_device *device, uint32_t インデックス, const uint8_t *authorization_value, uint32_t authorization_value_size) |
詳細な説明
フィールドドキュメント
構造体 hw_device_t共通 |
nvram_deviceの一般的なメソッド。この構造体のユーザーは、 hw_device_tがnvram_deviceを参照することがわかっているコンテキストでhw_device_tをnvram_deviceポインターにキャストするため、これはnvram_deviceの最初のメンバーである必要があります。
nvram_result_t (* create_space)(const struct nvram_device *device, uint32_t インデックス, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *authorization_value, uint32_t authorization_value_size) |
指定されたインデックス、サイズ、コントロール、および認証値を使用して新しいスペースを作成します。
device - nvram_deviceインスタンス。 Index - 新しいスペースのインデックス。インデックスには任意の 32 ビット値を指定できますが、既存のスペースに割り当てられていてはなりません。 size_in_bytes - スペースに割り当てるバイト数。 control_list - スペースに強制するコントロールの配列。 list_size - |control_list| 内の項目の数。 authorization_value - |control_list| の場合NV_CONTROL_READ_AUTHORIZATION および/または NV_CONTROL_WRITE_AUTHORIZATION が含まれている場合、このパラメータはこれらのポリシーの認可値を提供します (両方のコントロールが設定されている場合、この値は両方に適用されます)。それ以外の場合、この値は無視され、NULL になる可能性があります。 authorization_value_size - |authorization_value| のバイト数。
nvram_result_t (* delete_space)(const struct nvram_device *device, uint32_t インデックス, const uint8_t *authorization_value, uint32_t authorization_value_size) |
スペースを削除します。
device - nvram_deviceインスタンス。 Index - スペースのインデックス。 authorization_value - スペースに NV_CONTROL_WRITE_AUTHORIZATION ポリシーがある場合、このパラメータは認証値を提供します。それ以外の場合、この値は無視され、NULL になる可能性があります。 authorization_value_size - |authorization_value| のバイト数。
nvram_result_t (* disable_create)(const struct nvram_device *device) |
次にデバイスを完全にリセットするまで (再起動ではなく出荷時設定にリセットする場合と同様)、それ以降のスペースの作成を無効にします。 NV_CreateSpace への後続の呼び出しでは、NV_RESULT_OPERATION_DISABLED が返されます。
device - nvram_deviceインスタンス。
nvram_result_t (*enable_read_lock)(const struct nvram_device *device, uint32_t インデックス, const uint8_t *authorization_value, uint32_t authorization_value_size) |
ポリシーに従って、指定されたスペースの読み取りロックを有効にします。スペースに NV_CONTROL_BOOT_READ_LOCK が設定されていない場合、この関数は効果がなく、エラーを返す可能性があります。
device - nvram_deviceインスタンス。 Index - スペースのインデックス。 authorization_value - スペースに NV_CONTROL_READ_AUTHORIZATION ポリシーがある場合、このパラメーターは認証値を提供します。 (読み取り用にロックするために書き込みアクセスは必要ないことに注意してください。読み取りロックは常に揮発性です。) それ以外の場合、この値は無視され、NULL になる可能性があります。 authorization_value_size - |authorization_value| のバイト数。
nvram_result_t (*enable_write_lock)(const struct nvram_device *device, uint32_t インデックス, const uint8_t *authorization_value, uint32_t authorization_value_size) |
ポリシーに従って、指定されたスペースの書き込みロックを有効にします。スペースに NV_CONTROL_PERSISTENT_WRITE_LOCK または NV_CONTROL_BOOT_WRITE_LOCK が設定されていない場合、この関数は効果がなく、エラーを返す可能性があります。
device - nvram_deviceインスタンス。 Index - スペースのインデックス。 authorization_value - スペースに NV_CONTROL_WRITE_AUTHORIZATION ポリシーがある場合、このパラメータは認証値を提供します。それ以外の場合、この値は無視され、NULL になる可能性があります。 authorization_value_size - |authorization_value| のバイト数。
nvram_result_t (* get_available_size_in_bytes)(const struct nvram_device *device, uint64_t *available_size) |
NVRAM で使用可能な未割り当てのバイト数を出力します。実装で利用可能なサイズがわからない場合は、推定サイズまたは合計サイズが提供されることがあります。
device - nvram_deviceインスタンス。 available_size - 出力を受け取ります。 NULL は指定できません。
nvram_result_t (* get_max_space_size_in_bytes)(const struct nvram_device *device, uint64_t *max_space_size) |
1 つのスペースに割り当てられる最大バイト数を出力します。これは常に少なくとも 32 です。実装で最大サイズが制限されていない場合は、合計サイズが提供される場合があります。
device - nvram_deviceインスタンス。 max_space_size - 出力を受け取ります。 NULL は指定できません。
nvram_result_t (* get_max_spaces)(const struct nvram_device *device, uint32_t *num_spaces) |
割り当てられるスペースの最大合計数を出力します。これは常に少なくとも 8 です。任意の数のスペースがサポートされている場合は、NV_UNLIMITED_SPACES を出力します (使用可能な NVRAM バイトのみに制限されます)。
device - nvram_deviceインスタンス。 num_spaces - 出力を受け取ります。 NULL は指定できません。
nvram_result_t (* get_space_controls)(const struct nvram_device *device, uint32_t インデックス, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size) |
指定されたスペースに関連付けられたコントロールのリストを出力します。
device - nvram_deviceインスタンス。 Index - スペースのインデックス。 max_list_size - |control_list| 内の項目の数。配列。 control_list - 指定された |max_list_size| までのコントロールのリストを受け取ります。 |max_list_size| の場合は NULL になる可能性がありますlist_size - |control_list| に設定された項目の数、または |control_list| の場合は使用可能な項目の数を受け取ります。無効である。
nvram_result_t (* get_space_list)(const struct nvram_device *device, uint32_t max_list_size, uint32_t *space_index_list, uint32_t *list_size) |
作成した空間インデックスの一覧を出力します。 |max_list_size| の場合0、|list_size| のみ人が住んでいます。
device - nvram_deviceインスタンス。 max_list_size - |space_index_list| 内の項目の数。配列。 space_index_list - 指定された |max_list_size| までの作成されたスペースのリストを受け取ります。 |max_list_size| の場合は NULL になる可能性がありますlist_size - |space_index_list| に入力された項目の数、または |space_index_list| の場合は使用可能な項目の数を受け取ります。無効である。
nvram_result_t (* get_space_size)(const struct nvram_device *デバイス、uint32_t インデックス、uint64_t *サイズ) |
指定されたスペースのサイズをバイト単位で出力します。
device - nvram_deviceインスタンス。 Index - スペースのインデックス。 size - 出力を受け取ります。 NULL は指定できません。
nvram_result_t (* get_total_size_in_bytes)(const struct nvram_device *device, uint64_t *total_size) |
NVRAM で使用可能な合計バイト数を出力します。これは常に少なくとも 2048 になります。実装で合計サイズがわからない場合は、推定値または 2048 が提供されることがあります。
device - nvram_deviceインスタンス。 total_size - 出力を受け取ります。 NULL は指定できません。
nvram_result_t (* is_space_locked)(const struct nvram_device *device, uint32_t インデックス, int *write_lock_enabled, int *read_lock_enabled) |
指定されたスペースに対してロックが有効かどうかを出力します。ロックが有効な場合、操作は無効になり、その操作を実行しようとすると NV_RESULT_OPERATION_DISABLED が発生します。
device - nvram_deviceインスタンス。 Index - スペースのインデックス。 write_lock_enabled - 書き込み操作が現在無効になっている場合は、ゼロ以外に設定されます。 read_lock_enabled - 読み取り操作が現在無効になっている場合は、ゼロ以外に設定されます。
nvram_result_t (* read_space)(const struct nvram_device *device, uint32_t インデックス, uint64_t num_bytes_to_read, const uint8_t *authorization_value, uint32_t authorization_value_size, uint8_t *buffer, uint64_t *bytes_read) |
スペースの内容を読み取ります。スペースに一度も書き込まれていない場合、読み取られたすべてのバイトは 0x00 になります。
device - nvram_deviceインスタンス。 Index - スペースのインデックス。 num_bytes_to_read - 読み取るバイト数。 |バッファ|このバイト数を保持できる十分な大きさでなければなりません。これがスペースのサイズを超える場合は、スペース全体が読み取られます。これがスペースのサイズより小さい場合、スペースの最初のバイトが読み取られます。 authorization_value - スペースに NV_CONTROL_READ_AUTHORIZATION ポリシーがある場合、このパラメーターは認証値を提供します。それ以外の場合、この値は無視され、NULL になる可能性があります。 authorization_value_size - |authorization_value| のバイト数。バッファ - スペースから読み取られたデータを受け取ります。少なくとも |num_bytes_to_read| でなければなりませんバイトのサイズ。 bytes_read - 読み取られたバイト数。 NV_RESULT_SUCCESS が返された場合、これは |num_bytes_to_read| の小さい方に設定されます。またはスペースのサイズ。
nvram_result_t (* write_space)(const struct nvram_device *device, uint32_t インデックス, const uint8_t *buffer, uint64_tbuffer_size, const uint8_t *authorization_value, uint32_t authorization_value_size) |
スペースの内容を書き込みます。スペースが NV_CONTROL_WRITE_EXTEND で構成されている場合、入力データは現在のデータを拡張するために使用されます。
device - nvram_deviceインスタンス。 Index - スペースのインデックス。バッファ - 書き込むデータ。 buffer_size - |buffer|内のバイト数。これがスペースのサイズより小さい場合、残りのバイトは 0x00 に設定されます。これがスペースのサイズを超える場合は、NV_RESULT_INVALID_PARAMETER を返します。 authorization_value - スペースに NV_CONTROL_WRITE_AUTHORIZATION ポリシーがある場合、このパラメータは認証値を提供します。それ以外の場合、この値は無視され、NULL になる可能性があります。 authorization_value_size - |authorization_value| のバイト数。
この構造体のドキュメントは次のファイルから生成されました。