summaryrefslogtreecommitdiff
path: root/backend/plustek-pp_types.h
diff options
context:
space:
mode:
Diffstat (limited to 'backend/plustek-pp_types.h')
-rw-r--r--backend/plustek-pp_types.h191
1 files changed, 191 insertions, 0 deletions
diff --git a/backend/plustek-pp_types.h b/backend/plustek-pp_types.h
new file mode 100644
index 0000000..8cc1f8b
--- /dev/null
+++ b/backend/plustek-pp_types.h
@@ -0,0 +1,191 @@
+/* @file plustek-pp_types.h
+ * @brief some typedefs and error codes
+ *
+ * Copyright (C) 2000-2013 Gerhard Jaeger <gerhard@gjaeger.de>
+ *
+ * History:
+ * 0.30 - initial version
+ * 0.31 - no changes
+ * 0.32 - added _VAR_NOT_USED()
+ * 0.33 - no changes
+ * 0.34 - no changes
+ * 0.35 - no changes
+ * 0.36 - added _E_ABORT and _E_VERSION
+ * 0.37 - moved _MAX_DEVICES to plustek_scan.h
+ * added pChar and TabDef
+ * 0.38 - comment change for _E_NOSUPP
+ * added RGBByteDef, RGBWordDef and RGBULongDef
+ * replaced AllPointer by DataPointer
+ * replaced AllType by DataType
+ * added _LOBYTE and _HIBYTE stuff
+ * added _E_NO_ASIC and _E_NORESOURCE
+ * 0.39 - no changes
+ * 0.40 - moved _VAR_NOT_USED and TabDef to plustek-share.h
+ * 0.41 - no changes
+ * 0.42 - moved errorcodes to plustek-share.h
+ * 0.43 - no changes
+ * 0.44 - define Long and ULong types to use int32_t, so
+ * the code should still work on 64 bit machines
+ * .
+ * <hr>
+ * This file is part of the SANE package.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ *
+ * As a special exception, the authors of SANE give permission for
+ * additional uses of the libraries contained in this release of SANE.
+ *
+ * The exception is that, if you link a SANE library with other files
+ * to produce an executable, this does not by itself cause the
+ * resulting executable to be covered by the GNU General Public
+ * License. Your use of that executable is in no way restricted on
+ * account of linking the SANE library code into it.
+ *
+ * This exception does not, however, invalidate any other reasons why
+ * the executable file might be covered by the GNU General Public
+ * License.
+ *
+ * If you submit changes to SANE to the maintainers to be included in
+ * a subsequent release, you agree by submitting the changes that
+ * those changes may be distributed with this exception intact.
+ *
+ * If you write modifications of your own for SANE, it is your choice
+ * whether to permit this exception to apply to your modifications.
+ * If you do not wish that, delete this exception notice.
+ * <hr>
+ */
+#ifndef __DRV_TYPES_H__
+#define __DRV_TYPES_H__
+
+/* define some useful types */
+typedef int Bool;
+typedef char Char;
+typedef char *pChar;
+typedef unsigned char UChar;
+typedef UChar *pUChar;
+typedef unsigned char Byte;
+typedef Byte *pByte;
+
+typedef short Short;
+typedef unsigned short UShort;
+typedef UShort *pUShort;
+
+typedef unsigned int UInt;
+typedef UInt *pUInt;
+
+/* these definitions will fail for 64 bit machines! */
+#if 0
+typedef long Long;
+typedef long *pLong;
+typedef unsigned long ULong;
+#endif
+
+typedef int32_t Long;
+typedef int32_t *pLong;
+typedef uint32_t ULong;
+typedef ULong *pULong;
+
+typedef void *pVoid;
+
+/*
+ * the boolean values
+ */
+#ifndef _TRUE
+# define _TRUE 1
+#endif
+#ifndef _FALSE
+# define _FALSE 0
+#endif
+
+#define _LOWORD(x) ((UShort)(x & 0xffff))
+#define _HIWORD(x) ((UShort)(x >> 16))
+#define _LOBYTE(x) ((Byte)((x) & 0xFF))
+#define _HIBYTE(x) ((Byte)((x) >> 8))
+
+/*
+ * some useful things...
+ */
+typedef struct
+{
+ Byte b1st;
+ Byte b2nd;
+} WordVal, *pWordVal;
+
+typedef struct
+{
+ WordVal w1st;
+ WordVal w2nd;
+} DWordVal, *pDWordVal;
+
+/* useful for RGB-values */
+typedef struct {
+ Byte Red;
+ Byte Green;
+ Byte Blue;
+} RGBByteDef, *pRGBByteDef;
+
+typedef struct {
+ UShort Red;
+ UShort Green;
+ UShort Blue;
+} RGBUShortDef, *pRGBUShortDef;
+
+typedef struct {
+
+ union {
+ pUChar bp;
+ pUShort usp;
+ pULong ulp;
+ } red;
+ union {
+ pUChar bp;
+ pUShort usp;
+ pULong ulp;
+ } green;
+ union {
+ pUChar bp;
+ pUShort usp;
+ pULong ulp;
+ } blue;
+
+} RBGPtrDef;
+
+typedef struct {
+ ULong Red;
+ ULong Green;
+ ULong Blue;
+} RGBULongDef, *pRGBULongDef;
+
+typedef union {
+ pUChar pb;
+ pUShort pw;
+ pULong pdw;
+ pRGBByteDef pbrgb;
+ pRGBUShortDef pusrgb;
+ pRGBULongDef pulrgb;
+} DataPointer, *pDataPointer;
+
+typedef union {
+ WordVal wOverlap;
+ DWordVal dwOverlap;
+ ULong dwValue;
+ UShort wValue;
+ Byte bValue;
+} DataType, *pDataType;
+
+#endif /* guard __DRV_TYPES_H__ */
+
+/* END PLUSTEK-PP_TYPES.H ...................................................*/