]> git.llucax.com Git - z.facultad/75.42/calculadora.git/blob - meminfo.h
Últimos retoques.
[z.facultad/75.42/calculadora.git] / meminfo.h
1 /* vim: set et sts=4 sw=4 fdm=indent fdl=1 fdn=1 fo+=t tw=80:
2  *
3  * Taller de Programación (75.42).
4  *
5  * Ejercicio Número 2:
6  * Programa calculadora.
7  *
8  * Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
9  * Puede copiar, modificar y distribuir este programa bajo los términos de
10  * la licencia GPL (http://www.gnu.org/).
11  *
12  * Creado: sáb ago 30 20:08:45 ART 2003
13  *
14  * $Id$
15  */
16
17 #ifndef MEMINFO_H
18 #define MEMINFO_H
19
20 #include <time.h>
21
22 /**
23  * Información sobre la memoria.
24  */
25 typedef struct {
26     /** Puntero a la memoria reservada. */
27     void*   pointer;
28     /** Cantidad de bytes reservados. */
29     size_t  bytes;
30     /** Fecha en la que se reservó. */
31     time_t  time;
32     /** Nombre del archivo de donde se reservó. */
33     char*   filename;
34     /** Línea en la que se reservó. */
35     size_t  fileline;
36 } MemInfo;
37
38 /**
39  * Crea un nuevo MemInfo.
40  *
41  * \param ptr   Puntero a un área de memoria.
42  * \param bytes Cantidad de bytes reservados.
43  * \param fname Nombre del archivo de donde se reservó.
44  * \param fline Línea en donde se reservó.
45  *
46  * \return Puntero al nuevo MemInfo o NULL si no hay espacio en la memoria.
47  */
48 MemInfo* MemInfo_new(void* ptr, size_t bytes, const char* fname, size_t fline);
49
50 /**
51  * Elimina un MemInfo.
52  *
53  * \param mi MemInfo a eliminar.
54  */
55 void MemInfo_delete(MemInfo* mi);
56
57 #endif /* MEMINFO_H */