summaryrefslogtreecommitdiff
path: root/camlibs/pccam600/pccam600.h
blob: a8376bc2192746321568be8c52cbafffb683e5e9 (plain)
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
/* pccam600.h
 *  
 *  This library is free software; you can redistribute and/or
 *  modify it inder the terms of the GNU Lesser Genreral Public
 *  License as publiced by the Free Software Foundation; either
 *  version 2 of the License, or (at your option) any later version.
 *
 *  This library is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warrenty of
 *  MERCHANTABULITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 *  lesser General Public License for more details.
 *
 *  Author: Peter Kajberg <pbk@odense.kollegienet.dk>
 */

#ifndef __PCCAM600_H__
#define __PCCAM600_H__

#include <gphoto2/gphoto2.h>
#include <gphoto2/gphoto2-port.h>

typedef struct {
  unsigned char state; /*delete or ok*/
  unsigned char unk1;
  unsigned char quality;
  unsigned char name[9];
  unsigned char unk2[4];

  unsigned char unk3[10];
  unsigned char unk4[2];
  unsigned char unk5;
  unsigned char size[2];
  unsigned char unk6;
} FileEntry;

int pccam600_init(GPPort *port, GPContext *context);
int pccam600_close(GPPort *port, GPContext *context);
int pccam600_get_file_list(GPPort *port, GPContext *context);
int pccam600_delete_file(GPPort *port, GPContext *context, int index);
int pccam600_read_data(GPPort *port, unsigned char *buffer);
int pccam600_get_file(GPPort *port, GPContext *context, int index);
int pccam600_get_mem_info(GPPort *port, GPContext *context, int *totalmem,
			  int *freemem);
#endif /* __PCCAM600_H__ */