9 #define EXIF_EXPORT __declspec(dllexport)    23 #define M_SOF0  0xC0            // Start Of Frame N    24 #define M_SOF1  0xC1            // N indicates which compression process    25 #define M_SOF2  0xC2            // Only SOF0-SOF2 are now in common use    27 #define M_SOF5  0xC5            // NB: codes C4 and CC are NOT SOF markers    36 #define M_SOI   0xD8            // Start Of Image (beginning of datastream)    37 #define M_EOI   0xD9            // End Of Image (end of datastream)    38 #define M_SOS   0xDA            // Start Of Scan (begins compressed data)    39 #define M_JFIF  0xE0            // Jfif marker    40 #define M_EXIF  0xE1            // Exif marker    41 #define M_COM   0xFE            // COMment    45 #define M_IPTC  0xED            // IPTC marker    47 #define MAX_IPTC_STRING 256    50   char RecordVersion[MAX_IPTC_STRING];
    51   char SupplementalCategories[MAX_IPTC_STRING];
    52   char Keywords[MAX_IPTC_STRING];
    53   char Caption[MAX_IPTC_STRING];
    54   char Author[MAX_IPTC_STRING];
    55   char Headline[MAX_IPTC_STRING];
    56   char SpecialInstructions[MAX_IPTC_STRING];
    57   char Category[MAX_IPTC_STRING];
    58   char Byline[MAX_IPTC_STRING];
    59   char BylineTitle[MAX_IPTC_STRING];
    60   char Credit[MAX_IPTC_STRING];
    61   char Source[MAX_IPTC_STRING];
    62   char CopyrightNotice[MAX_IPTC_STRING];
    63   char ObjectName[MAX_IPTC_STRING];
    64   char City[MAX_IPTC_STRING];
    65   char State[MAX_IPTC_STRING];
    66   char Country[MAX_IPTC_STRING];
    67   char TransmissionReference[MAX_IPTC_STRING];
    68   char Date[MAX_IPTC_STRING];
    69   char Urgency[MAX_IPTC_STRING];
    70   char ReferenceService[MAX_IPTC_STRING];
    71   char CountryCode[MAX_IPTC_STRING];
    72   char TimeCreated[MAX_IPTC_STRING];
    73   char SubLocation[MAX_IPTC_STRING];
    74   char ImageType[MAX_IPTC_STRING];
    77 #define EXIF_COMMENT_CHARSET_CONVERTED -1 // Comments contains converted data    78 #define EXIF_COMMENT_CHARSET_UNKNOWN    0 // Exif: Unknown    79 #define EXIF_COMMENT_CHARSET_ASCII      2 // Exif: Ascii    80 #define EXIF_COMMENT_CHARSET_UNICODE    3 // Exif: Unicode (UTF-16)    81 #define EXIF_COMMENT_CHARSET_JIS        4 // Exif: JIS X208-1990    83 #define MAX_COMMENT 2000    84 #define MAX_DATE_COPIES 10    88     char  CameraModel  [41];
    97     float ApertureFNumber;
   101     float DigitalZoomRatio;
   102     int   FocalLength35mmEquiv; 
   110     int   XPCommentsCharset;
   111     char  Comments[MAX_COMMENT + 1];   
   112     char  FileComment[MAX_COMMENT + 1];
   113     char  XPComment[MAX_COMMENT + 1];
   114     char  Description[MAX_COMMENT + 1];
   116     unsigned ThumbnailOffset;          
   117     unsigned ThumbnailSize;            
   118     unsigned LargestExifOffset;        
   122     int   ThumbnailSizeOffset;
   124     int  DateTimeOffsets[MAX_DATE_COPIES];
   133 EXIF_EXPORT 
bool process_jpeg(
const char *filename, 
ExifInfo_t *exifInfo, 
IPTCInfo_t *iptcInfo);