1 /* $NetBSD: amigaio.h,v 1.3 1999/02/16 23:34:11 is Exp $ */ 2 3 /*- 4 * Copyright (c) 1996 The NetBSD Foundation, Inc. 5 * All rights reserved. 6 * 7 * This code is derived from software contributed to The NetBSD Foundation 8 * by Ignatios Souvatzis. 9 * 10 * Redistribution and use in source and binary forms, with or without 11 * modification, are permitted provided that the following conditions 12 * are met: 13 * 1. Redistributions of source code must retain the above copyright 14 * notice, this list of conditions and the following disclaimer. 15 * 2. Redistributions in binary form must reproduce the above copyright 16 * notice, this list of conditions and the following disclaimer in the 17 * documentation and/or other materials provided with the distribution. 18 * 3. All advertising materials mentioning features or use of this software 19 * must display the following acknowledgement: 20 * This product includes software developed by the NetBSD 21 * Foundation, Inc. and its contributors. 22 * 4. Neither the name of The NetBSD Foundation nor the names of its 23 * contributors may be used to endorse or promote products derived 24 * from this software without specific prior written permission. 25 * 26 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 27 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 28 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 29 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 30 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 33 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 34 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 35 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 36 * POSSIBILITY OF SUCH DAMAGE. 37 */ 38 39 /* 40 * This describes the IO parameter block used by many standard 41 * Amiga OS device drivers. 42 */ 43 #ifndef AMIGA_IO_H 44 #define AMIGA_IO_H 45 46 struct AmigaIO { 47 u_int8_t dum0[28]; 48 u_int16_t cmd; 49 u_int8_t flags; 50 int8_t err; 51 u_int32_t actual, /* transferred */ 52 length; /* please transfer this much */ 53 void *buf; /* data buffer */ 54 u_int32_t offset; /* offset for block devices */ 55 }; 56 57 struct TimerIO { 58 u_int8_t dum0[28]; 59 u_int16_t cmd; 60 u_int8_t flags; 61 int8_t err; 62 u_int32_t secs, 63 usec; 64 }; 65 66 /* flags */ 67 #define QuickIO 0x1 68 69 /* commands */ 70 #define Cmd_Rst 0x1 71 #define Cmd_Rd 0x2 72 #define Cmd_Wr 0x3 73 #define Cmd_Upd 0x4 74 #define Cmd_Clr 0x5 75 #define Cmd_Stp 0x6 76 #define Cmd_Strt 0x7 77 #define Cmd_Flsh 0x8 78 79 #define Cmd_Addtimereq 0x9 80 81 #endif /* AMIGA_IO_H */ 82