memtrack_module Yapı Referansı
#include <
memtrack.h
>
Veri Alanları |
|
struct hw_module_t | yaygın |
int(* | init )(const struct memtrack_module *module) |
int(* | getMemory )(const struct memtrack_module *module, pid_t pid, int type, struct memtrack_record *records, size_t *num_records) |
Ayrıntılı Açıklama
Her donanım modülünde HAL_MODULE_INFO_SYM adlı bir veri yapısı olmalıdır ve bu veri yapısının alanları, hw_module_t ile başlamalı ve ardından modüle özgü bilgiler gelmelidir.
memtrack.h dosyasının 120 satırı
Alan Belgeleri
struct hw_module_t common |
Tanımı, memtrack.h dosyasının 121. satırı içindedir.
int(* getMemory)(const struct memtrack_module *module, pid_t pid, int type, struct memtrack_record *records, size_t *num_records) |
(*getMemory)(), bir kayıt nesnesi dizisi bekler ve *num_record yapılarına bellek boyutlarının yanı sıra bu bellekle ilişkili işaretleri doldurur. Ayrıca, *num_records parametresi iletildiği sırada yeterince büyükse döndürebileceği toplam kayıt sayısıyla *num_records parametresini günceller. 0 boyutunda kayıt döndürülmesi beklenir. Kayıt sayısı, farklı pid'ler için bile aynı bellek türündeki getMemory çağrıları arasında değişmemelidir.
Arayan, ne kadar yer ayıracağını belirlemek için genellikle bir tür ve pid için *num_records == 0 ile getMemory'yi çağırır. Bu durum, HAL'de sabit bir değer döndüren ve herhangi bir çekirdek dosyası sorgulamayan hızlı bir yol olmalıdır. İletilen *num_records değeri 0 ise kayıtlar NULL olabilir.
Bu işlev, aynı anda birden fazla iş parçacığında çağrılabileceği için iş parçacığı güvenliğine sahip olmalıdır.
Başarılı olduğunda 0, tür desteklenmiyorsa -ENODEV, diğer hatalarda -errno döndürür.
memtrack.h dosyasının 151. satırı için tanımı
int(* init)(const struct memtrack_module *module) |
(*init)(), memtrack yönetim ayarlama işlemlerini gerçekleştirir ve getMemory() çağrılarından önce bir kez çağrılır. Başarılı olduğunda 0, hata olduğunda -errno değerini döndürür.
Tanımı, memtrack.h dosyasının 128 satırı
Bu yapının dokümanları aşağıdaki dosyadan oluşturulmuştur:
- hardware/libhardware/include/hardware/ memtrack.h