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
 
const char *  id
 
const char *  ad
 
const char *  author
 
struct hw_module_methods_t * yöntemleri
 
void *  dso
 
uint32_t  reserved [32-7]
 

Ayrıntılı Açıklama

Her donanım modülünde HAL_MODULE_INFO_SYM adlı bir veri yapısı olmalıdır ve bu veri yapısının alanları, hw_module_t ile başlamalı ve ardından modüle özgü bilgiler gelmelidir.

Tanımı, hardware.h dosyasının 86 . satırındadır.

Alan Belgeleri

const char* author

Modülün yazarı/sahibi/uygulayıcısı

Tanım, hardware.h dosyasının 139 satırına eklenmelidir.

void* dso

modülün dso

Tanımı, hardware.h dosyasının 145. satırı

uint16_t hal_api_version

Geçici kaynak kodu uyumluluğu için version_major/version_minor tanımları burada sağlanır. Bu özellikler sonraki sürümde kaldırılacaktır. TÜM istemcilerin yeni sürüm biçimine 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ümünü belirtmek içindir.

Bu alanın sahibi HAL arayüzüdür. Modül kullanıcıları/uygulamaları, sürüm bilgileri için bu değere güvenmemelidir.

Şu anda tek geçerli değer 0'dır.

Tanımı, hardware.h dosyasının 129 satırı

const char* id

Modülün tanımlayıcısı

Tanımı, hardware.h dosyasının 133 satırı

struct hw_module_methods_t * methods

Modül yöntemleri

Tanımı, hardware.h dosyasının 142. satırı

uint16_t module_api_version

Uygulanan modülün API sürümü. Modül arayüzü değiştiğinde sürümü güncellemekten modül sahibi sorumludur.

gralloc ve audio gibi türetilmiş modüller bu alanın sahibidir ve bu alanı yönetir. Modül kullanıcısı, sağlanan modül uygulamasıyla birlikte çalışıp çalışmayacağına karar vermek için sürüm alanını yorumlamalıdır. Örneğin, SurfaceFlinger, gralloc-module API'nin farklı sürümlerini nasıl yöneteceğini bilmekten sorumludur ve AudioFlinger da audio-module API için aynısını bilmelidir.

Modül API sürümü, ana ve ikincil bileşen içermelidir. Örneğin, 1.0 sürümü 0x0100 olarak temsil edilebilir. Bu biçim, 0x0100-0x01ff sürümlerinin hepsinin API ile uyumlu olduğunu belirtir.

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şlevi sunacaktır.

Tanım, hardware.h dosyasının 111 satırına eklendi.

const char* name

Bu modülün adı

Tanımı, hardware.h dosyasının 136 satırı

uint32_t reserved[32-7]

128 baytlık dolgu, gelecekte kullanılmak üzere ayrılmıştır

Tanımı, hardware.h dosyasının 151. satırı

uint32_t etiketi

etiketi HARDWARE_MODULE_TAG olarak başlatılmalıdır

Tanım, hardware.h dosyasının 88. satırı sıdır.


Bu yapının dokümanları aşağıdaki dosyadan oluşturulmuştur: