1 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
2 /*          EXIFPROBE - TIFF/JPEG/EXIF image file probe               */
3 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
4 /* Copyright (C) 2002 by Duane H. Hesser. All rights reserved.        */
5 /*                                                                    */
6 /* See the file LICENSE.EXIFPROBE for terms of use.                   */
7 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
8 
9 #ifndef CANON_EXTERN_INCLUDED
10 #define CANON_EXTERN_INCLUDED
11 
12 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
13 /* Canon camera maker-specific external definitions                   */
14 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
15 
16 extern char *maker_canon_tagname(unsigned short,int);
17 extern char *maker_canon1_tagname(unsigned short,int);
18 extern int canon_model_number(char *,char *);
19 extern int print_canon_serialno(unsigned long);
20 
21 extern void canon1_interpret_value(struct ifd_entry *);
22 extern void print_canon_makervalue(struct ifd_entry *,int,int,char *);
23 extern void print_canon1_makervalue(struct ifd_entry *,int,int,char *);
24 extern void print_canon_offset_makervalue(FILE *,unsigned short,
25                                     struct ifd_entry *,unsigned long,
26                                     struct image_summary *,char *,char *,
27                                     int,int,int,int);
28 extern void canon1_offset_makervalue(FILE *,unsigned short,
29                                     struct ifd_entry *,unsigned long,
30                                     struct image_summary *,char *,char *,
31                                     int,int,int,int);
32 
33 extern unsigned long canon_camera_settings(FILE *,unsigned short,char *,
34                                         unsigned long,unsigned long,int);
35 extern unsigned long canon_shotinfo(FILE *,unsigned short,char *,
36                                         unsigned long,unsigned long,int);
37 extern unsigned long canon_customfunctions(FILE *,unsigned short,char *,
38                                         unsigned long,unsigned long,int,int);
39 extern unsigned long canon_customfunctions_unk(FILE *,unsigned short,char *,
40                                         unsigned long,unsigned long,int);
41 extern unsigned long canon_customfunctionsD30(FILE *,unsigned short,char *,
42                                         unsigned long,unsigned long,int);
43 extern unsigned long canon_customfunctions10D(FILE *,unsigned short,char *,
44                                         unsigned long,unsigned long,int);
45 extern unsigned long canon_customfunctions20D(FILE *,unsigned short,char *,
46                                         unsigned long,unsigned long,int);
47 extern unsigned long canon_customfunctions1D(FILE *,unsigned short,char *,
48                                         unsigned long,unsigned long,int);
49 extern unsigned long canon_sensorinfo(FILE *,unsigned short,char *,
50                                         unsigned long,unsigned long,int);
51 extern unsigned long canon_pictureinfo(FILE *,unsigned short,char *,
52                                         unsigned long,unsigned long,int);
53 extern unsigned long canon_colorspace(FILE *,unsigned short,char *,
54                                         unsigned long,unsigned long,int);
55 extern unsigned long canon_whitebalancetable(FILE *,unsigned short,char *,
56                                         unsigned long,unsigned long,int);
57 extern unsigned long canon_imageinfo(FILE *,unsigned short,char *,
58                                         unsigned long,unsigned long,int,
59                                         struct image_summary *);
60 extern unsigned long canon_exposureinfo(FILE *,unsigned short,char *,
61                                         unsigned long,unsigned long,int,
62                                         struct image_summary *);
63 extern unsigned long canon_focusinfo(FILE *,unsigned short,char *,
64                                         unsigned long,unsigned long,int);
65 extern unsigned long canon_ct_to_datetime(FILE *,unsigned short,char *,
66                                         unsigned long,unsigned long,int);
67 extern int maker_canon_value_is_offset(struct ifd_entry *,int);
68 
69 #endif  /* CANON_EXTERN_INCLUDED */
70