"Fossies" - the Fresh Open Source Software Archive 
Member "FunctionCheck-3.2.0/src/fcmanager/fc_functions.h" (26 May 2012, 2192 Bytes) of package /linux/privat/old/FunctionCheck-3.2.0.tar.gz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
1 /*
2 * FunctionCheck profiler
3 * (C) Copyright 2000-2012 Yannick Perret
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License as
7 * published by the Free Software Foundation; either version 2 of the
8 * License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19 /** fc_functions.h: treat enter/exit actions during profile **/
20
21 #ifndef __fc_functions_h_
22 #define __fc_functions_h_
23
24 /** structures **/
25 /* function descriptor */
26 typedef struct
27 {
28 void *symbol; /* symbol address */
29 unsigned int calls; /* number of calls */
30 unsigned long long local_time; /* time spend in the function */
31 unsigned long long total_time; /* total time of execution */
32 unsigned long long last_time; /* the 'time' at last treatment */
33 unsigned long long max_time; /* the max total time spend in this fnc */
34 unsigned long long min_time; /* the min total time spend in this fnc */
35 unsigned long long max_ltime; /* the max local time spend in this fnc */
36 unsigned long long min_ltime; /* the min local time spend in this fnc */
37 unsigned long long temp_ltime; /* temporay local time */
38 /* used for management during profile */
39 int recursive_state; /* number of time in the stack */
40 int faked; /* true if special fill-up fnc */
41 } FC_Function;
42
43 /** functions to manage list of functions **/
44
45 /* initialize a function (pre-allocated) */
46 void fc_functions_init(FC_Function *fnc);
47
48 /* treat entering in a function */
49 void fc_functions_enter(void *fnc, void *call_site, unsigned long long time);
50
51 /* treat exiting a function */
52 void fc_functions_exit(void *fnc, void *call_site, unsigned long long time);
53
54 #endif /* __fc_functions_h_ */