Import: v0.21
[meego-developer-tools:memuse.git] / memuse.h
1 /*
2  * memuse - a tool to give a reasonable per application memory footprint estimate
3  *
4  * (C) Copyright 2008 Intel Corporation
5  *
6  * Authors: 
7  *      Arjan van de Ven <arjan@linux.intel.com>
8  *      Jing Wong <jing_j_wang@intel.com>
9  *
10  * This program is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU General Public License
12  * as published by the Free Software Foundation; version 2
13  * of the License.
14  *
15  */
16
17 #ifndef __INCLUDE_GUARD_MEMUSE_H__
18 #define __INCLUDE_GUARD_MEMUSE_H__
19
20 #include <stdint.h>
21 #include <glib.h>
22 #include <locale.h>
23 #include <libintl.h>
24
25 #define PVR_MEMINFO_FILE "/proc/pvr/meminfo"
26
27 struct program {
28         char            *name;
29         uint64_t        kb;
30 };
31
32 struct library {
33         char            *name;
34         uint64_t        total_kb;
35         int             count;
36
37         double          cost;
38         int             pid;
39 };
40
41 #define _(STRING)    gettext(STRING)
42
43 extern GList *libraries;
44 extern GList *programs;
45 extern GList *programs_d;
46 extern FILE *dfile;
47 extern FILE *ofile;
48 extern FILE *sfile;
49 extern int num;
50 extern int daem;
51
52 /* prototypes */
53
54 extern void parse_proc(void);
55 extern void report_results(void);
56 extern void parse_savedfile(void);
57 extern void add_library(char *name, uint64_t mem, int pid);
58 extern void report_library(void);
59 extern uint64_t get_pvr_total(void);
60
61 #endif