Annotation of embedaddon/pciutils/lspci.h, revision 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>