externs2.h revision 91586
1101776Stjr/* $NetBSD: externs2.h,v 1.7 2001/05/28 12:40:38 lukem Exp $ */ 2129583Stjr 3101776Stjr/* 4101776Stjr * Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved. 5227753Stheraven * Copyright (c) 1994, 1995 Jochen Pohl 6227753Stheraven * All Rights Reserved. 7227753Stheraven * 8227753Stheraven * Redistribution and use in source and binary forms, with or without 9227753Stheraven * modification, are permitted provided that the following conditions 10101776Stjr * are met: 11101776Stjr * 1. Redistributions of source code must retain the above copyright 12101776Stjr * notice, this list of conditions and the following disclaimer. 13101776Stjr * 2. Redistributions in binary form must reproduce the above copyright 14101776Stjr * notice, this list of conditions and the following disclaimer in the 15101776Stjr * documentation and/or other materials provided with the distribution. 16101776Stjr * 3. All advertising materials mentioning features or use of this software 17101776Stjr * must display the following acknowledgement: 18101776Stjr * This product includes software developed by Jochen Pohl for 19101776Stjr * The NetBSD Project. 20101776Stjr * 4. The name of the author may not be used to endorse or promote products 21101776Stjr * derived from this software without specific prior written permission. 22101776Stjr * 23101776Stjr * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 24101776Stjr * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 25101776Stjr * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 26101776Stjr * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 27101776Stjr * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 28101776Stjr * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 29101776Stjr * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 30101776Stjr * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 31101776Stjr * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 32101776Stjr * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33101776Stjr */ 34101776Stjr 35101776Stjr/* 36101776Stjr * main.c 37149313Sstefanf */ 38101776Stjrextern int xflag; 39103523Stjrextern int uflag; 40101776Stjrextern int Cflag; 41101776Stjrextern const char *libname; 42101776Stjrextern int sflag; 43101776Stjrextern int tflag; 44132442Stjrextern int Hflag; 45227753Stheravenextern int hflag; 46101776Stjrextern int Fflag; 47103782Stjr 48103782Stjr 49103782Stjr/* 50101776Stjr * hash.c 51227753Stheraven */ 52101776Stjrextern void _inithash(hte_t ***); 53103523Stjrextern hte_t *_hsearch(hte_t **, const char *, int); 54103523Stjrextern void _forall(hte_t **, void (*)(hte_t *)); 55227753Stheravenextern void _destroyhash(hte_t **); 56101776Stjr 57103523Stjr#define inithash() _inithash(NULL); 58103782Stjr#define hsearch(a, b) _hsearch(NULL, (a), (b)) 59227753Stheraven#define forall(a) _forall(NULL, (a)) 60105234Stjr 61103782Stjr/* 62105234Stjr * read.c 63103523Stjr */ 64103677Stjrextern const char **fnames; 65103782Stjrextern type_t **tlst; 66103523Stjr 67103523Stjrextern void readfile(const char *); 68103782Stjrextern void mkstatic(hte_t *); 69103677Stjr 70103782Stjr/* 71103782Stjr * mem2.c 72103782Stjr */ 73103782Stjrextern void initmem(void); 74227753Stheravenextern void *xalloc(size_t); 75103782Stjr 76103782Stjr/* 77227753Stheraven * chk.c 78103782Stjr */ 79320942Skibextern void inittyp(void); 80103782Stjrextern void mainused(void); 81227753Stheravenextern void chkname(hte_t *); 82320942Skib 83103782Stjr/* 84103782Stjr * msg.c 85101776Stjr */ 86227753Stheravenextern void msg(int, ...); 87227753Stheravenextern const char *mkpos(pos_t *); 88227753Stheraven 89227753Stheraven/* 90227753Stheraven * emit2.c 91 */ 92extern void outlib(const char *); 93extern int addoutfile(short); 94