hw_module_t Yapı Referansı

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