2 * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
4 * @APPLE_LICENSE_HEADER_START@
6 * The contents of this file constitute Original Code as defined in and
7 * are subject to the Apple Public Source License Version 1.1 (the
8 * "License"). You may not use this file except in compliance with the
9 * License. Please obtain a copy of the License at
10 * http://www.apple.com/publicsource and read it before using this file.
12 * This Original Code and all software distributed under the License are
13 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17 * License for the specific language governing rights and limitations
20 * @APPLE_LICENSE_HEADER_END@
23 * @OSF_FREE_COPYRIGHT@
29 * Revision 1.2 1998/09/30 21:20:44 wsanchez
30 * Merged in IntelMerge1 (mburg: Intel support)
32 * Revision 1.1.2.1 1998/09/30 18:18:50 mburg
33 * Changes for Intel port
35 * Revision 1.1.1.1 1998/03/07 02:25:45 wsanchez
36 * Import of OSF Mach kernel (~mburg)
38 * Revision 1.1.6.2 1995/12/15 10:52:14 bernadat
39 * Split dev and vendor ids.
42 * Revision 1.1.6.1 1995/02/23 17:22:27 alanl
43 * Taken from DIPC2_SHARED
44 * [1995/01/03 19:09:31 alanl]
46 * Revision 1.1.2.1 1994/10/11 18:24:42 rwd
48 * [1994/10/11 18:15:31 rwd]
55 * Copyright (c) 1994 Wolfgang Stanglmeier, Koeln, Germany
56 * <wolf@dentaro.GUN.de>
59 #ifndef __PCI_DEVICE_H__
60 #define __PCI_DEVICE_H__
62 /*------------------------------------------------------------
64 * Per driver structure.
66 *------------------------------------------------------------
69 typedef unsigned short pci_vendor_id_t
;
70 typedef unsigned short pci_dev_id_t
;
76 unsigned char forward
;
82 int (*probe
)(pcici_t pci_ident
); /* test whether device
84 int (*attach
)(pcici_t pci_ident
); /* setup driver for a
86 pci_vendor_id_t vendor_id
; /* vendor pci id */
87 pci_dev_id_t device_id
; /* device pci id */
88 char *name
; /* device name */
89 char *vendor
; /* device long name */
90 void (*intr
)(int); /* interupt handler */
93 /*-----------------------------------------------------------
95 * Per device structure.
97 * It is initialized by the config utility and should live in
98 * "ioconf.c". At the moment there is only one field.
100 * This is a first attempt to include the pci bus to 386bsd.
101 * So this structure may grow ..
103 *-----------------------------------------------------------
107 struct pci_driver
* pd_driver
;
110 /*-----------------------------------------------------------
112 * This functions may be used by drivers to map devices
113 * to virtual and physical addresses. The va and pa
114 * addresses are "in/out" parameters. If they are 0
115 * on entry, the mapping function assigns an address.
117 *-----------------------------------------------------------
120 int pci_map_mem(pcici_t tag
,
124 #endif /*__PCI_DEVICE_H__*/