  
    
main.htmlMain Page     
files.htmlFiles     
dirs.htmlDirectories   
  
    
files.htmlFile List     
globals.htmlGlobals   
dir_3c4fde49625df9344590fff295c7c38d.htmllibexif exif-utils.h
00001 /* exif-utils.h 00002  * 00003  * Copyright © 2001 Lutz Müller <lutz@users.sourceforge.net> 00004  * 00005  * This library is free software; you can redistribute it and/or 00006  * modify it under the terms of the GNU Lesser General Public 00007  * License as published by the Free Software Foundation; either 00008  * version 2 of the License, or (at your option) any later version. 00009  * 00010  * This library is distributed in the hope that it will be useful, 00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 00013  * Lesser General Public License for more details. 00014  * 00015  * You should have received a copy of the GNU Lesser General Public 00016  * License along with this library; if not, write to the 00017  * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00018  * Boston, MA 02111-1307, USA. 00019  */ 00020 
00021 #ifndef __EXIF_UTILS_H__ 00022 #define __EXIF_UTILS_H__ 00023 00024 #ifdef __cplusplus 00025 extern "C" {
00026 #endif /* __cplusplus */ 00027 
00028 #include <libexif/exif-byte-order.h> 00029 #include <libexif/exif-format.h> 00030 #include <libexif/_stdint.h> 00031 
00032 
00033 /* If these definitions don't work for you, please let us fix the 00034  * macro generating _stdint.h */ 00035         
00036 typedef char            ExifByte;          /* 1 byte  */ 00037 typedef char *          ExifAscii;
00038 typedef uint16_t        ExifShort;         /* 2 bytes */ 00039 typedef int16_t         ExifSShort;        /* 2 bytes */ 00040 typedef uint32_t        ExifLong;          /* 4 bytes */ 00041 typedef struct {ExifLong numerator; ExifLong denominator;} ExifRational;
00042 typedef char            ExifUndefined;     /* 1 byte  */ 00043 typedef int32_t         ExifSLong;         /* 4 bytes */ 00044 typedef struct {ExifSLong numerator; ExifSLong denominator;} ExifSRational;
00045 
00046 
00047 ExifShort     exif_get_short     (const unsigned char *b, ExifByteOrder order);
00048 ExifSShort    exif_get_sshort    (const unsigned char *b, ExifByteOrder order);
00049 ExifLong      exif_get_long      (const unsigned char *b, ExifByteOrder order);
00050 ExifSLong     exif_get_slong     (const unsigned char *b, ExifByteOrder order);
00051 ExifRational  exif_get_rational  (const unsigned char *b, ExifByteOrder order);
00052 ExifSRational exif_get_srational (const unsigned char *b, ExifByteOrder order);
00053 
00054 void exif_set_short     (unsigned char *b, ExifByteOrder order,
00055                          ExifShort value);
00056 void exif_set_sshort    (unsigned char *b, ExifByteOrder order,
00057                          ExifSShort value);
00058 void exif_set_long      (unsigned char *b, ExifByteOrder order,
00059                          ExifLong value);
00060 void exif_set_slong     (unsigned char *b, ExifByteOrder order,
00061                          ExifSLong value);
00062 void exif_set_rational  (unsigned char *b, ExifByteOrder order,
00063                          ExifRational value);
00064 void exif_set_srational (unsigned char *b, ExifByteOrder order,
00065                          ExifSRational value);
00066 
00067 /* Please do not use this function outside of the library. */ 00068 void exif_array_set_byte_order (ExifFormat, unsigned char *, unsigned int,
00069                 ExifByteOrder o_orig, ExifByteOrder o_new);
00070 
00071 #undef  MIN 00072 #define MIN(a, b)  (((a) < (b)) ? (a) : (b)) 00073 00074 /* For compatibility with older versions */ 00075 #define EXIF_TAG_SUBSEC_TIME EXIF_TAG_SUB_SEC_TIME 00076 00077 #ifdef __cplusplus 00078 }
00079 #endif /* __cplusplus */ 00080 
00081 #endif /* __EXIF_UTILS_H__ */ Generated on Sun Apr 23 02:19:20 2006 for EXIF library (libexif) API by 
http://www.doxygen.org/index.htmldoxygen  1.4.6 