
/* 
 * $Header: c:\\cygwin\\cvsroot/Vert03/vertlib/jumpering.h,v 1.1.1.1 2003/11/04 23:34:57 mjames Exp $   
 *
 * $Log: jumpering.h,v $
 * Revision 1.1.1.1  2003/11/04 23:34:57  mjames
 * Imported into local repositrory
 *
 * Revision 1.5  2002/09/27 22:36:34  MJAMES
 * Added declaration of create_vhdl_connections
 *
 * Revision 1.4  2002/09/09 10:29:35  mjames
 * Removed set generic range and replaced it with a set generic value command
 * that takes both integers and ranges.
 *
 * Revision 1.3  2001/10/31 22:20:08  mjames
 * Tidying up problematical comments caused by CVS
 * 'intelligent' comment guessing
 *
 * Revision 1.2  2001/06/06 12:10:21  mjames
 * Move from HPUX
 *
 * Revision 1.1.1.1  2000/10/19 21:58:38  mjames
 * Mike put it here
 *
 *
 * Revision 1.23  2000/10/04  10:37:14  10:37:14  mjames (Mike James)
 * Modified for Vertical2 : support COMPONENTS and SIGNALS
 * 
 * Revision 1.23  2000/10/04  10:37:14  10:37:14  mjames (Mike James)
 * Part of Release PSAVAT01
 * 
 * Revision 1.22  2000/10/02  11:04:15  11:04:15  mjames (Mike James)
 * new_vhdl
 * 

 * Revision 1.21  2000/09/27  14:42:28  14:42:28  mjames (Mike James)

 * Part of Release Sep_27_ST_2000

 * 

 * Revision 1.20  2000/09/21  10:15:58  10:15:58  mjames (Mike James)

 * Part of Release Sep21Alpha

 * 

 * Revision 1.19  2000/08/25  09:57:22  09:57:22  mjames (Mike James)

 * Part of Release Aug25_alpha

 * 

 * Revision 1.18  2000/08/16  08:57:38  08:57:38  mjames (Mike James)

 * Part of Release CD01_Aug2000

 * 

 * Revision 1.17  2000/08/14  14:45:18  14:45:18  mjames (Mike James)

 * Part of Release Aug_14_2000

 * 

 * Revision 1.16  2000/08/11  08:30:39  08:30:39  mjames (Mike James)

 * Part of Release Aug_11_2000

 * 

 * Revision 1.15  2000/08/09  10:31:56  10:31:56  mjames (Mike James)

 * Part of Release Aug__9_2000

 * 

 * Revision 1.14  2000/05/31  11:43:09  11:43:09  mjames (Mike James)

 * Part of Release May_31_2000

 * 

 * Revision 1.13  2000/05/08  17:01:45  17:01:45  mjames (Mike James)

 * Part of Release May__8_2000

 * 

 * Revision 1.12  2000/05/08  16:59:39  16:59:39  mjames (Mike James)

 * Part of Release May__8_2000

 * 

 * Revision 1.11  2000/05/08  16:57:15  16:57:15  mjames (Mike James)

 * Part of Release May__8_2000

 * 

 * Revision 1.10  2000/03/08  16:19:10  16:19:10  mjames (Mike James)

 * New version including PC

 * 

 * Revision 1.7  2000/01/20  15:58:56  15:58:56  mjames (Mike James)

 * Part of Release R22

 * 

 * Revision 1.6  99/12/22  11:15:37  11:15:37  mjames (Mike James)

 * Part of Release Dec_22_1999

 * 

 * Revision 1.5  99/05/04  09:51:59  09:51:59  mjames (Mike James)

 * General checkin

 * ls

 * 

 * Revision 1.4  98/03/16  11:37:33  11:37:33  mjames (Mike James)

 * Amended jumpering functionality

 * 

 * Revision 1.3  98/02/11  11:26:33  11:26:33  mjames (Mike James)

 * Checked in for version 6.2a

 * 

 * Revision 1.2  97/04/23  08:44:11  08:44:11  mjames (Mike James)

 * CHecked in for release rel23041997

 * 

 * Revision 1.1  96/08/06  13:41:33  13:41:33  mjames (Mike James)

 * Initial revision

 * 

 *  */



/* takes a net and removes it from the list of nets directly searchable

   by routing algorithms, copying all its node references to the new net */

/* returns 1 if suceeded , 0 if failed */

extern int transfer_net_to_subnet(net_t ** list,

                                   net_t * topnet,

                                   net_t * subnet);



/* this procedure takes a jumper apart as a result of failure */



extern int disconnect_jumper(net_t ** list,

                                   net_t * jumper);





/* net creation by jumpering PCB nets */

extern void perform_jumpering(char * Suffix);



/* try to join all the pins seen on ID1 to ID2 */

extern void create_all_jumpers(char * ID1,char * ID2);



/* find a socket on a net */

extern noderef_t * search_net_for_socket(noderef_t * wanted_ref, 

                                         noderef_t * net_nodes,

                                         int use_group_mask);

extern void create_vhdl_connections(void);
