Annotation of embedaddon/pciutils/lspci.h, revision 1.1.1.1
1.1 misho 1: /*
2: * The PCI Utilities -- List All PCI Devices
3: *
4: * Copyright (c) 1997--2010 Martin Mares <mj@ucw.cz>
5: *
6: * Can be freely distributed and used under the terms of the GNU GPL.
7: */
8:
9: #define PCIUTILS_LSPCI
10: #include "pciutils.h"
11:
12: /*
13: * If we aren't being compiled by GCC, use xmalloc() instead of alloca().
14: * This increases our memory footprint, but only slightly since we don't
15: * use alloca() much.
16: */
17: #if defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) || defined (__DragonFly__)
18: /* alloca() is defined in stdlib.h */
19: #elif defined(__GNUC__) && !defined(PCI_OS_WINDOWS)
20: #include <alloca.h>
21: #else
22: #undef alloca
23: #define alloca xmalloc
24: #endif
25:
26: /*** Options ***/
27:
28: extern int verbose;
29: extern struct pci_filter filter;
30: extern char *opt_pcimap;
31:
32: /*** PCI devices and access to their config space ***/
33:
34: struct device {
35: struct device *next;
36: struct pci_dev *dev;
37: unsigned int config_cached, config_bufsize;
38: byte *config; /* Cached configuration space data */
39: byte *present; /* Maps which configuration bytes are present */
40: };
41:
42: extern struct device *first_dev;
43: extern struct pci_access *pacc;
44:
45: struct device *scan_device(struct pci_dev *p);
46: void show_device(struct device *d);
47:
48: int config_fetch(struct device *d, unsigned int pos, unsigned int len);
49: u32 get_conf_long(struct device *d, unsigned int pos);
50: word get_conf_word(struct device *d, unsigned int pos);
51: byte get_conf_byte(struct device *d, unsigned int pos);
52:
53: void get_subid(struct device *d, word *subvp, word *subdp);
54:
55: /* Useful macros for decoding of bits and bit fields */
56:
57: #define FLAG(x,y) ((x & y) ? '+' : '-')
58: #define BITS(x,at,width) (((x) >> (at)) & ((1 << (width)) - 1))
59: #define TABLE(tab,x,buf) ((x) < sizeof(tab)/sizeof((tab)[0]) ? (tab)[x] : (sprintf((buf), "??%d", (x)), (buf)))
60:
61: /* ls-vpd.c */
62:
63: void cap_vpd(struct device *d);
64:
65: /* ls-caps.c */
66:
67: void show_caps(struct device *d);
68:
69: /* ls-ecaps.c */
70:
71: void show_ext_caps(struct device *d);
72:
73: /* ls-kernel.c */
74:
75: void show_kernel_machine(struct device *d UNUSED);
76: void show_kernel(struct device *d UNUSED);
77:
78: /* ls-tree.c */
79:
80: void show_forest(void);
81:
82: /* ls-map.c */
83:
84: void map_the_bus(void);
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>