
/*
 * $Id: rename.h,v 1.1.1.1 2003/11/04 23:34:57 mjames Exp $
 *
 * $Log: rename.h,v $
 * Revision 1.1.1.1  2003/11/04 23:34:57  mjames
 * Imported into local repositrory
 *
 * Revision 1.5  2001/12/11 20:30:26  mjames
 * Implemented  regular expression pin  name editing
 *
 * Revision 1.4  2001/11/19 10:41:34  mjames
 * Merged back DTC release
 *
 * Revision 1.3.2.1  2001/11/15 22:03:52  mjames
 * Altered the 'alter' command to use two arguments rather than one
 * after TH suggestion.
 *
 * Revision 1.3  2001/10/31 22:20:14  mjames
 * Tidying up problematical comments caused by CVS
 * 'intelligent' comment guessing
 *
 * Revision 1.2  2001/01/26 21:50:11  mjames
 * Managed to get vertical non TCL to compile again
 *
 * Conversion to argv, argc[] mode of operation continues
 *
 * Revision 1.1.1.1  2000/10/19 21:58:39  mjames
 * Mike put it here
 *
 *
 * Revision 1.1  2000/10/12  14:27:32  14:27:32  mjames (Mike James)
 * Initial revision
 *
 * Revision 1.23  2000/10/04  10:37:13  10:37:13  mjames (Mike James)
 * Part of Release PSAVAT01
 *
 * Revision 1.22  2000/10/02  11:04:19  11:04:19  mjames (Mike James)
 * new_vhdl
 *
 * Revision 1.21  2000/09/27  14:42:27  14:42:27  mjames (Mike James)
 * Part of Release Sep_27_ST_2000
 *
 * Revision 1.20  2000/09/21  10:15:57  10:15:57  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:38  08:30:38  mjames (Mike James)
 * Part of Release Aug_11_2000
 *
 * Revision 1.15  2000/08/09  10:31:55  10:31:55  mjames (Mike James)
 * Part of Release Aug__9_2000
 *
 * Revision 1.14  2000/05/31  11:43:08  11:43:08  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:38  16:59:38  mjames (Mike James)
 * Part of Release May__8_2000
 *
 * Revision 1.11  2000/05/08  16:57:14  16:57:14  mjames (Mike James)
 * Part of Release May__8_2000
 *
 * Revision 1.10  2000/03/08  16:19:26  16:19:26  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  98/04/24  14:07:17  14:07:17  mjames (Mike James)
 * Added a cal to pin name swapping code.
 *
 * Revision 1.4  98/02/11  11:27:09  11:27:09  mjames (Mike James)
 * Checked in for version 6.2a
 *
 * Revision 1.3  97/04/23  08:44:44  08:44:44  mjames (Mike James)
 * CHecked in for release rel23041997
 *
 * Revision 1.2  96/07/19  14:39:11  14:39:11  mjames (Mike James)
 * Update to give to PRL
 *
 * Revision 1.1  96/05/29  11:01:49  11:01:49  mjames (Mike James)
 * Initial revision
 *  */
/* globally renaming PCB netlist socket and net IDs when read in */

extern void mark_board_objects (void);

extern void set_board_suffix (char *s);

/*********************************************************************/

/* Pin_swapping : reverse A23 to 23a                                 */

/*********************************************************************/
typedef enum
{
        Want_A1,
        Want_1A
} AlphaSwap_t;

extern void pin_id_swap (char *chip_template, int lead_chars, AlphaSwap_t lead_alpha);

/***************************************************************************************/
/* Name nets after node name on device instead of pcb CAD name                         */
/* Initially lookup all matching sockets                                               */
/* If the prefix_opt is valid then this is used as the net identifier prefix */

extern void alter_net_to_socket_name (char *chip_id_template, char *prefix_opt);

/***************************************************************************************/
/* Prefix pin identifiers on socket with a string (needed for compatibility with Certify)    */
/* Initially lookup all matching sockets                                               */
/* If the prefix is valid then this is used as the pin identifier prefix */
extern void edit_socket_pin_name (
    char *chip_id_template, char *pin_patt, char *pin_repl, property_t search_space);

/***************************************************************************************/
/* allows for net renaming : currently in the routed list only  */
extern void edit_net_names (char *pin_patt, char *pin_repl, property_t search_space);
