memtrack_module Yapı Referansı

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: