Home | History | Annotate | Download | only in libexif
      1 /*! \file exif-format.h
      2  *  \brief Handling native EXIF data types
      3  */
      4 /*
      5  *
      6  * Copyright (c) 2001 Lutz Mueller <lutz (at) users.sourceforge.net>
      7  *
      8  * This library is free software; you can redistribute it and/or
      9  * modify it under the terms of the GNU Lesser General Public
     10  * License as published by the Free Software Foundation; either
     11  * version 2 of the License, or (at your option) any later version.
     12  *
     13  * This library is distributed in the hope that it will be useful,
     14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     16  * Lesser General Public License for more details.
     17  *
     18  * You should have received a copy of the GNU Lesser General Public
     19  * License along with this library; if not, write to the
     20  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
     21  * Boston, MA  02110-1301  USA.
     22  */
     23 
     24 #ifndef __EXIF_FORMAT_H__
     25 #define __EXIF_FORMAT_H__
     26 
     27 #ifdef __cplusplus
     28 extern "C" {
     29 #endif /* __cplusplus */
     30 
     31 /*! EXIF tag data formats */
     32 typedef enum {
     33         EXIF_FORMAT_BYTE       =  1,
     34         EXIF_FORMAT_ASCII      =  2,
     35         EXIF_FORMAT_SHORT      =  3,
     36         EXIF_FORMAT_LONG       =  4,
     37         EXIF_FORMAT_RATIONAL   =  5,
     38 	EXIF_FORMAT_SBYTE      =  6,
     39         EXIF_FORMAT_UNDEFINED  =  7,
     40 	EXIF_FORMAT_SSHORT     =  8,
     41         EXIF_FORMAT_SLONG      =  9,
     42         EXIF_FORMAT_SRATIONAL  = 10,
     43 	EXIF_FORMAT_FLOAT      = 11,
     44 	EXIF_FORMAT_DOUBLE     = 12
     45 } ExifFormat;
     46 
     47 /*! Return a textual representation of the given EXIF data type.
     48  *
     49  * \param[in] format EXIF data format
     50  * \return localized textual name
     51  */
     52 const char   *exif_format_get_name (ExifFormat format);
     53 
     54 /*! Return the raw size of the given EXIF data type.
     55  *
     56  * \param[in] format EXIF data format
     57  * \return size in bytes
     58  */
     59 unsigned char exif_format_get_size (ExifFormat format);
     60 
     61 #ifdef __cplusplus
     62 }
     63 #endif /* __cplusplus */
     64 
     65 #endif /* __EXIF_FORMAT_H__ */
     66