Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / vcd / vcdx.h
1 /****************************************************************************/
2 /* */
3 /* (c) copyright 2000 AVERTEC */
4 /* */
5 /* Title : VCD Parser engine */
6 /* Last modified : 2003-07-17 */
7 /* */
8 /****************************************************************************/
9
10 typedef struct WScan_EventList WScan_EventList;
11 typedef struct WScan_SignalList WScan_SignalList;
12
13 /*==========================================================================*/
14 /* DataBase */
15 /*==========================================================================*/
16 extern int WScan_ParseFiles (char *vcd_file, char *cor_file);
17 /* Creates the VCD DataBase from the .vcd file and the .cor file */
18 /* Returns 0 if successfull, 1 otherwise */
19
20 /*--------------------------------------------------------------------------*/
21 extern void WScan_FreeDB ();
22 /* Frees the DataBase */
23
24 /*==========================================================================*/
25 /* Signals */
26 /*==========================================================================*/
27 extern WScan_SignalList *WScan_GetSignalsList ();
28 /* Returns the list of signals in the VCD DataBase. These signals are those */
29 /* present in the .vcd file and mapped thru the correspondaces of the .cor */
30 /* file. */
31
32 /*--------------------------------------------------------------------------*/
33 extern WScan_SignalList *WScan_GetNextSig (WScan_SignalList *sig);
34 /* Returns the next signal in the list of signals, NULL if EOL */
35
36 /*--------------------------------------------------------------------------*/
37 extern char *WScan_GetSigName (WScan_SignalList *sig);
38 /* Returns the name of a signal from the signals list */
39
40 /*==========================================================================*/
41 /* Time */
42 /*==========================================================================*/
43 extern void WScan_GoToInitTime ();
44 /* Sets the current simulation time to -1 (init time) */
45
46 /*--------------------------------------------------------------------------*/
47 extern void WScan_GoToNextTime ();
48 /* Sets the current simulation time to the next time where events are */
49 /* occuring. If end of simulation reached, time is not incremented, */
50 /* i.e next time == current time */
51
52 /*--------------------------------------------------------------------------*/
53 extern long WScan_GetTime ();
54 /* Returns the current simulation time */
55
56 /*==========================================================================*/
57 /* Events */
58 /*==========================================================================*/
59 extern WScan_EventList *WScan_GetEvents ();
60 /* Returns the list of events occuring at the current simulation time. */
61 /* (As it duplicates an internal list, it should be freed with the */
62 /* WScan_FreeEvents function) */
63
64 /*--------------------------------------------------------------------------*/
65 extern void WScan_FreeEvents (WScan_EventList *events);
66 /* Frees a list of events */
67
68 /*--------------------------------------------------------------------------*/
69 extern long WScan_CountEvents (WScan_EventList *events);
70 /* Returns the number of events in a list of events */
71
72 /*--------------------------------------------------------------------------*/
73 extern WScan_EventList *WScan_GetNextEvent (WScan_EventList *event);
74 /* Returns the next event in the list of events, NULL if EOL */
75
76 /*--------------------------------------------------------------------------*/
77 extern char *WScan_GetEventSigName (WScan_EventList *event);
78 /* Returns the name of the signal on which the event has occured */
79
80 /*--------------------------------------------------------------------------*/
81 extern char WScan_GetEventValue (WScan_EventList *event);
82 /* returns the new value of the signal on which the event has occured */
83