X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=pciutils.h;h=95c26e64f3d00e19c8b5424e65f3fd4112c3a290;hb=b6e558fb75b6e46b9a10d2b1e5c10c346b412331;hp=cb958cd8b9ba5b844f08624638c95b06d2e782a1;hpb=a27a33dde338ab9d809bebbade328559eaae733b;p=pciutils.git diff --git a/pciutils.h b/pciutils.h index cb958cd..95c26e6 100644 --- a/pciutils.h +++ b/pciutils.h @@ -1,55 +1,63 @@ /* - * $Id: pciutils.h,v 1.14 2002/03/30 15:39:24 mj Exp $ + * The PCI Utilities -- Declarations * - * Linux PCI Utilities -- Declarations + * Copyright (c) 1997--2018 Martin Mares * - * Copyright (c) 1997--1999 Martin Mares + * Can be freely distributed and used under the terms of the GNU GPL v2+ * - * Can be freely distributed and used under the terms of the GNU GPL. + * SPDX-License-Identifier: GPL-2.0-or-later */ #include "lib/pci.h" +#include "lib/sysdep.h" -#define PCIUTILS_VERSION PCILIB_VERSION - -#if !defined(__GNUC__) -#define __attribute__(x) -#define inline +/* + * 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 -void __attribute__((noreturn)) die(char *msg, ...); -void *xmalloc(unsigned int howmuch); -int parse_generic_option(int i, struct pci_access *pacc, char *optarg); - -#ifdef HAVE_PM_LINUX_PROC -#define GENOPT_PROC "P:" -#define GENHELP_PROC "-P \tUse specified directory instead of " PATH_PROC_BUS_PCI "\n" +/* + * 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 -#define GENOPT_PROC -#define GENHELP_PROC +#include #endif -#ifdef HAVE_PM_INTEL_CONF + +#define PCIUTILS_VERSION PCILIB_VERSION + +extern const char program_name[]; + +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); + +#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 -#ifdef HAVE_PM_SYSCALLS -#define GENOPT_SYSCALLS "S" -#define GENHELP_SYSCALLS "-S\t\tUse direct hardware access via syscalls\n" -#else -#define GENOPT_SYSCALLS -#define GENHELP_SYSCALLS -#endif -#ifdef HAVE_PM_DUMP +#if defined(PCI_HAVE_PM_DUMP) && !defined(PCIUTILS_SETPCI) #define GENOPT_DUMP "F:" -#define GENHELP_DUMP "-F \tRead configuration data from given file\n" +#define GENHELP_DUMP "-F \tRead PCI configuration dump from a given file\n" #else #define GENOPT_DUMP #define GENHELP_DUMP #endif -#define GENERIC_OPTIONS "G" GENOPT_PROC GENOPT_INTEL GENOPT_SYSCALLS GENOPT_DUMP -#define GENERIC_HELP GENHELP_PROC GENHELP_INTEL GENHELP_SYSCALLS GENHELP_DUMP \ - "-G\t\tEnable PCI access debugging\n" +#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