155939Snsouch/*-
255939Snsouch * Copyright (c) 1999 Nicolas Souchu
355939Snsouch * All rights reserved.
455939Snsouch *
555939Snsouch * Redistribution and use in source and binary forms, with or without
655939Snsouch * modification, are permitted provided that the following conditions
755939Snsouch * are met:
855939Snsouch * 1. Redistributions of source code must retain the above copyright
955939Snsouch *    notice, this list of conditions and the following disclaimer.
1055939Snsouch * 2. Redistributions in binary form must reproduce the above copyright
1155939Snsouch *    notice, this list of conditions and the following disclaimer in the
1255939Snsouch *    documentation and/or other materials provided with the distribution.
1355939Snsouch *
1455939Snsouch * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1555939Snsouch * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1655939Snsouch * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1755939Snsouch * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1855939Snsouch * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1955939Snsouch * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2055939Snsouch * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2155939Snsouch * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2255939Snsouch * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2355939Snsouch * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2455939Snsouch * SUCH DAMAGE.
2555939Snsouch *
2655939Snsouch * $FreeBSD$
2755939Snsouch *
2855939Snsouch */
2955939Snsouch
3055939Snsouch#ifndef __PPBIO_H
3155939Snsouch#define __PPBIO_H
3255939Snsouch
3355939Snsouch/*
3455939Snsouch * Set of ppbus i/o routines callable from ppbus device drivers
3555939Snsouch */
3655939Snsouch
3755939Snsouch#define ppb_outsb_epp(dev,buf,cnt)					    \
3855939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_OUTSB_EPP, buf, cnt, 0))
3955939Snsouch#define ppb_outsw_epp(dev,buf,cnt)					    \
4055939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_OUTSW_EPP, buf, cnt, 0))
4155939Snsouch#define ppb_outsl_epp(dev,buf,cnt)					    \
4255939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_OUTSL_EPP, buf, cnt, 0))
4355939Snsouch
4455939Snsouch#define ppb_insb_epp(dev,buf,cnt)					    \
4555939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_INSB_EPP, buf, cnt, 0))
4655939Snsouch#define ppb_insw_epp(dev,buf,cnt)					    \
4755939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_INSW_EPP, buf, cnt, 0))
4855939Snsouch#define ppb_insl_epp(dev,buf,cnt)					    \
4955939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_INSL_EPP, buf, cnt, 0))
5055939Snsouch
5155939Snsouch#define ppb_repp_A(dev) 						    \
5255939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_REPP_A, 0, 0, 0))
5355939Snsouch#define ppb_repp_D(dev) 						    \
5455939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_REPP_D, 0, 0, 0))
5555939Snsouch#define ppb_recr(dev)						    	    \
5655939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_RECR, 0, 0, 0))
5755939Snsouch#define ppb_rfifo(dev)							    \
5855939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_RFIFO, 0, 0, 0))
5955939Snsouch
6055939Snsouch#define ppb_wepp_A(dev,byte)						    \
6155939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_WEPP_A, 0, 0, byte))
6255939Snsouch#define ppb_wepp_D(dev,byte)						    \
6355939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_WEPP_D, 0, 0, byte))
6455939Snsouch#define ppb_wecr(dev,byte)						    \
6555939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_WECR, 0, 0, byte))
6655939Snsouch#define ppb_wfifo(dev,byte)						    \
6755939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_WFIFO, 0, 0, byte))
6855939Snsouch
6955939Snsouch#define ppb_rdtr(dev)							    \
7055939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_RDTR, 0, 0, 0))
7155939Snsouch#define ppb_rstr(dev)							    \
7255939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_RSTR, 0, 0, 0))
7355939Snsouch#define ppb_rctr(dev)							    \
7455939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_RCTR, 0, 0, 0))
7555939Snsouch
7655939Snsouch#define ppb_wdtr(dev,byte)						    \
7755939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_WDTR, 0, 0, byte))
7855939Snsouch#define ppb_wstr(dev,byte)						    \
7955939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_WSTR, 0, 0, byte))
8055939Snsouch#define ppb_wctr(dev,byte)						    \
8155939Snsouch		(PPBUS_IO(device_get_parent(dev), PPB_WCTR, 0, 0, byte))
8255939Snsouch
8355939Snsouch#endif
84