1 1.7 maya /* $NetBSD: libtos.h,v 1.7 2018/11/07 22:51:47 maya Exp $ */ 2 1.1 leo 3 1.1 leo /* 4 1.1 leo * Copyright (c) 1995 Waldi Ravens. 5 1.1 leo * All rights reserved. 6 1.1 leo * 7 1.1 leo * Redistribution and use in source and binary forms, with or without 8 1.1 leo * modification, are permitted provided that the following conditions 9 1.1 leo * are met: 10 1.1 leo * 1. Redistributions of source code must retain the above copyright 11 1.1 leo * notice, this list of conditions and the following disclaimer. 12 1.1 leo * 2. Redistributions in binary form must reproduce the above copyright 13 1.1 leo * notice, this list of conditions and the following disclaimer in the 14 1.1 leo * documentation and/or other materials provided with the distribution. 15 1.1 leo * 3. All advertising materials mentioning features or use of this software 16 1.1 leo * must display the following acknowledgement: 17 1.1 leo * This product includes software developed by Waldi Ravens. 18 1.1 leo * 4. The name of the author may not be used to endorse or promote products 19 1.1 leo * derived from this software without specific prior written permission. 20 1.1 leo * 21 1.1 leo * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 22 1.1 leo * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 23 1.1 leo * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 24 1.1 leo * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 25 1.1 leo * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 26 1.1 leo * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27 1.1 leo * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28 1.1 leo * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 1.1 leo * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 30 1.1 leo * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 1.1 leo */ 32 1.1 leo 33 1.3 leo #ifndef _LIBTOS_H 34 1.3 leo #define _LIBTOS_H 35 1.1 leo 36 1.1 leo #ifdef __STDC__ 37 1.1 leo #define PROTO(x) x 38 1.1 leo #define EXTERN 39 1.1 leo #else 40 1.1 leo #define PROTO(x) () 41 1.1 leo #define EXTERN extern 42 1.1 leo #endif 43 1.1 leo 44 1.1 leo #ifdef __GNUC__ 45 1.1 leo #if (__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 5)) 46 1.1 leo #define NORETURN __attribute__((noreturn)) 47 1.1 leo #else 48 1.1 leo #define NORETURN 49 1.1 leo #endif 50 1.1 leo #endif 51 1.1 leo 52 1.5 tsutsui #ifdef TOSTOOLS 53 1.1 leo #include <sys/types.h> 54 1.1 leo #include <stdarg.h> 55 1.5 tsutsui #define VA_LIST va_list 56 1.5 tsutsui #else 57 1.6 joerg #include <sys/stdarg.h> 58 1.6 joerg #define VA_LIST va_list 59 1.5 tsutsui #endif 60 1.4 leo 61 1.7 maya #ifndef __NetBSD__ 62 1.4 leo /* 63 1.4 leo * My TOS/MiNT installation does not define these (Leo 09/10/2001). 64 1.4 leo */ 65 1.4 leo typedef unsigned char u_int8_t; 66 1.4 leo typedef unsigned short u_int16_t; 67 1.4 leo typedef unsigned long u_int32_t; 68 1.7 maya #endif /* __NetBSD__ */ 69 1.1 leo 70 1.2 leo struct kparamb; 71 1.2 leo struct osdsc; 72 1.2 leo 73 1.2 leo EXTERN int aout_load PROTO((int, struct osdsc *, char **, int)); 74 1.1 leo EXTERN void bsd_startup PROTO((struct kparamb *)) NORETURN; 75 1.2 leo EXTERN int elf_load PROTO((int, struct osdsc *, char **, int)); 76 1.2 leo EXTERN int eprintf PROTO((char *, ...)); 77 1.2 leo EXTERN void error PROTO((int, char *, ...)); 78 1.2 leo EXTERN void fatal PROTO((int, char *, ...)) NORETURN; 79 1.1 leo EXTERN void init_toslib PROTO((char *)); 80 1.2 leo EXTERN int key_wait PROTO((char *)); 81 1.2 leo EXTERN void press_any_key PROTO((void)); 82 1.1 leo EXTERN void redirect_output PROTO((char *)); 83 1.2 leo EXTERN void set_wait_for_key PROTO((void)); 84 1.2 leo EXTERN void sys_info PROTO((struct osdsc *)); 85 1.5 tsutsui EXTERN int veprintf PROTO((char *, VA_LIST)); 86 1.1 leo EXTERN void xexit PROTO((int)) NORETURN; 87 1.1 leo EXTERN void * xmalloc PROTO((size_t)); 88 1.1 leo EXTERN void * xrealloc PROTO((void *, size_t)); 89 1.1 leo 90 1.3 leo #endif /* !_LIBTOS_H */ 91