1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
--- sane-backends-1.0.15/backend/plustek-usb.h.orig 2005-07-06 00:45:43.000000000 +0200
+++ sane-backends-1.0.15/backend/plustek-usb.h 2005-07-06 00:47:36.000000000 +0200
@@ -106,17 +106,20 @@
#define _PHILO2WORD(x) ((u_short)x->bHi * 256U + x->bLo)
/* useful for RGB-values */
+#define PACKED8 __attribute__ ((packed,aligned(1)))
+#define PACKED16 __attribute__ ((packed,aligned(2)))
+
typedef struct {
u_char Red;
u_char Green;
u_char Blue;
-} RGBByteDef, *pRGBByteDef;
+} PACKED8 RGBByteDef, *pRGBByteDef;
typedef struct {
u_short Red;
u_short Green;
u_short Blue;
-} RGBUShortDef, *pRGBUShortDef;
+} PACKED16 RGBUShortDef, *pRGBUShortDef;
typedef struct {
u_long Red;
@@ -126,22 +129,22 @@
typedef struct {
u_char a_bColor[3];
-} ColorByteDef, *pColorByteDef;
+} PACKED8 ColorByteDef, *pColorByteDef;
typedef struct {
u_char bHi;
u_char bLo;
-} HiLoDef, *pHiLoDef;
+} PACKED8 HiLoDef, *pHiLoDef;
typedef union {
HiLoDef HiLo[3];
u_short Colors[3];
-} ColorWordDef, *pColorWordDef;
+} PACKED16 ColorWordDef, *pColorWordDef;
typedef union {
HiLoDef HiLo;
u_short Mono;
-} MonoWordDef, *pMonoWordDef;
+} PACKED16 MonoWordDef, *pMonoWordDef;
typedef union {
|