
/* $Id: cmdutil.h,v 1.1.1.1 2003/11/04 23:34:56 mjames Exp $ 

   $Log: cmdutil.h,v $
   Revision 1.1.1.1  2003/11/04 23:34:56  mjames
   Imported into local repositrory

   Revision 1.5  2002/08/14 11:54:19  mjames
   merge

   Revision 1.5  2002/04/10 14:29:10  mjames
   Moved setting debug level to cmdutil.c

   Amended print external command to list all net names on socket pins
   whether routed or not.

   Revision 1.4  2001/10/31 22:20:01  mjames
   Tidying up problematical comments caused by CVS
   'intelligent' comment guessing

   Revision 1.3  2001/06/19 05:25:10  mjames
   Created a trap_fopen to overcome trying to write to read only files.
   If this attempted in NT the file can be opened but not written to.

   Revision 1.2  2001/06/06 12:10:24  mjames
   Move from HPUX

   Revision 1.1.1.1  2000/10/19 21:58:35  mjames
   Mike put it here


 * Revision 1.29  2000/10/04  10:37:12  10:37:12  mjames (Mike James)
 * COnversion to Vertical2, supports signals and components
 * 
 * Revision 1.29  2000/10/04  10:37:12  10:37:12  mjames (Mike James)
 * Part of Release PSAVAT01
 * 
 * Revision 1.28  2000/10/02  11:04:10  11:04:10  mjames (Mike James)
 * new_vhdl
 * 

 * Revision 1.27  2000/09/27  14:42:26  14:42:26  mjames (Mike James)

 * Part of Release Sep_27_ST_2000

 * 

 * Revision 1.26  2000/09/21  10:15:56  10:15:56  mjames (Mike James)

 * Part of Release Sep21Alpha

 * 

 * Revision 1.25  2000/08/25  09:57:21  09:57:21  mjames (Mike James)

 * Part of Release Aug25_alpha

 * 

 * Revision 1.24  2000/08/16  08:57:37  08:57:37  mjames (Mike James)

 * Part of Release CD01_Aug2000

 * 

 * Revision 1.23  2000/08/14  14:45:17  14:45:17  mjames (Mike James)

 * Part of Release Aug_14_2000

 * 

 * Revision 1.22  2000/08/11  08:30:37  08:30:37  mjames (Mike James)

 * Part of Release Aug_11_2000

 * 

 * Revision 1.21  2000/08/09  10:31:54  10:31:54  mjames (Mike James)

 * Part of Release Aug__9_2000

 * 

 * Revision 1.20  2000/05/31  11:43:06  11:43:06  mjames (Mike James)

 * Part of Release May_31_2000

 * 

 * Revision 1.19  2000/05/08  17:01:44  17:01:44  mjames (Mike James)

 * Part of Release May__8_2000

 * 

 * Revision 1.18  2000/05/08  16:59:37  16:59:37  mjames (Mike James)

 * Part of Release May__8_2000

 * 

 * Revision 1.17  2000/05/08  16:57:13  16:57:13  mjames (Mike James)

 * Part of Release May__8_2000

 * 

 * Revision 1.16  2000/03/08  16:18:45  16:18:45  mjames (Mike James)

 * New version including PC

 * 

 * Revision 1.13  2000/01/20  15:58:54  15:58:54  mjames (Mike James)

 * Part of Release R22

 * 

 * Revision 1.12  99/12/22  11:15:35  11:15:35  mjames (Mike James)

 * Part of Release Dec_22_1999

 * 

 * Revision 1.11  98/02/11  11:25:50  11:25:50  mjames (Mike James)

 * Checked in for version 6.2a

 * 

 * Revision 1.10  97/04/23  08:44:06  08:44:06  mjames (Mike James)

 * CHecked in for release rel23041997

 * 

 * Revision 1.9  96/07/19  14:39:02  14:39:02  mjames (Mike James)

 * Update to give to PRL

 * 

 * Revision 1.8  1996/07/12  15:52:12  mjames

 * Sorted out things like Alias and Jumpers

 * Work Correctly

 * Print COrrectly

 *

 * Revision 1.7  96/03/29  14:46:47  14:46:47  mjames (Mike James)

 * Added VHDL netlist writing to the capabilities of ACFREAD

 * 

 * Revision 1.6  96/03/18  13:51:11  13:51:11  mjames (Mike James)

 * Real Revision 2.1

 * 

 * Revision 1.4  96/02/13  09:13:42  09:13:42  mjames (Mike James)

 * Updated to be version 2.0 with net joining

 * 

 * Revision 1.3  96/02/08  15:28:43  15:28:43  mjames (Mike James)

 * First release

 * 

 * Revision 1.2  96/02/07  16:01:43  16:01:43  mjames (Mike James)

 * Added correct RCS header

 * 

 * Revision 1.1  96/02/07  15:51:27  15:51:27  mjames (Mike James)

 * Initial revision

 *  */

#define PATHDEPTH  10





#define BIT0   1

#define BIT1   2

#define BIT2   4

#define BIT3   8

#define BIT4  16

#define BIT5  32

#define BIT6  64

#define BIT7 128 



#define TwoTo0  (1L<<0)

#define TwoTo1  (1L<<1)

#define TwoTo2  (1L<<2)

#define TwoTo3  (1L<<3)

#define TwoTo4  (1L<<4)

#define TwoTo5  (1L<<5)

#define TwoTo6  (1L<<6)

#define TwoTo7  (1L<<7)

#define TwoTo8  (1L<<8)

#define TwoTo14 (1L<<14)

#define TwoTo16 (1L<<16)

#define TwoTo17 (1L<<17)

#define TwoTo20 (1L<<20)

#define TwoTo24 (1L<<24)



/* Pseudo functions */

#define SetBit(a,b)   a|=(1<<(b))

#define ClearBit(a,b) a&=(~(1<<(b)))





extern FILE * trap_fopen(char * name, char * mode);


extern int ConvertToDecimal (char * input, long * Output);

extern int ReadInt          (struct CommandStruct * CmdPtr, 

                             int bits, long * Output);

extern int ReadWord         (struct CommandStruct * CmdPtr, 

                             char * * Output);

extern void set_debug_level(int lev);

