1cdf0e10cSrcweir /* ======================================================================== *\ 2cdf0e10cSrcweir 34faf9d3aSPedro Giffuni Copyright (C) 2007 TWAIN Working Group: Adobe Systems Incorporated, 44faf9d3aSPedro Giffuni AnyDoc Software Inc., Eastman Kodak Company, Fujitsu Computer Products 54faf9d3aSPedro Giffuni of America, JFL Peripheral Solutions Inc., Ricoh Corporation, and 64faf9d3aSPedro Giffuni Xerox Corporation. All rights reserved. 74faf9d3aSPedro Giffuni 8cdf0e10cSrcweir Copyright (C) 1991, 1992 TWAIN Working Group: Aldus, Caere, Eastman-Kodak, 9cdf0e10cSrcweir Hewlett-Packard and Logitech Corporations. All rights reserved. 10cdf0e10cSrcweir 11cdf0e10cSrcweir Copyright (C) 1997 TWAIN Working Group: Bell+Howell, Canon, DocuMagix, 12cdf0e10cSrcweir Fujitsu, Genoa Technology, Hewlett-Packard, Kofax Imaging Products, and 13cdf0e10cSrcweir Ricoh Corporation. All rights reserved. 14cdf0e10cSrcweir 15cdf0e10cSrcweir Copyright � 1998 TWAIN Working Group: Adobe Systems Incorporated, 16cdf0e10cSrcweir Canon Information Systems, Eastman Kodak Company, 17cdf0e10cSrcweir Fujitsu Computer Products of America, Genoa Technology, 18cdf0e10cSrcweir Hewlett-Packard Company, Intel Corporation, Kofax Image Products, 19cdf0e10cSrcweir JFL Peripheral Solutions Inc., Ricoh Corporation, and Xerox Corporation. 20cdf0e10cSrcweir All rights reserved. 21cdf0e10cSrcweir 22cdf0e10cSrcweir Copyright � 2000 TWAIN Working Group: Adobe Systems Incorporated, 23cdf0e10cSrcweir Canon Information Systems, Digimarc Corporation, Eastman Kodak Company, 24cdf0e10cSrcweir Fujitsu Computer Products of America, Hewlett-Packard Company, 25cdf0e10cSrcweir JFL Peripheral Solutions Inc., Ricoh Corporation, and Xerox Corporation. 26cdf0e10cSrcweir All rights reserved. 27cdf0e10cSrcweir 28cdf0e10cSrcweir 29cdf0e10cSrcweir TWAIN.h - This is the definitive include file for applications and 30cdf0e10cSrcweir data sources written to the TWAIN specification. 31cdf0e10cSrcweir It defines constants, data structures, messages etc. 32cdf0e10cSrcweir for the public interface to TWAIN. 33cdf0e10cSrcweir 34cdf0e10cSrcweir Revision History: 35cdf0e10cSrcweir version 1.0, March 6, 1992. TWAIN 1.0. 36cdf0e10cSrcweir version 1.1, January 1993. Tech Notes 1.1 37cdf0e10cSrcweir version 1.5, June 1993. Specification Update 1.5 38cdf0e10cSrcweir Change DC to TW 39cdf0e10cSrcweir Change filename from DC.H to TWAIN.H 40cdf0e10cSrcweir version 1.5, July 1993. Remove spaces from country identifiers 41cdf0e10cSrcweir 42cdf0e10cSrcweir version 1.7, July 1997 Added Capabilities and data structure for 43cdf0e10cSrcweir document imaging and digital cameras. 44cdf0e10cSrcweir KHL. 45cdf0e10cSrcweir version 1.7, July 1997 Inserted Borland compatibile structure packing 46cdf0e10cSrcweir directives provided by Mentor. JMH 47cdf0e10cSrcweir version 1.7, Aug 1997 Expanded file tabs to spaces. 48cdf0e10cSrcweir NOTE: future authors should be sure to have 49cdf0e10cSrcweir their editors set to automatically expand tabs 50cdf0e10cSrcweir to spaces (original tab setting was 4 spaces). 51cdf0e10cSrcweir version 1.7, Sept 1997 Added job control values 52cdf0e10cSrcweir Added return codes 53cdf0e10cSrcweir version 1.7, Sept 1997 changed definition of pRGBRESPONSE to 54cdf0e10cSrcweir pTW_RGBRESPONSE 55cdf0e10cSrcweir version 1.7 Aug 1998 Added missing TWEI_BARCODEROTATION values 56cdf0e10cSrcweir TWBCOR_ types JMH 57cdf0e10cSrcweir version 1.8 August 1998 Added new types and definitions required 58cdf0e10cSrcweir for 1.8 Specification JMH 59cdf0e10cSrcweir version 1.8 January 1999 Changed search mode from SRCH_ to TWBD_ as 604faf9d3aSPedro Giffuni in 1.8 Specification, added TWBT_MAXICODE JMH 614faf9d3aSPedro Giffuni version 1.8 January 1999 Removed undocumented duplicate AUTO<cap> JMH 62cdf0e10cSrcweir version 1.8 March 1999 Removed undocumented 1.8 caps: 63cdf0e10cSrcweir CAP_FILESYSTEM 64cdf0e10cSrcweir CAP_PAPERBINDING 65cdf0e10cSrcweir CAP_PASSTHRU 66cdf0e10cSrcweir CAP_POWERDOWNTIME 67cdf0e10cSrcweir ICAP_AUTODISCARDBLANKPAGES 68cdf0e10cSrcweir * CAP_PAGEMULTIPLEACQUIRE - is CAP_REACQUIREALLOWED, 694faf9d3aSPedro Giffuni requires spec change. JMH 70cdf0e10cSrcweir Added Mac structure packing modifications JMH 714faf9d3aSPedro Giffuni version 1.9 March 2000 Added new types and definations required 724faf9d3aSPedro Giffuni for 1.9 Specification MLM 734faf9d3aSPedro Giffuni version 1.9 March 2000 Added ICAP_JPEGQUALITY, TWJQ_ values, 74cdf0e10cSrcweir updated TWON_PROTOCOLMINOR for Release v1.9 MN 754faf9d3aSPedro Giffuni version 1.91 August 2007 Added new types and definitions required 764faf9d3aSPedro Giffuni for 1.91 Specification MLM 774faf9d3aSPedro Giffuni version 2.0 Sept 2007 Added new types and definitions required 784faf9d3aSPedro Giffuni for 2.0 Specification FHH 794faf9d3aSPedro Giffuni version 2.0 Mar 2008 Depreciated ICAP_PIXELTYPEs TWPT_SRGB64, TWPT_BGR, 804faf9d3aSPedro Giffuni TWPT_CIELAB, TWPT_CIELUV, and TWPT_YCBCR JMW 814faf9d3aSPedro Giffuni version 2.0 Mar 2008 Added missing new 2.0 CAP_ definitions JMW 824faf9d3aSPedro Giffuni version 2.0 Dec 2008 Updated TW_INFO structure for 64bit JMW 834faf9d3aSPedro Giffuni version 2.1 Mar 2009 Added new types and definitions required 844faf9d3aSPedro Giffuni for 2.1 Specification JMW 85cdf0e10cSrcweir \* ======================================================================== */ 86cdf0e10cSrcweir 87cdf0e10cSrcweir #ifndef TWAIN 88cdf0e10cSrcweir #define TWAIN 89cdf0e10cSrcweir 90cdf0e10cSrcweir /**************************************************************************** 91cdf0e10cSrcweir * TWAIN Version * 92cdf0e10cSrcweir ****************************************************************************/ 934faf9d3aSPedro Giffuni #define TWON_PROTOCOLMINOR 1 /* Changed for Version 2.1 */ 944faf9d3aSPedro Giffuni #define TWON_PROTOCOLMAJOR 2 95cdf0e10cSrcweir 96cdf0e10cSrcweir /**************************************************************************** 97cdf0e10cSrcweir * Platform Dependent Definitions and Typedefs * 98cdf0e10cSrcweir ****************************************************************************/ 99cdf0e10cSrcweir 1004faf9d3aSPedro Giffuni /* 1014faf9d3aSPedro Giffuni * Mingw32 may be detected as both GNUC or WIN32/64 so try 1024faf9d3aSPedro Giffuni * to detect it early and override both GNU and MS. 1034faf9d3aSPedro Giffuni */ 1044faf9d3aSPedro Giffuni #if defined(__MINGW32__) 105*124601a8SPedro Giffuni #define TWH_CMP_MING32 1064faf9d3aSPedro Giffuni #endif 1074faf9d3aSPedro Giffuni 1084faf9d3aSPedro Giffuni /* Microsoft C/C++ Compiler */ 1094faf9d3aSPedro Giffuni #if defined(WIN32) || defined(WIN64) || defined (_WINDOWS) 1104faf9d3aSPedro Giffuni #define TWH_CMP_MSC 1114faf9d3aSPedro Giffuni #if defined(_WIN64) || defined(WIN64) 1124faf9d3aSPedro Giffuni #define TWH_64BIT 1134faf9d3aSPedro Giffuni #elif defined(WIN32) || defined(_WIN32) 1144faf9d3aSPedro Giffuni #define TWH_32BIT 1154faf9d3aSPedro Giffuni #endif 1164faf9d3aSPedro Giffuni 1174faf9d3aSPedro Giffuni /* Apple Compiler (which is GNU now) */ 1184faf9d3aSPedro Giffuni #elif defined(__APPLE__) 1194faf9d3aSPedro Giffuni #define TWH_CMP_XCODE 1204faf9d3aSPedro Giffuni #define TWH_32BIT 1214faf9d3aSPedro Giffuni 1224faf9d3aSPedro Giffuni /* GNU C/C++ Compiler */ 1234faf9d3aSPedro Giffuni #elif defined(__GNUC__) 1244faf9d3aSPedro Giffuni #define TWH_CMP_GNU 1254faf9d3aSPedro Giffuni #if defined(__alpha__)\ 1264faf9d3aSPedro Giffuni ||defined(__ia64__)\ 1274faf9d3aSPedro Giffuni ||defined(__ppc64__)\ 1284faf9d3aSPedro Giffuni ||defined(__s390x__)\ 1294faf9d3aSPedro Giffuni ||defined(__x86_64__) 1304faf9d3aSPedro Giffuni #define TWH_64BIT 1314faf9d3aSPedro Giffuni #else 1324faf9d3aSPedro Giffuni #define TWH_32BIT 1334faf9d3aSPedro Giffuni #endif 134cdf0e10cSrcweir 1354faf9d3aSPedro Giffuni /* Borland C/C++ Compiler */ 1364faf9d3aSPedro Giffuni #elif defined(__BORLAND__) 1374faf9d3aSPedro Giffuni #define TWH_CMP_BORLAND 1384faf9d3aSPedro Giffuni #define TWH_32BIT 1394faf9d3aSPedro Giffuni /* Unrecognized */ 1404faf9d3aSPedro Giffuni #else 1414faf9d3aSPedro Giffuni #error Unrecognized compiler 1424faf9d3aSPedro Giffuni #endif 1434faf9d3aSPedro Giffuni 1444faf9d3aSPedro Giffuni /* Win32 and Win64 systems */ 1454faf9d3aSPedro Giffuni #if defined(TWH_CMP_MSC) | defined(TWH_CMP_BORLAND) 1464faf9d3aSPedro Giffuni typedef HANDLE TW_HANDLE; 1474faf9d3aSPedro Giffuni typedef LPVOID TW_MEMREF; 1484faf9d3aSPedro Giffuni typedef UINT_PTR TW_UINTPTR; 1494faf9d3aSPedro Giffuni 1504faf9d3aSPedro Giffuni /* MacOS/X... */ 1514faf9d3aSPedro Giffuni #elif defined(TWH_CMP_XCODE) 1524faf9d3aSPedro Giffuni #define PASCAL pascal 1534faf9d3aSPedro Giffuni #define FAR 1544faf9d3aSPedro Giffuni typedef Handle TW_HANDLE; 1554faf9d3aSPedro Giffuni typedef char *TW_MEMREF; 1564faf9d3aSPedro Giffuni 1574faf9d3aSPedro Giffuni #ifdef TWH_32BIT 1584faf9d3aSPedro Giffuni //32 bit GNU 1594faf9d3aSPedro Giffuni typedef unsigned long TW_UINTPTR; 1604faf9d3aSPedro Giffuni #else 1614faf9d3aSPedro Giffuni //64 bit GNU 1624faf9d3aSPedro Giffuni typedef unsigned long long TW_UINTPTR; 1634faf9d3aSPedro Giffuni #endif 164cdf0e10cSrcweir 1654faf9d3aSPedro Giffuni /* Everything else... */ 1664faf9d3aSPedro Giffuni #else 1674faf9d3aSPedro Giffuni #define PASCAL 1684faf9d3aSPedro Giffuni #define FAR 1694faf9d3aSPedro Giffuni typedef void* TW_HANDLE; 1704faf9d3aSPedro Giffuni typedef void* TW_MEMREF; 1714faf9d3aSPedro Giffuni typedef unsigned char BYTE; 1724faf9d3aSPedro Giffuni 1734faf9d3aSPedro Giffuni #ifdef TWH_32BIT 1744faf9d3aSPedro Giffuni //32 bit GNU 1754faf9d3aSPedro Giffuni typedef unsigned long TW_UINTPTR; 1764faf9d3aSPedro Giffuni #else 1774faf9d3aSPedro Giffuni //64 bit GNU 1784faf9d3aSPedro Giffuni typedef unsigned long long TW_UINTPTR; 1794faf9d3aSPedro Giffuni #endif 1804faf9d3aSPedro Giffuni #endif 1814faf9d3aSPedro Giffuni 1824faf9d3aSPedro Giffuni 1834faf9d3aSPedro Giffuni /* Set the packing: this occurs before any structures are defined */ 1846538ed46SPedro Giffuni #if defined(TWH_CMP_MING32) 1854faf9d3aSPedro Giffuni #pragma pack (push, 2) 1866538ed46SPedro Giffuni #elif defined(TWH_CMP_MSC) 1874faf9d3aSPedro Giffuni #pragma pack (push, before_twain) 1884faf9d3aSPedro Giffuni #pragma pack (2) 1894faf9d3aSPedro Giffuni #elif defined(TWH_CMP_GNU) 1904faf9d3aSPedro Giffuni #pragma pack (push, before_twain) 1914faf9d3aSPedro Giffuni #pragma pack (2) 1924faf9d3aSPedro Giffuni #elif defined(TWH_CMP_BORLAND) 1934faf9d3aSPedro Giffuni #pragma option -a2 1944faf9d3aSPedro Giffuni #elif defined(TWH_CMP_XCODE) 195cdf0e10cSrcweir #if PRAGMA_STRUCT_ALIGN 1964faf9d3aSPedro Giffuni #pragma options align=mac68k 197cdf0e10cSrcweir #elif PRAGMA_STRUCT_PACKPUSH 1984faf9d3aSPedro Giffuni #pragma pack (push, 2) 199cdf0e10cSrcweir #elif PRAGMA_STRUCT_PACK 2004faf9d3aSPedro Giffuni #pragma pack (2) 201cdf0e10cSrcweir #endif 2024faf9d3aSPedro Giffuni #endif 203cdf0e10cSrcweir 204cdf0e10cSrcweir 205cdf0e10cSrcweir /**************************************************************************** 206cdf0e10cSrcweir * Type Definitions * 207cdf0e10cSrcweir ****************************************************************************/ 208cdf0e10cSrcweir 209cdf0e10cSrcweir /* String types. These include room for the strings and a NULL char, * 210cdf0e10cSrcweir * or, on the Mac, a length byte followed by the string. * 211cdf0e10cSrcweir * TW_STR255 must hold less than 256 chars so length fits in first byte. */ 212cdf0e10cSrcweir typedef char TW_STR32[34], FAR *pTW_STR32; 213cdf0e10cSrcweir typedef char TW_STR64[66], FAR *pTW_STR64; 214cdf0e10cSrcweir typedef char TW_STR128[130], FAR *pTW_STR128; 215cdf0e10cSrcweir typedef char TW_STR255[256], FAR *pTW_STR255; 216cdf0e10cSrcweir 217cdf0e10cSrcweir /* Numeric types. */ 218cdf0e10cSrcweir typedef char TW_INT8, FAR *pTW_INT8; 219cdf0e10cSrcweir typedef short TW_INT16, FAR *pTW_INT16; 220cdf0e10cSrcweir typedef long TW_INT32, FAR *pTW_INT32; 221cdf0e10cSrcweir typedef unsigned char TW_UINT8, FAR *pTW_UINT8; 222cdf0e10cSrcweir typedef unsigned short TW_UINT16, FAR *pTW_UINT16; 223cdf0e10cSrcweir typedef unsigned long TW_UINT32, FAR *pTW_UINT32; 224cdf0e10cSrcweir typedef unsigned short TW_BOOL, FAR *pTW_BOOL; 225cdf0e10cSrcweir 2264faf9d3aSPedro Giffuni 2274faf9d3aSPedro Giffuni /**************************************************************************** 2284faf9d3aSPedro Giffuni * Structure Definitions * 2294faf9d3aSPedro Giffuni ****************************************************************************/ 2304faf9d3aSPedro Giffuni 231cdf0e10cSrcweir /* Fixed point structure type. */ 232cdf0e10cSrcweir typedef struct { 233cdf0e10cSrcweir TW_INT16 Whole; /* maintains the sign */ 234cdf0e10cSrcweir TW_UINT16 Frac; 235cdf0e10cSrcweir } TW_FIX32, FAR *pTW_FIX32; 236cdf0e10cSrcweir 2374faf9d3aSPedro Giffuni /* No DAT. Defines a frame rectangle in ICAP_UNITS coordinates. */ 238cdf0e10cSrcweir typedef struct { 2394faf9d3aSPedro Giffuni TW_FIX32 Left; 2404faf9d3aSPedro Giffuni TW_FIX32 Top; 2414faf9d3aSPedro Giffuni TW_FIX32 Right; 2424faf9d3aSPedro Giffuni TW_FIX32 Bottom; 2434faf9d3aSPedro Giffuni } TW_FRAME, FAR * pTW_FRAME; 244cdf0e10cSrcweir 245cdf0e10cSrcweir /* No DAT needed. */ 246cdf0e10cSrcweir typedef struct { 247cdf0e10cSrcweir TW_FIX32 StartIn; 248cdf0e10cSrcweir TW_FIX32 BreakIn; 249cdf0e10cSrcweir TW_FIX32 EndIn; 250cdf0e10cSrcweir TW_FIX32 StartOut; 251cdf0e10cSrcweir TW_FIX32 BreakOut; 252cdf0e10cSrcweir TW_FIX32 EndOut; 253cdf0e10cSrcweir TW_FIX32 Gamma; 254cdf0e10cSrcweir TW_FIX32 SampleCount; /* if =0 use the gamma */ 255cdf0e10cSrcweir } TW_DECODEFUNCTION, FAR * pTW_DECODEFUNCTION; 256cdf0e10cSrcweir 257cdf0e10cSrcweir /* No DAT needed. */ 258cdf0e10cSrcweir typedef struct { 259cdf0e10cSrcweir TW_DECODEFUNCTION Decode[3]; 260cdf0e10cSrcweir TW_FIX32 Mix[3][3]; 261cdf0e10cSrcweir } TW_TRANSFORMSTAGE, FAR * pTW_TRANSFORMSTAGE; 262cdf0e10cSrcweir 263cdf0e10cSrcweir /* TWON_ARRAY. Container for array of values (a simplified TW_ENUMERATION) */ 264cdf0e10cSrcweir typedef struct { 265cdf0e10cSrcweir TW_UINT16 ItemType; 266cdf0e10cSrcweir TW_UINT32 NumItems; /* How many items in ItemList */ 267cdf0e10cSrcweir TW_UINT8 ItemList[1]; /* Array of ItemType values starts here */ 268cdf0e10cSrcweir } TW_ARRAY, FAR * pTW_ARRAY; 269cdf0e10cSrcweir 2704faf9d3aSPedro Giffuni /* DAT_AUDIOINFO, information about audio data */ 271cdf0e10cSrcweir typedef struct { 2724faf9d3aSPedro Giffuni TW_STR255 Name; /* name of audio data */ 2734faf9d3aSPedro Giffuni TW_UINT32 Reserved; /* reserved space */ 2744faf9d3aSPedro Giffuni } TW_AUDIOINFO, FAR * pTW_AUDIOINFO; 275cdf0e10cSrcweir 2764faf9d3aSPedro Giffuni /* TW_CALLBACK, used to register callbacks Added 2.0 */ 2774faf9d3aSPedro Giffuni typedef struct { 2784faf9d3aSPedro Giffuni TW_MEMREF CallBackProc; 2794faf9d3aSPedro Giffuni TW_UINT32 RefCon; 2804faf9d3aSPedro Giffuni TW_INT16 Message; 2814faf9d3aSPedro Giffuni } TW_CALLBACK, FAR * pTW_CALLBACK; 282cdf0e10cSrcweir 283cdf0e10cSrcweir /* DAT_CAPABILITY. Used by application to get/set capability from/in a data source. */ 284cdf0e10cSrcweir typedef struct { 285cdf0e10cSrcweir TW_UINT16 Cap; /* id of capability to set or get, e.g. CAP_BRIGHTNESS */ 286cdf0e10cSrcweir TW_UINT16 ConType; /* TWON_ONEVALUE, _RANGE, _ENUMERATION or _ARRAY */ 287cdf0e10cSrcweir TW_HANDLE hContainer; /* Handle to container of type Dat */ 288cdf0e10cSrcweir } TW_CAPABILITY, FAR * pTW_CAPABILITY; 289cdf0e10cSrcweir 2904faf9d3aSPedro Giffuni /* No DAT needed. */ 2914faf9d3aSPedro Giffuni typedef struct { 2924faf9d3aSPedro Giffuni TW_FIX32 X; 2934faf9d3aSPedro Giffuni TW_FIX32 Y; 2944faf9d3aSPedro Giffuni TW_FIX32 Z; 2954faf9d3aSPedro Giffuni } TW_CIEPOINT, FAR * pTW_CIEPOINT; 2964faf9d3aSPedro Giffuni 297cdf0e10cSrcweir /* DAT_CIECOLOR. */ 298cdf0e10cSrcweir typedef struct { 299cdf0e10cSrcweir TW_UINT16 ColorSpace; 300cdf0e10cSrcweir TW_INT16 LowEndian; 301cdf0e10cSrcweir TW_INT16 DeviceDependent; 302cdf0e10cSrcweir TW_INT32 VersionNumber; 303cdf0e10cSrcweir TW_TRANSFORMSTAGE StageABC; 304cdf0e10cSrcweir TW_TRANSFORMSTAGE StageLMN; 305cdf0e10cSrcweir TW_CIEPOINT WhitePoint; 306cdf0e10cSrcweir TW_CIEPOINT BlackPoint; 307cdf0e10cSrcweir TW_CIEPOINT WhitePaper; 308cdf0e10cSrcweir TW_CIEPOINT BlackInk; 309cdf0e10cSrcweir TW_FIX32 Samples[1]; 310cdf0e10cSrcweir } TW_CIECOLOR, FAR * pTW_CIECOLOR; 311cdf0e10cSrcweir 3124faf9d3aSPedro Giffuni typedef struct { 3134faf9d3aSPedro Giffuni TW_UINT32 InfoLength; /* Length of Information in bytes. */ 3144faf9d3aSPedro Giffuni TW_HANDLE hData; /* Place holder for data, DS Allocates */ 3154faf9d3aSPedro Giffuni }TW_CUSTOMDSDATA, FAR *pTW_CUSTOMDSDATA; 3164faf9d3aSPedro Giffuni 3174faf9d3aSPedro Giffuni /* DAT_DEVICEEVENT, information about events */ 3184faf9d3aSPedro Giffuni typedef struct { 3194faf9d3aSPedro Giffuni TW_UINT32 Event; /* One of the TWDE_xxxx values. */ 3204faf9d3aSPedro Giffuni TW_STR255 DeviceName; /* The name of the device that generated the event */ 3214faf9d3aSPedro Giffuni TW_UINT32 BatteryMinutes; /* Battery Minutes Remaining */ 3224faf9d3aSPedro Giffuni TW_INT16 BatteryPercentage; /* Battery Percentage Remaining */ 3234faf9d3aSPedro Giffuni TW_INT32 PowerSupply; /* Power Supply */ 3244faf9d3aSPedro Giffuni TW_FIX32 XResolution; /* Resolution */ 3254faf9d3aSPedro Giffuni TW_FIX32 YResolution; /* Resolution */ 3264faf9d3aSPedro Giffuni TW_UINT32 FlashUsed2; /* Flash Used2 */ 3274faf9d3aSPedro Giffuni TW_UINT32 AutomaticCapture; /* Automatic Capture */ 3284faf9d3aSPedro Giffuni TW_UINT32 TimeBeforeFirstCapture; /* Automatic Capture */ 3294faf9d3aSPedro Giffuni TW_UINT32 TimeBetweenCaptures; /* Automatic Capture */ 3304faf9d3aSPedro Giffuni } TW_DEVICEEVENT, FAR * pTW_DEVICEEVENT; 3314faf9d3aSPedro Giffuni 3324faf9d3aSPedro Giffuni /* No DAT needed. */ 3334faf9d3aSPedro Giffuni typedef struct { 3344faf9d3aSPedro Giffuni TW_UINT8 Index; /* Value used to index into the color table. */ 3354faf9d3aSPedro Giffuni TW_UINT8 Channel1; /* First tri-stimulus value (e.g Red) */ 3364faf9d3aSPedro Giffuni TW_UINT8 Channel2; /* Second tri-stimulus value (e.g Green) */ 3374faf9d3aSPedro Giffuni TW_UINT8 Channel3; /* Third tri-stimulus value (e.g Blue) */ 3384faf9d3aSPedro Giffuni } TW_ELEMENT8, FAR * pTW_ELEMENT8; 3394faf9d3aSPedro Giffuni 3404faf9d3aSPedro Giffuni /* TWON_ENUMERATION. Container for a collection of values. */ 3414faf9d3aSPedro Giffuni typedef struct { 3424faf9d3aSPedro Giffuni TW_UINT16 ItemType; 3434faf9d3aSPedro Giffuni TW_UINT32 NumItems; /* How many items in ItemList */ 3444faf9d3aSPedro Giffuni TW_UINT32 CurrentIndex; /* Current value is in ItemList[CurrentIndex] */ 3454faf9d3aSPedro Giffuni TW_UINT32 DefaultIndex; /* Powerup value is in ItemList[DefaultIndex] */ 3464faf9d3aSPedro Giffuni TW_UINT8 ItemList[1]; /* Array of ItemType values starts here */ 3474faf9d3aSPedro Giffuni } TW_ENUMERATION, FAR * pTW_ENUMERATION; 3484faf9d3aSPedro Giffuni 349cdf0e10cSrcweir /* DAT_EVENT. For passing events down from the application to the DS. */ 350cdf0e10cSrcweir typedef struct { 351cdf0e10cSrcweir TW_MEMREF pEvent; /* Windows pMSG or Mac pEvent. */ 352cdf0e10cSrcweir TW_UINT16 TWMessage; /* TW msg from data source, e.g. MSG_XFERREADY */ 353cdf0e10cSrcweir } TW_EVENT, FAR * pTW_EVENT; 354cdf0e10cSrcweir 3554faf9d3aSPedro Giffuni typedef struct { 3564faf9d3aSPedro Giffuni TW_UINT16 InfoID; 3574faf9d3aSPedro Giffuni TW_UINT16 ItemType; 3584faf9d3aSPedro Giffuni TW_UINT16 NumItems; 3594faf9d3aSPedro Giffuni union { 3604faf9d3aSPedro Giffuni TW_UINT16 CondCode; /* Depreciated, use ReturnCode. TWAIN 2.0 and older. */ 3614faf9d3aSPedro Giffuni TW_UINT16 ReturnCode; /* TWAIN 2.1 and newer */ 3624faf9d3aSPedro Giffuni }; 3634faf9d3aSPedro Giffuni TW_UINTPTR Item; 3644faf9d3aSPedro Giffuni }TW_INFO, FAR* pTW_INFO; 3654faf9d3aSPedro Giffuni 3664faf9d3aSPedro Giffuni typedef struct { 3674faf9d3aSPedro Giffuni TW_UINT32 NumInfos; 3684faf9d3aSPedro Giffuni TW_INFO Info[1]; 3694faf9d3aSPedro Giffuni }TW_EXTIMAGEINFO, FAR* pTW_EXTIMAGEINFO; 3704faf9d3aSPedro Giffuni 3714faf9d3aSPedro Giffuni /* DAT_FILESYSTEM, information about TWAIN file system */ 3724faf9d3aSPedro Giffuni typedef struct { 3734faf9d3aSPedro Giffuni /* DG_CONTROL / DAT_FILESYSTEM / MSG_xxxx fields */ 3744faf9d3aSPedro Giffuni TW_STR255 InputName; /* The name of the input or source file */ 3754faf9d3aSPedro Giffuni TW_STR255 OutputName; /* The result of an operation or the name of a destination file */ 3764faf9d3aSPedro Giffuni TW_MEMREF Context; /* Source specific data used to remember state information */ 3774faf9d3aSPedro Giffuni /* DG_CONTROL / DAT_FILESYSTEM / MSG_DELETE field */ 3784faf9d3aSPedro Giffuni int Recursive; /* recursively delete all sub-directories */ 3794faf9d3aSPedro Giffuni /* DG_CONTROL / DAT_FILESYSTEM / MSG_GETINFO fields */ 3804faf9d3aSPedro Giffuni TW_INT32 FileType; /* One of the TWFY_xxxx values */ 3814faf9d3aSPedro Giffuni TW_UINT32 Size; /* Size of current FileType */ 3824faf9d3aSPedro Giffuni TW_STR32 CreateTimeDate; /* creation date of the file */ 3834faf9d3aSPedro Giffuni TW_STR32 ModifiedTimeDate; /* last date the file was modified */ 3844faf9d3aSPedro Giffuni TW_UINT32 FreeSpace; /* bytes of free space on the current device */ 3854faf9d3aSPedro Giffuni TW_INT32 NewImageSize; /* estimate of the amount of space a new image would take up */ 3864faf9d3aSPedro Giffuni TW_UINT32 NumberOfFiles; /* number of files, depends on FileType */ 3874faf9d3aSPedro Giffuni TW_UINT32 NumberOfSnippets; /* number of audio snippets */ 3884faf9d3aSPedro Giffuni TW_UINT32 DeviceGroupMask; /* used to group cameras (ex: front/rear bitonal, front/rear grayscale...) */ 3894faf9d3aSPedro Giffuni char Reserved[508]; /**/ 3904faf9d3aSPedro Giffuni } TW_FILESYSTEM, FAR * pTW_FILESYSTEM; 3914faf9d3aSPedro Giffuni 392cdf0e10cSrcweir /* DAT_GRAYRESPONSE */ 393cdf0e10cSrcweir typedef struct { 394cdf0e10cSrcweir TW_ELEMENT8 Response[1]; 395cdf0e10cSrcweir } TW_GRAYRESPONSE, FAR * pTW_GRAYRESPONSE; 396cdf0e10cSrcweir 3974faf9d3aSPedro Giffuni /* No DAT needed. Describes version of software currently running. */ 3984faf9d3aSPedro Giffuni typedef struct { 3994faf9d3aSPedro Giffuni TW_UINT16 MajorNum; /* Major revision number of the software. */ 4004faf9d3aSPedro Giffuni TW_UINT16 MinorNum; /* Incremental revision number of the software. */ 4014faf9d3aSPedro Giffuni TW_UINT16 Language; /* e.g. TWLG_SWISSFRENCH */ 4024faf9d3aSPedro Giffuni TW_UINT16 Country; /* e.g. TWCY_SWITZERLAND */ 4034faf9d3aSPedro Giffuni TW_STR32 Info; /* e.g. "1.0b3 Beta release" */ 4044faf9d3aSPedro Giffuni } TW_VERSION, FAR * pTW_VERSION; 4054faf9d3aSPedro Giffuni 406cdf0e10cSrcweir /* DAT_IDENTITY. Identifies the program/library/code resource. */ 407cdf0e10cSrcweir typedef struct { 408cdf0e10cSrcweir TW_UINT32 Id; /* Unique number. In Windows, application hWnd */ 409cdf0e10cSrcweir TW_VERSION Version; /* Identifies the piece of code */ 410cdf0e10cSrcweir TW_UINT16 ProtocolMajor; /* Application and DS must set to TWON_PROTOCOLMAJOR */ 411cdf0e10cSrcweir TW_UINT16 ProtocolMinor; /* Application and DS must set to TWON_PROTOCOLMINOR */ 412cdf0e10cSrcweir TW_UINT32 SupportedGroups; /* Bit field OR combination of DG_ constants */ 413cdf0e10cSrcweir TW_STR32 Manufacturer; /* Manufacturer name, e.g. "Hewlett-Packard" */ 414cdf0e10cSrcweir TW_STR32 ProductFamily; /* Product family name, e.g. "ScanJet" */ 415cdf0e10cSrcweir TW_STR32 ProductName; /* Product name, e.g. "ScanJet Plus" */ 416cdf0e10cSrcweir } TW_IDENTITY, FAR * pTW_IDENTITY; 417cdf0e10cSrcweir 418cdf0e10cSrcweir /* DAT_IMAGEINFO. Application gets detailed image info from DS with this. */ 419cdf0e10cSrcweir typedef struct { 420cdf0e10cSrcweir TW_FIX32 XResolution; /* Resolution in the horizontal */ 421cdf0e10cSrcweir TW_FIX32 YResolution; /* Resolution in the vertical */ 422cdf0e10cSrcweir TW_INT32 ImageWidth; /* Columns in the image, -1 if unknown by DS*/ 423cdf0e10cSrcweir TW_INT32 ImageLength; /* Rows in the image, -1 if unknown by DS */ 424cdf0e10cSrcweir TW_INT16 SamplesPerPixel; /* Number of samples per pixel, 3 for RGB */ 425cdf0e10cSrcweir TW_INT16 BitsPerSample[8]; /* Number of bits for each sample */ 426cdf0e10cSrcweir TW_INT16 BitsPerPixel; /* Number of bits for each padded pixel */ 427cdf0e10cSrcweir TW_BOOL Planar; /* True if Planar, False if chunky */ 428cdf0e10cSrcweir TW_INT16 PixelType; /* How to interp data; photo interp (TWPT_) */ 429cdf0e10cSrcweir TW_UINT16 Compression; /* How the data is compressed (TWCP_xxxx) */ 430cdf0e10cSrcweir } TW_IMAGEINFO, FAR * pTW_IMAGEINFO; 431cdf0e10cSrcweir 432cdf0e10cSrcweir /* DAT_IMAGELAYOUT. Provides image layout information in current units. */ 433cdf0e10cSrcweir typedef struct { 434cdf0e10cSrcweir TW_FRAME Frame; /* Frame coords within larger document */ 435cdf0e10cSrcweir TW_UINT32 DocumentNumber; 436cdf0e10cSrcweir TW_UINT32 PageNumber; /* Reset when you go to next document */ 437cdf0e10cSrcweir TW_UINT32 FrameNumber; /* Reset when you go to next page */ 438cdf0e10cSrcweir } TW_IMAGELAYOUT, FAR * pTW_IMAGELAYOUT; 439cdf0e10cSrcweir 4404faf9d3aSPedro Giffuni /* No DAT needed. Used to manage memory buffers. */ 4414faf9d3aSPedro Giffuni typedef struct { 4424faf9d3aSPedro Giffuni TW_UINT32 Flags; /* Any combination of the TWMF_ constants. */ 4434faf9d3aSPedro Giffuni TW_UINT32 Length; /* Number of bytes stored in buffer TheMem. */ 4444faf9d3aSPedro Giffuni TW_MEMREF TheMem; /* Pointer or handle to the allocated memory buffer. */ 4454faf9d3aSPedro Giffuni } TW_MEMORY, FAR * pTW_MEMORY; 4464faf9d3aSPedro Giffuni 447cdf0e10cSrcweir /* DAT_IMAGEMEMXFER. Used to pass image data (e.g. in strips) from DS to application.*/ 448cdf0e10cSrcweir typedef struct { 449cdf0e10cSrcweir TW_UINT16 Compression; /* How the data is compressed */ 450cdf0e10cSrcweir TW_UINT32 BytesPerRow; /* Number of bytes in a row of data */ 451cdf0e10cSrcweir TW_UINT32 Columns; /* How many columns */ 452cdf0e10cSrcweir TW_UINT32 Rows; /* How many rows */ 453cdf0e10cSrcweir TW_UINT32 XOffset; /* How far from the side of the image */ 454cdf0e10cSrcweir TW_UINT32 YOffset; /* How far from the top of the image */ 455cdf0e10cSrcweir TW_UINT32 BytesWritten; /* How many bytes written in Memory */ 456cdf0e10cSrcweir TW_MEMORY Memory; /* Mem struct used to pass actual image data */ 457cdf0e10cSrcweir } TW_IMAGEMEMXFER, FAR * pTW_IMAGEMEMXFER; 458cdf0e10cSrcweir 459cdf0e10cSrcweir /* Changed in 1.1: QuantTable, HuffmanDC, HuffmanAC TW_MEMREF -> TW_MEMORY */ 460cdf0e10cSrcweir /* DAT_JPEGCOMPRESSION. Based on JPEG Draft International Std, ver 10918-1. */ 461cdf0e10cSrcweir typedef struct { 462cdf0e10cSrcweir TW_UINT16 ColorSpace; /* One of the TWPT_xxxx values */ 463cdf0e10cSrcweir TW_UINT32 SubSampling; /* Two word "array" for subsampling values */ 464cdf0e10cSrcweir TW_UINT16 NumComponents; /* Number of color components in image */ 465cdf0e10cSrcweir TW_UINT16 RestartFrequency; /* Frequency of restart marker codes in MDU's */ 466cdf0e10cSrcweir TW_UINT16 QuantMap[4]; /* Mapping of components to QuantTables */ 467cdf0e10cSrcweir TW_MEMORY QuantTable[4]; /* Quantization tables */ 468cdf0e10cSrcweir TW_UINT16 HuffmanMap[4]; /* Mapping of components to Huffman tables */ 469cdf0e10cSrcweir TW_MEMORY HuffmanDC[2]; /* DC Huffman tables */ 470cdf0e10cSrcweir TW_MEMORY HuffmanAC[2]; /* AC Huffman tables */ 471cdf0e10cSrcweir } TW_JPEGCOMPRESSION, FAR * pTW_JPEGCOMPRESSION; 472cdf0e10cSrcweir 4734faf9d3aSPedro Giffuni /* TWON_ONEVALUE. Container for one value. */ 4744faf9d3aSPedro Giffuni typedef struct { 4754faf9d3aSPedro Giffuni TW_UINT16 ItemType; 4764faf9d3aSPedro Giffuni TW_UINT32 Item; 4774faf9d3aSPedro Giffuni } TW_ONEVALUE, FAR * pTW_ONEVALUE; 4784faf9d3aSPedro Giffuni 479cdf0e10cSrcweir /* DAT_PALETTE8. Color palette when TWPT_PALETTE pixels xfer'd in mem buf. */ 480cdf0e10cSrcweir typedef struct { 481cdf0e10cSrcweir TW_UINT16 NumColors; /* Number of colors in the color table. */ 482cdf0e10cSrcweir TW_UINT16 PaletteType; /* TWPA_xxxx, specifies type of palette. */ 483cdf0e10cSrcweir TW_ELEMENT8 Colors[256]; /* Array of palette values starts here. */ 484cdf0e10cSrcweir } TW_PALETTE8, FAR * pTW_PALETTE8; 485cdf0e10cSrcweir 4864faf9d3aSPedro Giffuni /* DAT_PASSTHRU, device dependant data to pass through Data Source */ 4874faf9d3aSPedro Giffuni typedef struct { 4884faf9d3aSPedro Giffuni TW_MEMREF pCommand; /* Pointer to Command buffer */ 4894faf9d3aSPedro Giffuni TW_UINT32 CommandBytes; /* Number of bytes in Command buffer */ 4904faf9d3aSPedro Giffuni TW_INT32 Direction; /* One of the TWDR_xxxx values. Defines the direction of data flow */ 4914faf9d3aSPedro Giffuni TW_MEMREF pData; /* Pointer to Data buffer */ 4924faf9d3aSPedro Giffuni TW_UINT32 DataBytes; /* Number of bytes in Data buffer */ 4934faf9d3aSPedro Giffuni TW_UINT32 DataBytesXfered; /* Number of bytes successfully transferred */ 4944faf9d3aSPedro Giffuni } TW_PASSTHRU, FAR * pTW_PASSTHRU; 4954faf9d3aSPedro Giffuni 496cdf0e10cSrcweir /* DAT_PENDINGXFERS. Used with MSG_ENDXFER to indicate additional data. */ 497cdf0e10cSrcweir typedef struct { 498cdf0e10cSrcweir TW_UINT16 Count; 499cdf0e10cSrcweir union { 500cdf0e10cSrcweir TW_UINT32 EOJ; 501cdf0e10cSrcweir TW_UINT32 Reserved; 502cdf0e10cSrcweir }; 503cdf0e10cSrcweir } TW_PENDINGXFERS, FAR *pTW_PENDINGXFERS; 504cdf0e10cSrcweir 5054faf9d3aSPedro Giffuni /* TWON_RANGE. Container for a range of values. */ 5064faf9d3aSPedro Giffuni typedef struct { 5074faf9d3aSPedro Giffuni TW_UINT16 ItemType; 5084faf9d3aSPedro Giffuni TW_UINT32 MinValue; /* Starting value in the range. */ 5094faf9d3aSPedro Giffuni TW_UINT32 MaxValue; /* Final value in the range. */ 5104faf9d3aSPedro Giffuni TW_UINT32 StepSize; /* Increment from MinValue to MaxValue. */ 5114faf9d3aSPedro Giffuni TW_UINT32 DefaultValue; /* Power-up value. */ 5124faf9d3aSPedro Giffuni TW_UINT32 CurrentValue; /* The value that is currently in effect. */ 5134faf9d3aSPedro Giffuni } TW_RANGE, FAR * pTW_RANGE; 5144faf9d3aSPedro Giffuni 515cdf0e10cSrcweir /* DAT_RGBRESPONSE */ 516cdf0e10cSrcweir typedef struct { 517cdf0e10cSrcweir TW_ELEMENT8 Response[1]; 518cdf0e10cSrcweir } TW_RGBRESPONSE, FAR * pTW_RGBRESPONSE; 519cdf0e10cSrcweir 520cdf0e10cSrcweir /* DAT_SETUPFILEXFER. Sets up DS to application data transfer via a file. */ 521cdf0e10cSrcweir typedef struct { 522cdf0e10cSrcweir TW_STR255 FileName; 523cdf0e10cSrcweir TW_UINT16 Format; /* Any TWFF_ constant */ 524cdf0e10cSrcweir TW_INT16 VRefNum; /* Used for Mac only */ 525cdf0e10cSrcweir } TW_SETUPFILEXFER, FAR * pTW_SETUPFILEXFER; 526cdf0e10cSrcweir 527cdf0e10cSrcweir /* DAT_SETUPMEMXFER. Sets up DS to application data transfer via a memory buffer. */ 528cdf0e10cSrcweir typedef struct { 529cdf0e10cSrcweir TW_UINT32 MinBufSize; 530cdf0e10cSrcweir TW_UINT32 MaxBufSize; 531cdf0e10cSrcweir TW_UINT32 Preferred; 532cdf0e10cSrcweir } TW_SETUPMEMXFER, FAR * pTW_SETUPMEMXFER; 533cdf0e10cSrcweir 534cdf0e10cSrcweir /* DAT_STATUS. Application gets detailed status info from a data source with this. */ 535cdf0e10cSrcweir typedef struct { 5364faf9d3aSPedro Giffuni TW_UINT16 ConditionCode; /* Any TWCC_ constant */ 5374faf9d3aSPedro Giffuni union { 5384faf9d3aSPedro Giffuni TW_UINT16 Data; /* output (TWAIN 2.1 and newer) This field contains additional data. */ 5394faf9d3aSPedro Giffuni TW_UINT16 Reserved; /* output (TWAIN 2.0 and older) */ 5404faf9d3aSPedro Giffuni }; 541cdf0e10cSrcweir } TW_STATUS, FAR * pTW_STATUS; 542cdf0e10cSrcweir 5434faf9d3aSPedro Giffuni /* DAT_STATUSUTF8. Application gets detailed UTF8 status info from a data source with this. Added 2.1 */ 5444faf9d3aSPedro Giffuni typedef struct { 5454faf9d3aSPedro Giffuni TW_STATUS Status; /* input TW_STATUS data received from a previous call to DG_CONTROL / DAT_STATUS / MSG_GET. */ 5464faf9d3aSPedro Giffuni TW_UINT32 Size; /* output Total number of bytes in the UTF8string, plus the terminating NUL byte. This is not the same as the total number of characters in the string. */ 5474faf9d3aSPedro Giffuni TW_HANDLE UTF8string; /* output TW_HANDLE to a UTF-8 encoded localized string (based on TW_IDENTITY.Language or CAP_LANGUAGE). The Source allocates it, the Application frees it. */ 5484faf9d3aSPedro Giffuni } TW_STATUSUTF8, FAR * pTW_STATUSUTF8; 5494faf9d3aSPedro Giffuni 550cdf0e10cSrcweir /* DAT_USERINTERFACE. Coordinates UI between application and data source. */ 551cdf0e10cSrcweir typedef struct { 552cdf0e10cSrcweir TW_BOOL ShowUI; /* TRUE if DS should bring up its UI */ 553cdf0e10cSrcweir TW_BOOL ModalUI; /* For Mac only - true if the DS's UI is modal */ 554cdf0e10cSrcweir TW_HANDLE hParent; /* For windows only - Application window handle */ 555cdf0e10cSrcweir } TW_USERINTERFACE, FAR * pTW_USERINTERFACE; 556cdf0e10cSrcweir 557cdf0e10cSrcweir 558cdf0e10cSrcweir 559cdf0e10cSrcweir /**************************************************************************** 560cdf0e10cSrcweir * Generic Constants * 561cdf0e10cSrcweir ****************************************************************************/ 562cdf0e10cSrcweir 563cdf0e10cSrcweir #define TWON_ARRAY 3 /* indicates TW_ARRAY container */ 564cdf0e10cSrcweir #define TWON_ENUMERATION 4 /* indicates TW_ENUMERATION container */ 565cdf0e10cSrcweir #define TWON_ONEVALUE 5 /* indicates TW_ONEVALUE container */ 566cdf0e10cSrcweir #define TWON_RANGE 6 /* indicates TW_RANGE container */ 567cdf0e10cSrcweir 568cdf0e10cSrcweir #define TWON_ICONID 962 /* res Id of icon used in USERSELECT lbox */ 569cdf0e10cSrcweir #define TWON_DSMID 461 /* res Id of the DSM version num resource */ 570cdf0e10cSrcweir #define TWON_DSMCODEID 63 /* res Id of the Mac SM Code resource */ 571cdf0e10cSrcweir 572cdf0e10cSrcweir #define TWON_DONTCARE8 0xff 573cdf0e10cSrcweir #define TWON_DONTCARE16 0xffff 574cdf0e10cSrcweir #define TWON_DONTCARE32 0xffffffff 575cdf0e10cSrcweir 576cdf0e10cSrcweir /* Flags used in TW_MEMORY structure. */ 577cdf0e10cSrcweir #define TWMF_APPOWNS 0x1 578cdf0e10cSrcweir #define TWMF_DSMOWNS 0x2 579cdf0e10cSrcweir #define TWMF_DSOWNS 0x4 580cdf0e10cSrcweir #define TWMF_POINTER 0x8 581cdf0e10cSrcweir #define TWMF_HANDLE 0x10 582cdf0e10cSrcweir 583cdf0e10cSrcweir /* There are four containers used for capabilities negotiation: 584cdf0e10cSrcweir * TWON_ONEVALUE, TWON_RANGE, TWON_ENUMERATION, TWON_ARRAY 585cdf0e10cSrcweir * In each container structure ItemType can be TWTY_INT8, TWTY_INT16, etc. 586cdf0e10cSrcweir * The kind of data stored in the container can be determined by doing 587cdf0e10cSrcweir * DCItemSize[ItemType] where the following is defined in TWAIN glue code: 588cdf0e10cSrcweir * DCItemSize[]= { sizeof(TW_INT8), 589cdf0e10cSrcweir * sizeof(TW_INT16), 590cdf0e10cSrcweir * etc. 591cdf0e10cSrcweir * sizeof(TW_UINT32) }; 592cdf0e10cSrcweir * 593cdf0e10cSrcweir */ 594cdf0e10cSrcweir 595cdf0e10cSrcweir #define TWTY_INT8 0x0000 /* Means Item is a TW_INT8 */ 596cdf0e10cSrcweir #define TWTY_INT16 0x0001 /* Means Item is a TW_INT16 */ 597cdf0e10cSrcweir #define TWTY_INT32 0x0002 /* Means Item is a TW_INT32 */ 598cdf0e10cSrcweir 599cdf0e10cSrcweir #define TWTY_UINT8 0x0003 /* Means Item is a TW_UINT8 */ 600cdf0e10cSrcweir #define TWTY_UINT16 0x0004 /* Means Item is a TW_UINT16 */ 6014faf9d3aSPedro Giffuni #define TWTY_UINT32 0x0005 /* Means Item is a TW_UINT32 */ 602cdf0e10cSrcweir 6034faf9d3aSPedro Giffuni #define TWTY_BOOL 0x0006 /* Means Item is a TW_BOOL */ 604cdf0e10cSrcweir 6054faf9d3aSPedro Giffuni #define TWTY_FIX32 0x0007 /* Means Item is a TW_FIX32 */ 606cdf0e10cSrcweir 6074faf9d3aSPedro Giffuni #define TWTY_FRAME 0x0008 /* Means Item is a TW_FRAME */ 608cdf0e10cSrcweir 6094faf9d3aSPedro Giffuni #define TWTY_STR32 0x0009 /* Means Item is a TW_STR32 */ 6104faf9d3aSPedro Giffuni #define TWTY_STR64 0x000a /* Means Item is a TW_STR64 */ 6114faf9d3aSPedro Giffuni #define TWTY_STR128 0x000b /* Means Item is a TW_STR128 */ 6124faf9d3aSPedro Giffuni #define TWTY_STR255 0x000c /* Means Item is a TW_STR255 */ 6134faf9d3aSPedro Giffuni #define TWTY_HANDLE 0x000f /* Means Item is a TW_HANDLE */ 614cdf0e10cSrcweir 615cdf0e10cSrcweir 6164faf9d3aSPedro Giffuni /**************************************************************************** 6174faf9d3aSPedro Giffuni * Capability Constants * 6184faf9d3aSPedro Giffuni ****************************************************************************/ 619cdf0e10cSrcweir 6204faf9d3aSPedro Giffuni /* CAP_ALARMS values (AL_ means alarms) Added 1.8 */ 6214faf9d3aSPedro Giffuni #define TWAL_ALARM 0 6224faf9d3aSPedro Giffuni #define TWAL_FEEDERERROR 1 6234faf9d3aSPedro Giffuni #define TWAL_FEEDERWARNING 2 6244faf9d3aSPedro Giffuni #define TWAL_BARCODE 3 6254faf9d3aSPedro Giffuni #define TWAL_DOUBLEFEED 4 6264faf9d3aSPedro Giffuni #define TWAL_JAM 5 6274faf9d3aSPedro Giffuni #define TWAL_PATCHCODE 6 6284faf9d3aSPedro Giffuni #define TWAL_POWER 7 6294faf9d3aSPedro Giffuni #define TWAL_SKEW 8 6304faf9d3aSPedro Giffuni 6314faf9d3aSPedro Giffuni /* ICAP_AUTOSIZE values Added 2.0 */ 6324faf9d3aSPedro Giffuni #define TWAS_NONE 0 6334faf9d3aSPedro Giffuni #define TWAS_AUTO 1 6344faf9d3aSPedro Giffuni #define TWAS_CURRENT 2 6354faf9d3aSPedro Giffuni 6364faf9d3aSPedro Giffuni /* TWEI_BARCODEROTATION values (BCOR_ means barcode rotation) Added 1.7 */ 6374faf9d3aSPedro Giffuni #define TWBCOR_ROT0 0 6384faf9d3aSPedro Giffuni #define TWBCOR_ROT90 1 6394faf9d3aSPedro Giffuni #define TWBCOR_ROT180 2 6404faf9d3aSPedro Giffuni #define TWBCOR_ROT270 3 6414faf9d3aSPedro Giffuni #define TWBCOR_ROTX 4 642cdf0e10cSrcweir 6434faf9d3aSPedro Giffuni /* ICAP_BARCODESEARCHMODE values (TWBD_ means search) */ 6444faf9d3aSPedro Giffuni #define TWBD_HORZ 0 6454faf9d3aSPedro Giffuni #define TWBD_VERT 1 6464faf9d3aSPedro Giffuni #define TWBD_HORZVERT 2 6474faf9d3aSPedro Giffuni #define TWBD_VERTHORZ 3 648cdf0e10cSrcweir 6494faf9d3aSPedro Giffuni /* ICAP_BITORDER values (BO_ means Bit Order) */ 6504faf9d3aSPedro Giffuni #define TWBO_LSBFIRST 0 6514faf9d3aSPedro Giffuni #define TWBO_MSBFIRST 1 652cdf0e10cSrcweir 6534faf9d3aSPedro Giffuni /* ICAP_AUTODISCARDBLANKPAGES values Added 2.0 */ 6544faf9d3aSPedro Giffuni #define TWBP_DISABLE -2 6554faf9d3aSPedro Giffuni #define TWBP_AUTO -1 656cdf0e10cSrcweir 6574faf9d3aSPedro Giffuni /* ICAP_BITDEPTHREDUCTION values (BR_ means Bitdepth Reduction) Added 1.5 */ 6584faf9d3aSPedro Giffuni #define TWBR_THRESHOLD 0 6594faf9d3aSPedro Giffuni #define TWBR_HALFTONE 1 6604faf9d3aSPedro Giffuni #define TWBR_CUSTHALFTONE 2 6614faf9d3aSPedro Giffuni #define TWBR_DIFFUSION 3 662cdf0e10cSrcweir 6634faf9d3aSPedro Giffuni /* ICAP_SUPPORTEDBARCODETYPES and TWEI_BARCODETYPE values Added 1.7 */ 664cdf0e10cSrcweir #define TWBT_3OF9 0 665cdf0e10cSrcweir #define TWBT_2OF5INTERLEAVED 1 666cdf0e10cSrcweir #define TWBT_2OF5NONINTERLEAVED 2 667cdf0e10cSrcweir #define TWBT_CODE93 3 668cdf0e10cSrcweir #define TWBT_CODE128 4 669cdf0e10cSrcweir #define TWBT_UCC128 5 670cdf0e10cSrcweir #define TWBT_CODABAR 6 671cdf0e10cSrcweir #define TWBT_UPCA 7 672cdf0e10cSrcweir #define TWBT_UPCE 8 673cdf0e10cSrcweir #define TWBT_EAN8 9 674cdf0e10cSrcweir #define TWBT_EAN13 10 675cdf0e10cSrcweir #define TWBT_POSTNET 11 676cdf0e10cSrcweir #define TWBT_PDF417 12 6774faf9d3aSPedro Giffuni #define TWBT_2OF5INDUSTRIAL 13 /* Added 1.8 */ 6784faf9d3aSPedro Giffuni #define TWBT_2OF5MATRIX 14 /* Added 1.8 */ 6794faf9d3aSPedro Giffuni #define TWBT_2OF5DATALOGIC 15 /* Added 1.8 */ 6804faf9d3aSPedro Giffuni #define TWBT_2OF5IATA 16 /* Added 1.8 */ 6814faf9d3aSPedro Giffuni #define TWBT_3OF9FULLASCII 17 /* Added 1.8 */ 6824faf9d3aSPedro Giffuni #define TWBT_CODABARWITHSTARTSTOP 18 /* Added 1.8 */ 6834faf9d3aSPedro Giffuni #define TWBT_MAXICODE 19 /* Added 1.8 */ 684cdf0e10cSrcweir 6854faf9d3aSPedro Giffuni /* ICAP_COMPRESSION values (CP_ means ComPression ) */ 6864faf9d3aSPedro Giffuni #define TWCP_NONE 0 6874faf9d3aSPedro Giffuni #define TWCP_PACKBITS 1 6884faf9d3aSPedro Giffuni #define TWCP_GROUP31D 2 /* Follows CCITT spec (no End Of Line) */ 6894faf9d3aSPedro Giffuni #define TWCP_GROUP31DEOL 3 /* Follows CCITT spec (has End Of Line) */ 6904faf9d3aSPedro Giffuni #define TWCP_GROUP32D 4 /* Follows CCITT spec (use cap for K Factor) */ 6914faf9d3aSPedro Giffuni #define TWCP_GROUP4 5 /* Follows CCITT spec */ 6924faf9d3aSPedro Giffuni #define TWCP_JPEG 6 /* Use capability for more info */ 6934faf9d3aSPedro Giffuni #define TWCP_LZW 7 /* Must license from Unisys and IBM to use */ 6944faf9d3aSPedro Giffuni #define TWCP_JBIG 8 /* For Bitonal images -- Added 1.7 KHL */ 6954faf9d3aSPedro Giffuni #define TWCP_PNG 9 /* Added 1.8 */ 6964faf9d3aSPedro Giffuni #define TWCP_RLE4 10 /* Added 1.8 */ 6974faf9d3aSPedro Giffuni #define TWCP_RLE8 11 /* Added 1.8 */ 6984faf9d3aSPedro Giffuni #define TWCP_BITFIELDS 12 /* Added 1.8 */ 6994faf9d3aSPedro Giffuni 7004faf9d3aSPedro Giffuni /* CAP_CAMERASIDE and TWEI_PAGESIDE values (CS_ means camera side) Added 1.91 */ 7014faf9d3aSPedro Giffuni #define TWCS_BOTH 0 7024faf9d3aSPedro Giffuni #define TWCS_TOP 1 7034faf9d3aSPedro Giffuni #define TWCS_BOTTOM 2 704cdf0e10cSrcweir 705cdf0e10cSrcweir /* CAP_CLEARBUFFERS values (CB_ means clear buffers) */ 7064faf9d3aSPedro Giffuni #define TWCB_AUTO 0 7074faf9d3aSPedro Giffuni #define TWCB_CLEAR 1 7084faf9d3aSPedro Giffuni #define TWCB_NOCLEAR 2 709cdf0e10cSrcweir 710cdf0e10cSrcweir /* CAP_DEVICEEVENT values (DE_ means device event) */ 711cdf0e10cSrcweir #define TWDE_CUSTOMEVENTS 0x8000 712cdf0e10cSrcweir #define TWDE_CHECKAUTOMATICCAPTURE 0 713cdf0e10cSrcweir #define TWDE_CHECKBATTERY 1 714cdf0e10cSrcweir #define TWDE_CHECKDEVICEONLINE 2 715cdf0e10cSrcweir #define TWDE_CHECKFLASH 3 716cdf0e10cSrcweir #define TWDE_CHECKPOWERSUPPLY 4 717cdf0e10cSrcweir #define TWDE_CHECKRESOLUTION 5 718cdf0e10cSrcweir #define TWDE_DEVICEADDED 6 719cdf0e10cSrcweir #define TWDE_DEVICEOFFLINE 7 720cdf0e10cSrcweir #define TWDE_DEVICEREADY 8 721cdf0e10cSrcweir #define TWDE_DEVICEREMOVED 9 722cdf0e10cSrcweir #define TWDE_IMAGECAPTURED 10 723cdf0e10cSrcweir #define TWDE_IMAGEDELETED 11 724cdf0e10cSrcweir #define TWDE_PAPERDOUBLEFEED 12 725cdf0e10cSrcweir #define TWDE_PAPERJAM 13 726cdf0e10cSrcweir #define TWDE_LAMPFAILURE 14 727cdf0e10cSrcweir #define TWDE_POWERSAVE 15 728cdf0e10cSrcweir #define TWDE_POWERSAVENOTIFY 16 729cdf0e10cSrcweir 7304faf9d3aSPedro Giffuni /* TW_PASSTHRU.Direction values. Added 1.8 */ 7314faf9d3aSPedro Giffuni #define TWDR_GET 1 7324faf9d3aSPedro Giffuni #define TWDR_SET 2 7334faf9d3aSPedro Giffuni 7344faf9d3aSPedro Giffuni /* TWEI_DESKEWSTATUS values Added 1.7 */ 7354faf9d3aSPedro Giffuni #define TWDSK_SUCCESS 0 7364faf9d3aSPedro Giffuni #define TWDSK_REPORTONLY 1 7374faf9d3aSPedro Giffuni #define TWDSK_FAIL 2 7384faf9d3aSPedro Giffuni #define TWDSK_DISABLED 3 7394faf9d3aSPedro Giffuni 7404faf9d3aSPedro Giffuni /* CAP_DUPLEX values Added 1.7 */ 7414faf9d3aSPedro Giffuni #define TWDX_NONE 0 7424faf9d3aSPedro Giffuni #define TWDX_1PASSDUPLEX 1 7434faf9d3aSPedro Giffuni #define TWDX_2PASSDUPLEX 2 7444faf9d3aSPedro Giffuni 745cdf0e10cSrcweir /* CAP_FEEDERALIGNMENT values (FA_ means feeder alignment) */ 7464faf9d3aSPedro Giffuni #define TWFA_NONE 0 7474faf9d3aSPedro Giffuni #define TWFA_LEFT 1 7484faf9d3aSPedro Giffuni #define TWFA_CENTER 2 7494faf9d3aSPedro Giffuni #define TWFA_RIGHT 3 7504faf9d3aSPedro Giffuni 7514faf9d3aSPedro Giffuni /* ICAP_FEEDERTYPE */ 7524faf9d3aSPedro Giffuni #define TWFE_GENERAL 0 7534faf9d3aSPedro Giffuni #define TWFE_PHOTO 1 7544faf9d3aSPedro Giffuni 7554faf9d3aSPedro Giffuni /* ICAP_IMAGEFILEFORMAT values (FF_means File Format) */ 7564faf9d3aSPedro Giffuni #define TWFF_TIFF 0 /* Tagged Image File Format */ 7574faf9d3aSPedro Giffuni #define TWFF_PICT 1 /* Macintosh PICT */ 7584faf9d3aSPedro Giffuni #define TWFF_BMP 2 /* Windows Bitmap */ 7594faf9d3aSPedro Giffuni #define TWFF_XBM 3 /* X-Windows Bitmap */ 7604faf9d3aSPedro Giffuni #define TWFF_JFIF 4 /* JPEG File Interchange Format */ 7614faf9d3aSPedro Giffuni #define TWFF_FPX 5 /* Flash Pix */ 7624faf9d3aSPedro Giffuni #define TWFF_TIFFMULTI 6 /* Multi-page tiff file */ 7634faf9d3aSPedro Giffuni #define TWFF_PNG 7 7644faf9d3aSPedro Giffuni #define TWFF_SPIFF 8 7654faf9d3aSPedro Giffuni #define TWFF_EXIF 9 7664faf9d3aSPedro Giffuni #define TWFF_PDF 10 /* 1.91 NB: this is not PDF/A */ 7674faf9d3aSPedro Giffuni #define TWFF_JP2 11 /* 1.91 */ 7684faf9d3aSPedro Giffuni #define TWFF_JPX 13 /* 1.91 */ 7694faf9d3aSPedro Giffuni #define TWFF_DEJAVU 14 /* 1.91 */ 7704faf9d3aSPedro Giffuni #define TWFF_PDFA 15 /* 2.0 Adobe PDF/A, Version 1*/ 7714faf9d3aSPedro Giffuni #define TWFF_PDFA2 16 /* 2.1 Adobe PDF/A, Version 2*/ 7724faf9d3aSPedro Giffuni 7734faf9d3aSPedro Giffuni /* ICAP_FLASHUSED2 values (FL_ means flash) */ 7744faf9d3aSPedro Giffuni #define TWFL_NONE 0 7754faf9d3aSPedro Giffuni #define TWFL_OFF 1 7764faf9d3aSPedro Giffuni #define TWFL_ON 2 7774faf9d3aSPedro Giffuni #define TWFL_AUTO 3 7784faf9d3aSPedro Giffuni #define TWFL_REDEYE 4 779cdf0e10cSrcweir 780cdf0e10cSrcweir /* CAP_FEEDERORDER values (FO_ means feeder order) */ 7814faf9d3aSPedro Giffuni #define TWFO_FIRSTPAGEFIRST 0 7824faf9d3aSPedro Giffuni #define TWFO_LASTPAGEFIRST 1 7834faf9d3aSPedro Giffuni 7844faf9d3aSPedro Giffuni /* CAP_FEEDERPOCKET */ 7854faf9d3aSPedro Giffuni #define TWFP_POCKETERROR 0 7864faf9d3aSPedro Giffuni #define TWFP_POCKET1 1 7874faf9d3aSPedro Giffuni #define TWFP_POCKET2 2 7884faf9d3aSPedro Giffuni #define TWFP_POCKET3 3 7894faf9d3aSPedro Giffuni #define TWFP_POCKET4 4 7904faf9d3aSPedro Giffuni #define TWFP_POCKET5 5 7914faf9d3aSPedro Giffuni #define TWFP_POCKET6 6 7924faf9d3aSPedro Giffuni #define TWFP_POCKET7 7 7934faf9d3aSPedro Giffuni #define TWFP_POCKET8 8 7944faf9d3aSPedro Giffuni #define TWFP_POCKET9 9 7954faf9d3aSPedro Giffuni #define TWFP_POCKET10 10 7964faf9d3aSPedro Giffuni #define TWFP_POCKET11 11 7974faf9d3aSPedro Giffuni #define TWFP_POCKET12 12 7984faf9d3aSPedro Giffuni #define TWFP_POCKET13 13 7994faf9d3aSPedro Giffuni #define TWFP_POCKET14 14 8004faf9d3aSPedro Giffuni #define TWFP_POCKET15 15 8014faf9d3aSPedro Giffuni #define TWFP_POCKET16 16 802cdf0e10cSrcweir 8034faf9d3aSPedro Giffuni /* ICAP_FLIPROTATION values (FR_ means flip rotation) */ 8044faf9d3aSPedro Giffuni #define TWFR_BOOK 0 8054faf9d3aSPedro Giffuni #define TWFR_FANFOLD 1 806cdf0e10cSrcweir 8074faf9d3aSPedro Giffuni /* ICAP_FILTER values (FT_ means Filter Type) */ 8084faf9d3aSPedro Giffuni #define TWFT_RED 0 8094faf9d3aSPedro Giffuni #define TWFT_GREEN 1 8104faf9d3aSPedro Giffuni #define TWFT_BLUE 2 8114faf9d3aSPedro Giffuni #define TWFT_NONE 3 8124faf9d3aSPedro Giffuni #define TWFT_WHITE 4 8134faf9d3aSPedro Giffuni #define TWFT_CYAN 5 8144faf9d3aSPedro Giffuni #define TWFT_MAGENTA 6 8154faf9d3aSPedro Giffuni #define TWFT_YELLOW 7 8164faf9d3aSPedro Giffuni #define TWFT_BLACK 8 8174faf9d3aSPedro Giffuni 8184faf9d3aSPedro Giffuni /* TW_FILESYSTEM.FileType values (FY_ means file type) */ 8194faf9d3aSPedro Giffuni #define TWFY_CAMERA 0 8204faf9d3aSPedro Giffuni #define TWFY_CAMERATOP 1 8214faf9d3aSPedro Giffuni #define TWFY_CAMERABOTTOM 2 8224faf9d3aSPedro Giffuni #define TWFY_CAMERAPREVIEW 3 8234faf9d3aSPedro Giffuni #define TWFY_DOMAIN 4 8244faf9d3aSPedro Giffuni #define TWFY_HOST 5 8254faf9d3aSPedro Giffuni #define TWFY_DIRECTORY 6 8264faf9d3aSPedro Giffuni #define TWFY_IMAGE 7 8274faf9d3aSPedro Giffuni #define TWFY_UNKNOWN 8 8284faf9d3aSPedro Giffuni 8294faf9d3aSPedro Giffuni /* ICAP_ICCPROFILE */ 8304faf9d3aSPedro Giffuni #define TWIC_NONE 0 8314faf9d3aSPedro Giffuni #define TWIC_LINK 1 8324faf9d3aSPedro Giffuni #define TWIC_EMBED 2 8334faf9d3aSPedro Giffuni 8344faf9d3aSPedro Giffuni /* ICAP_IMAGEFILTER values (IF_ means image filter) */ 8354faf9d3aSPedro Giffuni #define TWIF_NONE 0 8364faf9d3aSPedro Giffuni #define TWIF_AUTO 1 8374faf9d3aSPedro Giffuni #define TWIF_LOWPASS 2 8384faf9d3aSPedro Giffuni #define TWIF_BANDPASS 3 8394faf9d3aSPedro Giffuni #define TWIF_HIGHPASS 4 8404faf9d3aSPedro Giffuni #define TWIF_TEXT TWIF_BANDPASS 8414faf9d3aSPedro Giffuni #define TWIF_FINELINE TWIF_HIGHPASS 8424faf9d3aSPedro Giffuni 8434faf9d3aSPedro Giffuni /* ICAP_IMAGEMERGE values (IM_ means image merge) */ 8444faf9d3aSPedro Giffuni #define TWIM_NONE 0 8454faf9d3aSPedro Giffuni #define TWIM_FRONTONTOP 1 8464faf9d3aSPedro Giffuni #define TWIM_FRONTONBOTTOM 2 8474faf9d3aSPedro Giffuni #define TWIM_FRONTONLEFT 3 8484faf9d3aSPedro Giffuni #define TWIM_FRONTONRIGHT 4 8494faf9d3aSPedro Giffuni 8504faf9d3aSPedro Giffuni /* CAP_JOBCONTROL values Added 1.7 */ 8514faf9d3aSPedro Giffuni #define TWJC_NONE 0 8524faf9d3aSPedro Giffuni #define TWJC_JSIC 1 8534faf9d3aSPedro Giffuni #define TWJC_JSIS 2 8544faf9d3aSPedro Giffuni #define TWJC_JSXC 3 8554faf9d3aSPedro Giffuni #define TWJC_JSXS 4 8564faf9d3aSPedro Giffuni 8574faf9d3aSPedro Giffuni /* ICAP_JPEGQUALITY values (JQ_ means jpeg quality) */ 8584faf9d3aSPedro Giffuni #define TWJQ_UNKNOWN -4 8594faf9d3aSPedro Giffuni #define TWJQ_LOW -3 8604faf9d3aSPedro Giffuni #define TWJQ_MEDIUM -2 8614faf9d3aSPedro Giffuni #define TWJQ_HIGH -1 8624faf9d3aSPedro Giffuni 8634faf9d3aSPedro Giffuni /* ICAP_LIGHTPATH values (LP_ means Light Path) */ 8644faf9d3aSPedro Giffuni #define TWLP_REFLECTIVE 0 8654faf9d3aSPedro Giffuni #define TWLP_TRANSMISSIVE 1 8664faf9d3aSPedro Giffuni 8674faf9d3aSPedro Giffuni /* ICAP_LIGHTSOURCE values (LS_ means Light Source) */ 8684faf9d3aSPedro Giffuni #define TWLS_RED 0 8694faf9d3aSPedro Giffuni #define TWLS_GREEN 1 8704faf9d3aSPedro Giffuni #define TWLS_BLUE 2 8714faf9d3aSPedro Giffuni #define TWLS_NONE 3 8724faf9d3aSPedro Giffuni #define TWLS_WHITE 4 8734faf9d3aSPedro Giffuni #define TWLS_UV 5 8744faf9d3aSPedro Giffuni #define TWLS_IR 6 8754faf9d3aSPedro Giffuni 8764faf9d3aSPedro Giffuni /* TWEI_MAGTYPE values (MD_ means Mag Type) Added 2.0 */ 8774faf9d3aSPedro Giffuni #define TWMD_MICR 0 /* Added 2.0 */ 8784faf9d3aSPedro Giffuni #define TWMD_RAW 1 /* added 2.1 */ 8794faf9d3aSPedro Giffuni #define TWMD_INVALID 2 /* added 2.1 */ 8804faf9d3aSPedro Giffuni 8814faf9d3aSPedro Giffuni /* ICAP_NOISEFILTER values (NF_ means noise filter) */ 8824faf9d3aSPedro Giffuni #define TWNF_NONE 0 8834faf9d3aSPedro Giffuni #define TWNF_AUTO 1 8844faf9d3aSPedro Giffuni #define TWNF_LONEPIXEL 2 8854faf9d3aSPedro Giffuni #define TWNF_MAJORITYRULE 3 8864faf9d3aSPedro Giffuni 8874faf9d3aSPedro Giffuni /* ICAP_ORIENTATION values (OR_ means ORientation) */ 8884faf9d3aSPedro Giffuni #define TWOR_ROT0 0 8894faf9d3aSPedro Giffuni #define TWOR_ROT90 1 8904faf9d3aSPedro Giffuni #define TWOR_ROT180 2 8914faf9d3aSPedro Giffuni #define TWOR_ROT270 3 8924faf9d3aSPedro Giffuni #define TWOR_PORTRAIT TWOR_ROT0 8934faf9d3aSPedro Giffuni #define TWOR_LANDSCAPE TWOR_ROT270 8944faf9d3aSPedro Giffuni #define TWOR_AUTO 4 /* 2.0 */ 8954faf9d3aSPedro Giffuni #define TWOR_AUTOTEXT 5 /* 2.0 */ 8964faf9d3aSPedro Giffuni #define TWOR_AUTOPICTURE 6 /* 2.0 */ 8974faf9d3aSPedro Giffuni 8984faf9d3aSPedro Giffuni /* ICAP_OVERSCAN values (OV_ means overscan) */ 8994faf9d3aSPedro Giffuni #define TWOV_NONE 0 9004faf9d3aSPedro Giffuni #define TWOV_AUTO 1 9014faf9d3aSPedro Giffuni #define TWOV_TOPBOTTOM 2 9024faf9d3aSPedro Giffuni #define TWOV_LEFTRIGHT 3 9034faf9d3aSPedro Giffuni #define TWOV_ALL 4 9044faf9d3aSPedro Giffuni 9054faf9d3aSPedro Giffuni /* Palette types for TW_PALETTE8 */ 9064faf9d3aSPedro Giffuni #define TWPA_RGB 0 9074faf9d3aSPedro Giffuni #define TWPA_GRAY 1 9084faf9d3aSPedro Giffuni #define TWPA_CMY 2 9094faf9d3aSPedro Giffuni 9104faf9d3aSPedro Giffuni /* ICAP_PLANARCHUNKY values (PC_ means Planar/Chunky ) */ 9114faf9d3aSPedro Giffuni #define TWPC_CHUNKY 0 9124faf9d3aSPedro Giffuni #define TWPC_PLANAR 1 9134faf9d3aSPedro Giffuni 9144faf9d3aSPedro Giffuni /* TWEI_PATCHCODE values Added 1.7 */ 9154faf9d3aSPedro Giffuni #define TWPCH_PATCH1 0 9164faf9d3aSPedro Giffuni #define TWPCH_PATCH2 1 9174faf9d3aSPedro Giffuni #define TWPCH_PATCH3 2 9184faf9d3aSPedro Giffuni #define TWPCH_PATCH4 3 9194faf9d3aSPedro Giffuni #define TWPCH_PATCH6 4 9204faf9d3aSPedro Giffuni #define TWPCH_PATCHT 5 9214faf9d3aSPedro Giffuni 9224faf9d3aSPedro Giffuni /* ICAP_PIXELFLAVOR values (PF_ means Pixel Flavor) */ 9234faf9d3aSPedro Giffuni #define TWPF_CHOCOLATE 0 /* zero pixel represents darkest shade */ 9244faf9d3aSPedro Giffuni #define TWPF_VANILLA 1 /* zero pixel represents lightest shade */ 9254faf9d3aSPedro Giffuni 9264faf9d3aSPedro Giffuni /* CAP_PRINTERMODE values (PM_ means printer mode) */ 9274faf9d3aSPedro Giffuni #define TWPM_SINGLESTRING 0 9284faf9d3aSPedro Giffuni #define TWPM_MULTISTRING 1 9294faf9d3aSPedro Giffuni #define TWPM_COMPOUNDSTRING 2 930cdf0e10cSrcweir 931cdf0e10cSrcweir /* CAP_PRINTER values (PR_ means printer) */ 932cdf0e10cSrcweir #define TWPR_IMPRINTERTOPBEFORE 0 933cdf0e10cSrcweir #define TWPR_IMPRINTERTOPAFTER 1 934cdf0e10cSrcweir #define TWPR_IMPRINTERBOTTOMBEFORE 2 935cdf0e10cSrcweir #define TWPR_IMPRINTERBOTTOMAFTER 3 936cdf0e10cSrcweir #define TWPR_ENDORSERTOPBEFORE 4 937cdf0e10cSrcweir #define TWPR_ENDORSERTOPAFTER 5 938cdf0e10cSrcweir #define TWPR_ENDORSERBOTTOMBEFORE 6 939cdf0e10cSrcweir #define TWPR_ENDORSERBOTTOMAFTER 7 940cdf0e10cSrcweir 9414faf9d3aSPedro Giffuni /* CAP_POWERSUPPLY values (PS_ means power supply) */ 9424faf9d3aSPedro Giffuni #define TWPS_EXTERNAL 0 9434faf9d3aSPedro Giffuni #define TWPS_BATTERY 1 944cdf0e10cSrcweir 9454faf9d3aSPedro Giffuni /* ICAP_PIXELTYPE values (PT_ means Pixel Type) */ 9464faf9d3aSPedro Giffuni #define TWPT_BW 0 /* Black and White */ 9474faf9d3aSPedro Giffuni #define TWPT_GRAY 1 9484faf9d3aSPedro Giffuni #define TWPT_RGB 2 9494faf9d3aSPedro Giffuni #define TWPT_PALETTE 3 9504faf9d3aSPedro Giffuni #define TWPT_CMY 4 9514faf9d3aSPedro Giffuni #define TWPT_CMYK 5 9524faf9d3aSPedro Giffuni #define TWPT_YUV 6 9534faf9d3aSPedro Giffuni #define TWPT_YUVK 7 9544faf9d3aSPedro Giffuni #define TWPT_CIEXYZ 8 9554faf9d3aSPedro Giffuni #define TWPT_LAB 9 9564faf9d3aSPedro Giffuni #define TWPT_SRGB 10 /* 1.91 */ 9574faf9d3aSPedro Giffuni #define TWPT_SCRGB 11 /* 1.91 */ 9584faf9d3aSPedro Giffuni #define TWPT_INFRARED 16 /* 2.0 */ 9594faf9d3aSPedro Giffuni 9604faf9d3aSPedro Giffuni /* CAP_SEGMENTED values (SG_ means segmented) Added 1.91 */ 9614faf9d3aSPedro Giffuni #define TWSG_NONE 0 9624faf9d3aSPedro Giffuni #define TWSG_AUTO 1 963cdf0e10cSrcweir 9644faf9d3aSPedro Giffuni /* ICAP_SUPPORTEDSIZES values (SS_ means Supported Sizes) */ 9654faf9d3aSPedro Giffuni #define TWSS_NONE 0 9664faf9d3aSPedro Giffuni #define TWSS_A4 1 9674faf9d3aSPedro Giffuni #define TWSS_JISB5 2 9684faf9d3aSPedro Giffuni #define TWSS_USLETTER 3 9694faf9d3aSPedro Giffuni #define TWSS_USLEGAL 4 9704faf9d3aSPedro Giffuni /* Added 1.5 */ 9714faf9d3aSPedro Giffuni #define TWSS_A5 5 9724faf9d3aSPedro Giffuni #define TWSS_ISOB4 6 9734faf9d3aSPedro Giffuni #define TWSS_ISOB6 7 9744faf9d3aSPedro Giffuni /* Added 1.7 */ 9754faf9d3aSPedro Giffuni #define TWSS_USLEDGER 9 9764faf9d3aSPedro Giffuni #define TWSS_USEXECUTIVE 10 9774faf9d3aSPedro Giffuni #define TWSS_A3 11 9784faf9d3aSPedro Giffuni #define TWSS_ISOB3 12 9794faf9d3aSPedro Giffuni #define TWSS_A6 13 9804faf9d3aSPedro Giffuni #define TWSS_C4 14 9814faf9d3aSPedro Giffuni #define TWSS_C5 15 9824faf9d3aSPedro Giffuni #define TWSS_C6 16 9834faf9d3aSPedro Giffuni /* Added 1.8 */ 9844faf9d3aSPedro Giffuni #define TWSS_4A0 17 9854faf9d3aSPedro Giffuni #define TWSS_2A0 18 9864faf9d3aSPedro Giffuni #define TWSS_A0 19 9874faf9d3aSPedro Giffuni #define TWSS_A1 20 9884faf9d3aSPedro Giffuni #define TWSS_A2 21 9894faf9d3aSPedro Giffuni #define TWSS_A7 22 9904faf9d3aSPedro Giffuni #define TWSS_A8 23 9914faf9d3aSPedro Giffuni #define TWSS_A9 24 9924faf9d3aSPedro Giffuni #define TWSS_A10 25 9934faf9d3aSPedro Giffuni #define TWSS_ISOB0 26 9944faf9d3aSPedro Giffuni #define TWSS_ISOB1 27 9954faf9d3aSPedro Giffuni #define TWSS_ISOB2 28 9964faf9d3aSPedro Giffuni #define TWSS_ISOB5 29 9974faf9d3aSPedro Giffuni #define TWSS_ISOB7 30 9984faf9d3aSPedro Giffuni #define TWSS_ISOB8 31 9994faf9d3aSPedro Giffuni #define TWSS_ISOB9 32 10004faf9d3aSPedro Giffuni #define TWSS_ISOB10 33 10014faf9d3aSPedro Giffuni #define TWSS_JISB0 34 10024faf9d3aSPedro Giffuni #define TWSS_JISB1 35 10034faf9d3aSPedro Giffuni #define TWSS_JISB2 36 10044faf9d3aSPedro Giffuni #define TWSS_JISB3 37 10054faf9d3aSPedro Giffuni #define TWSS_JISB4 38 10064faf9d3aSPedro Giffuni #define TWSS_JISB6 39 10074faf9d3aSPedro Giffuni #define TWSS_JISB7 40 10084faf9d3aSPedro Giffuni #define TWSS_JISB8 41 10094faf9d3aSPedro Giffuni #define TWSS_JISB9 42 10104faf9d3aSPedro Giffuni #define TWSS_JISB10 43 10114faf9d3aSPedro Giffuni #define TWSS_C0 44 10124faf9d3aSPedro Giffuni #define TWSS_C1 45 10134faf9d3aSPedro Giffuni #define TWSS_C2 46 10144faf9d3aSPedro Giffuni #define TWSS_C3 47 10154faf9d3aSPedro Giffuni #define TWSS_C7 48 10164faf9d3aSPedro Giffuni #define TWSS_C8 49 10174faf9d3aSPedro Giffuni #define TWSS_C9 50 10184faf9d3aSPedro Giffuni #define TWSS_C10 51 10194faf9d3aSPedro Giffuni #define TWSS_USSTATEMENT 52 10204faf9d3aSPedro Giffuni #define TWSS_BUSINESSCARD 53 10214faf9d3aSPedro Giffuni #define TWSS_MAXSIZE 54 /* Added 2.1 */ 1022cdf0e10cSrcweir 10234faf9d3aSPedro Giffuni /* ICAP_XFERMECH values (SX_ means Setup XFer) */ 10244faf9d3aSPedro Giffuni #define TWSX_NATIVE 0 10254faf9d3aSPedro Giffuni #define TWSX_FILE 1 10264faf9d3aSPedro Giffuni #define TWSX_MEMORY 2 10274faf9d3aSPedro Giffuni #define TWSX_MEMFILE 4 /* added 1.91 */ 1028cdf0e10cSrcweir 10294faf9d3aSPedro Giffuni /* ICAP_UNITS values (UN_ means UNits) */ 10304faf9d3aSPedro Giffuni #define TWUN_INCHES 0 10314faf9d3aSPedro Giffuni #define TWUN_CENTIMETERS 1 10324faf9d3aSPedro Giffuni #define TWUN_PICAS 2 10334faf9d3aSPedro Giffuni #define TWUN_POINTS 3 10344faf9d3aSPedro Giffuni #define TWUN_TWIPS 4 10354faf9d3aSPedro Giffuni #define TWUN_PIXELS 5 10364faf9d3aSPedro Giffuni #define TWUN_MILLIMETERS 6 /* added 1.91 */ 1037cdf0e10cSrcweir 1038cdf0e10cSrcweir 1039cdf0e10cSrcweir /**************************************************************************** 1040cdf0e10cSrcweir * Country Constants * 1041cdf0e10cSrcweir ****************************************************************************/ 1042cdf0e10cSrcweir 1043cdf0e10cSrcweir #define TWCY_AFGHANISTAN 1001 1044cdf0e10cSrcweir #define TWCY_ALGERIA 213 1045cdf0e10cSrcweir #define TWCY_AMERICANSAMOA 684 1046cdf0e10cSrcweir #define TWCY_ANDORRA 033 1047cdf0e10cSrcweir #define TWCY_ANGOLA 1002 1048cdf0e10cSrcweir #define TWCY_ANGUILLA 8090 1049cdf0e10cSrcweir #define TWCY_ANTIGUA 8091 1050cdf0e10cSrcweir #define TWCY_ARGENTINA 54 1051cdf0e10cSrcweir #define TWCY_ARUBA 297 1052cdf0e10cSrcweir #define TWCY_ASCENSIONI 247 1053cdf0e10cSrcweir #define TWCY_AUSTRALIA 61 1054cdf0e10cSrcweir #define TWCY_AUSTRIA 43 1055cdf0e10cSrcweir #define TWCY_BAHAMAS 8092 1056cdf0e10cSrcweir #define TWCY_BAHRAIN 973 1057cdf0e10cSrcweir #define TWCY_BANGLADESH 880 1058cdf0e10cSrcweir #define TWCY_BARBADOS 8093 1059cdf0e10cSrcweir #define TWCY_BELGIUM 32 1060cdf0e10cSrcweir #define TWCY_BELIZE 501 1061cdf0e10cSrcweir #define TWCY_BENIN 229 1062cdf0e10cSrcweir #define TWCY_BERMUDA 8094 1063cdf0e10cSrcweir #define TWCY_BHUTAN 1003 1064cdf0e10cSrcweir #define TWCY_BOLIVIA 591 1065cdf0e10cSrcweir #define TWCY_BOTSWANA 267 1066cdf0e10cSrcweir #define TWCY_BRITAIN 6 1067cdf0e10cSrcweir #define TWCY_BRITVIRGINIS 8095 1068cdf0e10cSrcweir #define TWCY_BRAZIL 55 1069cdf0e10cSrcweir #define TWCY_BRUNEI 673 1070cdf0e10cSrcweir #define TWCY_BULGARIA 359 1071cdf0e10cSrcweir #define TWCY_BURKINAFASO 1004 1072cdf0e10cSrcweir #define TWCY_BURMA 1005 1073cdf0e10cSrcweir #define TWCY_BURUNDI 1006 1074cdf0e10cSrcweir #define TWCY_CAMAROON 237 1075cdf0e10cSrcweir #define TWCY_CANADA 2 1076cdf0e10cSrcweir #define TWCY_CAPEVERDEIS 238 1077cdf0e10cSrcweir #define TWCY_CAYMANIS 8096 1078cdf0e10cSrcweir #define TWCY_CENTRALAFREP 1007 1079cdf0e10cSrcweir #define TWCY_CHAD 1008 1080cdf0e10cSrcweir #define TWCY_CHILE 56 1081cdf0e10cSrcweir #define TWCY_CHINA 86 1082cdf0e10cSrcweir #define TWCY_CHRISTMASIS 1009 1083cdf0e10cSrcweir #define TWCY_COCOSIS 1009 1084cdf0e10cSrcweir #define TWCY_COLOMBIA 57 1085cdf0e10cSrcweir #define TWCY_COMOROS 1010 1086cdf0e10cSrcweir #define TWCY_CONGO 1011 1087cdf0e10cSrcweir #define TWCY_COOKIS 1012 1088cdf0e10cSrcweir #define TWCY_COSTARICA 506 1089cdf0e10cSrcweir #define TWCY_CUBA 005 1090cdf0e10cSrcweir #define TWCY_CYPRUS 357 1091cdf0e10cSrcweir #define TWCY_CZECHOSLOVAKIA 42 1092cdf0e10cSrcweir #define TWCY_DENMARK 45 1093cdf0e10cSrcweir #define TWCY_DJIBOUTI 1013 1094cdf0e10cSrcweir #define TWCY_DOMINICA 8097 1095cdf0e10cSrcweir #define TWCY_DOMINCANREP 8098 1096cdf0e10cSrcweir #define TWCY_EASTERIS 1014 1097cdf0e10cSrcweir #define TWCY_ECUADOR 593 1098cdf0e10cSrcweir #define TWCY_EGYPT 20 1099cdf0e10cSrcweir #define TWCY_ELSALVADOR 503 1100cdf0e10cSrcweir #define TWCY_EQGUINEA 1015 1101cdf0e10cSrcweir #define TWCY_ETHIOPIA 251 1102cdf0e10cSrcweir #define TWCY_FALKLANDIS 1016 1103cdf0e10cSrcweir #define TWCY_FAEROEIS 298 1104cdf0e10cSrcweir #define TWCY_FIJIISLANDS 679 1105cdf0e10cSrcweir #define TWCY_FINLAND 358 1106cdf0e10cSrcweir #define TWCY_FRANCE 33 1107cdf0e10cSrcweir #define TWCY_FRANTILLES 596 1108cdf0e10cSrcweir #define TWCY_FRGUIANA 594 1109cdf0e10cSrcweir #define TWCY_FRPOLYNEISA 689 1110cdf0e10cSrcweir #define TWCY_FUTANAIS 1043 1111cdf0e10cSrcweir #define TWCY_GABON 241 1112cdf0e10cSrcweir #define TWCY_GAMBIA 220 1113cdf0e10cSrcweir #define TWCY_GERMANY 49 1114cdf0e10cSrcweir #define TWCY_GHANA 233 1115cdf0e10cSrcweir #define TWCY_GIBRALTER 350 1116cdf0e10cSrcweir #define TWCY_GREECE 30 1117cdf0e10cSrcweir #define TWCY_GREENLAND 299 1118cdf0e10cSrcweir #define TWCY_GRENADA 8099 1119cdf0e10cSrcweir #define TWCY_GRENEDINES 8015 1120cdf0e10cSrcweir #define TWCY_GUADELOUPE 590 1121cdf0e10cSrcweir #define TWCY_GUAM 671 1122cdf0e10cSrcweir #define TWCY_GUANTANAMOBAY 5399 1123cdf0e10cSrcweir #define TWCY_GUATEMALA 502 1124cdf0e10cSrcweir #define TWCY_GUINEA 224 1125cdf0e10cSrcweir #define TWCY_GUINEABISSAU 1017 1126cdf0e10cSrcweir #define TWCY_GUYANA 592 1127cdf0e10cSrcweir #define TWCY_HAITI 509 1128cdf0e10cSrcweir #define TWCY_HONDURAS 504 1129cdf0e10cSrcweir #define TWCY_HONGKONG 852 1130cdf0e10cSrcweir #define TWCY_HUNGARY 36 1131cdf0e10cSrcweir #define TWCY_ICELAND 354 1132cdf0e10cSrcweir #define TWCY_INDIA 91 1133cdf0e10cSrcweir #define TWCY_INDONESIA 62 1134cdf0e10cSrcweir #define TWCY_IRAN 98 1135cdf0e10cSrcweir #define TWCY_IRAQ 964 1136cdf0e10cSrcweir #define TWCY_IRELAND 353 1137cdf0e10cSrcweir #define TWCY_ISRAEL 972 1138cdf0e10cSrcweir #define TWCY_ITALY 39 1139cdf0e10cSrcweir #define TWCY_IVORYCOAST 225 1140cdf0e10cSrcweir #define TWCY_JAMAICA 8010 1141cdf0e10cSrcweir #define TWCY_JAPAN 81 1142cdf0e10cSrcweir #define TWCY_JORDAN 962 1143cdf0e10cSrcweir #define TWCY_KENYA 254 1144cdf0e10cSrcweir #define TWCY_KIRIBATI 1018 1145cdf0e10cSrcweir #define TWCY_KOREA 82 1146cdf0e10cSrcweir #define TWCY_KUWAIT 965 1147cdf0e10cSrcweir #define TWCY_LAOS 1019 1148cdf0e10cSrcweir #define TWCY_LEBANON 1020 1149cdf0e10cSrcweir #define TWCY_LIBERIA 231 1150cdf0e10cSrcweir #define TWCY_LIBYA 218 1151cdf0e10cSrcweir #define TWCY_LIECHTENSTEIN 41 1152cdf0e10cSrcweir #define TWCY_LUXENBOURG 352 1153cdf0e10cSrcweir #define TWCY_MACAO 853 1154cdf0e10cSrcweir #define TWCY_MADAGASCAR 1021 1155cdf0e10cSrcweir #define TWCY_MALAWI 265 1156cdf0e10cSrcweir #define TWCY_MALAYSIA 60 1157cdf0e10cSrcweir #define TWCY_MALDIVES 960 1158cdf0e10cSrcweir #define TWCY_MALI 1022 1159cdf0e10cSrcweir #define TWCY_MALTA 356 1160cdf0e10cSrcweir #define TWCY_MARSHALLIS 692 1161cdf0e10cSrcweir #define TWCY_MAURITANIA 1023 1162cdf0e10cSrcweir #define TWCY_MAURITIUS 230 1163cdf0e10cSrcweir #define TWCY_MEXICO 3 1164cdf0e10cSrcweir #define TWCY_MICRONESIA 691 1165cdf0e10cSrcweir #define TWCY_MIQUELON 508 1166cdf0e10cSrcweir #define TWCY_MONACO 33 1167cdf0e10cSrcweir #define TWCY_MONGOLIA 1024 1168cdf0e10cSrcweir #define TWCY_MONTSERRAT 8011 1169cdf0e10cSrcweir #define TWCY_MOROCCO 212 1170cdf0e10cSrcweir #define TWCY_MOZAMBIQUE 1025 1171cdf0e10cSrcweir #define TWCY_NAMIBIA 264 1172cdf0e10cSrcweir #define TWCY_NAURU 1026 1173cdf0e10cSrcweir #define TWCY_NEPAL 977 1174cdf0e10cSrcweir #define TWCY_NETHERLANDS 31 1175cdf0e10cSrcweir #define TWCY_NETHANTILLES 599 1176cdf0e10cSrcweir #define TWCY_NEVIS 8012 1177cdf0e10cSrcweir #define TWCY_NEWCALEDONIA 687 1178cdf0e10cSrcweir #define TWCY_NEWZEALAND 64 1179cdf0e10cSrcweir #define TWCY_NICARAGUA 505 1180cdf0e10cSrcweir #define TWCY_NIGER 227 1181cdf0e10cSrcweir #define TWCY_NIGERIA 234 1182cdf0e10cSrcweir #define TWCY_NIUE 1027 1183cdf0e10cSrcweir #define TWCY_NORFOLKI 1028 1184cdf0e10cSrcweir #define TWCY_NORWAY 47 1185cdf0e10cSrcweir #define TWCY_OMAN 968 1186cdf0e10cSrcweir #define TWCY_PAKISTAN 92 1187cdf0e10cSrcweir #define TWCY_PALAU 1029 1188cdf0e10cSrcweir #define TWCY_PANAMA 507 1189cdf0e10cSrcweir #define TWCY_PARAGUAY 595 1190cdf0e10cSrcweir #define TWCY_PERU 51 1191cdf0e10cSrcweir #define TWCY_PHILLIPPINES 63 1192cdf0e10cSrcweir #define TWCY_PITCAIRNIS 1030 1193cdf0e10cSrcweir #define TWCY_PNEWGUINEA 675 1194cdf0e10cSrcweir #define TWCY_POLAND 48 1195cdf0e10cSrcweir #define TWCY_PORTUGAL 351 1196cdf0e10cSrcweir #define TWCY_QATAR 974 1197cdf0e10cSrcweir #define TWCY_REUNIONI 1031 1198cdf0e10cSrcweir #define TWCY_ROMANIA 40 1199cdf0e10cSrcweir #define TWCY_RWANDA 250 1200cdf0e10cSrcweir #define TWCY_SAIPAN 670 1201cdf0e10cSrcweir #define TWCY_SANMARINO 39 1202cdf0e10cSrcweir #define TWCY_SAOTOME 1033 1203cdf0e10cSrcweir #define TWCY_SAUDIARABIA 966 1204cdf0e10cSrcweir #define TWCY_SENEGAL 221 1205cdf0e10cSrcweir #define TWCY_SEYCHELLESIS 1034 1206cdf0e10cSrcweir #define TWCY_SIERRALEONE 1035 1207cdf0e10cSrcweir #define TWCY_SINGAPORE 65 1208cdf0e10cSrcweir #define TWCY_SOLOMONIS 1036 1209cdf0e10cSrcweir #define TWCY_SOMALI 1037 1210cdf0e10cSrcweir #define TWCY_SOUTHAFRICA 27 1211cdf0e10cSrcweir #define TWCY_SPAIN 34 1212cdf0e10cSrcweir #define TWCY_SRILANKA 94 1213cdf0e10cSrcweir #define TWCY_STHELENA 1032 1214cdf0e10cSrcweir #define TWCY_STKITTS 8013 1215cdf0e10cSrcweir #define TWCY_STLUCIA 8014 1216cdf0e10cSrcweir #define TWCY_STPIERRE 508 1217cdf0e10cSrcweir #define TWCY_STVINCENT 8015 1218cdf0e10cSrcweir #define TWCY_SUDAN 1038 1219cdf0e10cSrcweir #define TWCY_SURINAME 597 1220cdf0e10cSrcweir #define TWCY_SWAZILAND 268 1221cdf0e10cSrcweir #define TWCY_SWEDEN 46 1222cdf0e10cSrcweir #define TWCY_SWITZERLAND 41 1223cdf0e10cSrcweir #define TWCY_SYRIA 1039 1224cdf0e10cSrcweir #define TWCY_TAIWAN 886 1225cdf0e10cSrcweir #define TWCY_TANZANIA 255 1226cdf0e10cSrcweir #define TWCY_THAILAND 66 1227cdf0e10cSrcweir #define TWCY_TOBAGO 8016 1228cdf0e10cSrcweir #define TWCY_TOGO 228 1229cdf0e10cSrcweir #define TWCY_TONGAIS 676 1230cdf0e10cSrcweir #define TWCY_TRINIDAD 8016 1231cdf0e10cSrcweir #define TWCY_TUNISIA 216 1232cdf0e10cSrcweir #define TWCY_TURKEY 90 1233cdf0e10cSrcweir #define TWCY_TURKSCAICOS 8017 1234cdf0e10cSrcweir #define TWCY_TUVALU 1040 1235cdf0e10cSrcweir #define TWCY_UGANDA 256 1236cdf0e10cSrcweir #define TWCY_USSR 7 1237cdf0e10cSrcweir #define TWCY_UAEMIRATES 971 1238cdf0e10cSrcweir #define TWCY_UNITEDKINGDOM 44 1239cdf0e10cSrcweir #define TWCY_USA 1 1240cdf0e10cSrcweir #define TWCY_URUGUAY 598 1241cdf0e10cSrcweir #define TWCY_VANUATU 1041 1242cdf0e10cSrcweir #define TWCY_VATICANCITY 39 1243cdf0e10cSrcweir #define TWCY_VENEZUELA 58 1244cdf0e10cSrcweir #define TWCY_WAKE 1042 1245cdf0e10cSrcweir #define TWCY_WALLISIS 1043 1246cdf0e10cSrcweir #define TWCY_WESTERNSAHARA 1044 1247cdf0e10cSrcweir #define TWCY_WESTERNSAMOA 1045 1248cdf0e10cSrcweir #define TWCY_YEMEN 1046 1249cdf0e10cSrcweir #define TWCY_YUGOSLAVIA 38 1250cdf0e10cSrcweir #define TWCY_ZAIRE 243 1251cdf0e10cSrcweir #define TWCY_ZAMBIA 260 1252cdf0e10cSrcweir #define TWCY_ZIMBABWE 263 1253cdf0e10cSrcweir /* Added for 1.8 */ 1254cdf0e10cSrcweir #define TWCY_ALBANIA 355 1255cdf0e10cSrcweir #define TWCY_ARMENIA 374 1256cdf0e10cSrcweir #define TWCY_AZERBAIJAN 994 1257cdf0e10cSrcweir #define TWCY_BELARUS 375 1258cdf0e10cSrcweir #define TWCY_BOSNIAHERZGO 387 1259cdf0e10cSrcweir #define TWCY_CAMBODIA 855 1260cdf0e10cSrcweir #define TWCY_CROATIA 385 1261cdf0e10cSrcweir #define TWCY_CZECHREPUBLIC 420 1262cdf0e10cSrcweir #define TWCY_DIEGOGARCIA 246 1263cdf0e10cSrcweir #define TWCY_ERITREA 291 1264cdf0e10cSrcweir #define TWCY_ESTONIA 372 1265cdf0e10cSrcweir #define TWCY_GEORGIA 995 1266cdf0e10cSrcweir #define TWCY_LATVIA 371 1267cdf0e10cSrcweir #define TWCY_LESOTHO 266 1268cdf0e10cSrcweir #define TWCY_LITHUANIA 370 1269cdf0e10cSrcweir #define TWCY_MACEDONIA 389 1270cdf0e10cSrcweir #define TWCY_MAYOTTEIS 269 1271cdf0e10cSrcweir #define TWCY_MOLDOVA 373 1272cdf0e10cSrcweir #define TWCY_MYANMAR 95 1273cdf0e10cSrcweir #define TWCY_NORTHKOREA 850 1274cdf0e10cSrcweir #define TWCY_PUERTORICO 787 1275cdf0e10cSrcweir #define TWCY_RUSSIA 7 1276cdf0e10cSrcweir #define TWCY_SERBIA 381 1277cdf0e10cSrcweir #define TWCY_SLOVAKIA 421 1278cdf0e10cSrcweir #define TWCY_SLOVENIA 386 1279cdf0e10cSrcweir #define TWCY_SOUTHKOREA 82 1280cdf0e10cSrcweir #define TWCY_UKRAINE 380 1281cdf0e10cSrcweir #define TWCY_USVIRGINIS 340 1282cdf0e10cSrcweir #define TWCY_VIETNAM 84 1283cdf0e10cSrcweir 1284cdf0e10cSrcweir /**************************************************************************** 1285cdf0e10cSrcweir * Language Constants * 1286cdf0e10cSrcweir ****************************************************************************/ 1287cdf0e10cSrcweir /* Added for 1.8 */ 1288cdf0e10cSrcweir #define TWLG_USERLOCALE -1 12894faf9d3aSPedro Giffuni #define TWLG_DANISH 0 /* Danish */ 12904faf9d3aSPedro Giffuni #define TWLG_DUTCH 1 /* Dutch */ 12914faf9d3aSPedro Giffuni #define TWLG_ENGLISH 2 /* International English */ 12924faf9d3aSPedro Giffuni #define TWLG_FRENCH_CANADIAN 3 /* French Canadian */ 12934faf9d3aSPedro Giffuni #define TWLG_FINNISH 4 /* Finnish */ 12944faf9d3aSPedro Giffuni #define TWLG_FRENCH 5 /* French */ 12954faf9d3aSPedro Giffuni #define TWLG_GERMAN 6 /* German */ 12964faf9d3aSPedro Giffuni #define TWLG_ICELANDIC 7 /* Icelandic */ 12974faf9d3aSPedro Giffuni #define TWLG_ITALIAN 8 /* Italian */ 12984faf9d3aSPedro Giffuni #define TWLG_NORWEGIAN 9 /* Norwegian */ 12994faf9d3aSPedro Giffuni #define TWLG_PORTUGUESE 10 /* Portuguese */ 13004faf9d3aSPedro Giffuni #define TWLG_SPANISH 11 /* Spanish */ 13014faf9d3aSPedro Giffuni #define TWLG_SWEDISH 12 /* Swedish */ 13024faf9d3aSPedro Giffuni #define TWLG_ENGLISH_USA 13 /* U.S. English */ 1303cdf0e10cSrcweir #define TWLG_AFRIKAANS 14 1304cdf0e10cSrcweir #define TWLG_ALBANIA 15 1305cdf0e10cSrcweir #define TWLG_ARABIC 16 1306cdf0e10cSrcweir #define TWLG_ARABIC_ALGERIA 17 1307cdf0e10cSrcweir #define TWLG_ARABIC_BAHRAIN 18 1308cdf0e10cSrcweir #define TWLG_ARABIC_EGYPT 19 1309cdf0e10cSrcweir #define TWLG_ARABIC_IRAQ 20 1310cdf0e10cSrcweir #define TWLG_ARABIC_JORDAN 21 1311cdf0e10cSrcweir #define TWLG_ARABIC_KUWAIT 22 1312cdf0e10cSrcweir #define TWLG_ARABIC_LEBANON 23 1313cdf0e10cSrcweir #define TWLG_ARABIC_LIBYA 24 1314cdf0e10cSrcweir #define TWLG_ARABIC_MOROCCO 25 1315cdf0e10cSrcweir #define TWLG_ARABIC_OMAN 26 1316cdf0e10cSrcweir #define TWLG_ARABIC_QATAR 27 1317cdf0e10cSrcweir #define TWLG_ARABIC_SAUDIARABIA 28 1318cdf0e10cSrcweir #define TWLG_ARABIC_SYRIA 29 1319cdf0e10cSrcweir #define TWLG_ARABIC_TUNISIA 30 1320cdf0e10cSrcweir #define TWLG_ARABIC_UAE 31 /* United Arabic Emirates */ 1321cdf0e10cSrcweir #define TWLG_ARABIC_YEMEN 32 1322cdf0e10cSrcweir #define TWLG_BASQUE 33 1323cdf0e10cSrcweir #define TWLG_BYELORUSSIAN 34 1324cdf0e10cSrcweir #define TWLG_BULGARIAN 35 1325cdf0e10cSrcweir #define TWLG_CATALAN 36 1326cdf0e10cSrcweir #define TWLG_CHINESE 37 1327cdf0e10cSrcweir #define TWLG_CHINESE_HONGKONG 38 1328cdf0e10cSrcweir #define TWLG_CHINESE_PRC 39 /* People's Republic of China */ 1329cdf0e10cSrcweir #define TWLG_CHINESE_SINGAPORE 40 1330cdf0e10cSrcweir #define TWLG_CHINESE_SIMPLIFIED 41 1331cdf0e10cSrcweir #define TWLG_CHINESE_TAIWAN 42 1332cdf0e10cSrcweir #define TWLG_CHINESE_TRADITIONAL 43 1333cdf0e10cSrcweir #define TWLG_CROATIA 44 1334cdf0e10cSrcweir #define TWLG_CZECH 45 1335cdf0e10cSrcweir #define TWLG_DUTCH_BELGIAN 46 1336cdf0e10cSrcweir #define TWLG_ENGLISH_AUSTRALIAN 47 1337cdf0e10cSrcweir #define TWLG_ENGLISH_CANADIAN 48 1338cdf0e10cSrcweir #define TWLG_ENGLISH_IRELAND 49 1339cdf0e10cSrcweir #define TWLG_ENGLISH_NEWZEALAND 50 1340cdf0e10cSrcweir #define TWLG_ENGLISH_SOUTHAFRICA 51 1341cdf0e10cSrcweir #define TWLG_ENGLISH_UK 52 1342cdf0e10cSrcweir #define TWLG_ESTONIAN 53 1343cdf0e10cSrcweir #define TWLG_FAEROESE 54 1344cdf0e10cSrcweir #define TWLG_FARSI 55 1345cdf0e10cSrcweir #define TWLG_FRENCH_BELGIAN 56 1346cdf0e10cSrcweir #define TWLG_FRENCH_LUXEMBOURG 57 1347cdf0e10cSrcweir #define TWLG_FRENCH_SWISS 58 1348cdf0e10cSrcweir #define TWLG_GERMAN_AUSTRIAN 59 1349cdf0e10cSrcweir #define TWLG_GERMAN_LUXEMBOURG 60 1350cdf0e10cSrcweir #define TWLG_GERMAN_LIECHTENSTEIN 61 1351cdf0e10cSrcweir #define TWLG_GERMAN_SWISS 62 1352cdf0e10cSrcweir #define TWLG_GREEK 63 1353cdf0e10cSrcweir #define TWLG_HEBREW 64 1354cdf0e10cSrcweir #define TWLG_HUNGARIAN 65 1355cdf0e10cSrcweir #define TWLG_INDONESIAN 66 1356cdf0e10cSrcweir #define TWLG_ITALIAN_SWISS 67 1357cdf0e10cSrcweir #define TWLG_JAPANESE 68 1358cdf0e10cSrcweir #define TWLG_KOREAN 69 1359cdf0e10cSrcweir #define TWLG_KOREAN_JOHAB 70 1360cdf0e10cSrcweir #define TWLG_LATVIAN 71 1361cdf0e10cSrcweir #define TWLG_LITHUANIAN 72 1362cdf0e10cSrcweir #define TWLG_NORWEGIAN_BOKMAL 73 1363cdf0e10cSrcweir #define TWLG_NORWEGIAN_NYNORSK 74 1364cdf0e10cSrcweir #define TWLG_POLISH 75 1365cdf0e10cSrcweir #define TWLG_PORTUGUESE_BRAZIL 76 1366cdf0e10cSrcweir #define TWLG_ROMANIAN 77 1367cdf0e10cSrcweir #define TWLG_RUSSIAN 78 1368cdf0e10cSrcweir #define TWLG_SERBIAN_LATIN 79 1369cdf0e10cSrcweir #define TWLG_SLOVAK 80 1370cdf0e10cSrcweir #define TWLG_SLOVENIAN 81 1371cdf0e10cSrcweir #define TWLG_SPANISH_MEXICAN 82 1372cdf0e10cSrcweir #define TWLG_SPANISH_MODERN 83 1373cdf0e10cSrcweir #define TWLG_THAI 84 1374cdf0e10cSrcweir #define TWLG_TURKISH 85 1375cdf0e10cSrcweir #define TWLG_UKRANIAN 86 1376cdf0e10cSrcweir /* More stuff added for 1.8 */ 1377cdf0e10cSrcweir #define TWLG_ASSAMESE 87 1378cdf0e10cSrcweir #define TWLG_BENGALI 88 1379cdf0e10cSrcweir #define TWLG_BIHARI 89 1380cdf0e10cSrcweir #define TWLG_BODO 90 1381cdf0e10cSrcweir #define TWLG_DOGRI 91 1382cdf0e10cSrcweir #define TWLG_GUJARATI 92 1383cdf0e10cSrcweir #define TWLG_HARYANVI 93 1384cdf0e10cSrcweir #define TWLG_HINDI 94 1385cdf0e10cSrcweir #define TWLG_KANNADA 95 1386cdf0e10cSrcweir #define TWLG_KASHMIRI 96 1387cdf0e10cSrcweir #define TWLG_MALAYALAM 97 1388cdf0e10cSrcweir #define TWLG_MARATHI 98 1389cdf0e10cSrcweir #define TWLG_MARWARI 99 1390cdf0e10cSrcweir #define TWLG_MEGHALAYAN 100 1391cdf0e10cSrcweir #define TWLG_MIZO 101 1392cdf0e10cSrcweir #define TWLG_NAGA 102 1393cdf0e10cSrcweir #define TWLG_ORISSI 103 1394cdf0e10cSrcweir #define TWLG_PUNJABI 104 1395cdf0e10cSrcweir #define TWLG_PUSHTU 105 1396cdf0e10cSrcweir #define TWLG_SERBIAN_CYRILLIC 106 1397cdf0e10cSrcweir #define TWLG_SIKKIMI 107 1398cdf0e10cSrcweir #define TWLG_SWEDISH_FINLAND 108 1399cdf0e10cSrcweir #define TWLG_TAMIL 109 1400cdf0e10cSrcweir #define TWLG_TELUGU 110 1401cdf0e10cSrcweir #define TWLG_TRIPURI 111 1402cdf0e10cSrcweir #define TWLG_URDU 112 1403cdf0e10cSrcweir #define TWLG_VIETNAMESE 113 1404cdf0e10cSrcweir 1405cdf0e10cSrcweir /**************************************************************************** 1406cdf0e10cSrcweir * Data Groups * 1407cdf0e10cSrcweir ****************************************************************************/ 1408cdf0e10cSrcweir 1409cdf0e10cSrcweir /* More Data Groups may be added in the future. 1410cdf0e10cSrcweir * Possible candidates include text, vector graphics, sound, etc. 1411cdf0e10cSrcweir * NOTE: Data Group constants must be powers of 2 as they are used 1412cdf0e10cSrcweir * as bitflags when Application asks DSM to present a list of DSs. 1413cdf0e10cSrcweir */ 1414cdf0e10cSrcweir 1415cdf0e10cSrcweir #define DG_CONTROL 0x0001L /* data pertaining to control */ 1416cdf0e10cSrcweir #define DG_IMAGE 0x0002L /* data pertaining to raster images */ 1417cdf0e10cSrcweir /* Added 1.8 */ 1418cdf0e10cSrcweir #define DG_AUDIO 0x0004L /* data pertaining to audio */ 1419cdf0e10cSrcweir 14204faf9d3aSPedro Giffuni /* More Data Functionality may be added in the future. 14214faf9d3aSPedro Giffuni * These are for items that need to be determined before DS is opened. 14224faf9d3aSPedro Giffuni * NOTE: Supported Functionality constants must be powers of 2 as they are 14234faf9d3aSPedro Giffuni * used as bitflags when Application asks DSM to present a list of DSs. 14244faf9d3aSPedro Giffuni * to support backward capability the App and DS will not use the fields 14254faf9d3aSPedro Giffuni */ 14264faf9d3aSPedro Giffuni #define DF_DSM2 0x10000000L /* added to the identity by the DSM */ 14274faf9d3aSPedro Giffuni #define DF_APP2 0x20000000L /* Set by the App to indicate it would 14284faf9d3aSPedro Giffuni prefer to use DSM2 */ 14294faf9d3aSPedro Giffuni #define DF_DS2 0x40000000L /* Set by the DS to indicate it would 14304faf9d3aSPedro Giffuni prefer to use DSM2 */ 14314faf9d3aSPedro Giffuni #define DG_MASK 0xFFFFL /* all Data Groups limited to 16 bit. Added for 2.1 */ 14324faf9d3aSPedro Giffuni 1433cdf0e10cSrcweir /**************************************************************************** 14344faf9d3aSPedro Giffuni * * 1435cdf0e10cSrcweir ****************************************************************************/ 1436cdf0e10cSrcweir #define DAT_NULL 0x0000 /* No data or structure. */ 1437cdf0e10cSrcweir #define DAT_CUSTOMBASE 0x8000 /* Base of custom DATs. */ 1438cdf0e10cSrcweir 1439cdf0e10cSrcweir /* Data Argument Types for the DG_CONTROL Data Group. */ 1440cdf0e10cSrcweir #define DAT_CAPABILITY 0x0001 /* TW_CAPABILITY */ 1441cdf0e10cSrcweir #define DAT_EVENT 0x0002 /* TW_EVENT */ 1442cdf0e10cSrcweir #define DAT_IDENTITY 0x0003 /* TW_IDENTITY */ 1443cdf0e10cSrcweir #define DAT_PARENT 0x0004 /* TW_HANDLE, application win handle in Windows */ 1444cdf0e10cSrcweir #define DAT_PENDINGXFERS 0x0005 /* TW_PENDINGXFERS */ 1445cdf0e10cSrcweir #define DAT_SETUPMEMXFER 0x0006 /* TW_SETUPMEMXFER */ 1446cdf0e10cSrcweir #define DAT_SETUPFILEXFER 0x0007 /* TW_SETUPFILEXFER */ 1447cdf0e10cSrcweir #define DAT_STATUS 0x0008 /* TW_STATUS */ 1448cdf0e10cSrcweir #define DAT_USERINTERFACE 0x0009 /* TW_USERINTERFACE */ 1449cdf0e10cSrcweir #define DAT_XFERGROUP 0x000a /* TW_UINT32 */ 1450cdf0e10cSrcweir #define DAT_CUSTOMDSDATA 0x000c /* TW_CUSTOMDSDATA. */ 14514faf9d3aSPedro Giffuni #define DAT_DEVICEEVENT 0x000d /* TW_DEVICEEVENT Added 1.8 */ 14524faf9d3aSPedro Giffuni #define DAT_FILESYSTEM 0x000e /* TW_FILESYSTEM Added 1.8 */ 14534faf9d3aSPedro Giffuni #define DAT_PASSTHRU 0x000f /* TW_PASSTHRU Added 1.8 */ 14544faf9d3aSPedro Giffuni #define DAT_CALLBACK 0x0010 /* TW_CALLBACK Added 2.0 */ 14554faf9d3aSPedro Giffuni #define DAT_STATUSUTF8 0x0011 /* TW_STATUSUTF8 Added 2.1 */ 1456cdf0e10cSrcweir 1457cdf0e10cSrcweir /* Data Argument Types for the DG_IMAGE Data Group. */ 1458cdf0e10cSrcweir #define DAT_IMAGEINFO 0x0101 /* TW_IMAGEINFO */ 1459cdf0e10cSrcweir #define DAT_IMAGELAYOUT 0x0102 /* TW_IMAGELAYOUT */ 1460cdf0e10cSrcweir #define DAT_IMAGEMEMXFER 0x0103 /* TW_IMAGEMEMXFER */ 1461cdf0e10cSrcweir #define DAT_IMAGENATIVEXFER 0x0104 /* TW_UINT32 loword is hDIB, PICHandle */ 1462cdf0e10cSrcweir #define DAT_IMAGEFILEXFER 0x0105 /* Null data */ 1463cdf0e10cSrcweir #define DAT_CIECOLOR 0x0106 /* TW_CIECOLOR */ 1464cdf0e10cSrcweir #define DAT_GRAYRESPONSE 0x0107 /* TW_GRAYRESPONSE */ 1465cdf0e10cSrcweir #define DAT_RGBRESPONSE 0x0108 /* TW_RGBRESPONSE */ 1466cdf0e10cSrcweir #define DAT_JPEGCOMPRESSION 0x0109 /* TW_JPEGCOMPRESSION */ 1467cdf0e10cSrcweir #define DAT_PALETTE8 0x010a /* TW_PALETTE8 */ 1468cdf0e10cSrcweir #define DAT_EXTIMAGEINFO 0x010b /* TW_EXTIMAGEINFO -- for 1.7 Spec. */ 1469cdf0e10cSrcweir 1470cdf0e10cSrcweir /* Data Argument Types for the DG_AUDIO Data Group. */ 14714faf9d3aSPedro Giffuni #define DAT_AUDIOFILEXFER 0x0201 /* Null data Added 1.8 */ 14724faf9d3aSPedro Giffuni #define DAT_AUDIOINFO 0x0202 /* TW_AUDIOINFO Added 1.8 */ 14734faf9d3aSPedro Giffuni #define DAT_AUDIONATIVEXFER 0x0203 /* TW_UINT32 handle to WAV, (AIFF Mac) Added 1.8 */ 14744faf9d3aSPedro Giffuni 14754faf9d3aSPedro Giffuni /* misplaced */ 14764faf9d3aSPedro Giffuni #define DAT_ICCPROFILE 0x0401 /* TW_MEMORY Added 1.91 This Data Argument is misplaced but belongs to the DG_IMAGE Data Group */ 14774faf9d3aSPedro Giffuni #define DAT_IMAGEMEMFILEXFER 0x0402 /* TW_IMAGEMEMXFER Added 1.91 This Data Argument is misplaced but belongs to the DG_IMAGE Data Group */ 14784faf9d3aSPedro Giffuni #define DAT_ENTRYPOINT 0x0403 /* TW_ENTRYPOINT Added 2.0 This Data Argument is misplaced but belongs to the DG_CONTROL Data Group */ 1479cdf0e10cSrcweir 1480cdf0e10cSrcweir 1481cdf0e10cSrcweir /**************************************************************************** 1482cdf0e10cSrcweir * Messages * 1483cdf0e10cSrcweir ****************************************************************************/ 1484cdf0e10cSrcweir 1485cdf0e10cSrcweir /* All message constants are unique. 1486cdf0e10cSrcweir * Messages are grouped according to which DATs they are used with.*/ 1487cdf0e10cSrcweir 1488cdf0e10cSrcweir #define MSG_NULL 0x0000 /* Used in TW_EVENT structure */ 1489cdf0e10cSrcweir #define MSG_CUSTOMBASE 0x8000 /* Base of custom messages */ 1490cdf0e10cSrcweir 1491cdf0e10cSrcweir /* Generic messages may be used with any of several DATs. */ 14924faf9d3aSPedro Giffuni #define MSG_GET 0x0001 /* Get one or more values */ 14934faf9d3aSPedro Giffuni #define MSG_GETCURRENT 0x0002 /* Get current value */ 14944faf9d3aSPedro Giffuni #define MSG_GETDEFAULT 0x0003 /* Get default (e.g. power up) value */ 14954faf9d3aSPedro Giffuni #define MSG_GETFIRST 0x0004 /* Get first of a series of items, e.g. DSs */ 14964faf9d3aSPedro Giffuni #define MSG_GETNEXT 0x0005 /* Iterate through a series of items. */ 14974faf9d3aSPedro Giffuni #define MSG_SET 0x0006 /* Set one or more values */ 14984faf9d3aSPedro Giffuni #define MSG_RESET 0x0007 /* Set current value to default value */ 14994faf9d3aSPedro Giffuni #define MSG_QUERYSUPPORT 0x0008 /* Get supported operations on the cap. */ 15004faf9d3aSPedro Giffuni #define MSG_GETHELP 0x0009 /* Returns help text suitable for use in a GUI Added 2.1 */ 15014faf9d3aSPedro Giffuni #define MSG_GETLABEL 0x000a /* Returns a label suitable for use in a GUI Added 2.1 */ 15024faf9d3aSPedro Giffuni #define MSG_GETLABELENUM 0x000b /* Return all of the labels for a capability of type Added 2.1 */ 15034faf9d3aSPedro Giffuni 1504cdf0e10cSrcweir 1505cdf0e10cSrcweir /* Messages used with DAT_NULL */ 1506cdf0e10cSrcweir #define MSG_XFERREADY 0x0101 /* The data source has data ready */ 15074faf9d3aSPedro Giffuni #define MSG_CLOSEDSREQ 0x0102 /* Request for Application. to close DS */ 15084faf9d3aSPedro Giffuni #define MSG_CLOSEDSOK 0x0103 /* Tell the Application. to save the state. */ 15094faf9d3aSPedro Giffuni #define MSG_DEVICEEVENT 0X0104 /* Some event has taken place Added 1.8 */ 1510cdf0e10cSrcweir 1511cdf0e10cSrcweir /* Messages used with a pointer to DAT_PARENT data */ 1512cdf0e10cSrcweir #define MSG_OPENDSM 0x0301 /* Open the DSM */ 1513cdf0e10cSrcweir #define MSG_CLOSEDSM 0x0302 /* Close the DSM */ 1514cdf0e10cSrcweir 1515cdf0e10cSrcweir /* Messages used with a pointer to a DAT_IDENTITY structure */ 1516cdf0e10cSrcweir #define MSG_OPENDS 0x0401 /* Open a data source */ 1517cdf0e10cSrcweir #define MSG_CLOSEDS 0x0402 /* Close a data source */ 1518cdf0e10cSrcweir #define MSG_USERSELECT 0x0403 /* Put up a dialog of all DS */ 1519cdf0e10cSrcweir 1520cdf0e10cSrcweir /* Messages used with a pointer to a DAT_USERINTERFACE structure */ 1521cdf0e10cSrcweir #define MSG_DISABLEDS 0x0501 /* Disable data transfer in the DS */ 1522cdf0e10cSrcweir #define MSG_ENABLEDS 0x0502 /* Enable data transfer in the DS */ 1523cdf0e10cSrcweir #define MSG_ENABLEDSUIONLY 0x0503 /* Enable for saving DS state only. */ 1524cdf0e10cSrcweir 1525cdf0e10cSrcweir /* Messages used with a pointer to a DAT_EVENT structure */ 1526cdf0e10cSrcweir #define MSG_PROCESSEVENT 0x0601 1527cdf0e10cSrcweir 1528cdf0e10cSrcweir /* Messages used with a pointer to a DAT_PENDINGXFERS structure */ 1529cdf0e10cSrcweir #define MSG_ENDXFER 0x0701 1530cdf0e10cSrcweir #define MSG_STOPFEEDER 0x0702 1531cdf0e10cSrcweir 1532cdf0e10cSrcweir /* Messages used with a pointer to a DAT_FILESYSTEM structure */ 15334faf9d3aSPedro Giffuni #define MSG_CHANGEDIRECTORY 0x0801 /* Added 1.8 */ 15344faf9d3aSPedro Giffuni #define MSG_CREATEDIRECTORY 0x0802 /* Added 1.8 */ 15354faf9d3aSPedro Giffuni #define MSG_DELETE 0x0803 /* Added 1.8 */ 15364faf9d3aSPedro Giffuni #define MSG_FORMATMEDIA 0x0804 /* Added 1.8 */ 15374faf9d3aSPedro Giffuni #define MSG_GETCLOSE 0x0805 /* Added 1.8 */ 15384faf9d3aSPedro Giffuni #define MSG_GETFIRSTFILE 0x0806 /* Added 1.8 */ 15394faf9d3aSPedro Giffuni #define MSG_GETINFO 0x0807 /* Added 1.8 */ 15404faf9d3aSPedro Giffuni #define MSG_GETNEXTFILE 0x0808 /* Added 1.8 */ 15414faf9d3aSPedro Giffuni #define MSG_RENAME 0x0809 /* Added 1.8 */ 15424faf9d3aSPedro Giffuni #define MSG_COPY 0x080A /* Added 1.8 */ 15434faf9d3aSPedro Giffuni #define MSG_AUTOMATICCAPTUREDIRECTORY 0x080B /* Added 1.8 */ 1544cdf0e10cSrcweir 1545cdf0e10cSrcweir /* Messages used with a pointer to a DAT_PASSTHRU structure */ 1546cdf0e10cSrcweir #define MSG_PASSTHRU 0x0901 1547cdf0e10cSrcweir 15484faf9d3aSPedro Giffuni /* used with DAT_CALLBACK */ 15494faf9d3aSPedro Giffuni #define MSG_REGISTER_CALLBACK 0x0902 15504faf9d3aSPedro Giffuni 15514faf9d3aSPedro Giffuni /* used with DAT_CAPABILITY */ 15524faf9d3aSPedro Giffuni #define MSG_RESETALL 0x0A01 /* Added 1.91 */ 15534faf9d3aSPedro Giffuni 1554cdf0e10cSrcweir /**************************************************************************** 1555cdf0e10cSrcweir * Capabilities * 1556cdf0e10cSrcweir ****************************************************************************/ 1557cdf0e10cSrcweir 1558cdf0e10cSrcweir #define CAP_CUSTOMBASE 0x8000 /* Base of custom capabilities */ 1559cdf0e10cSrcweir 1560cdf0e10cSrcweir /* all data sources are REQUIRED to support these caps */ 1561cdf0e10cSrcweir #define CAP_XFERCOUNT 0x0001 1562cdf0e10cSrcweir 1563cdf0e10cSrcweir /* image data sources are REQUIRED to support these caps */ 1564cdf0e10cSrcweir #define ICAP_COMPRESSION 0x0100 1565cdf0e10cSrcweir #define ICAP_PIXELTYPE 0x0101 1566cdf0e10cSrcweir #define ICAP_UNITS 0x0102 /* default is TWUN_INCHES */ 1567cdf0e10cSrcweir #define ICAP_XFERMECH 0x0103 1568cdf0e10cSrcweir 1569cdf0e10cSrcweir /* all data sources MAY support these caps */ 1570cdf0e10cSrcweir #define CAP_AUTHOR 0x1000 1571cdf0e10cSrcweir #define CAP_CAPTION 0x1001 1572cdf0e10cSrcweir #define CAP_FEEDERENABLED 0x1002 1573cdf0e10cSrcweir #define CAP_FEEDERLOADED 0x1003 1574cdf0e10cSrcweir #define CAP_TIMEDATE 0x1004 1575cdf0e10cSrcweir #define CAP_SUPPORTEDCAPS 0x1005 1576cdf0e10cSrcweir #define CAP_EXTENDEDCAPS 0x1006 1577cdf0e10cSrcweir #define CAP_AUTOFEED 0x1007 1578cdf0e10cSrcweir #define CAP_CLEARPAGE 0x1008 1579cdf0e10cSrcweir #define CAP_FEEDPAGE 0x1009 1580cdf0e10cSrcweir #define CAP_REWINDPAGE 0x100a 1581cdf0e10cSrcweir #define CAP_INDICATORS 0x100b /* Added 1.1 */ 1582cdf0e10cSrcweir #define CAP_SUPPORTEDCAPSEXT 0x100c /* Added 1.6 */ 1583cdf0e10cSrcweir #define CAP_PAPERDETECTABLE 0x100d /* Added 1.6 */ 1584cdf0e10cSrcweir #define CAP_UICONTROLLABLE 0x100e /* Added 1.6 */ 1585cdf0e10cSrcweir #define CAP_DEVICEONLINE 0x100f /* Added 1.6 */ 1586cdf0e10cSrcweir #define CAP_AUTOSCAN 0x1010 /* Added 1.6 */ 1587cdf0e10cSrcweir #define CAP_THUMBNAILSENABLED 0x1011 /* Added 1.7 */ 1588cdf0e10cSrcweir #define CAP_DUPLEX 0x1012 /* Added 1.7 */ 1589cdf0e10cSrcweir #define CAP_DUPLEXENABLED 0x1013 /* Added 1.7 */ 1590cdf0e10cSrcweir #define CAP_ENABLEDSUIONLY 0x1014 /* Added 1.7 */ 1591cdf0e10cSrcweir #define CAP_CUSTOMDSDATA 0x1015 /* Added 1.7 */ 1592cdf0e10cSrcweir #define CAP_ENDORSER 0x1016 /* Added 1.7 */ 1593cdf0e10cSrcweir #define CAP_JOBCONTROL 0x1017 /* Added 1.7 */ 1594cdf0e10cSrcweir #define CAP_ALARMS 0x1018 /* Added 1.8 */ 1595cdf0e10cSrcweir #define CAP_ALARMVOLUME 0x1019 /* Added 1.8 */ 1596cdf0e10cSrcweir #define CAP_AUTOMATICCAPTURE 0x101a /* Added 1.8 */ 1597cdf0e10cSrcweir #define CAP_TIMEBEFOREFIRSTCAPTURE 0x101b /* Added 1.8 */ 1598cdf0e10cSrcweir #define CAP_TIMEBETWEENCAPTURES 0x101c /* Added 1.8 */ 1599cdf0e10cSrcweir #define CAP_CLEARBUFFERS 0x101d /* Added 1.8 */ 1600cdf0e10cSrcweir #define CAP_MAXBATCHBUFFERS 0x101e /* Added 1.8 */ 1601cdf0e10cSrcweir #define CAP_DEVICETIMEDATE 0x101f /* Added 1.8 */ 1602cdf0e10cSrcweir #define CAP_POWERSUPPLY 0x1020 /* Added 1.8 */ 1603cdf0e10cSrcweir #define CAP_CAMERAPREVIEWUI 0x1021 /* Added 1.8 */ 1604cdf0e10cSrcweir #define CAP_DEVICEEVENT 0x1022 /* Added 1.8 */ 1605cdf0e10cSrcweir #define CAP_SERIALNUMBER 0x1024 /* Added 1.8 */ 1606cdf0e10cSrcweir #define CAP_PRINTER 0x1026 /* Added 1.8 */ 1607cdf0e10cSrcweir #define CAP_PRINTERENABLED 0x1027 /* Added 1.8 */ 1608cdf0e10cSrcweir #define CAP_PRINTERINDEX 0x1028 /* Added 1.8 */ 1609cdf0e10cSrcweir #define CAP_PRINTERMODE 0x1029 /* Added 1.8 */ 1610cdf0e10cSrcweir #define CAP_PRINTERSTRING 0x102a /* Added 1.8 */ 1611cdf0e10cSrcweir #define CAP_PRINTERSUFFIX 0x102b /* Added 1.8 */ 1612cdf0e10cSrcweir #define CAP_LANGUAGE 0x102c /* Added 1.8 */ 1613cdf0e10cSrcweir #define CAP_FEEDERALIGNMENT 0x102d /* Added 1.8 */ 1614cdf0e10cSrcweir #define CAP_FEEDERORDER 0x102e /* Added 1.8 */ 1615cdf0e10cSrcweir #define CAP_REACQUIREALLOWED 0x1030 /* Added 1.8 */ 1616cdf0e10cSrcweir #define CAP_BATTERYMINUTES 0x1032 /* Added 1.8 */ 1617cdf0e10cSrcweir #define CAP_BATTERYPERCENTAGE 0x1033 /* Added 1.8 */ 16184faf9d3aSPedro Giffuni #define CAP_CAMERASIDE 0x1034 /* Added 1.91 */ 16194faf9d3aSPedro Giffuni #define CAP_SEGMENTED 0x1035 /* Added 1.91 */ 16204faf9d3aSPedro Giffuni #define CAP_CAMERAENABLED 0x1036 /* Added 2.0 */ 16214faf9d3aSPedro Giffuni #define CAP_CAMERAORDER 0x1037 /* Added 2.0 */ 16224faf9d3aSPedro Giffuni #define CAP_MICRENABLED 0x1038 /* Added 2.0 */ 16234faf9d3aSPedro Giffuni #define CAP_FEEDERPREP 0x1039 /* Added 2.0 */ 16244faf9d3aSPedro Giffuni #define CAP_FEEDERPOCKET 0x103a /* Added 2.0 */ 16254faf9d3aSPedro Giffuni #define CAP_AUTOMATICSENSEMEDIUM 0x103b /* Added 2.1 */ 16264faf9d3aSPedro Giffuni #define CAP_CUSTOMINTERFACEGUID 0x103c /* Added 2.1 */ 16274faf9d3aSPedro Giffuni 1628cdf0e10cSrcweir 1629cdf0e10cSrcweir /* image data sources MAY support these caps */ 1630cdf0e10cSrcweir #define ICAP_AUTOBRIGHT 0x1100 1631cdf0e10cSrcweir #define ICAP_BRIGHTNESS 0x1101 1632cdf0e10cSrcweir #define ICAP_CONTRAST 0x1103 1633cdf0e10cSrcweir #define ICAP_CUSTHALFTONE 0x1104 1634cdf0e10cSrcweir #define ICAP_EXPOSURETIME 0x1105 1635cdf0e10cSrcweir #define ICAP_FILTER 0x1106 1636cdf0e10cSrcweir #define ICAP_FLASHUSED 0x1107 1637cdf0e10cSrcweir #define ICAP_GAMMA 0x1108 1638cdf0e10cSrcweir #define ICAP_HALFTONES 0x1109 1639cdf0e10cSrcweir #define ICAP_HIGHLIGHT 0x110a 1640cdf0e10cSrcweir #define ICAP_IMAGEFILEFORMAT 0x110c 1641cdf0e10cSrcweir #define ICAP_LAMPSTATE 0x110d 1642cdf0e10cSrcweir #define ICAP_LIGHTSOURCE 0x110e 1643cdf0e10cSrcweir #define ICAP_ORIENTATION 0x1110 1644cdf0e10cSrcweir #define ICAP_PHYSICALWIDTH 0x1111 1645cdf0e10cSrcweir #define ICAP_PHYSICALHEIGHT 0x1112 1646cdf0e10cSrcweir #define ICAP_SHADOW 0x1113 1647cdf0e10cSrcweir #define ICAP_FRAMES 0x1114 1648cdf0e10cSrcweir #define ICAP_XNATIVERESOLUTION 0x1116 1649cdf0e10cSrcweir #define ICAP_YNATIVERESOLUTION 0x1117 1650cdf0e10cSrcweir #define ICAP_XRESOLUTION 0x1118 1651cdf0e10cSrcweir #define ICAP_YRESOLUTION 0x1119 1652cdf0e10cSrcweir #define ICAP_MAXFRAMES 0x111a 1653cdf0e10cSrcweir #define ICAP_TILES 0x111b 1654cdf0e10cSrcweir #define ICAP_BITORDER 0x111c 1655cdf0e10cSrcweir #define ICAP_CCITTKFACTOR 0x111d 1656cdf0e10cSrcweir #define ICAP_LIGHTPATH 0x111e 1657cdf0e10cSrcweir #define ICAP_PIXELFLAVOR 0x111f 1658cdf0e10cSrcweir #define ICAP_PLANARCHUNKY 0x1120 1659cdf0e10cSrcweir #define ICAP_ROTATION 0x1121 1660cdf0e10cSrcweir #define ICAP_SUPPORTEDSIZES 0x1122 1661cdf0e10cSrcweir #define ICAP_THRESHOLD 0x1123 1662cdf0e10cSrcweir #define ICAP_XSCALING 0x1124 1663cdf0e10cSrcweir #define ICAP_YSCALING 0x1125 1664cdf0e10cSrcweir #define ICAP_BITORDERCODES 0x1126 1665cdf0e10cSrcweir #define ICAP_PIXELFLAVORCODES 0x1127 1666cdf0e10cSrcweir #define ICAP_JPEGPIXELTYPE 0x1128 1667cdf0e10cSrcweir #define ICAP_TIMEFILL 0x112a 1668cdf0e10cSrcweir #define ICAP_BITDEPTH 0x112b 1669cdf0e10cSrcweir #define ICAP_BITDEPTHREDUCTION 0x112c /* Added 1.5 */ 1670cdf0e10cSrcweir #define ICAP_UNDEFINEDIMAGESIZE 0x112d /* Added 1.6 */ 1671cdf0e10cSrcweir #define ICAP_IMAGEDATASET 0x112e /* Added 1.7 */ 1672cdf0e10cSrcweir #define ICAP_EXTIMAGEINFO 0x112f /* Added 1.7 */ 1673cdf0e10cSrcweir #define ICAP_MINIMUMHEIGHT 0x1130 /* Added 1.7 */ 1674cdf0e10cSrcweir #define ICAP_MINIMUMWIDTH 0x1131 /* Added 1.7 */ 16754faf9d3aSPedro Giffuni #define ICAP_AUTODISCARDBLANKPAGES 0x1134 /* Added 2.0 */ 1676cdf0e10cSrcweir #define ICAP_FLIPROTATION 0x1136 /* Added 1.8 */ 1677cdf0e10cSrcweir #define ICAP_BARCODEDETECTIONENABLED 0x1137 /* Added 1.8 */ 1678cdf0e10cSrcweir #define ICAP_SUPPORTEDBARCODETYPES 0x1138 /* Added 1.8 */ 1679cdf0e10cSrcweir #define ICAP_BARCODEMAXSEARCHPRIORITIES 0x1139 /* Added 1.8 */ 1680cdf0e10cSrcweir #define ICAP_BARCODESEARCHPRIORITIES 0x113a /* Added 1.8 */ 1681cdf0e10cSrcweir #define ICAP_BARCODESEARCHMODE 0x113b /* Added 1.8 */ 1682cdf0e10cSrcweir #define ICAP_BARCODEMAXRETRIES 0x113c /* Added 1.8 */ 1683cdf0e10cSrcweir #define ICAP_BARCODETIMEOUT 0x113d /* Added 1.8 */ 1684cdf0e10cSrcweir #define ICAP_ZOOMFACTOR 0x113e /* Added 1.8 */ 1685cdf0e10cSrcweir #define ICAP_PATCHCODEDETECTIONENABLED 0x113f /* Added 1.8 */ 1686cdf0e10cSrcweir #define ICAP_SUPPORTEDPATCHCODETYPES 0x1140 /* Added 1.8 */ 1687cdf0e10cSrcweir #define ICAP_PATCHCODEMAXSEARCHPRIORITIES 0x1141 /* Added 1.8 */ 1688cdf0e10cSrcweir #define ICAP_PATCHCODESEARCHPRIORITIES 0x1142 /* Added 1.8 */ 1689cdf0e10cSrcweir #define ICAP_PATCHCODESEARCHMODE 0x1143 /* Added 1.8 */ 1690cdf0e10cSrcweir #define ICAP_PATCHCODEMAXRETRIES 0x1144 /* Added 1.8 */ 1691cdf0e10cSrcweir #define ICAP_PATCHCODETIMEOUT 0x1145 /* Added 1.8 */ 1692cdf0e10cSrcweir #define ICAP_FLASHUSED2 0x1146 /* Added 1.8 */ 1693cdf0e10cSrcweir #define ICAP_IMAGEFILTER 0x1147 /* Added 1.8 */ 1694cdf0e10cSrcweir #define ICAP_NOISEFILTER 0x1148 /* Added 1.8 */ 1695cdf0e10cSrcweir #define ICAP_OVERSCAN 0x1149 /* Added 1.8 */ 1696cdf0e10cSrcweir #define ICAP_AUTOMATICBORDERDETECTION 0x1150 /* Added 1.8 */ 1697cdf0e10cSrcweir #define ICAP_AUTOMATICDESKEW 0x1151 /* Added 1.8 */ 1698cdf0e10cSrcweir #define ICAP_AUTOMATICROTATE 0x1152 /* Added 1.8 */ 1699cdf0e10cSrcweir #define ICAP_JPEGQUALITY 0x1153 /* Added 1.9 */ 17004faf9d3aSPedro Giffuni #define ICAP_FEEDERTYPE 0x1154 /* Added 1.91 */ 17014faf9d3aSPedro Giffuni #define ICAP_ICCPROFILE 0x1155 /* Added 1.91 */ 17024faf9d3aSPedro Giffuni #define ICAP_AUTOSIZE 0x1156 /* Added 2.0 */ 17034faf9d3aSPedro Giffuni #define ICAP_AUTOMATICCROPUSESFRAME 0x1157 /* Added 2.1 */ 17044faf9d3aSPedro Giffuni #define ICAP_AUTOMATICLENGTHDETECTION 0x1158 /* Added 2.1 */ 17054faf9d3aSPedro Giffuni #define ICAP_AUTOMATICCOLORENABLED 0x1159 /* Added 2.1 */ 17064faf9d3aSPedro Giffuni #define ICAP_AUTOMATICCOLORNONCOLORPIXELTYPE 0x115a /* Added 2.1 */ 17074faf9d3aSPedro Giffuni #define ICAP_COLORMANAGEMENTENABLED 0x115b /* Added 2.1 */ 17084faf9d3aSPedro Giffuni #define ICAP_IMAGEMERGE 0x115c /* Added 2.1 */ 17094faf9d3aSPedro Giffuni #define ICAP_IMAGEMERGEHEIGHTTHRESHOLD 0x115d /* Added 2.1 */ 17104faf9d3aSPedro Giffuni #define ICAP_SUPPORTEDEXTIMAGEINFO 0x115e /* Added 2.1 */ 1711cdf0e10cSrcweir 1712cdf0e10cSrcweir /* image data sources MAY support these audio caps */ 17134faf9d3aSPedro Giffuni #define ACAP_XFERMECH 0x1202 /* Added 1.8 */ 1714cdf0e10cSrcweir 1715cdf0e10cSrcweir 17164faf9d3aSPedro Giffuni /*************************************************************************** 17174faf9d3aSPedro Giffuni * Extended Image Info Attributes section Added 1.7 * 17184faf9d3aSPedro Giffuni ***************************************************************************/ 1719cdf0e10cSrcweir 1720cdf0e10cSrcweir #define TWEI_BARCODEX 0x1200 1721cdf0e10cSrcweir #define TWEI_BARCODEY 0x1201 1722cdf0e10cSrcweir #define TWEI_BARCODETEXT 0x1202 1723cdf0e10cSrcweir #define TWEI_BARCODETYPE 0x1203 1724cdf0e10cSrcweir #define TWEI_DESHADETOP 0x1204 1725cdf0e10cSrcweir #define TWEI_DESHADELEFT 0x1205 1726cdf0e10cSrcweir #define TWEI_DESHADEHEIGHT 0x1206 1727cdf0e10cSrcweir #define TWEI_DESHADEWIDTH 0x1207 1728cdf0e10cSrcweir #define TWEI_DESHADESIZE 0x1208 1729cdf0e10cSrcweir #define TWEI_SPECKLESREMOVED 0x1209 1730cdf0e10cSrcweir #define TWEI_HORZLINEXCOORD 0x120A 1731cdf0e10cSrcweir #define TWEI_HORZLINEYCOORD 0x120B 1732cdf0e10cSrcweir #define TWEI_HORZLINELENGTH 0x120C 1733cdf0e10cSrcweir #define TWEI_HORZLINETHICKNESS 0x120D 1734cdf0e10cSrcweir #define TWEI_VERTLINEXCOORD 0x120E 1735cdf0e10cSrcweir #define TWEI_VERTLINEYCOORD 0x120F 1736cdf0e10cSrcweir #define TWEI_VERTLINELENGTH 0x1210 1737cdf0e10cSrcweir #define TWEI_VERTLINETHICKNESS 0x1211 1738cdf0e10cSrcweir #define TWEI_PATCHCODE 0x1212 1739cdf0e10cSrcweir #define TWEI_ENDORSEDTEXT 0x1213 1740cdf0e10cSrcweir #define TWEI_FORMCONFIDENCE 0x1214 1741cdf0e10cSrcweir #define TWEI_FORMTEMPLATEMATCH 0x1215 1742cdf0e10cSrcweir #define TWEI_FORMTEMPLATEPAGEMATCH 0x1216 1743cdf0e10cSrcweir #define TWEI_FORMHORZDOCOFFSET 0x1217 1744cdf0e10cSrcweir #define TWEI_FORMVERTDOCOFFSET 0x1218 1745cdf0e10cSrcweir #define TWEI_BARCODECOUNT 0x1219 1746cdf0e10cSrcweir #define TWEI_BARCODECONFIDENCE 0x121A 1747cdf0e10cSrcweir #define TWEI_BARCODEROTATION 0x121B 1748cdf0e10cSrcweir #define TWEI_BARCODETEXTLENGTH 0x121C 1749cdf0e10cSrcweir #define TWEI_DESHADECOUNT 0x121D 1750cdf0e10cSrcweir #define TWEI_DESHADEBLACKCOUNTOLD 0x121E 1751cdf0e10cSrcweir #define TWEI_DESHADEBLACKCOUNTNEW 0x121F 1752cdf0e10cSrcweir #define TWEI_DESHADEBLACKRLMIN 0x1220 1753cdf0e10cSrcweir #define TWEI_DESHADEBLACKRLMAX 0x1221 1754cdf0e10cSrcweir #define TWEI_DESHADEWHITECOUNTOLD 0x1222 1755cdf0e10cSrcweir #define TWEI_DESHADEWHITECOUNTNEW 0x1223 1756cdf0e10cSrcweir #define TWEI_DESHADEWHITERLMIN 0x1224 1757cdf0e10cSrcweir #define TWEI_DESHADEWHITERLAVE 0x1225 1758cdf0e10cSrcweir #define TWEI_DESHADEWHITERLMAX 0x1226 1759cdf0e10cSrcweir #define TWEI_BLACKSPECKLESREMOVED 0x1227 1760cdf0e10cSrcweir #define TWEI_WHITESPECKLESREMOVED 0x1228 1761cdf0e10cSrcweir #define TWEI_HORZLINECOUNT 0x1229 1762cdf0e10cSrcweir #define TWEI_VERTLINECOUNT 0x122A 1763cdf0e10cSrcweir #define TWEI_DESKEWSTATUS 0x122B 1764cdf0e10cSrcweir #define TWEI_SKEWORIGINALANGLE 0x122C 1765cdf0e10cSrcweir #define TWEI_SKEWFINALANGLE 0x122D 1766cdf0e10cSrcweir #define TWEI_SKEWCONFIDENCE 0x122E 1767cdf0e10cSrcweir #define TWEI_SKEWWINDOWX1 0x122F 1768cdf0e10cSrcweir #define TWEI_SKEWWINDOWY1 0x1230 1769cdf0e10cSrcweir #define TWEI_SKEWWINDOWX2 0x1231 1770cdf0e10cSrcweir #define TWEI_SKEWWINDOWY2 0x1232 1771cdf0e10cSrcweir #define TWEI_SKEWWINDOWX3 0x1233 1772cdf0e10cSrcweir #define TWEI_SKEWWINDOWY3 0x1234 1773cdf0e10cSrcweir #define TWEI_SKEWWINDOWX4 0x1235 1774cdf0e10cSrcweir #define TWEI_SKEWWINDOWY4 0x1236 1775cdf0e10cSrcweir #define TWEI_BOOKNAME 0x1238 /* added 1.9 */ 1776cdf0e10cSrcweir #define TWEI_CHAPTERNUMBER 0x1239 /* added 1.9 */ 1777cdf0e10cSrcweir #define TWEI_DOCUMENTNUMBER 0x123A /* added 1.9 */ 1778cdf0e10cSrcweir #define TWEI_PAGENUMBER 0x123B /* added 1.9 */ 17794faf9d3aSPedro Giffuni #define TWEI_CAMERA 0x123C /* added 1.9 */ 1780cdf0e10cSrcweir #define TWEI_FRAMENUMBER 0x123D /* added 1.9 */ 17814faf9d3aSPedro Giffuni #define TWEI_FRAME 0x123E /* added 1.9 */ 1782cdf0e10cSrcweir #define TWEI_PIXELFLAVOR 0x123F /* added 1.9 */ 17834faf9d3aSPedro Giffuni #define TWEI_ICCPROFILE 0x1240 /* added 1.91 */ 17844faf9d3aSPedro Giffuni #define TWEI_LASTSEGMENT 0x1241 /* added 1.91 */ 17854faf9d3aSPedro Giffuni #define TWEI_SEGMENTNUMBER 0x1242 /* added 1.91 */ 17864faf9d3aSPedro Giffuni #define TWEI_MAGDATA 0x1243 /* added 2.0 */ 17874faf9d3aSPedro Giffuni #define TWEI_MAGTYPE 0x1244 /* added 2.0 */ 17884faf9d3aSPedro Giffuni #define TWEI_PAGESIDE 0x1245 /* added 2.0 */ 17894faf9d3aSPedro Giffuni #define TWEI_FILESYSTEMSOURCE 0x1246 /* added 2.0 */ 17904faf9d3aSPedro Giffuni #define TWEI_IMAGEMERGED 0x1247 /* added 2.1 */ 17914faf9d3aSPedro Giffuni #define TWEI_MAGDATALENGTH 0x1248 /* added 2.1 */ 1792cdf0e10cSrcweir 1793cdf0e10cSrcweir #define TWEJ_NONE 0x0000 1794cdf0e10cSrcweir #define TWEJ_MIDSEPARATOR 0x0001 1795cdf0e10cSrcweir #define TWEJ_PATCH1 0x0002 1796cdf0e10cSrcweir #define TWEJ_PATCH2 0x0003 1797cdf0e10cSrcweir #define TWEJ_PATCH3 0x0004 1798cdf0e10cSrcweir #define TWEJ_PATCH4 0x0005 1799cdf0e10cSrcweir #define TWEJ_PATCH6 0x0006 1800cdf0e10cSrcweir #define TWEJ_PATCHT 0x0007 1801cdf0e10cSrcweir 1802cdf0e10cSrcweir 1803cdf0e10cSrcweir /*************************************************************************** 1804cdf0e10cSrcweir * Return Codes and Condition Codes section * 1805cdf0e10cSrcweir ***************************************************************************/ 1806cdf0e10cSrcweir 1807cdf0e10cSrcweir /* Return Codes: DSM_Entry and DS_Entry may return any one of these values. */ 1808cdf0e10cSrcweir #define TWRC_CUSTOMBASE 0x8000 1809cdf0e10cSrcweir 1810cdf0e10cSrcweir #define TWRC_SUCCESS 0 1811cdf0e10cSrcweir #define TWRC_FAILURE 1 /* Application may get TW_STATUS for info on failure */ 1812cdf0e10cSrcweir #define TWRC_CHECKSTATUS 2 /* "tried hard"; get status */ 1813cdf0e10cSrcweir #define TWRC_CANCEL 3 1814cdf0e10cSrcweir #define TWRC_DSEVENT 4 1815cdf0e10cSrcweir #define TWRC_NOTDSEVENT 5 1816cdf0e10cSrcweir #define TWRC_XFERDONE 6 1817cdf0e10cSrcweir #define TWRC_ENDOFLIST 7 /* After MSG_GETNEXT if nothing left */ 1818cdf0e10cSrcweir #define TWRC_INFONOTSUPPORTED 8 1819cdf0e10cSrcweir #define TWRC_DATANOTAVAILABLE 9 1820cdf0e10cSrcweir 1821cdf0e10cSrcweir /* Condition Codes: Application gets these by doing DG_CONTROL DAT_STATUS MSG_GET. */ 1822cdf0e10cSrcweir #define TWCC_CUSTOMBASE 0x8000 1823cdf0e10cSrcweir 1824cdf0e10cSrcweir #define TWCC_SUCCESS 0 /* It worked! */ 1825cdf0e10cSrcweir #define TWCC_BUMMER 1 /* Failure due to unknown causes */ 1826cdf0e10cSrcweir #define TWCC_LOWMEMORY 2 /* Not enough memory to perform operation */ 1827cdf0e10cSrcweir #define TWCC_NODS 3 /* No Data Source */ 1828cdf0e10cSrcweir #define TWCC_MAXCONNECTIONS 4 /* DS is connected to max possible applications */ 1829cdf0e10cSrcweir #define TWCC_OPERATIONERROR 5 /* DS or DSM reported error, application shouldn't */ 1830cdf0e10cSrcweir #define TWCC_BADCAP 6 /* Unknown capability */ 1831cdf0e10cSrcweir #define TWCC_BADPROTOCOL 9 /* Unrecognized MSG DG DAT combination */ 1832cdf0e10cSrcweir #define TWCC_BADVALUE 10 /* Data parameter out of range */ 1833cdf0e10cSrcweir #define TWCC_SEQERROR 11 /* DG DAT MSG out of expected sequence */ 1834cdf0e10cSrcweir #define TWCC_BADDEST 12 /* Unknown destination Application/Source in DSM_Entry */ 1835cdf0e10cSrcweir #define TWCC_CAPUNSUPPORTED 13 /* Capability not supported by source */ 1836cdf0e10cSrcweir #define TWCC_CAPBADOPERATION 14 /* Operation not supported by capability */ 1837cdf0e10cSrcweir #define TWCC_CAPSEQERROR 15 /* Capability has dependancy on other capability */ 18384faf9d3aSPedro Giffuni #define TWCC_DENIED 16 /* File System operation is denied (file is protected) Added 1.8 */ 18394faf9d3aSPedro Giffuni #define TWCC_FILEEXISTS 17 /* Operation failed because file already exists. Added 1.8 */ 18404faf9d3aSPedro Giffuni #define TWCC_FILENOTFOUND 18 /* File not found Added 1.8 */ 18414faf9d3aSPedro Giffuni #define TWCC_NOTEMPTY 19 /* Operation failed because directory is not empty Added 1.8 */ 18424faf9d3aSPedro Giffuni #define TWCC_PAPERJAM 20 /* The feeder is jammed Added 1.8 */ 18434faf9d3aSPedro Giffuni #define TWCC_PAPERDOUBLEFEED 21 /* The feeder detected multiple pages Added 1.8 */ 18444faf9d3aSPedro Giffuni #define TWCC_FILEWRITEERROR 22 /* Error writing the file (meant for things like disk full conditions)Added 1.8 */ 18454faf9d3aSPedro Giffuni #define TWCC_CHECKDEVICEONLINE 23 /* The device went offline prior to or during this operation Added 1.8 */ 18464faf9d3aSPedro Giffuni #define TWCC_INTERLOCK 24 /* Added 2.0 */ 18474faf9d3aSPedro Giffuni #define TWCC_DAMAGEDCORNER 25 /* Added 2.0 */ 18484faf9d3aSPedro Giffuni #define TWCC_FOCUSERROR 26 /* Added 2.0 */ 18494faf9d3aSPedro Giffuni #define TWCC_DOCTOOLIGHT 27 /* Added 2.0 */ 18504faf9d3aSPedro Giffuni #define TWCC_DOCTOODARK 28 /* Added 2.0 */ 18514faf9d3aSPedro Giffuni #define TWCC_NOMEDIA 29 /* Added 2.1 */ 1852cdf0e10cSrcweir 1853cdf0e10cSrcweir /* bit patterns: for query the operation that are supported by the data source on a capability */ 1854cdf0e10cSrcweir /* Application gets these through DG_CONTROL/DAT_CAPABILITY/MSG_QUERYSUPPORT */ 1855cdf0e10cSrcweir /* Added 1.6 */ 18564faf9d3aSPedro Giffuni #define TWQC_GET 0x0001 18574faf9d3aSPedro Giffuni #define TWQC_SET 0x0002 18584faf9d3aSPedro Giffuni #define TWQC_GETDEFAULT 0x0004 18594faf9d3aSPedro Giffuni #define TWQC_GETCURRENT 0x0008 18604faf9d3aSPedro Giffuni #define TWQC_RESET 0x0010 18614faf9d3aSPedro Giffuni 18624faf9d3aSPedro Giffuni 18634faf9d3aSPedro Giffuni /**************************************************************************** 18644faf9d3aSPedro Giffuni * Depreciated Items * 18654faf9d3aSPedro Giffuni ****************************************************************************/ 18664faf9d3aSPedro Giffuni #if defined(WIN32) || defined(WIN64) 18674faf9d3aSPedro Giffuni #define TW_HUGE 18684faf9d3aSPedro Giffuni #elif !defined(TWH_CMP_GNU) 18694faf9d3aSPedro Giffuni #define TW_HUGE huge 18704faf9d3aSPedro Giffuni #else 18714faf9d3aSPedro Giffuni #define TW_HUGE 18724faf9d3aSPedro Giffuni #endif 18734faf9d3aSPedro Giffuni 18744faf9d3aSPedro Giffuni 18754faf9d3aSPedro Giffuni 18764faf9d3aSPedro Giffuni typedef BYTE TW_HUGE * HPBYTE; 18774faf9d3aSPedro Giffuni typedef void TW_HUGE * HPVOID; 18784faf9d3aSPedro Giffuni 18794faf9d3aSPedro Giffuni typedef unsigned char TW_STR1024[1026], FAR *pTW_STR1026; 18804faf9d3aSPedro Giffuni typedef wchar_t TW_UNI512[512], FAR *pTW_UNI512; 18814faf9d3aSPedro Giffuni 18824faf9d3aSPedro Giffuni #define TWTY_STR1024 0x000d /* Means Item is a TW_STR1024...added 1.9 */ 18834faf9d3aSPedro Giffuni #define TWTY_UNI512 0x000e /* Means Item is a TW_UNI512...added 1.9 */ 18844faf9d3aSPedro Giffuni 18854faf9d3aSPedro Giffuni #define TWFF_JPN 12 /* 1.91 */ 18864faf9d3aSPedro Giffuni 18874faf9d3aSPedro Giffuni #define DAT_TWUNKIDENTITY 0x000b /* Additional message required for thunker to request the special identity information. */ 18884faf9d3aSPedro Giffuni #define DAT_SETUPFILEXFER2 0x0301 /* Data transfer via a file. deprecated - use DAT_SETUPFILEXFER instead*/ 18894faf9d3aSPedro Giffuni 18904faf9d3aSPedro Giffuni #define CAP_SUPPORTEDCAPSEXT 0x100c 18914faf9d3aSPedro Giffuni #define CAP_FILESYSTEM //0x???? 18924faf9d3aSPedro Giffuni #define CAP_PAGEMULTIPLEACQUIRE 0x1023 /* Added 1.8 */ 18934faf9d3aSPedro Giffuni #define CAP_PAPERBINDING 0x102f /* Added 1.8 */ 18944faf9d3aSPedro Giffuni #define CAP_PASSTHRU 0x1031 /* Added 1.8 */ 18954faf9d3aSPedro Giffuni #define CAP_POWERDOWNTIME 0x1034 /* Added 1.8 */ //0x1034 is reused by CAP_CAMERASIDE 18964faf9d3aSPedro Giffuni #define ACAP_AUDIOFILEFORMAT 0x1201 /* Added 1.8 */ 18974faf9d3aSPedro Giffuni 18984faf9d3aSPedro Giffuni #define MSG_CHECKSTATUS 0x0201 /* Get status information - use MSG_GET instead */ 18994faf9d3aSPedro Giffuni 19004faf9d3aSPedro Giffuni #define MSG_INVOKE_CALLBACK 0x0903 /* Mac Only, deprecated - use DAT_NULL and MSG_xxx instead */ 19014faf9d3aSPedro Giffuni 19024faf9d3aSPedro Giffuni #define TWSX_FILE2 3 19034faf9d3aSPedro Giffuni 19044faf9d3aSPedro Giffuni /* CAP_FILESYSTEM values (FS_ means file system) */ 19054faf9d3aSPedro Giffuni #define TWFS_FILESYSTEM 0 19064faf9d3aSPedro Giffuni #define TWFS_RECURSIVEDELETE 1 19074faf9d3aSPedro Giffuni 19084faf9d3aSPedro Giffuni /* ICAP_PIXELTYPE values (PT_ means Pixel Type) */ 19094faf9d3aSPedro Giffuni #define TWPT_SRGB64 11 /* 1.91 */ 19104faf9d3aSPedro Giffuni #define TWPT_BGR 12 /* 1.91 */ 19114faf9d3aSPedro Giffuni #define TWPT_CIELAB 13 /* 1.91 */ 19124faf9d3aSPedro Giffuni #define TWPT_CIELUV 14 /* 1.91 */ 19134faf9d3aSPedro Giffuni #define TWPT_YCBCR 15 /* 1.91 */ 19144faf9d3aSPedro Giffuni 19154faf9d3aSPedro Giffuni /* ICAP_SUPPORTEDSIZES values (SS_ means Supported Sizes) */ 19164faf9d3aSPedro Giffuni #define TWSS_B 8 19174faf9d3aSPedro Giffuni #define TWSS_A4LETTER TWSS_A4 /* use TWSS_A4 instead */ 19184faf9d3aSPedro Giffuni #define TWSS_B3 TWSS_ISOB3 /* use TWSS_ISOB3 instead */ 19194faf9d3aSPedro Giffuni #define TWSS_B4 TWSS_ISOB4 /* use TWSS_ISOB4 instead */ 19204faf9d3aSPedro Giffuni #define TWSS_B6 TWSS_ISOB6 /* use TWSS_ISOB6 instead */ 19214faf9d3aSPedro Giffuni #define TWSS_B5LETTER TWSS_JISB5 /* use TWSS_JISB5 instead */ 19224faf9d3aSPedro Giffuni 19234faf9d3aSPedro Giffuni /* CAP_LANGUAGE Language Constants */ 19244faf9d3aSPedro Giffuni #define TWLG_DAN TWLG_DANISH /* use TWLG_DANISH instead */ 19254faf9d3aSPedro Giffuni #define TWLG_DUT TWLG_DUTCH /* use TWLG_DUTCH instead */ 19264faf9d3aSPedro Giffuni #define TWLG_ENG TWLG_ENGLISH /* use TWLG_ENGLISH instead */ 19274faf9d3aSPedro Giffuni #define TWLG_USA TWLG_ENGLISH_USA /* use TWLG_ENGLISH_USA instead */ 19284faf9d3aSPedro Giffuni #define TWLG_FIN TWLG_FINNISH /* use TWLG_FINNISH instead */ 19294faf9d3aSPedro Giffuni #define TWLG_FRN TWLG_FRENCH /* use TWLG_FRENCH instead */ 19304faf9d3aSPedro Giffuni #define TWLG_FCF TWLG_FRENCH_CANADIAN /* use TWLG_FRENCH_CANADIAN instead */ 19314faf9d3aSPedro Giffuni #define TWLG_GER TWLG_GERMAN /* use TWLG_GERMAN instead */ 19324faf9d3aSPedro Giffuni #define TWLG_ICE TWLG_ICELANDIC /* use TWLG_ICELANDIC instead */ 19334faf9d3aSPedro Giffuni #define TWLG_ITN TWLG_ITALIAN /* use TWLG_ITALIAN instead */ 19344faf9d3aSPedro Giffuni #define TWLG_NOR TWLG_NORWEGIAN /* use TWLG_NORWEGIAN instead */ 19354faf9d3aSPedro Giffuni #define TWLG_POR TWLG_PORTUGUESE /* use TWLG_PORTUGUESE instead */ 19364faf9d3aSPedro Giffuni #define TWLG_SPA TWLG_SPANISH /* use TWLG_SPANISH instead */ 19374faf9d3aSPedro Giffuni #define TWLG_SWE TWLG_SWEDISH /* use TWLG_SWEDISH instead */ 19384faf9d3aSPedro Giffuni 19394faf9d3aSPedro Giffuni 19404faf9d3aSPedro Giffuni /* ACAP_AUDIOFILEFORMAT values (AF_ means audio format). Added 1.8 */ 19414faf9d3aSPedro Giffuni #define TWAF_WAV 0 19424faf9d3aSPedro Giffuni #define TWAF_AIFF 1 19434faf9d3aSPedro Giffuni #define TWAF_AU 3 19444faf9d3aSPedro Giffuni #define TWAF_SND 4 19454faf9d3aSPedro Giffuni 19464faf9d3aSPedro Giffuni 19474faf9d3aSPedro Giffuni /* DAT_SETUPFILEXFER2. Sets up DS to application data transfer via a file. Added 1.9 */ 19484faf9d3aSPedro Giffuni typedef struct { 19494faf9d3aSPedro Giffuni TW_MEMREF FileName; /* Pointer to file name text */ 19504faf9d3aSPedro Giffuni TW_UINT16 FileNameType; /* TWTY_STR1024 or TWTY_UNI512 */ 19514faf9d3aSPedro Giffuni TW_UINT16 Format; /* Any TWFF_ constant */ 19524faf9d3aSPedro Giffuni TW_INT16 VRefNum; /* Used for Mac only */ 19534faf9d3aSPedro Giffuni TW_UINT32 parID; /* Used for Mac only */ 19544faf9d3aSPedro Giffuni } TW_SETUPFILEXFER2, FAR * pTW_SETUPFILEXFER2; 19554faf9d3aSPedro Giffuni 19564faf9d3aSPedro Giffuni /* SDH - 03/21/95 - TWUNK */ 19574faf9d3aSPedro Giffuni /* DAT_TWUNKIDENTITY. Provides DS identity and 'other' information necessary */ 19584faf9d3aSPedro Giffuni /* across thunk link. */ 19594faf9d3aSPedro Giffuni typedef struct { 19604faf9d3aSPedro Giffuni TW_IDENTITY identity; /* Identity of data source. */ 19614faf9d3aSPedro Giffuni TW_STR255 dsPath; /* Full path and file name of data source. */ 19624faf9d3aSPedro Giffuni } TW_TWUNKIDENTITY, FAR * pTW_TWUNKIDENTITY; 19634faf9d3aSPedro Giffuni 19644faf9d3aSPedro Giffuni /* SDH - 03/21/95 - TWUNK */ 19654faf9d3aSPedro Giffuni /* Provides DS_Entry parameters over thunk link. */ 19664faf9d3aSPedro Giffuni /* SDH - 03/23/95 - WATCH */ 19674faf9d3aSPedro Giffuni /* The thunker requires knowledge about size of data being passed in the */ 19684faf9d3aSPedro Giffuni /* lpData parameter to DS_Entry (which is not readily available due to */ 19694faf9d3aSPedro Giffuni /* type LPVOID. Thus, we key off the DAT_ argument to determine the size. */ 19704faf9d3aSPedro Giffuni /* This has a couple implications: */ 19714faf9d3aSPedro Giffuni /* 1) Any additional DAT_ features require modifications to the thunk code */ 19724faf9d3aSPedro Giffuni /* for thunker support. */ 19734faf9d3aSPedro Giffuni /* 2) Any applications which use the custom capabailites are not supported */ 19744faf9d3aSPedro Giffuni /* under thunking since we have no way of knowing what size data (if */ 19754faf9d3aSPedro Giffuni /* any) is being passed. */ 19764faf9d3aSPedro Giffuni typedef struct 19774faf9d3aSPedro Giffuni { 19784faf9d3aSPedro Giffuni TW_INT8 destFlag; /* TRUE if dest is not NULL */ 19794faf9d3aSPedro Giffuni TW_IDENTITY dest; /* Identity of data source (if used) */ 19804faf9d3aSPedro Giffuni TW_INT32 dataGroup; /* DSM_Entry dataGroup parameter */ 19814faf9d3aSPedro Giffuni TW_INT16 dataArgType; /* DSM_Entry dataArgType parameter */ 19824faf9d3aSPedro Giffuni TW_INT16 message; /* DSM_Entry message parameter */ 19834faf9d3aSPedro Giffuni TW_INT32 pDataSize; /* Size of pData (0 if NULL) */ 19844faf9d3aSPedro Giffuni // TW_MEMREF pData; /* Based on implementation specifics, a */ 19854faf9d3aSPedro Giffuni /* pData parameter makes no sense in this */ 19864faf9d3aSPedro Giffuni /* structure, but data (if provided) will be*/ 19874faf9d3aSPedro Giffuni /* appended in the data block. */ 19884faf9d3aSPedro Giffuni } TW_TWUNKDSENTRYPARAMS, FAR * pTW_TWUNKDSENTRYPARAMS; 19894faf9d3aSPedro Giffuni 19904faf9d3aSPedro Giffuni /* SDH - 03/21/95 - TWUNK */ 19914faf9d3aSPedro Giffuni /* Provides DS_Entry results over thunk link. */ 19924faf9d3aSPedro Giffuni typedef struct 19934faf9d3aSPedro Giffuni { 19944faf9d3aSPedro Giffuni TW_UINT16 returnCode; /* Thunker DsEntry return code. */ 19954faf9d3aSPedro Giffuni TW_UINT16 conditionCode; /* Thunker DsEntry condition code. */ 19964faf9d3aSPedro Giffuni TW_INT32 pDataSize; /* Size of pData (0 if NULL) */ 19974faf9d3aSPedro Giffuni // TW_MEMREF pData; /* Based on implementation specifics, a */ 19984faf9d3aSPedro Giffuni /* pData parameter makes no sense in this */ 19994faf9d3aSPedro Giffuni /* structure, but data (if provided) will be*/ 20004faf9d3aSPedro Giffuni /* appended in the data block. */ 20014faf9d3aSPedro Giffuni } TW_TWUNKDSENTRYRETURN, FAR * pTW_TWUNKDSENTRYRETURN; 20024faf9d3aSPedro Giffuni 20034faf9d3aSPedro Giffuni /* WJD - 950818 */ 20044faf9d3aSPedro Giffuni /* Added for 1.6 Specification */ 20054faf9d3aSPedro Giffuni /* TWAIN 1.6 CAP_SUPPORTEDCAPSEXT structure */ 20064faf9d3aSPedro Giffuni typedef struct 20074faf9d3aSPedro Giffuni { 20084faf9d3aSPedro Giffuni TW_UINT16 Cap; /* Which CAP/ICAP info is relevant to */ 20094faf9d3aSPedro Giffuni TW_UINT16 Properties; /* Messages this CAP/ICAP supports */ 20104faf9d3aSPedro Giffuni } TW_CAPEXT, FAR * pTW_CAPEXT; 20114faf9d3aSPedro Giffuni 20124faf9d3aSPedro Giffuni /* DAT_SETUPAUDIOFILEXFER, information required to setup an audio file transfer */ 20134faf9d3aSPedro Giffuni typedef struct { 20144faf9d3aSPedro Giffuni TW_STR255 FileName; /* full path target file */ 20154faf9d3aSPedro Giffuni TW_UINT16 Format; /* one of TWAF_xxxx */ 20164faf9d3aSPedro Giffuni TW_INT16 VRefNum; 20174faf9d3aSPedro Giffuni } TW_SETUPAUDIOFILEXFER, FAR * pTW_SETUPAUDIOFILEXFER; 2018cdf0e10cSrcweir 2019cdf0e10cSrcweir 2020cdf0e10cSrcweir /**************************************************************************** 2021cdf0e10cSrcweir * Entry Points * 2022cdf0e10cSrcweir ****************************************************************************/ 2023cdf0e10cSrcweir 2024cdf0e10cSrcweir /********************************************************************** 2025cdf0e10cSrcweir * Function: DSM_Entry, the only entry point into the Data Source Manager. 2026cdf0e10cSrcweir * 2027cdf0e10cSrcweir * Parameters: 2028cdf0e10cSrcweir * pOrigin Identifies the source module of the message. This could 2029cdf0e10cSrcweir * identify an Application, a Source, or the Source Manager. 2030cdf0e10cSrcweir * 2031cdf0e10cSrcweir * pDest Identifies the destination module for the message. 2032cdf0e10cSrcweir * This could identify an application or a data source. 2033cdf0e10cSrcweir * If this is NULL, the message goes to the Source Manager. 2034cdf0e10cSrcweir * 2035cdf0e10cSrcweir * DG The Data Group. 2036cdf0e10cSrcweir * Example: DG_IMAGE. 2037cdf0e10cSrcweir * 2038cdf0e10cSrcweir * DAT The Data Attribute Type. 2039cdf0e10cSrcweir * Example: DAT_IMAGEMEMXFER. 2040cdf0e10cSrcweir * 2041cdf0e10cSrcweir * MSG The message. Messages are interpreted by the destination module 2042cdf0e10cSrcweir * with respect to the Data Group and the Data Attribute Type. 2043cdf0e10cSrcweir * Example: MSG_GET. 2044cdf0e10cSrcweir * 2045cdf0e10cSrcweir * pData A pointer to the data structure or variable identified 2046cdf0e10cSrcweir * by the Data Attribute Type. 2047cdf0e10cSrcweir * Example: (TW_MEMREF)&ImageMemXfer 2048cdf0e10cSrcweir * where ImageMemXfer is a TW_IMAGEMEMXFER structure. 2049cdf0e10cSrcweir * 2050cdf0e10cSrcweir * Returns: 2051cdf0e10cSrcweir * ReturnCode 2052cdf0e10cSrcweir * Example: TWRC_SUCCESS. 2053cdf0e10cSrcweir * 2054cdf0e10cSrcweir ********************************************************************/ 2055cdf0e10cSrcweir 2056cdf0e10cSrcweir /* Don't mangle the name "DSM_Entry" if we're compiling in C++! */ 2057cdf0e10cSrcweir #ifdef __cplusplus 2058cdf0e10cSrcweir extern "C" { 2059cdf0e10cSrcweir #endif /* __cplusplus */ 2060cdf0e10cSrcweir 20614faf9d3aSPedro Giffuni #ifdef TWH_CMP_MSC 20624faf9d3aSPedro Giffuni 20634faf9d3aSPedro Giffuni TW_UINT16 FAR PASCAL DSM_Entry( pTW_IDENTITY pOrigin, 20644faf9d3aSPedro Giffuni pTW_IDENTITY pDest, 20654faf9d3aSPedro Giffuni TW_UINT32 DG, 20664faf9d3aSPedro Giffuni TW_UINT16 DAT, 20674faf9d3aSPedro Giffuni TW_UINT16 MSG, 20684faf9d3aSPedro Giffuni TW_MEMREF pData); 20694faf9d3aSPedro Giffuni 20704faf9d3aSPedro Giffuni typedef TW_UINT16 (FAR PASCAL *DSMENTRYPROC)(pTW_IDENTITY pOrigin, 20714faf9d3aSPedro Giffuni pTW_IDENTITY pDest, 20724faf9d3aSPedro Giffuni TW_UINT32 DG, 20734faf9d3aSPedro Giffuni TW_UINT16 DAT, 20744faf9d3aSPedro Giffuni TW_UINT16 MSG, 20754faf9d3aSPedro Giffuni TW_MEMREF pData); 20764faf9d3aSPedro Giffuni 20774faf9d3aSPedro Giffuni #else 20784faf9d3aSPedro Giffuni 20794faf9d3aSPedro Giffuni FAR PASCAL TW_UINT16 DSM_Entry( pTW_IDENTITY pOrigin, 20804faf9d3aSPedro Giffuni pTW_IDENTITY pDest, 20814faf9d3aSPedro Giffuni TW_UINT32 DG, 20824faf9d3aSPedro Giffuni TW_UINT16 DAT, 20834faf9d3aSPedro Giffuni TW_UINT16 MSG, 20844faf9d3aSPedro Giffuni TW_MEMREF pData); 20854faf9d3aSPedro Giffuni 20864faf9d3aSPedro Giffuni typedef TW_UINT16 (*DSMENTRYPROC)(pTW_IDENTITY pOrigin, 20874faf9d3aSPedro Giffuni pTW_IDENTITY pDest, 20884faf9d3aSPedro Giffuni TW_UINT32 DG, 20894faf9d3aSPedro Giffuni TW_UINT16 DAT, 20904faf9d3aSPedro Giffuni TW_UINT16 MSG, 20914faf9d3aSPedro Giffuni TW_MEMREF pData); 20924faf9d3aSPedro Giffuni 20934faf9d3aSPedro Giffuni #endif /* TWH_CMP_MSC */ 2094cdf0e10cSrcweir 2095cdf0e10cSrcweir #ifdef __cplusplus 2096cdf0e10cSrcweir } 2097cdf0e10cSrcweir #endif /* cplusplus */ 2098cdf0e10cSrcweir 2099cdf0e10cSrcweir 2100cdf0e10cSrcweir /********************************************************************** 2101cdf0e10cSrcweir * Function: DS_Entry, the entry point provided by a Data Source. 2102cdf0e10cSrcweir * 2103cdf0e10cSrcweir * Parameters: 2104cdf0e10cSrcweir * pOrigin Identifies the source module of the message. This could 2105cdf0e10cSrcweir * identify an application or the Data Source Manager. 2106cdf0e10cSrcweir * 2107cdf0e10cSrcweir * DG The Data Group. 2108cdf0e10cSrcweir * Example: DG_IMAGE. 2109cdf0e10cSrcweir * 2110cdf0e10cSrcweir * DAT The Data Attribute Type. 2111cdf0e10cSrcweir * Example: DAT_IMAGEMEMXFER. 2112cdf0e10cSrcweir * 2113cdf0e10cSrcweir * MSG The message. Messages are interpreted by the data source 2114cdf0e10cSrcweir * with respect to the Data Group and the Data Attribute Type. 2115cdf0e10cSrcweir * Example: MSG_GET. 2116cdf0e10cSrcweir * 2117cdf0e10cSrcweir * pData A pointer to the data structure or variable identified 2118cdf0e10cSrcweir * by the Data Attribute Type. 2119cdf0e10cSrcweir * Example: (TW_MEMREF)&ImageMemXfer 2120cdf0e10cSrcweir * where ImageMemXfer is a TW_IMAGEMEMXFER structure. 2121cdf0e10cSrcweir * 2122cdf0e10cSrcweir * Returns: 2123cdf0e10cSrcweir * ReturnCode 2124cdf0e10cSrcweir * Example: TWRC_SUCCESS. 2125cdf0e10cSrcweir * 2126cdf0e10cSrcweir * Note: 2127cdf0e10cSrcweir * The DSPROC type is only used by an application when it calls 2128cdf0e10cSrcweir * a Data Source directly, bypassing the Data Source Manager. 2129cdf0e10cSrcweir * 2130cdf0e10cSrcweir ********************************************************************/ 2131cdf0e10cSrcweir /* Don't mangle the name "DS_Entry" if we're compiling in C++! */ 2132cdf0e10cSrcweir #ifdef __cplusplus 2133cdf0e10cSrcweir extern "C" { 2134cdf0e10cSrcweir #endif /* __cplusplus */ 2135cdf0e10cSrcweir 21364faf9d3aSPedro Giffuni #ifdef TWH_CMP_MSC 21374faf9d3aSPedro Giffuni 21384faf9d3aSPedro Giffuni TW_UINT16 FAR PASCAL DS_Entry(pTW_IDENTITY pOrigin, 21394faf9d3aSPedro Giffuni TW_UINT32 DG, 21404faf9d3aSPedro Giffuni TW_UINT16 DAT, 21414faf9d3aSPedro Giffuni TW_UINT16 MSG, 21424faf9d3aSPedro Giffuni TW_MEMREF pData); 21434faf9d3aSPedro Giffuni 21444faf9d3aSPedro Giffuni typedef TW_UINT16 (FAR PASCAL *DSENTRYPROC)(pTW_IDENTITY pOrigin, 21454faf9d3aSPedro Giffuni TW_UINT32 DG, 21464faf9d3aSPedro Giffuni TW_UINT16 DAT, 21474faf9d3aSPedro Giffuni TW_UINT16 MSG, 21484faf9d3aSPedro Giffuni TW_MEMREF pData); 21494faf9d3aSPedro Giffuni 21504faf9d3aSPedro Giffuni #else 21514faf9d3aSPedro Giffuni 21524faf9d3aSPedro Giffuni FAR PASCAL TW_UINT16 DS_Entry(pTW_IDENTITY pOrigin, 21534faf9d3aSPedro Giffuni TW_UINT32 DG, 21544faf9d3aSPedro Giffuni TW_UINT16 DAT, 21554faf9d3aSPedro Giffuni TW_UINT16 MSG, 21564faf9d3aSPedro Giffuni TW_MEMREF pData); 21574faf9d3aSPedro Giffuni 21584faf9d3aSPedro Giffuni typedef TW_UINT16 (*DSENTRYPROC)(pTW_IDENTITY pOrigin, 21594faf9d3aSPedro Giffuni TW_UINT32 DG, 21604faf9d3aSPedro Giffuni TW_UINT16 DAT, 21614faf9d3aSPedro Giffuni TW_UINT16 MSG, 21624faf9d3aSPedro Giffuni TW_MEMREF pData); 21634faf9d3aSPedro Giffuni 21644faf9d3aSPedro Giffuni #endif /* TWH_CMP_MSC */ 21654faf9d3aSPedro Giffuni 21664faf9d3aSPedro Giffuni 21674faf9d3aSPedro Giffuni typedef TW_HANDLE (PASCAL *DSM_MEMALLOCATE)(TW_UINT32 _size); 21684faf9d3aSPedro Giffuni typedef void (PASCAL *DSM_MEMFREE)(TW_HANDLE _handle); 21694faf9d3aSPedro Giffuni typedef TW_MEMREF (PASCAL *DSM_MEMLOCK)(TW_HANDLE _handle); 21704faf9d3aSPedro Giffuni typedef void (PASCAL *DSM_MEMUNLOCK)(TW_HANDLE _handle); 2171cdf0e10cSrcweir 2172cdf0e10cSrcweir #ifdef __cplusplus 2173cdf0e10cSrcweir } 21744faf9d3aSPedro Giffuni #endif /* __cplusplus */ 2175cdf0e10cSrcweir 21764faf9d3aSPedro Giffuni /* DAT_ENTRYPOINT. returns essential entry points. */ 21774faf9d3aSPedro Giffuni typedef struct { 21784faf9d3aSPedro Giffuni TW_UINT32 Size; 21794faf9d3aSPedro Giffuni DSMENTRYPROC DSM_Entry; 21804faf9d3aSPedro Giffuni DSM_MEMALLOCATE DSM_MemAllocate; 21814faf9d3aSPedro Giffuni DSM_MEMFREE DSM_MemFree; 21824faf9d3aSPedro Giffuni DSM_MEMLOCK DSM_MemLock; 21834faf9d3aSPedro Giffuni DSM_MEMUNLOCK DSM_MemUnlock; 21844faf9d3aSPedro Giffuni } TW_ENTRYPOINT, FAR * pTW_ENTRYPOINT; 21854faf9d3aSPedro Giffuni 21864faf9d3aSPedro Giffuni /* Restore the previous packing alignment: this occurs after all structures are defined */ 21876538ed46SPedro Giffuni #if defined(TWH_CMP_MING32) 21884faf9d3aSPedro Giffuni #pragma pack (pop) 21896538ed46SPedro Giffuni #elif defined(TWH_CMP_MSC) 21904faf9d3aSPedro Giffuni #pragma pack (pop, before_twain) 21914faf9d3aSPedro Giffuni #elif defined(TWH_CMP_GNU) 21924faf9d3aSPedro Giffuni #pragma pack (pop, before_twain) 21934faf9d3aSPedro Giffuni #elif defined(TWH_CMP_BORLAND) 21944faf9d3aSPedro Giffuni #pragma option �a. 21954faf9d3aSPedro Giffuni #elif defined(TWH_CMP_XCODE) 21964faf9d3aSPedro Giffuni #if PRAGMA_STRUCT_ALIGN 21974faf9d3aSPedro Giffuni #pragma options align=reset 21984faf9d3aSPedro Giffuni #elif PRAGMA_STRUCT_PACKPUSH 2199cdf0e10cSrcweir #pragma pack (pop) 22004faf9d3aSPedro Giffuni #elif PRAGMA_STRUCT_PACK 22014faf9d3aSPedro Giffuni #pragma pack() 22024faf9d3aSPedro Giffuni #endif 22034faf9d3aSPedro Giffuni #endif 2204cdf0e10cSrcweir 2205cdf0e10cSrcweir #endif /* TWAIN */ 2206