#ifndef CB__EXIF_H
#define CB__EXIF_H

#include "systemspecific.h"

namespace Exif
{

#include "beginpackbyte.h"
struct TiffHeader
{
  UBYTE2 byte_order ;
  UBYTE2 fixed ;
  UBYTE4 ifd_offset ;

} ;

struct Ifd
{
  UBYTE2 tag ;
  UBYTE2 type ;
  UBYTE4 count ;
  UBYTE4 value_offset ;
} ;
#include "endpackbyte.h"

enum
{
  BYTE = 1,
  ASCII = 2,
  SHORT = 3,
  LONG = 4,
  RATIONAL = 5,
  UNDEFINED = 7,
  SLONG = 9,
  SRATIONAL = 10
} ;

struct
{
  const char *field_name ;
  UBYTE2 tag_id ;
} TagNames [] =
{
    { "Image Width",            0x100 }
  , { "Image Height",           0x101 }
  , { "Bits Per Sample",        0x102 }
  , { "Compression",            0x103 }
  , { "Pixel Composition",      0x106 }
  , { "Orientation",            0x112 }
  , { "Samples Per Pixel",      0x115 }
  , { "Planar Configuration",   0x11c }
  , { "YCbCr Subsampling",      0x212 }
  , { "YCbCr Positioning",      0x213 }
  , { "X Resolution",           0x11a }
  , { "Y Resolution",           0x11b }
  , {"Resolution Unit",         0x128 }

  , { "Date and Time", 0x132 }
  , { "Image Description", 0x10e }
  , { "Make", 0x10f }
  , { "Model", 0x110 }
  , { "Software", 0x131 }
  , { "Artist", 0x13B }
  , { "Copright Holder", 0x8298 } 
  , { 0, 0 } 
} ;

}  // End Namespace Exif
#endif
