setupapi: Add stubs for CM_Locate_DevNodeA/W.
[wine/wine64.git] / dlls / sane.ds / sane_i.h
blobbadb4db980d0aec4fb68fa0a155278091d9f148e
1 /*
2 * Copyright 2000 Corel Corporation
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef _TWAIN32_H
20 #define _TWAIN32_H
22 #ifndef __WINE_CONFIG_H
23 # error You must include config.h first
24 #endif
26 #ifdef SONAME_LIBSANE
27 # include <sane/sane.h>
29 #define MAKE_FUNCPTR(f) typeof(f) * p##f;
30 MAKE_FUNCPTR(sane_init)
31 MAKE_FUNCPTR(sane_exit)
32 MAKE_FUNCPTR(sane_get_devices)
33 MAKE_FUNCPTR(sane_open)
34 MAKE_FUNCPTR(sane_close)
35 MAKE_FUNCPTR(sane_get_option_descriptor)
36 MAKE_FUNCPTR(sane_control_option)
37 MAKE_FUNCPTR(sane_get_parameters)
38 MAKE_FUNCPTR(sane_start)
39 MAKE_FUNCPTR(sane_read)
40 MAKE_FUNCPTR(sane_cancel)
41 MAKE_FUNCPTR(sane_set_io_mode)
42 MAKE_FUNCPTR(sane_get_select_fd)
43 MAKE_FUNCPTR(sane_strstatus)
44 #undef MAKE_FUNCPTR
46 #endif
47 #include <stdarg.h>
49 #include "windef.h"
50 #include "winbase.h"
51 #include "twain.h"
53 extern HINSTANCE SANE_instance;
55 /* internal information about an active data source */
56 struct tagActiveDS
58 struct tagActiveDS *next; /* next active DS */
59 TW_IDENTITY identity; /* identity */
60 TW_UINT16 currentState; /* current state */
61 TW_EVENT pendingEvent; /* pending event to be sent to
62 application */
63 TW_UINT16 twCC; /* condition code */
64 HWND hwndOwner; /* window handle of the app */
65 HWND progressWnd; /* window handle of the scanning window */
66 #ifdef SONAME_LIBSANE
67 SANE_Handle deviceHandle; /* device handle */
68 SANE_Parameters sane_param; /* parameters about the image
69 transferred */
70 BOOL sane_param_valid; /* true if valid sane_param*/
71 INT deviceIndex; /* index of the current device */
72 #endif
73 /* Capabilities */
74 TW_UINT16 capXferMech; /* ICAP_XFERMECH */
75 } activeDS;
77 /* Helper functions */
78 extern TW_UINT16 SANE_SaneCapability (pTW_CAPABILITY pCapability, TW_UINT16 action);
80 /* Implementation of operation triplets
81 * From Application to Source (Control Information) */
82 TW_UINT16 SANE_CapabilityGet (pTW_IDENTITY pOrigin, TW_MEMREF pData);
83 TW_UINT16 SANE_CapabilityGetCurrent
84 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
85 TW_UINT16 SANE_CapabilityGetDefault
86 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
87 TW_UINT16 SANE_CapabilityQuerySupport
88 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
89 TW_UINT16 SANE_CapabilityReset
90 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
91 TW_UINT16 SANE_CapabilitySet
92 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
93 TW_UINT16 SANE_CustomDSDataGet
94 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
95 TW_UINT16 SANE_CustomDSDataSet
96 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
97 TW_UINT16 SANE_AutomaticCaptureDirectory
98 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
99 TW_UINT16 SANE_ChangeDirectory
100 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
101 TW_UINT16 SANE_FileSystemCopy
102 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
103 TW_UINT16 SANE_CreateDirectory
104 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
105 TW_UINT16 SANE_FileSystemDelete
106 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
107 TW_UINT16 SANE_FormatMedia
108 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
109 TW_UINT16 SANE_FileSystemGetClose
110 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
111 TW_UINT16 SANE_FileSystemGetFirstFile
112 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
113 TW_UINT16 SANE_FileSystemGetInfo
114 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
115 TW_UINT16 SANE_FileSystemGetNextFile
116 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
117 TW_UINT16 SANE_FileSystemRename
118 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
119 TW_UINT16 SANE_ProcessEvent
120 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
121 TW_UINT16 SANE_PassThrough
122 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
123 TW_UINT16 SANE_PendingXfersEndXfer
124 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
125 TW_UINT16 SANE_PendingXfersGet
126 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
127 TW_UINT16 SANE_PendingXfersReset
128 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
129 TW_UINT16 SANE_PendingXfersStopFeeder
130 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
131 TW_UINT16 SANE_SetupFileXferGet
132 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
133 TW_UINT16 SANE_SetupFileXferGetDefault
134 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
135 TW_UINT16 SANE_SetupFileXferReset
136 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
137 TW_UINT16 SANE_SetupFileXferSet
138 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
139 TW_UINT16 SANE_SetupFileXfer2Get
140 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
141 TW_UINT16 SANE_SetupFileXfer2GetDefault
142 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
143 TW_UINT16 SANE_SetupFileXfer2Reset
144 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
145 TW_UINT16 SANE_SetupFileXfer2Set
146 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
147 TW_UINT16 SANE_SetupMemXferGet
148 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
149 TW_UINT16 SANE_GetDSStatus
150 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
151 TW_UINT16 SANE_DisableDSUserInterface
152 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
153 TW_UINT16 SANE_EnableDSUserInterface
154 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
155 TW_UINT16 SANE_EnableDSUIOnly
156 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
157 TW_UINT16 SANE_XferGroupGet
158 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
159 TW_UINT16 SANE_XferGroupSet
160 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
162 /* Implementation of operation triplets
163 * From Application to Source (Image Information) */
164 TW_UINT16 SANE_CIEColorGet
165 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
166 TW_UINT16 SANE_ExtImageInfoGet
167 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
168 TW_UINT16 SANE_GrayResponseReset
169 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
170 TW_UINT16 SANE_GrayResponseSet
171 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
172 TW_UINT16 SANE_ImageFileXferGet
173 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
174 TW_UINT16 SANE_ImageInfoGet
175 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
176 TW_UINT16 SANE_ImageLayoutGet
177 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
178 TW_UINT16 SANE_ImageLayoutGetDefault
179 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
180 TW_UINT16 SANE_ImageLayoutReset
181 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
182 TW_UINT16 SANE_ImageLayoutSet
183 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
184 TW_UINT16 SANE_ImageMemXferGet
185 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
186 TW_UINT16 SANE_ImageNativeXferGet
187 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
188 TW_UINT16 SANE_JPEGCompressionGet
189 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
190 TW_UINT16 SANE_JPEGCompressionGetDefault
191 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
192 TW_UINT16 SANE_JPEGCompressionReset
193 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
194 TW_UINT16 SANE_JPEGCompressionSet
195 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
196 TW_UINT16 SANE_Palette8Get
197 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
198 TW_UINT16 SANE_Palette8GetDefault
199 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
200 TW_UINT16 SANE_Palette8Reset
201 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
202 TW_UINT16 SANE_Palette8Set
203 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
204 TW_UINT16 SANE_RGBResponseReset
205 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
206 TW_UINT16 SANE_RGBResponseSet
207 (pTW_IDENTITY pOrigin, TW_MEMREF pData);
209 /* UI function */
210 BOOL DoScannerUI(void);
211 HWND ScanningDialogBox(HWND dialog, LONG progress);
213 #endif