hw_module_t Yapı Referansı
#include < hardware.h >
Veri alanları | |
uint32_t | etiket |
uint16_t | module_api_version |
uint16_t | hal_api_version |
sabit karakter * | İD |
sabit karakter * | isim |
sabit karakter * | yazar |
yapı hw_module_methods_t * | yöntemler |
geçersiz * | dso |
uint32_t | ayrılmış [32-7] |
Detaylı Açıklama
Her donanım modülü HAL_MODULE_INFO_SYM adında bir veri yapısına sahip olmalı ve bu veri yapısının alanları hw_module_t ile başlamalı ve ardından modüle özel bilgiler gelmelidir.
hardware.h dosyasının 86. satırındaki tanım.
Saha Dokümantasyonu
const char* yazar |
Modülün yazarı/sahibi/uygulayıcısı
hardware.h dosyasının 139. satırındaki tanım.
geçersiz* dso |
modülün dso'su
hardware.h dosyasının 145. satırındaki tanım.
uint16_t hal_api_version |
version_major/version_minor tanımları, geçici kaynak kodu uyumluluğu için burada sağlanır. Bir sonraki sürümde kaldırılacaklar. TÜM istemcilerin yeni sürüm formatına dönüştürülmesi gerekir. HAL modülü arayüzünün API sürümü. Bu, hw_module_t , hw_module_methods_t ve hw_device_t yapılarının ve tanımlarının sürümlendirilmesi anlamına gelir.
HAL arayüzü bu alanın sahibidir. Modül kullanıcıları/uygulamaları sürüm bilgisi için bu değere güvenmemelidir.
Şu anda geçerli tek değer 0'dır.
hardware.h dosyasının 129. satırındaki tanım.
const karakter* kimliği |
Modül tanımlayıcısı
hardware.h dosyasının 133. satırındaki tanım.
struct hw_module_methods_t * yöntemler |
Modül yöntemleri
hardware.h dosyasının 142. satırındaki tanım.
uint16_t module_api_version |
Uygulanan modülün API sürümü. Modül arayüzü değiştiğinde sürümün güncellenmesinden modül sahibi sorumludur.
Gralloc ve audio gibi türetilmiş modüller bu alanın sahibidir ve yönetir. Modül kullanıcısının, sağlanan modül uygulamasıyla birlikte çalışıp çalışmayacağına karar vermek için sürüm alanını yorumlaması gerekir. Örneğin, SurfaceFlinger, gralloc modülü API'sinin farklı sürümlerinin nasıl yönetileceğini bildiğinden emin olmaktan sorumludur ve AudioFlinger, ses modülü API'si için aynı şeyi nasıl yapacağını bilmelidir.
Modül API sürümü bir ana ve bir küçük bileşen içermelidir. Örneğin sürüm 1.0, 0x0100 olarak temsil edilebilir. Bu biçim, 0x0100-0x01ff sürümlerinin tamamının API uyumlu olduğu anlamına gelir.
Gelecekte libhardware, desteklenen minimum/maksimum sürümleri bağımsız değişken olarak alacak ve sağlanan aralığın dışındaki sürümlere sahip modülleri reddedebilecek bir hw_get_module_version() (veya eşdeğeri) işlevini kullanıma sunacaktır.
hardware.h dosyasının 111. satırındaki tanım.
const karakter* adı |
Bu modülün adı
hardware.h dosyasının 136. satırındaki tanım.
uint32_t ayrılmış[32-7] |
128 bayta kadar dolgu, ileride kullanılmak üzere ayrılmıştır
hardware.h dosyasının 151. satırındaki tanım.
uint32_t etiketi |
etiket HARDWARE_MODULE_TAG olarak başlatılmalıdır
hardware.h dosyasının 88. satırındaki tanım.
Bu yapıya ilişkin belgeler aşağıdaki dosyadan oluşturulmuştur:
- donanım/libdonanım/include/donanım/ donanım.h