-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);