hw_module_t স্ট্রাকট রেফারেন্স

hw_module_t স্ট্রাকট রেফারেন্স

#include < hardware.h >

ডেটা ক্ষেত্র

uint32_t ট্যাগ
uint16_t মডিউল_এপিআই_সংস্করণ
uint16_t hal_api_version
const অক্ষর * আইডি
const অক্ষর * নাম
const অক্ষর * লেখক
struct hw_module_methods_t * পদ্ধতি
অকার্যকর * ডিএসও
uint32_t সংরক্ষিত [৩২-৭]

বিস্তারিত বিবরণ

প্রতিটি হার্ডওয়্যার মডিউলে অবশ্যই HAL_MODULE_INFO_SYM নামে একটি ডেটা স্ট্রাকচার থাকতে হবে এবং এই ডাটা স্ট্রাকচারের ক্ষেত্রগুলি অবশ্যই hw_module_t দিয়ে শুরু হতে হবে এবং তারপরে মডিউল নির্দিষ্ট তথ্য থাকবে৷

ফাইল hardware.h এর 86 লাইনে সংজ্ঞা।

ফিল্ড ডকুমেন্টেশন

const char* লেখক

লেখক/মালিক/মডিউলটির বাস্তবায়নকারী

ফাইল hardware.h এর 139 লাইনে সংজ্ঞা।

void*dso

মডিউল এর dso

ফাইল hardware.h এর 145 লাইনে সংজ্ঞা।

uint16_t hal_api_version

version_major/version_minor সংজ্ঞাগুলি এখানে অস্থায়ী সোর্স কোড সামঞ্জস্যের জন্য সরবরাহ করা হয়েছে। তারা পরবর্তী সংস্করণে সরানো হবে. সমস্ত ক্লায়েন্টকে অবশ্যই নতুন সংস্করণ বিন্যাসে রূপান্তর করতে হবে৷ HAL মডিউল ইন্টারফেসের API সংস্করণ। এটি hw_module_t , hw_module_methods_t , এবং hw_device_t কাঠামো এবং সংজ্ঞাগুলির সংস্করণ বোঝানো হয়েছে৷

HAL ইন্টারফেস এই ক্ষেত্রের মালিক। মডিউল ব্যবহারকারী/বাস্তবায়ন সংস্করণ তথ্যের জন্য এই মান উপর নির্ভর করা উচিত নয়.

বর্তমানে, 0 হল একমাত্র বৈধ মান।

ফাইল hardware.h এর 129 লাইনে সংজ্ঞা।

const char* id

মডিউল সনাক্তকারী

ফাইল hardware.h এর 133 লাইনে সংজ্ঞা।

struct hw_module_methods_t * পদ্ধতি

মডিউল পদ্ধতি

ফাইল hardware.h এর 142 লাইনে সংজ্ঞা।

uint16_t মডিউল_এপিআই_সংস্করণ

বাস্তবায়িত মডিউলের API সংস্করণ। একটি মডিউল ইন্টারফেস পরিবর্তিত হলে সংস্করণ আপডেট করার জন্য মডিউল মালিক দায়ী।

প্রাপ্ত মডিউল যেমন gralloc এবং অডিও এই ক্ষেত্রটির মালিক এবং পরিচালনা করে। সরবরাহকৃত মডিউল বাস্তবায়নের সাথে ইন্টার-অপারেটিং করতে হবে কিনা তা সিদ্ধান্ত নিতে মডিউল ব্যবহারকারীকে অবশ্যই সংস্করণ ক্ষেত্রটি ব্যাখ্যা করতে হবে। উদাহরণস্বরূপ, SurfaceFlinger এটা নিশ্চিত করার জন্য দায়ী যে এটি gralloc-module API-এর বিভিন্ন সংস্করণ কীভাবে পরিচালনা করতে হয় তা জানে এবং AudioFlinger কে অবশ্যই অডিও-মডিউল API-এর জন্য একই কাজ করতে হবে।

মডিউল API সংস্করণে একটি প্রধান এবং একটি ছোট উপাদান অন্তর্ভুক্ত করা উচিত। উদাহরণস্বরূপ, সংস্করণ 1.0 0x0100 হিসাবে উপস্থাপন করা যেতে পারে। এই বিন্যাসটি বোঝায় যে সংস্করণ 0x0100-0x01ff সমস্ত API- সামঞ্জস্যপূর্ণ।

ভবিষ্যতে, libhadware একটি hw_get_module_version() (বা সমতুল্য) ফাংশন প্রকাশ করবে যা আর্গুমেন্ট হিসাবে ন্যূনতম/সর্বোচ্চ সমর্থিত সংস্করণ গ্রহণ করবে এবং সরবরাহকৃত পরিসরের বাইরের সংস্করণ সহ মডিউলগুলিকে প্রত্যাখ্যান করতে সক্ষম হবে।

ফাইল hardware.h এর 111 লাইনে সংজ্ঞা।

const char* নাম

এই মডিউলের নাম

ফাইল hardware.h এর 136 লাইনে সংজ্ঞা।

uint32_t সংরক্ষিত[32-7]

128 বাইটে প্যাডিং, ভবিষ্যতে ব্যবহারের জন্য সংরক্ষিত

ফাইল hardware.h এর 151 লাইনে সংজ্ঞা।

uint32_t ট্যাগ

ট্যাগ HARDWARE_MODULE_TAG-এ আরম্ভ করা আবশ্যক

ফাইল hardware.h এর 88 লাইনে সংজ্ঞা।


এই কাঠামোর জন্য ডকুমেন্টেশন নিম্নলিখিত ফাইল থেকে তৈরি করা হয়েছিল:
  • hardware/libhardware/include/hardware/ hardware.h