nvram_device Yapı Referansı
#include <
nvram.h
>
Veri Alanları |
|
struct hw_device_t | yaygın |
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) |
Ayrıntılı Açıklama
Alan Belgeleri
struct hw_device_t common |
nvram_device yönteminin yaygın kullanım alanları Bu yapının kullanıcıları, hw_device_t nvram_device yönergesine referans verdiği bilinen bağlamlarda hw_device_t nvram_device işleyicisi atacağından bu, nvram_device yapısının ilk üyesi olmalıdır.
Tanımı, nvram.h dosyasının 55. satırı içindedir.
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) |
Belirtilen dizin, boyut, denetimler ve yetkilendirme değeriyle yeni bir alan oluşturur.
device: nvram_device örneği. index: Yeni alan için bir dizin. Dizin, herhangi bir 32 bit değer olabilir ancak mevcut bir alana atanmış olmamalıdır. size_in_bytes: Alan için ayrılacak bayt sayısı. control_list: Alan için uygulanacak bir denetim dizisi. list_size: |control_list| içinde öğe sayısı. authorization_value: |control_list| NV_CONTROL_READ_AUTHORIZATION ve / veya NV_CONTROL_WRITE_AUTHORIZATION içeriyorsa bu parametre bu politikalar için yetkilendirme değerini sağlar (her iki denetim de ayarlanmışsa bu değer her ikisi için de geçerlidir). Aksi takdirde bu değer yoksayılır ve NULL olabilir. authorization_value_size: |authorization_value| içindeki bayt sayısı.
Tanımı, nvram.h dosyasının 187. satırı içinde bulabilirsiniz.
nvram_result_t (* delete_space)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size) |
Alanı silebilir.
device: nvram_device örneği. index: Alan dizini. authorization_value: Alanda NV_CONTROL_WRITE_AUTHORIZATION politikası varsa bu parametre yetkilendirme değerini sağlar. Aksi takdirde bu değer yoksayılır ve NULL olabilir. authorization_value_size: |authorization_value| içindeki bayt sayısı.
nvram_result_t (* disable_create)(const struct nvram_device *device) |
Bir sonraki tam cihaz sıfırlamasına (yeniden başlatma değil, fabrika ayarlarına sıfırlama) kadar başka alan oluşturulmasını devre dışı bırakır. NV_CreateSpace'a yapılan sonraki çağrılar NV_RESULT_OPERATION_DISABLED değerini döndürmelidir.
device: nvram_device örneği.
nvram_result_t (* enable_read_lock)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size) |
Belirtilen alan için politikasına göre bir okuma kilidi etkinleştirir. Alanda NV_CONTROL_BOOT_READ_LOCK ayarlanmamışsa bu işlevin bir etkisi olmaz ve hata döndürülebilir.
device: nvram_device örneği. index: Alan dizini. authorization_value: Alanda NV_CONTROL_READ_AUTHORIZATION politikası varsa bu parametre yetkilendirme değerini sağlar. (Okuma için kilitlemek amacıyla yazma erişiminin gerekli olmadığını unutmayın. Okuma kilidi her zaman geçicidir.) Aksi takdirde bu değer yoksayılır ve NULL olabilir. authorization_value_size: |authorization_value| içindeki bayt sayısı.
nvram_result_t (* enable_write_lock)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size) |
Belirtilen alan için politikasına göre yazma kilidi etkinleştirir. Alanda NV_CONTROL_PERSISTENT_WRITE_LOCK veya NV_CONTROL_BOOT_WRITE_LOCK ayarlanmamışsa bu işlevin bir etkisi olmaz ve hata döndürülebilir.
device: nvram_device örneği. index: Alan dizini. authorization_value: Alanda NV_CONTROL_WRITE_AUTHORIZATION politikası varsa bu parametre yetkilendirme değerini sağlar. Aksi takdirde bu değer yoksayılır ve NULL olabilir. authorization_value_size: |authorization_value| içindeki bayt sayısı.
nvram_result_t (* get_available_size_in_bytes)(const struct nvram_device *device, uint64_t *available_size) |
NVRAM'da ayrılmamış bayt sayısını gösterir. Bir uygulama mevcut boyutu bilmiyorsa tahmini veya toplam boyutu sağlayabilir.
device: nvram_device örneği. available_size: Çıktıyı alır. NULL olamaz.
Tanımı, nvram.h dosyasının 76. satırı içindedir.
nvram_result_t (* get_max_space_size_in_bytes)(const struct nvram_device *device, uint64_t *max_space_size) |
Tek bir alan için ayrılabilecek maksimum bayt sayısını döndürür. Bu değer her zaman en az 32 olur. Bir uygulama maksimum boyutu sınırlamazsa toplam boyutu sağlayabilir.
device: nvram_device örneği. max_space_size: Çıktıyı alır. NULL olamaz.
nvram_result_t (* get_max_spaces)(const struct nvram_device *device, uint32_t *num_spaces) |
Ayrılabilecek maksimum toplam alan sayısını döndürür. Bu değer her zaman en az 8 olur. Herhangi bir sayıda alan destekleniyorsa NV_UNLIMITED_SPACES değerini döndürür (yalnızca kullanılabilir NVRAM baytlarıyla sınırlıdır).
device: nvram_device örneği. num_spaces: Çıktıyı alır. NULL olamaz.
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) |
Belirli bir alanla ilişkili kontrollerin listesini döndürür.
device: nvram_device örneği. index: Alan dizini. max_list_size: |control_list| dizisindeki öğe sayısı. control_list: Belirtilen |max_list_size| değerine kadar kontrol öğelerinin listesini alır. |max_list_size| 0 ise NULL olabilir. list_size: |control_list| içinde doldurulan öğelerin sayısını veya |control_list| NULL ise mevcut öğelerin sayısını alır.
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) |
Oluşturulan alan dizinlerinin listesini döndürür. |max_list_size| 0 ise yalnızca |list_size| doldurulur.
device: nvram_device örneği. max_list_size: |space_index_list| dizisindeki öğe sayısı. space_index_list: Belirtilen |max_list_size| değerine kadar oluşturulan alanların listesini alır. |max_list_size| 0 ise NULL olabilir. list_size: |space_index_list| içinde doldurulan öğelerin sayısını veya |space_index_list| NULL ise mevcut öğelerin sayısını alır.
nvram_result_t (* get_space_size)(const struct nvram_device *device, uint32_t index, uint64_t *size) |
Belirli bir alanın bayt cinsinden boyutunu döndürür.
device: nvram_device örneği. index: Alan dizini. size: Çıktıyı alır. NULL olamaz.
nvram_result_t (* get_total_size_in_bytes)(const struct nvram_device *device, uint64_t *total_size) |
NVRAM'de kullanılabilen toplam bayt sayısını döndürür. Bu değer her zaman en az 2.048'dir. Bir uygulama toplam boyutu bilmiyorsa bir tahmin veya 2048 sağlayabilir.
device: nvram_device örneği. total_size: Çıktıyı alır. NULL olamaz.
nvram_result_t (* is_space_locked)(const struct nvram_device *device, uint32_t index, int *write_lock_enabled, int *read_lock_enabled) |
Belirtilen alan için kilitlerin etkin olup olmadığını döndürür. Bir kilit etkinleştirildiğinde işlem devre dışı bırakılır ve bu işlemi gerçekleştirme girişimi NV_RESULT_OPERATION_DISABLED ile sonuçlanır.
device: nvram_device örneği. index: Alan dizini. write_lock_enabled: Yazma işlemleri şu anda devre dışıysa sıfır olmayan bir değere ayarlanır. read_lock_enabled: Okuma işlemleri şu anda devre dışıysa sıfır olmayan bir değere ayarlanır.
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) |
Bir alanın içeriğini okur. Alana hiç veri yazılmamışsa okunan tüm baytlar 0x00 olur.
device: nvram_device örneği. index: Alan dizini. num_bytes_to_read: Okunacak bayt sayısı; |buffer| bu kadar bayt tutacak kadar büyük olmalıdır. Bu değer alanın boyutundan fazlaysa alanın tamamı okunur. Bu değer alanın boyutundan azsa alandaki ilk baytlar okunur. authorization_value: Alanda NV_CONTROL_READ_AUTHORIZATION politikası varsa bu parametre yetkilendirme değerini sağlar. Aksi takdirde bu değer göz ardı edilir ve NULL olabilir. authorization_value_size: |authorization_value| içindeki bayt sayısı. buffer: Alandan okunan verileri alır. Boyutu en az |num_bytes_to_read| bayt olmalıdır. bytes_read: Okunan bayt sayısı. NV_RESULT_SUCCESS döndürülürse bu değer, |num_bytes_to_read| veya alanın boyutu arasından küçük olana ayarlanır.
Tanımı, nvram.h dosyasının 272. satırı içindedir.
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) |
Bir alanın içeriğini yazar. Alan NV_CONTROL_WRITE_EXTEND ile yapılandırılmışsa mevcut verileri uzatmak için giriş verileri kullanılır.
device: nvram_device örneği. index: Alan dizini. buffer: Yazılacak veriler. buffer_size: |buffer| içindeki bayt sayısı. Bu değer, alanın boyutundan azsa kalan baytlar 0x00 olarak ayarlanır. Bu değer alanın boyutundan büyükse NV_RESULT_INVALID_PARAMETER döndürülür. authorization_value: Alanda NV_CONTROL_WRITE_AUTHORIZATION politikası varsa bu parametre yetkilendirme değerini sağlar. Aksi takdirde bu değer yoksayılır ve NULL olabilir. authorization_value_size: |authorization_value| içindeki bayt sayısı.
Tanımı, nvram.h dosyasının 241. satırı içindedir.
Bu yapının dokümanları aşağıdaki dosyadan oluşturulmuştur:
- hardware/libhardware/include/hardware/ nvram.h