159874Speter/* $FreeBSD$ */ 228861Skato/* $NetBSD$ */ 3139743Simp/*- 428861Skato * [NetBSD for NEC PC98 series] 528861Skato * Copyright (c) 1996 NetBSD/pc98 porting staff. 628861Skato * All rights reserved. 728861Skato * 828861Skato * Redistribution and use in source and binary forms, with or without 928861Skato * modification, are permitted provided that the following conditions 1028861Skato * are met: 1128861Skato * 1. Redistributions of source code must retain the above copyright 1228861Skato * notice, this list of conditions and the following disclaimer. 1328861Skato * 2. Redistributions in binary form must reproduce the above copyright 1428861Skato * notice, this list of conditions and the following disclaimer in the 1528861Skato * documentation and/or other materials provided with the distribution. 1628861Skato * 3. The name of the author may not be used to endorse or promote products 1728861Skato * derived from this software without specific prior written permission. 1828861Skato * 1928861Skato * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 2028861Skato * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 2128861Skato * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 2228861Skato * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 2328861Skato * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 2428861Skato * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 2528861Skato * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2628861Skato * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 2728861Skato * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 2828861Skato * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 2928861Skato * POSSIBILITY OF SUCH DAMAGE. 3028861Skato */ 3128861Skato/* 3228861Skato * Copyright (c) 1996 Naofumi HONDA. All rights reserved. 3328861Skato */ 3428861Skato 35126928Speter#ifndef _COMPAT_NETBSD_DVCFG_H_ 36126928Speter#define _COMPAT_NETBSD_DVCFG_H_ 3728861Skato 3828861Skatotypedef void *dvcfg_hw_t; 3928861Skato 4028861Skatostruct dvcfg_hwsel { 4128861Skato int cfg_max; 4228861Skato 4328861Skato dvcfg_hw_t *cfg_sel; 4428861Skato}; 4528861Skato 4628861Skato#define DVCFG_MAJOR(dvcfg) (((u_int)(dvcfg)) >> 16) 4728861Skato#define DVCFG_MINOR(dvcfg) (((u_int)(dvcfg)) & 0xffff) 4828861Skato 4928861Skato#define DVCFG_MKCFG(major, minor) ((((u_int)(major)) << 16) | ((minor) & 0xffff)) 5028861Skato 5128861Skato#define DVCFG_HWSEL_SZ(array) (sizeof(array) / sizeof(dvcfg_hw_t)) 5228861Skato 5392761Salfredstatic __inline dvcfg_hw_t dvcfg_hw(struct dvcfg_hwsel *, u_int); 5428861Skato 5533044Sbdestatic __inline dvcfg_hw_t 5628861Skatodvcfg_hw(selp, num) 5728861Skato struct dvcfg_hwsel *selp; 5828861Skato u_int num; 5928861Skato{ 6028861Skato 6133044Sbde return ((num >= selp->cfg_max) ? 0 : selp->cfg_sel[num]); 6228861Skato} 6328861Skato 6428861Skato#define DVCFG_HW(SELP, NUM) dvcfg_hw((SELP), (NUM)) 65126928Speter#endif /* _COMPAT_NETBSD_DVCFG_H_ */ 66