memtrack_module Yapı Referansı
#include < memtrack.h >
Veri alanları | |
hw_module_t yapısı | yaygın |
int(* | init )(const struct memtrack_module *modül) |
int(* | getMemory )(const struct memtrack_module *module, pid_t pid, int type, struct memtrack_record *records, size_t *num_records) |
Detaylı Açıklama
Her donanım modülü HAL_MODULE_INFO_SYM adında bir veri yapısına sahip olmalı ve bu veri yapısının alanları hw_module_t ile başlamalı ve ardından modüle özel bilgiler gelmelidir.
Memtrack.h dosyasının 120. satırındaki tanım.
Saha Dokümantasyonu
hw_module_t ortak yapısı |
Memtrack.h dosyasının 121. satırındaki tanım.
int(* getMemory)(const struct memtrack_module *module, pid_t pid, int type, struct memtrack_record *records, size_t *num_records) |
(*getMemory)(), bir dizi kayıt nesnesi bekler ve en fazla *num_record yapısını bellek boyutları ve bu bellek için ilişkili bayraklarla doldurur. Ayrıca, *num_records aktarıldığında yeterince büyükse, döndürebileceği toplam kayıt sayısıyla *num_records'u günceller. Kayıtların 0 boyutuyla döndürülmesi beklenir, kayıt sayısı, aynı bellek türü için getMemory'ye yapılan çağrılar arasında değişmemelidir. farklı pid'ler için.
Arayan kişi, kaç kayda yer ayrılacağını belirlemek için genellikle *num_records == 0 ile bir tür ve pid için getMemory'yi çağırır; bu durum HAL'de hızlı bir yol olmalı, bir sabit döndürmeli ve herhangi bir çekirdek dosyasını sorgulamamalıdır. *Geçirilen *num_records 0 ise, kayıtlar NULL olabilir.
Bu işlev iş parçacığı açısından güvenli olmalıdır, aynı anda birden fazla iş parçacığından çağrılabilir.
Başarı durumunda 0 değerini, tür desteklenmiyorsa -ENODEV'i, diğer hatalarda -errno değerini döndürür.
Memtrack.h dosyasının 151. satırındaki tanım.
int(* init)(const struct memtrack_module *module) |
(*init)() memtrack yönetimi kurulum eylemlerini gerçekleştirir ve getMemory() çağrısından önce bir kez çağrılır. Başarı durumunda 0, hata durumunda -errno değerini döndürür.
Memtrack.h dosyasının 128. satırındaki tanım.
Bu yapıya ilişkin belgeler aşağıdaki dosyadan oluşturulmuştur:
- hardware/libhardware/include/hardware/ memtrack.h