EXIF library (libexif) Internals  0.6.24
exif-mnote-data-fuji.c File Reference
#include <stdlib.h>
#include <string.h>
#include <config.h>
#include <libexif/exif-byte-order.h>
#include <libexif/exif-utils.h>
#include "exif-mnote-data-fuji.h"
Include dependency graph for exif-mnote-data-fuji.c:

Go to the source code of this file.

Data Structures

struct  _MNoteFujiDataPrivate
 

Macros

#define CHECKOVERFLOW(offset, datasize, structsize)   (( offset >= datasize) || (structsize > datasize) || (offset > datasize - structsize ))
 

Functions

static void exif_mnote_data_fuji_clear (ExifMnoteDataFuji *n)
 
static void exif_mnote_data_fuji_free (ExifMnoteData *n)
 
static char * exif_mnote_data_fuji_get_value (ExifMnoteData *d, unsigned int i, char *val, unsigned int maxlen)
 
static void exif_mnote_data_fuji_save (ExifMnoteData *ne, unsigned char **buf, unsigned int *buf_size)
 
static void exif_mnote_data_fuji_load (ExifMnoteData *en, const unsigned char *buf, unsigned int buf_size)
 
static unsigned int exif_mnote_data_fuji_count (ExifMnoteData *n)
 
static unsigned int exif_mnote_data_fuji_get_id (ExifMnoteData *d, unsigned int n)
 
static const char * exif_mnote_data_fuji_get_name (ExifMnoteData *d, unsigned int i)
 
static const char * exif_mnote_data_fuji_get_title (ExifMnoteData *d, unsigned int i)
 
static const char * exif_mnote_data_fuji_get_description (ExifMnoteData *d, unsigned int i)
 
static void exif_mnote_data_fuji_set_byte_order (ExifMnoteData *d, ExifByteOrder o)
 
static void exif_mnote_data_fuji_set_offset (ExifMnoteData *n, unsigned int o)
 
int exif_mnote_data_fuji_identify (const ExifData *ed, const ExifEntry *e)
 Detect if MakerNote is recognized as one handled by the Fuji module. More...
 
ExifMnoteDataexif_mnote_data_fuji_new (ExifMem *mem)
 

Macro Definition Documentation

◆ CHECKOVERFLOW

#define CHECKOVERFLOW (   offset,
  datasize,
  structsize 
)    (( offset >= datasize) || (structsize > datasize) || (offset > datasize - structsize ))

Definition at line 31 of file exif-mnote-data-fuji.c.

Function Documentation

◆ exif_mnote_data_fuji_clear()

static void exif_mnote_data_fuji_clear ( ExifMnoteDataFuji n)
static

Definition at line 38 of file exif-mnote-data-fuji.c.

References _ExifMnoteDataFuji::count, _MnoteFujiEntry::data, _ExifMnoteDataFuji::entries, exif_mem_free(), and _ExifMnoteData::mem.

Referenced by exif_mnote_data_fuji_free(), and exif_mnote_data_fuji_load().

Here is the call graph for this function:

◆ exif_mnote_data_fuji_count()

static unsigned int exif_mnote_data_fuji_count ( ExifMnoteData n)
static

Definition at line 269 of file exif-mnote-data-fuji.c.

Referenced by exif_mnote_data_fuji_new().

◆ exif_mnote_data_fuji_free()

static void exif_mnote_data_fuji_free ( ExifMnoteData n)
static

Definition at line 58 of file exif-mnote-data-fuji.c.

References exif_mnote_data_fuji_clear().

Referenced by exif_mnote_data_fuji_new().

Here is the call graph for this function:

◆ exif_mnote_data_fuji_get_description()

static const char* exif_mnote_data_fuji_get_description ( ExifMnoteData d,
unsigned int  i 
)
static

Definition at line 305 of file exif-mnote-data-fuji.c.

References _ExifMnoteDataFuji::count, _ExifMnoteDataFuji::entries, mnote_fuji_tag_get_description(), and _MnoteFujiEntry::tag.

Referenced by exif_mnote_data_fuji_new().

Here is the call graph for this function:

◆ exif_mnote_data_fuji_get_id()

static unsigned int exif_mnote_data_fuji_get_id ( ExifMnoteData d,
unsigned int  n 
)
static

◆ exif_mnote_data_fuji_get_name()

static const char* exif_mnote_data_fuji_get_name ( ExifMnoteData d,
unsigned int  i 
)
static

Definition at line 285 of file exif-mnote-data-fuji.c.

References _ExifMnoteDataFuji::count, _ExifMnoteDataFuji::entries, mnote_fuji_tag_get_name(), and _MnoteFujiEntry::tag.

Referenced by exif_mnote_data_fuji_new().

Here is the call graph for this function:

◆ exif_mnote_data_fuji_get_title()

static const char* exif_mnote_data_fuji_get_title ( ExifMnoteData d,
unsigned int  i 
)
static

Definition at line 295 of file exif-mnote-data-fuji.c.

References _ExifMnoteDataFuji::count, _ExifMnoteDataFuji::entries, mnote_fuji_tag_get_title(), and _MnoteFujiEntry::tag.

Referenced by exif_mnote_data_fuji_new().

Here is the call graph for this function:

◆ exif_mnote_data_fuji_get_value()

static char* exif_mnote_data_fuji_get_value ( ExifMnoteData d,
unsigned int  i,
char *  val,
unsigned int  maxlen 
)
static

Definition at line 66 of file exif-mnote-data-fuji.c.

References _ExifMnoteDataFuji::count, _ExifMnoteDataFuji::entries, and mnote_fuji_entry_get_value().

Referenced by exif_mnote_data_fuji_new().

Here is the call graph for this function:

◆ exif_mnote_data_fuji_identify()

int exif_mnote_data_fuji_identify ( const ExifData ed,
const ExifEntry e 
)

Detect if MakerNote is recognized as one handled by the Fuji module.

Parameters
[in]edimage ExifData to identify as as a Fuji type
[in]eExifEntry for EXIF_TAG_MAKER_NOTE, from within ed but duplicated here for convenience
Returns
0 if not recognized, nonzero if recognized. The specific nonzero value returned may identify a subtype unique within this module.

Definition at line 341 of file exif-mnote-data-fuji.c.

References _ExifEntry::data, and _ExifEntry::size.

Referenced by interpret_maker_note().

◆ exif_mnote_data_fuji_load()

◆ exif_mnote_data_fuji_new()

◆ exif_mnote_data_fuji_save()

static void exif_mnote_data_fuji_save ( ExifMnoteData ne,
unsigned char **  buf,
unsigned int *  buf_size 
)
static

Definition at line 81 of file exif-mnote-data-fuji.c.

References _MnoteFujiEntry::components, _ExifMnoteDataFuji::count, _MnoteFujiEntry::data, _ExifMnoteDataFuji::entries, exif_format_get_size(), exif_mem_alloc(), exif_mem_realloc(), exif_set_long(), exif_set_short(), _MnoteFujiEntry::format, _ExifMnoteData::mem, _ExifMnoteDataFuji::order, and _MnoteFujiEntry::tag.

Referenced by exif_mnote_data_fuji_new().

Here is the call graph for this function:

◆ exif_mnote_data_fuji_set_byte_order()

static void exif_mnote_data_fuji_set_byte_order ( ExifMnoteData d,
ExifByteOrder  o 
)
static

Definition at line 315 of file exif-mnote-data-fuji.c.

References _MnoteFujiEntry::components, _ExifMnoteDataFuji::count, _MnoteFujiEntry::data, _ExifMnoteDataFuji::entries, exif_array_set_byte_order(), exif_format_get_size(), _MnoteFujiEntry::format, _ExifMnoteDataFuji::order, _MnoteFujiEntry::order, and _MnoteFujiEntry::size.

Referenced by exif_mnote_data_fuji_new().

Here is the call graph for this function:

◆ exif_mnote_data_fuji_set_offset()

static void exif_mnote_data_fuji_set_offset ( ExifMnoteData n,
unsigned int  o 
)
static

Definition at line 335 of file exif-mnote-data-fuji.c.

Referenced by exif_mnote_data_fuji_new().


libexif Generated by doxygen