1 /********************************************************************/ 2 /* */ 3 /* s7 Seed7 interpreter */ 4 /* Copyright (C) 1990 - 2000 Thomas Mertes */ 5 /* */ 6 /* This program is free software; you can redistribute it and/or */ 7 /* modify it under the terms of the GNU General Public License as */ 8 /* published by the Free Software Foundation; either version 2 of */ 9 /* the License, or (at your option) any later version. */ 10 /* */ 11 /* This program is distributed in the hope that it will be useful, */ 12 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ 13 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ 14 /* GNU General Public License for more details. */ 15 /* */ 16 /* You should have received a copy of the GNU General Public */ 17 /* License along with this program; if not, write to the */ 18 /* Free Software Foundation, Inc., 51 Franklin Street, */ 19 /* Fifth Floor, Boston, MA 02110-1301, USA. */ 20 /* */ 21 /* Module: General */ 22 /* File: seed7/src/traceutl.h */ 23 /* Changes: 1990, 1991, 1992, 1993, 1994 Thomas Mertes */ 24 /* Content: Tracing and protocol procedures. */ 25 /* */ 26 /********************************************************************/ 27 28 typedef struct traceStruct { 29 boolType actions; 30 boolType check_actions; 31 boolType dynamic; 32 boolType exceptions; 33 boolType heapsize; 34 boolType match; 35 boolType executil; 36 boolType signals; 37 } traceRecord; 38 39 #ifdef DO_INIT 40 traceRecord trace = {FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}; 41 #else 42 EXTERN traceRecord trace; 43 #endif 44 45 #define prot_ustri(stri) prot_cstri((const_cstriType) stri) 46 #define prot_uchar(ch) prot_cchar((char) ch) 47 48 49 void prot_flush (void); 50 void prot_nl (void); 51 void prot_cstri (const_cstriType cstri); 52 void prot_cstri8 (const const_cstriType cstri8); 53 void prot_cchar (char ch); 54 void prot_writeln (const_cstriType stri); 55 void prot_int (intType ivalue); 56 void prot_bigint (const const_bigIntType bintvalue); 57 #if WITH_FLOAT 58 void prot_float (floatType floatValue); 59 #endif 60 void prot_char (charType cvalue); 61 void prot_string (const striType stri); 62 void prot_stri_unquoted (const const_striType stri); 63 void prot_stri (const const_striType stri); 64 void prot_bstri (bstriType bstri); 65 void prot_set (const_setType setValue); 66 void prot_heapsize (void); 67 void printcategory (objectCategory category); 68 void printtype (const_typeType anytype); 69 void printvalue (const_objectType anyobject); 70 void printobject (const_objectType anyobject); 71 void printLocObj (const_locObjType locObj); 72 void prot_list (const_listType list); 73 void prot_params (const_listType list); 74 void prot_name (const_listType list); 75 void trace_node (const_nodeType anynode); 76 void trace_nodes (void); 77 void printnodes (const_nodeType anynode); 78 void trace1 (const_objectType traceobject); 79 void trace_entity (const_entityType anyentity); 80 void trace_list (const_listType list); 81 void set_protfile_name (const const_striType protfile_name); 82 void set_trace (uintType options); 83 void mapTraceFlags (const_striType trace_level, uintType *options); 84 void mapTraceFlags2 (const_cstriType ctrace_level, uintType *options); 85