1/*
2 * Author:      William Chia-Wei Cheng (bill.cheng@acm.org)
3 *
4 * Copyright (C) 2001-2009, William Chia-Wei Cheng.
5 *
6 * This file may be distributed under the terms of the Q Public License
7 * as defined by Trolltech AS of Norway and appearing in the file
8 * LICENSE.QPL included in the packaging of this file.
9 *
10 * THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING
11 * THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
12 * PURPOSE.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL,
13 * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
14 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
15 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
16 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 *
18 * @(#)$Header: /mm2/home/cvs/bc-src/tgif/special.e,v 1.8 2011/05/16 16:21:59 william Exp $
19 */
20
21#ifndef _SPECIAL_E_
22#define _SPECIAL_E_
23
24extern int	placingTopObj;
25extern int	connectingPortsByWire;
26extern int	connectingPortsFromInternalCommand;
27
28extern char	gszAttrSeparator[];
29
30#ifdef _INCLUDE_FROM_SPECIAL_C_
31#undef extern
32#define extern
33#endif /*_INCLUDE_FROM_SPECIAL_C_*/
34
35extern struct ObjRec	* ReadSymbol ARGS_DECL((FILE *, int FileType));
36extern struct ObjRec	* GetObjRepresentation ARGS_DECL((char *PathName,
37			                                  char *SymName,
38			                                  int FileType));
39extern unsigned int	PlaceTopObj ARGS_DECL((struct ObjRec *,
40		                               struct ObjRec *savedTopObj,
41		                               struct ObjRec *savedBotObj));
42extern void	Instantiate ARGS_DECL((void));
43extern int	ObjIsAPort ARGS_DECL((struct ObjRec *));
44extern void	ConnectTwoPortsByAWire ARGS_DECL((void));
45extern void	RepeatConnectTwoPortsByAWire ARGS_DECL((void));
46extern void	ConnectPortsToBroadcastWire ARGS_DECL((void));
47extern void	RenameSignalNameForAPort ARGS_DECL((void));
48extern void	ClearSignalNameForAPort ARGS_DECL((void));
49extern void	MergePortsWithAnObject ARGS_DECL((void));
50extern void	RenumberObjectIds ARGS_DECL((void));
51extern void	MakeSymbolic ARGS_DECL((void));
52extern void	UnMakeSymbolic ARGS_DECL((void));
53extern int	MakeIconic ARGS_DECL((char *SymPath, int record_cmd));
54extern void	UnMakeIconic ARGS_DECL((void));
55extern void	ImportAttrs ARGS_DECL((void));
56extern int	ImportNamedAttrs ARGS_DECL((FILE*, struct ObjRec *,
57				int num_restricted, char **ppsz_restricted,
58				char *fname));
59extern void	ExportAttrs ARGS_DECL((void));
60extern void	MergeWithTable ARGS_DECL((void));
61extern void	ExportToTable ARGS_DECL((void));
62extern void     ToggleShowWireSignalName ARGS_DECL((void));
63extern int      RefreshPortMenu ARGS_DECL((TgMenu*));
64extern TgMenu   *CreatePortMenu ARGS_DECL((TgMenu*, int X, int Y, TgMenuInfo*,
65		                           int status_str_xlated));
66extern void	RefreshSpecialMenu ARGS_DECL((TgMenu*));
67extern int	SpecialMenu ARGS_DECL((int X, int Y, int TrackMenubar));
68extern void	CleanUpSpecial ARGS_DECL((void));
69extern int	InitSpecial ARGS_DECL((void));
70
71#ifdef _INCLUDE_FROM_SPECIAL_C_
72#undef extern
73#ifndef _NO_RECURSIVE_EXTERN
74#define extern extern
75#endif /* ~_NO_RECURSIVE_EXTERN */
76#endif /*_INCLUDE_FROM_SPECIAL_C_*/
77
78#endif /*_SPECIAL_E_*/
79