1548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen/* exif-mnote-data-fuji.h
2548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen *
3548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen * Copyright (c) 2002 Lutz Mueller <lutz@users.sourceforge.net>
4548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen *
5548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen * This library is free software; you can redistribute it and/or
6548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen * modify it under the terms of the GNU Lesser General Public
7548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen * License as published by the Free Software Foundation; either
8548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen * version 2 of the License, or (at your option) any later version.
9548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen *
10548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen * This library is distributed in the hope that it will be useful,
11548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen * but WITHOUT ANY WARRANTY; without even the implied warranty of
12548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen * Lesser General Public License for more details.
14548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen *
15548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen * You should have received a copy of the GNU Lesser General Public
16548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen * License along with this library; if not, write to the
17548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen * Boston, MA  02110-1301  USA.
19548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen */
20548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
21548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#ifndef __MNOTE_FUJI_CONTENT_H__
22548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#define __MNOTE_FUJI_CONTENT_H__
23548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
24548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#include <libexif/exif-mnote-data.h>
25548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#include <libexif/exif-mnote-data-priv.h>
26548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#include <libexif/exif-data.h>
27548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#include <libexif/fuji/mnote-fuji-entry.h>
28548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
29548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissentypedef struct _ExifMnoteDataFuji        ExifMnoteDataFuji;
30548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
31548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenstruct _ExifMnoteDataFuji {
32548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	ExifMnoteData parent;
33548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
34548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	MnoteFujiEntry *entries;
35548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	unsigned int count;
36548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
37548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	ExifByteOrder order;
38548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	unsigned int offset;
39548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen};
40548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
41548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen/*! Detect if MakerNote is recognized as one handled by the Fuji module.
42548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen *
43548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen * \param[in] ed image #ExifData to identify as as a Fuji type
44548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen * \param[in] e #ExifEntry for EXIF_TAG_MAKER_NOTE, from within ed but
45548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen *   duplicated here for convenience
46548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen * \return 0 if not recognized, nonzero if recognized. The specific nonzero
47548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen *   value returned may identify a subtype unique within this module.
48548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen */
49548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenint exif_mnote_data_fuji_identify (const ExifData *ed, const ExifEntry *e);
50548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
51548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenExifMnoteData *exif_mnote_data_fuji_new (ExifMem *);
52548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
53548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif /* __MNOTE_FUJI_CONTENT_H__ */
54