]> mj.ucw.cz Git - pciutils.git/blobdiff - pciutils.h
libpci: hwdb: Remove ID_SUBSYSTEM and ID_GEN_SUBSYSTEM usage from pci_id_hwdb_lookup()
[pciutils.git] / pciutils.h
index 1f347a588d4398be3b7e11b264d29d65e0027363..020c02a1c668f92a6c7dd4761f5e61b0637680b4 100644 (file)
@@ -1,16 +1,35 @@
 /*
  *     The PCI Utilities -- Declarations
  *
- *     Copyright (c) 1997--2008 Martin Mares <mj@ucw.cz>
+ *     Copyright (c) 1997--2018 Martin Mares <mj@ucw.cz>
  *
- *     Can be freely distributed and used under the terms of the GNU GPL.
+ *     Can be freely distributed and used under the terms of the GNU GPL v2+
+ *
+ *     SPDX-License-Identifier: GPL-2.0-or-later
  */
 
 #include "lib/pci.h"
 #include "lib/sysdep.h"
+#include "bitops.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
 
-#ifdef PCI_OS_WINDOWS
+/*
+ * On Windows only MinGW 3.0 and higher versions provides <getopt.h>
+ * header file. Older MinGW versions and MSVC do not have it.
+ * DJGPP does not provide <getopt.h>.
+ */
+#if defined(PCI_OS_DJGPP) || (defined(PCI_OS_WINDOWS) && !(defined(__MINGW32_MAJOR_VERSION) && __MINGW32_MAJOR_VERSION >= 3))
 #include "compat/getopt.h"
+#else
+#include <getopt.h>
 #endif
 
 #define PCIUTILS_VERSION PCILIB_VERSION
 extern const char program_name[];
 
 void die(char *msg, ...) NONRET PCI_PRINTF(1,2);
-void *xmalloc(unsigned int howmuch);
-void *xrealloc(void *ptr, unsigned int howmuch);
-char *xstrdup(char *str);
-int parse_generic_option(int i, struct pci_access *pacc, char *optarg);
+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);
 
 #ifdef PCI_HAVE_PM_INTEL_CONF
 #define GENOPT_INTEL "H:"