/*
 * netmenu.h --
 *
 * Defines the interface provided by the netmenu module.
 * This module implements a menu-based system for editing
 * labels and netlists.
 *
 *     ********************************************************************* 
 *     * Copyright (C) 1985, 1990 Regents of the University of California. * 
 *     * Permission to use, copy, modify, and distribute this              * 
 *     * software and its documentation for any purpose and without        * 
 *     * fee is hereby granted, provided that the above copyright          * 
 *     * notice appear in all copies.  The University of California        * 
 *     * makes no representations about the suitability of this            * 
 *     * software for any purpose.  It is provided "as is" without         * 
 *     * express or implied warranty.  Export of this software outside     * 
 *     * of the United States of America may require an export license.    * 
 *     *********************************************************************
 *
 *
 * rcsid = "$Header: /ufs/repository/magic/netmenu/netmenu.h,v 1.2 2006/02/08 03:47:50 fang Exp $";
 */

#ifndef _NETMENU
#define _NETMENU

#include "misc/magic.h"

/* data structures */

typedef	int (*NMNetEnumProcType)(char*, bool, ClientData);

/* procedures */

extern void NMinit();
extern void NMUnsetCell();
extern void NMNewNetlist();
extern void NMWriteNetlist();
extern char *NMAddTerm();
extern void NMDeleteTerm();
extern void NMJoinNets();
extern void NMDeleteNet();
extern int NMEnumNets();
extern int NMEnumTerms();
extern char *NMNthNet();
extern char *NMTermInList();
extern void NMVerify();
extern bool NMHasList();
extern void NMFlushNetlist();
extern char *NMNetlistName();
extern void NMMeasureAll();

extern int NMEnumNets(NMNetEnumProcType, ClientData);
extern void nmGetNums(char*, int*, int*);
extern char* nmPutNums(char*, int, int); 

#endif 	/* _NETMENU */
