@img/sharp-libvips-dev 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -0
- package/cplusplus/VConnection.cpp +151 -0
- package/cplusplus/VError.cpp +49 -0
- package/cplusplus/VImage.cpp +1548 -0
- package/cplusplus/VInterpolate.cpp +62 -0
- package/cplusplus/VRegion.cpp +27 -0
- package/cplusplus/index.js +1 -0
- package/cplusplus/vips-operators.cpp +3760 -0
- package/include/aom/aom.h +127 -0
- package/include/aom/aom_codec.h +573 -0
- package/include/aom/aom_decoder.h +257 -0
- package/include/aom/aom_encoder.h +1137 -0
- package/include/aom/aom_external_partition.h +452 -0
- package/include/aom/aom_frame_buffer.h +84 -0
- package/include/aom/aom_image.h +448 -0
- package/include/aom/aom_integer.h +68 -0
- package/include/aom/aomcx.h +2112 -0
- package/include/aom/aomdx.h +604 -0
- package/include/archive.h +1212 -0
- package/include/archive_entry.h +723 -0
- package/include/cairo/cairo-deprecated.h +123 -0
- package/include/cairo/cairo-features.h +29 -0
- package/include/cairo/cairo-ft.h +118 -0
- package/include/cairo/cairo-gobject.h +192 -0
- package/include/cairo/cairo-svg.h +130 -0
- package/include/cairo/cairo-version.h +8 -0
- package/include/cairo/cairo.h +3281 -0
- package/include/cgif.h +80 -0
- package/include/expat.h +1064 -0
- package/include/expat_config.h +140 -0
- package/include/expat_external.h +165 -0
- package/include/ffi.h +531 -0
- package/include/ffitarget.h +164 -0
- package/include/fontconfig/fcfreetype.h +59 -0
- package/include/fontconfig/fcprivate.h +134 -0
- package/include/fontconfig/fontconfig.h +1158 -0
- package/include/freetype2/freetype/config/ftconfig.h +51 -0
- package/include/freetype2/freetype/config/ftheader.h +836 -0
- package/include/freetype2/freetype/config/ftmodule.h +21 -0
- package/include/freetype2/freetype/config/ftoption.h +1014 -0
- package/include/freetype2/freetype/config/ftstdlib.h +185 -0
- package/include/freetype2/freetype/config/integer-types.h +250 -0
- package/include/freetype2/freetype/config/mac-support.h +49 -0
- package/include/freetype2/freetype/config/public-macros.h +138 -0
- package/include/freetype2/freetype/freetype.h +5337 -0
- package/include/freetype2/freetype/ftadvanc.h +188 -0
- package/include/freetype2/freetype/ftbbox.h +101 -0
- package/include/freetype2/freetype/ftbdf.h +212 -0
- package/include/freetype2/freetype/ftbitmap.h +329 -0
- package/include/freetype2/freetype/ftbzip2.h +102 -0
- package/include/freetype2/freetype/ftcache.h +1087 -0
- package/include/freetype2/freetype/ftchapters.h +168 -0
- package/include/freetype2/freetype/ftcid.h +167 -0
- package/include/freetype2/freetype/ftcolor.h +1667 -0
- package/include/freetype2/freetype/ftdriver.h +1246 -0
- package/include/freetype2/freetype/fterrdef.h +283 -0
- package/include/freetype2/freetype/fterrors.h +296 -0
- package/include/freetype2/freetype/ftfntfmt.h +93 -0
- package/include/freetype2/freetype/ftgasp.h +143 -0
- package/include/freetype2/freetype/ftglyph.h +750 -0
- package/include/freetype2/freetype/ftgxval.h +354 -0
- package/include/freetype2/freetype/ftgzip.h +151 -0
- package/include/freetype2/freetype/ftimage.h +1284 -0
- package/include/freetype2/freetype/ftincrem.h +348 -0
- package/include/freetype2/freetype/ftlcdfil.h +323 -0
- package/include/freetype2/freetype/ftlist.h +296 -0
- package/include/freetype2/freetype/ftlzw.h +100 -0
- package/include/freetype2/freetype/ftmac.h +289 -0
- package/include/freetype2/freetype/ftmm.h +805 -0
- package/include/freetype2/freetype/ftmodapi.h +807 -0
- package/include/freetype2/freetype/ftmoderr.h +204 -0
- package/include/freetype2/freetype/ftotval.h +206 -0
- package/include/freetype2/freetype/ftoutln.h +588 -0
- package/include/freetype2/freetype/ftparams.h +218 -0
- package/include/freetype2/freetype/ftpfr.h +179 -0
- package/include/freetype2/freetype/ftrender.h +244 -0
- package/include/freetype2/freetype/ftsizes.h +159 -0
- package/include/freetype2/freetype/ftsnames.h +272 -0
- package/include/freetype2/freetype/ftstroke.h +773 -0
- package/include/freetype2/freetype/ftsynth.h +104 -0
- package/include/freetype2/freetype/ftsystem.h +350 -0
- package/include/freetype2/freetype/fttrigon.h +350 -0
- package/include/freetype2/freetype/fttypes.h +617 -0
- package/include/freetype2/freetype/ftwinfnt.h +276 -0
- package/include/freetype2/freetype/otsvg.h +336 -0
- package/include/freetype2/freetype/t1tables.h +793 -0
- package/include/freetype2/freetype/ttnameid.h +1235 -0
- package/include/freetype2/freetype/tttables.h +855 -0
- package/include/freetype2/freetype/tttags.h +124 -0
- package/include/freetype2/ft2build.h +42 -0
- package/include/fribidi/fribidi-arabic.h +81 -0
- package/include/fribidi/fribidi-begindecls.h +3 -0
- package/include/fribidi/fribidi-bidi-types-list.h +96 -0
- package/include/fribidi/fribidi-bidi-types.h +405 -0
- package/include/fribidi/fribidi-bidi.h +142 -0
- package/include/fribidi/fribidi-brackets.h +89 -0
- package/include/fribidi/fribidi-char-sets-list.h +54 -0
- package/include/fribidi/fribidi-char-sets.h +106 -0
- package/include/fribidi/fribidi-common.h +152 -0
- package/include/fribidi/fribidi-config.h +23 -0
- package/include/fribidi/fribidi-deprecated.h +175 -0
- package/include/fribidi/fribidi-enddecls.h +3 -0
- package/include/fribidi/fribidi-flags.h +72 -0
- package/include/fribidi/fribidi-joining-types-list.h +44 -0
- package/include/fribidi/fribidi-joining-types.h +249 -0
- package/include/fribidi/fribidi-joining.h +74 -0
- package/include/fribidi/fribidi-mirroring.h +86 -0
- package/include/fribidi/fribidi-shape.h +71 -0
- package/include/fribidi/fribidi-types.h +79 -0
- package/include/fribidi/fribidi-unicode-version.h +10 -0
- package/include/fribidi/fribidi-unicode.h +105 -0
- package/include/fribidi/fribidi.h +129 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h +221 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-autocleanups.h +37 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h +525 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h +40 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h +115 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h +481 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h +113 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-macros.h +718 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h +33 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h +70 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h +168 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h +46 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h +165 -0
- package/include/gio-unix-2.0/gio/gdesktopappinfo.h +200 -0
- package/include/gio-unix-2.0/gio/gfiledescriptorbased.h +67 -0
- package/include/gio-unix-2.0/gio/gunixfdmessage.h +86 -0
- package/include/gio-unix-2.0/gio/gunixinputstream.h +85 -0
- package/include/gio-unix-2.0/gio/gunixmounts.h +172 -0
- package/include/gio-unix-2.0/gio/gunixoutputstream.h +84 -0
- package/include/glib-2.0/gio/gaction.h +100 -0
- package/include/glib-2.0/gio/gactiongroup.h +163 -0
- package/include/glib-2.0/gio/gactiongroupexporter.h +47 -0
- package/include/glib-2.0/gio/gactionmap.h +101 -0
- package/include/glib-2.0/gio/gappinfo.h +369 -0
- package/include/glib-2.0/gio/gapplication.h +257 -0
- package/include/glib-2.0/gio/gapplicationcommandline.h +124 -0
- package/include/glib-2.0/gio/gasyncinitable.h +132 -0
- package/include/glib-2.0/gio/gasyncresult.h +87 -0
- package/include/glib-2.0/gio/gbufferedinputstream.h +135 -0
- package/include/glib-2.0/gio/gbufferedoutputstream.h +88 -0
- package/include/glib-2.0/gio/gbytesicon.h +54 -0
- package/include/glib-2.0/gio/gcancellable.h +120 -0
- package/include/glib-2.0/gio/gcharsetconverter.h +65 -0
- package/include/glib-2.0/gio/gcontenttype.h +84 -0
- package/include/glib-2.0/gio/gconverter.h +98 -0
- package/include/glib-2.0/gio/gconverterinputstream.h +82 -0
- package/include/glib-2.0/gio/gconverteroutputstream.h +82 -0
- package/include/glib-2.0/gio/gcredentials.h +87 -0
- package/include/glib-2.0/gio/gdatagrambased.h +146 -0
- package/include/glib-2.0/gio/gdatainputstream.h +182 -0
- package/include/glib-2.0/gio/gdataoutputstream.h +127 -0
- package/include/glib-2.0/gio/gdbusactiongroup.h +56 -0
- package/include/glib-2.0/gio/gdbusaddress.h +67 -0
- package/include/glib-2.0/gio/gdbusauthobserver.h +53 -0
- package/include/glib-2.0/gio/gdbusconnection.h +691 -0
- package/include/glib-2.0/gio/gdbuserror.h +111 -0
- package/include/glib-2.0/gio/gdbusinterface.h +83 -0
- package/include/glib-2.0/gio/gdbusinterfaceskeleton.h +129 -0
- package/include/glib-2.0/gio/gdbusintrospection.h +327 -0
- package/include/glib-2.0/gio/gdbusmenumodel.h +47 -0
- package/include/glib-2.0/gio/gdbusmessage.h +204 -0
- package/include/glib-2.0/gio/gdbusmethodinvocation.h +136 -0
- package/include/glib-2.0/gio/gdbusnameowning.h +117 -0
- package/include/glib-2.0/gio/gdbusnamewatching.h +104 -0
- package/include/glib-2.0/gio/gdbusobject.h +80 -0
- package/include/glib-2.0/gio/gdbusobjectmanager.h +96 -0
- package/include/glib-2.0/gio/gdbusobjectmanagerclient.h +148 -0
- package/include/glib-2.0/gio/gdbusobjectmanagerserver.h +95 -0
- package/include/glib-2.0/gio/gdbusobjectproxy.h +81 -0
- package/include/glib-2.0/gio/gdbusobjectskeleton.h +98 -0
- package/include/glib-2.0/gio/gdbusproxy.h +220 -0
- package/include/glib-2.0/gio/gdbusserver.h +62 -0
- package/include/glib-2.0/gio/gdbusutils.h +65 -0
- package/include/glib-2.0/gio/gdebugcontroller.h +81 -0
- package/include/glib-2.0/gio/gdebugcontrollerdbus.h +71 -0
- package/include/glib-2.0/gio/gdrive.h +274 -0
- package/include/glib-2.0/gio/gdtlsclientconnection.h +77 -0
- package/include/glib-2.0/gio/gdtlsconnection.h +230 -0
- package/include/glib-2.0/gio/gdtlsserverconnection.h +71 -0
- package/include/glib-2.0/gio/gemblem.h +63 -0
- package/include/glib-2.0/gio/gemblemedicon.h +83 -0
- package/include/glib-2.0/gio/gfile.h +1359 -0
- package/include/glib-2.0/gio/gfileattribute.h +86 -0
- package/include/glib-2.0/gio/gfileenumerator.h +154 -0
- package/include/glib-2.0/gio/gfileicon.h +59 -0
- package/include/glib-2.0/gio/gfileinfo.h +1546 -0
- package/include/glib-2.0/gio/gfileinputstream.h +116 -0
- package/include/glib-2.0/gio/gfileiostream.h +123 -0
- package/include/glib-2.0/gio/gfilemonitor.h +100 -0
- package/include/glib-2.0/gio/gfilenamecompleter.h +81 -0
- package/include/glib-2.0/gio/gfileoutputstream.h +124 -0
- package/include/glib-2.0/gio/gfilterinputstream.h +80 -0
- package/include/glib-2.0/gio/gfilteroutputstream.h +80 -0
- package/include/glib-2.0/gio/gicon.h +133 -0
- package/include/glib-2.0/gio/ginetaddress.h +125 -0
- package/include/glib-2.0/gio/ginetaddressmask.h +86 -0
- package/include/glib-2.0/gio/ginetsocketaddress.h +80 -0
- package/include/glib-2.0/gio/ginitable.h +107 -0
- package/include/glib-2.0/gio/ginputstream.h +218 -0
- package/include/glib-2.0/gio/gio-autocleanups.h +155 -0
- package/include/glib-2.0/gio/gio-visibility.h +952 -0
- package/include/glib-2.0/gio/gio.h +186 -0
- package/include/glib-2.0/gio/gioenums.h +2149 -0
- package/include/glib-2.0/gio/gioenumtypes.h +207 -0
- package/include/glib-2.0/gio/gioerror.h +58 -0
- package/include/glib-2.0/gio/giomodule.h +199 -0
- package/include/glib-2.0/gio/gioscheduler.h +56 -0
- package/include/glib-2.0/gio/giostream.h +137 -0
- package/include/glib-2.0/gio/giotypes.h +660 -0
- package/include/glib-2.0/gio/glistmodel.h +74 -0
- package/include/glib-2.0/gio/gliststore.h +97 -0
- package/include/glib-2.0/gio/gloadableicon.h +101 -0
- package/include/glib-2.0/gio/gmemoryinputstream.h +92 -0
- package/include/glib-2.0/gio/gmemorymonitor.h +64 -0
- package/include/glib-2.0/gio/gmemoryoutputstream.h +109 -0
- package/include/glib-2.0/gio/gmenu.h +184 -0
- package/include/glib-2.0/gio/gmenuexporter.h +55 -0
- package/include/glib-2.0/gio/gmenumodel.h +307 -0
- package/include/glib-2.0/gio/gmount.h +278 -0
- package/include/glib-2.0/gio/gmountoperation.h +179 -0
- package/include/glib-2.0/gio/gnativesocketaddress.h +67 -0
- package/include/glib-2.0/gio/gnativevolumemonitor.h +63 -0
- package/include/glib-2.0/gio/gnetworkaddress.h +82 -0
- package/include/glib-2.0/gio/gnetworking.h +81 -0
- package/include/glib-2.0/gio/gnetworkmonitor.h +101 -0
- package/include/glib-2.0/gio/gnetworkservice.h +77 -0
- package/include/glib-2.0/gio/gnotification.h +103 -0
- package/include/glib-2.0/gio/goutputstream.h +334 -0
- package/include/glib-2.0/gio/gpermission.h +129 -0
- package/include/glib-2.0/gio/gpollableinputstream.h +106 -0
- package/include/glib-2.0/gio/gpollableoutputstream.h +127 -0
- package/include/glib-2.0/gio/gpollableutils.h +66 -0
- package/include/glib-2.0/gio/gpowerprofilemonitor.h +65 -0
- package/include/glib-2.0/gio/gpropertyaction.h +49 -0
- package/include/glib-2.0/gio/gproxy.h +130 -0
- package/include/glib-2.0/gio/gproxyaddress.h +88 -0
- package/include/glib-2.0/gio/gproxyaddressenumerator.h +83 -0
- package/include/glib-2.0/gio/gproxyresolver.h +97 -0
- package/include/glib-2.0/gio/gremoteactiongroup.h +77 -0
- package/include/glib-2.0/gio/gresolver.h +299 -0
- package/include/glib-2.0/gio/gresource.h +132 -0
- package/include/glib-2.0/gio/gseekable.h +105 -0
- package/include/glib-2.0/gio/gsettings.h +347 -0
- package/include/glib-2.0/gio/gsettingsbackend.h +176 -0
- package/include/glib-2.0/gio/gsettingsschema.h +115 -0
- package/include/glib-2.0/gio/gsimpleaction.h +65 -0
- package/include/glib-2.0/gio/gsimpleactiongroup.h +99 -0
- package/include/glib-2.0/gio/gsimpleasyncresult.h +164 -0
- package/include/glib-2.0/gio/gsimpleiostream.h +47 -0
- package/include/glib-2.0/gio/gsimplepermission.h +47 -0
- package/include/glib-2.0/gio/gsimpleproxyresolver.h +91 -0
- package/include/glib-2.0/gio/gsocket.h +330 -0
- package/include/glib-2.0/gio/gsocketaddress.h +84 -0
- package/include/glib-2.0/gio/gsocketaddressenumerator.h +103 -0
- package/include/glib-2.0/gio/gsocketclient.h +199 -0
- package/include/glib-2.0/gio/gsocketconnectable.h +83 -0
- package/include/glib-2.0/gio/gsocketconnection.h +117 -0
- package/include/glib-2.0/gio/gsocketcontrolmessage.h +113 -0
- package/include/glib-2.0/gio/gsocketlistener.h +157 -0
- package/include/glib-2.0/gio/gsocketservice.h +95 -0
- package/include/glib-2.0/gio/gsrvtarget.h +60 -0
- package/include/glib-2.0/gio/gsubprocess.h +169 -0
- package/include/glib-2.0/gio/gsubprocesslauncher.h +121 -0
- package/include/glib-2.0/gio/gtask.h +207 -0
- package/include/glib-2.0/gio/gtcpconnection.h +71 -0
- package/include/glib-2.0/gio/gtcpwrapperconnection.h +71 -0
- package/include/glib-2.0/gio/gtestdbus.h +74 -0
- package/include/glib-2.0/gio/gthemedicon.h +70 -0
- package/include/glib-2.0/gio/gthreadedsocketservice.h +83 -0
- package/include/glib-2.0/gio/gtlsbackend.h +115 -0
- package/include/glib-2.0/gio/gtlscertificate.h +125 -0
- package/include/glib-2.0/gio/gtlsclientconnection.h +88 -0
- package/include/glib-2.0/gio/gtlsconnection.h +214 -0
- package/include/glib-2.0/gio/gtlsdatabase.h +249 -0
- package/include/glib-2.0/gio/gtlsfiledatabase.h +60 -0
- package/include/glib-2.0/gio/gtlsinteraction.h +150 -0
- package/include/glib-2.0/gio/gtlspassword.h +121 -0
- package/include/glib-2.0/gio/gtlsserverconnection.h +71 -0
- package/include/glib-2.0/gio/gunixconnection.h +102 -0
- package/include/glib-2.0/gio/gunixcredentialsmessage.h +89 -0
- package/include/glib-2.0/gio/gunixfdlist.h +97 -0
- package/include/glib-2.0/gio/gunixsocketaddress.h +83 -0
- package/include/glib-2.0/gio/gvfs.h +170 -0
- package/include/glib-2.0/gio/gvolume.h +255 -0
- package/include/glib-2.0/gio/gvolumemonitor.h +156 -0
- package/include/glib-2.0/gio/gzlibcompressor.h +64 -0
- package/include/glib-2.0/gio/gzlibdecompressor.h +60 -0
- package/include/glib-2.0/glib/deprecated/gallocator.h +88 -0
- package/include/glib-2.0/glib/deprecated/gcache.h +77 -0
- package/include/glib-2.0/glib/deprecated/gcompletion.h +85 -0
- package/include/glib-2.0/glib/deprecated/gmain.h +137 -0
- package/include/glib-2.0/glib/deprecated/grel.h +107 -0
- package/include/glib-2.0/glib/deprecated/gthread.h +295 -0
- package/include/glib-2.0/glib/galloca.h +147 -0
- package/include/glib-2.0/glib/garray.h +323 -0
- package/include/glib-2.0/glib/gasyncqueue.h +126 -0
- package/include/glib-2.0/glib/gatomic.h +587 -0
- package/include/glib-2.0/glib/gbacktrace.h +74 -0
- package/include/glib-2.0/glib/gbase64.h +63 -0
- package/include/glib-2.0/glib/gbitlock.h +78 -0
- package/include/glib-2.0/glib/gbookmarkfile.h +300 -0
- package/include/glib-2.0/glib/gbytes.h +99 -0
- package/include/glib-2.0/glib/gcharset.h +49 -0
- package/include/glib-2.0/glib/gchecksum.h +106 -0
- package/include/glib-2.0/glib/gconvert.h +179 -0
- package/include/glib-2.0/glib/gdataset.h +156 -0
- package/include/glib-2.0/glib/gdate.h +309 -0
- package/include/glib-2.0/glib/gdatetime.h +275 -0
- package/include/glib-2.0/glib/gdir.h +54 -0
- package/include/glib-2.0/glib/genviron.h +65 -0
- package/include/glib-2.0/glib/gerror.h +263 -0
- package/include/glib-2.0/glib/gfileutils.h +223 -0
- package/include/glib-2.0/glib/ggettext.h +65 -0
- package/include/glib-2.0/glib/ghash.h +206 -0
- package/include/glib-2.0/glib/ghmac.h +85 -0
- package/include/glib-2.0/glib/ghook.h +204 -0
- package/include/glib-2.0/glib/ghostutils.h +45 -0
- package/include/glib-2.0/glib/gi18n-lib.h +38 -0
- package/include/glib-2.0/glib/gi18n.h +34 -0
- package/include/glib-2.0/glib/giochannel.h +407 -0
- package/include/glib-2.0/glib/gkeyfile.h +332 -0
- package/include/glib-2.0/glib/glib-autocleanups.h +105 -0
- package/include/glib-2.0/glib/glib-typeof.h +47 -0
- package/include/glib-2.0/glib/glib-visibility.h +952 -0
- package/include/glib-2.0/glib/glist.h +179 -0
- package/include/glib-2.0/glib/gmacros.h +1425 -0
- package/include/glib-2.0/glib/gmain.h +862 -0
- package/include/glib-2.0/glib/gmappedfile.h +60 -0
- package/include/glib-2.0/glib/gmarkup.h +265 -0
- package/include/glib-2.0/glib/gmem.h +425 -0
- package/include/glib-2.0/glib/gmessages.h +690 -0
- package/include/glib-2.0/glib/gnode.h +309 -0
- package/include/glib-2.0/glib/goption.h +409 -0
- package/include/glib-2.0/glib/gpathbuf.h +90 -0
- package/include/glib-2.0/glib/gpattern.h +65 -0
- package/include/glib-2.0/glib/gpoll.h +122 -0
- package/include/glib-2.0/glib/gprimes.h +52 -0
- package/include/glib-2.0/glib/gprintf.h +59 -0
- package/include/glib-2.0/glib/gqsort.h +47 -0
- package/include/glib-2.0/glib/gquark.h +70 -0
- package/include/glib-2.0/glib/gqueue.h +205 -0
- package/include/glib-2.0/glib/grand.h +101 -0
- package/include/glib-2.0/glib/grcbox.h +91 -0
- package/include/glib-2.0/glib/grefcount.h +179 -0
- package/include/glib-2.0/glib/grefstring.h +59 -0
- package/include/glib-2.0/glib/gscanner.h +301 -0
- package/include/glib-2.0/glib/gsequence.h +175 -0
- package/include/glib-2.0/glib/gshell.h +59 -0
- package/include/glib-2.0/glib/gslice.h +117 -0
- package/include/glib-2.0/glib/gslist.h +166 -0
- package/include/glib-2.0/glib/gspawn.h +323 -0
- package/include/glib-2.0/glib/gstdio.h +231 -0
- package/include/glib-2.0/glib/gstrfuncs.h +504 -0
- package/include/glib-2.0/glib/gstring.h +296 -0
- package/include/glib-2.0/glib/gstringchunk.h +59 -0
- package/include/glib-2.0/glib/gstrvbuilder.h +69 -0
- package/include/glib-2.0/glib/gtestutils.h +763 -0
- package/include/glib-2.0/glib/gthread.h +603 -0
- package/include/glib-2.0/glib/gthreadpool.h +105 -0
- package/include/glib-2.0/glib/gtimer.h +80 -0
- package/include/glib-2.0/glib/gtimezone.h +98 -0
- package/include/glib-2.0/glib/gtrashstack.h +60 -0
- package/include/glib-2.0/glib/gtree.h +181 -0
- package/include/glib-2.0/glib/gtypes.h +591 -0
- package/include/glib-2.0/glib/gunicode.h +974 -0
- package/include/glib-2.0/glib/guri.h +420 -0
- package/include/glib-2.0/glib/gutils.h +479 -0
- package/include/glib-2.0/glib/guuid.h +42 -0
- package/include/glib-2.0/glib/gvariant.h +541 -0
- package/include/glib-2.0/glib/gvarianttype.h +384 -0
- package/include/glib-2.0/glib/gversion.h +57 -0
- package/include/glib-2.0/glib/gversionmacros.h +490 -0
- package/include/glib-2.0/glib/gwin32.h +142 -0
- package/include/glib-2.0/glib-object.h +46 -0
- package/include/glib-2.0/glib-unix.h +125 -0
- package/include/glib-2.0/glib.h +121 -0
- package/include/glib-2.0/gmodule/gmodule-visibility.h +952 -0
- package/include/glib-2.0/gmodule.h +147 -0
- package/include/glib-2.0/gobject/gbinding.h +156 -0
- package/include/glib-2.0/gobject/gbindinggroup.h +85 -0
- package/include/glib-2.0/gobject/gboxed.h +124 -0
- package/include/glib-2.0/gobject/gclosure.h +323 -0
- package/include/glib-2.0/gobject/genums.h +381 -0
- package/include/glib-2.0/gobject/glib-enumtypes.h +25 -0
- package/include/glib-2.0/gobject/glib-types.h +400 -0
- package/include/glib-2.0/gobject/gmarshal.h +434 -0
- package/include/glib-2.0/gobject/gobject-autocleanups.h +33 -0
- package/include/glib-2.0/gobject/gobject-visibility.h +952 -0
- package/include/glib-2.0/gobject/gobject.h +953 -0
- package/include/glib-2.0/gobject/gobjectnotifyqueue.c +199 -0
- package/include/glib-2.0/gobject/gparam.h +476 -0
- package/include/glib-2.0/gobject/gparamspecs.h +1151 -0
- package/include/glib-2.0/gobject/gsignal.h +647 -0
- package/include/glib-2.0/gobject/gsignalgroup.h +98 -0
- package/include/glib-2.0/gobject/gsourceclosure.h +40 -0
- package/include/glib-2.0/gobject/gtype.h +2703 -0
- package/include/glib-2.0/gobject/gtypemodule.h +302 -0
- package/include/glib-2.0/gobject/gtypeplugin.h +136 -0
- package/include/glib-2.0/gobject/gvalue.h +212 -0
- package/include/glib-2.0/gobject/gvaluearray.h +106 -0
- package/include/glib-2.0/gobject/gvaluecollector.h +290 -0
- package/include/glib-2.0/gobject/gvaluetypes.h +318 -0
- package/include/harfbuzz/hb-aat-layout.h +795 -0
- package/include/harfbuzz/hb-aat.h +38 -0
- package/include/harfbuzz/hb-blob.h +160 -0
- package/include/harfbuzz/hb-buffer.h +799 -0
- package/include/harfbuzz/hb-common.h +938 -0
- package/include/harfbuzz/hb-cplusplus.hh +223 -0
- package/include/harfbuzz/hb-deprecated.h +309 -0
- package/include/harfbuzz/hb-draw.h +340 -0
- package/include/harfbuzz/hb-face.h +187 -0
- package/include/harfbuzz/hb-features.h +119 -0
- package/include/harfbuzz/hb-font.h +1153 -0
- package/include/harfbuzz/hb-ft.h +145 -0
- package/include/harfbuzz/hb-glib.h +56 -0
- package/include/harfbuzz/hb-map.h +143 -0
- package/include/harfbuzz/hb-ot-color.h +155 -0
- package/include/harfbuzz/hb-ot-deprecated.h +147 -0
- package/include/harfbuzz/hb-ot-font.h +45 -0
- package/include/harfbuzz/hb-ot-layout.h +549 -0
- package/include/harfbuzz/hb-ot-math.h +333 -0
- package/include/harfbuzz/hb-ot-meta.h +72 -0
- package/include/harfbuzz/hb-ot-metrics.h +129 -0
- package/include/harfbuzz/hb-ot-name.h +164 -0
- package/include/harfbuzz/hb-ot-shape.h +53 -0
- package/include/harfbuzz/hb-ot-var.h +191 -0
- package/include/harfbuzz/hb-ot.h +49 -0
- package/include/harfbuzz/hb-paint.h +1029 -0
- package/include/harfbuzz/hb-set.h +203 -0
- package/include/harfbuzz/hb-shape-plan.h +122 -0
- package/include/harfbuzz/hb-shape.h +74 -0
- package/include/harfbuzz/hb-style.h +81 -0
- package/include/harfbuzz/hb-subset-repacker.h +81 -0
- package/include/harfbuzz/hb-subset.h +241 -0
- package/include/harfbuzz/hb-unicode.h +643 -0
- package/include/harfbuzz/hb-version.h +95 -0
- package/include/harfbuzz/hb.h +51 -0
- package/include/index.js +1 -0
- package/include/jconfig.h +37 -0
- package/include/jerror.h +335 -0
- package/include/jmorecfg.h +382 -0
- package/include/jpeglib.h +1210 -0
- package/include/lcms2.h +1958 -0
- package/include/lcms2_plugin.h +700 -0
- package/include/libexif/_stdint.h +2 -0
- package/include/libexif/exif-byte-order.h +48 -0
- package/include/libexif/exif-content.h +181 -0
- package/include/libexif/exif-data-type.h +46 -0
- package/include/libexif/exif-data.h +267 -0
- package/include/libexif/exif-entry.h +186 -0
- package/include/libexif/exif-format.h +65 -0
- package/include/libexif/exif-ifd.h +51 -0
- package/include/libexif/exif-loader.h +128 -0
- package/include/libexif/exif-log.h +116 -0
- package/include/libexif/exif-mem.h +91 -0
- package/include/libexif/exif-mnote-data.h +122 -0
- package/include/libexif/exif-tag.h +307 -0
- package/include/libexif/exif-utils.h +194 -0
- package/include/libheif/heif.h +2092 -0
- package/include/libheif/heif_cxx.h +1359 -0
- package/include/libheif/heif_plugin.h +306 -0
- package/include/libheif/heif_version.h +38 -0
- package/include/libimagequant.h +111 -0
- package/include/libpng16/png.h +3247 -0
- package/include/libpng16/pngconf.h +623 -0
- package/include/libpng16/pnglibconf.h +219 -0
- package/include/librsvg-2.0/librsvg/rsvg-cairo.h +395 -0
- package/include/librsvg-2.0/librsvg/rsvg-features.h +184 -0
- package/include/librsvg-2.0/librsvg/rsvg-version.h +13 -0
- package/include/librsvg-2.0/librsvg/rsvg.h +1456 -0
- package/include/libxml2/libxml/HTMLparser.h +320 -0
- package/include/libxml2/libxml/HTMLtree.h +147 -0
- package/include/libxml2/libxml/SAX.h +204 -0
- package/include/libxml2/libxml/SAX2.h +173 -0
- package/include/libxml2/libxml/c14n.h +128 -0
- package/include/libxml2/libxml/catalog.h +182 -0
- package/include/libxml2/libxml/chvalid.h +230 -0
- package/include/libxml2/libxml/debugXML.h +217 -0
- package/include/libxml2/libxml/dict.h +81 -0
- package/include/libxml2/libxml/encoding.h +233 -0
- package/include/libxml2/libxml/entities.h +151 -0
- package/include/libxml2/libxml/globals.h +529 -0
- package/include/libxml2/libxml/hash.h +236 -0
- package/include/libxml2/libxml/list.h +137 -0
- package/include/libxml2/libxml/nanoftp.h +186 -0
- package/include/libxml2/libxml/nanohttp.h +81 -0
- package/include/libxml2/libxml/parser.h +1265 -0
- package/include/libxml2/libxml/parserInternals.h +662 -0
- package/include/libxml2/libxml/pattern.h +100 -0
- package/include/libxml2/libxml/relaxng.h +218 -0
- package/include/libxml2/libxml/schemasInternals.h +958 -0
- package/include/libxml2/libxml/schematron.h +142 -0
- package/include/libxml2/libxml/threads.h +94 -0
- package/include/libxml2/libxml/tree.h +1314 -0
- package/include/libxml2/libxml/uri.h +94 -0
- package/include/libxml2/libxml/valid.h +448 -0
- package/include/libxml2/libxml/xinclude.h +129 -0
- package/include/libxml2/libxml/xlink.h +189 -0
- package/include/libxml2/libxml/xmlIO.h +369 -0
- package/include/libxml2/libxml/xmlautomata.h +146 -0
- package/include/libxml2/libxml/xmlerror.h +919 -0
- package/include/libxml2/libxml/xmlexports.h +50 -0
- package/include/libxml2/libxml/xmlmemory.h +228 -0
- package/include/libxml2/libxml/xmlmodule.h +57 -0
- package/include/libxml2/libxml/xmlreader.h +428 -0
- package/include/libxml2/libxml/xmlregexp.h +222 -0
- package/include/libxml2/libxml/xmlsave.h +88 -0
- package/include/libxml2/libxml/xmlschemas.h +246 -0
- package/include/libxml2/libxml/xmlschemastypes.h +152 -0
- package/include/libxml2/libxml/xmlstring.h +140 -0
- package/include/libxml2/libxml/xmlunicode.h +202 -0
- package/include/libxml2/libxml/xmlversion.h +526 -0
- package/include/libxml2/libxml/xmlwriter.h +488 -0
- package/include/libxml2/libxml/xpath.h +575 -0
- package/include/libxml2/libxml/xpathInternals.h +632 -0
- package/include/libxml2/libxml/xpointer.h +137 -0
- package/include/orc-0.4/orc/orc-stdint.h +1 -0
- package/include/orc-0.4/orc/orc.h +16 -0
- package/include/orc-0.4/orc/orcarm.h +879 -0
- package/include/orc-0.4/orc/orcbytecode.h +35 -0
- package/include/orc-0.4/orc/orcbytecodes.h +255 -0
- package/include/orc-0.4/orc/orccode.h +53 -0
- package/include/orc-0.4/orc/orccompiler.h +176 -0
- package/include/orc-0.4/orc/orcconstant.h +39 -0
- package/include/orc-0.4/orc/orccpu.h +21 -0
- package/include/orc-0.4/orc/orccpuinsn.h +40 -0
- package/include/orc-0.4/orc/orcdebug.h +158 -0
- package/include/orc-0.4/orc/orcemulateopcodes.h +203 -0
- package/include/orc-0.4/orc/orcexecutor.h +135 -0
- package/include/orc-0.4/orc/orcfunctions.h +93 -0
- package/include/orc-0.4/orc/orcinstruction.h +39 -0
- package/include/orc-0.4/orc/orcinternal.h +46 -0
- package/include/orc-0.4/orc/orclimits.h +94 -0
- package/include/orc-0.4/orc/orcmips.h +229 -0
- package/include/orc-0.4/orc/orcmmx.h +79 -0
- package/include/orc-0.4/orc/orcneon.h +43 -0
- package/include/orc-0.4/orc/orconce.h +166 -0
- package/include/orc-0.4/orc/orcopcode.h +63 -0
- package/include/orc-0.4/orc/orcparse.h +27 -0
- package/include/orc-0.4/orc/orcpowerpc.h +209 -0
- package/include/orc-0.4/orc/orcprogram.h +192 -0
- package/include/orc-0.4/orc/orcrule.h +52 -0
- package/include/orc-0.4/orc/orcsse.h +55 -0
- package/include/orc-0.4/orc/orctarget.h +115 -0
- package/include/orc-0.4/orc/orcutils.h +238 -0
- package/include/orc-0.4/orc/orcvariable.h +81 -0
- package/include/orc-0.4/orc/orcx86.h +199 -0
- package/include/orc-0.4/orc/orcx86insn.h +672 -0
- package/include/pango-1.0/pango/pango-attributes.h +748 -0
- package/include/pango-1.0/pango/pango-bidi-type.h +117 -0
- package/include/pango-1.0/pango/pango-break.h +144 -0
- package/include/pango-1.0/pango/pango-color.h +75 -0
- package/include/pango-1.0/pango/pango-context.h +116 -0
- package/include/pango-1.0/pango/pango-coverage.h +108 -0
- package/include/pango-1.0/pango/pango-direction.h +72 -0
- package/include/pango-1.0/pango/pango-engine.h +457 -0
- package/include/pango-1.0/pango/pango-enum-types.h +120 -0
- package/include/pango-1.0/pango/pango-features.h +10 -0
- package/include/pango-1.0/pango/pango-font.h +699 -0
- package/include/pango-1.0/pango/pango-fontmap.h +132 -0
- package/include/pango-1.0/pango/pango-fontset-simple.h +64 -0
- package/include/pango-1.0/pango/pango-fontset.h +134 -0
- package/include/pango-1.0/pango/pango-glyph-item.h +175 -0
- package/include/pango-1.0/pango/pango-glyph.h +270 -0
- package/include/pango-1.0/pango/pango-gravity.h +137 -0
- package/include/pango-1.0/pango/pango-item.h +165 -0
- package/include/pango-1.0/pango/pango-language.h +70 -0
- package/include/pango-1.0/pango/pango-layout.h +554 -0
- package/include/pango-1.0/pango/pango-markup.h +52 -0
- package/include/pango-1.0/pango/pango-matrix.h +130 -0
- package/include/pango-1.0/pango/pango-modules.h +84 -0
- package/include/pango-1.0/pango/pango-ot.h +427 -0
- package/include/pango-1.0/pango/pango-renderer.h +290 -0
- package/include/pango-1.0/pango/pango-script.h +335 -0
- package/include/pango-1.0/pango/pango-tabs.h +117 -0
- package/include/pango-1.0/pango/pango-types.h +244 -0
- package/include/pango-1.0/pango/pango-utils.h +187 -0
- package/include/pango-1.0/pango/pango-version-macros.h +756 -0
- package/include/pango-1.0/pango/pango.h +54 -0
- package/include/pango-1.0/pango/pangocairo.h +220 -0
- package/include/pango-1.0/pango/pangofc-decoder.h +122 -0
- package/include/pango-1.0/pango/pangofc-font.h +120 -0
- package/include/pango-1.0/pango/pangofc-fontmap.h +244 -0
- package/include/pango-1.0/pango/pangoft2.h +158 -0
- package/include/pixman-1/pixman-version.h +54 -0
- package/include/pixman-1/pixman.h +1419 -0
- package/include/png.h +3247 -0
- package/include/pngconf.h +623 -0
- package/include/pnglibconf.h +219 -0
- package/include/spng.h +537 -0
- package/include/tiff.h +899 -0
- package/include/tiffconf.h +145 -0
- package/include/tiffio.h +653 -0
- package/include/tiffvers.h +36 -0
- package/include/vips/VConnection8.h +150 -0
- package/include/vips/VError8.h +76 -0
- package/include/vips/VImage8.h +6065 -0
- package/include/vips/VInterpolate8.h +77 -0
- package/include/vips/VRegion8.h +155 -0
- package/include/vips/arithmetic.h +571 -0
- package/include/vips/basic.h +113 -0
- package/include/vips/buf.h +118 -0
- package/include/vips/colour.h +306 -0
- package/include/vips/connection.h +570 -0
- package/include/vips/conversion.h +357 -0
- package/include/vips/convolution.h +95 -0
- package/include/vips/create.h +161 -0
- package/include/vips/dbuf.h +103 -0
- package/include/vips/debug.h +74 -0
- package/include/vips/draw.h +113 -0
- package/include/vips/enumtypes.h +181 -0
- package/include/vips/error.h +142 -0
- package/include/vips/foreign.h +993 -0
- package/include/vips/format.h +135 -0
- package/include/vips/freqfilt.h +64 -0
- package/include/vips/gate.h +82 -0
- package/include/vips/generate.h +92 -0
- package/include/vips/header.h +312 -0
- package/include/vips/histogram.h +85 -0
- package/include/vips/image.h +605 -0
- package/include/vips/interpolate.h +141 -0
- package/include/vips/memory.h +96 -0
- package/include/vips/morphology.h +73 -0
- package/include/vips/mosaicing.h +80 -0
- package/include/vips/object.h +706 -0
- package/include/vips/operation.h +182 -0
- package/include/vips/private.h +227 -0
- package/include/vips/rect.h +80 -0
- package/include/vips/region.h +238 -0
- package/include/vips/resample.h +123 -0
- package/include/vips/sbuf.h +144 -0
- package/include/vips/semaphore.h +77 -0
- package/include/vips/thread.h +72 -0
- package/include/vips/threadpool.h +160 -0
- package/include/vips/transform.h +89 -0
- package/include/vips/type.h +305 -0
- package/include/vips/util.h +406 -0
- package/include/vips/vector.h +183 -0
- package/include/vips/version.h +26 -0
- package/include/vips/vips.h +194 -0
- package/include/vips/vips8 +60 -0
- package/include/webp/decode.h +504 -0
- package/include/webp/demux.h +363 -0
- package/include/webp/encode.h +552 -0
- package/include/webp/mux.h +530 -0
- package/include/webp/mux_types.h +98 -0
- package/include/webp/sharpyuv/sharpyuv.h +103 -0
- package/include/webp/sharpyuv/sharpyuv_csp.h +60 -0
- package/include/webp/types.h +72 -0
- package/include/zconf.h +203 -0
- package/include/zlib.h +1855 -0
- package/include/zlib_name_mangling.h +8 -0
- package/package.json +30 -0
- package/versions.json +31 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/*! \file exif-entry.h
|
|
2
|
+
* \brief Handling EXIF entries
|
|
3
|
+
*/
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (c) 2001 Lutz Mueller <lutz@users.sourceforge.net>
|
|
6
|
+
*
|
|
7
|
+
* This library is free software; you can redistribute it and/or
|
|
8
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
9
|
+
* License as published by the Free Software Foundation; either
|
|
10
|
+
* version 2 of the License, or (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* This library is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
15
|
+
* Lesser General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
18
|
+
* License along with this library; if not, write to the
|
|
19
|
+
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
20
|
+
* Boston, MA 02110-1301 USA.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
#ifndef LIBEXIF_EXIF_ENTRY_H
|
|
24
|
+
#define LIBEXIF_EXIF_ENTRY_H
|
|
25
|
+
|
|
26
|
+
#ifdef __cplusplus
|
|
27
|
+
extern "C" {
|
|
28
|
+
#endif /* __cplusplus */
|
|
29
|
+
|
|
30
|
+
/*! Data found in one EXIF tag.
|
|
31
|
+
* The #exif_entry_get_value function can provide access to the
|
|
32
|
+
* formatted contents, or the struct members can be used directly to
|
|
33
|
+
* access the raw contents.
|
|
34
|
+
*/
|
|
35
|
+
typedef struct _ExifEntry ExifEntry;
|
|
36
|
+
typedef struct _ExifEntryPrivate ExifEntryPrivate;
|
|
37
|
+
|
|
38
|
+
#include <libexif/exif-content.h>
|
|
39
|
+
#include <libexif/exif-format.h>
|
|
40
|
+
#include <libexif/exif-mem.h>
|
|
41
|
+
|
|
42
|
+
/*! Data found in one EXIF tag */
|
|
43
|
+
struct _ExifEntry {
|
|
44
|
+
/*! EXIF tag for this entry */
|
|
45
|
+
ExifTag tag;
|
|
46
|
+
|
|
47
|
+
/*! Type of data in this entry */
|
|
48
|
+
ExifFormat format;
|
|
49
|
+
|
|
50
|
+
/*! Number of elements in the array, if this is an array entry.
|
|
51
|
+
* Contains 1 for non-array data types. */
|
|
52
|
+
unsigned long components;
|
|
53
|
+
|
|
54
|
+
/*! Pointer to the raw EXIF data for this entry. It is allocated
|
|
55
|
+
* by #exif_entry_initialize and is NULL beforehand. Data contained
|
|
56
|
+
* here may be manipulated using the functions in exif-utils.h */
|
|
57
|
+
unsigned char *data;
|
|
58
|
+
|
|
59
|
+
/*! Number of bytes in the buffer at \c data. This must be no less
|
|
60
|
+
* than exif_format_get_size(format)*components */
|
|
61
|
+
unsigned int size;
|
|
62
|
+
|
|
63
|
+
/*! #ExifContent containing this entry.
|
|
64
|
+
* \see exif_entry_get_ifd */
|
|
65
|
+
ExifContent *parent;
|
|
66
|
+
|
|
67
|
+
/*! Internal data to be used by libexif itself */
|
|
68
|
+
ExifEntryPrivate *priv;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
/* Lifecycle */
|
|
72
|
+
|
|
73
|
+
/*! Reserve memory for and initialize a new #ExifEntry.
|
|
74
|
+
* No memory is allocated for the \c data element of the returned #ExifEntry.
|
|
75
|
+
*
|
|
76
|
+
* \return new allocated #ExifEntry, or NULL on error
|
|
77
|
+
*
|
|
78
|
+
* \see exif_entry_new_mem, exif_entry_unref
|
|
79
|
+
*/
|
|
80
|
+
ExifEntry *exif_entry_new (void);
|
|
81
|
+
|
|
82
|
+
/*! Reserve memory for and initialize new #ExifEntry using the specified
|
|
83
|
+
* memory allocator.
|
|
84
|
+
* No memory is allocated for the \c data element of the returned #ExifEntry.
|
|
85
|
+
*
|
|
86
|
+
* \return new allocated #ExifEntry, or NULL on error
|
|
87
|
+
*
|
|
88
|
+
* \see exif_entry_new, exif_entry_unref
|
|
89
|
+
*/
|
|
90
|
+
ExifEntry *exif_entry_new_mem (ExifMem *);
|
|
91
|
+
|
|
92
|
+
/*! Increase reference counter for #ExifEntry.
|
|
93
|
+
*
|
|
94
|
+
* \param[in] entry #ExifEntry
|
|
95
|
+
*
|
|
96
|
+
* \see exif_entry_unref
|
|
97
|
+
*/
|
|
98
|
+
void exif_entry_ref (ExifEntry *entry);
|
|
99
|
+
|
|
100
|
+
/*! Decrease reference counter for #ExifEntry.
|
|
101
|
+
* When the reference count drops to zero, free the entry.
|
|
102
|
+
*
|
|
103
|
+
* \param[in] entry #ExifEntry
|
|
104
|
+
*/
|
|
105
|
+
void exif_entry_unref (ExifEntry *entry);
|
|
106
|
+
|
|
107
|
+
/*! Actually free the #ExifEntry.
|
|
108
|
+
*
|
|
109
|
+
* \deprecated Should not be called directly. Use #exif_entry_ref and
|
|
110
|
+
* #exif_entry_unref instead.
|
|
111
|
+
*
|
|
112
|
+
* \param[in] entry EXIF entry
|
|
113
|
+
*/
|
|
114
|
+
void exif_entry_free (ExifEntry *entry);
|
|
115
|
+
|
|
116
|
+
/*! Initialize an empty #ExifEntry with default data in the correct format
|
|
117
|
+
* for the given tag. If the entry is already initialized, this function
|
|
118
|
+
* does nothing.
|
|
119
|
+
* This call allocates memory for the \c data element of the given #ExifEntry.
|
|
120
|
+
* That memory is freed at the same time as the #ExifEntry.
|
|
121
|
+
*
|
|
122
|
+
* \param[out] e entry to initialize
|
|
123
|
+
* \param[in] tag tag number to initialize as
|
|
124
|
+
*/
|
|
125
|
+
void exif_entry_initialize (ExifEntry *e, ExifTag tag);
|
|
126
|
+
|
|
127
|
+
/*! Fix the type or format of the given EXIF entry to bring it into spec.
|
|
128
|
+
* If the data for this EXIF tag is in of the wrong type or is in an invalid
|
|
129
|
+
* format according to the EXIF specification, then it is converted to make it
|
|
130
|
+
* valid. This may involve, for example, converting an EXIF_FORMAT_LONG into a
|
|
131
|
+
* EXIF_FORMAT_SHORT. If the tag is unknown, its value is untouched.
|
|
132
|
+
*
|
|
133
|
+
* \note Unfortunately, some conversions are to a type with a more restricted
|
|
134
|
+
* range, which could have the side effect that the converted data becomes
|
|
135
|
+
* invalid. This is unlikely as the range of each tag in the standard is
|
|
136
|
+
* designed to encompass all likely data.
|
|
137
|
+
*
|
|
138
|
+
* \param[in,out] entry EXIF entry
|
|
139
|
+
*/
|
|
140
|
+
void exif_entry_fix (ExifEntry *entry);
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
/* For your convenience */
|
|
144
|
+
|
|
145
|
+
/*! Return a localized textual representation of the value of the EXIF entry.
|
|
146
|
+
* This is meant for display to the user. The format of each tag is subject
|
|
147
|
+
* to change between locales and in newer versions of libexif. Users who
|
|
148
|
+
* require the tag data in an unambiguous form should access the data members
|
|
149
|
+
* of the #ExifEntry structure directly.
|
|
150
|
+
*
|
|
151
|
+
* \warning The character set of the returned string may be in
|
|
152
|
+
* the encoding of the current locale or the native encoding
|
|
153
|
+
* of the camera.
|
|
154
|
+
* \bug The EXIF_TAG_XP_* tags are currently always returned in UTF-8,
|
|
155
|
+
* regardless of locale, and code points above U+FFFF are not
|
|
156
|
+
* supported.
|
|
157
|
+
*
|
|
158
|
+
* \param[in] entry EXIF entry
|
|
159
|
+
* \param[out] val buffer in which to store value; if entry is valid and
|
|
160
|
+
* maxlen > 0 then this string will be NUL-terminated
|
|
161
|
+
* \param[in] maxlen length of the buffer val
|
|
162
|
+
* \return val pointer
|
|
163
|
+
*/
|
|
164
|
+
const char *exif_entry_get_value (ExifEntry *entry, char *val,
|
|
165
|
+
unsigned int maxlen);
|
|
166
|
+
|
|
167
|
+
/*! Dump text representation of #ExifEntry to stdout.
|
|
168
|
+
* This is intended for diagnostic purposes only.
|
|
169
|
+
*
|
|
170
|
+
* \param[in] entry EXIF tag data
|
|
171
|
+
* \param[in] indent how many levels deep to indent the data
|
|
172
|
+
*/
|
|
173
|
+
void exif_entry_dump (ExifEntry *entry, unsigned int indent);
|
|
174
|
+
|
|
175
|
+
/*! Return the IFD number of the given #ExifEntry
|
|
176
|
+
*
|
|
177
|
+
* \param[in] e an #ExifEntry*
|
|
178
|
+
* \return #ExifIfd, or #EXIF_IFD_COUNT on error
|
|
179
|
+
*/
|
|
180
|
+
#define exif_entry_get_ifd(e) ((e)?exif_content_get_ifd((e)->parent):EXIF_IFD_COUNT)
|
|
181
|
+
|
|
182
|
+
#ifdef __cplusplus
|
|
183
|
+
}
|
|
184
|
+
#endif /* __cplusplus */
|
|
185
|
+
|
|
186
|
+
#endif /* !defined(LIBEXIF_EXIF_ENTRY_H) */
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/*! \file exif-format.h
|
|
2
|
+
* \brief Handling native EXIF data types
|
|
3
|
+
*/
|
|
4
|
+
/*
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) 2001 Lutz Mueller <lutz@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 LIBEXIF_EXIF_FORMAT_H
|
|
25
|
+
#define LIBEXIF_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, or NULL if unknown
|
|
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 /* !defined(LIBEXIF_EXIF_FORMAT_H) */
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/* exif-ifd.h
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2002 Lutz Mueller <lutz@users.sourceforge.net>
|
|
4
|
+
*
|
|
5
|
+
* This library is free software; you can redistribute it and/or
|
|
6
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
7
|
+
* License as published by the Free Software Foundation; either
|
|
8
|
+
* version 2.1 of the License, or (at your option) any later version.
|
|
9
|
+
*
|
|
10
|
+
* This library is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
13
|
+
* Lesser General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
16
|
+
* License along with this library; if not, write to the
|
|
17
|
+
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
18
|
+
* Boston, MA 02110-1301 USA.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
#ifndef LIBEXIF_EXIF_IFD_H
|
|
22
|
+
#define LIBEXIF_EXIF_IFD_H
|
|
23
|
+
|
|
24
|
+
#ifdef __cplusplus
|
|
25
|
+
extern "C" {
|
|
26
|
+
#endif /* __cplusplus */
|
|
27
|
+
|
|
28
|
+
/*! Possible EXIF Image File Directories */
|
|
29
|
+
typedef enum {
|
|
30
|
+
EXIF_IFD_0 = 0, /*!< */
|
|
31
|
+
EXIF_IFD_1, /*!< */
|
|
32
|
+
EXIF_IFD_EXIF, /*!< */
|
|
33
|
+
EXIF_IFD_GPS, /*!< */
|
|
34
|
+
EXIF_IFD_INTEROPERABILITY, /*!< */
|
|
35
|
+
EXIF_IFD_COUNT /*!< Not a real value, just (max_value + 1). */
|
|
36
|
+
} ExifIfd;
|
|
37
|
+
|
|
38
|
+
/*! Return a textual name of the given IFD. The name is a short, unique,
|
|
39
|
+
* non-localized text string containing only US-ASCII alphanumeric
|
|
40
|
+
* characters.
|
|
41
|
+
*
|
|
42
|
+
* \param[in] ifd IFD
|
|
43
|
+
* \return textual name of the IFD, or NULL if unknown
|
|
44
|
+
*/
|
|
45
|
+
const char *exif_ifd_get_name (ExifIfd ifd);
|
|
46
|
+
|
|
47
|
+
#ifdef __cplusplus
|
|
48
|
+
}
|
|
49
|
+
#endif /* __cplusplus */
|
|
50
|
+
|
|
51
|
+
#endif /* !defined(LIBEXIF_EXIF_IFD_H) */
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/*! \file exif-loader.h
|
|
2
|
+
* \brief Defines the ExifLoader type
|
|
3
|
+
*/
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (c) 2003 Lutz Mueller <lutz@users.sourceforge.net>
|
|
6
|
+
*
|
|
7
|
+
* This library is free software; you can redistribute it and/or
|
|
8
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
9
|
+
* License as published by the Free Software Foundation; either
|
|
10
|
+
* version 2 of the License, or (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* This library is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
15
|
+
* Lesser General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
18
|
+
* License along with this library; if not, write to the
|
|
19
|
+
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
20
|
+
* Boston, MA 02110-1301 USA.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
#ifndef LIBEXIF_EXIF_LOADER_H
|
|
24
|
+
#define LIBEXIF_EXIF_LOADER_H
|
|
25
|
+
|
|
26
|
+
#include <libexif/exif-data.h>
|
|
27
|
+
#include <libexif/exif-log.h>
|
|
28
|
+
#include <libexif/exif-mem.h>
|
|
29
|
+
|
|
30
|
+
#ifdef __cplusplus
|
|
31
|
+
extern "C" {
|
|
32
|
+
#endif /* __cplusplus */
|
|
33
|
+
|
|
34
|
+
/*! Data used by the loader interface */
|
|
35
|
+
typedef struct _ExifLoader ExifLoader;
|
|
36
|
+
|
|
37
|
+
/*! Allocate a new #ExifLoader.
|
|
38
|
+
*
|
|
39
|
+
* \return allocated ExifLoader
|
|
40
|
+
*/
|
|
41
|
+
ExifLoader *exif_loader_new (void);
|
|
42
|
+
|
|
43
|
+
/*! Allocate a new #ExifLoader using the specified memory allocator.
|
|
44
|
+
*
|
|
45
|
+
* \param[in] mem the ExifMem
|
|
46
|
+
* \return allocated ExifLoader
|
|
47
|
+
*/
|
|
48
|
+
ExifLoader *exif_loader_new_mem (ExifMem *mem);
|
|
49
|
+
|
|
50
|
+
/*! Increase the refcount of the #ExifLoader.
|
|
51
|
+
*
|
|
52
|
+
* \param[in] loader the ExifLoader to increase the refcount of.
|
|
53
|
+
*/
|
|
54
|
+
void exif_loader_ref (ExifLoader *loader);
|
|
55
|
+
|
|
56
|
+
/*! Decrease the refcount of the #ExifLoader.
|
|
57
|
+
* If the refcount reaches 0, the loader is freed.
|
|
58
|
+
*
|
|
59
|
+
* \param[in] loader ExifLoader for which to decrease the refcount
|
|
60
|
+
*/
|
|
61
|
+
void exif_loader_unref (ExifLoader *loader);
|
|
62
|
+
|
|
63
|
+
/*! Load a file into the given #ExifLoader from the filesystem.
|
|
64
|
+
* The relevant data is copied in raw form into the #ExifLoader.
|
|
65
|
+
*
|
|
66
|
+
* \param[in] loader loader to write to
|
|
67
|
+
* \param[in] fname path to the file to read
|
|
68
|
+
*/
|
|
69
|
+
void exif_loader_write_file (ExifLoader *loader, const char *fname);
|
|
70
|
+
|
|
71
|
+
/*! Load a buffer into the #ExifLoader from a memory buffer.
|
|
72
|
+
* The relevant data is copied in raw form into the #ExifLoader.
|
|
73
|
+
*
|
|
74
|
+
* \param[in] loader loader to write to
|
|
75
|
+
* \param[in] buf buffer to read from
|
|
76
|
+
* \param[in] sz size of the buffer
|
|
77
|
+
* \return 1 while EXIF data is read (or while there is still hope that
|
|
78
|
+
* there will be EXIF data later on), 0 otherwise.
|
|
79
|
+
*/
|
|
80
|
+
unsigned char exif_loader_write (ExifLoader *loader, unsigned char *buf, unsigned int sz);
|
|
81
|
+
|
|
82
|
+
/*! Free any data previously loaded and reset the #ExifLoader to its
|
|
83
|
+
* newly-initialized state.
|
|
84
|
+
*
|
|
85
|
+
* \param[in] loader the loader
|
|
86
|
+
*/
|
|
87
|
+
void exif_loader_reset (ExifLoader *loader);
|
|
88
|
+
|
|
89
|
+
/*! Create an #ExifData from the data in the loader. The loader must
|
|
90
|
+
* already contain data from a previous call to #exif_loader_write_file
|
|
91
|
+
* or #exif_loader_write.
|
|
92
|
+
*
|
|
93
|
+
* \note The #ExifData returned is created using its default options, which
|
|
94
|
+
* may take effect before the data is returned. If other options are desired,
|
|
95
|
+
* an #ExifData must be created explicitly and data extracted from the loader
|
|
96
|
+
* using #exif_loader_get_buf instead.
|
|
97
|
+
*
|
|
98
|
+
* \param[in] loader the loader
|
|
99
|
+
* \return allocated ExifData
|
|
100
|
+
*
|
|
101
|
+
* \see exif_loader_get_buf
|
|
102
|
+
*/
|
|
103
|
+
ExifData *exif_loader_get_data (ExifLoader *loader);
|
|
104
|
+
|
|
105
|
+
/*! Return the raw data read by the loader. The returned pointer is only
|
|
106
|
+
* guaranteed to be valid until the next call to a function modifying
|
|
107
|
+
* this #ExifLoader. Either or both of buf and buf_size may be NULL on
|
|
108
|
+
* entry, in which case that value is not returned.
|
|
109
|
+
*
|
|
110
|
+
* \param[in] loader the loader
|
|
111
|
+
* \param[out] buf read-only pointer to the data read by the loader, or NULL
|
|
112
|
+
* in case of error
|
|
113
|
+
* \param[out] buf_size size of the data at buf, or 0 in case of error
|
|
114
|
+
*/
|
|
115
|
+
void exif_loader_get_buf (ExifLoader *loader, const unsigned char **buf,
|
|
116
|
+
unsigned int *buf_size);
|
|
117
|
+
|
|
118
|
+
/*! Set the log message object used by this #ExifLoader.
|
|
119
|
+
* \param[in] loader the loader
|
|
120
|
+
* \param[in] log #ExifLog
|
|
121
|
+
*/
|
|
122
|
+
void exif_loader_log (ExifLoader *loader, ExifLog *log);
|
|
123
|
+
|
|
124
|
+
#ifdef __cplusplus
|
|
125
|
+
}
|
|
126
|
+
#endif /* __cplusplus */
|
|
127
|
+
|
|
128
|
+
#endif /* !defined(LIBEXIF_EXIF_LOADER_H) */
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/*! \file exif-log.h
|
|
2
|
+
* \brief Log message infrastructure
|
|
3
|
+
*/
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (c) 2004 Lutz Mueller <lutz@users.sourceforge.net>
|
|
6
|
+
*
|
|
7
|
+
* This library is free software; you can redistribute it and/or
|
|
8
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
9
|
+
* License as published by the Free Software Foundation; either
|
|
10
|
+
* version 2 of the License, or (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* This library is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
15
|
+
* Lesser General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
18
|
+
* License along with this library; if not, write to the
|
|
19
|
+
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
20
|
+
* Boston, MA 02110-1301 USA.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
#ifndef LIBEXIF_EXIF_LOG_H
|
|
24
|
+
#define LIBEXIF_EXIF_LOG_H
|
|
25
|
+
|
|
26
|
+
#ifdef __cplusplus
|
|
27
|
+
extern "C" {
|
|
28
|
+
#endif /* __cplusplus */
|
|
29
|
+
|
|
30
|
+
#include <libexif/exif-mem.h>
|
|
31
|
+
#include <stdarg.h>
|
|
32
|
+
|
|
33
|
+
/*! State maintained by the logging interface */
|
|
34
|
+
typedef struct _ExifLog ExifLog;
|
|
35
|
+
|
|
36
|
+
/*! Create a new logging instance.
|
|
37
|
+
* \see exif_log_free
|
|
38
|
+
*
|
|
39
|
+
* \return new instance of #ExifLog
|
|
40
|
+
*/
|
|
41
|
+
ExifLog *exif_log_new (void);
|
|
42
|
+
ExifLog *exif_log_new_mem (ExifMem *);
|
|
43
|
+
void exif_log_ref (ExifLog *log);
|
|
44
|
+
void exif_log_unref (ExifLog *log);
|
|
45
|
+
|
|
46
|
+
/*! Delete instance of #ExifLog.
|
|
47
|
+
* \see exif_log_new
|
|
48
|
+
*
|
|
49
|
+
* \param[in] log #ExifLog
|
|
50
|
+
* \return new instance of #ExifLog
|
|
51
|
+
*/
|
|
52
|
+
void exif_log_free (ExifLog *log);
|
|
53
|
+
|
|
54
|
+
typedef enum {
|
|
55
|
+
EXIF_LOG_CODE_NONE,
|
|
56
|
+
EXIF_LOG_CODE_DEBUG,
|
|
57
|
+
EXIF_LOG_CODE_NO_MEMORY,
|
|
58
|
+
EXIF_LOG_CODE_CORRUPT_DATA
|
|
59
|
+
} ExifLogCode;
|
|
60
|
+
|
|
61
|
+
/*! Return a textual description of the given class of error log.
|
|
62
|
+
*
|
|
63
|
+
* \param[in] code logging message class
|
|
64
|
+
* \return textual description of the log class, or NULL if unknown
|
|
65
|
+
*/
|
|
66
|
+
const char *exif_log_code_get_title (ExifLogCode code);
|
|
67
|
+
|
|
68
|
+
/*! Return a verbose description of the given class of error log.
|
|
69
|
+
*
|
|
70
|
+
* \param[in] code logging message class
|
|
71
|
+
* \return verbose description of the log class, or NULL if unknown
|
|
72
|
+
*/
|
|
73
|
+
const char *exif_log_code_get_message (ExifLogCode code);
|
|
74
|
+
|
|
75
|
+
/*! Log callback function prototype.
|
|
76
|
+
*/
|
|
77
|
+
typedef void (* ExifLogFunc) (ExifLog *log, ExifLogCode, const char *domain,
|
|
78
|
+
const char *format, va_list args, void *data);
|
|
79
|
+
|
|
80
|
+
/*! Register log callback function.
|
|
81
|
+
* Calls to the log callback function are purely for diagnostic purposes.
|
|
82
|
+
*
|
|
83
|
+
* \param[in] log logging state variable
|
|
84
|
+
* \param[in] func callback function to set
|
|
85
|
+
* \param[in] data data to pass into callback function
|
|
86
|
+
*/
|
|
87
|
+
void exif_log_set_func (ExifLog *log, ExifLogFunc func, void *data);
|
|
88
|
+
|
|
89
|
+
#ifndef NO_VERBOSE_TAG_STRINGS
|
|
90
|
+
void exif_log (ExifLog *log, ExifLogCode, const char *domain,
|
|
91
|
+
const char *format, ...)
|
|
92
|
+
#ifdef __GNUC__
|
|
93
|
+
__attribute__((__format__(printf,4,5)))
|
|
94
|
+
#endif
|
|
95
|
+
;
|
|
96
|
+
#else
|
|
97
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
|
98
|
+
#define exif_log(...) do { } while (0)
|
|
99
|
+
#elif defined(__GNUC__)
|
|
100
|
+
#define exif_log(x...) do { } while (0)
|
|
101
|
+
#else
|
|
102
|
+
#define exif_log (void)
|
|
103
|
+
#endif
|
|
104
|
+
#endif
|
|
105
|
+
|
|
106
|
+
void exif_logv (ExifLog *log, ExifLogCode, const char *domain,
|
|
107
|
+
const char *format, va_list args);
|
|
108
|
+
|
|
109
|
+
/* For your convenience */
|
|
110
|
+
#define EXIF_LOG_NO_MEMORY(l,d,s) exif_log ((l), EXIF_LOG_CODE_NO_MEMORY, (d), "Could not allocate %lu byte(s).", (unsigned long)(s))
|
|
111
|
+
|
|
112
|
+
#ifdef __cplusplus
|
|
113
|
+
}
|
|
114
|
+
#endif /* __cplusplus */
|
|
115
|
+
|
|
116
|
+
#endif /* !defined(LIBEXIF_EXIF_LOG_H) */
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/*! \file exif-mem.h
|
|
2
|
+
* \brief Define the ExifMem data type and the associated functions.
|
|
3
|
+
* ExifMem defines the memory management functions used within libexif.
|
|
4
|
+
*/
|
|
5
|
+
/* exif-mem.h
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2003 Lutz Mueller <lutz@users.sourceforge.net>
|
|
8
|
+
*
|
|
9
|
+
* This library is free software; you can redistribute it and/or
|
|
10
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
11
|
+
* License as published by the Free Software Foundation; either
|
|
12
|
+
* version 2 of the License, or (at your option) any later version.
|
|
13
|
+
*
|
|
14
|
+
* This library is distributed in the hope that it will be useful,
|
|
15
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
16
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
17
|
+
* Lesser General Public License for more details.
|
|
18
|
+
*
|
|
19
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
20
|
+
* License along with this library; if not, write to the
|
|
21
|
+
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
22
|
+
* Boston, MA 02110-1301 USA.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
#ifndef LIBEXIF_EXIF_MEM_H
|
|
26
|
+
#define LIBEXIF_EXIF_MEM_H
|
|
27
|
+
|
|
28
|
+
#include <libexif/exif-utils.h>
|
|
29
|
+
|
|
30
|
+
#ifdef __cplusplus
|
|
31
|
+
extern "C" {
|
|
32
|
+
#endif /* __cplusplus */
|
|
33
|
+
|
|
34
|
+
/*! Should work like calloc()
|
|
35
|
+
*
|
|
36
|
+
* \param[in] s the size of the block to allocate.
|
|
37
|
+
* \return the allocated memory and initialized.
|
|
38
|
+
*/
|
|
39
|
+
typedef void * (* ExifMemAllocFunc) (ExifLong s);
|
|
40
|
+
|
|
41
|
+
/*! Should work like realloc()
|
|
42
|
+
*
|
|
43
|
+
* \param[in] p the pointer to reallocate
|
|
44
|
+
* \param[in] s the size of the reallocated block
|
|
45
|
+
* \return allocated memory
|
|
46
|
+
*/
|
|
47
|
+
typedef void * (* ExifMemReallocFunc) (void *p, ExifLong s);
|
|
48
|
+
|
|
49
|
+
/*! Free method for ExifMem
|
|
50
|
+
*
|
|
51
|
+
* \param[in] p the pointer to free
|
|
52
|
+
* \return the freed pointer
|
|
53
|
+
*/
|
|
54
|
+
typedef void (* ExifMemFreeFunc) (void *p);
|
|
55
|
+
|
|
56
|
+
/*! ExifMem define a memory allocator */
|
|
57
|
+
typedef struct _ExifMem ExifMem;
|
|
58
|
+
|
|
59
|
+
/*! Create a new ExifMem
|
|
60
|
+
*
|
|
61
|
+
* \param[in] a the allocator function
|
|
62
|
+
* \param[in] r the reallocator function
|
|
63
|
+
* \param[in] f the free function
|
|
64
|
+
* \return allocated #ExifMem, or NULL on error
|
|
65
|
+
*/
|
|
66
|
+
ExifMem *exif_mem_new (ExifMemAllocFunc a, ExifMemReallocFunc r,
|
|
67
|
+
ExifMemFreeFunc f);
|
|
68
|
+
/*! Refcount an ExifMem
|
|
69
|
+
*/
|
|
70
|
+
void exif_mem_ref (ExifMem *);
|
|
71
|
+
|
|
72
|
+
/*! Unrefcount an ExifMem.
|
|
73
|
+
* If the refcount reaches 0, the ExifMem is freed
|
|
74
|
+
*/
|
|
75
|
+
void exif_mem_unref (ExifMem *);
|
|
76
|
+
|
|
77
|
+
void *exif_mem_alloc (ExifMem *m, ExifLong s);
|
|
78
|
+
void *exif_mem_realloc (ExifMem *m, void *p, ExifLong s);
|
|
79
|
+
void exif_mem_free (ExifMem *m, void *p);
|
|
80
|
+
|
|
81
|
+
/*! Create a new ExifMem with default values for your convenience
|
|
82
|
+
*
|
|
83
|
+
* \return return a new default ExifMem
|
|
84
|
+
*/
|
|
85
|
+
ExifMem *exif_mem_new_default (void);
|
|
86
|
+
|
|
87
|
+
#ifdef __cplusplus
|
|
88
|
+
}
|
|
89
|
+
#endif /* __cplusplus */
|
|
90
|
+
|
|
91
|
+
#endif /* !defined(LIBEXIF_EXIF_MEM_H) */
|