summaryrefslogtreecommitdiff
path: root/prototypes.h
blob: bb5fb38e6f38fc6f20a557ac40133f2fa858a039 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
/*----------------------------------------------------------------------*/
/* prototypes.h:							*/
/*     Master list of function prototypes				*/
/*----------------------------------------------------------------------*/

/* from undo.c */

/* Note variable argument list for register_for_undo() */
extern void register_for_undo(u_int, u_char, objinstptr, ...);
extern void undo_finish_series(void);
extern void undo_action(void);
extern void redo_action(void);
extern void flush_undo_stack(void);
extern void flush_redo_stack(void);
extern void truncate_undo_stack(void);
extern void free_undo_record(Undoptr);
extern void free_redo_record(Undoptr);
extern stringpart *get_original_string(labelptr);
extern short *recover_selectlist(Undoptr);
extern void free_selection(uselection *);
extern uselection *remember_selection(objinstptr, short *, int);
extern short *regen_selection(objinstptr, uselection *);
#ifndef TCL_WRAPPER
extern void undo_call(xcWidget, caddr_t, caddr_t);
extern void redo_call(xcWidget, caddr_t, caddr_t);
#endif


/* from tclxcircuit.c */

#ifdef TCL_WRAPPER
extern void xctk_drag(ClientData, XEvent *);
extern void xctk_draglscroll(ClientData, XEvent *);
extern void xctk_dragfilebox(ClientData, XEvent *);
extern void tcl_stdflush(FILE *);
extern void tcl_printf(FILE *, const char *, ...);
extern int XcTagCallback(Tcl_Interp *, int, Tcl_Obj *CONST objv[]);
extern Tcl_Obj *evaluate_raw(objectptr, oparamptr, objinstptr, int *);
extern char *TCL_to_PS(char *);
extern XCWindowData *GUI_init(int, Tcl_Obj *CONST objv[]);
extern void build_app_database(Tk_Window);
extern int XcInternalTagCall(Tcl_Interp *, int, ...);
extern char *translateparamtype(int);
extern char *translatestyle(int);
extern char *translateencoding(int);

#endif

extern char *evaluate_expr(objectptr, oparamptr, objinstptr);

/* from opengl.c:  compatibility functions for OpenGL/X11 */

#ifdef OPENGL
extern void SetForeground(Display *, GC, int);
extern void SetBackground(Display *, GC, int);
extern void SetFunction(Display *, GC, int);
extern void SetLineAttributes(Display *, GC, float, int, int, int);
extern void SetDashes(Display *, GC, int, char dashlist[], int);
extern void SetStipple(Display *, GC, int);
extern void SetFillStyle(Display *, GC, int);
extern void DrawLine(Display *, Window, GC, int, int, int, int);
extern void DrawLines(Display *, Window, GC, XPoint *, int, int);
extern void DrawPoint(Display *, Window, GC, int, int);
extern void FillPolygon(Display *, Window, GC, XPoint *, int, int, int);
#endif

/* from elements.c: */

/* element constructor functions */
extern labelptr new_label(objinstptr, stringpart *, int, int, int);
extern labelptr new_simple_label(objinstptr, char *, int, int, int);
extern labelptr new_temporary_label(objectptr, char *, int, int);
extern polyptr new_polygon(objinstptr, pointlist *, int);
extern splineptr new_spline(objinstptr, pointlist);
extern arcptr new_arc(objinstptr, int, int, int);
extern objinstptr new_objinst(objinstptr, objinstptr, int, int);

/* element destructor function */
extern void remove_element(objinstptr, genericptr);

/* functions to set default values for element types */
extern void polydefaults(polyptr, int, int, int);
extern void splinedefaults(splineptr, int, int);
extern void arcdefaults(arcptr, int, int);
extern void pathdefaults(pathptr, int, int);
extern void instancedefaults(objinstptr, objectptr, int, int);
extern void labeldefaults(labelptr, u_char, int, int);

extern void converttocurve();
extern void poly_add_point(polyptr, XPoint *);
extern void drawdot(int, int);
extern void copyalleparams(genericptr, genericptr);
extern void copyparams(objinstptr, objinstptr);

extern void textbutton(u_char, int, int);
extern void charreport(labelptr);
extern Boolean labeltext(int, char *);
extern void textreturn(void);
extern void rejustify(short);
extern void findconstrained(polyptr);
extern void reversepoints(XPoint *, short);
extern void reversefpoints(XfPoint *, short);
extern void freeparts(short *, short);
extern void removep(short *, short);
extern void unjoin(void);
extern labelptr findlabelcopy(labelptr, stringpart *);
extern Boolean neartest(XPoint *, XPoint *);
extern void join(void);
extern genericptr getsubpart(pathptr, int *);

/* interactive manipulation of elements */
extern void splinebutton(int, int);
extern void updatepath(pathptr);
extern void trackelement(xcWidget, caddr_t, caddr_t);
extern void arcbutton(int, int);
extern void trackarc(xcWidget, caddr_t, caddr_t);
extern void boxbutton(int, int);
extern void trackbox(xcWidget, caddr_t, caddr_t);
extern void trackwire(xcWidget, caddr_t, caddr_t);
extern void startwire(XPoint *);
extern void setendpoint(short *, short, XPoint **, XPoint *);
extern void wire_op(int, int ,int);

/* from events.c: */

extern Boolean recursefind(objectptr, objectptr);
extern void transferselects(void);
extern void select_invalidate_netlist(void);
extern void newmatrix(void);
extern void setpage(Boolean);
extern int changepage(short);
extern void newpage(short);
extern void pushobject(objinstptr);
extern void push_stack(pushlistptr *, objinstptr, char *);
extern void pop_stack(pushlistptr *);
extern void free_stack(pushlistptr *);
extern void popobject(xcWidget, pointertype, caddr_t);
extern void resetbutton(xcWidget, pointertype, caddr_t);
extern void drawhbar(xcWidget, caddr_t, caddr_t);
extern void drawvbar(xcWidget, caddr_t, caddr_t);
extern void panhbar(xcWidget, caddr_t, XButtonEvent *);
extern void endhbar(xcWidget, caddr_t, XButtonEvent *);
extern void panvbar(xcWidget, caddr_t, XButtonEvent *);
extern void endvbar(xcWidget, caddr_t, XButtonEvent *);
extern void zoombox(xcWidget, caddr_t, caddr_t);
extern void zoomin(int, int);
extern void zoomout(int, int);
extern void warppointer(int, int);
extern void panbutton(u_int, int, int, float);
extern void zoominrefresh(int, int);
extern void zoomoutrefresh(int, int);
extern void panrefresh(u_int, int, int, float);
extern void checkwarp(XPoint *);
extern void warparccycle(arcptr, short);
extern int checkcycle(genericptr, short);
extern pointselect *getrefpoint(genericptr, XPoint **);
extern void copyvirtual(void);
extern void nextpathcycle(pathptr, short);
extern void nextpolycycle(polyptr *, short);
extern void nextsplinecycle(splineptr *, short);
extern void nextarccycle(arcptr *, short);
extern void buttonhandler(xcWidget, caddr_t, XButtonEvent *);
extern void keyhandler(xcWidget, caddr_t, XKeyEvent *);
extern Boolean compatible_function(int);
extern int eventdispatch(int, int, int);
extern int functiondispatch(int, short, int, int);
extern void releasehandler(xcWidget, caddr_t, XKeyEvent *);
extern void setsnap(short);
extern void snapelement(void);
extern int ipow10(int);
extern int calcgcf(int, int);
extern void fraccalc(float, char *);
extern void printpos(short, short);
extern void findwirex(XPoint *, XPoint *, XPoint *, XPoint *, int *);
extern void findattach(XPoint *, int *, XPoint *);
extern XPoint *pathclosepoint(pathptr, XPoint *);
extern void placeselects(short, short, XPoint *);
extern void drag(int, int);
extern void xlib_drag(xcWidget, caddr_t, XEvent *);
extern void elemrotate(genericptr *, short, XPoint *);
extern void elementrotate(short, XPoint *);
extern void edit(int, int);
extern void pathedit(genericptr);
extern void xc_lower();
extern void xc_raise();
extern void xc_top(short *, short *);
extern void xc_bottom(short *, short *);
extern void exchange(void);
extern void elhflip(genericptr *, short);
extern void elvflip(genericptr *, short);
extern void elementflip(XPoint *);
extern void elementvflip(XPoint *);
extern short getkeynum(void);
#ifdef TCL_WRAPPER
extern void makepress(ClientData);
#else
extern void makepress(XtPointer, xcIntervalId *);
#endif
extern void reviseselect(short *, int, short *);
extern void deletebutton(int, int);
extern void delete_one_element(objinstptr, genericptr);
extern short *xc_undelete(objinstptr, objectptr, short, short *);
extern objectptr delete_element(objinstptr, short *, int, short);
extern void printname(objectptr);
extern Boolean checkname(objectptr);
extern char *checkvalidname(char *, objectptr);
extern objectptr finddot(void);
extern void movepoints(genericptr *, short, short);
extern void editpoints(genericptr *, short, short);
#ifndef TCL_WRAPPER
extern void xlib_makeobject(xcWidget, caddr_t);
#endif
extern objinstptr domakeobject(int, char *, Boolean);
extern void selectsave(xcWidget, caddr_t, caddr_t);
extern void arceditpush(arcptr);
extern void splineeditpush(splineptr);
extern void polyeditpush(polyptr);
extern void patheditpush(pathptr);
extern pointlist copypoints(pointlist, int);
extern void labelcopy(labelptr, labelptr);
extern void arccopy(arcptr, arcptr);
extern void polycopy(polyptr, polyptr);
extern void splinecopy(splineptr, splineptr);
extern void pathcopy(pathptr, pathptr);
extern void instcopy(objinstptr, objinstptr);
extern void delete_tagged(objinstptr);
extern void createcopies(void);
extern void copydrag(void);
extern void copy_op(int, int, int);
extern Boolean checkmultiple(XButtonEvent *);
extern void continue_op(int, int, int);
extern void finish_op(int, int, int);
extern void path_op(genericptr, int, int, int);
extern void inst_op(genericptr, int, int, int);
extern void resizearea(xcWidget, caddr_t, caddr_t);
extern void drawarea(xcWidget, caddr_t, caddr_t);
extern void standard_element_delete(short);
extern void delete_for_xfer(short, short *, int);
extern void delete_noundo(short);

/* from filelist.c: */

extern int fcompare(const void *, const void *);
extern void dragfilebox(xcWidget, caddr_t, XMotionEvent *);
extern void startfiletrack(xcWidget, caddr_t, XCrossingEvent *);
extern void endfiletrack(xcWidget, caddr_t, XCrossingEvent *);
extern char *getcrashfilename(void);
extern void crashrecover(void);
extern void findcrashfiles(void);
extern void listfiles(xcWidget, popupstruct *, caddr_t);
extern void newfilelist(xcWidget, popupstruct *);
extern void fileselect(xcWidget, popupstruct *, XButtonEvent *);
extern void showlscroll(xcWidget, caddr_t, caddr_t);
extern void draglscroll(xcWidget, popupstruct *, XButtonEvent *);
extern void genfilelist(xcWidget, popupstruct *, Dimension);
extern int lookdirectory(char *, int);

/* from files.c: */

#ifdef ASG
extern void importspice(void);
#endif

extern char *ridnewline(char *);
extern void free_single(genericptr);
extern void reset(objectptr, short);
extern void pagereset(short);
extern void initmem(objectptr);
extern void freelabel(stringpart *);
extern Boolean compare_single(genericptr *, genericptr *);
extern Boolean elemcompare(genericptr *, genericptr *);
extern short objcompare(objectptr, objectptr);
extern float getpsscale(float, short);
extern void dostcount(FILE *, short *, short);
extern short printparams(FILE *, objinstptr, short);
extern void printobjectparams(FILE *, objectptr);
extern void varcheck(FILE *, short, objectptr, short *, genericptr, u_char);
extern void varfcheck(FILE *, float, objectptr, short *, genericptr, u_char);
extern Boolean varpcheck(FILE *, short, objectptr, int, short *, genericptr, u_char);
extern Boolean varpathcheck(FILE *, short, objectptr, int, short *,
		genericptr *, pathptr, u_char);
extern void getfile(xcWidget, pointertype, caddr_t);
extern int filecmp(char *, char *);
extern Boolean nextfilename(void);
extern FILE *libopen(char *, short, char *, int);
extern void loadfontlib(void);
extern void loadglib(Boolean, short, short);
extern void loadulib(void);
extern void loadblib(void);
extern void getlib(xcWidget, caddr_t, caddr_t);
extern void getuserlib(xcWidget, caddr_t, caddr_t);
extern Boolean loadlibrary(short);
extern void startloadfile(int);
extern void normalloadfile(void);
extern void importfile(void);
extern Boolean loadfile(short, int);
extern void readlabel(objectptr, char *, stringpart **);
extern void readparams(objectptr, objinstptr, objectptr, char *);
extern u_char *find_match(u_char *);
extern char *advancetoken(char *);
extern char *varpscan(objectptr, char *, short *, genericptr, int, int, u_char);
extern char *varscan(objectptr, char *, short *, genericptr, u_char);
extern char *varfscan(objectptr, char *, float *, genericptr, u_char);
extern objinstptr addtoinstlist(int, objectptr, Boolean);
extern Boolean objectread(FILE *, objectptr, short, short, short, char *, int, TechPtr);
void importfromlibrary(short, char *, char *);
objectptr *new_library_object(short, char *, objlistptr *, TechPtr);
Boolean library_object_unique(short, objectptr, objlistptr);
void add_object_to_library(short, objectptr);
u_char *find_delimiter(u_char *);
char standard_delimiter_end(char);
void output_graphic_data(FILE *, short *);

extern Boolean CompareTechnology(objectptr, char *);
extern TechPtr LookupTechnology(char *);
extern TechPtr GetObjectTechnology(objectptr);
extern TechPtr AddNewTechnology(char *, char *);
extern void AddObjectTechnology(objectptr);
extern void TechReplaceSave();
extern void TechReplaceRestore();
extern void TechReplaceAll();
extern void TechReplaceNone();

#ifdef TCL_WRAPPER
extern void setfile(char *, int);
extern void savetemp(ClientData);
#else
extern void setfile(xcWidget, xcWidget, caddr_t);
extern void savetemp(XtPointer, xcIntervalId *);
#endif
extern void incr_changes(objectptr);
extern void savelibpopup(xcWidget, char *, caddr_t);
#ifndef TCL_WRAPPER
extern void savelibrary(xcWidget, char *);
#endif
extern void savetechnology(char *, char *);
extern void findfonts(objectptr, short *);
extern void savefile(short);
extern int printRGBvalues(char *, int, const char *);
extern char *nosprint(char *, int *, int *);
extern FILE *fileopen(char *, char *, char *, int);
extern Boolean xc_tilde_expand(char *, int);
extern Boolean xc_variable_expand(char *, int);
extern short writelabel(FILE *, stringpart *, short *);
extern char *writesegment(stringpart *, float *, int *, int *, int *);
extern int writelabelsegs(FILE *, short *, stringpart *);
extern void printobjects(FILE *, objectptr, objectptr **, short *, int);
extern void printrefobjects(FILE *, objectptr, objectptr **, short *);
extern void printpageobject(FILE *, objectptr, short, short);


/* from fontfile.c: */

extern FILE *findfontfile(char *);
extern int loadfontfile(char *);

/* from formats.c: */

extern void loadlgf(int);
extern void loadmat4(caddr_t);

/* from functions.c: */

extern long sqwirelen(XPoint *, XPoint *);
extern float fsqwirelen(XfPoint *, XfPoint *);
extern int wirelength(XPoint *, XPoint *);
extern long finddist(XPoint *,XPoint *, XPoint *);
extern void calcarc(arcptr);
extern void decomposearc(pathptr);
extern void initsplines(void);
extern void computecoeffs(splineptr, float *, float *, float *, float *,
                          float *, float *);
extern void calcspline(splineptr);
extern void findsplinepos(splineptr, float, XPoint *, int *);
extern void ffindsplinepos(splineptr, float, XfPoint *);
extern float findsplinemin(splineptr, XPoint *);
extern short closepoint(polyptr, XPoint *);
extern short closedistance(polyptr, XPoint *);
extern void updateinstparam(objectptr);
extern short checkbounds(void);
extern void window_to_user(short, short, XPoint *);
extern void user_to_window(XPoint, XPoint *);

extern float UTopScale(void);
extern float UTopTransScale(float);
extern float UTopDrawingScale(void);
extern int UTopRotation(void);
extern void UTopOffset(int *, int *);
extern void UTopDrawingOffset(int *, int *);

extern XPoint UGetCursor(void);
extern XPoint UGetCursorPos(void);
extern void u2u_snap(XPoint *);
extern void snap(short, short, XPoint *);
extern void UResetCTM(Matrix *);
extern void InvertCTM(Matrix *);
extern void UCopyCTM(Matrix *, Matrix *);
extern void UMakeWCTM(Matrix *);
extern void UMultCTM(Matrix *, XPoint, float, short);
extern void USlantCTM(Matrix *, float);
extern void UPreScaleCTM(Matrix *);
extern short flipadjust(short);
extern void UPreMultCTM(Matrix *, XPoint, float, short);
extern void UPreMultCTMbyMat(Matrix *, Matrix *);
extern void UTransformbyCTM(Matrix *, XPoint *, XPoint *, short);
extern void UfTransformbyCTM(Matrix *, XfPoint *, XPoint *, short);
extern void UPopCTM(void);
extern void UPushCTM(void);
extern void UTransformPoints(XPoint *, XPoint *, short, XPoint, float,
                             short);
extern void InvTransformPoints(XPoint *, XPoint *, short, XPoint, float,
                             short);
extern void manhattanize(XPoint *, polyptr, short, Boolean);
extern void bboxcalc(short, short *, short *);
extern void calcextents(genericptr *, short *, short *, short *, short *);
extern void objinstbbox(objinstptr, XPoint *, int);
extern void labelbbox(labelptr, XPoint *, objinstptr);
extern void graphicbbox(graphicptr, XPoint *);
extern void calcinstbbox(genericptr *, short *, short *, short *, short *);
extern void calcbboxsingle(genericptr *, objinstptr, short *, short *, short *, short *);
extern Boolean object_in_library(short, objectptr);
extern void calcbboxinst(objinstptr);
extern short find_object(objectptr, objectptr);
extern void updatepagebounds(objectptr);
extern void calcbbox(objinstptr);
extern void calcbboxparam(objectptr, int);
extern void singlebbox(genericptr *);
extern void calcbboxselect(void);
extern void calcbboxvalues(objinstptr, genericptr *);
extern void centerview(objinstptr);
extern void refresh(xcWidget, caddr_t, caddr_t);
extern void zoomview(xcWidget, caddr_t, caddr_t);
extern void UDrawSimpleLine(XPoint *, XPoint *);
extern void UDrawLine(XPoint *, XPoint *);
extern void UDrawCircle(XPoint *, u_char);
extern void UDrawX(labelptr);
extern void UDrawXDown(labelptr);
extern int  toplevelwidth(objinstptr, short *);
extern int  toplevelheight(objinstptr, short *);
extern void extendschembbox(objinstptr, XPoint *, XPoint *);
extern void pinadjust(short, short *, short *, short);
extern void UDrawTextLine(labelptr, short);
extern void UDrawTLine(labelptr);
extern void UDrawXLine(XPoint, XPoint);
extern void UDrawBox(XPoint, XPoint);
extern float UDrawRescaleBox(XPoint *);
extern void UDrawBBox(void);
extern void strokepath(XPoint *, short, short, float);
extern void makesplinepath(splineptr, XPoint *);
extern void UDrawSpline(splineptr, float);
extern void UDrawPolygon(polyptr, float);
extern void UDrawArc(arcptr, float);
extern void UDrawPath(pathptr, float);
extern void UDrawObject(objinstptr, short, int, float, pushlistptr *);
extern void TopDoLatex(void);

/* from help.c: */

extern void showhsb(xcWidget, caddr_t, caddr_t);
extern void printhelppix(void);
extern void starthelp(xcWidget, caddr_t, caddr_t);
extern void simplescroll(xcWidget, xcWidget, XPointerMovedEvent *);
extern void exposehelp(xcWidget, caddr_t, caddr_t);
extern void printhelp(xcWidget);

/* from keybindings.c */

extern int firstbinding(xcWidget, int);
extern Boolean ismacro(xcWidget, int);
extern int boundfunction(xcWidget, int, short *);
extern int string_to_func(const char *, short *);
extern int string_to_key(const char *);
extern char *function_binding_to_string(xcWidget, int);
extern char *key_binding_to_string(xcWidget, int);
extern char *compat_key_to_string(xcWidget, int);
extern char *func_to_string(int);
extern char *key_to_string(int);
extern void printeditbindings(void);
extern int add_vbinding(xcWidget, int, int, short);
extern int add_binding(xcWidget, int, int);
extern int add_keybinding(xcWidget, const char *, const char *);
extern void default_keybindings(void);
extern int remove_binding(xcWidget, int, int);
extern void remove_keybinding(xcWidget, const char *, const char *);

#ifndef TCL_WRAPPER
extern void mode_rebinding(int, int);
extern void mode_tempbinding(int, int);
#endif

/* from libraries.c: */

extern short findhelvetica(void);
extern void catreturn(void);
extern int pageposition(short, int, int, int);
extern short pagelinks(int);
extern short *pagetotals(int, short);
extern Boolean is_virtual(objinstptr);
extern int is_page(objectptr);
extern int is_library(objectptr);
extern int NameToLibrary(char *);
extern void tech_set_changes(TechPtr);
extern void tech_mark_changed(TechPtr);
extern int libfindobject(objectptr, int *);
extern int libmoveobject(objectptr, int);
extern void pagecat_op(int, int, int);
extern void pageinstpos(short, short, objinstptr, int, int, int, int);
extern objinstptr newpageinst(objectptr);
extern void computespacing(short, int *, int *, int *, int *);
extern void composepagelib(short);
extern void updatepagelib(short, short);
extern void pagecatmove(int, int);
extern void composelib(short);
extern short finddepend(objinstptr, objectptr **);
extern void cathide(void);
extern void catvirtualcopy(void);
extern void catdelete(void);
extern void catmove(int, int);
extern void copycat(void);
extern void catalog_op(int, int, int);
extern void changecat(void);
extern void startcatalog(xcWidget, pointertype, caddr_t);

/* from menucalls.c: */

extern void setgrid(xcWidget, float *);
extern void measurestr(float, char *);
extern void setwidth(xcWidget, float *);
extern void changetextscale(float);
extern void autoscale(int);
extern float parseunits(char *);
extern Boolean setoutputpagesize(XPoint *);
extern void setkern(xcWidget, stringpart *);
extern void setdscale(xcWidget, XPoint *);
extern void setosize(xcWidget, objinstptr);
extern void setwwidth(xcWidget, void *);
#ifdef TCL_WRAPPER
extern void renamepage(short);
extern void renamelib(short);
extern void setcolormark(int);
extern void setallstylemarks(u_short);
#endif
extern labelptr gettextsize(float **);
extern void stringparam(xcWidget, caddr_t, caddr_t);
extern int setelementstyle(xcWidget, u_short, u_short);
extern void togglegrid(u_short);
extern void togglefontmark(int);
extern void setcolorscheme(Boolean);
extern void getgridtype(xcWidget, pointertype, caddr_t);
extern void newlibrary(xcWidget, caddr_t, caddr_t);
extern int createlibrary(Boolean);
extern void makepagebutton(void);
extern int findemptylib(void);
extern polyptr checkforbbox(objectptr);
#ifdef TCL_WRAPPER
extern void setcolor(xcWidget, int);
extern void setfontmarks(short, short);
#endif
extern void startparam(xcWidget, pointertype, caddr_t);
extern void startunparam(xcWidget, pointertype, caddr_t);
extern void setdefaultfontmarks(void);
extern void setjustbit(xcWidget, pointertype, caddr_t);
extern void setpinjustbit(xcWidget, pointertype, caddr_t);
extern void setjust(xcWidget, pointertype, labelptr, short);
extern void setvjust(xcWidget, pointertype, caddr_t);
extern void sethjust(xcWidget, pointertype, caddr_t);
extern void boxedit(xcWidget, pointertype, caddr_t);
extern void locloadfont(xcWidget, char *);
extern short findbestfont(short, short, short, short);
extern void setfontval(xcWidget, pointertype, labelptr);
extern void setfont(xcWidget, pointertype, caddr_t);
extern void setfontstyle(xcWidget, pointertype, labelptr);
extern void fontstyle(xcWidget, pointertype, caddr_t);
extern void setfontencoding(xcWidget, pointertype, labelptr);
extern void fontencoding(xcWidget, pointertype, caddr_t);
extern void addtotext(xcWidget, pointertype, caddr_t);
extern Boolean dospecial(void);

/* from xtfuncs.c: */

extern void makenewfontbutton(void);  /* either here or menucalls.c */
#ifndef TCL_WRAPPER
extern void setfloat(xcWidget, float *);
extern void autoset(xcWidget, xcWidgetList, caddr_t);
extern void autostop(xcWidget, caddr_t, caddr_t);
extern void togglegridstyles(xcWidget);
extern void togglejustifs(xcWidget);
extern void togglefontstyles(xcWidget);
extern void toggleencodings(xcWidget);
extern void getkern(xcWidget, caddr_t, caddr_t);
extern void setcolor(xcWidget, pointertype, caddr_t);
extern void setfill(xcWidget, pointertype, caddr_t);
extern void makebbox(xcWidget, pointertype, caddr_t);
extern void setclosure(xcWidget, pointertype, caddr_t);
extern void setopaque(xcWidget, pointertype, caddr_t);
extern void setline(xcWidget, pointertype, caddr_t);
extern void changetool(xcWidget, pointertype, caddr_t);
extern void exec_or_changetool(xcWidget, pointertype, caddr_t);
extern void rotatetool(xcWidget, pointertype, caddr_t);
extern void pantool(xcWidget, pointertype, caddr_t);
extern void toggleexcl(xcWidget, menuptr, int);
extern void highlightexcl(xcWidget, int, int);
extern void toolcursor(int);
extern void promptparam(xcWidget, caddr_t, caddr_t);
extern void gettsize(xcWidget, caddr_t, caddr_t);
extern void settsize(xcWidget, labelptr);
extern void dotoolbar(xcWidget, caddr_t, caddr_t);
extern void overdrawpixmap(xcWidget);
extern buttonsave *getgeneric(xcWidget, void (*getfunction)(), void *);
extern void getsnapspace(xcWidget, caddr_t, caddr_t);
extern void getgridspace(xcWidget, caddr_t, caddr_t);
extern void setscaley(xcWidget, float *);
extern void setscalex(xcWidget, float *);
extern void setorient(xcWidget, short *);
extern void setpmode(xcWidget, short *);
extern void setpagesize(xcWidget, XPoint *);
extern void getdscale(xcWidget, caddr_t, caddr_t);
extern void getosize(xcWidget, caddr_t, caddr_t);
extern void getwirewidth(xcWidget, caddr_t, caddr_t);
extern void getwwidth(xcWidget, caddr_t, caddr_t);
extern void getfloat(xcWidget, float *, caddr_t);
extern void setfilename(xcWidget, char **);
extern void setpagelabel(xcWidget, char *);
extern void makenewfontbutton(void);
extern void newpagemenu(xcWidget, pointertype, caddr_t);
extern void makenewencodingbutton(char *, char);
extern void toggle(xcWidget, pointertype, Boolean *);
extern void inversecolor(xcWidget, pointertype, caddr_t);
extern void setgridtype(char *);
extern void renamepage(short);
extern void renamelib(short);
extern void setcolormark(int);
extern void setallstylemarks(u_short);
extern void setnewcolor(xcWidget, caddr_t);
extern void addnewcolor(xcWidget, caddr_t, caddr_t);
extern void setfontmarks(short, short);
extern void position_popup(xcWidget, xcWidget);
extern void border_popup(xcWidget, caddr_t, caddr_t);
extern void color_popup(xcWidget, caddr_t, caddr_t);
extern void fill_popup(xcWidget, caddr_t, caddr_t);
extern void param_popup(xcWidget, caddr_t, caddr_t);
extern void addnewfont(xcWidget, caddr_t, caddr_t);
#endif

/* from netlist.c: */

#ifdef TCL_WRAPPER
extern Tcl_Obj *tclglobals(objinstptr);
extern Tcl_Obj *tcltoplevel(objinstptr);
void ratsnest(objinstptr);
#endif

extern void ReferencePosition(objinstptr, XPoint *, XPoint *);
extern int NameToPinLocation(objinstptr, char *, int *, int *);
extern Boolean RemoveFromNetlist(objectptr, genericptr);
extern labelptr NetToLabel(int, objectptr);
extern void NameToPosition(objinstptr, labelptr, XPoint *);
extern XPoint *NetToPosition(int, objectptr);
extern int getsubnet(int, objectptr);
extern void invalidate_netlist(objectptr);
extern void remove_netlist_element(objectptr, genericptr);
extern int updatenets(objinstptr, Boolean);
extern void createnets(objinstptr, Boolean);
extern Boolean nonnetwork(polyptr);
extern int globalmax(void);
extern LabellistPtr geninfolist(objectptr, objinstptr, char *);
extern void gennetlist(objinstptr);
extern void gencalls(objectptr);
extern void search_on_siblings(objinstptr, objinstptr, pushlistptr,
		short, short, short, short);
extern char *GetHierarchy(pushlistptr *, Boolean);
extern Boolean HierNameToObject(objinstptr, char *, pushlistptr *);
extern void resolve_devindex(objectptr, Boolean);
extern void copy_bus(Genericlist *, Genericlist *);
extern Genericlist *is_resolved(genericptr *, pushlistptr, objectptr *);
extern Boolean highlightnet(objectptr, objinstptr, int, u_char);
extern void highlightnetlist(objectptr, objinstptr, u_char);
extern int pushnetwork(pushlistptr, objectptr);
extern Boolean match_buses(Genericlist *, Genericlist *, int);
extern int onsegment(XPoint *, XPoint *, XPoint *);
extern Boolean neardist(long);
extern Boolean nearpoint(XPoint *, XPoint *);
extern int searchconnect(XPoint *, int, objinstptr, int);
extern Genericlist *translateup(Genericlist *, objectptr, objectptr, objinstptr);
extern Genericlist *addpoly(objectptr, polyptr, Genericlist *);
extern long zsign(long, long);
extern Boolean mergenets(objectptr, Genericlist *, Genericlist *);
extern void removecall(objectptr, CalllistPtr);
extern Genericlist *addpin(objectptr, objinstptr, labelptr, Genericlist *);
extern Genericlist *addglobalpin(objectptr, objinstptr, labelptr, Genericlist *);
extern void addcall(objectptr, objectptr, objinstptr);
extern void addport(objectptr, Genericlist *);
extern Boolean addportcall(objectptr, Genericlist *, Genericlist *);
extern void makelocalpins(objectptr, CalllistPtr, char *);
extern int porttonet(objectptr, int);
extern stringpart *nettopin(int, objectptr, char *);
extern Genericlist *pointtonet(objectptr, objinstptr, XPoint *);
extern Genericlist *pintonet(objectptr, objinstptr, labelptr);
extern Genericlist *nametonet(objectptr, objinstptr, char *);
extern Genericlist *new_tmp_pin(objectptr, XPoint *, char *, char *, Genericlist *);
extern Genericlist *make_tmp_pin(objectptr, objinstptr, XPoint *, Genericlist *);
extern void resolve_devnames(objectptr);
extern void resolve_indices(objectptr, Boolean);
extern void clear_indices(objectptr);
extern void unnumber(objectptr);
extern char *parsepininfo(objinstptr, char *, int);
extern char *defaultpininfo(objinstptr, int);
extern char *parseinfo(objectptr, objectptr, CalllistPtr, char *, char *, Boolean,
		Boolean);
extern int writedevice(FILE *, char *, objectptr, CalllistPtr, char *);
extern void writeflat(objectptr, CalllistPtr, char *, FILE *, char *);
extern void writeglobals(objectptr, FILE *);
extern void writehierarchy(objectptr, objinstptr, CalllistPtr, FILE *, char *);
extern void writenet(objectptr, char *, char *);
extern Boolean writepcb(struct Ptab **, objectptr, CalllistPtr, char *, char *);
extern void outputpcb(struct Ptab *, FILE *);
extern void freepcb(struct Ptab *);
extern void freegenlist(Genericlist *);
extern void freepolylist(PolylistPtr *);
extern void freenetlist(objectptr);
extern void freelabellist(LabellistPtr *);
extern void freecalls(CalllistPtr);
extern void freenets(objectptr);
extern void freetemplabels(objectptr);
extern void freeglobals(void);
extern void destroynets(objectptr);
extern int  cleartraversed(objectptr);
extern int  checkvalid(objectptr);
extern void clearlocalpins(objectptr);
extern void append_included(char *);
extern Boolean check_included(char *);
extern void free_included(void);

/* from ngspice.c: */
extern int exit_spice(void);

/* from parameter.c: */ 

extern char *find_indirect_param(objinstptr, char *);
extern oparamptr match_param(objectptr, char *);
extern oparamptr match_instance_param(objinstptr, char *);
extern oparamptr find_param(objinstptr, char *);
extern int get_num_params(objectptr);
extern void free_all_eparams(genericptr);
extern void free_object_param(objectptr, oparamptr);
extern oparamptr free_instance_param(objinstptr, oparamptr);
extern void free_element_param(genericptr, eparamptr);

extern oparamptr make_new_parameter(char *);
extern eparamptr make_new_eparam(char *);

extern char *getnumericalpkey(u_int);
extern char *makeexprparam(objectptr, char *, char *, int);
extern Boolean makefloatparam(objectptr, char *, float);
extern Boolean makestringparam(objectptr, char *, stringpart *);
extern void std_eparam(genericptr, char *);
extern void indicateparams(genericptr);
extern void setparammarks(genericptr);
extern void makenumericalp(genericptr *, u_int, char *, short);
extern void noparmstrcpy(u_char *, u_char *);
extern void insertparam(void);
extern void makeparam(labelptr, char *);
extern void searchinst(objectptr, objectptr, char *);
extern stringpart *searchparam(stringpart *);
extern void unmakeparam(labelptr, stringpart *);
extern void removenumericalp(genericptr *, u_int);         
extern void unparameterize(int);
extern void parameterize(int, char *, short);
extern genericptr findparam(objectptr, void *, u_char);
extern Boolean paramcross(objectptr, labelptr);
extern oparamptr parampos(objectptr, labelptr, char *, short *, short *);
extern int opsubstitute(objectptr, objinstptr);
extern void exprsub(genericptr);
extern int epsubstitute(genericptr, objectptr, objinstptr, Boolean *);
extern int psubstitute(objinstptr);
extern Boolean has_param(genericptr);
extern oparamptr copyparameter(oparamptr);
extern eparamptr copyeparam(eparamptr, genericptr);

extern void pwriteback(objinstptr);
extern short paramlen(u_char *);
extern int natstrlen(u_char *);
extern int natstrcmp(u_char *, u_char *);
extern void curtail(u_char *);
extern int checklibtop(void);
extern void removeinst(objinstptr);
extern void removeparams(objectptr);
extern void resolveparams(objinstptr);

/* from python.c: */

#ifdef HAVE_PYTHON
extern int python_key_command(int);
extern void init_interpreter(void);
extern void exit_interpreter(void);
#endif

#ifdef HAVE_XPM
extern xcWidget *pytoolbuttons(int *);
#endif

/* from rcfile.c: */

extern short execcommand(short, char *);
extern void defaultscript(void);
extern void execscript(void);
extern void loadrcfile(void);
#ifndef HAVE_PYTHON
extern short readcommand(short, FILE *);
#endif

/* from graphic.c */

extern void count_graphics(objectptr, short *);
extern void UDrawGraphic(graphicptr);
extern Imagedata *addnewimage(char *, int, int);
extern graphicptr new_graphic(objinstptr, char *, int, int);
extern graphicptr gradient_field(objinstptr, int, int, int, int);
extern void invalidate_graphics(objectptr);
extern void freegraphic(graphicptr);
extern short *collect_graphics(short *);

/* from flate.c */

#ifdef HAVE_LIBZ
extern u_long large_deflate(u_char *, u_long, u_char *, u_long);
extern u_long large_inflate(u_char *, u_long, u_char **, u_long);
extern unsigned long ps_deflate (unsigned char *, unsigned long,
	unsigned char *, unsigned long);
extern unsigned long ps_inflate (unsigned char *, unsigned long,
	unsigned char **, unsigned long);
#endif

/* from render.c: */

extern void ghostinit(void);
extern void send_client(Atom);
extern void ask_for_next(void);
extern void start_gs(void);
extern void parse_bg(FILE *, FILE *);
extern void bg_get_bbox(void);
extern void backgroundbbox(int);
extern void readbackground(FILE *);
extern void savebackground(FILE *, char *);
extern void register_bg(char *);
extern void loadbackground(void);
extern void send_to_gs(char *);
extern int renderbackground(void);
extern int copybackground(void);
extern int exit_gs(void);
extern int reset_gs(void);

#ifndef TCL_WRAPPER
extern Boolean render_client(XEvent *);
#endif

/* from schema.c: */

extern objectptr NameToPageObject(char *, objinstptr *, int *);
extern objectptr NameToObject(char *, objinstptr *, Boolean);
extern int checkpagename(objectptr);
extern void callwritenet(xcWidget, pointertype, caddr_t);
extern void startconnect(xcWidget, caddr_t, caddr_t);
extern void connectivity(xcWidget, caddr_t, caddr_t);
extern Boolean setobjecttype(objectptr);
extern void pinconvert(labelptr, pointertype);
extern void dopintype(xcWidget, pointertype, caddr_t);
extern void setsymschem(void);
extern int findpageobj(objectptr);
extern void collectsubschems(int);
extern int findsubschems(int, objectptr, int, short *, Boolean);
extern void copypinlabel(labelptr);
extern int checkschem(objectptr, char *);
extern int checksym(objectptr, char *);
extern int changeotherpins(labelptr, stringpart *);
extern void swapschem(int, int, char *);
extern void dobeforeswap(xcWidget, caddr_t, caddr_t);
extern void schemdisassoc(void);
extern void startschemassoc(xcWidget, pointertype, caddr_t);
extern Boolean schemassoc(objectptr, objectptr);
#ifndef TCL_WRAPPER
extern void xlib_swapschem(xcWidget, pointertype, caddr_t);
#endif

/* from selection.c: */

extern void enable_selects(objectptr, short *, int);
extern void disable_selects(objectptr, short *, int);
extern void selectfilter(xcWidget, pointertype, caddr_t);
extern Boolean checkselect(short);
extern Boolean checkselect_draw(short, Boolean);
extern void geneasydraw(short, int, objectptr, objinstptr);
extern void gendrawselected(short *, objectptr, objinstptr);
extern selection *genselectelement(short, u_char, objectptr, objinstptr);
extern short *allocselect(void);
extern void setoptionmenu(void);
extern int test_insideness(int, int, XPoint *);
extern Boolean pathselect(genericptr *, short, float);
extern Boolean areaelement(genericptr *, XPoint *, Boolean, short);
extern Boolean selectarea(objectptr, XPoint *, short);
extern void startdesel(xcWidget, caddr_t, caddr_t);
extern void deselect(xcWidget, caddr_t, caddr_t);
extern void draw_normal_selected(objectptr, objinstptr);
extern void freeselects(void);
extern void draw_all_selected(void);
extern void clearselects_noundo(void);
extern void clearselects(void);
extern void unselect_all(void);
extern void select_connected_pins();
extern void reset_cycles();
extern selection *recurselect(short, u_char, pushlistptr *);
extern short *recurse_select_element(short, u_char);
extern void startselect(void);
extern void trackselarea(void);
extern void trackrescale(void);
extern Boolean compareselection(selection *, selection *);
extern pointselect *addcycle(genericptr *, short, u_char);
extern void addanticycle(pathptr, splineptr, short);
extern void copycycles(pointselect **, pointselect **);
extern void advancecycle(genericptr *, short);
extern void removecycle(genericptr *);
extern void removeothercycles(pathptr, genericptr);
extern Boolean checkforcycles(short *, int);
extern void makerefcycle(pointselect *, short);

/* from text.c: */

extern Boolean hasparameter(labelptr);
extern void joinlabels(void);
extern void drawparamlabels(labelptr, short);
extern stringpart *nextstringpart(stringpart *, objinstptr);
extern stringpart *nextstringpartrecompute(stringpart *, objinstptr);
extern stringpart *makesegment(stringpart **, stringpart *);
extern stringpart *splitstring(int, stringpart **, objinstptr);
extern stringpart *mergestring(stringpart *);
extern stringpart *linkstring(objinstptr, stringpart *, Boolean);
extern int findcurfont(int, stringpart *, objinstptr);
extern stringpart *findtextinstring(char *, int *, stringpart *, objinstptr);
extern stringpart *findstringpart(int, int *, stringpart *, objinstptr);
extern void charprint(char *, stringpart *, int);
extern void charprinttex(char *, stringpart *, int);
extern char *stringprint(stringpart *, objinstptr);
extern char *textprint(stringpart *, objinstptr);
extern char *textprinttex(stringpart *, objinstptr);
extern char *textprintsubnet(stringpart *, objinstptr, int);
extern char *textprintnet(char *, char *, Genericlist *);
extern int textcomp(stringpart *, char *, objinstptr);
extern int textncomp(stringpart *, char *, objinstptr);
extern int stringcomp(stringpart *, stringpart *);
extern Boolean issymbolfont(int);
extern Boolean issansfont(int);
extern Boolean isisolatin1(int);
extern int stringcomprelaxed(stringpart *, stringpart *, objinstptr);
extern int stringparts(stringpart *);
extern int stringlength(stringpart *, Boolean, objinstptr);
extern stringpart *stringcopy(stringpart *);
extern stringpart *stringcopyall(stringpart *, objinstptr);
extern stringpart *stringcopyback(stringpart *, objinstptr);
extern stringpart *deletestring(stringpart *, stringpart **, objinstptr);
extern Genericlist *break_up_bus(labelptr, objinstptr, Genericlist *);
extern int sub_bus_idx(labelptr, objinstptr);
extern Boolean pin_is_bus(labelptr, objinstptr);
extern int find_cardinal(int, labelptr, objinstptr);
extern int find_ordinal(int, labelptr, objinstptr);

extern short UDrawChar(u_char, short, short, int, int, float);
extern void UDrawString(labelptr, int, objinstptr);
extern void UDrawStringNoX(labelptr, int, objinstptr);
extern void CheckMarginStop(labelptr, objinstptr, Boolean);
extern TextExtents ULength(labelptr, objinstptr, short, XPoint *);
extern void undrawtext(labelptr);
extern void redrawtext(labelptr);
extern void composefontlib(short);
extern void fontcat_op(int, int, int);

/* from xcircuit.c: */

extern void Wprintf(char *, ...);
extern void W1printf(char *, ...);
extern void W2printf(char *, ...);
extern void W3printf(char *, ...);

extern XCWindowData *create_new_window(void);
extern void pre_initialize(void);
extern void post_initialize(void);
extern void delete_window(XCWindowDataPtr);
extern void printeventmode(void);
extern void popupprompt(xcWidget, char *, char *, void (*function)(),
                        buttonsave *, const char *);
extern void getproptext(xcWidget, propstruct *, caddr_t);
extern int rgb_alloccolor(int, int, int);
extern void addtocolorlist(xcWidget, int);
extern int addnewcolorentry(int);
extern int xc_getlayoutcolor(int);
extern int query_named_color(char *);
extern caddr_t CvtStringToPixel(XrmValuePtr, int *, XrmValuePtr, XrmValuePtr);
extern void outputpopup(xcWidget, caddr_t, caddr_t);
extern void docommand(void);
extern int  installowncmap(void);  /* sometimes from xtgui.c */
extern void destroypopup(xcWidget, popupstruct *, caddr_t);
extern int xc_alloccolor(char *);
extern void dointr(int);
extern void DoNothing(xcWidget, caddr_t, caddr_t);
extern u_short countchanges(char **);
extern u_short getchanges(objectptr);
extern void quitcheck(xcWidget, caddr_t, caddr_t);
extern void quit(xcWidget, caddr_t);
extern void resizetoolbar(void);
extern void writescalevalues(char *, char *, char *);
#ifdef TCL_WRAPPER
extern Tcl_Obj *Tcl_NewHandleObj(void *);
extern int Tcl_GetHandleFromObj(Tcl_Interp *, Tcl_Obj *, void **);
#else
extern void updatetext(xcWidget, xcWidgetList, caddr_t);
extern void delwin(xcWidget, popupstruct *, XClientMessageEvent *);
#endif


extern void makecursors(void);