OpenMPI  0.1.1
rfg_filter.h
1 #ifndef _RFG_FILTER_H
2 #define _RFG_FILTER_H
3 
4 #include "vt_inttypes.h"
5 
6 #ifdef __cplusplus
7 extern "C" {
8 #endif /* __cplusplus */
9 
10 typedef struct RFG_Filter_struct RFG_Filter;
11 
12 /* initalizes RFG filter object */
13 RFG_Filter* RFG_Filter_init( void );
14 
15 /* cleanup RFG filter object */
16 int RFG_Filter_free( RFG_Filter* filter );
17 
18 /* reset filter assignments */
19 int RFG_Filter_reset( RFG_Filter* filter );
20 
21 /* sets filter definition file name */
22 int RFG_Filter_setDefFile( RFG_Filter* filter, const char* deffile );
23 
24 /* sets default call limit */
25 int RFG_Filter_setDefaultCallLimit( RFG_Filter* filter, int32_t limit );
26 
27 /* reads region filter definition file
28  if rank != -1, read file with MPI-rank specific entries,
29  if ( 0 != rank_off ) after the call, then tracing should be disabled
30  completely for the current rank, existing information should be discarded. */
31 int RFG_Filter_readDefFile( RFG_Filter* filter, int rank, uint8_t* rank_off );
32 
33 /* adds filter assignment */
34 int RFG_Filter_add( RFG_Filter* filter, const char* pattern,
35  int32_t climit );
36 
37 /* gets call limit by region name */
38 int RFG_Filter_get( RFG_Filter* filter, const char* rname,
39  int32_t* r_climit );
40 
41 #ifdef __cplusplus
42 }
43 #endif /* __cplusplus */
44 
45 #endif /* _RFG_FILTER_H */
Definition: rfg_filter.c:24