X-Git-Url: https://git.llucax.com/z.facultad/75.42/calculadora.git/blobdiff_plain/21e9c183bd1810ff56a3cfaa12f8f127832020b0..0030baf01844749eb88b276c6e8ce417cdd6914d:/meminfo.h diff --git a/meminfo.h b/meminfo.h index d013f92..f152d9f 100644 --- a/meminfo.h +++ b/meminfo.h @@ -17,30 +17,41 @@ #ifndef MEMINFO_H #define MEMINFO_H +#include + /** - * Nodo de la lista. + * Información sobre la memoria. */ typedef struct { + /** Puntero a la memoria reservada. */ void* pointer; + /** Cantidad de bytes reservados. */ size_t bytes; + /** Fecha en la que se reservó. */ time_t time; + /** Nombre del archivo de donde se reservó. */ char* filename; + /** Línea en la que se reservó. */ size_t fileline; } MemInfo; -MemInfo* MemInfo_new(void* ptr, size_t bytes, char* fname, size_t fline) { - /* Aloco memoria. */ - MemInfo* mi = (MemInfo*)malloc(sizeof(MemInfo)); - /* Si la obtuve, inicializo con los datos y la hora actual. */ - if (mi) { - mi->pointer = ptr; - mi->bytes = bytes; - mi->time = time(); - mi->filename = fname; - mi->fileline = fline; - } - /* Devuelvo el nuevo puntero. */ - return mi; -} +/** + * Crea un nuevo MemInfo. + * + * \param ptr Puntero a un área de memoria. + * \param bytes Cantidad de bytes reservados. + * \param fname Nombre del archivo de donde se reservó. + * \param fline Línea en donde se reservó. + * + * \return Puntero al nuevo MemInfo o NULL si no hay espacio en la memoria. + */ +MemInfo* MemInfo_new(void* ptr, size_t bytes, const char* fname, size_t fline); + +/** + * Elimina un MemInfo. + * + * \param mi MemInfo a eliminar. + */ +void MemInfo_delete(MemInfo* mi); #endif /* MEMINFO_H */