Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef SU_ALLOC_STAT_H
00026
00027 #define SU_ALLOC_STAT_H
00028
00038 #ifndef SU_ALLOC_H
00039 #include <sofia-sip/su_alloc.h>
00040 #endif
00041
00042 #ifndef SU_TYPES_H
00043 #include <sofia-sip/su_types.h>
00044 #endif
00045
00046 SOFIA_BEGIN_DECLS
00047
00048 typedef struct su_home_stat_t su_home_stat_t;
00049
00050 SU_DLL void su_home_init_stats(su_home_t *h);
00051 SU_DLL void su_home_get_stats(su_home_t *, int include_clones,
00052 su_home_stat_t *stats, isize_t statssize);
00053
00054 SU_DLL void su_home_stat_add(su_home_stat_t *total,
00055 su_home_stat_t const *hs);
00056
00057 struct su_home_stat_t
00058 {
00059 int hs_size;
00060 usize_t hs_clones;
00061 usize_t hs_rehash;
00062 usize_t hs_blocksize;
00064 struct {
00065 unsigned hsp_size;
00066 unsigned hsp_used;
00067 } hs_preload;
00068
00069 struct {
00070 uint64_t hsa_number;
00071 uint64_t hsa_bytes;
00072 uint64_t hsa_rbytes;
00073 uint64_t hsa_maxrbytes;
00074 uint64_t hsa_preload;
00075 } hs_allocs;
00076
00077 struct {
00078 uint64_t hsf_number;
00079 uint64_t hsf_bytes;
00080 uint64_t hsf_rbytes;
00081 uint64_t hsf_preload;
00082 } hs_frees;
00083
00084 struct {
00085 uint64_t hsb_number;
00086 uint64_t hsb_bytes;
00087 uint64_t hsb_rbytes;
00088 } hs_blocks;
00089 };
00090
00091 SOFIA_END_DECLS
00092
00093 #endif