]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * Video4Linux bw-qcam driver | |
3 | * | |
4 | * Derived from code.. | |
5 | */ | |
6 | ||
7 | /****************************************************************** | |
8 | ||
9 | Copyright (C) 1996 by Scott Laird | |
10 | ||
11 | Permission is hereby granted, free of charge, to any person obtaining | |
12 | a copy of this software and associated documentation files (the | |
13 | "Software"), to deal in the Software without restriction, including | |
14 | without limitation the rights to use, copy, modify, merge, publish, | |
15 | distribute, sublicense, and/or sell copies of the Software, and to | |
16 | permit persons to whom the Software is furnished to do so, subject to | |
17 | the following conditions: | |
18 | ||
19 | The above copyright notice and this permission notice shall be | |
20 | included in all copies or substantial portions of the Software. | |
21 | ||
22 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |
23 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |
24 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | |
25 | IN NO EVENT SHALL SCOTT LAIRD BE LIABLE FOR ANY CLAIM, DAMAGES OR | |
26 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | |
27 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | |
28 | OTHER DEALINGS IN THE SOFTWARE. | |
29 | ||
30 | ******************************************************************/ | |
31 | ||
32 | /* One from column A... */ | |
33 | #define QC_NOTSET 0 | |
34 | #define QC_UNIDIR 1 | |
35 | #define QC_BIDIR 2 | |
36 | #define QC_SERIAL 3 | |
37 | ||
38 | /* ... and one from column B */ | |
39 | #define QC_ANY 0x00 | |
40 | #define QC_FORCE_UNIDIR 0x10 | |
41 | #define QC_FORCE_BIDIR 0x20 | |
42 | #define QC_FORCE_SERIAL 0x30 | |
43 | /* in the port_mode member */ | |
44 | ||
45 | #define QC_MODE_MASK 0x07 | |
46 | #define QC_FORCE_MASK 0x70 | |
47 | ||
48 | #define MAX_HEIGHT 243 | |
49 | #define MAX_WIDTH 336 | |
50 | ||
51 | /* Bit fields for status flags */ | |
52 | #define QC_PARAM_CHANGE 0x01 /* Camera status change has occurred */ | |
53 | ||
54 | struct qcam_device { | |
55 | struct video_device vdev; | |
56 | struct pardevice *pdev; | |
57 | struct parport *pport; | |
58 | struct semaphore lock; | |
59 | int width, height; | |
60 | int bpp; | |
61 | int mode; | |
62 | int contrast, brightness, whitebal; | |
63 | int port_mode; | |
64 | int transfer_scale; | |
65 | int top, left; | |
66 | int status; | |
67 | unsigned int saved_bits; | |
68 | }; |