Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

exif-loader.c File Reference

#include <config.h>
#include <libexif/exif-loader.h>
#include <libexif/i18n.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>

Go to the source code of this file.

Data Structures

struct  _ExifLoader

Defines

#define JPEG_MARKER_SOI   0xd8
#define JPEG_MARKER_APP0   0xe0
#define JPEG_MARKER_APP1   0xe1
#define JPEG_MARKER_APP13   0xed
#define JPEG_MARKER_COM   0xfe
#define MIN(a, b)   (((a) < (b)) ? (a) : (b))

Enumerations

enum  ExifLoaderState {
  EL_READ = 0, EL_READ_SIZE_BYTE_24, EL_READ_SIZE_BYTE_16, EL_READ_SIZE_BYTE_08,
  EL_READ_SIZE_BYTE_00, EL_SKIP_BYTES, EL_EXIF_FOUND
}
enum  ExifLoaderDataFormat { EL_DATA_FORMAT_UNKNOWN, EL_DATA_FORMAT_EXIF, EL_DATA_FORMAT_JPEG, EL_DATA_FORMAT_FUJI_RAW }

Functions

void * exif_loader_alloc (ExifLoader *l, unsigned int i)
void exif_loader_write_file (ExifLoader *l, const char *path)
unsigned int exif_loader_copy (ExifLoader *eld, unsigned char *buf, unsigned int len)
unsigned char exif_loader_write (ExifLoader *eld, unsigned char *buf, unsigned int len)
ExifLoaderexif_loader_new (void)
ExifLoaderexif_loader_new_mem (ExifMem *mem)
void exif_loader_ref (ExifLoader *loader)
void exif_loader_free (ExifLoader *loader)
void exif_loader_unref (ExifLoader *loader)
void exif_loader_reset (ExifLoader *loader)
ExifDataexif_loader_get_data (ExifLoader *loader)
void exif_loader_log (ExifLoader *loader, ExifLog *log)

Variables

const unsigned char ExifHeader [] = {0x45, 0x78, 0x69, 0x66, 0x00, 0x00}


Define Documentation

#define JPEG_MARKER_APP0   0xe0
 

Definition at line 33 of file exif-loader.c.

#define JPEG_MARKER_APP1   0xe1
 

Definition at line 35 of file exif-loader.c.

#define JPEG_MARKER_APP13   0xed
 

Definition at line 37 of file exif-loader.c.

Referenced by exif_loader_write().

#define JPEG_MARKER_COM   0xfe
 

Definition at line 39 of file exif-loader.c.

Referenced by exif_loader_write().

#define JPEG_MARKER_SOI   0xd8
 

Definition at line 31 of file exif-loader.c.

#define MIN a,
 )     (((a) < (b)) ? (a) : (b))
 

Definition at line 95 of file exif-loader.c.

Referenced by exif_entry_get_value(), exif_loader_copy(), exif_loader_write(), mnote_canon_entry_count_values(), mnote_canon_entry_get_value(), mnote_olympus_entry_get_value(), and mnote_pentax_entry_get_value().


Enumeration Type Documentation

enum ExifLoaderDataFormat
 

Enumeration values:
EL_DATA_FORMAT_UNKNOWN 
EL_DATA_FORMAT_EXIF 
EL_DATA_FORMAT_JPEG 
EL_DATA_FORMAT_FUJI_RAW 

Definition at line 51 of file exif-loader.c.

enum ExifLoaderState
 

Enumeration values:
EL_READ 
EL_READ_SIZE_BYTE_24 
EL_READ_SIZE_BYTE_16 
EL_READ_SIZE_BYTE_08 
EL_READ_SIZE_BYTE_00 
EL_SKIP_BYTES 
EL_EXIF_FOUND 

Definition at line 41 of file exif-loader.c.


Function Documentation

void* exif_loader_alloc ExifLoader l,
unsigned int  i
[static]
 

Definition at line 79 of file exif-loader.c.

References EXIF_LOG_NO_MEMORY, exif_mem_alloc(), ExifLoader, _ExifLoader::log, and _ExifLoader::mem.

Referenced by exif_loader_copy().

unsigned int exif_loader_copy ExifLoader eld,
unsigned char *  buf,
unsigned int  len
[static]
 

Definition at line 124 of file exif-loader.c.

References _ExifLoader::buf, _ExifLoader::bytes_read, exif_loader_alloc(), ExifLoader, MIN, and _ExifLoader::size.

Referenced by exif_loader_write().

void exif_loader_free ExifLoader loader  )  [static]
 

Definition at line 334 of file exif-loader.c.

References exif_loader_reset(), exif_mem_free(), exif_mem_unref(), ExifLoader, ExifMem, and _ExifLoader::mem.

Referenced by exif_loader_unref().

ExifData* exif_loader_get_data ExifLoader loader  ) 
 

Definition at line 370 of file exif-loader.c.

References _ExifLoader::buf, _ExifLoader::bytes_read, exif_data_load_data(), exif_data_log(), exif_data_new_mem(), ExifData, ExifLoader, _ExifLoader::log, and _ExifLoader::mem.

Referenced by exif_data_new_from_file().

void exif_loader_log ExifLoader loader,
ExifLog log
 

Definition at line 385 of file exif-loader.c.

References exif_log_ref(), exif_log_unref(), ExifLoader, ExifLog, and _ExifLoader::log.

ExifLoader* exif_loader_new void   ) 
 

Definition at line 297 of file exif-loader.c.

References exif_loader_new_mem(), exif_mem_new_default(), exif_mem_unref(), ExifLoader, and ExifMem.

Referenced by exif_data_new_from_file().

ExifLoader* exif_loader_new_mem ExifMem mem  ) 
 

Definition at line 308 of file exif-loader.c.

References exif_mem_alloc(), exif_mem_ref(), ExifLoader, ExifMem, _ExifLoader::mem, and _ExifLoader::ref_count.

Referenced by exif_loader_new().

void exif_loader_ref ExifLoader loader  ) 
 

Definition at line 327 of file exif-loader.c.

References ExifLoader, and _ExifLoader::ref_count.

void exif_loader_reset ExifLoader loader  ) 
 

Definition at line 357 of file exif-loader.c.

References _ExifLoader::b_len, _ExifLoader::buf, _ExifLoader::bytes_read, _ExifLoader::data_format, exif_mem_free(), ExifLoader, _ExifLoader::mem, _ExifLoader::size, and _ExifLoader::state.

Referenced by exif_loader_free(), and exif_loader_write().

void exif_loader_unref ExifLoader loader  ) 
 

Definition at line 348 of file exif-loader.c.

References exif_loader_free(), ExifLoader, and _ExifLoader::ref_count.

Referenced by exif_data_new_from_file().

unsigned char exif_loader_write ExifLoader eld,
unsigned char *  buf,
unsigned int  len
 

Definition at line 144 of file exif-loader.c.

References _, _ExifLoader::b, _ExifLoader::b_len, _ExifLoader::data_format, EL_DATA_FORMAT_EXIF, EL_DATA_FORMAT_FUJI_RAW, EL_DATA_FORMAT_JPEG, EL_DATA_FORMAT_UNKNOWN, EL_EXIF_FOUND, EL_READ_SIZE_BYTE_00, EL_READ_SIZE_BYTE_08, EL_READ_SIZE_BYTE_16, EL_READ_SIZE_BYTE_24, EL_SKIP_BYTES, exif_loader_copy(), exif_loader_reset(), exif_log(), EXIF_LOG_CODE_CORRUPT_DATA, EXIF_LOG_CODE_DEBUG, ExifHeader, ExifLoader, JPEG_MARKER_APP0, JPEG_MARKER_APP1, JPEG_MARKER_APP13, JPEG_MARKER_COM, JPEG_MARKER_SOI, _ExifLoader::log, MIN, _ExifLoader::size, and _ExifLoader::state.

Referenced by exif_loader_write_file().

void exif_loader_write_file ExifLoader l,
const char *  path
 

Definition at line 98 of file exif-loader.c.

References _, exif_loader_write(), exif_log(), EXIF_LOG_CODE_NONE, ExifLoader, _ExifLoader::log, and size.

Referenced by exif_data_new_from_file().


Variable Documentation

const unsigned char ExifHeader[] = {0x45, 0x78, 0x69, 0x66, 0x00, 0x00} [static]
 

Definition at line 76 of file exif-loader.c.

Referenced by exif_loader_write().


Generated on Sun Sep 10 09:04:14 2006 for EXIF library (libexif) Internals by  doxygen 1.3.9.1