memtrack_module संरचना संदर्भ
#include < memtrack.h >
डेटा फ़ील्ड | |
संरचना hw_module_t | सामान्य |
पूर्णांक(* | init )(const struct memtrack_module *मॉड्यूल) |
पूर्णांक(* | getMemory )(const struct memtrack_module *मॉड्यूल, pid_t pid, int प्रकार, struct memtrack_record *रिकॉर्ड, size_t *num_records) |
विस्तृत विवरण
प्रत्येक हार्डवेयर मॉड्यूल में HAL_MODULE_INFO_SYM नाम की एक डेटा संरचना होनी चाहिए और इस डेटा संरचना के फ़ील्ड hw_module_t से शुरू होने चाहिए और उसके बाद मॉड्यूल विशिष्ट जानकारी होनी चाहिए।
फ़ाइल memtrack.h की पंक्ति 120 पर परिभाषा।
फ़ील्ड दस्तावेज़ीकरण
संरचना hw_module_t सामान्य |
फ़ाइल memtrack.h की पंक्ति 121 पर परिभाषा।
int(* getMemory)(const struct memtrack_module *मॉड्यूल, pid_t pid, int प्रकार, struct memtrack_record *रिकॉर्ड, size_t *num_records) |
(*getMemory)() रिकॉर्ड ऑब्जेक्ट की एक सरणी की अपेक्षा करता है और उस मेमोरी के लिए मेमोरी के आकार और संबंधित फ़्लैग के साथ *num_record संरचनाओं को पॉप्युलेट करता है। यह *num_records को रिकॉर्ड की कुल संख्या के साथ भी अद्यतन करता है, यदि *num_records पास करते समय पर्याप्त बड़ा होता तो यह वापस आ सकता था। आकार 0 के साथ रिकॉर्ड लौटाने की उम्मीद है, समान मेमोरी प्रकार के लिए getMemory पर कॉल के बीच रिकॉर्ड की संख्या भिन्न नहीं होनी चाहिए, यहां तक कि विभिन्न पिड्स के लिए.
कॉल करने वाला अक्सर एक प्रकार के लिए getMemory को कॉल करेगा और *num_records == 0 के साथ पीआईडी करेगा ताकि यह निर्धारित किया जा सके कि कितने रिकॉर्ड के लिए जगह आवंटित की जाए, यह मामला एचएएल में एक फास्ट-पाथ होना चाहिए, एक स्थिरांक लौटाना चाहिए और किसी भी कर्नेल फ़ाइलों को क्वेरी नहीं करना चाहिए। यदि पारित *num_records 0 है, तो रिकॉर्ड शून्य हो सकते हैं।
यह फ़ंक्शन थ्रेड-सुरक्षित होना चाहिए, इसे एक ही समय में एकाधिक थ्रेड से कॉल किया जा सकता है।
सफलता पर 0 लौटाता है, यदि प्रकार समर्थित नहीं है तो -ENODEV, अन्य त्रुटियों पर -errno लौटाता है।
फ़ाइल memtrack.h की पंक्ति 151 पर परिभाषा।
int(* init)(const struct memtrack_module *मॉड्यूल) |
(*init)() मेमट्रैक प्रबंधन सेटअप क्रियाएं करता है और getMemory() पर किसी भी कॉल से पहले एक बार कॉल किया जाता है। सफलता पर 0, त्रुटि पर -errno लौटाता है।
फ़ाइल memtrack.h की पंक्ति 128 पर परिभाषा।
इस संरचना के लिए दस्तावेज़ीकरण निम्नलिखित फ़ाइल से तैयार किया गया था:
- हार्डवेयर/लिबहार्डवेयर/शामिल/हार्डवेयर/ memtrack.h