nvram_device Yapı Referansı
#include < nvram.h >
Veri alanları | |
hw_device_t yapısı | 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 indeksi, 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 *yetkilendirme_değeri, uint32_t yetkilendirme_değer_boyutu) |
nvram_result_t (* | delete_space )(const struct nvram_device *device, uint32_t indeksi, const uint8_t *yetkilendirme_değeri, uint32_t yetkilendirme_değeri_boyutu) |
nvram_result_t (* | devre dışı_yarat )(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 *yetkilendirme_değeri, uint32_t yetkilendirme_değer_boyutu) |
nvram_result_t (* | okuma_boşluğu )(const struct nvram_device *device, uint32_t indeksi, uint64_t num_bytes_to_read, const uint8_t *yetkilendirme_değeri, uint32_t yetkilendirme_değeri_boyutu, uint8_t *buffer, uint64_t *bytes_read) |
nvram_result_t (* | active_write_lock )(const struct nvram_device *device, uint32_t indeksi, const uint8_t *yetkilendirme_değeri, uint32_t yetkilendirme_değeri_boyutu) |
nvram_result_t (* | active_read_lock )(const struct nvram_device *device, uint32_t indeksi, const uint8_t *yetkilendirme_değeri, uint32_t yetkilendirme_değeri_boyutu) |
Detaylı Açıklama
Saha Dokümantasyonu
hw_device_t ortak yapısı |
nvram_device'ın yaygın yöntemleri. Bu yapının kullanıcıları , hw_device_t öğesinin bir nvram_device referansına başvurduğu bilinen bağlamlarda nvram_device işaretçisine bir hw_device_t aktaracağından, bu nvram_device öğesinin ilk üyesi olmalıdır .
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 *yetkilendirme_değeri, uint32_t yetkilendirme_değer_boyutu) |
Verilen dizin, boyut, kontroller ve yetkilendirme değeriyle yeni bir alan oluşturur.
cihaz - nvram_device örneği. index - Yeni alan için bir dizin. İndeks herhangi bir 32 bitlik değer olabilir ancak mevcut bir alana önceden atanmamış olmalıdır. size_in_bytes - Alan için ayrılacak bayt sayısı. control_list - Alan için uygulanacak kontrol dizisi. list_size - |kontrol_listesi|'ndeki öğelerin sayısı. yetkilendirme_değeri - Eğer |kontrol_listesi| 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 kontrol de ayarlandıysa bu değer her ikisi için de geçerlidir). Aksi takdirde bu değer dikkate alınmaz ve NULL olabilir. yetki_değeri_boyutu - |yetki_değeri| içindeki bayt sayısı.
nvram_result_t (* delete_space)(const struct nvram_device *aygıt, uint32_t dizini, const uint8_t *yetkilendirme_değeri, uint32_t yetkilendirme_değeri_boyutu) |
Bir alanı siler.
cihaz - nvram_device örneği. index - Uzay dizini. Authorization_value - Alanın NV_CONTROL_WRITE_AUTHORIZATION politikası varsa bu parametre yetkilendirme değerini sağlar. Aksi takdirde bu değer dikkate alınmaz ve NULL olabilir. yetki_değeri_boyutu - |yetki_değeri| içindeki bayt sayısı.
nvram_result_t (* devre dışı_oluştur)(const struct nvram_device *device) |
Bir sonraki tam cihaz sıfırlamasına kadar (yeniden başlatma değil, fabrika ayarlarına sıfırlamada olduğu gibi) daha fazla alan oluşturulmasını devre dışı bırakır. NV_CreateSpace'e yapılan sonraki çağrılar NV_RESULT_OPERATION_DISABLED değerini döndürmelidir.
cihaz - nvram_device örneği.
nvram_result_t (* active_read_lock)(const struct nvram_device *aygıt, uint32_t dizini, const uint8_t *yetkilendirme_değeri, uint32_t yetkilendirme_değeri_boyutu) |
Politikasına göre belirli bir alan için okuma kilidini etkinleştirir. Alanın NV_CONTROL_BOOT_READ_LOCK ayarı yoksa bu işlevin hiçbir etkisi olmaz ve bir hata döndürebilir.
cihaz - nvram_device örneği. index - Uzay dizini. yetkilendirme_değeri - Alanın NV_CONTROL_READ_AUTHORIZATION politikası varsa bu parametre yetkilendirme değerini sağlar. (Okumayı kilitlemek için yazma erişimine gerek olmadığını unutmayın. Okuma kilidi her zaman geçicidir.) Aksi takdirde, bu değer göz ardı edilir ve NULL olabilir. yetki_değeri_boyutu - |yetki_değeri| içindeki bayt sayısı.
nvram_result_t (* active_write_lock)(const struct nvram_device *aygıt, uint32_t dizini, const uint8_t *yetkilendirme_değeri, uint32_t yetkilendirme_değer_boyutu) |
Politikasına göre belirli bir alan için yazma kilidini etkinleştirir. Alanın NV_CONTROL_PERSISTENT_WRITE_LOCK veya NV_CONTROL_BOOT_WRITE_LOCK ayarı yoksa bu işlevin hiçbir etkisi olmaz ve bir hata döndürebilir.
cihaz - nvram_device örneği. index - Uzay dizini. Authorization_value - Alanın NV_CONTROL_WRITE_AUTHORIZATION politikası varsa bu parametre yetkilendirme değerini sağlar. Aksi takdirde bu değer dikkate alınmaz ve NULL olabilir. yetki_değeri_boyutu - |yetki_değeri| içindeki bayt sayısı.
nvram_result_t (* get_available_size_in_bytes)(const struct nvram_device *device, uint64_t *available_size) |
NVRAM'de mevcut olan ayrılmamış bayt sayısını verir. Bir uygulama mevcut boyutu bilmiyorsa bir tahmin veya toplam boyut sağlayabilir.
cihaz - nvram_device örneği. Available_size - Çıktıyı alır. Boş olamaz.
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ı verir. Bu her zaman en az 32 olacaktır. Bir uygulama maksimum boyutu sınırlamıyorsa toplam boyutu sağlayabilir.
cihaz - nvram_device örneği. max_space_size - Çıktıyı alır. Boş olamaz.
nvram_result_t (* get_max_spaces)(const struct nvram_device *device, uint32_t *num_spaces) |
Tahsis edilebilecek maksimum toplam alan sayısını verir. Bu her zaman en az 8 olacaktır. Herhangi bir sayıda boşluk destekleniyorsa NV_UNLIMITED_SPACES çıktısını alır (yalnızca kullanılabilir NVRAM baytlarıyla sınırlıdır).
cihaz - nvram_device örneği. num_spaces - Çıktıyı alır. Boş 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 çıkarır.
cihaz - nvram_device örneği. index - Uzay dizini. max_list_size - |kontrol_listesi|'ndeki öğelerin sayısı sıralamak. control_list - Belirtilen |max_list_size| değerine kadar olan kontrollerin listesini alır. |max_list_size| ise NULL olabilir 0'dır. liste_boyutu - |kontrol_listesi|'de doldurulan öğelerin sayısını veya |kontrol_listesi| ise mevcut öğelerin sayısını alır. NULL'dur.
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 indekslerinin bir listesini çıkarır. Eğer |max_list_size| 0, yalnızca |list_size| nüfusludur.
cihaz - nvram_device örneği. max_list_size - |space_index_list|'teki öğelerin sayısı sıralamak. space_index_list - Belirtilen |max_list_size| değerine kadar oluşturulan alanların listesini alır. |max_list_size| ise NULL olabilir 0'dır. list_size - |space_index_list|'de doldurulan öğe sayısını veya |space_index_list| ise mevcut öğe sayısını alır. NULL'dur.
nvram_result_t (* get_space_size)(const struct nvram_device *device, uint32_t index, uint64_t *size) |
Belirli bir alanın boyutunu bayt cinsinden verir.
cihaz - nvram_device örneği. index - Uzay dizini. boyut - Çıktıyı alır. Boş olamaz.
nvram_result_t (* get_total_size_in_bytes)(const struct nvram_device *device, uint64_t *total_size) |
NVRAM'de bulunan toplam bayt sayısını verir. Bu her zaman en az 2048 olacaktır. Bir uygulama toplam boyutu bilmiyorsa bir tahmin veya 2048 sağlayabilir.
cihaz - nvram_device örneği. total_size - Çıktıyı alır. Boş olamaz.
nvram_result_t (* is_space_locked)(const struct nvram_device *device, uint32_t index, int *write_lock_enabled, int *read_lock_enabled) |
Belirli bir alan için kilitlerin etkin olup olmadığının çıktısını verir. Kilit etkinleştirildiğinde işlem devre dışı bırakılır ve bu işlemi gerçekleştirmeye yönelik herhangi bir girişim NV_RESULT_OPERATION_DISABLED ile sonuçlanacaktır.
cihaz - nvram_device örneği. index - Uzay dizini. write_lock_enabled - Yazma işlemleri şu anda devre dışıysa sıfırdan farklı bir değere ayarlanacaktır. read_lock_enabled - Okuma işlemleri şu anda devre dışıysa sıfırdan farklı olarak ayarlanacaktır.
nvram_result_t (* read_space)(const struct nvram_device *device, uint32_t index, uint64_t num_bytes_to_read, const uint8_t *yetkilendirme_değeri, uint32_t yetkilendirme_değeri_boyutu, uint8_t *buffer, uint64_t *bytes_read) |
Bir alanın içeriğini okur. Eğer boşluk hiç yazılmamışsa okunan tüm baytlar 0x00 olacaktır.
cihaz - nvram_device örneği. index - Uzay dizini. num_bytes_to_read - Okunacak bayt sayısı; |tampon| bu kadar baytı tutacak kadar büyük olmalı. Bu alanın boyutundan fazla ise alanın tamamı okunur. Bu alanın boyutundan küçükse, alandaki ilk baytlar okunur. yetkilendirme_değeri - Alanın NV_CONTROL_READ_AUTHORIZATION politikası varsa bu parametre yetkilendirme değerini sağlar. Aksi takdirde bu değer dikkate alınmaz ve NULL olabilir. yetki_değeri_boyutu - |yetki_değeri| içindeki bayt sayısı. arabellek - Alandan okunan verileri alır. En az |num_bytes_to_read| olmalı bayt boyutunda. bytes_read - Okunan bayt sayısı. NV_RESULT_SUCCESS döndürülürse bu |num_bytes_to_read|'den küçük olana ayarlanacaktır. veya alanın boyutu.
nvram_result_t (* write_space)(const struct nvram_device *device, uint32_t index, const uint8_t *buffer, uint64_t buffer_size, const uint8_t *yetkilendirme_değeri, uint32_t yetkilendirme_değer_boyutu) |
Bir alanın içeriğini yazar. Alan NV_CONTROL_WRITE_EXTEND ile yapılandırılmışsa giriş verileri mevcut verileri genişletmek için kullanılır.
cihaz - nvram_device örneği. index - Uzay dizini. arabellek - Yazılacak veriler. buffer_size - |buffer| içindeki bayt sayısı. Bu alanın boyutundan küçükse kalan baytlar 0x00 olarak ayarlanacaktır. Bu, alanın boyutundan fazlaysa NV_RESULT_INVALID_PARAMETER değerini döndürür. Authorization_value - Alanın NV_CONTROL_WRITE_AUTHORIZATION politikası varsa bu parametre yetkilendirme değerini sağlar. Aksi takdirde bu değer dikkate alınmaz ve NULL olabilir. yetki_değeri_boyutu - |yetki_değeri| içindeki bayt sayısı.
Bu yapıya ilişkin belgeler aşağıdaki dosyadan oluşturulmuştur:
- donanım/libdonanım/include/donanım/ nvram.h