2
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 | File: prf_func.h
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 | Copyright 2002 Texas Instruments Berlin, AG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 | All rights reserved.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 | This file is confidential and a trade secret of Texas
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 | Instruments Berlin, AG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 | The receipt of or possession of this file does not convey
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 | any rights to reproduce or disclose its contents or to
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 | manufacture, use, or sell anything it may describe, in
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 | whole, or in part, without the specific written consent of
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 | Texas Instruments Berlin, AG.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 | Purpose : Profiler API and types.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 #ifndef __PRF_FUNC_H__
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 #define __PRF_FUNC_H__
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 /*==== CONSTANTS ==================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 #define PRF_INITIALIZED 0xAFFEDEAD
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 /*==== TYPES ======================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 typedef struct
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 unsigned int magic_nr;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 void (*log_entity_create)(void * entity,const char * name);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 void (*log_entity_delete)(void * entity);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 void (*log_entity_activate)(void * entity);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 void (*log_function_entry)(void * function);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 void (*log_function_exit)(void * function);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 void (*log_point_of_interest)(const char * poi);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 } T_PROFILER_FUNC;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 /*==== PROTOTYPES =================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 void prf_init ( void );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 void prf_register ( T_PROFILER_FUNC * func );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 void prf_log_entity_create ( void * entity, const char * name );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 void prf_log_entity_delete ( void * entity );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 void prf_log_entity_activate ( void * entity );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 void prf_log_function_entry ( void * function );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 void prf_log_function_exit ( void * function );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 void prf_log_point_of_interest ( const char * poi );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 #endif /* __PRF_FUNC_H__ */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53
|