memtrack_module স্ট্রাকট রেফারেন্স
#include < memtrack.h >
ডেটা ক্ষেত্র | |
struct hw_module_t | সাধারণ |
int(* | init )(const struct memtrack_module *মডিউল) |
int(* | getMemory )(const struct memtrack_module *module, pid_t pid, int টাইপ, struct memtrack_record *রেকর্ড, size_t *সংখ্যা_রেকর্ড) |
বিস্তারিত বিবরণ
প্রতিটি হার্ডওয়্যার মডিউলে অবশ্যই HAL_MODULE_INFO_SYM নামে একটি ডেটা স্ট্রাকচার থাকতে হবে এবং এই ডাটা স্ট্রাকচারের ক্ষেত্রগুলি অবশ্যই hw_module_t দিয়ে শুরু হতে হবে এবং তারপরে মডিউল নির্দিষ্ট তথ্য থাকবে৷
memtrack.h ফাইলের 120 লাইনে সংজ্ঞা।
ফিল্ড ডকুমেন্টেশন
struct hw_module_t সাধারণ |
memtrack.h ফাইলের 121 লাইনে সংজ্ঞা।
int(* getMemory)(const struct memtrack_module *module, pid_t pid, int টাইপ, struct memtrack_record *রেকর্ড, size_t *সংখ্যা_রেকর্ড) |
(*getMemory)() রেকর্ড অবজেক্টের একটি অ্যারে আশা করে এবং মেমরির মাপ এবং সেই মেমরির জন্য সংশ্লিষ্ট পতাকা সহ *সংখ্যা_রেকর্ড স্ট্রাকচার পর্যন্ত পূরণ করে। এটি *সংখ্যা_রেকর্ডের মোট সংখ্যার সাথে আপডেট করে যদি এটি ফেরত দিতে পারে যদি *সংখ্যা_রেকর্ডগুলি পাস করার সময় যথেষ্ট বড় হয়। সাইজ 0 সহ রেকর্ড ফেরত দেওয়া প্রত্যাশিত, একই মেমরি টাইপের জন্য getMemory-এ কলগুলির মধ্যে রেকর্ডের সংখ্যা পরিবর্তিত হওয়া উচিত নয়, এমনকি বিভিন্ন পিডের জন্য।
কলার প্রায়শই getMemory-কে একটি টাইপ এবং পিডের জন্য *num_records == 0 এর জন্য কল করে তা নির্ধারণ করতে কত রেকর্ডের জন্য রুম বরাদ্দ করতে হবে, এই কেসটি HAL-এ একটি ফাস্ট-পাথ হওয়া উচিত, একটি ধ্রুবক ফেরত দেয় এবং কোনো কার্নেল ফাইল অনুসন্ধান না করে। যদি *সংখ্যা_রেকর্ডগুলি 0 হয়, তাহলে রেকর্ডগুলি NULL হতে পারে।
এই ফাংশনটি অবশ্যই থ্রেড-নিরাপদ হতে হবে, এটি একই সময়ে একাধিক থ্রেড থেকে কল করা যেতে পারে।
সাফল্যে 0 ফেরত দেয়, -ENODEV যদি টাইপটি সমর্থিত না হয়, -অন্যান্য ত্রুটির ক্ষেত্রে errno।
memtrack.h ফাইলের 151 লাইনে সংজ্ঞা।
int(* init)(const struct memtrack_module *মডিউল) |
(*init)() মেমট্র্যাক ম্যানেজমেন্ট সেটআপ অ্যাকশন সঞ্চালন করে এবং getMemory()- এ যেকোনো কল করার আগে একবার কল করা হয়। সাফল্যের উপর 0 ফেরত দেয়, -ত্রুটির উপর ত্রুটি।
memtrack.h ফাইলের 128 লাইনে সংজ্ঞা।
এই কাঠামোর জন্য ডকুমেন্টেশন নিম্নলিখিত ফাইল থেকে তৈরি করা হয়েছিল:
- hardware/libhardware/include/hardware/ memtrack.h