From 6e9c41a892ed0e0da326e0278b3221ce3f5713b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Mon, 6 Oct 2014 14:00:40 +0200 Subject: Initial import of sane-backends version 1.0.24-1.2 --- backend/plustek-pp_types.h | 191 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 backend/plustek-pp_types.h (limited to 'backend/plustek-pp_types.h') 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 + * + * 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 + * . + *
+ * 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. + *
+ */ +#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 ...................................................*/ -- cgit v1.2.3