1 /*
2 * Connectix QuickCam parallel-port camera video capture driver.
3 * Copyright (c) 1996, Paul Traina.
4 *
5 * This driver is based in part on work
6 * Copyright (c) 1996, Thomas Davis.
7 *
8 * QuickCam(TM) is a registered trademark of Connectix Inc.
9 * Use this driver at your own risk, it is not warranted by
10 * Connectix or the authors.
11 *
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
14 * are met:
15 * 1. Redistributions of source code must retain the above copyright
16 * notice, this list of conditions and the following disclaimer
17 * in this position and unchanged.
18 * 2. Redistributions in binary form must reproduce the above copyright
19 * notice, this list of conditions and the following disclaimer in the
20 * documentation and/or other materials provided with the distribution.
21 * 3. The name of the author may not be used to endorse or promote products
22 * derived from this software withough specific prior written permission
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
25 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
26 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
27 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
28 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
29 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
30 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
33 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 *
35 * NOTE: this file contains the sole public interface between the driver
36 * and user applications. Every effort should be made to retain comaptibility
37 * with the decided upon standard interface shared between Linux and
38 * FreeBSD. Currently, FreeBSD uses a different (richer) interface than
39 * the Linux.
40 *
41 * WARNING WARNING: The contents of this structure is in flux,
42 * recompile often, the driver will change the version
43 * number when the interface changes for now...
44 */
45
46 #ifndef _QUICKCAM_H
47 #define _QUICKCAM_H 1
48
49 #ifndef _IOR
50 /* SCO doesn't have _IOR/_IOW for ioctls, so fake it out to keep things clean*/
51 #define _IOR(cat, func, data) (((cat) << 8) | (func))
52 #define _IOW(cat, func, data) (((cat) << 8) | (func))
53 #endif
54
55 /*
56 * ioctls
57 */
58 #define QC_GET _IOR('S', 1, struct qcam) /* get parameter structure */
59 #define QC_SET _IOW('S', 2, struct qcam) /* set parameter structure */
60
61 #define QC_IOCTL_VERSION 3 /* version of the structure */
62
63 struct qcam {
64 int qc_version; /* version of qcam structure */
65 int qc_xsize; /* size in pixels */
66 int qc_ysize; /* size in pixels */
67 int qc_xorigin; /* x origin */
68 int qc_yorigin; /* y origin */
69 int qc_bpp; /* bits per pixel (4 or 6) */
70 int qc_zoom; /* zoom mode */
71 int qc_exposure; /* length of exposure */
72 u_char qc_brightness; /* 0..255 */
73 u_char qc_whitebalance; /* 0..255 */
74 u_char qc_contrast; /* 0..255 */
75 };
76
77 #define QC_MAX_XSIZE 320 /* pixels */
78 #define QC_MAX_YSIZE 240 /* pixels */
79
80 /*
81 * zoom flags
82 */
83 #define QC_ZOOM_100 0x00 /* no zoom */
84 #define QC_ZOOM_150 0x01 /* 1.5x */
85 #define QC_ZOOM_200 0x02 /* 2.0x */
86
87 #endif
Cache object: 92637ab9777ec4f6d9ef764f296d90a3
|