Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Referensi Struktur nvram_device

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

Definisi pada baris 48 dari file nvram.h .

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 .

Definisi pada baris 55 dari file nvram.h .

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|.

Definisi pada baris 187 dari file nvram.h .

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|.

Definisi pada baris 207 dari file nvram.h .

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 .

Definisi pada baris 219 dari file nvram.h .

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|.

Definisi pada baris 317 dari file nvram.h .

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|.

Definisi pada baris 294 dari file nvram.h .

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.

Definisi pada baris 76 dari file nvram.h .

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.

Definisi pada baris 87 dari file nvram.h .

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.

Definisi pada baris 99 dari file nvram.h .

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.

Definisi pada baris 144 dari file nvram.h .

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.

Definisi pada baris 116 dari file nvram.h .

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.

Definisi pada baris 128 dari file nvram.h .

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.

Definisi pada baris 65 dari file nvram.h .

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.

Definisi pada baris 161 dari file nvram.h .

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.

Definisi pada baris 272 dari file nvram.h .

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|.

Definisi pada baris 241 dari file nvram.h .


Dokumentasi untuk struct ini dibuat dari file berikut:
  • hardware/libhardware/include/hardware/ nvram.h