1 /*
2  * Copyright 1999/2000 by Henning Zabel <henning@uni-paderborn.de>
3  *
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License as published by the
6  * Free Software Foundation; either version 2 of the License, or (at your
7  * option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12  * for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software Foundation,
16  * Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17  */
18 
19 #ifndef _MUSTEK_CORE_H
20 #define _MUSTEK_CORE_H
21 
22 #include "io.h"
23 #include "mdc800_spec.h"
24 #include "image.h"
25 
26 #define MDC800_FLASHLIGHT_REDEYE	1
27 #define MDC800_FLASHLIGHT_ON 		2
28 #define MDC800_FLASHLIGHT_OFF		4
29 #define MDC800_FLASHLIGHT_AUTO		0
30 
31 struct _CameraPrivateLibrary {
32     unsigned char system_flags[4];
33     int  system_flags_valid;
34     int  memory_source;
35 };
36 
37 /* -------------------------------------------------------------------------- */
38 
39 int mdc800_openCamera (Camera*);
40 int mdc800_closeCamera (Camera*);
41 
42 int mdc800_changespeed (Camera*,int);
43 int mdc800_getSpeed (Camera*,int *);
44 
45 /* - Camera must be open for these functions -------------------------------- */
46 
47 int mdc800_setTarget (Camera *camera, int);
48 
49 
50 int mdc800_getThumbnail (Camera *cam, int nr, void **data,int *size);
51 int mdc800_getImage (Camera *cam,int nr, void **data, int *size);
52 
53 /* ------- SystemStatus ---------------------------------------------------- */
54 
55 int mdc800_getSystemStatus(Camera *);
56 int mdc800_isCFCardPresent(Camera *);
57 int mdc800_getMode(Camera*);
58 int mdc800_getFlashLightStatus(Camera*);
59 int mdc800_isLCDEnabled(Camera*);
60 int mdc800_isBatteryOk(Camera*);
61 int mdc800_isMenuOn(Camera*);
62 int mdc800_isAutoOffEnabled(Camera*);
63 
64 int mdc800_getStorageSource(Camera*);
65 
66 /* ------- Other Functions -------------------------------------------------- */
67 
68 /*  Most of these Function depends on the Storage Source */
69 
70 int mdc800_setDefaultStorageSource(Camera*);
71 int mdc800_setStorageSource (Camera *,int);
72 int mdc800_setMode (Camera *,int);
73 int mdc800_enableLCD (Camera*,int);
74 int mdc800_playbackImage (Camera*,int );
75 int mdc800_getRemainFreeImageCount (Camera*,int*,int* ,int*);
76 int mdc800_setFlashLight (Camera*,int );
77 
78 char* mdc800_getFlashLightString (int);
79 
80 int mdc800_getImageQuality (Camera*,unsigned char *retval);
81 int mdc800_setImageQuality (Camera*,int);
82 
83 int mdc800_getWBandExposure (Camera*,int*, int*);
84 int mdc800_setExposure (Camera*,int);
85 
86 int mdc800_setWB (Camera*,int);
87 
88 int mdc800_setExposureMode (Camera*,int);
89 int mdc800_getExposureMode (Camera*,int *);
90 
91 int mdc800_enableMenu (Camera *,int);
92 
93 int mdc800_number_of_pictures (Camera *camera, int *nrofpics);
94 #endif
95