176195Sbrian/*-
276195Sbrian * Copyright (c) 2001 Brian Somers <brian@Awfulhak.org>
378412Sbrian *   based on work by Slawa Olhovchenkov
478412Sbrian *                    John Prince <johnp@knight-trosoft.com>
578412Sbrian *                    Eric Hernes
676195Sbrian * All rights reserved.
776195Sbrian *
876195Sbrian * Redistribution and use in source and binary forms, with or without
976195Sbrian * modification, are permitted provided that the following conditions
1076195Sbrian * are met:
1176195Sbrian * 1. Redistributions of source code must retain the above copyright
1276195Sbrian *    notice, this list of conditions and the following disclaimer.
1376195Sbrian * 2. Redistributions in binary form must reproduce the above copyright
1476195Sbrian *    notice, this list of conditions and the following disclaimer in the
1576195Sbrian *    documentation and/or other materials provided with the distribution.
1676195Sbrian *
1776195Sbrian * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1876195Sbrian * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1976195Sbrian * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2076195Sbrian * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
2176195Sbrian * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2276195Sbrian * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2376195Sbrian * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2476195Sbrian * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2576195Sbrian * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2676195Sbrian * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2776195Sbrian * SUCH DAMAGE.
2876195Sbrian *
2976195Sbrian * $FreeBSD$
3076195Sbrian */
3176195Sbrian
3276195Sbrian/*
3376195Sbrian * A very small subset of cards.
3476195Sbrian */
3576705Sbrianenum digi_model {
3676195Sbrian	PCXE,
3776195Sbrian	PCXEVE,
3876195Sbrian	PCXI,
3976195Sbrian	PCXEM,
4076195Sbrian	PCCX,
4176195Sbrian	PCIEPCX,
4276195Sbrian	PCIXR
4376705Sbrian};
4476195Sbrian
4576195Sbrianenum {
4676195Sbrian	DIGIDB_INIT = (1<<0),
4776195Sbrian	DIGIDB_OPEN = (1<<1),
4876195Sbrian	DIGIDB_CLOSE = (1<<2),
4976195Sbrian	DIGIDB_SET = (1<<3),
5076195Sbrian	DIGIDB_INT = (1<<4),
5176195Sbrian	DIGIDB_READ = (1<<5),
5276195Sbrian	DIGIDB_WRITE = (1<<6),
5376195Sbrian	DIGIDB_RX = (1<<7),
5476195Sbrian	DIGIDB_TX = (1<<8),
5576195Sbrian	DIGIDB_IRQ = (1<<9),
5676195Sbrian	DIGIDB_MODEM = (1<<10),
5776195Sbrian	DIGIDB_RI = (1<<11),
5876195Sbrian};
5976195Sbrian
6078495Sbrian#define	DIGIIO_REINIT		_IO('e', 'A')
6178495Sbrian#define	DIGIIO_DEBUG		_IOW('e', 'B', int)
62162711Sru#define	DIGIIO_RING		_IOWINT('e', 'C')
6378495Sbrian#define	DIGIIO_MODEL		_IOR('e', 'D', enum digi_model)
6478495Sbrian#define	DIGIIO_IDENT		_IOW('e', 'E', char *)
6578495Sbrian#define	DIGIIO_SETALTPIN	_IOW('e', 'F', int)
6678495Sbrian#define	DIGIIO_GETALTPIN	_IOR('e', 'G', int)
67