pci_netbsd.c

来自「uclinux下mplayer的源码」· C语言 代码 · 共 68 行

C
68
字号
/*   This file is based on:   $XFree86: xc/programs/Xserver/hw/xfree86/etc/scanpci.c,v 3.34.2.17 1998/11/10 11:55:40 dawes Exp $   Modified for readability by Nick Kurshev*//* * Copyright 1995 by Robin Cutshaw <robin@XFree86.Org> * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the names of the above listed copyright holder(s) * not be used in advertising or publicity pertaining to distribution of * the software without specific, written prior permission.  The above listed * copyright holder(s) make(s) no representations about the suitability of this * software for any purpose.  It is provided "as is" without express or * implied warranty. * * THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM(S) ALL WARRANTIES WITH REGARD * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */#include <errno.h>#include <sys/param.h>#include <sys/file.h>#include <machine/sysarch.h>#ifndef GCCUSESGAS#define GCCUSESGAS#endifstatic int io_fd;static __inline__ int enable_os_io(void){    io_fd = -1 ;#if !defined(USE_I386_IOPL)    if ((io_fd = open("/dev/io", O_RDWR, 0)) < 0) {	perror("/dev/io");	return(errno);    }#else    if (i386_iopl(1) < 0) {	perror("i386_iopl");	return(errno);    }#endif /* USE_I386_IOPL */    return(0);}static __inline__ int disable_os_io(void){#if !defined(USE_I386_IOPL)    close(io_fd);#else    if (i386_iopl(0) < 0) {	perror("i386_iopl");	return(errno);    }#endif /* NetBSD1_1 */    return(0);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?