memtrack_module Yapı Referansı

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