]>
| Commit | Line | Data |
|---|---|---|
| 1 | /* | |
| 2 | * The PCI Utilities -- Declarations | |
| 3 | * | |
| 4 | * Copyright (c) 1997--2018 Martin Mares <mj@ucw.cz> | |
| 5 | * | |
| 6 | * Can be freely distributed and used under the terms of the GNU GPL v2+ | |
| 7 | * | |
| 8 | * SPDX-License-Identifier: GPL-2.0-or-later | |
| 9 | */ | |
| 10 | ||
| 11 | #include "lib/pci.h" | |
| 12 | #include "lib/sysdep.h" | |
| 13 | #include "bitops.h" | |
| 14 | ||
| 15 | /* | |
| 16 | * gcc predefines macro __MINGW32__ for all MinGW targets. | |
| 17 | * Including some MinGW header (e.g. windef.h) defines additional | |
| 18 | * macro __MINGW32_MAJOR_VERSION (available for all MinGW targets). | |
| 19 | */ | |
| 20 | #if defined(PCI_OS_WINDOWS) && defined(__MINGW32__) | |
| 21 | #include <windef.h> | |
| 22 | #endif | |
| 23 | ||
| 24 | /* | |
| 25 | * On Windows only MinGW 3.0 and higher versions provides <getopt.h> | |
| 26 | * header file. Older MinGW versions and MSVC do not have it. | |
| 27 | * DJGPP does not provide <getopt.h>. | |
| 28 | */ | |
| 29 | #if defined(PCI_OS_DJGPP) || (defined(PCI_OS_WINDOWS) && !(defined(__MINGW32_MAJOR_VERSION) && __MINGW32_MAJOR_VERSION >= 3)) | |
| 30 | #include "compat/getopt.h" | |
| 31 | #else | |
| 32 | #include <getopt.h> | |
| 33 | #endif | |
| 34 | ||
| 35 | #define PCIUTILS_VERSION PCILIB_VERSION | |
| 36 | ||
| 37 | extern const char program_name[]; | |
| 38 | ||
| 39 | void die(char *msg, ...) NONRET PCI_PRINTF(1,2); | |
| 40 | void *xmalloc(size_t howmuch); | |
| 41 | void *xrealloc(void *ptr, size_t howmuch); | |
| 42 | char *xstrdup(const char *str); | |
| 43 | int parse_generic_option(int i, struct pci_access *pacc, char *arg); | |
| 44 | ||
| 45 | #ifdef PCI_HAVE_PM_INTEL_CONF | |
| 46 | #define GENOPT_INTEL "H:" | |
| 47 | #define GENHELP_INTEL "-H <mode>\tUse direct hardware access (<mode> = 1 or 2)\n" | |
| 48 | #else | |
| 49 | #define GENOPT_INTEL | |
| 50 | #define GENHELP_INTEL | |
| 51 | #endif | |
| 52 | #if defined(PCI_HAVE_PM_DUMP) && !defined(PCIUTILS_SETPCI) | |
| 53 | #define GENOPT_DUMP "F:" | |
| 54 | #define GENHELP_DUMP "-F <file>\tRead PCI configuration dump from a given file\n" | |
| 55 | #else | |
| 56 | #define GENOPT_DUMP | |
| 57 | #define GENHELP_DUMP | |
| 58 | #endif | |
| 59 | ||
| 60 | #define GENERIC_OPTIONS "A:GO:" GENOPT_INTEL GENOPT_DUMP | |
| 61 | #define GENERIC_HELP \ | |
| 62 | "-A <method>\tUse the specified PCI access method (see `-A help' for a list)\n" \ | |
| 63 | "-O <par>=<val>\tSet PCI access parameter (see `-O help' for a list)\n" \ | |
| 64 | "-G\t\tEnable PCI access debugging\n" \ | |
| 65 | GENHELP_INTEL GENHELP_DUMP |