1 /* 2 * Copyright 2000 Corel Corporation 3 * Copyright 2006 Marcus Meissner 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2.1 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public 16 * License along with this library; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 18 */ 19 20 #ifndef _TWAIN32_H 21 #define _TWAIN32_H 22 23 #include <stdarg.h> 24 25 #include "windef.h" 26 #include "winbase.h" 27 #include "twain.h" 28 #include "wine/list.h" 29 30 struct pending_message 31 { 32 struct list entry; 33 TW_UINT16 msg; 34 }; 35 36 /* internal information about an active data source */ 37 typedef struct tagActiveDS 38 { 39 struct tagActiveDS *next; /* next active DS */ 40 TW_IDENTITY identity; /* identity */ 41 HMODULE hmod; 42 DSENTRYPROC dsEntry; 43 struct list pending_messages; 44 HWND ui_window; 45 HWND event_window; 46 } activeDS; 47 48 extern TW_UINT16 DSM_twCC DECLSPEC_HIDDEN; /* current condition code of Source Manager */ 49 50 extern activeDS *activeSources DECLSPEC_HIDDEN; /* list of active data sources */ 51 52 extern HINSTANCE DSM_hinstance DECLSPEC_HIDDEN; 53 54 /* Implementation of operation triplets (From Application to Source Manager) */ 55 extern TW_UINT16 TWAIN_CloseDS 56 (pTW_IDENTITY pOrigin, TW_MEMREF pData) DECLSPEC_HIDDEN; 57 extern TW_UINT16 TWAIN_IdentityGetDefault 58 (pTW_IDENTITY pOrigin, TW_MEMREF pData) DECLSPEC_HIDDEN; 59 extern TW_UINT16 TWAIN_IdentityGetFirst 60 (pTW_IDENTITY pOrigin, TW_MEMREF pData) DECLSPEC_HIDDEN; 61 extern TW_UINT16 TWAIN_IdentityGetNext 62 (pTW_IDENTITY pOrigin, TW_MEMREF pData) DECLSPEC_HIDDEN; 63 extern TW_UINT16 TWAIN_OpenDS 64 (pTW_IDENTITY pOrigin, TW_MEMREF pData) DECLSPEC_HIDDEN; 65 extern TW_UINT16 TWAIN_UserSelect 66 (pTW_IDENTITY pOrigin, TW_MEMREF pData) DECLSPEC_HIDDEN; 67 extern TW_UINT16 TWAIN_CloseDSM 68 (pTW_IDENTITY pOrigin, TW_MEMREF pData) DECLSPEC_HIDDEN; 69 extern TW_UINT16 TWAIN_OpenDSM 70 (pTW_IDENTITY pOrigin, TW_MEMREF pData) DECLSPEC_HIDDEN; 71 extern TW_UINT16 TWAIN_GetDSMStatus 72 (pTW_IDENTITY pOrigin, TW_MEMREF pData) DECLSPEC_HIDDEN; 73 extern TW_UINT16 TWAIN_ControlNull 74 (pTW_IDENTITY pOrigin, pTW_IDENTITY pDest, activeDS *pSource, TW_UINT16 MSG, TW_MEMREF pData) DECLSPEC_HIDDEN; 75 extern TW_UINT16 TWAIN_ProcessEvent 76 (pTW_IDENTITY pOrigin, activeDS *pSource, TW_MEMREF pData) DECLSPEC_HIDDEN; 77 78 #endif 79