winmm: Avoid explicitly casting the pointer returned from Heap(Re)Alloc.
[wine.git] / programs / dxdiag / dxdiag_private.h
blob8d76c0ef6772f250fa904bd93e3e6b332b42d369
1 /*
2 * Private definitions for the DirectX Diagnostic Tool
4 * Copyright 2011 Andrew Nguyen
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #include <windef.h>
22 #include <winuser.h>
24 /* Resource definitions. */
25 #define MAX_STRING_LEN 1024
27 #define STRING_DXDIAG_TOOL 101
28 #define STRING_USAGE 102
30 /* Information collection definitions. */
31 struct system_information
33 WCHAR *szTimeEnglish;
34 WCHAR *szTimeLocalized;
35 WCHAR *szMachineNameEnglish;
36 WCHAR *szOSExLongEnglish;
37 WCHAR *szOSExLocalized;
38 WCHAR *szLanguagesEnglish;
39 WCHAR *szLanguagesLocalized;
40 WCHAR *szSystemManufacturerEnglish;
41 WCHAR *szSystemModelEnglish;
42 WCHAR *szBIOSEnglish;
43 WCHAR *szProcessorEnglish;
44 WCHAR *szPhysicalMemoryEnglish;
45 WCHAR *szPageFileEnglish;
46 WCHAR *szPageFileLocalized;
47 WCHAR *szWindowsDir;
48 WCHAR *szDirectXVersionLongEnglish;
49 WCHAR *szSetupParamEnglish;
50 WCHAR *szDxDiagVersion;
51 BOOL win64;
54 struct dxdiag_information
56 struct system_information system_info;
59 struct dxdiag_information *collect_dxdiag_information(BOOL whql_check);
60 void free_dxdiag_information(struct dxdiag_information *dxdiag_info);
62 /* Output backend definitions. */
63 enum output_type
65 OUTPUT_NONE,
66 OUTPUT_TEXT,
67 OUTPUT_XML,
70 static inline const char *debugstr_output_type(enum output_type type)
72 switch (type)
74 case OUTPUT_NONE:
75 return "(none)";
76 case OUTPUT_TEXT:
77 return "Plain-text output";
78 case OUTPUT_XML:
79 return "XML output";
80 default:
81 return "(unknown)";
85 const WCHAR *get_output_extension(enum output_type type);
86 BOOL output_dxdiag_information(struct dxdiag_information *dxdiag_info, const WCHAR *filename, enum output_type type);