1129198Scognet/*	$NetBSD: blockio.h,v 1.2 2001/06/02 10:44:56 bjh21 Exp $	*/
2129198Scognet
3129198Scognet/*-
4129198Scognet * Copyright (c) 2001 Ben Harris
5129198Scognet * All rights reserved.
6129198Scognet *
7129198Scognet * Redistribution and use in source and binary forms, with or without
8129198Scognet * modification, are permitted provided that the following conditions
9129198Scognet * are met:
10129198Scognet * 1. Redistributions of source code must retain the above copyright
11129198Scognet *    notice, this list of conditions and the following disclaimer.
12129198Scognet * 2. Redistributions in binary form must reproduce the above copyright
13129198Scognet *    notice, this list of conditions and the following disclaimer in the
14129198Scognet *    documentation and/or other materials provided with the distribution.
15129198Scognet * 3. The name of the author may not be used to endorse or promote products
16129198Scognet *    derived from this software without specific prior written permission.
17236992Simp *
18129198Scognet * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19129198Scognet * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20129198Scognet * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21129198Scognet * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22129198Scognet * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23129198Scognet * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24129198Scognet * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25129198Scognet * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26129198Scognet * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27129198Scognet * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28129198Scognet *
29129198Scognet * $FreeBSD$
30129198Scognet *
31129198Scognet */
32129198Scognet/*
33129198Scognet * blockio.h - low level functions for bulk PIO data transfer
34129198Scognet */
35129198Scognet
36129198Scognet#ifndef _MACHINE_BLOCKIO_H_
37129198Scognet#define _MACHINE_BLOCKIO_H_
38129198Scognet
39129198Scognet/*
40129198Scognet * All these take three arguments:
41129198Scognet * I/O address
42129198Scognet * Memory address
43129198Scognet * Number of bytes to copy
44129198Scognet */
45129198Scognet
46129198Scognetvoid read_multi_1(u_int, void *, u_int);
47129198Scognetvoid write_multi_1(u_int, const void *, u_int);
48129198Scognet#define read_multi_2 insw16
49129198Scognet#define write_multi_2 outsw16
50129198Scognet
51129198Scognetvoid insw(u_int, void *, u_int);
52129198Scognetvoid outsw(u_int, void *, u_int);
53129198Scognetvoid insw16(u_int, void *, u_int);
54129198Scognetvoid outsw16(u_int, void *, u_int);
55129198Scognet
56129198Scognet#endif /* !_MACHINE_BLOCKIO_H_ */
57