annotate fuhtark_test/include/winapi/fdi.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1500
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
1 /**
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
2 * This file has no copyright assigned and is placed in the Public Domain.
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
3 * This file is part of the w64 mingw-runtime package.
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
4 * No warranty is given; refer to the file DISCLAIMER within this package.
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
5 */
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
6 #ifndef INCLUDED_TYPES_FCI_FDI
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
7 #define INCLUDED_TYPES_FCI_FDI 1
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
8
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
9 #ifdef __cplusplus
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
10 extern "C" {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
11 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
12
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
13 #ifndef HUGE
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
14 #define HUGE
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
15 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
16
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
17 #ifndef FAR
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
18 #define FAR
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
19 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
20
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
21 #ifndef DIAMONDAPI
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
22 #define DIAMONDAPI __cdecl
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
23 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
24
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
25 #ifndef _WIN64
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
26 #include <pshpack4.h>
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
27 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
28
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
29 #ifndef BASETYPES
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
30 #define BASETYPES
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
31 typedef unsigned long ULONG;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
32 typedef ULONG *PULONG;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
33 typedef unsigned short USHORT;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
34 typedef USHORT *PUSHORT;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
35 typedef unsigned char UCHAR;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
36 typedef UCHAR *PUCHAR;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
37 typedef char *PSZ;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
38 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
39
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
40 #if !defined(_INC_WINDOWS) && !defined(_WINDOWS_)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
41 typedef int WINBOOL;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
42 typedef unsigned char BYTE;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
43 typedef unsigned int UINT;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
44 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
45
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
46 typedef unsigned long CHECKSUM;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
47
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
48 typedef unsigned long UOFF;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
49 typedef unsigned long COFF;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
50
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
51 #ifndef TRUE
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
52 #define TRUE 1
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
53 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
54
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
55 #ifndef FALSE
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
56 #define FALSE 0
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
57 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
58
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
59 #ifndef NULL
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
60 #define NULL 0
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
61 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
62
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
63 typedef struct {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
64 int erfOper;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
65 int erfType;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
66 WINBOOL fError;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
67 } ERF;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
68
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
69 typedef ERF *PERF;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
70
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
71 #define STATIC static
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
72
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
73 #define CB_MAX_CHUNK 32768U
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
74 #define CB_MAX_DISK 0x7fffffffL
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
75 #define CB_MAX_FILENAME 256
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
76 #define CB_MAX_CABINET_NAME 256
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
77 #define CB_MAX_CAB_PATH 256
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
78 #define CB_MAX_DISK_NAME 256
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
79
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
80 typedef unsigned short TCOMP;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
81
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
82 #define tcompMASK_TYPE 0x000F
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
83 #define tcompTYPE_NONE 0x0000
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
84 #define tcompTYPE_MSZIP 0x0001
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
85 #define tcompTYPE_QUANTUM 0x0002
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
86 #define tcompTYPE_LZX 0x0003
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
87 #define tcompBAD 0x000F
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
88
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
89 #define tcompMASK_LZX_WINDOW 0x1F00
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
90 #define tcompLZX_WINDOW_LO 0x0F00
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
91 #define tcompLZX_WINDOW_HI 0x1500
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
92 #define tcompSHIFT_LZX_WINDOW 8
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
93
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
94 #define tcompMASK_QUANTUM_LEVEL 0x00F0
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
95 #define tcompQUANTUM_LEVEL_LO 0x0010
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
96 #define tcompQUANTUM_LEVEL_HI 0x0070
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
97 #define tcompSHIFT_QUANTUM_LEVEL 4
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
98
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
99 #define tcompMASK_QUANTUM_MEM 0x1F00
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
100 #define tcompQUANTUM_MEM_LO 0x0A00
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
101 #define tcompQUANTUM_MEM_HI 0x1500
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
102 #define tcompSHIFT_QUANTUM_MEM 8
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
103
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
104 #define tcompMASK_RESERVED 0xE000
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
105 #define CompressionTypeFromTCOMP(tc) ((tc) & tcompMASK_TYPE)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
106 #define CompressionLevelFromTCOMP(tc) (((tc) & tcompMASK_QUANTUM_LEVEL) >> tcompSHIFT_QUANTUM_LEVEL)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
107 #define CompressionMemoryFromTCOMP(tc) (((tc) & tcompMASK_QUANTUM_MEM) >> tcompSHIFT_QUANTUM_MEM)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
108 #define TCOMPfromTypeLevelMemory(t,l,m) (((m) << tcompSHIFT_QUANTUM_MEM) | ((l) << tcompSHIFT_QUANTUM_LEVEL) | (t))
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
109 #define LZXCompressionWindowFromTCOMP(tc) (((tc) & tcompMASK_LZX_WINDOW) >> tcompSHIFT_LZX_WINDOW)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
110 #define TCOMPfromLZXWindow(w) (((w) << tcompSHIFT_LZX_WINDOW) | (tcompTYPE_LZX))
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
111
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
112 #ifndef _WIN64
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
113 #include <poppack.h>
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
114 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
115
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
116 #ifdef __cplusplus
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
117 }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
118 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
119 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
120
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
121 #include <basetsd.h>
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
122
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
123 #ifndef INCLUDED_FDI
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
124 #define INCLUDED_FDI 1
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
125
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
126 #ifdef __cplusplus
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
127 extern "C" {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
128 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
129
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
130 #ifndef _WIN64
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
131 #pragma pack(4)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
132 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
133
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
134 typedef enum {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
135 FDIERROR_NONE,FDIERROR_CABINET_NOT_FOUND,FDIERROR_NOT_A_CABINET,FDIERROR_UNKNOWN_CABINET_VERSION,FDIERROR_CORRUPT_CABINET,FDIERROR_ALLOC_FAIL,
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
136 FDIERROR_BAD_COMPR_TYPE,FDIERROR_MDI_FAIL,FDIERROR_TARGET_FILE,FDIERROR_RESERVE_MISMATCH,FDIERROR_WRONG_CABINET,FDIERROR_USER_ABORT
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
137 } FDIERROR;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
138
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
139 #ifndef _A_NAME_IS_UTF
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
140 #define _A_NAME_IS_UTF 0x80
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
141 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
142
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
143 #ifndef _A_EXEC
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
144 #define _A_EXEC 0x40
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
145 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
146
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
147 typedef void *HFDI;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
148
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
149 typedef struct {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
150 long cbCabinet;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
151 USHORT cFolders;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
152 USHORT cFiles;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
153 USHORT setID;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
154 USHORT iCabinet;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
155 WINBOOL fReserve;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
156 WINBOOL hasprev;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
157 WINBOOL hasnext;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
158 } FDICABINETINFO;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
159
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
160 typedef FDICABINETINFO *PFDICABINETINFO;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
161
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
162 typedef enum {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
163 fdidtNEW_CABINET,fdidtNEW_FOLDER,fdidtDECRYPT
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
164 } FDIDECRYPTTYPE;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
165
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
166 typedef struct {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
167 FDIDECRYPTTYPE fdidt;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
168 void *pvUser;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
169 __MINGW_EXTENSION union {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
170 struct {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
171 void *pHeaderReserve;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
172 USHORT cbHeaderReserve;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
173 USHORT setID;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
174 int iCabinet;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
175 } cabinet;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
176 struct {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
177 void *pFolderReserve;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
178 USHORT cbFolderReserve;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
179 USHORT iFolder;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
180 } folder;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
181
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
182 struct {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
183 void *pDataReserve;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
184 USHORT cbDataReserve;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
185 void *pbData;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
186 USHORT cbData;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
187 WINBOOL fSplit;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
188 USHORT cbPartial;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
189
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
190 } decrypt;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
191 };
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
192 } FDIDECRYPT;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
193
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
194 typedef FDIDECRYPT *PFDIDECRYPT;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
195
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
196 typedef void *(DIAMONDAPI *PFNALLOC)(ULONG cb);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
197 #define FNALLOC(fn) void *DIAMONDAPI fn(ULONG cb)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
198
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
199 typedef void (DIAMONDAPI *PFNFREE)(void *pv);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
200 #define FNFREE(fn) void DIAMONDAPI fn(void *pv)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
201
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
202 typedef INT_PTR (DIAMONDAPI *PFNOPEN) (char *pszFile,int oflag,int pmode);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
203 typedef UINT (DIAMONDAPI *PFNREAD) (INT_PTR hf,void *pv,UINT cb);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
204 typedef UINT (DIAMONDAPI *PFNWRITE)(INT_PTR hf,void *pv,UINT cb);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
205 typedef int (DIAMONDAPI *PFNCLOSE)(INT_PTR hf);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
206 typedef long (DIAMONDAPI *PFNSEEK) (INT_PTR hf,long dist,int seektype);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
207
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
208 #define FNOPEN(fn) INT_PTR DIAMONDAPI fn(char *pszFile,int oflag,int pmode)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
209 #define FNREAD(fn) UINT DIAMONDAPI fn(INT_PTR hf,void *pv,UINT cb)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
210 #define FNWRITE(fn) UINT DIAMONDAPI fn(INT_PTR hf,void *pv,UINT cb)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
211 #define FNCLOSE(fn) int DIAMONDAPI fn(INT_PTR hf)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
212 #define FNSEEK(fn) long DIAMONDAPI fn(INT_PTR hf,long dist,int seektype)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
213
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
214 typedef int (DIAMONDAPI *PFNFDIDECRYPT)(PFDIDECRYPT pfdid);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
215 #define FNFDIDECRYPT(fn) int DIAMONDAPI fn(PFDIDECRYPT pfdid)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
216
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
217 typedef struct {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
218 long cb;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
219 char *psz1;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
220 char *psz2;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
221 char *psz3;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
222 void *pv;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
223 INT_PTR hf;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
224 USHORT date;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
225 USHORT time;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
226 USHORT attribs;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
227 USHORT setID;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
228 USHORT iCabinet;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
229 USHORT iFolder;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
230 FDIERROR fdie;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
231 } FDINOTIFICATION,*PFDINOTIFICATION;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
232
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
233 typedef enum {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
234 fdintCABINET_INFO,fdintPARTIAL_FILE,fdintCOPY_FILE,fdintCLOSE_FILE_INFO,fdintNEXT_CABINET,fdintENUMERATE
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
235 } FDINOTIFICATIONTYPE;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
236
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
237 typedef INT_PTR (DIAMONDAPI *PFNFDINOTIFY)(FDINOTIFICATIONTYPE fdint,PFDINOTIFICATION pfdin);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
238
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
239 #define FNFDINOTIFY(fn) INT_PTR DIAMONDAPI fn(FDINOTIFICATIONTYPE fdint,PFDINOTIFICATION pfdin)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
240
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
241 #ifndef _WIN64
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
242 #pragma pack (1)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
243 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
244
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
245 typedef struct {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
246 char ach[2];
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
247 long cbFile;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
248 } FDISPILLFILE;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
249
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
250 typedef FDISPILLFILE *PFDISPILLFILE;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
251
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
252 #ifndef _WIN64
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
253 #pragma pack ()
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
254 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
255
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
256 #define cpuUNKNOWN (-1)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
257 #define cpu80286 (0)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
258 #define cpu80386 (1)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
259
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
260 HFDI DIAMONDAPI FDICreate(PFNALLOC pfnalloc,PFNFREE pfnfree,PFNOPEN pfnopen,PFNREAD pfnread,PFNWRITE pfnwrite,PFNCLOSE pfnclose,PFNSEEK pfnseek,int cpuType,PERF perf);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
261 WINBOOL DIAMONDAPI FDIIsCabinet(HFDI hfdi,INT_PTR hf,PFDICABINETINFO pfdici);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
262 WINBOOL DIAMONDAPI FDICopy(HFDI hfdi,char *pszCabinet,char *pszCabPath,int flags,PFNFDINOTIFY pfnfdin,PFNFDIDECRYPT pfnfdid,void *pvUser);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
263 WINBOOL DIAMONDAPI FDIDestroy(HFDI hfdi);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
264 WINBOOL DIAMONDAPI FDITruncateCabinet(HFDI hfdi,char *pszCabinetName,USHORT iFolderToDelete);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
265
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
266 #ifndef _WIN64
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
267 #pragma pack()
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
268 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
269
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
270 #ifdef __cplusplus
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
271 }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
272 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
273 #endif