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 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
10 /* @(#) $Id: ciff_extern.h,v 1.3 2005/06/06 18:50:04 alex Exp $ */
11 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
12 
13 #ifndef CIFF_EXTERN_INCLUDED
14 #define CIFF_EXTERN_INCLUDED
15 
16 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
17 /* Canon CIFF-specific external definitions                           */
18 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
19 
20 extern char *cifftagname(unsigned short);
21 extern int print_ciff_header(struct fileheader *,unsigned long);
22 
23 extern unsigned long process_ciff(FILE *,struct fileheader *,unsigned long,
24                                     unsigned long,struct image_summary *,
25                                     char *,int,int);
26 extern unsigned long process_ciff_dir(FILE *,unsigned long,unsigned long,
27                                     char *,char *,struct image_summary *,
28                                     unsigned short,int,int);
29 extern unsigned long process_ciff_direntry(FILE *,unsigned short,unsigned short,
30                                         struct ciff_direntry *, unsigned long,
31                                         char *,struct image_summary *,int,int);
32 extern struct ciff_direntry *read_ciff_direntry(FILE *, struct ciff_direntry *,
33                                             unsigned short,unsigned long);
34 extern struct ciff_header *read_ciffheader(FILE *,unsigned short,unsigned long);
35 
36 extern void print_ciff_value(FILE *,struct ciff_direntry *,unsigned short,
37                                             unsigned long,unsigned long,
38                                             char *,struct image_summary *,
39                                             int,int);
40 extern void print_ciff_taginfo(struct ciff_direntry *,unsigned long);
41 extern int is_compressed_crw(FILE *,unsigned long,unsigned long);
42 extern unsigned long print_ciffinheapdata(FILE *,unsigned short,char *,char *,
43                                                 unsigned long, unsigned long,
44                                                 unsigned short,int);
45 extern unsigned long print_ciffinrecdata(FILE *,unsigned short,char *,
46                                                 unsigned long, unsigned long,
47                                                 unsigned short,int);
48 
49 #endif  /* CIFF_EXTERN_INCLUDED */
50