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