comb.h

Go to the documentation of this file.
00001 #ifndef __COMB_H__
00002 #define __COMB_H__
00003 
00004 /*
00005  Copyright (c) 2006-2010 Trevor Williams
00006 
00007  This program is free software; you can redistribute it and/or modify
00008  it under the terms of the GNU General Public License as published by the Free Software
00009  Foundation; either version 2 of the License, or (at your option) any later version.
00010 
00011  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
00012  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00013  See the GNU General Public License for more details.
00014 
00015  You should have received a copy of the GNU General Public License along with this program;
00016  if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00017 */
00018 
00026 #include <stdio.h>
00027 
00028 #include "defines.h"
00029 
00030 
00032 void combination_reset_counted_expr_tree( expression* exp );
00033 
00035 void combination_get_tree_stats(
00036             expression*   exp,
00037             int*          ulid,
00038             unsigned int  curr_depth,
00039             bool          excluded,
00040   /*@out@*/ unsigned int* hit,
00041   /*@out@*/ unsigned int* excludes,
00042   /*@out@*/ unsigned int* total );
00043 
00045 void combination_get_stats(
00046             func_unit*    funit,
00047   /*@out@*/ unsigned int* hit,
00048   /*@out@*/ unsigned int* excluded,
00049   /*@out@*/ unsigned int* total
00050 );
00051 
00053 void combination_collect(
00054             func_unit*    funit,
00055             int           cov,
00056   /*@out@*/ expression*** exprs,
00057   /*@out@*/ unsigned int* exp_cnt,
00058   /*@out@*/ int**         excludes
00059 );
00060 
00062 void combination_get_funit_summary(
00063             func_unit*    funit,
00064   /*@out@*/ unsigned int* hit,
00065   /*@out@*/ unsigned int* excluded,
00066   /*@out@*/ unsigned int* total
00067 );
00068 
00070 void combination_get_inst_summary(
00071             funit_inst*   inst,  
00072   /*@out@*/ unsigned int* hit,
00073   /*@out@*/ unsigned int* excluded,
00074   /*@out@*/ unsigned int* total  
00075 );
00076 
00078 void combination_get_expression(
00079             int           expr_id,
00080   /*@out@*/ char***       code,
00081   /*@out@*/ int**         uline_groups,
00082   /*@out@*/ unsigned int* code_size,
00083   /*@out@*/ char***       ulines,
00084   /*@out@*/ unsigned int* uline_size,
00085   /*@out@*/ int**         excludes,
00086   /*@out@*/ char***       reasons,
00087   /*@out@*/ unsigned int* exclude_size
00088 );
00089 
00091 void combination_get_coverage(
00092             int        exp_id,
00093             int        uline_id,
00094   /*@out@*/ char***    info,
00095   /*@out@*/ int*       info_size
00096 );
00097 
00099 void combination_report(
00100   FILE* ofile,
00101   bool  verbose
00102 );
00103 
00104 #endif
00105 
Generated on Sun Nov 21 00:55:34 2010 for Covered by  doxygen 1.6.3