blob: 57eb745b0bac87f3798486ecbb6f80051e391ad8 (
plain) (
blame)
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
#ifndef EXIF_H_INCLUDED
#define EXIF_H_INCLUDED
#include <stdio.h>
#include "netpbm/pm_c_util.h"
#define MAX_COMMENT 2000
#if MSVCRT
#define PATH_MAX _MAX_PATH
#endif
/*--------------------------------------------------------------------------
This structure stores Exif header image elements in a simple manner
Used to store camera data as extracted from the various ways that it can be
stored in an exif header
--------------------------------------------------------------------------*/
typedef struct {
char CameraMake [32];
char CameraModel [40];
char DateTime [20];
float XResolution;
float YResolution;
int Orientation;
int IsColor;
int FlashUsed;
float FocalLength;
float ExposureTime;
float ApertureFNumber;
float Distance;
int HaveCCDWidth; /* boolean */
float CCDWidth;
float ExposureBias;
int Whitebalance;
int MeteringMode;
int ExposureProgram;
int ISOequivalent;
int CompressionLevel;
char Comments[MAX_COMMENT];
const unsigned char * ThumbnailPointer; /* Pointer at the thumbnail */
unsigned ThumbnailSize; /* Size of thumbnail. */
const char * DatePointer;
} exif_ImageInfo;
/* Prototypes for exif.c functions. */
void
exif_parse(const unsigned char * const exifSection,
unsigned int const length,
exif_ImageInfo * const imageInfoP,
bool const wantTagTrace,
const char ** const errorP);
void
exif_showImageInfo(const exif_ImageInfo * const imageInfoP,
FILE * const fileP);
#endif
|