/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
 |