Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release
, bukan aosp-main
, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Referensi Struct hw_device_t
#include <
hardware.h
>
Setiap struktur data perangkat harus dimulai dengan
hw_device_t
diikuti dengan metode dan atribut publik khusus modul.
Definisi di baris
167
file
hardware.h
.
referensi ke modul tempat perangkat ini berada
Definisi pada baris
190
dari file
hardware.h
.
padding yang disediakan untuk penggunaan di masa mendatang
Definisi pada baris
196
dari file
hardware.h
.
tag harus diinisialisasi ke HARDWARE_DEVICE_TAG
Definisi di baris
169
dari file
hardware.h
.
Versi API perangkat khusus modul. Nilai ini digunakan oleh pengguna modul turunan untuk mengelola berbagai implementasi perangkat.
Pengguna modul bertanggung jawab untuk memeriksa kolom module_api_version dan versi perangkat untuk memastikan bahwa pengguna dapat berkomunikasi dengan implementasi modul tertentu.
Satu modul dapat mendukung beberapa perangkat dengan versi yang berbeda. Hal ini dapat berguna saat antarmuka perangkat berubah dengan cara yang tidak kompatibel, tetapi tetap diperlukan untuk mendukung implementasi lama secara bersamaan. Salah satu contohnya adalah Camera 2.0 API.
Kolom ini ditafsirkan oleh pengguna modul dan diabaikan oleh antarmuka HAL itu sendiri.
Definisi di baris
187
dari file
hardware.h
.
Dokumentasi untuk struct ini dibuat dari file berikut:
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],null,["# Android Hardware Abstraction Layer: hw_device_t Struct Reference\n\nhw_device_t Struct Reference\n============================\n\n[Data Fields](#pub-attribs) \nhw_device_t Struct Reference \n\n`\n#include \u003c\n`[hardware.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/hardware.h)`\n\u003e\n`\n\n|-------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|\n| Data Fields ----------- ||\n| uint32_t | [tag](/reference/hal/structhw__device__t#a1c50fcd1195659821729f52af8f3bb7d) |\n| ||\n| uint32_t | [version](/reference/hal/structhw__device__t#acd99bb05ca015e7d74448acb1deba7ca) |\n| ||\n| struct [hw_module_t](/reference/hal/structhw__module__t) \\* | [module](/reference/hal/structhw__device__t#a0566f4bbaaf67d861130a279b9fe6e53) |\n| ||\n| uint32_t | [reserved](/reference/hal/structhw__device__t#a364fd3526fe030c97b47b0e71b31e199) \\[12\\] |\n| ||\n| int(\\* | [close](/reference/hal/structhw__device__t#a5fb45cbb01844ab66f2a7fef565928c8) )(struct [hw_device_t](/reference/hal/structhw__device__t) \\*device) |\n| ||\n\n\nDetailed Description\n--------------------\n\n\nEvery device data structure must begin with\n[hw_device_t](/reference/hal/structhw__device__t)\nfollowed by module specific public methods and attributes.\n\n\nDefinition at line\n[167](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/hardware.h)\nof file\n[hardware.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/hardware.h)\n.\n\nField Documentation\n-------------------\n\n\n|----------------------------------------------------------------------------------|\n| int(\\* close)(struct [hw_device_t](/reference/hal/structhw__device__t) \\*device) |\n\n\nClose this device\n\n\nDefinition at line\n[200](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/hardware.h)\nof file\n[hardware.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/hardware.h)\n.\n\n|--------------------------------------------------------------------|\n| struct [hw_module_t](/reference/hal/structhw__module__t) \\* module |\n\n\nreference to the module this device belongs to\n\n\nDefinition at line\n[190](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/hardware.h)\nof file\n[hardware.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/hardware.h)\n.\n\n|-------------------------|\n| uint32_t reserved\\[12\\] |\n\n\npadding reserved for future use\n\n\nDefinition at line\n[196](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/hardware.h)\nof file\n[hardware.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/hardware.h)\n.\n\n|--------------|\n| uint32_t tag |\n\n\ntag must be initialized to HARDWARE_DEVICE_TAG\n\n\nDefinition at line\n[169](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/hardware.h)\nof file\n[hardware.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/hardware.h)\n.\n\n|------------------|\n| uint32_t version |\n\n\nVersion of the module-specific device API. This value is used by the derived-module user to manage different device implementations.\n\n\nThe module user is responsible for checking the module_api_version and device version fields to ensure that the user is capable of communicating with the specific module implementation.\n\n\nOne module can support multiple devices with different versions. This can be useful when a device interface changes in an incompatible way but it is still necessary to support older implementations at the same time. One such example is the Camera 2.0 API.\n\n\nThis field is interpreted by the module user and is ignored by the HAL interface itself.\n\n\nDefinition at line\n[187](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/hardware.h)\nof file\n[hardware.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/hardware.h)\n.\n\n*** ** * ** ***\n\nThe documentation for this struct was generated from the following file:\n\n- hardware/libhardware/include/hardware/ [hardware.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/hardware.h)"]]