This file is indexed.

/usr/include/alliance/abe.h is in alliance 5.1.1-1.1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
/*------------------------------------------------------------\
|                                                             |
| This file is part of the Alliance CAD System Copyright      |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
|                                                             |
| Home page      : http://www-asim.lip6.fr/alliance/          |
| E-mail         : mailto:alliance-users@asim.lip6.fr       |
|                                                             |
| This progam is  free software; you can redistribute it      |
| and/or modify it under the  terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any    |
| later version.                                              |
|                                                             |
| Alliance VLSI  CAD System  is distributed  in the hope that |
| it  will be useful, but WITHOUT  ANY WARRANTY;              |
| without even the  implied warranty of MERCHANTABILITY or    |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General       |
| Public License for more details.                            |
|                                                             |
| You should have received a copy  of the GNU General Public  |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc.,        |
| 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.                     |
|                                                             |
\------------------------------------------------------------*/

/* ###--------------------------------------------------------------### */
/*                                                                      */
/* file         : abe201.h                                              */
/* date         : Feb 15 1995                                           */
/* version      : v201                                                  */
/* contents     : defines and structure definitions used in BEH library */
/*                                                                      */
/* ###--------------------------------------------------------------### */

#ifndef ABE_BEHDEF
#define ABE_BEHDEF

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

        /* ###------------------------------------------------------### */
        /*    defines                                                   */
        /* ###------------------------------------------------------### */

#define BEH_GENERIC 203698      /* generic ptype code                   */
#define BEH_STABLE  0x01        /* description used STABLE attribute    */

        /* ###------------------------------------------------------### */
        /*    structure definitions                                     */
        /* ###------------------------------------------------------### */

struct beden                    /* dictionary entry point               */
  {
  struct beden *NEXT;           /* next entry                           */
  struct bedrd *DATA;           /* data                                 */
  char         *KEY;            /* key                                  */
  };

struct bedrd                    /* dictionary record                    */
  {
  struct bedrd *NEXT;           /* next record                          */
  char         *KEY;            /* context key                          */
  short         FD0_VAL;        /* data field                           */
  short         FD1_VAL;        /* data field                           */
  short         FD2_VAL;        /* data field                           */
  short         FD3_VAL;        /* data field                           */
  short         FD4_VAL;        /* data field                           */
  short         FD5_VAL;        /* data field                           */
  short         FD6_VAL;        /* data field                           */
  long          PNT_VAL;        /* data field                           */
  };

typedef struct befig            /* behaviour figure                     */
  {
  struct befig      *NEXT;      /* next figure                          */
  char              *NAME;      /* figure's name                        */
  struct bereg      *BEREG;     /* list of internal signals (REGISTER)  */
  struct bemsg      *BEMSG;     /* list of assert instructions          */
  struct berin      *BERIN;     /* list of inputs (registers and ports) */
  struct beout      *BEOUT;     /* list of output ports                 */
  struct bebus      *BEBUS;     /* list of output ports (BUS)           */
  struct beaux      *BEAUX;     /* list of internal signals             */
  struct beaux      *BEDLY;     /* internal signals used for 'DELAYED   */
  struct bebux      *BEBUX;     /* list of internal signals (BUS)       */
  struct bepor      *BEPOR;     /* list of figure's port built in the   */
                                /* reverse order of the port clause     */
  struct begen      *BEGEN;     /* list of generic data                 */
  struct bepgm      *BEPGM;     /* list of pragmas (new field !!)       */

  struct bddcircuit *CIRCUI;    /* Circuit pointer used during ABL to   */
                                /* BDD transformation                   */
  void              *USER;      /* reserved for user's applications     */
  long               FLAGS;
  char               ERRFLG;    /* error flag                           */
  char               TYPE;      /* description type (not used)          */
  }
befig_list;

typedef struct bereg            /* register                             */
  {
  struct bereg  *NEXT;          /* next register                        */
  char          *NAME;          /* register's name                      */
  struct biabl  *BIABL;         /* list of drivers (ABL)                */
  struct binode *BINODE;        /* list of drivers (BDD)                */
  void          *USER;
  long           FLAGS;
  }
bereg_list;

typedef struct bemsg            /* assert instruction                   */
  {
  struct bemsg   *NEXT;          /* next assertion                       */
  char            LEVEL;         /* severity level of the assertion      */
  char           *LABEL;         /* instruction's label                  */
  char           *MESSAGE;       /* assertion's message                  */
  ablexpr        *ABL;           /* assertion's condition (ABL)          */
  struct bddnode *NODE;          /* assertion's condition (BDD)          */
  void          *USER;
  long           FLAGS;
  }
bemsg_list;

typedef struct beout            /* output port                          */
  {
  struct beout   *NEXT;          /* next output                          */
  char           *NAME;          /* port's name                          */
  ablexpr        *ABL;           /* port's equation (ABL)                */
  struct bddnode *NODE;          /* port's equation (BDD)                */
  void           *USER;
  long            FLAGS;
  }
beout_list;

typedef struct bebus            /* output port (BUS)                    */
  {
  struct bebus  *NEXT;          /* next bus port                        */
  char          *NAME;          /* port's name                          */
  struct biabl  *BIABL;         /* list of drivers (ABL)                */
  struct binode *BINODE;        /* list of drivers (BDD)                */
  char           TYPE;          /* port's type : W or M                 */
  void          *USER;
  long           FLAGS;
  }
bebus_list;

typedef struct beaux            /* auxiliary signal                     */
  {     
  struct beaux   *NEXT;          /* next signal                          */
  char           *NAME;          /* signal's name                        */
  ablexpr        *ABL;           /* signal's equation (ABL)              */
  struct bddnode *NODE;          /* signal's equation (BDD)              */
  void           *USER;
  long            FLAGS;
  }
beaux_list;

typedef struct bebux            /* internal signal (BUS)                */
  {     
  struct bebux  *NEXT;          /* next signal                          */
  char          *NAME;          /* signal's name                        */
  struct biabl  *BIABL;         /* list of drivers (ABL)                */
  struct binode *BINODE;        /* list of drivers (BDD)                */
  char           TYPE;          /* signal's type : W or M               */
  void          *USER;
  long           FLAGS;
  }
bebux_list;

typedef struct bepor            /* port                                 */
  {
  struct bepor *NEXT;           /* next port                            */
  char         *NAME;           /* port's name                          */
  char          DIRECTION;      /* port's mode (same as LOCON)          */
  char          TYPE;           /* port's type (B, M or W)              */
  void         *USER;
  long          FLAGS;
  }
bepor_list;

typedef struct biabl            /* couple of ABL                        */
  {
  struct biabl  *NEXT;          /* next couple                          */
  char          *LABEL;         /* driver's label                       */
  ablexpr       *CNDABL;        /* driver's connection condition (ABL)  */
  ablexpr       *VALABL;        /* equation of driven value (ABL)       */
  void          *USER;          /* user field                           */
  long           FLAGS;
  }
biabl_list;

typedef struct binode           /* couple of BDD                        */
  {
  struct binode  *NEXT;          /* next figure                          */
  struct bddnode *CNDNODE;       /* driver's connection condition (BDD)  */
  struct bddnode *VALNODE;       /* equation of driven value (BDD)       */
  void           *USER;
  long            FLAGS;
  }
binode_list;

typedef struct berin            /* primary inputs                       */
  {
  struct berin *NEXT;           /* next input                           */
  char         *NAME;           /* input's name                         */
  struct chain *OUT_REF;        /* outputs  which depends on this input */
  struct chain *BUS_REF;        /* busses   which depends on this input */
  struct chain *AUX_REF;        /* aux sig. which depends on this input */
  struct chain *REG_REF;        /* registers which depends on this input*/
  struct chain *BUX_REF;        /* busses   which depends on this input */
  struct chain *MSG_REF;        /* messages which depends on this input */
  struct chain *DLY_REF;        /* delayed internal signals depending ..*/
  void         *USER;
  long          FLAGS;
  }
berin_list;

typedef struct begen            /* generic                              */
  {
  struct begen *NEXT;           /* next generic                         */
  char         *NAME;           /* generic`s name                       */
  char         *TYPE;           /* generic type`s name                  */
  void         *VALUE;          /* generic`s value                      */
  void         *USER;
  long          FLAGS;
  }
begen_list;

typedef struct begex
  {
  struct chain   *OPERAND;      /* list of operands or NULL for term    */
  unsigned int    TERM   ;      /* operator or terminal's index         */
  unsigned short  TYPE   ;      /* expression's type index              */
  }
begex_list;

typedef struct bepgm            /* pragma                               */
  {
  struct bepgm *NEXT;           /* next pragma                          */
  char         *TYPE;           /* prgma's type                         */
  char         *NAME;           /* object's name                        */
  void         *VALUE;          /* prgma's content                      */
  void         *USER;
  }
bepgm_list;

        /* ###------------------------------------------------------### */
        /*    functions                                                 */
        /* ###------------------------------------------------------### */

extern struct beaux  *beh_addbeaux ();
extern struct bebux  *beh_addbebux ();
extern struct bebus  *beh_addbebus ();
extern struct befig  *beh_addbefig ();
extern struct begen  *beh_addbegen ();
extern struct bemsg  *beh_addbemsg ();
extern struct beout  *beh_addbeout ();
extern struct bepor  *beh_addbepor ();
extern struct bereg  *beh_addbereg ();
extern struct berin  *beh_addberin ();
extern struct bepgm  *beh_addbepgm ();
extern struct biabl  *beh_addbiabl ();
extern struct binode *beh_addbinode ();

extern struct beaux  *beh_delbeaux ();
extern struct bebux  *beh_delbebux ();
extern struct bebus  *beh_delbebus ();
extern struct befig  *beh_delbefig ();
extern struct begen  *beh_delbegen ();
extern struct bemsg  *beh_delbemsg ();
extern struct beout  *beh_delbeout ();
extern struct bepor  *beh_delbepor ();
extern struct bereg  *beh_delbereg ();
extern struct berin  *beh_delberin ();
extern struct bepgm  *beh_delbepgm ();
extern struct biabl  *beh_delbiabl ();
extern struct binode *beh_delbinode ();

extern void           beh_frebeaux ();
extern void           beh_frebebux ();
extern void           beh_frebebus ();
extern void           beh_frebefig ();
extern void           beh_frebegen ();
extern void           beh_frebemsg ();
extern void           beh_frebeout ();
extern void           beh_frebepor ();
extern void           beh_frebereg ();
extern void           beh_freberin ();
extern void           beh_frebepgm ();
extern void           beh_frebiabl ();
extern void           beh_frebinode ();

extern void beh_viewbefig();
extern void beh_viewbiabl();
extern void beh_viewbereg();
extern void beh_viewbebux();
extern void beh_viewbebus();
extern void beh_viewbeout();
extern void beh_viewbeaux();
extern void beh_viewbepor();

extern struct beaux  *beh_rmvbeaux ();
extern struct bebux  *beh_rmvbebux ();
extern struct bebus  *beh_rmvbebus ();
extern struct befig  *beh_rmvbefig ();
extern struct begen  *beh_rmvbegen ();
extern struct bemsg  *beh_rmvbemsg ();
extern struct beout  *beh_rmvbeout ();
extern struct bepor  *beh_rmvbepor ();
extern struct bereg  *beh_rmvbereg ();
extern struct berin  *beh_rmvberin ();
extern struct bepgm  *beh_rmvbepgm ();

extern struct beden **beh_initab   ();
extern void           beh_addtab   ();
extern long           beh_chktab   ();
extern void           beh_fretab   ();

extern int            beh_error    ();
extern void           beh_message  ();
extern void           beh_toolbug  ();

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif