1 /*===========================================================*\
5 || File : zen_main.c ||
7 || Authors : Stephane Picault ||
11 \\===========================================================*/
31 /*------------------------------------------------------------\
35 \------------------------------------------------------------*/
37 #define ZEN_VALUE_UNKNOWN 'X'
38 #define ZEN_VALUE_ONE '1'
39 #define ZEN_VALUE_ZERO '0'
40 #define ZEN_VALUE_UP 'U'
41 #define ZEN_VALUE_DOWN 'D'
43 #define ZEN_BEAUX ((int) 0x0001)
44 #define ZEN_BEREG ((int) 0x0002)
45 #define ZEN_BEOUT ((int) 0x0003)
46 #define ZEN_BERIN ((int) 0x0004)
48 #define ZEN_BDDDONE ((long) 0x00F00000)
50 extern int ZEN_TESTMODE
;
51 extern int ZEN_TRACEMODE
;
52 /*------------------------------------------------------------\
56 \------------------------------------------------------------*/
58 #define ZEN_ERROR(E,S) zen_error ((E),(S),__FILE__,__LINE__);
59 #define ZEN_WARNING(E,S) zen_warning((E),(S),__FILE__,__LINE__);
60 #define ZEN_TRACE(E,S) if (ZEN_TRACEMODE)\
61 zen_trace ((E),(S),__FILE__,__LINE__);
62 #define ZEN_TST(E,S) if (ZEN_TESTMODE) \
63 zen_test ((E),(S),__FILE__,__LINE__);
65 /*------------------------------------------------------------\
69 \------------------------------------------------------------*/
71 /*------------------------------------------------------------\
75 \------------------------------------------------------------*/
81 long INDEX
; /* index du bdd associe */
83 pNode BDD
; /* bdd associe */
86 char VALUE
; /* valeur courante */
87 chain_list
*OUTNOD
; /* liste des noeuds qu'il attack */
88 chain_list
*INNOD
; /* liste des noeuds qui l'attack */
94 /*------------------------------------------------------------\
98 \------------------------------------------------------------*/
100 typedef struct zenfig
103 char *NAME
; /* nom */
104 struct zennod
*NOD
; /* noeuds */
105 chain_list
*NOD_IN
; /* liste des noeuds "entrees" */
106 chain_list
*NOD_OUT
; /* liste des noeuds "sorties" */
107 chain_list
*NOD_PATH
; /* liste des noeuds "on path" */
108 struct circuit
*CIRCUI
; /* circuit (pour les bdd) */
112 extern void zen_setDelay ( int delay
);
113 extern void zen_freezennod ();
114 extern void zen_freezenfig ();
116 extern zennod_list
*zen_addzennod ();
117 extern zenfig_list
*zen_addzenfig ( );
119 extern void zen_viewzennod ();
120 extern void zen_viewzenfig ();
122 extern zenfig_list
*zen_createzenfig ();
123 extern int zen_algo1 ();
124 extern int zen_algo2 ();
126 extern void zen_error ();
127 extern void zen_warning ();
128 extern void zen_trace ();
130 extern void zen_makbehbdd ( befig_list
*pt_befig
);
131 extern char *zen_traductName ( char *name
);
132 extern befig_list
*zen_remplacebebus ( befig_list
*pt_befig
);
133 extern befig_list
*zen_remplacebebux ( befig_list
*pt_befig
);