
/* $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);
