X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=pciutils.h;h=17e02c9bb82db78eedab52c5540d5378b1db10a3;hb=cac545f64e6f5863b430f5b94442b777aa7f1165;hp=b8daf71be504fbf6e6807db84df6fc65fc996c0d;hpb=4b88a6b8f908a806deacf3b1984854146b03bb57;p=pciutils.git diff --git a/pciutils.h b/pciutils.h index b8daf71..17e02c9 100644 --- a/pciutils.h +++ b/pciutils.h @@ -1,54 +1,61 @@ /* - * $Id: pciutils.h,v 1.5 1998/06/08 07:59:58 mj Exp $ + * The PCI Utilities -- Declarations * - * Linux PCI Utilities -- Declarations - * - * Copyright (c) 1997, 1998 Martin Mares + * Copyright (c) 1997--2018 Martin Mares * * Can be freely distributed and used under the terms of the GNU GPL. */ -#include +#include "lib/pci.h" +#include "lib/sysdep.h" -#ifdef KERNEL_PCI_H -#include -#else -#include "pci.h" +/* + * gcc predefines macro __MINGW32__ for all MinGW targets. + * Including some MinGW header (e.g. windef.h) defines additional + * macro __MINGW32_MAJOR_VERSION (available for all MinGW targets). + */ +#if defined(PCI_OS_WINDOWS) && defined(__MINGW32__) +#include #endif -#define PCIUTILS_VERSION "1.05" - -#define PROC_BUS_PCI "/proc/bus/pci" -#define ETC_PCI_IDS "/etc/pci.ids" - -/* Types */ - -typedef __u8 byte; -typedef __u16 word; -typedef __u32 u32; - -/* lspci.c */ - -void *xmalloc(unsigned int); - -/* names.c */ +/* + * On Windows only MinGW 3.0 and higher versions provides + * header file. Older MinGW versions and MSVC do not have it. + */ +#if defined(PCI_OS_WINDOWS) && !(defined(__MINGW32_MAJOR_VERSION) && __MINGW32_MAJOR_VERSION >= 3) +#include "compat/getopt.h" +#else +#include +#endif -extern int show_numeric_ids; -extern char *pci_ids; +#define PCIUTILS_VERSION PCILIB_VERSION -char *lookup_vendor(word); -char *lookup_device(word, word); -char *lookup_device_full(word, word); -char *lookup_class(word); +extern const char program_name[]; -/* filter.c */ +void die(char *msg, ...) NONRET PCI_PRINTF(1,2); +void *xmalloc(size_t howmuch); +void *xrealloc(void *ptr, size_t howmuch); +char *xstrdup(const char *str); +int parse_generic_option(int i, struct pci_access *pacc, char *arg); -struct pci_filter { - int bus, slot, func; /* -1 = ANY */ - int vendor, device; -}; +#ifdef PCI_HAVE_PM_INTEL_CONF +#define GENOPT_INTEL "H:" +#define GENHELP_INTEL "-H \tUse direct hardware access ( = 1 or 2)\n" +#else +#define GENOPT_INTEL +#define GENHELP_INTEL +#endif +#if defined(PCI_HAVE_PM_DUMP) && !defined(PCIUTILS_SETPCI) +#define GENOPT_DUMP "F:" +#define GENHELP_DUMP "-F \tRead PCI configuration dump from a given file\n" +#else +#define GENOPT_DUMP +#define GENHELP_DUMP +#endif -void filter_init(struct pci_filter *); -char *filter_parse_slot(struct pci_filter *, char *); -char *filter_parse_id(struct pci_filter *, char *); -int filter_match(struct pci_filter *, byte bus, byte devfn, word vendid, word devid); +#define GENERIC_OPTIONS "A:GO:" GENOPT_INTEL GENOPT_DUMP +#define GENERIC_HELP \ + "-A \tUse the specified PCI access method (see `-A help' for a list)\n" \ + "-O =\tSet PCI access parameter (see `-O help' for a list)\n" \ + "-G\t\tEnable PCI access debugging\n" \ + GENHELP_INTEL GENHELP_DUMP