POK
pci.h
1 /*
2  * POK header
3  *
4  * The following file is a part of the POK project. Any modification should
5  * made according to the POK licence. You CANNOT use this file or a part of
6  * this file is this part of a file for your own project
7  *
8  * For more information on the POK licence, please see our LICENCE FILE
9  *
10  * Please follow the coding guidelines described in doc/CODING_GUIDELINES
11  *
12  * Copyright (c) 2007-2009 POK team
13  *
14  * Created by laurent on Mon Jun 08 11:14:44 2009
15  */
16 
17 #ifdef POK_NEEDS_PCI
18 
19 # ifndef __POK_x86_PCI_H__
20 # define __POK_X86_PCI_H__
21 
22 # include <types.h>
23 # include <core/syscall.h>
24 
25 /*
26  * Structure to holds some device information
27  */
28 typedef struct
29 {
30  uint16_t bus;
31  uint16_t dev;
32  uint16_t fun;
33  uint16_t vendorid;
34  uint16_t deviceid;
35  uint16_t irq_line;
36  uint16_t io_range;
37  uint32_t bar[6];
38  uint32_t addr;
39  void* irq_handler;
40 } s_pci_device;
41 
42 pok_ret_t pci_register(s_pci_device* dev);
43 
44 # endif /* __POK_X86_PCI_H__ */
45 
46 #endif /* POK_NEEDS_PCI */