This file is indexed.

/usr/include/alliance/pat.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
/* 
 * This file is part of the Alliance CAD System
 * Copyright (C) Laboratoire LIP6 - Département ASIM
 * Universite Pierre et Marie Curie
 * 
 * Home page          : http://www-asim.lip6.fr/alliance/
 * E-mail             : mailto:alliance-users@asim.lip6.fr
 * 
 * This library 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		: pat109.h						*/
/* date		: Mar 10 2000						*/
/* version	: v109							*/
/* authors	: Pirouz BAZARGAN SABET					*/
/* description	: header for PAT library				*/
/* ###--------------------------------------------------------------### */

#ifndef PAT_PATDEF
#define PAT_PATDEF

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

#define PAT_SEQ__IOLARRAY	0x01	/* paseq FLAGS: array of paiols	*/
#define PAT_SEQ__ZERODELAY	0x02	/* paseq FLAGS: zero delay desc	*/

#define PAT_IOL__SPY            0x01    /* paiol FLAG : spied		*/
#define PAT_IOL__TRACE          0x02    /* paiol FLAG : traced		*/

#define PAT_PAT__SPY            0x01    /* papat FLAG : spy pattern	*/

#define PAT_SEQ__TIMEUNIT	0x07	/* time unit			*/
#define PAT_TU__VU		   0	/* time unit : virtual unit	*/
#define PAT_TU__FS		   1	/* time unit : fs		*/
#define PAT_TU__PS		   2	/* time unit : ps		*/
#define PAT_TU__NS		   3	/* time unit : ns		*/
#define PAT_TU__US		   4	/* time unit : us		*/
#define PAT_TU__MS		   5	/* time unit : ms		*/

	/* ###------------------------------------------------------### */
	/*    global variables						*/
	/* ###------------------------------------------------------### */

extern unsigned int  PAT_LINNUM  ;

extern unsigned char PAT_TIMEUNIT;
extern unsigned int  PAT_TIMESTEP;

extern float         PAT_CNV_FS  ;
extern float         PAT_CNV_PS  ;
extern float         PAT_CNV_NS  ;
extern float         PAT_CNV_US  ;
extern float         PAT_CNV_MS  ;

	/* ###------------------------------------------------------### */
	/*    data structures						*/
	/* ###------------------------------------------------------### */

typedef struct paseq			/* sequence of patterns		*/
  {
  struct paseq   *NEXT     ;		/* next sequence		*/
  char           *NAME     ;		/* sequence's name		*/
  struct pagrp   *PAGRP    ;		/* list of declared arraies	*/
  struct paiol   *PAIOL    ;		/* list of inputs-outputs	*/
  struct pacom   *DECCOM   ;		/* declaration part comments	*/
  struct papat   *OLDPAT   ;		/* old list of patterns		*/
  struct pacom   *OLDCOM   ;		/* old list of comments		*/
  struct papat   *CURPAT   ;		/* current patterns		*/
  struct pacom   *CURCOM   ;		/* current comments		*/
  struct papat   *NXTPAT   ;		/* next patterns		*/
  char           *MODEL    ;		/* model of a pttern		*/
  char           *BUFFER   ;		/* accu. buffer to build pettern*/
  struct pains   *PAINS    ;		/* inspected instances		*/
  unsigned int    PATNBR   ;		/* # of patterns for simulation	*/
  unsigned int    LINENO   ;		/* current line number		*/
  unsigned short  IOLNBR   ;		/* # of inputs-outputs		*/
  unsigned short  SUBSEQ   ;		/* subsequence number		*/
  unsigned short  DRVSEQ   ;		/* last drived subsequence	*/
  char            SAVFLG   ;		/* save flag 'Y' or 'N'		*/
  char            ENDFLG   ;		/* end  flag 'Y' or 'N'		*/
  unsigned char   ERRFLG   ;		/* error flag			*/
  unsigned char   FLAGS    ;		/* flags			*/
  unsigned char   TIME_UNIT;		/* time unit			*/
  unsigned int    TIME_STEP;		/* time step			*/
  }
paseq_list;

typedef struct pains			/* inspected instance		*/
  {
  struct pains   *NEXT     ;		/* next inspected instance	*/
  char           *INSNAME  ;		/* instance name		*/
  char           *FILNAME  ;		/* file name			*/
  void           *INSTANCE ;		/* instance pointer		*/
  FILE           *FILPNT   ;		/* file pointer			*/
  char           *MODEL    ;		/* model of generated pattern	*/
  char          **VALUE    ;		/* instance's interface values	*/
  }
pains_list;

typedef struct pagrp			/* actual or virtual array	*/
  {
  struct pagrp   *NEXT     ;		/* next array			*/
  char           *NAME     ;		/* array's name			*/
  unsigned short  LENGTH   ;		/* array's number of bit	*/
  unsigned short  FINDEX   ;		/* index of the first paiol	*/
  short           FLAG     ;		/* actual or virtual (0,1)	*/
  }
pagrp_list;

typedef struct paiol			/* input-output signal		*/
  {
  struct paiol   *NEXT     ;		/* next input-output		*/
  char           *NAME     ;		/* input-output's name		*/
  void           *SIG      ;		/* pointer on the signal	*/
  char            FORMAT   ;		/* read-write format B,O,X	*/
  char            MODE     ;		/* mode I,B,O,Z,T,R,S,X,W,U	*/
  char            BLANK    ;		/* number of blank columns	*/
  char            VALUE    ;		/* (not used)			*/
  char            FLAG     ;		/* flag				*/
  }
paiol_list;

typedef struct papat			/* pattern			*/
  {
  struct papat   *NEXT     ;		/* next pattern			*/
  char           *LABEL    ;		/* pattern's label		*/
  struct paini   *PAINI    ;		/* list of initializations	*/
  struct paevt   *PAEVT    ;		/* list of events		*/
  unsigned int    TIME     ;		/* pattern's absolute time	*/
  unsigned short  LINE     ;		/* pattern's line number	*/
  char            BLANK    ;		/* number of blank lines	*/
  char            ACTFLAG  ;		/* action flag (U,I)		*/
  char            SIMFLAG  ;		/* simulation flag (U,S)	*/
  unsigned char   FLAG     ;		/* flag				*/
  }
papat_list;

typedef struct paini			/* initialized register		*/
  {
  struct paini   *NEXT     ;		/* next initialization		*/
  char           *NAME     ;		/* register's name		*/
  char            VALUE    ;		/* initialization's value	*/
  }
paini_list;

typedef struct paevt			/* event			*/
  {
  struct paevt   *NEXT     ;		/* next event			*/
  unsigned short  INDEX    ;		/* input-output's index		*/
  char            USRVAL   ;		/* value given by the user	*/
  char            SIMVAL   ;		/* calculated value		*/
  }
paevt_list;

typedef struct pacom			/* comment line			*/
  {
  struct pacom   *NEXT     ;		/* next comment			*/
  char           *TEXT     ;		/* text of the comment		*/
  unsigned short  POSITION ;		/* nbr of decl. or pat. before	*/
  }
pacom_list;

	/* ###------------------------------------------------------### */
	/*    low-level functions					*/
	/* ###------------------------------------------------------### */

extern struct paseq *pat_addpaseq ();	/* add a paseq structure	*/
extern struct papat *pat_addpapat ();	/* add a papat structure	*/
extern struct paevt *pat_addpaevt ();	/* add a paevt structure	*/
extern struct paini *pat_addpaini ();	/* add a paini structure	*/
extern struct pacom *pat_addpacom ();	/* add a pacom structure	*/
extern struct pagrp *pat_addpagrp ();	/* add a pagrp structure	*/
extern struct paiol *pat_addpaiol ();	/* add a paiol structure	*/
extern struct pains *pat_addpains ();	/* add a pains structure	*/

extern struct paiol *pat_crtpaiol ();	/* create a table of paiols	*/

extern void          pat_frepaiol ();	/* delete a list of paiols	*/
extern void          pat_frepaini ();	/* delete a list of painis	*/
extern void          pat_frepaevt ();	/* delete a list of paevts	*/
extern void          pat_frepapat ();	/* delete a list of papats	*/
extern void          pat_frepacom ();	/* delete a list of pacoms	*/

extern int           pat_error    ();	/* pat error function		*/
extern int           pat_warning  ();	/* pat warning function		*/
extern int           pat_message  ();	/* pat message function		*/

#endif