]> mj.ucw.cz Git - pciutils.git/blobdiff - pciutils.h
lspci: Fix Virtual Channel VC# Caps: MaxTimeSlots
[pciutils.git] / pciutils.h
index f46f2b4d97f0576aaa58f20111248d6381bf7de8..17e02c9bb82db78eedab52c5540d5378b1db10a3 100644 (file)
@@ -1,57 +1,61 @@
 /*
- *     $Id: pciutils.h,v 1.8 1998/07/17 08:57:20 mj Exp $
+ *     The PCI Utilities -- Declarations
  *
- *     Linux PCI Utilities -- Declarations
- *
- *     Copyright (c) 1997, 1998 Martin Mares <mj@atrey.karlin.mff.cuni.cz>
+ *     Copyright (c) 1997--2018 Martin Mares <mj@ucw.cz>
  *
  *     Can be freely distributed and used under the terms of the GNU GPL.
  */
 
-#include <linux/types.h>
+#include "lib/pci.h"
+#include "lib/sysdep.h"
 
-#ifdef KERNEL_PCI_H
-#include <linux/pci.h>
-#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 <windef.h>
 #endif
 
-#define PCIUTILS_VERSION "1.07"
-
-#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 <getopt.h>
+ * 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 <unistd.h>
+#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);
-char *lookup_subsys_vendor(word);
-char *lookup_subsys_device(word, word);
-char *lookup_subsys_device_full(word, 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 <mode>\tUse direct hardware access (<mode> = 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 <file>\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 <method>\tUse the specified PCI access method (see `-A help' for a list)\n" \
+       "-O <par>=<val>\tSet PCI access parameter (see `-O help' for a list)\n" \
+       "-G\t\tEnable PCI access debugging\n" \
+       GENHELP_INTEL GENHELP_DUMP