Referensi Struktur nvram_device
#include < nvram.h >
Bidang Data | |
struktur hw_device_t | umum |
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 *device, uint32_t index, uint64_t *size) |
nvram_result_t (* | get_space_controls )(const struct nvram_device *device, uint32_t index, 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 index, int *write_lock_enabled, int *read_lock_enabled) |
nvram_result_t (* | create_space )(const struct nvram_device *device, uint32_t index, 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 index, 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 index, const uint8_t *buffer, uint64_t buffer_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 index, const uint8_t *authorization_value, uint32_t Authorization_value_size) |
nvram_result_t (* | enable_read_lock )(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t Authorization_value_size) |
Detil Deskripsi
Dokumentasi Lapangan
struct hw_device_t umum |
Metode umum nvram_device . Ini harus menjadi anggota pertama nvram_device karena pengguna struktur ini akan memberikan penunjuk hw_device_t ke nvram_device dalam konteks yang diketahui bahwa hw_device_t mereferensikan nvram_device .
nvram_result_t (* create_space)(const struct nvram_device *device, uint32_t index, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *authorization_value, otorisasi_nilai_ukuran)t |
Membuat ruang baru dengan indeks, ukuran, kontrol, dan nilai otorisasi yang diberikan.
perangkat - Contoh nvram_device . index - Indeks untuk ruang baru. Indeks dapat berupa nilai 32-bit apa pun tetapi belum boleh ditetapkan ke ruang yang ada. size_in_bytes - Jumlah byte yang dialokasikan untuk ruang. control_list - Serangkaian kontrol untuk diterapkan pada ruang. list_size - Jumlah item dalam |control_list|. otorisasi_nilai - Jika |control_list| berisi NV_CONTROL_READ_AUTHORIZATION dan / atau NV_CONTROL_WRITE_AUTHORIZATION, maka parameter ini memberikan nilai otorisasi untuk kebijakan ini (jika kedua kontrol disetel maka nilai ini berlaku untuk keduanya). Jika tidak, nilai ini diabaikan dan mungkin NULL. authorization_value_size - Jumlah byte dalam |authorization_value|.
nvram_result_t (* delete_space)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t Authorization_value_size) |
Menghapus spasi.
perangkat - Contoh nvram_device . indeks - Indeks spasi. otorisasi_nilai - Jika ruang memiliki kebijakan NV_CONTROL_WRITE_AUTHORIZATION, maka parameter ini memberikan nilai otorisasi. Jika tidak, nilai ini diabaikan dan mungkin NULL. authorization_value_size - Jumlah byte dalam |authorization_value|.
nvram_result_t (* disable_create)(const struct nvram_device *device) |
Menonaktifkan pembuatan ruang lebih lanjut hingga reset perangkat penuh berikutnya (seperti dalam reset pabrik, bukan reboot). Panggilan berikutnya ke NV_CreateSpace akan mengembalikan NV_RESULT_OPERATION_DISABLED.
perangkat - Contoh nvram_device .
nvram_result_t (* enable_read_lock)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t Authorization_value_size) |
Mengaktifkan kunci baca untuk ruang yang diberikan sesuai dengan kebijakannya. Jika ruang tidak memiliki NV_CONTROL_BOOT_READ_LOCK yang disetel, maka fungsi ini tidak berpengaruh dan dapat mengembalikan kesalahan.
perangkat - Contoh nvram_device . indeks - Indeks spasi. otorisasi_nilai - Jika ruang memiliki kebijakan NV_CONTROL_READ_AUTHORIZATION, maka parameter ini memberikan nilai otorisasi. (Perhatikan bahwa tidak ada persyaratan untuk akses tulis untuk mengunci pembacaan. Kunci baca selalu berubah-ubah.) Jika tidak, nilai ini diabaikan dan mungkin NULL. authorization_value_size - Jumlah byte dalam |authorization_value|.
nvram_result_t (* enable_write_lock)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t Authorization_value_size) |
Mengaktifkan kunci tulis untuk ruang yang diberikan sesuai dengan kebijakannya. Jika ruang tidak memiliki NV_CONTROL_PERSISTENT_WRITE_LOCK atau NV_CONTROL_BOOT_WRITE_LOCK yang disetel, maka fungsi ini tidak berpengaruh dan dapat mengembalikan kesalahan.
perangkat - Contoh nvram_device . indeks - Indeks spasi. otorisasi_nilai - Jika ruang memiliki kebijakan NV_CONTROL_WRITE_AUTHORIZATION, maka parameter ini memberikan nilai otorisasi. Jika tidak, nilai ini diabaikan dan mungkin NULL. authorization_value_size - Jumlah byte dalam |authorization_value|.
nvram_result_t (* get_available_size_in_bytes)(const struct nvram_device *device, uint64_t *available_size) |
Menampilkan jumlah byte yang tidak terisi yang tersedia di NVRAM. Jika suatu implementasi tidak mengetahui ukuran yang tersedia, ia dapat memberikan perkiraan atau ukuran total.
perangkat - Contoh nvram_device . available_size - Menerima output. Tidak boleh NULL.
nvram_result_t (* get_max_space_size_in_bytes)(const struct nvram_device *device, uint64_t *max_space_size) |
Menampilkan jumlah byte maksimum yang dapat dialokasikan untuk satu ruang. Ini akan selalu menjadi setidaknya 32. Jika suatu implementasi tidak membatasi ukuran maksimum, itu dapat memberikan ukuran total.
device - Contoh nvram_device . max_space_size - Menerima output. Tidak boleh NULL.
nvram_result_t (* get_max_spaces)(const struct nvram_device *device, uint32_t *num_spaces) |
Menampilkan jumlah total maksimum ruang yang dapat dialokasikan. Ini akan selalu menjadi setidaknya 8. Keluaran NV_UNLIMITED_SPACES jika sejumlah ruang didukung (terbatas hanya untuk byte NVRAM yang tersedia).
device - Contoh nvram_device . num_spaces - Menerima output. Tidak boleh NULL.
nvram_result_t (* get_space_controls)(const struct nvram_device *device, uint32_t index, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size) |
Menampilkan daftar kontrol yang terkait dengan ruang tertentu.
perangkat - Contoh nvram_device . indeks - Indeks spasi. max_list_size - Jumlah item dalam |control_list| Himpunan. control_list - Menerima daftar kontrol hingga |max_list_size| yang diberikan. Mungkin NULL jika |max_list_size| is 0. list_size - Menerima jumlah item yang diisi di |control_list|, atau jumlah item yang tersedia jika |control_list| adalah NULL.
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) |
Menampilkan daftar indeks ruang yang dibuat. Jika |max_list_size| adalah 0, hanya |list_size| berpenduduk.
device - Contoh nvram_device . max_list_size - Jumlah item dalam |space_index_list| Himpunan. space_index_list - Menerima daftar ruang yang dibuat hingga |max_list_size| yang diberikan. Mungkin NULL jika |max_list_size| is 0. list_size - Menerima jumlah item yang diisi di |space_index_list|, atau jumlah item yang tersedia jika |space_index_list| adalah NULL.
nvram_result_t (* get_space_size)(const struct nvram_device *device, uint32_t index, uint64_t *size) |
Menampilkan ukuran, dalam byte, dari ruang tertentu.
perangkat - Contoh nvram_device . indeks - Indeks spasi. ukuran - Menerima output. Tidak boleh NULL.
nvram_result_t (* get_total_size_in_bytes)(const struct nvram_device *device, uint64_t *total_size) |
Menampilkan jumlah total byte yang tersedia di NVRAM. Ini akan selalu setidaknya 2048. Jika suatu implementasi tidak mengetahui ukuran totalnya, ia dapat memberikan perkiraan atau 2048.
perangkat - Contoh nvram_device . total_size - Menerima output. Tidak boleh NULL.
nvram_result_t (* is_space_locked)(const struct nvram_device *device, uint32_t index, int *write_lock_enabled, int *read_lock_enabled) |
Menampilkan apakah kunci diaktifkan untuk ruang yang diberikan. Ketika kunci diaktifkan, operasi dinonaktifkan dan setiap upaya untuk melakukan operasi itu akan menghasilkan NV_RESULT_OPERATION_DISABLED.
device - Contoh nvram_device . indeks - Indeks spasi. write_lock_enabled - Akan disetel ke bukan nol jika operasi penulisan saat ini dinonaktifkan. read_lock_enabled - Akan disetel ke bukan nol jika operasi baca saat ini dinonaktifkan.
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, byteuint64_ |
Membaca isi spasi. Jika spasi belum pernah ditulis, semua byte yang dibaca akan menjadi 0x00.
perangkat - Contoh nvram_device . indeks - Indeks spasi. num_bytes_to_read - Jumlah byte yang akan dibaca; |penyangga| harus cukup besar untuk menampung banyak byte ini. Jika ini lebih dari ukuran ruang, seluruh ruang dibaca. Jika ini kurang dari ukuran ruang, byte pertama dalam ruang dibaca. otorisasi_nilai - Jika ruang memiliki kebijakan NV_CONTROL_READ_AUTHORIZATION, maka parameter ini memberikan nilai otorisasi. Jika tidak, nilai ini diabaikan dan mungkin NULL. authorization_value_size - Jumlah byte dalam |authorization_value|. buffer - Menerima data yang dibaca dari ruang. Setidaknya harus |num_bytes_to_read| ukuran byte. byte_read - Jumlah byte yang dibaca. Jika NV_RESULT_SUCCESS dikembalikan, ini akan disetel ke yang lebih kecil dari |num_bytes_to_read| atau ukuran ruang.
nvram_result_t (* write_space)(const struct nvram_device *device, uint32_t index, const uint8_t *buffer, uint64_t buffer_size, const uint8_t *authorization_value, uint32_t Authorization_value_size) |
Menulis isi spasi. Jika ruang dikonfigurasi dengan NV_CONTROL_WRITE_EXTEND maka data input digunakan untuk memperluas data saat ini.
perangkat - Contoh nvram_device . indeks - Indeks spasi. buffer - Data yang akan ditulis. buffer_size - Jumlah byte dalam |buffer|. Jika ini kurang dari ukuran ruang, byte yang tersisa akan disetel ke 0x00. Jika ini lebih dari ukuran ruang, kembalikan NV_RESULT_INVALID_PARAMETER. otorisasi_nilai - Jika ruang memiliki kebijakan NV_CONTROL_WRITE_AUTHORIZATION, maka parameter ini memberikan nilai otorisasi. Jika tidak, nilai ini diabaikan dan mungkin NULL. authorization_value_size - Jumlah byte dalam |authorization_value|.
Dokumentasi untuk struct ini dibuat dari file berikut:
- hardware/libhardware/include/hardware/ nvram.h