1 /* library.h
2  *
3  * Copyright (C) Scott Fritzinger
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the
17  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  * Boston, MA  02110-1301  USA
19  */
20 
21 
22 #ifndef _DC120_LIBRARY_H_
23 #define _DC120_LIBRARY_H_
24 
25 
26 #define CAMERA_EPOC              852094800
27 
28 #define DC120_ACTION_IMAGE      0
29 #define DC120_ACTION_PREVIEW    1
30 #define DC120_ACTION_DELETE     2
31 
32 /* Status structure. Copied from dc210, thus may not fit. */
33 typedef struct {
34     char    camera_type_id;               /* 1 */
35     char    firmware_major;               /* 2 */
36     char    firmware_minor;               /* 3 */
37     char    batteryStatusId;     	        /* 8 battery status */
38     char    acStatusId;                   /* 9 */
39     unsigned long time;	        	/* 12-15 */
40     char    af_mode;  	     	        /* 16 */
41     char    zoom_mode;     	     	/* 16 */
42     char    flash_charged;		/* 18 */
43     char    compression_mode_id;        	/* 19 */
44     char    flash_mode;	        	/* 20 */
45     char    exposure_compensation;	/* 21 */
46     char    light_value;                  /* 22 measured light */
47     char    manual_exposure;              /* 23 */
48     unsigned long exposure_time;          /* 24-27*/
49     char    shutter_delay;                /* 29 */
50     char    memory_card;                  /* 30 */
51     char    front_cover;                  /* 31 */
52     char    date_format;                  /* 32 */
53     char    time_format;                  /* 33 */
54     char    distance_format;              /* 34 */
55     unsigned short taken_pict_mem;        /* 36-37 */
56     unsigned short remaining_pic_mem[4];  /* 46-53 */
57     unsigned short taken_pict_card;       /* 56-57 */
58     unsigned short remaining_pic_card[4]; /* 66-73 */
59     unsigned long  album_count;           /* 122-125 */
60     char    card_id[32];      	        /* 77-88 */
61     char    camera_id[32];      	        /* 90-122 */
62 } Kodak_dc120_status;
63 
64 int   dc120_set_speed    (Camera *camera, int speed);
65 int   dc120_get_status   (Camera *camera, Kodak_dc120_status *status, GPContext *context);
66 int   dc120_get_albums	 (Camera *camera, int from_card, CameraList *list, GPContext *context);
67 int   dc120_get_filenames(Camera *camera, int from_card, int album_number, CameraList *list, GPContext *context);
68 int   dc120_file_action	 (Camera *camera, int action, int from_card, int album_number,
69 			  int file_number, CameraFile *file, GPContext *context);
70 int dc120_capture (Camera *camera, CameraFilePath *path, GPContext *context);
71 
72 
73 #endif /* _DC120_LIBRARY_H_ */
74