1 /* ###--------------------------------------------------------------------### */
2 /* #                                                                        # */
3 /* # file : velo.h                                                          # */
4 /* | date : Jun 27 1997                                                     | */
5 /* | version : 0.00                                                         | */
6 /* | author : Denis Hommais                                                 | */
7 /* |                                                                        | */
8 /* # contents : structure definitions used in VEL library                   # */
9 /* #                                                                        # */
10 /* ###--------------------------------------------------------------------### */
11 
12 #ifndef _VEL_H_
13 #define _VEL_H_
14 
15 #define VEL_SIG   296651                      /* ptype identifier for velosig */
16 #define VEL_CON   296217                      /* ptype identifier for velocon */
17 #define VEL_CHAIN 296121                      /* ptype identifier for chain   */
18 
19 typedef struct Velosig {
20    struct Velosig *      NEXT;
21    char           *      NAME;
22    long                  LEFT;
23    long                 RIGHT;
24    char                  TYPE;
25    struct chain   *      VSIG;
26    struct Velosig *     SUPER;
27    struct chain   * NAMECHAIN;
28    struct ptype   *      USER;
29 } velosig;
30 
31 typedef struct Velocon {
32    struct Velocon *      NEXT;
33    char           *      NAME;
34    long                  LEFT;
35    long                 RIGHT;
36    struct chain   *      VSIG;
37    struct chain   *      ROOT;
38    struct ptype   *      USER;
39 } velocon;
40 
41 /* prototype of functions that come from velo.c */
42 extern velosig *addvelosig (ptype_list *, char *, long, long, char);
43 extern velocon *addvelocon (ptype_list *, char *, long, long);
44 extern velosig *dupvelosig (ptype_list *, velosig *);
45 extern velosig *getvelosig (ptype_list *, char *, long, long);
46 extern int      delvelocon (ptype_list *, velocon *);
47 
48 /* prototype of functions that come from vel_util.c */
49 extern void buildvelo        (lofig_list *);
50 extern void vectorize_velo   (lofig_list *);
51 extern char *mkvhdlname      (char *);
52 extern void printvelosiglist (velosig *);
53 extern void printveloconlist (velocon *);
54 extern void makevelofig(lofig_list *);
55 extern velosig *getvelosigbyname(ptype_list *, char *);
56 #endif
57