From 70b421c169ace3b23e805fb866f62b8c30d289e8 Mon Sep 17 00:00:00 2001 From: Nicolas MARTEAU Date: Thu, 1 Aug 2024 11:29:25 +0200 Subject: [PATCH] ci: update build.yml to run on macos --- .github/workflows/build.yml | 34 +- vcpkg/installed/x64-osx/include/ffi.h | 518 +++ vcpkg/installed/x64-osx/include/ffitarget.h | 164 + .../gdk-pixbuf/gdk-pixbuf-animation.h | 221 ++ .../gdk-pixbuf/gdk-pixbuf-autocleanups.h | 37 + .../gdk-pixbuf/gdk-pixbuf-core.h | 525 +++ .../gdk-pixbuf/gdk-pixbuf-enum-types.h | 40 + .../gdk-pixbuf/gdk-pixbuf-features.h | 115 + .../gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h | 481 +++ .../gdk-pixbuf/gdk-pixbuf-loader.h | 113 + .../gdk-pixbuf/gdk-pixbuf-macros.h | 718 ++++ .../gdk-pixbuf/gdk-pixbuf-marshal.h | 33 + .../gdk-pixbuf/gdk-pixbuf-simple-anim.h | 70 + .../gdk-pixbuf/gdk-pixbuf-transform.h | 168 + .../gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h | 46 + .../gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h | 165 + .../gio-unix-2.0/gio/gfiledescriptorbased.h | 67 + .../include/gio-unix-2.0/gio/gunixfdmessage.h | 86 + .../gio-unix-2.0/gio/gunixinputstream.h | 85 + .../include/gio-unix-2.0/gio/gunixmounts.h | 172 + .../gio-unix-2.0/gio/gunixoutputstream.h | 84 + .../x64-osx/include/glib-2.0/gio/gaction.h | 100 + .../include/glib-2.0/gio/gactiongroup.h | 163 + .../glib-2.0/gio/gactiongroupexporter.h | 47 + .../x64-osx/include/glib-2.0/gio/gactionmap.h | 101 + .../x64-osx/include/glib-2.0/gio/gappinfo.h | 369 ++ .../include/glib-2.0/gio/gapplication.h | 257 ++ .../glib-2.0/gio/gapplicationcommandline.h | 124 + .../include/glib-2.0/gio/gasyncinitable.h | 132 + .../include/glib-2.0/gio/gasyncresult.h | 87 + .../glib-2.0/gio/gbufferedinputstream.h | 135 + .../glib-2.0/gio/gbufferedoutputstream.h | 88 + .../x64-osx/include/glib-2.0/gio/gbytesicon.h | 54 + .../include/glib-2.0/gio/gcancellable.h | 120 + .../include/glib-2.0/gio/gcharsetconverter.h | 65 + .../include/glib-2.0/gio/gcontenttype.h | 84 + .../x64-osx/include/glib-2.0/gio/gconverter.h | 98 + .../glib-2.0/gio/gconverterinputstream.h | 82 + .../glib-2.0/gio/gconverteroutputstream.h | 82 + .../include/glib-2.0/gio/gcredentials.h | 87 + .../include/glib-2.0/gio/gdatagrambased.h | 146 + .../include/glib-2.0/gio/gdatainputstream.h | 182 + .../include/glib-2.0/gio/gdataoutputstream.h | 127 + .../include/glib-2.0/gio/gdbusactiongroup.h | 56 + .../include/glib-2.0/gio/gdbusaddress.h | 67 + .../include/glib-2.0/gio/gdbusauthobserver.h | 53 + .../include/glib-2.0/gio/gdbusconnection.h | 691 ++++ .../x64-osx/include/glib-2.0/gio/gdbuserror.h | 111 + .../include/glib-2.0/gio/gdbusinterface.h | 83 + .../glib-2.0/gio/gdbusinterfaceskeleton.h | 129 + .../include/glib-2.0/gio/gdbusintrospection.h | 327 ++ .../include/glib-2.0/gio/gdbusmenumodel.h | 47 + .../include/glib-2.0/gio/gdbusmessage.h | 204 ++ .../glib-2.0/gio/gdbusmethodinvocation.h | 136 + .../include/glib-2.0/gio/gdbusnameowning.h | 117 + .../include/glib-2.0/gio/gdbusnamewatching.h | 104 + .../include/glib-2.0/gio/gdbusobject.h | 80 + .../include/glib-2.0/gio/gdbusobjectmanager.h | 96 + .../glib-2.0/gio/gdbusobjectmanagerclient.h | 148 + .../glib-2.0/gio/gdbusobjectmanagerserver.h | 95 + .../include/glib-2.0/gio/gdbusobjectproxy.h | 81 + .../glib-2.0/gio/gdbusobjectskeleton.h | 98 + .../x64-osx/include/glib-2.0/gio/gdbusproxy.h | 220 ++ .../include/glib-2.0/gio/gdbusserver.h | 62 + .../x64-osx/include/glib-2.0/gio/gdbusutils.h | 65 + .../include/glib-2.0/gio/gdebugcontroller.h | 81 + .../glib-2.0/gio/gdebugcontrollerdbus.h | 71 + .../x64-osx/include/glib-2.0/gio/gdrive.h | 274 ++ .../glib-2.0/gio/gdtlsclientconnection.h | 77 + .../include/glib-2.0/gio/gdtlsconnection.h | 230 ++ .../glib-2.0/gio/gdtlsserverconnection.h | 71 + .../x64-osx/include/glib-2.0/gio/gemblem.h | 63 + .../include/glib-2.0/gio/gemblemedicon.h | 83 + .../x64-osx/include/glib-2.0/gio/gfile.h | 1359 +++++++ .../include/glib-2.0/gio/gfileattribute.h | 86 + .../include/glib-2.0/gio/gfileenumerator.h | 154 + .../x64-osx/include/glib-2.0/gio/gfileicon.h | 59 + .../x64-osx/include/glib-2.0/gio/gfileinfo.h | 1546 ++++++++ .../include/glib-2.0/gio/gfileinputstream.h | 116 + .../include/glib-2.0/gio/gfileiostream.h | 123 + .../include/glib-2.0/gio/gfilemonitor.h | 100 + .../include/glib-2.0/gio/gfilenamecompleter.h | 81 + .../include/glib-2.0/gio/gfileoutputstream.h | 124 + .../include/glib-2.0/gio/gfilterinputstream.h | 80 + .../glib-2.0/gio/gfilteroutputstream.h | 80 + .../x64-osx/include/glib-2.0/gio/gicon.h | 133 + .../include/glib-2.0/gio/ginetaddress.h | 125 + .../include/glib-2.0/gio/ginetaddressmask.h | 86 + .../include/glib-2.0/gio/ginetsocketaddress.h | 80 + .../x64-osx/include/glib-2.0/gio/ginitable.h | 107 + .../include/glib-2.0/gio/ginputstream.h | 218 ++ .../include/glib-2.0/gio/gio-autocleanups.h | 155 + .../include/glib-2.0/gio/gio-visibility.h | 952 +++++ .../x64-osx/include/glib-2.0/gio/gio.h | 186 + .../x64-osx/include/glib-2.0/gio/gioenums.h | 2149 +++++++++++ .../include/glib-2.0/gio/gioenumtypes.h | 207 ++ .../x64-osx/include/glib-2.0/gio/gioerror.h | 58 + .../x64-osx/include/glib-2.0/gio/giomodule.h | 199 + .../include/glib-2.0/gio/gioscheduler.h | 56 + .../x64-osx/include/glib-2.0/gio/giostream.h | 137 + .../x64-osx/include/glib-2.0/gio/giotypes.h | 660 ++++ .../x64-osx/include/glib-2.0/gio/glistmodel.h | 74 + .../x64-osx/include/glib-2.0/gio/gliststore.h | 97 + .../include/glib-2.0/gio/gloadableicon.h | 101 + .../include/glib-2.0/gio/gmemoryinputstream.h | 92 + .../include/glib-2.0/gio/gmemorymonitor.h | 64 + .../glib-2.0/gio/gmemoryoutputstream.h | 109 + .../x64-osx/include/glib-2.0/gio/gmenu.h | 184 + .../include/glib-2.0/gio/gmenuexporter.h | 55 + .../x64-osx/include/glib-2.0/gio/gmenumodel.h | 307 ++ .../x64-osx/include/glib-2.0/gio/gmount.h | 278 ++ .../include/glib-2.0/gio/gmountoperation.h | 179 + .../glib-2.0/gio/gnativesocketaddress.h | 67 + .../glib-2.0/gio/gnativevolumemonitor.h | 63 + .../include/glib-2.0/gio/gnetworkaddress.h | 82 + .../include/glib-2.0/gio/gnetworking.h | 81 + .../include/glib-2.0/gio/gnetworkmonitor.h | 101 + .../include/glib-2.0/gio/gnetworkservice.h | 77 + .../include/glib-2.0/gio/gnotification.h | 103 + .../include/glib-2.0/gio/gosxappinfo.h | 56 + .../include/glib-2.0/gio/goutputstream.h | 334 ++ .../include/glib-2.0/gio/gpermission.h | 129 + .../glib-2.0/gio/gpollableinputstream.h | 106 + .../glib-2.0/gio/gpollableoutputstream.h | 127 + .../include/glib-2.0/gio/gpollableutils.h | 66 + .../glib-2.0/gio/gpowerprofilemonitor.h | 65 + .../include/glib-2.0/gio/gpropertyaction.h | 49 + .../x64-osx/include/glib-2.0/gio/gproxy.h | 130 + .../include/glib-2.0/gio/gproxyaddress.h | 88 + .../glib-2.0/gio/gproxyaddressenumerator.h | 83 + .../include/glib-2.0/gio/gproxyresolver.h | 97 + .../include/glib-2.0/gio/gremoteactiongroup.h | 77 + .../x64-osx/include/glib-2.0/gio/gresolver.h | 299 ++ .../x64-osx/include/glib-2.0/gio/gresource.h | 132 + .../x64-osx/include/glib-2.0/gio/gseekable.h | 105 + .../x64-osx/include/glib-2.0/gio/gsettings.h | 347 ++ .../include/glib-2.0/gio/gsettingsbackend.h | 176 + .../include/glib-2.0/gio/gsettingsschema.h | 115 + .../include/glib-2.0/gio/gsimpleaction.h | 65 + .../include/glib-2.0/gio/gsimpleactiongroup.h | 99 + .../include/glib-2.0/gio/gsimpleasyncresult.h | 164 + .../include/glib-2.0/gio/gsimpleiostream.h | 47 + .../include/glib-2.0/gio/gsimplepermission.h | 47 + .../glib-2.0/gio/gsimpleproxyresolver.h | 91 + .../x64-osx/include/glib-2.0/gio/gsocket.h | 330 ++ .../include/glib-2.0/gio/gsocketaddress.h | 84 + .../glib-2.0/gio/gsocketaddressenumerator.h | 103 + .../include/glib-2.0/gio/gsocketclient.h | 199 + .../include/glib-2.0/gio/gsocketconnectable.h | 83 + .../include/glib-2.0/gio/gsocketconnection.h | 117 + .../glib-2.0/gio/gsocketcontrolmessage.h | 113 + .../include/glib-2.0/gio/gsocketlistener.h | 157 + .../include/glib-2.0/gio/gsocketservice.h | 95 + .../x64-osx/include/glib-2.0/gio/gsrvtarget.h | 60 + .../include/glib-2.0/gio/gsubprocess.h | 169 + .../glib-2.0/gio/gsubprocesslauncher.h | 121 + .../x64-osx/include/glib-2.0/gio/gtask.h | 207 ++ .../include/glib-2.0/gio/gtcpconnection.h | 71 + .../glib-2.0/gio/gtcpwrapperconnection.h | 71 + .../x64-osx/include/glib-2.0/gio/gtestdbus.h | 74 + .../include/glib-2.0/gio/gthemedicon.h | 70 + .../glib-2.0/gio/gthreadedsocketservice.h | 83 + .../include/glib-2.0/gio/gtlsbackend.h | 115 + .../include/glib-2.0/gio/gtlscertificate.h | 125 + .../glib-2.0/gio/gtlsclientconnection.h | 88 + .../include/glib-2.0/gio/gtlsconnection.h | 214 ++ .../include/glib-2.0/gio/gtlsdatabase.h | 249 ++ .../include/glib-2.0/gio/gtlsfiledatabase.h | 60 + .../include/glib-2.0/gio/gtlsinteraction.h | 150 + .../include/glib-2.0/gio/gtlspassword.h | 121 + .../glib-2.0/gio/gtlsserverconnection.h | 71 + .../include/glib-2.0/gio/gunixconnection.h | 102 + .../glib-2.0/gio/gunixcredentialsmessage.h | 89 + .../include/glib-2.0/gio/gunixfdlist.h | 97 + .../include/glib-2.0/gio/gunixsocketaddress.h | 83 + .../x64-osx/include/glib-2.0/gio/gvfs.h | 170 + .../x64-osx/include/glib-2.0/gio/gvolume.h | 255 ++ .../include/glib-2.0/gio/gvolumemonitor.h | 156 + .../include/glib-2.0/gio/gzlibcompressor.h | 64 + .../include/glib-2.0/gio/gzlibdecompressor.h | 60 + .../x64-osx/include/glib-2.0/glib-object.h | 46 + .../x64-osx/include/glib-2.0/glib-unix.h | 125 + .../installed/x64-osx/include/glib-2.0/glib.h | 122 + .../glib-2.0/glib/deprecated/gallocator.h | 88 + .../include/glib-2.0/glib/deprecated/gcache.h | 77 + .../glib-2.0/glib/deprecated/gcompletion.h | 85 + .../include/glib-2.0/glib/deprecated/gmain.h | 137 + .../include/glib-2.0/glib/deprecated/grel.h | 107 + .../glib-2.0/glib/deprecated/gthread.h | 295 ++ .../x64-osx/include/glib-2.0/glib/galloca.h | 147 + .../x64-osx/include/glib-2.0/glib/garray.h | 323 ++ .../include/glib-2.0/glib/gasyncqueue.h | 126 + .../x64-osx/include/glib-2.0/glib/gatomic.h | 587 +++ .../include/glib-2.0/glib/gbacktrace.h | 74 + .../x64-osx/include/glib-2.0/glib/gbase64.h | 63 + .../x64-osx/include/glib-2.0/glib/gbitlock.h | 78 + .../include/glib-2.0/glib/gbookmarkfile.h | 300 ++ .../x64-osx/include/glib-2.0/glib/gbytes.h | 99 + .../x64-osx/include/glib-2.0/glib/gcharset.h | 49 + .../x64-osx/include/glib-2.0/glib/gchecksum.h | 106 + .../x64-osx/include/glib-2.0/glib/gconvert.h | 179 + .../x64-osx/include/glib-2.0/glib/gdataset.h | 156 + .../x64-osx/include/glib-2.0/glib/gdate.h | 309 ++ .../x64-osx/include/glib-2.0/glib/gdatetime.h | 275 ++ .../x64-osx/include/glib-2.0/glib/gdir.h | 54 + .../x64-osx/include/glib-2.0/glib/genviron.h | 65 + .../x64-osx/include/glib-2.0/glib/gerror.h | 263 ++ .../include/glib-2.0/glib/gfileutils.h | 223 ++ .../x64-osx/include/glib-2.0/glib/ggettext.h | 65 + .../x64-osx/include/glib-2.0/glib/ghash.h | 206 ++ .../x64-osx/include/glib-2.0/glib/ghmac.h | 85 + .../x64-osx/include/glib-2.0/glib/ghook.h | 204 ++ .../include/glib-2.0/glib/ghostutils.h | 45 + .../x64-osx/include/glib-2.0/glib/gi18n-lib.h | 38 + .../x64-osx/include/glib-2.0/glib/gi18n.h | 34 + .../include/glib-2.0/glib/giochannel.h | 407 +++ .../x64-osx/include/glib-2.0/glib/gkeyfile.h | 332 ++ .../include/glib-2.0/glib/glib-autocleanups.h | 107 + .../include/glib-2.0/glib/glib-typeof.h | 47 + .../include/glib-2.0/glib/glib-visibility.h | 952 +++++ .../x64-osx/include/glib-2.0/glib/glist.h | 179 + .../x64-osx/include/glib-2.0/glib/gmacros.h | 1425 ++++++++ .../x64-osx/include/glib-2.0/glib/gmain.h | 862 +++++ .../include/glib-2.0/glib/gmappedfile.h | 60 + .../x64-osx/include/glib-2.0/glib/gmarkup.h | 265 ++ .../x64-osx/include/glib-2.0/glib/gmem.h | 425 +++ .../x64-osx/include/glib-2.0/glib/gmessages.h | 690 ++++ .../x64-osx/include/glib-2.0/glib/gnode.h | 309 ++ .../x64-osx/include/glib-2.0/glib/goption.h | 409 +++ .../x64-osx/include/glib-2.0/glib/gpathbuf.h | 90 + .../x64-osx/include/glib-2.0/glib/gpattern.h | 65 + .../x64-osx/include/glib-2.0/glib/gpoll.h | 122 + .../x64-osx/include/glib-2.0/glib/gprimes.h | 52 + .../x64-osx/include/glib-2.0/glib/gprintf.h | 59 + .../x64-osx/include/glib-2.0/glib/gqsort.h | 47 + .../x64-osx/include/glib-2.0/glib/gquark.h | 70 + .../x64-osx/include/glib-2.0/glib/gqueue.h | 205 ++ .../x64-osx/include/glib-2.0/glib/grand.h | 101 + .../x64-osx/include/glib-2.0/glib/grcbox.h | 91 + .../x64-osx/include/glib-2.0/glib/grefcount.h | 179 + .../include/glib-2.0/glib/grefstring.h | 59 + .../x64-osx/include/glib-2.0/glib/gregex.h | 620 ++++ .../x64-osx/include/glib-2.0/glib/gscanner.h | 301 ++ .../x64-osx/include/glib-2.0/glib/gsequence.h | 175 + .../x64-osx/include/glib-2.0/glib/gshell.h | 59 + .../x64-osx/include/glib-2.0/glib/gslice.h | 117 + .../x64-osx/include/glib-2.0/glib/gslist.h | 166 + .../x64-osx/include/glib-2.0/glib/gspawn.h | 323 ++ .../x64-osx/include/glib-2.0/glib/gstdio.h | 231 ++ .../x64-osx/include/glib-2.0/glib/gstrfuncs.h | 504 +++ .../x64-osx/include/glib-2.0/glib/gstring.h | 296 ++ .../include/glib-2.0/glib/gstringchunk.h | 59 + .../include/glib-2.0/glib/gstrvbuilder.h | 69 + .../include/glib-2.0/glib/gtestutils.h | 763 ++++ .../x64-osx/include/glib-2.0/glib/gthread.h | 603 +++ .../include/glib-2.0/glib/gthreadpool.h | 105 + .../x64-osx/include/glib-2.0/glib/gtimer.h | 80 + .../x64-osx/include/glib-2.0/glib/gtimezone.h | 98 + .../include/glib-2.0/glib/gtrashstack.h | 60 + .../x64-osx/include/glib-2.0/glib/gtree.h | 181 + .../x64-osx/include/glib-2.0/glib/gtypes.h | 591 +++ .../x64-osx/include/glib-2.0/glib/gunicode.h | 974 +++++ .../x64-osx/include/glib-2.0/glib/guri.h | 420 +++ .../x64-osx/include/glib-2.0/glib/gutils.h | 479 +++ .../x64-osx/include/glib-2.0/glib/guuid.h | 42 + .../x64-osx/include/glib-2.0/glib/gvariant.h | 541 +++ .../include/glib-2.0/glib/gvarianttype.h | 384 ++ .../x64-osx/include/glib-2.0/glib/gversion.h | 57 + .../include/glib-2.0/glib/gversionmacros.h | 490 +++ .../x64-osx/include/glib-2.0/glib/gwin32.h | 142 + .../x64-osx/include/glib-2.0/gmodule.h | 147 + .../glib-2.0/gmodule/gmodule-visibility.h | 952 +++++ .../include/glib-2.0/gobject/gbinding.h | 156 + .../include/glib-2.0/gobject/gbindinggroup.h | 85 + .../x64-osx/include/glib-2.0/gobject/gboxed.h | 124 + .../include/glib-2.0/gobject/gclosure.h | 323 ++ .../x64-osx/include/glib-2.0/gobject/genums.h | 381 ++ .../include/glib-2.0/gobject/glib-enumtypes.h | 25 + .../include/glib-2.0/gobject/glib-types.h | 409 +++ .../include/glib-2.0/gobject/gmarshal.h | 434 +++ .../glib-2.0/gobject/gobject-autocleanups.h | 33 + .../glib-2.0/gobject/gobject-visibility.h | 952 +++++ .../include/glib-2.0/gobject/gobject.h | 953 +++++ .../glib-2.0/gobject/gobjectnotifyqueue.c | 199 + .../x64-osx/include/glib-2.0/gobject/gparam.h | 476 +++ .../include/glib-2.0/gobject/gparamspecs.h | 1151 ++++++ .../include/glib-2.0/gobject/gsignal.h | 647 ++++ .../include/glib-2.0/gobject/gsignalgroup.h | 98 + .../include/glib-2.0/gobject/gsourceclosure.h | 40 + .../x64-osx/include/glib-2.0/gobject/gtype.h | 2703 ++++++++++++++ .../include/glib-2.0/gobject/gtypemodule.h | 302 ++ .../include/glib-2.0/gobject/gtypeplugin.h | 136 + .../x64-osx/include/glib-2.0/gobject/gvalue.h | 212 ++ .../include/glib-2.0/gobject/gvaluearray.h | 106 + .../glib-2.0/gobject/gvaluecollector.h | 290 ++ .../include/glib-2.0/gobject/gvaluetypes.h | 318 ++ vcpkg/installed/x64-osx/include/jconfig.h | 60 + vcpkg/installed/x64-osx/include/jerror.h | 336 ++ vcpkg/installed/x64-osx/include/jmorecfg.h | 385 ++ vcpkg/installed/x64-osx/include/jpeglib.h | 1209 ++++++ .../x64-osx/include/libde265/de265-version.h | 36 + .../x64-osx/include/libde265/de265.h | 453 +++ .../x64-osx/include/libde265/en265.h | 218 ++ .../installed/x64-osx/include/libheif/heif.h | 2169 +++++++++++ .../x64-osx/include/libheif/heif_cxx.h | 1362 +++++++ .../x64-osx/include/libheif/heif_plugin.h | 306 ++ .../x64-osx/include/libheif/heif_properties.h | 138 + .../x64-osx/include/libheif/heif_regions.h | 866 +++++ .../x64-osx/include/libheif/heif_version.h | 38 + vcpkg/installed/x64-osx/include/libintl.h | 642 ++++ .../installed/x64-osx/include/libpng16/png.h | 3250 +++++++++++++++++ .../x64-osx/include/libpng16/pngconf.h | 623 ++++ .../x64-osx/include/libpng16/pnglibconf.h | 224 ++ vcpkg/installed/x64-osx/include/lzma.h | 327 ++ vcpkg/installed/x64-osx/include/lzma/base.h | 747 ++++ vcpkg/installed/x64-osx/include/lzma/bcj.h | 98 + vcpkg/installed/x64-osx/include/lzma/block.h | 694 ++++ vcpkg/installed/x64-osx/include/lzma/check.h | 163 + .../x64-osx/include/lzma/container.h | 995 +++++ vcpkg/installed/x64-osx/include/lzma/delta.h | 95 + vcpkg/installed/x64-osx/include/lzma/filter.h | 769 ++++ .../installed/x64-osx/include/lzma/hardware.h | 62 + vcpkg/installed/x64-osx/include/lzma/index.h | 882 +++++ .../x64-osx/include/lzma/index_hash.h | 123 + vcpkg/installed/x64-osx/include/lzma/lzma12.h | 568 +++ .../x64-osx/include/lzma/stream_flags.h | 265 ++ .../installed/x64-osx/include/lzma/version.h | 134 + vcpkg/installed/x64-osx/include/lzma/vli.h | 166 + vcpkg/installed/x64-osx/include/pcre2.h | 1007 +++++ vcpkg/installed/x64-osx/include/pcre2posix.h | 187 + vcpkg/installed/x64-osx/include/png.h | 3250 +++++++++++++++++ vcpkg/installed/x64-osx/include/pngconf.h | 623 ++++ vcpkg/installed/x64-osx/include/pnglibconf.h | 224 ++ vcpkg/installed/x64-osx/include/tiff.h | 899 +++++ vcpkg/installed/x64-osx/include/tiffconf.h | 144 + vcpkg/installed/x64-osx/include/tiffio.h | 653 ++++ vcpkg/installed/x64-osx/include/tiffvers.h | 36 + vcpkg/installed/x64-osx/include/turbojpeg.h | 2328 ++++++++++++ vcpkg/installed/x64-osx/include/x265.h | 2674 ++++++++++++++ vcpkg/installed/x64-osx/include/x265_config.h | 34 + vcpkg/installed/x64-osx/include/zconf.h | 553 +++ vcpkg/installed/x64-osx/include/zlib.h | 1938 ++++++++++ .../lib/gdk-pixbuf-2.0/2.10.0/loaders.cache | 7 + .../2.10.0/loaders/libpixbufloader-heif.so | Bin 0 -> 13553800 bytes .../x64-osx/lib/gettext/cldr-plurals | Bin 0 -> 696384 bytes vcpkg/installed/x64-osx/lib/gettext/hostname | Bin 0 -> 140296 bytes .../installed/x64-osx/lib/gettext/project-id | 86 + vcpkg/installed/x64-osx/lib/gettext/urlget | Bin 0 -> 162800 bytes .../installed/x64-osx/lib/gettext/user-email | 435 +++ .../x64-osx/lib/glib-2.0/include/glibconfig.h | 220 ++ vcpkg/installed/x64-osx/lib/libde265.a | Bin 0 -> 1304224 bytes vcpkg/installed/x64-osx/lib/libffi.a | Bin 0 -> 164632 bytes .../installed/x64-osx/lib/libgdk_pixbuf-2.0.a | Bin 0 -> 297104 bytes vcpkg/installed/x64-osx/lib/libgio-2.0.a | Bin 0 -> 3506336 bytes vcpkg/installed/x64-osx/lib/libglib-2.0.a | Bin 0 -> 1823752 bytes vcpkg/installed/x64-osx/lib/libgmodule-2.0.a | Bin 0 -> 11984 bytes vcpkg/installed/x64-osx/lib/libgobject-2.0.a | Bin 0 -> 553256 bytes vcpkg/installed/x64-osx/lib/libgthread-2.0.a | Bin 0 -> 1584 bytes vcpkg/installed/x64-osx/lib/libheif.a | Bin 0 -> 1484496 bytes vcpkg/installed/x64-osx/lib/libintl.a | Bin 0 -> 664544 bytes vcpkg/installed/x64-osx/lib/libjpeg.a | Bin 0 -> 1102888 bytes vcpkg/installed/x64-osx/lib/liblzma.a | Bin 0 -> 286448 bytes vcpkg/installed/x64-osx/lib/libpcre2-16.a | Bin 0 -> 855512 bytes vcpkg/installed/x64-osx/lib/libpcre2-32.a | Bin 0 -> 804336 bytes vcpkg/installed/x64-osx/lib/libpcre2-8.a | Bin 0 -> 946944 bytes vcpkg/installed/x64-osx/lib/libpcre2-posix.a | Bin 0 -> 4520 bytes vcpkg/installed/x64-osx/lib/libpng.a | Bin 0 -> 324496 bytes vcpkg/installed/x64-osx/lib/libpng16.a | Bin 0 -> 324496 bytes vcpkg/installed/x64-osx/lib/libtiff.a | Bin 0 -> 693640 bytes vcpkg/installed/x64-osx/lib/libturbojpeg.a | Bin 0 -> 1343632 bytes vcpkg/installed/x64-osx/lib/libx265.a | Bin 0 -> 6979520 bytes vcpkg/installed/x64-osx/lib/libz.a | Bin 0 -> 122392 bytes .../x64-osx/lib/pkgconfig/gdk-pixbuf-2.0.pc | 20 + .../x64-osx/lib/pkgconfig/gio-2.0.pc | 25 + .../x64-osx/lib/pkgconfig/gio-unix-2.0.pc | 9 + .../x64-osx/lib/pkgconfig/glib-2.0.pc | 18 + .../x64-osx/lib/pkgconfig/gmodule-2.0.pc | 11 + .../lib/pkgconfig/gmodule-export-2.0.pc | 11 + .../lib/pkgconfig/gmodule-no-export-2.0.pc | 13 + .../x64-osx/lib/pkgconfig/gobject-2.0.pc | 11 + .../x64-osx/lib/pkgconfig/gthread-2.0.pc | 11 + .../x64-osx/lib/pkgconfig/libde265.pc | 13 + .../installed/x64-osx/lib/pkgconfig/libffi.pc | 12 + .../x64-osx/lib/pkgconfig/libheif.pc | 22 + .../x64-osx/lib/pkgconfig/libjpeg.pc | 11 + .../x64-osx/lib/pkgconfig/liblzma.pc | 15 + .../x64-osx/lib/pkgconfig/libpcre2-16.pc | 13 + .../x64-osx/lib/pkgconfig/libpcre2-32.pc | 13 + .../x64-osx/lib/pkgconfig/libpcre2-8.pc | 13 + .../x64-osx/lib/pkgconfig/libpcre2-posix.pc | 14 + .../installed/x64-osx/lib/pkgconfig/libpng.pc | 12 + .../x64-osx/lib/pkgconfig/libpng16.pc | 12 + .../x64-osx/lib/pkgconfig/libtiff-4.pc | 12 + .../x64-osx/lib/pkgconfig/libturbojpeg.pc | 11 + vcpkg/installed/x64-osx/lib/pkgconfig/x265.pc | 11 + vcpkg/installed/x64-osx/lib/pkgconfig/zlib.pc | 14 + 396 files changed, 97232 insertions(+), 14 deletions(-) create mode 100644 vcpkg/installed/x64-osx/include/ffi.h create mode 100644 vcpkg/installed/x64-osx/include/ffitarget.h create mode 100644 vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h create mode 100644 vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-autocleanups.h create mode 100644 vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h create mode 100644 vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h create mode 100644 vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h create mode 100644 vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h create mode 100644 vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h create mode 100644 vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-macros.h create mode 100644 vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h create mode 100644 vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h create mode 100644 vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h create mode 100644 vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h create mode 100644 vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h create mode 100644 vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gfiledescriptorbased.h create mode 100644 vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gunixfdmessage.h create mode 100644 vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gunixinputstream.h create mode 100644 vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gunixmounts.h create mode 100644 vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gunixoutputstream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gaction.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gactiongroup.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gactiongroupexporter.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gactionmap.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gappinfo.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gapplication.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gapplicationcommandline.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gasyncinitable.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gasyncresult.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gbufferedinputstream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gbufferedoutputstream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gbytesicon.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gcancellable.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gcharsetconverter.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gcontenttype.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gconverter.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gconverterinputstream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gconverteroutputstream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gcredentials.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdatagrambased.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdatainputstream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdataoutputstream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusactiongroup.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusaddress.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusauthobserver.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusconnection.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbuserror.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusinterface.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusinterfaceskeleton.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusintrospection.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusmenumodel.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusmessage.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusmethodinvocation.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusnameowning.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusnamewatching.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobject.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectmanager.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectmanagerclient.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectmanagerserver.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectproxy.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectskeleton.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusproxy.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusserver.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusutils.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdebugcontroller.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdebugcontrollerdbus.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdrive.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdtlsclientconnection.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdtlsconnection.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gdtlsserverconnection.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gemblem.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gemblemedicon.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gfile.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileattribute.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileenumerator.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileicon.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileinfo.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileinputstream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileiostream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gfilemonitor.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gfilenamecompleter.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileoutputstream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gfilterinputstream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gfilteroutputstream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gicon.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/ginetaddress.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/ginetaddressmask.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/ginetsocketaddress.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/ginitable.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/ginputstream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gio-autocleanups.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gio-visibility.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gio.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gioenums.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gioenumtypes.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gioerror.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/giomodule.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gioscheduler.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/giostream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/giotypes.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/glistmodel.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gliststore.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gloadableicon.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gmemoryinputstream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gmemorymonitor.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gmemoryoutputstream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gmenu.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gmenuexporter.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gmenumodel.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gmount.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gmountoperation.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gnativesocketaddress.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gnativevolumemonitor.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gnetworkaddress.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gnetworking.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gnetworkmonitor.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gnetworkservice.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gnotification.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gosxappinfo.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/goutputstream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gpermission.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gpollableinputstream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gpollableoutputstream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gpollableutils.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gpowerprofilemonitor.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gpropertyaction.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gproxy.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gproxyaddress.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gproxyaddressenumerator.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gproxyresolver.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gremoteactiongroup.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gresolver.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gresource.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gseekable.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsettings.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsettingsbackend.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsettingsschema.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleaction.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleactiongroup.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleasyncresult.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleiostream.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimplepermission.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleproxyresolver.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocket.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketaddress.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketaddressenumerator.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketclient.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketconnectable.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketconnection.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketcontrolmessage.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketlistener.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketservice.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsrvtarget.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsubprocess.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gsubprocesslauncher.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gtask.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gtcpconnection.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gtcpwrapperconnection.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gtestdbus.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gthemedicon.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gthreadedsocketservice.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsbackend.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlscertificate.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsclientconnection.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsconnection.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsdatabase.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsfiledatabase.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsinteraction.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlspassword.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsserverconnection.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gunixconnection.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gunixcredentialsmessage.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gunixfdlist.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gunixsocketaddress.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gvfs.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gvolume.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gvolumemonitor.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gzlibcompressor.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gio/gzlibdecompressor.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib-object.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib-unix.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gallocator.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gcache.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gcompletion.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gmain.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/grel.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gthread.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/galloca.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/garray.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gasyncqueue.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gatomic.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gbacktrace.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gbase64.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gbitlock.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gbookmarkfile.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gbytes.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gcharset.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gchecksum.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gconvert.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gdataset.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gdate.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gdatetime.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gdir.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/genviron.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gerror.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gfileutils.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/ggettext.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/ghash.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/ghmac.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/ghook.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/ghostutils.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gi18n-lib.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gi18n.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/giochannel.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gkeyfile.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/glib-autocleanups.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/glib-typeof.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/glib-visibility.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/glist.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gmacros.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gmain.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gmappedfile.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gmarkup.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gmem.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gmessages.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gnode.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/goption.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gpathbuf.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gpattern.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gpoll.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gprimes.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gprintf.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gqsort.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gquark.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gqueue.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/grand.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/grcbox.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/grefcount.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/grefstring.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gregex.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gscanner.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gsequence.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gshell.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gslice.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gslist.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gspawn.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gstdio.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gstrfuncs.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gstring.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gstringchunk.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gstrvbuilder.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gtestutils.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gthread.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gthreadpool.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gtimer.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gtimezone.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gtrashstack.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gtree.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gtypes.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gunicode.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/guri.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gutils.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/guuid.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gvariant.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gvarianttype.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gversion.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gversionmacros.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/glib/gwin32.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gmodule.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gmodule/gmodule-visibility.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gbinding.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gbindinggroup.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gboxed.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gclosure.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/genums.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/glib-enumtypes.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/glib-types.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gmarshal.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gobject-autocleanups.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gobject-visibility.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gobject.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gobjectnotifyqueue.c create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gparam.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gparamspecs.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gsignal.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gsignalgroup.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gsourceclosure.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gtype.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gtypemodule.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gtypeplugin.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gvalue.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gvaluearray.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gvaluecollector.h create mode 100644 vcpkg/installed/x64-osx/include/glib-2.0/gobject/gvaluetypes.h create mode 100644 vcpkg/installed/x64-osx/include/jconfig.h create mode 100644 vcpkg/installed/x64-osx/include/jerror.h create mode 100644 vcpkg/installed/x64-osx/include/jmorecfg.h create mode 100644 vcpkg/installed/x64-osx/include/jpeglib.h create mode 100644 vcpkg/installed/x64-osx/include/libde265/de265-version.h create mode 100644 vcpkg/installed/x64-osx/include/libde265/de265.h create mode 100644 vcpkg/installed/x64-osx/include/libde265/en265.h create mode 100644 vcpkg/installed/x64-osx/include/libheif/heif.h create mode 100644 vcpkg/installed/x64-osx/include/libheif/heif_cxx.h create mode 100644 vcpkg/installed/x64-osx/include/libheif/heif_plugin.h create mode 100644 vcpkg/installed/x64-osx/include/libheif/heif_properties.h create mode 100644 vcpkg/installed/x64-osx/include/libheif/heif_regions.h create mode 100644 vcpkg/installed/x64-osx/include/libheif/heif_version.h create mode 100644 vcpkg/installed/x64-osx/include/libintl.h create mode 100644 vcpkg/installed/x64-osx/include/libpng16/png.h create mode 100644 vcpkg/installed/x64-osx/include/libpng16/pngconf.h create mode 100644 vcpkg/installed/x64-osx/include/libpng16/pnglibconf.h create mode 100644 vcpkg/installed/x64-osx/include/lzma.h create mode 100644 vcpkg/installed/x64-osx/include/lzma/base.h create mode 100644 vcpkg/installed/x64-osx/include/lzma/bcj.h create mode 100644 vcpkg/installed/x64-osx/include/lzma/block.h create mode 100644 vcpkg/installed/x64-osx/include/lzma/check.h create mode 100644 vcpkg/installed/x64-osx/include/lzma/container.h create mode 100644 vcpkg/installed/x64-osx/include/lzma/delta.h create mode 100644 vcpkg/installed/x64-osx/include/lzma/filter.h create mode 100644 vcpkg/installed/x64-osx/include/lzma/hardware.h create mode 100644 vcpkg/installed/x64-osx/include/lzma/index.h create mode 100644 vcpkg/installed/x64-osx/include/lzma/index_hash.h create mode 100644 vcpkg/installed/x64-osx/include/lzma/lzma12.h create mode 100644 vcpkg/installed/x64-osx/include/lzma/stream_flags.h create mode 100644 vcpkg/installed/x64-osx/include/lzma/version.h create mode 100644 vcpkg/installed/x64-osx/include/lzma/vli.h create mode 100644 vcpkg/installed/x64-osx/include/pcre2.h create mode 100644 vcpkg/installed/x64-osx/include/pcre2posix.h create mode 100644 vcpkg/installed/x64-osx/include/png.h create mode 100644 vcpkg/installed/x64-osx/include/pngconf.h create mode 100644 vcpkg/installed/x64-osx/include/pnglibconf.h create mode 100644 vcpkg/installed/x64-osx/include/tiff.h create mode 100644 vcpkg/installed/x64-osx/include/tiffconf.h create mode 100644 vcpkg/installed/x64-osx/include/tiffio.h create mode 100644 vcpkg/installed/x64-osx/include/tiffvers.h create mode 100644 vcpkg/installed/x64-osx/include/turbojpeg.h create mode 100644 vcpkg/installed/x64-osx/include/x265.h create mode 100644 vcpkg/installed/x64-osx/include/x265_config.h create mode 100644 vcpkg/installed/x64-osx/include/zconf.h create mode 100644 vcpkg/installed/x64-osx/include/zlib.h create mode 100644 vcpkg/installed/x64-osx/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache create mode 100644 vcpkg/installed/x64-osx/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-heif.so create mode 100644 vcpkg/installed/x64-osx/lib/gettext/cldr-plurals create mode 100644 vcpkg/installed/x64-osx/lib/gettext/hostname create mode 100644 vcpkg/installed/x64-osx/lib/gettext/project-id create mode 100644 vcpkg/installed/x64-osx/lib/gettext/urlget create mode 100644 vcpkg/installed/x64-osx/lib/gettext/user-email create mode 100644 vcpkg/installed/x64-osx/lib/glib-2.0/include/glibconfig.h create mode 100644 vcpkg/installed/x64-osx/lib/libde265.a create mode 100644 vcpkg/installed/x64-osx/lib/libffi.a create mode 100644 vcpkg/installed/x64-osx/lib/libgdk_pixbuf-2.0.a create mode 100644 vcpkg/installed/x64-osx/lib/libgio-2.0.a create mode 100644 vcpkg/installed/x64-osx/lib/libglib-2.0.a create mode 100644 vcpkg/installed/x64-osx/lib/libgmodule-2.0.a create mode 100644 vcpkg/installed/x64-osx/lib/libgobject-2.0.a create mode 100644 vcpkg/installed/x64-osx/lib/libgthread-2.0.a create mode 100644 vcpkg/installed/x64-osx/lib/libheif.a create mode 100644 vcpkg/installed/x64-osx/lib/libintl.a create mode 100644 vcpkg/installed/x64-osx/lib/libjpeg.a create mode 100644 vcpkg/installed/x64-osx/lib/liblzma.a create mode 100644 vcpkg/installed/x64-osx/lib/libpcre2-16.a create mode 100644 vcpkg/installed/x64-osx/lib/libpcre2-32.a create mode 100644 vcpkg/installed/x64-osx/lib/libpcre2-8.a create mode 100644 vcpkg/installed/x64-osx/lib/libpcre2-posix.a create mode 100644 vcpkg/installed/x64-osx/lib/libpng.a create mode 100644 vcpkg/installed/x64-osx/lib/libpng16.a create mode 100644 vcpkg/installed/x64-osx/lib/libtiff.a create mode 100644 vcpkg/installed/x64-osx/lib/libturbojpeg.a create mode 100644 vcpkg/installed/x64-osx/lib/libx265.a create mode 100644 vcpkg/installed/x64-osx/lib/libz.a create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/gdk-pixbuf-2.0.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/gio-2.0.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/gio-unix-2.0.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/glib-2.0.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/gmodule-2.0.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/gmodule-export-2.0.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/gmodule-no-export-2.0.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/gobject-2.0.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/gthread-2.0.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/libde265.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/libffi.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/libheif.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/libjpeg.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/liblzma.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/libpcre2-16.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/libpcre2-32.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/libpcre2-8.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/libpcre2-posix.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/libpng.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/libpng16.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/libtiff-4.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/libturbojpeg.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/x265.pc create mode 100644 vcpkg/installed/x64-osx/lib/pkgconfig/zlib.pc diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index da96985..3d16979 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,14 +25,6 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - - name: Set up Node.js - uses: actions/setup-node@v4 - with: - node-version: '18' - - - name: Install dependencies - run: npm install - - name: Create a folder for the tarball run: | mkdir release @@ -67,27 +59,41 @@ jobs: - name: Clean up the Docker container (Windows and Linux) if: contains(matrix.os, 'ubuntu') || contains(matrix.os, 'windows') run: docker container rm ${{ matrix.PLATFORM }} + + - name: "Install nvm" + run: | + # curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash + # export NVM_DIR="$HOME/.nvm" + # [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" + + # arch -x86_64 zsh + # nvm use system + # nvm cache clear + # nvm uninstall 18 + # nvm install 18 + # nvm use 18 - name: Configure and Build on OSX if: contains(matrix.os, 'mac') run: | # Install nasm (useful for vcpkg) - brew install nasm + # brew install nasm # Install python setup tools - pip3 install setuptools + # pip3 install setuptools # Clone vcpkg and install libheif - git clone https://github.com/microsoft/vcpkg.git - ./vcpkg/bootstrap-vcpkg.sh - ./vcpkg/vcpkg install libheif + # git clone https://github.com/microsoft/vcpkg.git + # ./vcpkg/bootstrap-vcpkg.sh + # ./vcpkg/vcpkg install libheif # Build project + npm install npm run configure npm run build # Run tests - # npm run test + npm run test # Copy .node in the release folder cp ./src/build/Release/converter.node ./release/lib/converter.${{ matrix.PLATFORM }}.node diff --git a/vcpkg/installed/x64-osx/include/ffi.h b/vcpkg/installed/x64-osx/include/ffi.h new file mode 100644 index 0000000..57e7153 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/ffi.h @@ -0,0 +1,518 @@ +/* -----------------------------------------------------------------*-C-*- + libffi 3.4.6 + - Copyright (c) 2011, 2014, 2019, 2021, 2022, 2024 Anthony Green + - Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the ``Software''), to deal in the Software without + restriction, including without limitation the rights to use, copy, + modify, merge, publish, distribute, sublicense, and/or sell copies + of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + ----------------------------------------------------------------------- */ + +/* ------------------------------------------------------------------- + Most of the API is documented in doc/libffi.texi. + + The raw API is designed to bypass some of the argument packing and + unpacking on architectures for which it can be avoided. Routines + are provided to emulate the raw API if the underlying platform + doesn't allow faster implementation. + + More details on the raw API can be found in: + + http://gcc.gnu.org/ml/java/1999-q3/msg00138.html + + and + + http://gcc.gnu.org/ml/java/1999-q3/msg00174.html + -------------------------------------------------------------------- */ + +#ifndef LIBFFI_H +#define LIBFFI_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Specify which architecture libffi is configured for. */ +#ifndef X86_64 +#define X86_64 +#endif + +/* ---- System configuration information --------------------------------- */ + +/* If these change, update src/mips/ffitarget.h. */ +#define FFI_TYPE_VOID 0 +#define FFI_TYPE_INT 1 +#define FFI_TYPE_FLOAT 2 +#define FFI_TYPE_DOUBLE 3 +#if 1 +#define FFI_TYPE_LONGDOUBLE 4 +#else +#define FFI_TYPE_LONGDOUBLE FFI_TYPE_DOUBLE +#endif +#define FFI_TYPE_UINT8 5 +#define FFI_TYPE_SINT8 6 +#define FFI_TYPE_UINT16 7 +#define FFI_TYPE_SINT16 8 +#define FFI_TYPE_UINT32 9 +#define FFI_TYPE_SINT32 10 +#define FFI_TYPE_UINT64 11 +#define FFI_TYPE_SINT64 12 +#define FFI_TYPE_STRUCT 13 +#define FFI_TYPE_POINTER 14 +#define FFI_TYPE_COMPLEX 15 + +/* This should always refer to the last type code (for sanity checks). */ +#define FFI_TYPE_LAST FFI_TYPE_COMPLEX + +#include + +#ifndef LIBFFI_ASM + +#if defined(_MSC_VER) && !defined(__clang__) +#define __attribute__(X) +#endif + +#include +#include + +/* LONG_LONG_MAX is not always defined (not if STRICT_ANSI, for example). + But we can find it either under the correct ANSI name, or under GNU + C's internal name. */ + +#define FFI_64_BIT_MAX 9223372036854775807 + +#ifdef LONG_LONG_MAX +# define FFI_LONG_LONG_MAX LONG_LONG_MAX +#else +# ifdef LLONG_MAX +# define FFI_LONG_LONG_MAX LLONG_MAX +# ifdef _AIX52 /* or newer has C99 LLONG_MAX */ +# undef FFI_64_BIT_MAX +# define FFI_64_BIT_MAX 9223372036854775807LL +# endif /* _AIX52 or newer */ +# else +# ifdef __GNUC__ +# define FFI_LONG_LONG_MAX __LONG_LONG_MAX__ +# endif +# ifdef _AIX /* AIX 5.1 and earlier have LONGLONG_MAX */ +# ifndef __PPC64__ +# if defined (__IBMC__) || defined (__IBMCPP__) +# define FFI_LONG_LONG_MAX LONGLONG_MAX +# endif +# endif /* __PPC64__ */ +# undef FFI_64_BIT_MAX +# define FFI_64_BIT_MAX 9223372036854775807LL +# endif +# endif +#endif + +/* The closure code assumes that this works on pointers, i.e. a size_t + can hold a pointer. */ + +typedef struct _ffi_type +{ + size_t size; + unsigned short alignment; + unsigned short type; + struct _ffi_type **elements; +} ffi_type; + +/* Need minimal decorations for DLLs to work on Windows. GCC has + autoimport and autoexport. Always mark externally visible symbols + as dllimport for MSVC clients, even if it means an extra indirection + when using the static version of the library. + Besides, as a workaround, they can define FFI_BUILDING if they + *know* they are going to link with the static library. */ +#if defined _MSC_VER && !1 +# if defined FFI_BUILDING_DLL /* Building libffi.DLL with msvcc.sh */ +# define FFI_API __declspec(dllexport) +# else /* Importing libffi.DLL */ +# define FFI_API __declspec(dllimport) +# endif +#else +# define FFI_API +#endif + +/* The externally visible type declarations also need the MSVC DLL + decorations, or they will not be exported from the object file. */ +#if defined LIBFFI_HIDE_BASIC_TYPES +# define FFI_EXTERN FFI_API +#else +# define FFI_EXTERN extern FFI_API +#endif + +#ifndef LIBFFI_HIDE_BASIC_TYPES +#if SCHAR_MAX == 127 +# define ffi_type_uchar ffi_type_uint8 +# define ffi_type_schar ffi_type_sint8 +#else + #error "char size not supported" +#endif + +#if SHRT_MAX == 32767 +# define ffi_type_ushort ffi_type_uint16 +# define ffi_type_sshort ffi_type_sint16 +#elif SHRT_MAX == 2147483647 +# define ffi_type_ushort ffi_type_uint32 +# define ffi_type_sshort ffi_type_sint32 +#else + #error "short size not supported" +#endif + +#if INT_MAX == 32767 +# define ffi_type_uint ffi_type_uint16 +# define ffi_type_sint ffi_type_sint16 +#elif INT_MAX == 2147483647 +# define ffi_type_uint ffi_type_uint32 +# define ffi_type_sint ffi_type_sint32 +#elif INT_MAX == 9223372036854775807 +# define ffi_type_uint ffi_type_uint64 +# define ffi_type_sint ffi_type_sint64 +#else + #error "int size not supported" +#endif + +#if LONG_MAX == 2147483647 +# if FFI_LONG_LONG_MAX != FFI_64_BIT_MAX + #error "no 64-bit data type supported" +# endif +#elif LONG_MAX != FFI_64_BIT_MAX + #error "long size not supported" +#endif + +#if LONG_MAX == 2147483647 +# define ffi_type_ulong ffi_type_uint32 +# define ffi_type_slong ffi_type_sint32 +#elif LONG_MAX == FFI_64_BIT_MAX +# define ffi_type_ulong ffi_type_uint64 +# define ffi_type_slong ffi_type_sint64 +#else + #error "long size not supported" +#endif + +/* These are defined in types.c. */ +FFI_EXTERN ffi_type ffi_type_void; +FFI_EXTERN ffi_type ffi_type_uint8; +FFI_EXTERN ffi_type ffi_type_sint8; +FFI_EXTERN ffi_type ffi_type_uint16; +FFI_EXTERN ffi_type ffi_type_sint16; +FFI_EXTERN ffi_type ffi_type_uint32; +FFI_EXTERN ffi_type ffi_type_sint32; +FFI_EXTERN ffi_type ffi_type_uint64; +FFI_EXTERN ffi_type ffi_type_sint64; +FFI_EXTERN ffi_type ffi_type_float; +FFI_EXTERN ffi_type ffi_type_double; +FFI_EXTERN ffi_type ffi_type_pointer; +FFI_EXTERN ffi_type ffi_type_longdouble; + +#ifdef FFI_TARGET_HAS_COMPLEX_TYPE +FFI_EXTERN ffi_type ffi_type_complex_float; +FFI_EXTERN ffi_type ffi_type_complex_double; +FFI_EXTERN ffi_type ffi_type_complex_longdouble; +#endif +#endif /* LIBFFI_HIDE_BASIC_TYPES */ + +typedef enum { + FFI_OK = 0, + FFI_BAD_TYPEDEF, + FFI_BAD_ABI, + FFI_BAD_ARGTYPE +} ffi_status; + +typedef struct { + ffi_abi abi; + unsigned nargs; + ffi_type **arg_types; + ffi_type *rtype; + unsigned bytes; + unsigned flags; +#ifdef FFI_EXTRA_CIF_FIELDS + FFI_EXTRA_CIF_FIELDS; +#endif +} ffi_cif; + +/* ---- Definitions for the raw API -------------------------------------- */ + +#ifndef FFI_SIZEOF_ARG +# if LONG_MAX == 2147483647 +# define FFI_SIZEOF_ARG 4 +# elif LONG_MAX == FFI_64_BIT_MAX +# define FFI_SIZEOF_ARG 8 +# endif +#endif + +#ifndef FFI_SIZEOF_JAVA_RAW +# define FFI_SIZEOF_JAVA_RAW FFI_SIZEOF_ARG +#endif + +typedef union { + ffi_sarg sint; + ffi_arg uint; + float flt; + char data[FFI_SIZEOF_ARG]; + void* ptr; +} ffi_raw; + +#if FFI_SIZEOF_JAVA_RAW == 4 && FFI_SIZEOF_ARG == 8 +/* This is a special case for mips64/n32 ABI (and perhaps others) where + sizeof(void *) is 4 and FFI_SIZEOF_ARG is 8. */ +typedef union { + signed int sint; + unsigned int uint; + float flt; + char data[FFI_SIZEOF_JAVA_RAW]; + void* ptr; +} ffi_java_raw; +#else +typedef ffi_raw ffi_java_raw; +#endif + + +FFI_API +void ffi_raw_call (ffi_cif *cif, + void (*fn)(void), + void *rvalue, + ffi_raw *avalue); + +FFI_API void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw); +FFI_API void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args); +FFI_API size_t ffi_raw_size (ffi_cif *cif); + +/* This is analogous to the raw API, except it uses Java parameter + packing, even on 64-bit machines. I.e. on 64-bit machines longs + and doubles are followed by an empty 64-bit word. */ + +#if !FFI_NATIVE_RAW_API +FFI_API +void ffi_java_raw_call (ffi_cif *cif, + void (*fn)(void), + void *rvalue, + ffi_java_raw *avalue) __attribute__((deprecated)); +#endif + +FFI_API +void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw) __attribute__((deprecated)); +FFI_API +void ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args) __attribute__((deprecated)); +FFI_API +size_t ffi_java_raw_size (ffi_cif *cif) __attribute__((deprecated)); + +/* ---- Definitions for closures ----------------------------------------- */ + +#if FFI_CLOSURES + +#ifdef _MSC_VER +__declspec(align(8)) +#endif +typedef struct { +#if 0 + void *trampoline_table; + void *trampoline_table_entry; +#else + union { + char tramp[FFI_TRAMPOLINE_SIZE]; + void *ftramp; + }; +#endif + ffi_cif *cif; + void (*fun)(ffi_cif*,void*,void**,void*); + void *user_data; +#if defined(_MSC_VER) && defined(_M_IX86) + void *padding; +#endif +} ffi_closure +#ifdef __GNUC__ + __attribute__((aligned (8))) +#endif + ; + +#ifndef __GNUC__ +# ifdef __sgi +# pragma pack 0 +# endif +#endif + +FFI_API void *ffi_closure_alloc (size_t size, void **code); +FFI_API void ffi_closure_free (void *); + +FFI_API ffi_status +ffi_prep_closure (ffi_closure*, + ffi_cif *, + void (*fun)(ffi_cif*,void*,void**,void*), + void *user_data) +#if defined(__GNUC__) && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 405) + __attribute__((deprecated ("use ffi_prep_closure_loc instead"))) +#elif defined(__GNUC__) && __GNUC__ >= 3 + __attribute__((deprecated)) +#endif + ; + +FFI_API ffi_status +ffi_prep_closure_loc (ffi_closure*, + ffi_cif *, + void (*fun)(ffi_cif*,void*,void**,void*), + void *user_data, + void *codeloc); + +#ifdef __sgi +# pragma pack 8 +#endif +typedef struct { +#if 0 + void *trampoline_table; + void *trampoline_table_entry; +#else + char tramp[FFI_TRAMPOLINE_SIZE]; +#endif + ffi_cif *cif; + +#if !FFI_NATIVE_RAW_API + + /* If this is enabled, then a raw closure has the same layout + as a regular closure. We use this to install an intermediate + handler to do the translation, void** -> ffi_raw*. */ + + void (*translate_args)(ffi_cif*,void*,void**,void*); + void *this_closure; + +#endif + + void (*fun)(ffi_cif*,void*,ffi_raw*,void*); + void *user_data; + +} ffi_raw_closure; + +typedef struct { +#if 0 + void *trampoline_table; + void *trampoline_table_entry; +#else + char tramp[FFI_TRAMPOLINE_SIZE]; +#endif + + ffi_cif *cif; + +#if !FFI_NATIVE_RAW_API + + /* If this is enabled, then a raw closure has the same layout + as a regular closure. We use this to install an intermediate + handler to do the translation, void** -> ffi_raw*. */ + + void (*translate_args)(ffi_cif*,void*,void**,void*); + void *this_closure; + +#endif + + void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*); + void *user_data; + +} ffi_java_raw_closure; + +FFI_API ffi_status +ffi_prep_raw_closure (ffi_raw_closure*, + ffi_cif *cif, + void (*fun)(ffi_cif*,void*,ffi_raw*,void*), + void *user_data); + +FFI_API ffi_status +ffi_prep_raw_closure_loc (ffi_raw_closure*, + ffi_cif *cif, + void (*fun)(ffi_cif*,void*,ffi_raw*,void*), + void *user_data, + void *codeloc); + +#if !FFI_NATIVE_RAW_API +FFI_API ffi_status +ffi_prep_java_raw_closure (ffi_java_raw_closure*, + ffi_cif *cif, + void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*), + void *user_data) __attribute__((deprecated)); + +FFI_API ffi_status +ffi_prep_java_raw_closure_loc (ffi_java_raw_closure*, + ffi_cif *cif, + void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*), + void *user_data, + void *codeloc) __attribute__((deprecated)); +#endif + +#endif /* FFI_CLOSURES */ + +#ifdef FFI_GO_CLOSURES + +typedef struct { + void *tramp; + ffi_cif *cif; + void (*fun)(ffi_cif*,void*,void**,void*); +} ffi_go_closure; + +FFI_API ffi_status ffi_prep_go_closure (ffi_go_closure*, ffi_cif *, + void (*fun)(ffi_cif*,void*,void**,void*)); + +FFI_API void ffi_call_go (ffi_cif *cif, void (*fn)(void), void *rvalue, + void **avalue, void *closure); + +#endif /* FFI_GO_CLOSURES */ + +/* ---- Public interface definition -------------------------------------- */ + +FFI_API +ffi_status ffi_prep_cif(ffi_cif *cif, + ffi_abi abi, + unsigned int nargs, + ffi_type *rtype, + ffi_type **atypes); + +FFI_API +ffi_status ffi_prep_cif_var(ffi_cif *cif, + ffi_abi abi, + unsigned int nfixedargs, + unsigned int ntotalargs, + ffi_type *rtype, + ffi_type **atypes); + +FFI_API +void ffi_call(ffi_cif *cif, + void (*fn)(void), + void *rvalue, + void **avalue); + +FFI_API +ffi_status ffi_get_struct_offsets (ffi_abi abi, ffi_type *struct_type, + size_t *offsets); + +/* Convert between closure and function pointers. */ +#if defined(PA_LINUX) || defined(PA_HPUX) +#define FFI_FN(f) ((void (*)(void))((unsigned int)(f) | 2)) +#define FFI_CL(f) ((void *)((unsigned int)(f) & ~3)) +#else +#define FFI_FN(f) ((void (*)(void))f) +#define FFI_CL(f) ((void *)(f)) +#endif + +/* ---- Definitions shared with assembly code ---------------------------- */ + +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/vcpkg/installed/x64-osx/include/ffitarget.h b/vcpkg/installed/x64-osx/include/ffitarget.h new file mode 100644 index 0000000..5a3399d --- /dev/null +++ b/vcpkg/installed/x64-osx/include/ffitarget.h @@ -0,0 +1,164 @@ +/* -----------------------------------------------------------------*-C-*- + ffitarget.h - Copyright (c) 2012, 2014, 2018 Anthony Green + Copyright (c) 1996-2003, 2010 Red Hat, Inc. + Copyright (C) 2008 Free Software Foundation, Inc. + + Target configuration macros for x86 and x86-64. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + ``Software''), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + ----------------------------------------------------------------------- */ + +#ifndef LIBFFI_TARGET_H +#define LIBFFI_TARGET_H + +#ifndef LIBFFI_H +#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." +#endif + +/* ---- System specific configurations ----------------------------------- */ + +/* For code common to all platforms on x86 and x86_64. */ +#define X86_ANY + +#if defined (X86_64) && defined (__i386__) +#undef X86_64 +#warning ****************************************************** +#warning ********** X86 IS DEFINED **************************** +#warning ****************************************************** +#define X86 +#endif + +#ifdef X86_WIN64 +#define FFI_SIZEOF_ARG 8 +#define USE_BUILTIN_FFS 0 /* not yet implemented in mingw-64 */ +#endif + +#define FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION +#ifndef _MSC_VER +#define FFI_TARGET_HAS_COMPLEX_TYPE +#endif + +/* ---- Generic type definitions ----------------------------------------- */ + +#ifndef LIBFFI_ASM +#ifdef X86_WIN64 +#ifdef _MSC_VER +typedef unsigned __int64 ffi_arg; +typedef __int64 ffi_sarg; +#else +typedef unsigned long long ffi_arg; +typedef long long ffi_sarg; +#endif +#else +#if defined __x86_64__ && defined __ILP32__ +#define FFI_SIZEOF_ARG 8 +#define FFI_SIZEOF_JAVA_RAW 4 +typedef unsigned long long ffi_arg; +typedef long long ffi_sarg; +#else +typedef unsigned long ffi_arg; +typedef signed long ffi_sarg; +#endif +#endif + +typedef enum ffi_abi { +#if defined(X86_WIN64) + FFI_FIRST_ABI = 0, + FFI_WIN64, /* sizeof(long double) == 8 - microsoft compilers */ + FFI_GNUW64, /* sizeof(long double) == 16 - GNU compilers */ + FFI_LAST_ABI, +#ifdef __GNUC__ + FFI_DEFAULT_ABI = FFI_GNUW64 +#else + FFI_DEFAULT_ABI = FFI_WIN64 +#endif + +#elif defined(X86_64) || (defined (__x86_64__) && defined (X86_DARWIN)) + FFI_FIRST_ABI = 1, + FFI_UNIX64, + FFI_WIN64, + FFI_EFI64 = FFI_WIN64, + FFI_GNUW64, + FFI_LAST_ABI, + FFI_DEFAULT_ABI = FFI_UNIX64 + +#elif defined(X86_WIN32) + FFI_FIRST_ABI = 0, + FFI_SYSV = 1, + FFI_STDCALL = 2, + FFI_THISCALL = 3, + FFI_FASTCALL = 4, + FFI_MS_CDECL = 5, + FFI_PASCAL = 6, + FFI_REGISTER = 7, + FFI_LAST_ABI, + FFI_DEFAULT_ABI = FFI_MS_CDECL +#else + FFI_FIRST_ABI = 0, + FFI_SYSV = 1, + FFI_THISCALL = 3, + FFI_FASTCALL = 4, + FFI_STDCALL = 5, + FFI_PASCAL = 6, + FFI_REGISTER = 7, + FFI_MS_CDECL = 8, + FFI_LAST_ABI, + FFI_DEFAULT_ABI = FFI_SYSV +#endif +} ffi_abi; +#endif + +/* ---- Definitions for closures ----------------------------------------- */ + +#define FFI_CLOSURES 1 +#define FFI_GO_CLOSURES 1 + +#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1) +#define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2) +#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3) +#define FFI_TYPE_MS_STRUCT (FFI_TYPE_LAST + 4) + +#if defined (X86_64) || defined(X86_WIN64) \ + || (defined (__x86_64__) && defined (X86_DARWIN)) +/* 4 bytes of ENDBR64 + 7 bytes of LEA + 6 bytes of JMP + 7 bytes of NOP + + 8 bytes of pointer. */ +# define FFI_TRAMPOLINE_SIZE 32 +# define FFI_NATIVE_RAW_API 0 +#else +/* 4 bytes of ENDBR32 + 5 bytes of MOV + 5 bytes of JMP + 2 unused + bytes. */ +# define FFI_TRAMPOLINE_SIZE 16 +# define FFI_NATIVE_RAW_API 1 /* x86 has native raw api support */ +#endif + +#if !defined(GENERATE_LIBFFI_MAP) && defined(__CET__) +# include +# if (__CET__ & 1) != 0 +# define ENDBR_PRESENT +# endif +# define _CET_NOTRACK notrack +#else +# define _CET_ENDBR +# define _CET_NOTRACK +#endif + +#endif diff --git a/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h new file mode 100644 index 0000000..cae551e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h @@ -0,0 +1,221 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ +/* GdkPixbuf library - Animation support + * + * Copyright (C) 1999 The Free Software Foundation + * + * Authors: Mark Crichton + * Miguel de Icaza + * Federico Mena-Quintero + * Havoc Pennington + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef GDK_PIXBUF_ANIMATION_H +#define GDK_PIXBUF_ANIMATION_H + +#if defined(GDK_PIXBUF_DISABLE_SINGLE_INCLUDES) && !defined (GDK_PIXBUF_H_INSIDE) && !defined (GDK_PIXBUF_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +/* Animation support */ + +typedef struct _GdkPixbufAnimation GdkPixbufAnimation; + + +typedef struct _GdkPixbufAnimationIter GdkPixbufAnimationIter; + +#define GDK_TYPE_PIXBUF_ANIMATION (gdk_pixbuf_animation_get_type ()) +#define GDK_PIXBUF_ANIMATION(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_PIXBUF_ANIMATION, GdkPixbufAnimation)) +#define GDK_IS_PIXBUF_ANIMATION(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_PIXBUF_ANIMATION)) + +#define GDK_TYPE_PIXBUF_ANIMATION_ITER (gdk_pixbuf_animation_iter_get_type ()) +#define GDK_PIXBUF_ANIMATION_ITER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_PIXBUF_ANIMATION_ITER, GdkPixbufAnimationIter)) +#define GDK_IS_PIXBUF_ANIMATION_ITER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_PIXBUF_ANIMATION_ITER)) + +GDK_PIXBUF_AVAILABLE_IN_ALL +GType gdk_pixbuf_animation_get_type (void) G_GNUC_CONST; + +#ifdef G_OS_WIN32 +/* API/ABI compat, see gdk-pixbuf-core.h for details */ +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbufAnimation *gdk_pixbuf_animation_new_from_file_utf8 (const char *filename, + GError **error); +#endif + +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbufAnimation *gdk_pixbuf_animation_new_from_file (const char *filename, + GError **error); +GDK_PIXBUF_AVAILABLE_IN_2_28 +GdkPixbufAnimation *gdk_pixbuf_animation_new_from_stream (GInputStream *stream, + GCancellable *cancellable, + GError **error); +GDK_PIXBUF_AVAILABLE_IN_2_28 +void gdk_pixbuf_animation_new_from_stream_async (GInputStream *stream, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GDK_PIXBUF_AVAILABLE_IN_2_28 +GdkPixbufAnimation *gdk_pixbuf_animation_new_from_stream_finish (GAsyncResult*async_result, + GError **error); +GDK_PIXBUF_AVAILABLE_IN_2_28 +GdkPixbufAnimation *gdk_pixbuf_animation_new_from_resource(const char *resource_path, + GError **error); + +#ifndef GDK_PIXBUF_DISABLE_DEPRECATED + +GDK_PIXBUF_DEPRECATED_IN_2_0_FOR(g_object_ref) +GdkPixbufAnimation *gdk_pixbuf_animation_ref (GdkPixbufAnimation *animation); +GDK_PIXBUF_DEPRECATED_IN_2_0_FOR(g_object_unref) +void gdk_pixbuf_animation_unref (GdkPixbufAnimation *animation); +#endif + +GDK_PIXBUF_AVAILABLE_IN_ALL +int gdk_pixbuf_animation_get_width (GdkPixbufAnimation *animation); +GDK_PIXBUF_AVAILABLE_IN_ALL +int gdk_pixbuf_animation_get_height (GdkPixbufAnimation *animation); +GDK_PIXBUF_AVAILABLE_IN_ALL +gboolean gdk_pixbuf_animation_is_static_image (GdkPixbufAnimation *animation); +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbuf *gdk_pixbuf_animation_get_static_image (GdkPixbufAnimation *animation); + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbufAnimationIter *gdk_pixbuf_animation_get_iter (GdkPixbufAnimation *animation, + const GTimeVal *start_time); +G_GNUC_END_IGNORE_DEPRECATIONS + +GDK_PIXBUF_AVAILABLE_IN_ALL +GType gdk_pixbuf_animation_iter_get_type (void) G_GNUC_CONST; +GDK_PIXBUF_AVAILABLE_IN_ALL +int gdk_pixbuf_animation_iter_get_delay_time (GdkPixbufAnimationIter *iter); +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbuf *gdk_pixbuf_animation_iter_get_pixbuf (GdkPixbufAnimationIter *iter); +GDK_PIXBUF_AVAILABLE_IN_ALL +gboolean gdk_pixbuf_animation_iter_on_currently_loading_frame (GdkPixbufAnimationIter *iter); +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GDK_PIXBUF_AVAILABLE_IN_ALL +gboolean gdk_pixbuf_animation_iter_advance (GdkPixbufAnimationIter *iter, + const GTimeVal *current_time); +G_GNUC_END_IGNORE_DEPRECATIONS + + +#ifdef GDK_PIXBUF_ENABLE_BACKEND + + + +/** + * GdkPixbufAnimationClass: + * @parent_class: the parent class + * @is_static_image: returns whether the given animation is just a static image. + * @get_static_image: returns a static image representing the given animation. + * @get_size: fills @width and @height with the frame size of the animation. + * @get_iter: returns an iterator for the given animation. + * + * Modules supporting animations must derive a type from + * #GdkPixbufAnimation, providing suitable implementations of the + * virtual functions. + */ +typedef struct _GdkPixbufAnimationClass GdkPixbufAnimationClass; + +#define GDK_PIXBUF_ANIMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_PIXBUF_ANIMATION, GdkPixbufAnimationClass)) +#define GDK_IS_PIXBUF_ANIMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_PIXBUF_ANIMATION)) +#define GDK_PIXBUF_ANIMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_PIXBUF_ANIMATION, GdkPixbufAnimationClass)) + +/* Private part of the GdkPixbufAnimation structure */ +struct _GdkPixbufAnimation { + GObject parent_instance; + +}; + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +struct _GdkPixbufAnimationClass { + GObjectClass parent_class; + + /*< public >*/ + + gboolean (*is_static_image) (GdkPixbufAnimation *animation); + + GdkPixbuf* (*get_static_image) (GdkPixbufAnimation *animation); + + void (*get_size) (GdkPixbufAnimation *animation, + int *width, + int *height); + + GdkPixbufAnimationIter* (*get_iter) (GdkPixbufAnimation *animation, + const GTimeVal *start_time); +}; +G_GNUC_END_IGNORE_DEPRECATIONS + + + +/** + * GdkPixbufAnimationIterClass: + * @parent_class: the parent class + * @get_delay_time: returns the time in milliseconds that the current frame + * should be shown. + * @get_pixbuf: returns the current frame. + * @on_currently_loading_frame: returns whether the current frame of @iter is + * being loaded. + * @advance: advances the iterator to @current_time, possibly changing the + * current frame. + * + * Modules supporting animations must derive a type from + * #GdkPixbufAnimationIter, providing suitable implementations of the + * virtual functions. + */ +typedef struct _GdkPixbufAnimationIterClass GdkPixbufAnimationIterClass; + +#define GDK_PIXBUF_ANIMATION_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_PIXBUF_ANIMATION_ITER, GdkPixbufAnimationIterClass)) +#define GDK_IS_PIXBUF_ANIMATION_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_PIXBUF_ANIMATION_ITER)) +#define GDK_PIXBUF_ANIMATION_ITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_PIXBUF_ANIMATION_ITER, GdkPixbufAnimationIterClass)) + +struct _GdkPixbufAnimationIter { + GObject parent_instance; + +}; + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +struct _GdkPixbufAnimationIterClass { + GObjectClass parent_class; + + /*< public >*/ + + int (*get_delay_time) (GdkPixbufAnimationIter *iter); + + GdkPixbuf* (*get_pixbuf) (GdkPixbufAnimationIter *iter); + + gboolean (*on_currently_loading_frame) (GdkPixbufAnimationIter *iter); + + gboolean (*advance) (GdkPixbufAnimationIter *iter, + const GTimeVal *current_time); +}; +G_GNUC_END_IGNORE_DEPRECATIONS + + +GDK_PIXBUF_AVAILABLE_IN_ALL +GType gdk_pixbuf_non_anim_get_type (void) G_GNUC_CONST; +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbufAnimation* gdk_pixbuf_non_anim_new (GdkPixbuf *pixbuf); + +#endif /* GDK_PIXBUF_ENABLE_BACKEND */ + +G_END_DECLS + +#endif /* GDK_PIXBUF_ANIMATION_H */ diff --git a/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-autocleanups.h b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-autocleanups.h new file mode 100644 index 0000000..9b6f58b --- /dev/null +++ b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-autocleanups.h @@ -0,0 +1,37 @@ +/* GdkPixbuf library - Autocleanup definitions + * + * Copyright (C) 2015 Kalev Lember + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef GDK_PIXBUF_AUTOCLEANUPS_H +#define GDK_PIXBUF_AUTOCLEANUPS_H + +/* We need all the types, so don't try to include this directly */ +#if defined(GDK_PIXBUF_DISABLE_SINGLE_INCLUDES) && !defined (GDK_PIXBUF_H_INSIDE) && !defined (GDK_PIXBUF_COMPILATION) +#error "Only can be included directly." +#endif + +#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkPixbuf, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkPixbufAnimation, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkPixbufAnimationIter, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkPixbufLoader, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkPixbufSimpleAnim, g_object_unref) + +#endif + +#endif /* GDK_PIXBUF_AUTOCLEANUPS_H */ diff --git a/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h new file mode 100644 index 0000000..4b8c9b9 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h @@ -0,0 +1,525 @@ +/* GdkPixbuf library - GdkPixbuf data structure + * + * Copyright (C) 2003 The Free Software Foundation + * + * Authors: Mark Crichton + * Miguel de Icaza + * Federico Mena-Quintero + * Havoc Pennington + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef GDK_PIXBUF_CORE_H +#define GDK_PIXBUF_CORE_H + +#if defined(GDK_PIXBUF_DISABLE_SINGLE_INCLUDES) && !defined (GDK_PIXBUF_H_INSIDE) && !defined (GDK_PIXBUF_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include + +#include + +G_BEGIN_DECLS + +/** + * GdkPixbufAlphaMode: + * @GDK_PIXBUF_ALPHA_BILEVEL: A bilevel clipping mask (black and white) + * will be created and used to draw the image. Pixels below 0.5 opacity + * will be considered fully transparent, and all others will be + * considered fully opaque. + * @GDK_PIXBUF_ALPHA_FULL: For now falls back to #GDK_PIXBUF_ALPHA_BILEVEL. + * In the future it will do full alpha compositing. + * + * Control the alpha channel for drawables. + * + * These values can be passed to gdk_pixbuf_xlib_render_to_drawable_alpha() + * in gdk-pixbuf-xlib to control how the alpha channel of an image should + * be handled. + * + * This function can create a bilevel clipping mask (black and white) and use + * it while painting the image. + * + * In the future, when the X Window System gets an alpha channel extension, + * it will be possible to do full alpha compositing onto arbitrary drawables. + * For now both cases fall back to a bilevel clipping mask. + * + * Deprecated: 2.42: There is no user of GdkPixbufAlphaMode in GdkPixbuf, + * and the Xlib utility functions have been split out to their own + * library, gdk-pixbuf-xlib + */ +typedef enum +{ + GDK_PIXBUF_ALPHA_BILEVEL, + GDK_PIXBUF_ALPHA_FULL +} GdkPixbufAlphaMode; + +/** + * GdkColorspace: + * @GDK_COLORSPACE_RGB: Indicates a red/green/blue additive color space. + * + * This enumeration defines the color spaces that are supported by + * the gdk-pixbuf library. + * + * Currently only RGB is supported. + */ +/* Note that these values are encoded in inline pixbufs + * as ints, so don't reorder them + */ +typedef enum { + GDK_COLORSPACE_RGB +} GdkColorspace; + +/* All of these are opaque structures */ + +typedef struct _GdkPixbuf GdkPixbuf; + +#define GDK_TYPE_PIXBUF (gdk_pixbuf_get_type ()) +#define GDK_PIXBUF(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_PIXBUF, GdkPixbuf)) +#define GDK_IS_PIXBUF(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_PIXBUF)) + + +/** + * GdkPixbufDestroyNotify: + * @pixels: (array) (element-type guint8): The pixel array of the pixbuf + * that is being finalized. + * @data: (closure): User closure data. + * + * A function of this type is responsible for freeing the pixel array + * of a pixbuf. + * + * The gdk_pixbuf_new_from_data() function lets you pass in a pre-allocated + * pixel array so that a pixbuf can be created from it; in this case you + * will need to pass in a function of type `GdkPixbufDestroyNotify` so that + * the pixel data can be freed when the pixbuf is finalized. + */ +typedef void (* GdkPixbufDestroyNotify) (guchar *pixels, gpointer data); + +/** + * GDK_PIXBUF_ERROR: + * + * Error domain used for pixbuf operations. + * + * Indicates that the error code will be in the `GdkPixbufError` enumeration. + * + * See the `GError` for information on error domains and error codes. + */ +#define GDK_PIXBUF_ERROR gdk_pixbuf_error_quark () + +/** + * GdkPixbufError: + * @GDK_PIXBUF_ERROR_CORRUPT_IMAGE: An image file was broken somehow. + * @GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY: Not enough memory. + * @GDK_PIXBUF_ERROR_BAD_OPTION: A bad option was passed to a pixbuf save module. + * @GDK_PIXBUF_ERROR_UNKNOWN_TYPE: Unknown image type. + * @GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION: Don't know how to perform the + * given operation on the type of image at hand. + * @GDK_PIXBUF_ERROR_FAILED: Generic failure code, something went wrong. + * @GDK_PIXBUF_ERROR_INCOMPLETE_ANIMATION: Only part of the animation was loaded. + * + * An error code in the `GDK_PIXBUF_ERROR` domain. + * + * Many gdk-pixbuf operations can cause errors in this domain, or in + * the `G_FILE_ERROR` domain. + */ +typedef enum { + /* image data hosed */ + GDK_PIXBUF_ERROR_CORRUPT_IMAGE, + /* no mem to load image */ + GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY, + /* bad option passed to save routine */ + GDK_PIXBUF_ERROR_BAD_OPTION, + /* unsupported image type (sort of an ENOSYS) */ + GDK_PIXBUF_ERROR_UNKNOWN_TYPE, + /* unsupported operation (load, save) for image type */ + GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION, + GDK_PIXBUF_ERROR_FAILED, + GDK_PIXBUF_ERROR_INCOMPLETE_ANIMATION +} GdkPixbufError; + +GDK_PIXBUF_AVAILABLE_IN_ALL +GQuark gdk_pixbuf_error_quark (void); + + + +GDK_PIXBUF_AVAILABLE_IN_ALL +GType gdk_pixbuf_get_type (void) G_GNUC_CONST; + +/* Reference counting */ + +#ifndef GDK_PIXBUF_DISABLE_DEPRECATED +GDK_PIXBUF_DEPRECATED_IN_2_0_FOR(g_object_ref) +GdkPixbuf *gdk_pixbuf_ref (GdkPixbuf *pixbuf); +GDK_PIXBUF_DEPRECATED_IN_2_0_FOR(g_object_unref) +void gdk_pixbuf_unref (GdkPixbuf *pixbuf); +#endif + +/* GdkPixbuf accessors */ + +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkColorspace gdk_pixbuf_get_colorspace (const GdkPixbuf *pixbuf); +GDK_PIXBUF_AVAILABLE_IN_ALL +int gdk_pixbuf_get_n_channels (const GdkPixbuf *pixbuf); +GDK_PIXBUF_AVAILABLE_IN_ALL +gboolean gdk_pixbuf_get_has_alpha (const GdkPixbuf *pixbuf); +GDK_PIXBUF_AVAILABLE_IN_ALL +int gdk_pixbuf_get_bits_per_sample (const GdkPixbuf *pixbuf); +GDK_PIXBUF_AVAILABLE_IN_ALL +guchar *gdk_pixbuf_get_pixels (const GdkPixbuf *pixbuf); +GDK_PIXBUF_AVAILABLE_IN_ALL +int gdk_pixbuf_get_width (const GdkPixbuf *pixbuf); +GDK_PIXBUF_AVAILABLE_IN_ALL +int gdk_pixbuf_get_height (const GdkPixbuf *pixbuf); +GDK_PIXBUF_AVAILABLE_IN_ALL +int gdk_pixbuf_get_rowstride (const GdkPixbuf *pixbuf); +GDK_PIXBUF_AVAILABLE_IN_2_26 +gsize gdk_pixbuf_get_byte_length (const GdkPixbuf *pixbuf); + +GDK_PIXBUF_AVAILABLE_IN_2_26 +guchar *gdk_pixbuf_get_pixels_with_length (const GdkPixbuf *pixbuf, + guint *length); + +GDK_PIXBUF_AVAILABLE_IN_2_32 +const guint8* gdk_pixbuf_read_pixels (const GdkPixbuf *pixbuf); +GDK_PIXBUF_AVAILABLE_IN_2_32 +GBytes * gdk_pixbuf_read_pixel_bytes (const GdkPixbuf *pixbuf); + + + +/* Create a blank pixbuf with an optimal rowstride and a new buffer */ + +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbuf *gdk_pixbuf_new (GdkColorspace colorspace, gboolean has_alpha, int bits_per_sample, + int width, int height); + +GDK_PIXBUF_AVAILABLE_IN_2_36 +gint gdk_pixbuf_calculate_rowstride (GdkColorspace colorspace, + gboolean has_alpha, + int bits_per_sample, + int width, + int height); + +/* Copy a pixbuf */ +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbuf *gdk_pixbuf_copy (const GdkPixbuf *pixbuf); + +/* Create a pixbuf which points to the pixels of another pixbuf */ +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbuf *gdk_pixbuf_new_subpixbuf (GdkPixbuf *src_pixbuf, + int src_x, + int src_y, + int width, + int height); + +/* Simple loading */ + +#ifdef G_OS_WIN32 +/* In previous versions these _utf8 variants where exported and linked to + * by default. Export them here for ABI (and gi API) compat. + */ + +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbuf *gdk_pixbuf_new_from_file_utf8 (const char *filename, + GError **error); +GDK_PIXBUF_AVAILABLE_IN_2_4 +GdkPixbuf *gdk_pixbuf_new_from_file_at_size_utf8 (const char *filename, + int width, + int height, + GError **error); +GDK_PIXBUF_AVAILABLE_IN_2_6 +GdkPixbuf *gdk_pixbuf_new_from_file_at_scale_utf8 (const char *filename, + int width, + int height, + gboolean preserve_aspect_ratio, + GError **error); +#endif + +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbuf *gdk_pixbuf_new_from_file (const char *filename, + GError **error); +GDK_PIXBUF_AVAILABLE_IN_2_4 +GdkPixbuf *gdk_pixbuf_new_from_file_at_size (const char *filename, + int width, + int height, + GError **error); +GDK_PIXBUF_AVAILABLE_IN_2_6 +GdkPixbuf *gdk_pixbuf_new_from_file_at_scale (const char *filename, + int width, + int height, + gboolean preserve_aspect_ratio, + GError **error); +GDK_PIXBUF_AVAILABLE_IN_2_26 +GdkPixbuf *gdk_pixbuf_new_from_resource (const char *resource_path, + GError **error); +GDK_PIXBUF_AVAILABLE_IN_2_26 +GdkPixbuf *gdk_pixbuf_new_from_resource_at_scale (const char *resource_path, + int width, + int height, + gboolean preserve_aspect_ratio, + GError **error); + +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbuf *gdk_pixbuf_new_from_data (const guchar *data, + GdkColorspace colorspace, + gboolean has_alpha, + int bits_per_sample, + int width, int height, + int rowstride, + GdkPixbufDestroyNotify destroy_fn, + gpointer destroy_fn_data); + +GDK_PIXBUF_AVAILABLE_IN_2_32 +GdkPixbuf *gdk_pixbuf_new_from_bytes (GBytes *data, + GdkColorspace colorspace, + gboolean has_alpha, + int bits_per_sample, + int width, int height, + int rowstride); + +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbuf *gdk_pixbuf_new_from_xpm_data (const char **data); + +#ifndef GDK_PIXBUF_DISABLE_DEPRECATED +GDK_PIXBUF_DEPRECATED_IN_2_32 +GdkPixbuf* gdk_pixbuf_new_from_inline (gint data_length, + const guint8 *data, + gboolean copy_pixels, + GError **error); +#endif + +/* Mutations */ +GDK_PIXBUF_AVAILABLE_IN_ALL +void gdk_pixbuf_fill (GdkPixbuf *pixbuf, + guint32 pixel); + +/* Saving */ + +#ifndef __GTK_DOC_IGNORE__ +#ifdef G_OS_WIN32 +/* DLL ABI stability hack. */ +#define gdk_pixbuf_save gdk_pixbuf_save_utf8 +#endif +#endif + +GDK_PIXBUF_AVAILABLE_IN_ALL +gboolean gdk_pixbuf_save (GdkPixbuf *pixbuf, + const char *filename, + const char *type, + GError **error, + ...) G_GNUC_NULL_TERMINATED; + +GDK_PIXBUF_AVAILABLE_IN_ALL +gboolean gdk_pixbuf_savev (GdkPixbuf *pixbuf, + const char *filename, + const char *type, + char **option_keys, + char **option_values, + GError **error); + +#ifdef G_OS_WIN32 +GDK_PIXBUF_AVAILABLE_IN_ALL +gboolean gdk_pixbuf_savev_utf8 (GdkPixbuf *pixbuf, + const char *filename, + const char *type, + char **option_keys, + char **option_values, + GError **error); +#endif + +/* Saving to a callback function */ + + +/** + * GdkPixbufSaveFunc: + * @buf: (array length=count) (element-type guint8): bytes to be written. + * @count: number of bytes in @buf. + * @error: (out): A location to return an error. + * @data: (closure): user data passed to gdk_pixbuf_save_to_callback(). + * + * Save functions used by [method@GdkPixbuf.Pixbuf.save_to_callback]. + * + * This function is called once for each block of bytes that is "written" + * by `gdk_pixbuf_save_to_callback()`. + * + * If successful it should return `TRUE`; if an error occurs it should set + * `error` and return `FALSE`, in which case `gdk_pixbuf_save_to_callback()` + * will fail with the same error. + * + * Returns: `TRUE` if successful, `FALSE` otherwise + * + * Since: 2.4 + */ + +typedef gboolean (*GdkPixbufSaveFunc) (const gchar *buf, + gsize count, + GError **error, + gpointer data); + +GDK_PIXBUF_AVAILABLE_IN_2_4 +gboolean gdk_pixbuf_save_to_callback (GdkPixbuf *pixbuf, + GdkPixbufSaveFunc save_func, + gpointer user_data, + const char *type, + GError **error, + ...) G_GNUC_NULL_TERMINATED; + +GDK_PIXBUF_AVAILABLE_IN_2_4 +gboolean gdk_pixbuf_save_to_callbackv (GdkPixbuf *pixbuf, + GdkPixbufSaveFunc save_func, + gpointer user_data, + const char *type, + char **option_keys, + char **option_values, + GError **error); + +/* Saving into a newly allocated char array */ + +GDK_PIXBUF_AVAILABLE_IN_2_4 +gboolean gdk_pixbuf_save_to_buffer (GdkPixbuf *pixbuf, + gchar **buffer, + gsize *buffer_size, + const char *type, + GError **error, + ...) G_GNUC_NULL_TERMINATED; + +GDK_PIXBUF_AVAILABLE_IN_2_4 +gboolean gdk_pixbuf_save_to_bufferv (GdkPixbuf *pixbuf, + gchar **buffer, + gsize *buffer_size, + const char *type, + char **option_keys, + char **option_values, + GError **error); + +GDK_PIXBUF_AVAILABLE_IN_2_14 +GdkPixbuf *gdk_pixbuf_new_from_stream (GInputStream *stream, + GCancellable *cancellable, + GError **error); + +GDK_PIXBUF_AVAILABLE_IN_ALL +void gdk_pixbuf_new_from_stream_async (GInputStream *stream, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbuf *gdk_pixbuf_new_from_stream_finish (GAsyncResult *async_result, + GError **error); + +GDK_PIXBUF_AVAILABLE_IN_2_14 +GdkPixbuf *gdk_pixbuf_new_from_stream_at_scale (GInputStream *stream, + gint width, + gint height, + gboolean preserve_aspect_ratio, + GCancellable *cancellable, + GError **error); + +GDK_PIXBUF_AVAILABLE_IN_ALL +void gdk_pixbuf_new_from_stream_at_scale_async (GInputStream *stream, + gint width, + gint height, + gboolean preserve_aspect_ratio, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GDK_PIXBUF_AVAILABLE_IN_2_14 +gboolean gdk_pixbuf_save_to_stream (GdkPixbuf *pixbuf, + GOutputStream *stream, + const char *type, + GCancellable *cancellable, + GError **error, + ...); + +GDK_PIXBUF_AVAILABLE_IN_ALL +void gdk_pixbuf_save_to_stream_async (GdkPixbuf *pixbuf, + GOutputStream *stream, + const gchar *type, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data, + ...); + +GDK_PIXBUF_AVAILABLE_IN_ALL +gboolean gdk_pixbuf_save_to_stream_finish (GAsyncResult *async_result, + GError **error); + +GDK_PIXBUF_AVAILABLE_IN_2_36 +void gdk_pixbuf_save_to_streamv_async (GdkPixbuf *pixbuf, + GOutputStream *stream, + const gchar *type, + gchar **option_keys, + gchar **option_values, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GDK_PIXBUF_AVAILABLE_IN_2_36 +gboolean gdk_pixbuf_save_to_streamv (GdkPixbuf *pixbuf, + GOutputStream *stream, + const char *type, + char **option_keys, + char **option_values, + GCancellable *cancellable, + GError **error); + +/* Adding an alpha channel */ +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbuf *gdk_pixbuf_add_alpha (const GdkPixbuf *pixbuf, gboolean substitute_color, + guchar r, guchar g, guchar b); + +/* Copy an area of a pixbuf onto another one */ +GDK_PIXBUF_AVAILABLE_IN_ALL +void gdk_pixbuf_copy_area (const GdkPixbuf *src_pixbuf, + int src_x, int src_y, + int width, int height, + GdkPixbuf *dest_pixbuf, + int dest_x, int dest_y); + +/* Brighten/darken and optionally make it pixelated-looking */ +GDK_PIXBUF_AVAILABLE_IN_ALL +void gdk_pixbuf_saturate_and_pixelate (const GdkPixbuf *src, + GdkPixbuf *dest, + gfloat saturation, + gboolean pixelate); + +/* Transform an image to agree with its embedded orientation option / tag */ +GDK_PIXBUF_AVAILABLE_IN_2_12 +GdkPixbuf *gdk_pixbuf_apply_embedded_orientation (GdkPixbuf *src); + +/* key/value pairs that can be attached by the pixbuf loader */ +GDK_PIXBUF_AVAILABLE_IN_ALL +gboolean gdk_pixbuf_set_option (GdkPixbuf *pixbuf, + const gchar *key, + const gchar *value); +GDK_PIXBUF_AVAILABLE_IN_ALL +const gchar * gdk_pixbuf_get_option (GdkPixbuf *pixbuf, + const gchar *key); +GDK_PIXBUF_AVAILABLE_IN_2_36 +gboolean gdk_pixbuf_remove_option (GdkPixbuf *pixbuf, + const gchar *key); +GDK_PIXBUF_AVAILABLE_IN_2_32 +GHashTable * gdk_pixbuf_get_options (GdkPixbuf *pixbuf); +GDK_PIXBUF_AVAILABLE_IN_2_36 +gboolean gdk_pixbuf_copy_options (GdkPixbuf *src_pixbuf, + GdkPixbuf *dest_pixbuf); + + +G_END_DECLS + + +#endif /* GDK_PIXBUF_CORE_H */ diff --git a/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h new file mode 100644 index 0000000..f692664 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h @@ -0,0 +1,40 @@ + +/* This file is generated by glib-mkenums, do not modify it. This code is licensed under the same license as the containing project. Note that it links to GLib, so must comply with the LGPL linking clauses. */ + +#if defined(GDK_PIXBUF_DISABLE_SINGLE_INCLUDES) && !defined (GDK_PIXBUF_H_INSIDE) && !defined (GDK_PIXBUF_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_PIXBUF_ENUM_TYPES_H__ +#define __GDK_PIXBUF_ENUM_TYPES_H__ + +#include + +#include + +G_BEGIN_DECLS + +/* enumerations from "gdk-pixbuf-core.h" */ +GDK_PIXBUF_AVAILABLE_IN_ALL +GType gdk_pixbuf_alpha_mode_get_type (void) G_GNUC_CONST; +#define GDK_TYPE_PIXBUF_ALPHA_MODE (gdk_pixbuf_alpha_mode_get_type ()) +GDK_PIXBUF_AVAILABLE_IN_ALL +GType gdk_colorspace_get_type (void) G_GNUC_CONST; +#define GDK_TYPE_COLORSPACE (gdk_colorspace_get_type ()) +GDK_PIXBUF_AVAILABLE_IN_ALL +GType gdk_pixbuf_error_get_type (void) G_GNUC_CONST; +#define GDK_TYPE_PIXBUF_ERROR (gdk_pixbuf_error_get_type ()) + +/* enumerations from "gdk-pixbuf-transform.h" */ +GDK_PIXBUF_AVAILABLE_IN_ALL +GType gdk_interp_type_get_type (void) G_GNUC_CONST; +#define GDK_TYPE_INTERP_TYPE (gdk_interp_type_get_type ()) +GDK_PIXBUF_AVAILABLE_IN_ALL +GType gdk_pixbuf_rotation_get_type (void) G_GNUC_CONST; +#define GDK_TYPE_PIXBUF_ROTATION (gdk_pixbuf_rotation_get_type ()) +G_END_DECLS + +#endif /* __GDK_PIXBUF_ENUM_TYPES_H__ */ + +/* Generated data ends here */ + diff --git a/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h new file mode 100644 index 0000000..94ab159 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h @@ -0,0 +1,115 @@ +#ifndef __GDK_PIXBUF_FEATURES_H__ +#define __GDK_PIXBUF_FEATURES_H__ + +#if defined(GDK_PIXBUF_DISABLE_SINGLE_INCLUDES) && !defined (GDK_PIXBUF_H_INSIDE) && !defined (GDK_PIXBUF_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +/** + * GDK_PIXBUF_MAJOR: + * + * Major version of gdk-pixbuf library, that is the "0" in + * "0.8.2" for example. + */ +/** + * GDK_PIXBUF_MINOR: + * + * Minor version of gdk-pixbuf library, that is the "8" in + * "0.8.2" for example. + */ +/** + * GDK_PIXBUF_MICRO: + * + * Micro version of gdk-pixbuf library, that is the "2" in + * "0.8.2" for example. + */ +/** + * GDK_PIXBUF_VERSION: + * + * Contains the full version of GdkPixbuf as a string. + * + * This is the version being compiled against; contrast with + * `gdk_pixbuf_version`. + */ + +#define GDK_PIXBUF_MAJOR (2) +#define GDK_PIXBUF_MINOR (42) +#define GDK_PIXBUF_MICRO (12) +#define GDK_PIXBUF_VERSION "2.42.12" + +#ifndef _GDK_PIXBUF_EXTERN +#define _GDK_PIXBUF_EXTERN extern +#endif + +/* We prefix variable declarations so they can + * properly get exported/imported from Windows DLLs. + */ +#ifdef G_PLATFORM_WIN32 +# ifdef GDK_PIXBUF_STATIC_COMPILATION +# define GDK_PIXBUF_VAR extern +# else /* !GDK_PIXBUF_STATIC_COMPILATION */ +# ifdef GDK_PIXBUF_C_COMPILATION +# ifdef DLL_EXPORT +# define GDK_PIXBUF_VAR _GDK_PIXBUF_EXTERN +# else /* !DLL_EXPORT */ +# define GDK_PIXBUF_VAR extern +# endif /* !DLL_EXPORT */ +# else /* !GDK_PIXBUF_C_COMPILATION */ +# define GDK_PIXBUF_VAR extern __declspec(dllimport) +# endif /* !GDK_PIXBUF_C_COMPILATION */ +# endif /* !GDK_PIXBUF_STATIC_COMPILATION */ +#else /* !G_PLATFORM_WIN32 */ +# define GDK_PIXBUF_VAR _GDK_PIXBUF_EXTERN +#endif /* !G_PLATFORM_WIN32 */ + +/** + * gdk_pixbuf_major_version: + * + * The major version number of the gdk-pixbuf library. (e.g. in + * gdk-pixbuf version 1.2.5 this is 1.) + * + * + * This variable is in the library, so represents the + * gdk-pixbuf library you have linked against. Contrast with the + * `GDK_PIXBUF_MAJOR` macro, which represents the major version of the + * gdk-pixbuf headers you have included. + */ +/** + * gdk_pixbuf_minor_version: + * + * The minor version number of the gdk-pixbuf library. (e.g. in + * gdk-pixbuf version 1.2.5 this is 2.) + * + * + * This variable is in the library, so represents the + * gdk-pixbuf library you have linked against. Contrast with the + * `GDK_PIXBUF_MINOR` macro, which represents the minor version of the + * gdk-pixbuf headers you have included. + */ +/** + * gdk_pixbuf_micro_version: + * + * The micro version number of the gdk-pixbuf library. (e.g. in + * gdk-pixbuf version 1.2.5 this is 5.) + * + * + * This variable is in the library, so represents the + * gdk-pixbuf library you have linked against. Contrast with the + * `GDK_PIXBUF_MICRO` macro, which represents the micro version of the + * gdk-pixbuf headers you have included. + */ +/** + * gdk_pixbuf_version: + * + * Contains the full version of the gdk-pixbuf library as a string. + * This is the version currently in use by a running program. + */ + +GDK_PIXBUF_VAR const guint gdk_pixbuf_major_version; +GDK_PIXBUF_VAR const guint gdk_pixbuf_minor_version; +GDK_PIXBUF_VAR const guint gdk_pixbuf_micro_version; +GDK_PIXBUF_VAR const char *gdk_pixbuf_version; + +#endif /* __GDK_PIXBUF_FEATURES_H__ */ diff --git a/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h new file mode 100644 index 0000000..7565744 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h @@ -0,0 +1,481 @@ +/* GdkPixbuf library - Io handling. This is an internal header for + * GdkPixbuf. You should never use it unless you are doing development for + * GdkPixbuf itself. + * + * Copyright (C) 1999 The Free Software Foundation + * + * Authors: Mark Crichton + * Miguel de Icaza + * Federico Mena-Quintero + * Jonathan Blandford + * Michael Fulbright + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef GDK_PIXBUF_IO_H +#define GDK_PIXBUF_IO_H + +#if defined(GDK_PIXBUF_DISABLE_SINGLE_INCLUDES) && !defined (GDK_PIXBUF_H_INSIDE) && !defined (GDK_PIXBUF_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include +#include +#include + +G_BEGIN_DECLS + +typedef struct _GdkPixbufFormat GdkPixbufFormat; + +GDK_PIXBUF_AVAILABLE_IN_2_40 +gboolean gdk_pixbuf_init_modules (const char *path, + GError **error); + +GDK_PIXBUF_AVAILABLE_IN_ALL +GType gdk_pixbuf_format_get_type (void) G_GNUC_CONST; + +GDK_PIXBUF_AVAILABLE_IN_ALL +GSList *gdk_pixbuf_get_formats (void); +GDK_PIXBUF_AVAILABLE_IN_2_2 +gchar *gdk_pixbuf_format_get_name (GdkPixbufFormat *format); +GDK_PIXBUF_AVAILABLE_IN_2_2 +gchar *gdk_pixbuf_format_get_description (GdkPixbufFormat *format); +GDK_PIXBUF_AVAILABLE_IN_2_2 +gchar **gdk_pixbuf_format_get_mime_types (GdkPixbufFormat *format); +GDK_PIXBUF_AVAILABLE_IN_2_2 +gchar **gdk_pixbuf_format_get_extensions (GdkPixbufFormat *format); +GDK_PIXBUF_AVAILABLE_IN_2_36 +gboolean gdk_pixbuf_format_is_save_option_supported (GdkPixbufFormat *format, + const gchar *option_key); +GDK_PIXBUF_AVAILABLE_IN_2_2 +gboolean gdk_pixbuf_format_is_writable (GdkPixbufFormat *format); +GDK_PIXBUF_AVAILABLE_IN_2_6 +gboolean gdk_pixbuf_format_is_scalable (GdkPixbufFormat *format); +GDK_PIXBUF_AVAILABLE_IN_2_6 +gboolean gdk_pixbuf_format_is_disabled (GdkPixbufFormat *format); +GDK_PIXBUF_AVAILABLE_IN_2_6 +void gdk_pixbuf_format_set_disabled (GdkPixbufFormat *format, + gboolean disabled); +GDK_PIXBUF_AVAILABLE_IN_2_6 +gchar *gdk_pixbuf_format_get_license (GdkPixbufFormat *format); + +GDK_PIXBUF_AVAILABLE_IN_2_4 +GdkPixbufFormat *gdk_pixbuf_get_file_info (const gchar *filename, + gint *width, + gint *height); +GDK_PIXBUF_AVAILABLE_IN_2_32 +void gdk_pixbuf_get_file_info_async (const gchar *filename, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GDK_PIXBUF_AVAILABLE_IN_2_32 +GdkPixbufFormat *gdk_pixbuf_get_file_info_finish (GAsyncResult *async_result, + gint *width, + gint *height, + GError **error); + +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbufFormat *gdk_pixbuf_format_copy (const GdkPixbufFormat *format); +GDK_PIXBUF_AVAILABLE_IN_ALL +void gdk_pixbuf_format_free (GdkPixbufFormat *format); + +#ifdef GDK_PIXBUF_ENABLE_BACKEND + + + +/** + * GdkPixbufModuleSizeFunc: + * @width: pointer to a location containing the current image width + * @height: pointer to a location containing the current image height + * @user_data: the loader. + * + * Defines the type of the function that gets called once the size + * of the loaded image is known. + * + * The function is expected to set @width and @height to the desired + * size to which the image should be scaled. If a module has no efficient + * way to achieve the desired scaling during the loading of the image, it may + * either ignore the size request, or only approximate it - gdk-pixbuf will + * then perform the required scaling on the completely loaded image. + * + * If the function sets @width or @height to zero, the module should interpret + * this as a hint that it will be closed soon and shouldn't allocate further + * resources. This convention is used to implement gdk_pixbuf_get_file_info() + * efficiently. + * + * Since: 2.2 + */ +typedef void (* GdkPixbufModuleSizeFunc) (gint *width, + gint *height, + gpointer user_data); + +/** + * GdkPixbufModulePreparedFunc: + * @pixbuf: the #GdkPixbuf that is currently being loaded. + * @anim: if an animation is being loaded, the #GdkPixbufAnimation, else %NULL. + * @user_data: the loader. + * + * Defines the type of the function that gets called once the initial + * setup of @pixbuf is done. + * + * #GdkPixbufLoader uses a function of this type to emit the + * "area_prepared" + * signal. + * + * Since: 2.2 + */ +typedef void (* GdkPixbufModulePreparedFunc) (GdkPixbuf *pixbuf, + GdkPixbufAnimation *anim, + gpointer user_data); + +/** + * GdkPixbufModuleUpdatedFunc: + * @pixbuf: the #GdkPixbuf that is currently being loaded. + * @x: the X origin of the updated area. + * @y: the Y origin of the updated area. + * @width: the width of the updated area. + * @height: the height of the updated area. + * @user_data: the loader. + * + * Defines the type of the function that gets called every time a region + * of @pixbuf is updated. + * + * #GdkPixbufLoader uses a function of this type to emit the + * "area_updated" + * signal. + * + * Since: 2.2 + */ +typedef void (* GdkPixbufModuleUpdatedFunc) (GdkPixbuf *pixbuf, + int x, + int y, + int width, + int height, + gpointer user_data); + +/** + * GdkPixbufModulePattern: + * @prefix: the prefix for this pattern + * @mask: mask containing bytes which modify how the prefix is matched against + * test data + * @relevance: relevance of this pattern + * + * The signature prefix for a module. + * + * The signature of a module is a set of prefixes. Prefixes are encoded as + * pairs of ordinary strings, where the second string, called the mask, if + * not `NULL`, must be of the same length as the first one and may contain + * ' ', '!', 'x', 'z', and 'n' to indicate bytes that must be matched, + * not matched, "don't-care"-bytes, zeros and non-zeros, respectively. + * + * Each prefix has an associated integer that describes the relevance of + * the prefix, with 0 meaning a mismatch and 100 a "perfect match". + * + * Starting with gdk-pixbuf 2.8, the first byte of the mask may be '*', + * indicating an unanchored pattern that matches not only at the beginning, + * but also in the middle. Versions prior to 2.8 will interpret the '*' + * like an 'x'. + * + * The signature of a module is stored as an array of + * `GdkPixbufModulePatterns`. The array is terminated by a pattern + * where the `prefix` is `NULL`. + * + * ```c + * GdkPixbufModulePattern *signature[] = { + * { "abcdx", " !x z", 100 }, + * { "bla", NULL, 90 }, + * { NULL, NULL, 0 } + * }; + * ``` + * + * In the example above, the signature matches e.g. "auud\0" with + * relevance 100, and "blau" with relevance 90. + * + * Since: 2.2 + */ +typedef struct _GdkPixbufModulePattern GdkPixbufModulePattern; +struct _GdkPixbufModulePattern { + char *prefix; + char *mask; + int relevance; +}; + +/** + * GdkPixbufModuleLoadFunc: + * @f: the file stream from which the image should be loaded + * @error: return location for a loading error + * + * Loads a file from a standard C file stream into a new `GdkPixbuf`. + * + * In case of error, this function should return `NULL` and set the `error` argument. + * + * Returns: (transfer full): a newly created `GdkPixbuf` for the contents of the file + */ +typedef GdkPixbuf *(* GdkPixbufModuleLoadFunc) (FILE *f, + GError **error); + +/** + * GdkPixbufModuleLoadXpmDataFunc: + * @data: (array zero-terminated=1): the XPM data + * + * Loads XPM data into a new `GdkPixbuf`. + * + * Returns: (transfer full): a newly created `GdkPixbuf` for the XPM data + */ +typedef GdkPixbuf *(* GdkPixbufModuleLoadXpmDataFunc) (const char **data); + +/** + * GdkPixbufModuleLoadAnimationFunc: + * @f: the file stream from which the image should be loaded + * @error: return location for a loading error + * + * Loads a file from a standard C file stream into a new `GdkPixbufAnimation`. + * + * In case of error, this function should return `NULL` and set the `error` argument. + * + * Returns: (transfer full): a newly created `GdkPixbufAnimation` for the contents of the file + */ +typedef GdkPixbufAnimation *(* GdkPixbufModuleLoadAnimationFunc) (FILE *f, + GError **error); + +/** + * GdkPixbufModuleBeginLoadFunc: + * @size_func: the function to be called when the size is known + * @prepared_func: the function to be called when the data has been prepared + * @updated_func: the function to be called when the data has been updated + * @user_data: the data to be passed to the functions + * @error: return location for a loading error + * + * Sets up the image loading state. + * + * The image loader is responsible for storing the given function pointers + * and user data, and call them when needed. + * + * The image loader should set up an internal state object, and return it + * from this function; the state object will then be updated from the + * [callback@GdkPixbuf.PixbufModuleIncrementLoadFunc] callback, and will be freed + * by [callback@GdkPixbuf.PixbufModuleStopLoadFunc] callback. + * + * Returns: (transfer full): the data to be passed to + * [callback@GdkPixbuf.PixbufModuleIncrementLoadFunc] + * and [callback@GdkPixbuf.PixbufModuleStopLoadFunc], or `NULL` in case of error + */ +typedef gpointer (* GdkPixbufModuleBeginLoadFunc) (GdkPixbufModuleSizeFunc size_func, + GdkPixbufModulePreparedFunc prepared_func, + GdkPixbufModuleUpdatedFunc updated_func, + gpointer user_data, + GError **error); + +/** + * GdkPixbufModuleStopLoadFunc: + * @context: (transfer full): the state object created by [callback@GdkPixbuf.PixbufModuleBeginLoadFunc] + * @error: return location for a loading error + * + * Finalizes the image loading state. + * + * This function is called on success and error states. + * + * Returns: `TRUE` if the loading operation was successful + */ +typedef gboolean (* GdkPixbufModuleStopLoadFunc) (gpointer context, + GError **error); + +/** + * GdkPixbufModuleIncrementLoadFunc: + * @context: (transfer none): the state object created by [callback@GdkPixbuf.PixbufModuleBeginLoadFunc] + * @buf: (array length=size) (element-type guint8): the data to load + * @size: the length of the data to load + * @error: return location for a loading error + * + * Incrementally loads a buffer into the image data. + * + * Returns: `TRUE` if the incremental load was successful + */ +typedef gboolean (* GdkPixbufModuleIncrementLoadFunc) (gpointer context, + const guchar *buf, + guint size, + GError **error); + +/** + * GdkPixbufModuleSaveFunc: + * @f: the file stream into which the image should be saved + * @pixbuf: the image to save + * @param_keys: (nullable) (array zero-terminated=1): parameter keys to save + * @param_values: (nullable) (array zero-terminated=1): parameter values to save + * @error: return location for a saving error + * + * Saves a `GdkPixbuf` into a standard C file stream. + * + * The optional `param_keys` and `param_values` arrays contain the keys and + * values (in the same order) for attributes to be saved alongside the image + * data. + * + * Returns: `TRUE` on success; in case of failure, `FALSE` is returned and + * the `error` is set + */ +typedef gboolean (* GdkPixbufModuleSaveFunc) (FILE *f, + GdkPixbuf *pixbuf, + gchar **param_keys, + gchar **param_values, + GError **error); + +/** + * GdkPixbufModuleSaveCallbackFunc: + * @save_func: the function to call when saving + * @user_data: (closure): the data to pass to @save_func + * @pixbuf: the `GdkPixbuf` to save + * @option_keys: (nullable) (array zero-terminated=1): an array of option names + * @option_values: (nullable) (array zero-terminated=1): an array of option values + * @error: return location for a save error + * + * Saves a `GdkPixbuf` by calling the provided function. + * + * The optional `option_keys` and `option_values` arrays contain the keys and + * values (in the same order) for attributes to be saved alongside the image + * data. + * + * Returns: `TRUE` on success; in case of failure, `FALSE` is returned and + * the `error` is set + */ +typedef gboolean (* GdkPixbufModuleSaveCallbackFunc) (GdkPixbufSaveFunc save_func, + gpointer user_data, + GdkPixbuf *pixbuf, + gchar **option_keys, + gchar **option_values, + GError **error); + +/** + * GdkPixbufModuleSaveOptionSupportedFunc: + * @option_key: the option key to check + * + * Checks whether the given `option_key` is supported when saving. + * + * Returns: `TRUE` if the option is supported + */ +typedef gboolean (* GdkPixbufModuleSaveOptionSupportedFunc) (const gchar *option_key); + +typedef struct _GdkPixbufModule GdkPixbufModule; +struct _GdkPixbufModule { + char *module_name; + char *module_path; + GModule *module; + GdkPixbufFormat *info; + + /* Atomic loading */ + GdkPixbufModuleLoadFunc load; + GdkPixbufModuleLoadXpmDataFunc load_xpm_data; + + /* Incremental loading */ + GdkPixbufModuleBeginLoadFunc begin_load; + GdkPixbufModuleStopLoadFunc stop_load; + GdkPixbufModuleIncrementLoadFunc load_increment; + + /* Animation loading */ + GdkPixbufModuleLoadAnimationFunc load_animation; + + /* Saving */ + GdkPixbufModuleSaveFunc save; + GdkPixbufModuleSaveCallbackFunc save_to_callback; + GdkPixbufModuleSaveOptionSupportedFunc is_save_option_supported; + + /*< private >*/ + void (*_reserved1) (void); + void (*_reserved2) (void); + void (*_reserved3) (void); + void (*_reserved4) (void); +}; + +/** + * GdkPixbufModuleFillVtableFunc: + * @module: a #GdkPixbufModule. + * + * Defines the type of the function used to set the vtable of a + * #GdkPixbufModule when it is loaded. + * + * Since: 2.2 + */ +typedef void (* GdkPixbufModuleFillVtableFunc) (GdkPixbufModule *module); + +/** + * GdkPixbufModuleFillInfoFunc: + * @info: a #GdkPixbufFormat. + * + * Defines the type of the function used to fill a + * #GdkPixbufFormat structure with information about a module. + * + * Since: 2.2 + */ +typedef void (* GdkPixbufModuleFillInfoFunc) (GdkPixbufFormat *info); + +/** + * GdkPixbufFormatFlags: + * @GDK_PIXBUF_FORMAT_WRITABLE: the module can write out images in the format. + * @GDK_PIXBUF_FORMAT_SCALABLE: the image format is scalable + * @GDK_PIXBUF_FORMAT_THREADSAFE: the module is threadsafe. gdk-pixbuf + * ignores modules that are not marked as threadsafe. (Since 2.28). + * + * Flags which allow a module to specify further details about the supported + * operations. + * + * Since: 2.2 + */ +typedef enum /*< skip >*/ +{ + GDK_PIXBUF_FORMAT_WRITABLE = 1 << 0, + GDK_PIXBUF_FORMAT_SCALABLE = 1 << 1, + GDK_PIXBUF_FORMAT_THREADSAFE = 1 << 2 +} GdkPixbufFormatFlags; + +/** + * GdkPixbufFormat: + * @name: the name of the image format + * @signature: the signature of the module + * @domain: the message domain for the `description` + * @description: a description of the image format + * @mime_types: (array zero-terminated=1): the MIME types for the image format + * @extensions: (array zero-terminated=1): typical filename extensions for the + * image format + * @flags: a combination of `GdkPixbufFormatFlags` + * @disabled: a boolean determining whether the loader is disabled` + * @license: a string containing license information, typically set to + * shorthands like "GPL", "LGPL", etc. + * + * A `GdkPixbufFormat` contains information about the image format accepted + * by a module. + * + * Only modules should access the fields directly, applications should + * use the `gdk_pixbuf_format_*` family of functions. + * + * Since: 2.2 + */ +struct _GdkPixbufFormat { + gchar *name; + GdkPixbufModulePattern *signature; + gchar *domain; + gchar *description; + gchar **mime_types; + gchar **extensions; + guint32 flags; + gboolean disabled; + gchar *license; +}; + +#endif /* GDK_PIXBUF_ENABLE_BACKEND */ + +G_END_DECLS + +#endif /* GDK_PIXBUF_IO_H */ diff --git a/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h new file mode 100644 index 0000000..1cc3413 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h @@ -0,0 +1,113 @@ +/* GdkPixbuf library - Progressive loader object + * + * Copyright (C) 1999 The Free Software Foundation + * + * Authors: Mark Crichton + * Miguel de Icaza + * Federico Mena-Quintero + * Jonathan Blandford + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef GDK_PIXBUF_LOADER_H +#define GDK_PIXBUF_LOADER_H + +#if defined(GDK_PIXBUF_DISABLE_SINGLE_INCLUDES) && !defined (GDK_PIXBUF_H_INSIDE) && !defined (GDK_PIXBUF_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include +#include +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_PIXBUF_LOADER (gdk_pixbuf_loader_get_type ()) +#define GDK_PIXBUF_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_PIXBUF_LOADER, GdkPixbufLoader)) +#define GDK_PIXBUF_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_PIXBUF_LOADER, GdkPixbufLoaderClass)) +#define GDK_IS_PIXBUF_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_PIXBUF_LOADER)) +#define GDK_IS_PIXBUF_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_PIXBUF_LOADER)) +#define GDK_PIXBUF_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_PIXBUF_LOADER, GdkPixbufLoaderClass)) + +typedef struct _GdkPixbufLoader GdkPixbufLoader; +struct _GdkPixbufLoader +{ + /*< private >*/ + GObject parent_instance; + + gpointer priv; +}; + +typedef struct _GdkPixbufLoaderClass GdkPixbufLoaderClass; +struct _GdkPixbufLoaderClass +{ + GObjectClass parent_class; + + void (*size_prepared) (GdkPixbufLoader *loader, + int width, + int height); + + void (*area_prepared) (GdkPixbufLoader *loader); + + /* Last known frame needs a redraw for x, y, width, height */ + void (*area_updated) (GdkPixbufLoader *loader, + int x, + int y, + int width, + int height); + + void (*closed) (GdkPixbufLoader *loader); +}; + +GDK_PIXBUF_AVAILABLE_IN_ALL +GType gdk_pixbuf_loader_get_type (void) G_GNUC_CONST; +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbufLoader * gdk_pixbuf_loader_new (void); +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbufLoader * gdk_pixbuf_loader_new_with_type (const char *image_type, + GError **error); +GDK_PIXBUF_AVAILABLE_IN_2_4 +GdkPixbufLoader * gdk_pixbuf_loader_new_with_mime_type (const char *mime_type, + GError **error); +GDK_PIXBUF_AVAILABLE_IN_2_2 +void gdk_pixbuf_loader_set_size (GdkPixbufLoader *loader, + int width, + int height); +GDK_PIXBUF_AVAILABLE_IN_ALL +gboolean gdk_pixbuf_loader_write (GdkPixbufLoader *loader, + const guchar *buf, + gsize count, + GError **error); +GDK_PIXBUF_AVAILABLE_IN_2_30 +gboolean gdk_pixbuf_loader_write_bytes (GdkPixbufLoader *loader, + GBytes *buffer, + GError **error); +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbuf * gdk_pixbuf_loader_get_pixbuf (GdkPixbufLoader *loader); +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbufAnimation * gdk_pixbuf_loader_get_animation (GdkPixbufLoader *loader); +GDK_PIXBUF_AVAILABLE_IN_ALL +gboolean gdk_pixbuf_loader_close (GdkPixbufLoader *loader, + GError **error); +GDK_PIXBUF_AVAILABLE_IN_2_2 +GdkPixbufFormat *gdk_pixbuf_loader_get_format (GdkPixbufLoader *loader); + +G_END_DECLS + +#endif + + diff --git a/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-macros.h b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-macros.h new file mode 100644 index 0000000..6461c54 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-macros.h @@ -0,0 +1,718 @@ +/* GdkPixbuf library - GdkPixbuf Macros + * + * Copyright (C) 2016 Chun-wei Fan + * + * Authors: Chun-wei Fan + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#if defined(GDK_PIXBUF_DISABLE_SINGLE_INCLUDES) && !defined (GDK_PIXBUF_H_INSIDE) && !defined (GDK_PIXBUF_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef GDK_PIXBUF_MACROS_H +#define GDK_PIXBUF_MACROS_H + +#include + +#include + +/** + * GDK_PIXBUF_CHECK_VERSION: + * @major: major version (e.g. 2 for version 2.34.0) + * @minor: minor version (e.g. 34 for version 2.34.0) + * @micro: micro version (e.g. 0 for version 2.34.0) + * + * Macro to test the version of GdkPixbuf being compiled against. + * + * Returns: %TRUE if the version of the GdkPixbuf header files + * is the same as or newer than the passed-in version. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_CHECK_VERSION(major, minor, micro) \ + (GDK_PIXBUF_MAJOR > (major) || \ + (GDK_PIXBUF_MAJOR == (major) && GDK_PIXBUF_MINOR > (minor)) || \ + (GDK_PIXBUF_MAJOR == (major) && GDK_PIXBUF_MINOR == (minor) && \ + GDK_PIXBUF_MICRO >= (micro))) + +/** + * GDK_PIXBUF_VERSION_2_0: + * + * A macro that evaluates to the 2.0 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_0 (G_ENCODE_VERSION (2, 0)) + +/** + * GDK_PIXBUF_VERSION_2_2: + * + * A macro that evaluates to the 2.2 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_2 (G_ENCODE_VERSION (2, 2)) + +/** + * GDK_PIXBUF_VERSION_2_4: + * + * A macro that evaluates to the 2.4 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_4 (G_ENCODE_VERSION (2, 4)) + +/** + * GDK_PIXBUF_VERSION_2_6: + * + * A macro that evaluates to the 2.6 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_6 (G_ENCODE_VERSION (2, 6)) + +/** + * GDK_PIXBUF_VERSION_2_8: + * + * A macro that evaluates to the 2.8 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_8 (G_ENCODE_VERSION (2, 8)) + +/** + * GDK_PIXBUF_VERSION_2_10: + * + * A macro that evaluates to the 2.10 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_10 (G_ENCODE_VERSION (2, 10)) + +/** + * GDK_PIXBUF_VERSION_2_12: + * + * A macro that evaluates to the 2.12 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_12 (G_ENCODE_VERSION (2, 12)) + +/** + * GDK_PIXBUF_VERSION_2_14: + * + * A macro that evaluates to the 2.14 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_14 (G_ENCODE_VERSION (2, 14)) + +/** + * GDK_PIXBUF_VERSION_2_16: + * + * A macro that evaluates to the 2.16 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_16 (G_ENCODE_VERSION (2, 16)) + +/** + * GDK_PIXBUF_VERSION_2_18: + * + * A macro that evaluates to the 2.18 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_18 (G_ENCODE_VERSION (2, 18)) + +/** + * GDK_PIXBUF_VERSION_2_20: + * + * A macro that evaluates to the 2.20 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_20 (G_ENCODE_VERSION (2, 20)) + +/** + * GDK_PIXBUF_VERSION_2_22: + * + * A macro that evaluates to the 2.22 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_22 (G_ENCODE_VERSION (2, 22)) + +/** + * GDK_PIXBUF_VERSION_2_24: + * + * A macro that evaluates to the 2.24 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_24 (G_ENCODE_VERSION (2, 24)) + +/** + * GDK_PIXBUF_VERSION_2_26: + * + * A macro that evaluates to the 2.26 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_26 (G_ENCODE_VERSION (2, 26)) + +/** + * GDK_PIXBUF_VERSION_2_28: + * + * A macro that evaluates to the 2.28 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_28 (G_ENCODE_VERSION (2, 28)) + +/** + * GDK_PIXBUF_VERSION_2_30: + * + * A macro that evaluates to the 2.30 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_30 (G_ENCODE_VERSION (2, 30)) + +/** + * GDK_PIXBUF_VERSION_2_32: + * + * A macro that evaluates to the 2.32 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_32 (G_ENCODE_VERSION (2, 32)) + +/** + * GDK_PIXBUF_VERSION_2_34: + * + * A macro that evaluates to the 2.34 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_34 (G_ENCODE_VERSION (2, 34)) + +/** + * GDK_PIXBUF_VERSION_2_36: + * + * A macro that evaluates to the 2.36 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.36 + */ +#define GDK_PIXBUF_VERSION_2_36 (G_ENCODE_VERSION (2, 36)) + +/** + * GDK_PIXBUF_VERSION_2_38: + * + * A macro that evaluates to the 2.38 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.38 + */ +#define GDK_PIXBUF_VERSION_2_38 (G_ENCODE_VERSION (2, 38)) + +/** + * GDK_PIXBUF_VERSION_2_40: + * + * A macro that evaluates to the 2.40 version of GdkPixbuf, + * in a format that can be used by the C pre-processor. + * + * Since: 2.40 + */ +#define GDK_PIXBUF_VERSION_2_40 (G_ENCODE_VERSION (2, 40)) + +#ifndef __GTK_DOC_IGNORE__ +#if (GDK_PIXBUF_MINOR % 2) +#define GDK_PIXBUF_VERSION_CUR_STABLE (G_ENCODE_VERSION (GDK_PIXBUF_MAJOR, GDK_PIXBUF_MINOR + 1)) +#else +#define GDK_PIXBUF_VERSION_CUR_STABLE (G_ENCODE_VERSION (GDK_PIXBUF_MAJOR, GDK_PIXBUF_MINOR)) +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if (GDK_PIXBUF_MINOR % 2) +#define GDK_PIXBUF_VERSION_PREV_STABLE (G_ENCODE_VERSION (GDK_PIXBUF_MAJOR, GDK_PIXBUF_MINOR - 1)) +#else +#define GDK_PIXBUF_VERSION_PREV_STABLE (G_ENCODE_VERSION (GDK_PIXBUF_MAJOR, GDK_PIXBUF_MINOR - 2)) +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +/** + * GDK_PIXBUF_VERSION_MIN_REQUIRED: + * + * A macro that should be defined by the user prior to including + * the gdk-pixbuf.h header. + * The definition should be one of the predefined version + * macros: %GDK_PIXBUF_VERSION_2_0, %GDK_PIXBUF_VERSION_2_2, ... + * + * This macro defines the lower bound for the GdkPixbuf API to use. + * + * If a function has been deprecated in a newer version of GdkPixbuf, + * defining this symbol hides the compiler warnings for those functions + * without disabling warnings for the other deprecated functions. + * + * + * Warning: if you define this macro, do not forget to update it! Especially + * when writing new code. Otherwise you can miss the new deprecations. + * + * + * Since: 2.36 + */ +#ifndef GDK_PIXBUF_VERSION_MIN_REQUIRED +#define GDK_PIXBUF_VERSION_MIN_REQUIRED (GDK_PIXBUF_VERSION_CUR_STABLE) +#endif + +/** + * GDK_PIXBUF_VERSION_MAX_ALLOWED: + * + * A macro that should be defined by the user prior to including + * the gdk-pixbuf.h header. + * The definition should be one of the predefined version + * macros: %GDK_PIXBUF_VERSION_2_0, %GDK_PIXBUF_VERSION_2_2, ... + * + * This macro defines the upper bound for the GdkPixbuf API to use. + * + * If a function has been introduced in a newer version of GdkPixbuf, + * it is possible to use this symbol to get compiler warnings when + * trying to use that function. + * + * Since: 2.36 + */ +#ifndef GDK_PIXBUF_VERSION_MAX_ALLOWED +#if GDK_PIXBUF_VERSION_MIN_REQUIRED > GDK_PIXBUF_VERSION_PREV_STABLE +#define GDK_PIXBUF_VERSION_MAX_ALLOWED GDK_PIXBUF_VERSION_MIN_REQUIRED +#else +#define GDK_PIXBUF_VERSION_MAX_ALLOWED GDK_PIXBUF_VERSION_CUR_STABLE +#endif +#endif + +/* sanity checks */ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_MIN_REQUIRED +#error "GDK_PIXBUF_VERSION_MAX_ALLOWED must be >= GDK_PIXBUF_VERSION_MIN_REQUIRED" +#endif +#if GDK_PIXBUF_VERSION_MIN_REQUIRED < GDK_PIXBUF_VERSION_2_0 +#error "GDK_PIXBUF_VERSION_MIN_REQUIRED must be >= GDK_PIXBUF_VERSION_2_0" +#endif + +#ifndef __GTK_DOC_IGNORE__ +#define GDK_PIXBUF_AVAILABLE_IN_ALL _GDK_PIXBUF_EXTERN +#endif + +/* Every new stable minor release should add a set of macros here */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_0 +#define GDK_PIXBUF_DEPRECATED_IN_2_0 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_0_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_0 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_0_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_0 +#define GDK_PIXBUF_AVAILABLE_IN_2_0 G_UNAVAILABLE(2, 0) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_0 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_2 +#define GDK_PIXBUF_DEPRECATED_IN_2_2 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_2_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_2 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_2_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_2 +#define GDK_PIXBUF_AVAILABLE_IN_2_2 G_UNAVAILABLE(2, 2) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_2 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_4 +#define GDK_PIXBUF_DEPRECATED_IN_2_4 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_4_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_4 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_4_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_4 +#define GDK_PIXBUF_AVAILABLE_IN_2_4 G_UNAVAILABLE(2, 4) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_4 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_6 +#define GDK_PIXBUF_DEPRECATED_IN_2_6 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_6_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_6 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_6_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_6 +#define GDK_PIXBUF_AVAILABLE_IN_2_6 G_UNAVAILABLE(2, 6) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_6 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_8 +#define GDK_PIXBUF_DEPRECATED_IN_2_8 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_8_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_8 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_8_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_8 +#define GDK_PIXBUF_AVAILABLE_IN_2_8 G_UNAVAILABLE(2, 8) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_8 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_10 +#define GDK_PIXBUF_DEPRECATED_IN_2_10 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_10_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_10 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_10_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_10 +#define GDK_PIXBUF_AVAILABLE_IN_2_10 G_UNAVAILABLE(2, 10) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_10 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_12 +#define GDK_PIXBUF_DEPRECATED_IN_2_12 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_12_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_12 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_12_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_12 +#define GDK_PIXBUF_AVAILABLE_IN_2_12 G_UNAVAILABLE(2, 12) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_12 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_14 +#define GDK_PIXBUF_DEPRECATED_IN_2_14 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_14_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_14 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_14_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_14 +#define GDK_PIXBUF_AVAILABLE_IN_2_14 G_UNAVAILABLE(2, 14) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_14 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_16 +#define GDK_PIXBUF_DEPRECATED_IN_2_16 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_16_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_16 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_16_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_16 +#define GDK_PIXBUF_AVAILABLE_IN_2_16 G_UNAVAILABLE(2, 16) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_16 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_18 +#define GDK_PIXBUF_DEPRECATED_IN_2_18 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_18_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_18 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_18_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_18 +#define GDK_PIXBUF_AVAILABLE_IN_2_18 G_UNAVAILABLE(2, 18) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_18 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_20 +#define GDK_PIXBUF_DEPRECATED_IN_2_20 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_20_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_20 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_20_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_20 +#define GDK_PIXBUF_AVAILABLE_IN_2_20 G_UNAVAILABLE(2, 20) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_20 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_22 +#define GDK_PIXBUF_DEPRECATED_IN_2_22 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_22_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_22 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_22_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_22 +#define GDK_PIXBUF_AVAILABLE_IN_2_22 G_UNAVAILABLE(2, 22) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_22 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_24 +#define GDK_PIXBUF_DEPRECATED_IN_2_24 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_24_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_24 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_24_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_24 +#define GDK_PIXBUF_AVAILABLE_IN_2_24 G_UNAVAILABLE(2, 24) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_24 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_26 +#define GDK_PIXBUF_DEPRECATED_IN_2_26 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_26_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_26 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_26_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_26 +#define GDK_PIXBUF_AVAILABLE_IN_2_26 G_UNAVAILABLE(2, 26) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_26 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_28 +#define GDK_PIXBUF_DEPRECATED_IN_2_28 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_28_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_28 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_28_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_28 +#define GDK_PIXBUF_AVAILABLE_IN_2_28 G_UNAVAILABLE(2, 28) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_28 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_30 +#define GDK_PIXBUF_DEPRECATED_IN_2_30 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_30_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_30 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_30_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_30 +#define GDK_PIXBUF_AVAILABLE_IN_2_30 G_UNAVAILABLE(2, 30) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_30 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_32 +#define GDK_PIXBUF_DEPRECATED_IN_2_32 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_32_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_32 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_32_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_32 +#define GDK_PIXBUF_AVAILABLE_IN_2_32 G_UNAVAILABLE(2, 32) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_32 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_34 +#define GDK_PIXBUF_DEPRECATED_IN_2_34 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_34_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_34 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_34_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_34 +#define GDK_PIXBUF_AVAILABLE_IN_2_34 G_UNAVAILABLE(2, 34) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_34 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_36 +#define GDK_PIXBUF_DEPRECATED_IN_2_36 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_36_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_36 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_36_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_36 +#define GDK_PIXBUF_AVAILABLE_IN_2_36 G_UNAVAILABLE(2, 36) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_36 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_38 +#define GDK_PIXBUF_DEPRECATED_IN_2_38 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_38_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_38 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_38_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_38 +#define GDK_PIXBUF_AVAILABLE_IN_2_38 G_UNAVAILABLE(2, 38) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_38 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MIN_REQUIRED >= GDK_PIXBUF_VERSION_2_40 +#define GDK_PIXBUF_DEPRECATED_IN_2_40 G_DEPRECATED _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_40_FOR(f) G_DEPRECATED_FOR(f) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_DEPRECATED_IN_2_40 _GDK_PIXBUF_EXTERN +#define GDK_PIXBUF_DEPRECATED_IN_2_40_FOR(f) _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#ifndef __GTK_DOC_IGNORE__ +#if GDK_PIXBUF_VERSION_MAX_ALLOWED < GDK_PIXBUF_VERSION_2_40 +#define GDK_PIXBUF_AVAILABLE_IN_2_40 G_UNAVAILABLE(2, 40) _GDK_PIXBUF_EXTERN +#else +#define GDK_PIXBUF_AVAILABLE_IN_2_40 _GDK_PIXBUF_EXTERN +#endif +#endif /* __GTK_DOC_IGNORE__ */ + +#endif /* GDK_PIXBUF_MACROS_H */ diff --git a/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h new file mode 100644 index 0000000..4b20f1e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h @@ -0,0 +1,33 @@ +/* This file is generated by glib-genmarshal, do not modify it. This code is licensed under the same license as the containing project. Note that it links to GLib, so must comply with the LGPL linking clauses. */ +#pragma once + +#include + +G_BEGIN_DECLS + +/* VOID:VOID (../src/2.42.12-c70e3de880.clean/gdk-pixbuf/gdk-pixbuf-marshal.list:25) */ +#define _gdk_pixbuf_marshal_VOID__VOID g_cclosure_marshal_VOID__VOID + +/* VOID:INT,INT (../src/2.42.12-c70e3de880.clean/gdk-pixbuf/gdk-pixbuf-marshal.list:26) */ +extern +void _gdk_pixbuf_marshal_VOID__INT_INT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); + +/* VOID:INT,INT,INT,INT (../src/2.42.12-c70e3de880.clean/gdk-pixbuf/gdk-pixbuf-marshal.list:27) */ +extern +void _gdk_pixbuf_marshal_VOID__INT_INT_INT_INT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); + +/* VOID:POINTER (../src/2.42.12-c70e3de880.clean/gdk-pixbuf/gdk-pixbuf-marshal.list:28) */ +#define _gdk_pixbuf_marshal_VOID__POINTER g_cclosure_marshal_VOID__POINTER + + +G_END_DECLS diff --git a/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h new file mode 100644 index 0000000..487120e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h @@ -0,0 +1,70 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ +/* GdkPixbuf library - Simple frame-based animations + * + * Copyright (C) 2004 Dom Lachowicz + * + * Authors: Dom Lachowicz + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef GDK_PIXBUF_SIMPLE_ANIM_H +#define GDK_PIXBUF_SIMPLE_ANIM_H + +#if defined(GDK_PIXBUF_DISABLE_SINGLE_INCLUDES) && !defined (GDK_PIXBUF_H_INSIDE) && !defined (GDK_PIXBUF_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/** + * GdkPixbufSimpleAnim: + * + * An opaque struct representing a simple animation. + */ +typedef struct _GdkPixbufSimpleAnim GdkPixbufSimpleAnim; +typedef struct _GdkPixbufSimpleAnimClass GdkPixbufSimpleAnimClass; + +#define GDK_TYPE_PIXBUF_SIMPLE_ANIM (gdk_pixbuf_simple_anim_get_type ()) +#define GDK_PIXBUF_SIMPLE_ANIM(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_PIXBUF_SIMPLE_ANIM, GdkPixbufSimpleAnim)) +#define GDK_IS_PIXBUF_SIMPLE_ANIM(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_PIXBUF_SIMPLE_ANIM)) + +#define GDK_PIXBUF_SIMPLE_ANIM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_PIXBUF_SIMPLE_ANIM, GdkPixbufSimpleAnimClass)) +#define GDK_IS_PIXBUF_SIMPLE_ANIM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_PIXBUF_SIMPLE_ANIM)) +#define GDK_PIXBUF_SIMPLE_ANIM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_PIXBUF_SIMPLE_ANIM, GdkPixbufSimpleAnimClass)) + +GDK_PIXBUF_AVAILABLE_IN_ALL +GType gdk_pixbuf_simple_anim_get_type (void) G_GNUC_CONST; +GDK_PIXBUF_AVAILABLE_IN_ALL +GType gdk_pixbuf_simple_anim_iter_get_type (void) G_GNUC_CONST; + +GDK_PIXBUF_AVAILABLE_IN_2_8 +GdkPixbufSimpleAnim *gdk_pixbuf_simple_anim_new (gint width, + gint height, + gfloat rate); +GDK_PIXBUF_AVAILABLE_IN_2_8 +void gdk_pixbuf_simple_anim_add_frame (GdkPixbufSimpleAnim *animation, + GdkPixbuf *pixbuf); +GDK_PIXBUF_AVAILABLE_IN_ALL +void gdk_pixbuf_simple_anim_set_loop (GdkPixbufSimpleAnim *animation, + gboolean loop); +GDK_PIXBUF_AVAILABLE_IN_ALL +gboolean gdk_pixbuf_simple_anim_get_loop (GdkPixbufSimpleAnim *animation); + +G_END_DECLS + + +#endif /* GDK_PIXBUF_SIMPLE_ANIM_H */ diff --git a/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h new file mode 100644 index 0000000..2ba28c4 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h @@ -0,0 +1,168 @@ +/* GdkPixbuf library - transformations + * + * Copyright (C) 2003 The Free Software Foundation + * + * Authors: Mark Crichton + * Miguel de Icaza + * Federico Mena-Quintero + * Havoc Pennington + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef GDK_PIXBUF_TRANSFORM_H +#define GDK_PIXBUF_TRANSFORM_H + +#if defined(GDK_PIXBUF_DISABLE_SINGLE_INCLUDES) && !defined (GDK_PIXBUF_H_INSIDE) && !defined (GDK_PIXBUF_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + + +G_BEGIN_DECLS + +/* Scaling */ + +/** + * GdkInterpType: + * @GDK_INTERP_NEAREST: Nearest neighbor sampling; this is the fastest + * and lowest quality mode. Quality is normally unacceptable when scaling + * down, but may be OK when scaling up. + * @GDK_INTERP_TILES: This is an accurate simulation of the PostScript + * image operator without any interpolation enabled. Each pixel is + * rendered as a tiny parallelogram of solid color, the edges of which + * are implemented with antialiasing. It resembles nearest neighbor for + * enlargement, and bilinear for reduction. + * @GDK_INTERP_BILINEAR: Best quality/speed balance; use this mode by + * default. Bilinear interpolation. For enlargement, it is + * equivalent to point-sampling the ideal bilinear-interpolated image. + * For reduction, it is equivalent to laying down small tiles and + * integrating over the coverage area. + * @GDK_INTERP_HYPER: This is the slowest and highest quality + * reconstruction function. It is derived from the hyperbolic filters in + * Wolberg's "Digital Image Warping", and is formally defined as the + * hyperbolic-filter sampling the ideal hyperbolic-filter interpolated + * image (the filter is designed to be idempotent for 1:1 pixel mapping). + * **Deprecated**: this interpolation filter is deprecated, as in reality + * it has a lower quality than the @GDK_INTERP_BILINEAR filter + * (Since: 2.38) + * + * Interpolation modes for scaling functions. + * + * The `GDK_INTERP_NEAREST` mode is the fastest scaling method, but has + * horrible quality when scaling down; `GDK_INTERP_BILINEAR` is the best + * choice if you aren't sure what to choose, it has a good speed/quality + * balance. + * + * **Note**: Cubic filtering is missing from the list; hyperbolic + * interpolation is just as fast and results in higher quality. + */ +typedef enum { + GDK_INTERP_NEAREST, + GDK_INTERP_TILES, + GDK_INTERP_BILINEAR, + GDK_INTERP_HYPER +} GdkInterpType; + +/** + * GdkPixbufRotation: + * @GDK_PIXBUF_ROTATE_NONE: No rotation. + * @GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE: Rotate by 90 degrees. + * @GDK_PIXBUF_ROTATE_UPSIDEDOWN: Rotate by 180 degrees. + * @GDK_PIXBUF_ROTATE_CLOCKWISE: Rotate by 270 degrees. + * + * The possible rotations which can be passed to gdk_pixbuf_rotate_simple(). + * + * To make them easier to use, their numerical values are the actual degrees. + */ +typedef enum { + GDK_PIXBUF_ROTATE_NONE = 0, + GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE = 90, + GDK_PIXBUF_ROTATE_UPSIDEDOWN = 180, + GDK_PIXBUF_ROTATE_CLOCKWISE = 270 +} GdkPixbufRotation; + +GDK_PIXBUF_AVAILABLE_IN_ALL +void gdk_pixbuf_scale (const GdkPixbuf *src, + GdkPixbuf *dest, + int dest_x, + int dest_y, + int dest_width, + int dest_height, + double offset_x, + double offset_y, + double scale_x, + double scale_y, + GdkInterpType interp_type); +GDK_PIXBUF_AVAILABLE_IN_ALL +void gdk_pixbuf_composite (const GdkPixbuf *src, + GdkPixbuf *dest, + int dest_x, + int dest_y, + int dest_width, + int dest_height, + double offset_x, + double offset_y, + double scale_x, + double scale_y, + GdkInterpType interp_type, + int overall_alpha); +GDK_PIXBUF_AVAILABLE_IN_ALL +void gdk_pixbuf_composite_color (const GdkPixbuf *src, + GdkPixbuf *dest, + int dest_x, + int dest_y, + int dest_width, + int dest_height, + double offset_x, + double offset_y, + double scale_x, + double scale_y, + GdkInterpType interp_type, + int overall_alpha, + int check_x, + int check_y, + int check_size, + guint32 color1, + guint32 color2); + +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbuf *gdk_pixbuf_scale_simple (const GdkPixbuf *src, + int dest_width, + int dest_height, + GdkInterpType interp_type); + +GDK_PIXBUF_AVAILABLE_IN_ALL +GdkPixbuf *gdk_pixbuf_composite_color_simple (const GdkPixbuf *src, + int dest_width, + int dest_height, + GdkInterpType interp_type, + int overall_alpha, + int check_size, + guint32 color1, + guint32 color2); + +GDK_PIXBUF_AVAILABLE_IN_2_6 +GdkPixbuf *gdk_pixbuf_rotate_simple (const GdkPixbuf *src, + GdkPixbufRotation angle); +GDK_PIXBUF_AVAILABLE_IN_2_6 +GdkPixbuf *gdk_pixbuf_flip (const GdkPixbuf *src, + gboolean horizontal); + +G_END_DECLS + + +#endif /* GDK_PIXBUF_TRANSFORM_H */ diff --git a/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h new file mode 100644 index 0000000..0770b2f --- /dev/null +++ b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h @@ -0,0 +1,46 @@ +/* GdkPixbuf library - Main header file + * + * Copyright (C) 1999 The Free Software Foundation + * + * Authors: Mark Crichton + * Miguel de Icaza + * Federico Mena-Quintero + * Havoc Pennington + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef GDK_PIXBUF_H +#define GDK_PIXBUF_H + +#define GDK_PIXBUF_H_INSIDE + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include + +#undef GDK_PIXBUF_H_INSIDE + +#endif /* GDK_PIXBUF_H */ diff --git a/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h new file mode 100644 index 0000000..4c25698 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h @@ -0,0 +1,165 @@ +/* GdkPixbuf library - GdkPixdata - functions for inlined pixbuf handling + * Copyright (C) 1999, 2001 Tim Janik + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ +#ifndef __GDK_PIXDATA_H__ +#define __GDK_PIXDATA_H__ + +#ifndef GDK_PIXBUF_DISABLE_DEPRECATED +#include + +G_BEGIN_DECLS + +/** + * GDK_PIXBUF_MAGIC_NUMBER: + * + * Magic number for #GdkPixdata structures. + **/ +#define GDK_PIXBUF_MAGIC_NUMBER (0x47646b50) /* 'GdkP' */ + +/** + * GdkPixdataType: + * @GDK_PIXDATA_COLOR_TYPE_RGB: each pixel has red, green and blue samples. + * @GDK_PIXDATA_COLOR_TYPE_RGBA: each pixel has red, green and blue samples + * and an alpha value. + * @GDK_PIXDATA_COLOR_TYPE_MASK: mask for the colortype flags of the enum. + * @GDK_PIXDATA_SAMPLE_WIDTH_8: each sample has 8 bits. + * @GDK_PIXDATA_SAMPLE_WIDTH_MASK: mask for the sample width flags of the enum. + * @GDK_PIXDATA_ENCODING_RAW: the pixel data is in raw form. + * @GDK_PIXDATA_ENCODING_RLE: the pixel data is run-length encoded. Runs may + * be up to 127 bytes long; their length is stored in a single byte + * preceding the pixel data for the run. If a run is constant, its length + * byte has the high bit set and the pixel data consists of a single pixel + * which must be repeated. + * @GDK_PIXDATA_ENCODING_MASK: mask for the encoding flags of the enum. + * + * An enumeration containing three sets of flags for a #GdkPixdata struct: + * one for the used colorspace, one for the width of the samples and one + * for the encoding of the pixel data. + * + * Deprecated: 2.32 + **/ +typedef enum +{ + /* colorspace + alpha */ + GDK_PIXDATA_COLOR_TYPE_RGB = 0x01, + GDK_PIXDATA_COLOR_TYPE_RGBA = 0x02, + GDK_PIXDATA_COLOR_TYPE_MASK = 0xff, + /* width, support 8bits only currently */ + GDK_PIXDATA_SAMPLE_WIDTH_8 = 0x01 << 16, + GDK_PIXDATA_SAMPLE_WIDTH_MASK = 0x0f << 16, + /* encoding */ + GDK_PIXDATA_ENCODING_RAW = 0x01 << 24, + GDK_PIXDATA_ENCODING_RLE = 0x02 << 24, + GDK_PIXDATA_ENCODING_MASK = 0x0f << 24 +} GdkPixdataType; + +typedef struct _GdkPixdata GdkPixdata; +struct _GdkPixdata +{ + guint32 magic; /* GDK_PIXBUF_MAGIC_NUMBER */ + gint32 length; /* <1 to disable length checks, otherwise: + * GDK_PIXDATA_HEADER_LENGTH + pixel_data length + */ + guint32 pixdata_type; /* GdkPixdataType */ + guint32 rowstride; + guint32 width; + guint32 height; + guint8 *pixel_data; +}; + +/** + * GDK_PIXDATA_HEADER_LENGTH: + * + * The length of a #GdkPixdata structure without the @pixel_data pointer. + * + * Deprecated: 2.32 + **/ +#define GDK_PIXDATA_HEADER_LENGTH (4 + 4 + 4 + 4 + 4 + 4) + +/* the returned stream is plain htonl of GdkPixdata members + pixel_data */ +GDK_PIXBUF_DEPRECATED_IN_2_32 +guint8* gdk_pixdata_serialize (const GdkPixdata *pixdata, + guint *stream_length_p); +GDK_PIXBUF_DEPRECATED_IN_2_32 +gboolean gdk_pixdata_deserialize (GdkPixdata *pixdata, + guint stream_length, + const guint8 *stream, + GError **error); +GDK_PIXBUF_DEPRECATED_IN_2_32 +gpointer gdk_pixdata_from_pixbuf (GdkPixdata *pixdata, + const GdkPixbuf *pixbuf, + gboolean use_rle); +GDK_PIXBUF_DEPRECATED_IN_2_32 +GdkPixbuf* gdk_pixbuf_from_pixdata (const GdkPixdata *pixdata, + gboolean copy_pixels, + GError **error); +/** + * GdkPixdataDumpType: + * @GDK_PIXDATA_DUMP_PIXDATA_STREAM: Generate pixbuf data stream (a single + * string containing a serialized #GdkPixdata structure in network byte + * order). + * @GDK_PIXDATA_DUMP_PIXDATA_STRUCT: Generate #GdkPixdata structure (needs + * the #GdkPixdata structure definition from gdk-pixdata.h). + * @GDK_PIXDATA_DUMP_MACROS: Generate *_ROWSTRIDE, + * *_WIDTH, *_HEIGHT, + * *_BYTES_PER_PIXEL and + * *_RLE_PIXEL_DATA or *_PIXEL_DATA + * macro definitions for the image. + * @GDK_PIXDATA_DUMP_GTYPES: Generate GLib data types instead of + * standard C data types. + * @GDK_PIXDATA_DUMP_CTYPES: Generate standard C data types instead of + * GLib data types. + * @GDK_PIXDATA_DUMP_STATIC: Generate static symbols. + * @GDK_PIXDATA_DUMP_CONST: Generate const symbols. + * @GDK_PIXDATA_DUMP_RLE_DECODER: Provide a *_RUN_LENGTH_DECODE(image_buf, rle_data, size, bpp) + * macro definition to decode run-length encoded image data. + * + * An enumeration which is used by gdk_pixdata_to_csource() to + * determine the form of C source to be generated. The three values + * @GDK_PIXDATA_DUMP_PIXDATA_STREAM, @GDK_PIXDATA_DUMP_PIXDATA_STRUCT + * and @GDK_PIXDATA_DUMP_MACROS are mutually exclusive, as are + * @GDK_PIXBUF_DUMP_GTYPES and @GDK_PIXBUF_DUMP_CTYPES. The remaining + * elements are optional flags that can be freely added. + * + * Deprecated: 2.32 + **/ +typedef enum +{ + /* type of source to save */ + GDK_PIXDATA_DUMP_PIXDATA_STREAM = 0, + GDK_PIXDATA_DUMP_PIXDATA_STRUCT = 1, + GDK_PIXDATA_DUMP_MACROS = 2, + /* type of variables to use */ + GDK_PIXDATA_DUMP_GTYPES = 0, + GDK_PIXDATA_DUMP_CTYPES = 1 << 8, + GDK_PIXDATA_DUMP_STATIC = 1 << 9, + GDK_PIXDATA_DUMP_CONST = 1 << 10, + /* save RLE decoder macro? */ + GDK_PIXDATA_DUMP_RLE_DECODER = 1 << 16 +} GdkPixdataDumpType; + + +GDK_PIXBUF_DEPRECATED_IN_2_32 +GString* gdk_pixdata_to_csource (GdkPixdata *pixdata, + const gchar *name, + GdkPixdataDumpType dump_type); + + +G_END_DECLS + +#endif /* GDK_PIXBUF_DISABLE_DEPRECATED */ + +#endif /* __GDK_PIXDATA_H__ */ diff --git a/vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gfiledescriptorbased.h b/vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gfiledescriptorbased.h new file mode 100644 index 0000000..46fdbf5 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gfiledescriptorbased.h @@ -0,0 +1,67 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2010 Christian Kellner + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Christian Kellner + */ + +#ifndef __G_FILE_DESCRIPTOR_BASED_H__ +#define __G_FILE_DESCRIPTOR_BASED_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_FILE_DESCRIPTOR_BASED (g_file_descriptor_based_get_type ()) +#define G_FILE_DESCRIPTOR_BASED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_FILE_DESCRIPTOR_BASED, GFileDescriptorBased)) +#define G_IS_FILE_DESCRIPTOR_BASED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_FILE_DESCRIPTOR_BASED)) +#define G_FILE_DESCRIPTOR_BASED_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_FILE_DESCRIPTOR_BASED, GFileDescriptorBasedIface)) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GFileDescriptorBased, g_object_unref) + +/** + * GFileDescriptorBased: + * + * An interface for file descriptor based io objects. + **/ +typedef struct _GFileDescriptorBasedIface GFileDescriptorBasedIface; + +/** + * GFileDescriptorBasedIface: + * @g_iface: The parent interface. + * @get_fd: Gets the underlying file descriptor. + * + * An interface for file descriptor based io objects. + **/ +struct _GFileDescriptorBasedIface +{ + GTypeInterface g_iface; + + /* Virtual Table */ + int (*get_fd) (GFileDescriptorBased *fd_based); +}; + +GIO_AVAILABLE_IN_ALL +GType g_file_descriptor_based_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +int g_file_descriptor_based_get_fd (GFileDescriptorBased *fd_based); + +G_END_DECLS + + +#endif /* __G_FILE_DESCRIPTOR_BASED_H__ */ diff --git a/vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gunixfdmessage.h b/vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gunixfdmessage.h new file mode 100644 index 0000000..0424b11 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gunixfdmessage.h @@ -0,0 +1,86 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright © 2009 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + */ + +#ifndef __G_UNIX_FD_MESSAGE_H__ +#define __G_UNIX_FD_MESSAGE_H__ + +#include +#include + +G_BEGIN_DECLS + +#define G_TYPE_UNIX_FD_MESSAGE (g_unix_fd_message_get_type ()) +#define G_UNIX_FD_MESSAGE(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_UNIX_FD_MESSAGE, GUnixFDMessage)) +#define G_UNIX_FD_MESSAGE_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_UNIX_FD_MESSAGE, GUnixFDMessageClass)) +#define G_IS_UNIX_FD_MESSAGE(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_UNIX_FD_MESSAGE)) +#define G_IS_UNIX_FD_MESSAGE_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_UNIX_FD_MESSAGE)) +#define G_UNIX_FD_MESSAGE_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_UNIX_FD_MESSAGE, GUnixFDMessageClass)) + +typedef struct _GUnixFDMessagePrivate GUnixFDMessagePrivate; +typedef struct _GUnixFDMessageClass GUnixFDMessageClass; +typedef struct _GUnixFDMessage GUnixFDMessage; + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GUnixFDMessage, g_object_unref) + +struct _GUnixFDMessageClass +{ + GSocketControlMessageClass parent_class; + + /*< private >*/ + + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); +}; + +struct _GUnixFDMessage +{ + GSocketControlMessage parent_instance; + GUnixFDMessagePrivate *priv; +}; + +GIO_AVAILABLE_IN_ALL +GType g_unix_fd_message_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GSocketControlMessage * g_unix_fd_message_new_with_fd_list (GUnixFDList *fd_list); +GIO_AVAILABLE_IN_ALL +GSocketControlMessage * g_unix_fd_message_new (void); + +GIO_AVAILABLE_IN_ALL +GUnixFDList * g_unix_fd_message_get_fd_list (GUnixFDMessage *message); + +GIO_AVAILABLE_IN_ALL +gint * g_unix_fd_message_steal_fds (GUnixFDMessage *message, + gint *length); +GIO_AVAILABLE_IN_ALL +gboolean g_unix_fd_message_append_fd (GUnixFDMessage *message, + gint fd, + GError **error); + +G_END_DECLS + +#endif /* __G_UNIX_FD_MESSAGE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gunixinputstream.h b/vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gunixinputstream.h new file mode 100644 index 0000000..78b2cbb --- /dev/null +++ b/vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gunixinputstream.h @@ -0,0 +1,85 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_UNIX_INPUT_STREAM_H__ +#define __G_UNIX_INPUT_STREAM_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_UNIX_INPUT_STREAM (g_unix_input_stream_get_type ()) +#define G_UNIX_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_UNIX_INPUT_STREAM, GUnixInputStream)) +#define G_UNIX_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_UNIX_INPUT_STREAM, GUnixInputStreamClass)) +#define G_IS_UNIX_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_UNIX_INPUT_STREAM)) +#define G_IS_UNIX_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_UNIX_INPUT_STREAM)) +#define G_UNIX_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_UNIX_INPUT_STREAM, GUnixInputStreamClass)) + +/** + * GUnixInputStream: + * + * Implements #GInputStream for reading from selectable unix file descriptors + **/ +typedef struct _GUnixInputStream GUnixInputStream; +typedef struct _GUnixInputStreamClass GUnixInputStreamClass; +typedef struct _GUnixInputStreamPrivate GUnixInputStreamPrivate; + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GUnixInputStream, g_object_unref) + +struct _GUnixInputStream +{ + GInputStream parent_instance; + + /*< private >*/ + GUnixInputStreamPrivate *priv; +}; + +struct _GUnixInputStreamClass +{ + GInputStreamClass parent_class; + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_unix_input_stream_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GInputStream * g_unix_input_stream_new (gint fd, + gboolean close_fd); +GIO_AVAILABLE_IN_ALL +void g_unix_input_stream_set_close_fd (GUnixInputStream *stream, + gboolean close_fd); +GIO_AVAILABLE_IN_ALL +gboolean g_unix_input_stream_get_close_fd (GUnixInputStream *stream); +GIO_AVAILABLE_IN_ALL +gint g_unix_input_stream_get_fd (GUnixInputStream *stream); + +G_END_DECLS + +#endif /* __G_UNIX_INPUT_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gunixmounts.h b/vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gunixmounts.h new file mode 100644 index 0000000..11fc5f6 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gunixmounts.h @@ -0,0 +1,172 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_UNIX_MOUNTS_H__ +#define __G_UNIX_MOUNTS_H__ + +#include + +G_BEGIN_DECLS + +/** + * GUnixMountEntry: + * + * Defines a Unix mount entry (e.g. /media/cdrom). + * This corresponds roughly to a mtab entry. + **/ +typedef struct _GUnixMountEntry GUnixMountEntry; + +#define G_TYPE_UNIX_MOUNT_ENTRY (g_unix_mount_entry_get_type ()) +GIO_AVAILABLE_IN_2_54 +GType g_unix_mount_entry_get_type (void) G_GNUC_CONST; + +/** + * GUnixMountPoint: + * + * Defines a Unix mount point (e.g. /dev). + * This corresponds roughly to a fstab entry. + **/ +typedef struct _GUnixMountPoint GUnixMountPoint; + +#define G_TYPE_UNIX_MOUNT_POINT (g_unix_mount_point_get_type ()) +GIO_AVAILABLE_IN_2_54 +GType g_unix_mount_point_get_type (void) G_GNUC_CONST; + +/** + * GUnixMountMonitor: + * + * Watches #GUnixMounts for changes. + **/ +typedef struct _GUnixMountMonitor GUnixMountMonitor; +typedef struct _GUnixMountMonitorClass GUnixMountMonitorClass; + +#define G_TYPE_UNIX_MOUNT_MONITOR (g_unix_mount_monitor_get_type ()) +#define G_UNIX_MOUNT_MONITOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_UNIX_MOUNT_MONITOR, GUnixMountMonitor)) +#define G_UNIX_MOUNT_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_UNIX_MOUNT_MONITOR, GUnixMountMonitorClass)) +#define G_IS_UNIX_MOUNT_MONITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_UNIX_MOUNT_MONITOR)) +#define G_IS_UNIX_MOUNT_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_UNIX_MOUNT_MONITOR)) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GUnixMountMonitor, g_object_unref) + +GIO_AVAILABLE_IN_ALL +void g_unix_mount_free (GUnixMountEntry *mount_entry); +GIO_AVAILABLE_IN_2_54 +GUnixMountEntry *g_unix_mount_copy (GUnixMountEntry *mount_entry); +GIO_AVAILABLE_IN_ALL +void g_unix_mount_point_free (GUnixMountPoint *mount_point); +GIO_AVAILABLE_IN_2_54 +GUnixMountPoint *g_unix_mount_point_copy (GUnixMountPoint *mount_point); +GIO_AVAILABLE_IN_ALL +gint g_unix_mount_compare (GUnixMountEntry *mount1, + GUnixMountEntry *mount2); +GIO_AVAILABLE_IN_ALL +const char * g_unix_mount_get_mount_path (GUnixMountEntry *mount_entry); +GIO_AVAILABLE_IN_ALL +const char * g_unix_mount_get_device_path (GUnixMountEntry *mount_entry); +GIO_AVAILABLE_IN_2_60 +const char * g_unix_mount_get_root_path (GUnixMountEntry *mount_entry); +GIO_AVAILABLE_IN_ALL +const char * g_unix_mount_get_fs_type (GUnixMountEntry *mount_entry); +GIO_AVAILABLE_IN_2_58 +const char * g_unix_mount_get_options (GUnixMountEntry *mount_entry); +GIO_AVAILABLE_IN_ALL +gboolean g_unix_mount_is_readonly (GUnixMountEntry *mount_entry); +GIO_AVAILABLE_IN_ALL +gboolean g_unix_mount_is_system_internal (GUnixMountEntry *mount_entry); +GIO_AVAILABLE_IN_ALL +gboolean g_unix_mount_guess_can_eject (GUnixMountEntry *mount_entry); +GIO_AVAILABLE_IN_ALL +gboolean g_unix_mount_guess_should_display (GUnixMountEntry *mount_entry); +GIO_AVAILABLE_IN_ALL +char * g_unix_mount_guess_name (GUnixMountEntry *mount_entry); +GIO_AVAILABLE_IN_ALL +GIcon * g_unix_mount_guess_icon (GUnixMountEntry *mount_entry); +GIO_AVAILABLE_IN_ALL +GIcon * g_unix_mount_guess_symbolic_icon (GUnixMountEntry *mount_entry); + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GUnixMountEntry, g_unix_mount_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GUnixMountPoint, g_unix_mount_point_free) + +GIO_AVAILABLE_IN_ALL +gint g_unix_mount_point_compare (GUnixMountPoint *mount1, + GUnixMountPoint *mount2); +GIO_AVAILABLE_IN_ALL +const char * g_unix_mount_point_get_mount_path (GUnixMountPoint *mount_point); +GIO_AVAILABLE_IN_ALL +const char * g_unix_mount_point_get_device_path (GUnixMountPoint *mount_point); +GIO_AVAILABLE_IN_ALL +const char * g_unix_mount_point_get_fs_type (GUnixMountPoint *mount_point); +GIO_AVAILABLE_IN_2_32 +const char * g_unix_mount_point_get_options (GUnixMountPoint *mount_point); +GIO_AVAILABLE_IN_ALL +gboolean g_unix_mount_point_is_readonly (GUnixMountPoint *mount_point); +GIO_AVAILABLE_IN_ALL +gboolean g_unix_mount_point_is_user_mountable (GUnixMountPoint *mount_point); +GIO_AVAILABLE_IN_ALL +gboolean g_unix_mount_point_is_loopback (GUnixMountPoint *mount_point); +GIO_AVAILABLE_IN_ALL +gboolean g_unix_mount_point_guess_can_eject (GUnixMountPoint *mount_point); +GIO_AVAILABLE_IN_ALL +char * g_unix_mount_point_guess_name (GUnixMountPoint *mount_point); +GIO_AVAILABLE_IN_ALL +GIcon * g_unix_mount_point_guess_icon (GUnixMountPoint *mount_point); +GIO_AVAILABLE_IN_ALL +GIcon * g_unix_mount_point_guess_symbolic_icon (GUnixMountPoint *mount_point); + + +GIO_AVAILABLE_IN_ALL +GList * g_unix_mount_points_get (guint64 *time_read); +GIO_AVAILABLE_IN_2_66 +GUnixMountPoint *g_unix_mount_point_at (const char *mount_path, + guint64 *time_read); +GIO_AVAILABLE_IN_ALL +GList * g_unix_mounts_get (guint64 *time_read); +GIO_AVAILABLE_IN_ALL +GUnixMountEntry *g_unix_mount_at (const char *mount_path, + guint64 *time_read); +GIO_AVAILABLE_IN_2_52 +GUnixMountEntry *g_unix_mount_for (const char *file_path, + guint64 *time_read); +GIO_AVAILABLE_IN_ALL +gboolean g_unix_mounts_changed_since (guint64 time); +GIO_AVAILABLE_IN_ALL +gboolean g_unix_mount_points_changed_since (guint64 time); + +GIO_AVAILABLE_IN_ALL +GType g_unix_mount_monitor_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_2_44 +GUnixMountMonitor *g_unix_mount_monitor_get (void); +GIO_DEPRECATED_IN_2_44_FOR(g_unix_mount_monitor_get) +GUnixMountMonitor *g_unix_mount_monitor_new (void); +GIO_DEPRECATED_IN_2_44 +void g_unix_mount_monitor_set_rate_limit (GUnixMountMonitor *mount_monitor, + int limit_msec); + +GIO_AVAILABLE_IN_ALL +gboolean g_unix_is_mount_path_system_internal (const char *mount_path); +GIO_AVAILABLE_IN_2_56 +gboolean g_unix_is_system_fs_type (const char *fs_type); +GIO_AVAILABLE_IN_2_56 +gboolean g_unix_is_system_device_path (const char *device_path); + +G_END_DECLS + +#endif /* __G_UNIX_MOUNTS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gunixoutputstream.h b/vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gunixoutputstream.h new file mode 100644 index 0000000..37aa225 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/gio-unix-2.0/gio/gunixoutputstream.h @@ -0,0 +1,84 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_UNIX_OUTPUT_STREAM_H__ +#define __G_UNIX_OUTPUT_STREAM_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_UNIX_OUTPUT_STREAM (g_unix_output_stream_get_type ()) +#define G_UNIX_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_UNIX_OUTPUT_STREAM, GUnixOutputStream)) +#define G_UNIX_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_UNIX_OUTPUT_STREAM, GUnixOutputStreamClass)) +#define G_IS_UNIX_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_UNIX_OUTPUT_STREAM)) +#define G_IS_UNIX_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_UNIX_OUTPUT_STREAM)) +#define G_UNIX_OUTPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_UNIX_OUTPUT_STREAM, GUnixOutputStreamClass)) + +/** + * GUnixOutputStream: + * + * Implements #GOutputStream for outputting to selectable unix file descriptors + **/ +typedef struct _GUnixOutputStream GUnixOutputStream; +typedef struct _GUnixOutputStreamClass GUnixOutputStreamClass; +typedef struct _GUnixOutputStreamPrivate GUnixOutputStreamPrivate; + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GUnixOutputStream, g_object_unref) + +struct _GUnixOutputStream +{ + GOutputStream parent_instance; + + /*< private >*/ + GUnixOutputStreamPrivate *priv; +}; + +struct _GUnixOutputStreamClass +{ + GOutputStreamClass parent_class; + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_unix_output_stream_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GOutputStream * g_unix_output_stream_new (gint fd, + gboolean close_fd); +GIO_AVAILABLE_IN_ALL +void g_unix_output_stream_set_close_fd (GUnixOutputStream *stream, + gboolean close_fd); +GIO_AVAILABLE_IN_ALL +gboolean g_unix_output_stream_get_close_fd (GUnixOutputStream *stream); +GIO_AVAILABLE_IN_ALL +gint g_unix_output_stream_get_fd (GUnixOutputStream *stream); +G_END_DECLS + +#endif /* __G_UNIX_OUTPUT_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gaction.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gaction.h new file mode 100644 index 0000000..c3666b4 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gaction.h @@ -0,0 +1,100 @@ +/* + * Copyright © 2010 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + */ + +#ifndef __G_ACTION_H__ +#define __G_ACTION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_ACTION (g_action_get_type ()) +#define G_ACTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_ACTION, GAction)) +#define G_IS_ACTION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_ACTION)) +#define G_ACTION_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), \ + G_TYPE_ACTION, GActionInterface)) + +typedef struct _GActionInterface GActionInterface; + +struct _GActionInterface +{ + GTypeInterface g_iface; + + /* virtual functions */ + const gchar * (* get_name) (GAction *action); + const GVariantType * (* get_parameter_type) (GAction *action); + const GVariantType * (* get_state_type) (GAction *action); + GVariant * (* get_state_hint) (GAction *action); + + gboolean (* get_enabled) (GAction *action); + GVariant * (* get_state) (GAction *action); + + void (* change_state) (GAction *action, + GVariant *value); + void (* activate) (GAction *action, + GVariant *parameter); +}; + +GIO_AVAILABLE_IN_2_30 +GType g_action_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +const gchar * g_action_get_name (GAction *action); +GIO_AVAILABLE_IN_ALL +const GVariantType * g_action_get_parameter_type (GAction *action); +GIO_AVAILABLE_IN_ALL +const GVariantType * g_action_get_state_type (GAction *action); +GIO_AVAILABLE_IN_ALL +GVariant * g_action_get_state_hint (GAction *action); + +GIO_AVAILABLE_IN_ALL +gboolean g_action_get_enabled (GAction *action); +GIO_AVAILABLE_IN_ALL +GVariant * g_action_get_state (GAction *action); + +GIO_AVAILABLE_IN_ALL +void g_action_change_state (GAction *action, + GVariant *value); +GIO_AVAILABLE_IN_ALL +void g_action_activate (GAction *action, + GVariant *parameter); + +GIO_AVAILABLE_IN_2_28 +gboolean g_action_name_is_valid (const gchar *action_name); + +GIO_AVAILABLE_IN_2_38 +gboolean g_action_parse_detailed_name (const gchar *detailed_name, + gchar **action_name, + GVariant **target_value, + GError **error); + +GIO_AVAILABLE_IN_2_38 +gchar * g_action_print_detailed_name (const gchar *action_name, + GVariant *target_value); + +G_END_DECLS + +#endif /* __G_ACTION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gactiongroup.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gactiongroup.h new file mode 100644 index 0000000..06213df --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gactiongroup.h @@ -0,0 +1,163 @@ +/* + * Copyright © 2010 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + */ + +#ifndef __G_ACTION_GROUP_H__ +#define __G_ACTION_GROUP_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + + +#define G_TYPE_ACTION_GROUP (g_action_group_get_type ()) +#define G_ACTION_GROUP(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_ACTION_GROUP, GActionGroup)) +#define G_IS_ACTION_GROUP(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_ACTION_GROUP)) +#define G_ACTION_GROUP_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), \ + G_TYPE_ACTION_GROUP, GActionGroupInterface)) + +typedef struct _GActionGroupInterface GActionGroupInterface; + +struct _GActionGroupInterface +{ + GTypeInterface g_iface; + + /* virtual functions */ + gboolean (* has_action) (GActionGroup *action_group, + const gchar *action_name); + + gchar ** (* list_actions) (GActionGroup *action_group); + + gboolean (* get_action_enabled) (GActionGroup *action_group, + const gchar *action_name); + + const GVariantType * (* get_action_parameter_type) (GActionGroup *action_group, + const gchar *action_name); + + const GVariantType * (* get_action_state_type) (GActionGroup *action_group, + const gchar *action_name); + + GVariant * (* get_action_state_hint) (GActionGroup *action_group, + const gchar *action_name); + + GVariant * (* get_action_state) (GActionGroup *action_group, + const gchar *action_name); + + void (* change_action_state) (GActionGroup *action_group, + const gchar *action_name, + GVariant *value); + + void (* activate_action) (GActionGroup *action_group, + const gchar *action_name, + GVariant *parameter); + + /* signals */ + void (* action_added) (GActionGroup *action_group, + const gchar *action_name); + void (* action_removed) (GActionGroup *action_group, + const gchar *action_name); + void (* action_enabled_changed) (GActionGroup *action_group, + const gchar *action_name, + gboolean enabled); + void (* action_state_changed) (GActionGroup *action_group, + const gchar *action_name, + GVariant *state); + + /* more virtual functions */ + gboolean (* query_action) (GActionGroup *action_group, + const gchar *action_name, + gboolean *enabled, + const GVariantType **parameter_type, + const GVariantType **state_type, + GVariant **state_hint, + GVariant **state); +}; + +GIO_AVAILABLE_IN_ALL +GType g_action_group_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +gboolean g_action_group_has_action (GActionGroup *action_group, + const gchar *action_name); +GIO_AVAILABLE_IN_ALL +gchar ** g_action_group_list_actions (GActionGroup *action_group); + +GIO_AVAILABLE_IN_ALL +const GVariantType * g_action_group_get_action_parameter_type (GActionGroup *action_group, + const gchar *action_name); +GIO_AVAILABLE_IN_ALL +const GVariantType * g_action_group_get_action_state_type (GActionGroup *action_group, + const gchar *action_name); +GIO_AVAILABLE_IN_ALL +GVariant * g_action_group_get_action_state_hint (GActionGroup *action_group, + const gchar *action_name); + +GIO_AVAILABLE_IN_ALL +gboolean g_action_group_get_action_enabled (GActionGroup *action_group, + const gchar *action_name); + +GIO_AVAILABLE_IN_ALL +GVariant * g_action_group_get_action_state (GActionGroup *action_group, + const gchar *action_name); +GIO_AVAILABLE_IN_ALL +void g_action_group_change_action_state (GActionGroup *action_group, + const gchar *action_name, + GVariant *value); + +GIO_AVAILABLE_IN_ALL +void g_action_group_activate_action (GActionGroup *action_group, + const gchar *action_name, + GVariant *parameter); + +/* signals */ +GIO_AVAILABLE_IN_ALL +void g_action_group_action_added (GActionGroup *action_group, + const gchar *action_name); +GIO_AVAILABLE_IN_ALL +void g_action_group_action_removed (GActionGroup *action_group, + const gchar *action_name); +GIO_AVAILABLE_IN_ALL +void g_action_group_action_enabled_changed (GActionGroup *action_group, + const gchar *action_name, + gboolean enabled); + +GIO_AVAILABLE_IN_ALL +void g_action_group_action_state_changed (GActionGroup *action_group, + const gchar *action_name, + GVariant *state); + +GIO_AVAILABLE_IN_2_32 +gboolean g_action_group_query_action (GActionGroup *action_group, + const gchar *action_name, + gboolean *enabled, + const GVariantType **parameter_type, + const GVariantType **state_type, + GVariant **state_hint, + GVariant **state) G_GNUC_WARN_UNUSED_RESULT; + +G_END_DECLS + +#endif /* __G_ACTION_GROUP_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gactiongroupexporter.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gactiongroupexporter.h new file mode 100644 index 0000000..52f40af --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gactiongroupexporter.h @@ -0,0 +1,47 @@ +/* + * Copyright © 2010 Codethink Limited + * Copyright © 2011 Canonical Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + */ + + +#ifndef __G_ACTION_GROUP_EXPORTER_H__ +#define __G_ACTION_GROUP_EXPORTER_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +GIO_AVAILABLE_IN_2_32 +guint g_dbus_connection_export_action_group (GDBusConnection *connection, + const gchar *object_path, + GActionGroup *action_group, + GError **error); + +GIO_AVAILABLE_IN_2_32 +void g_dbus_connection_unexport_action_group (GDBusConnection *connection, + guint export_id); + +G_END_DECLS + +#endif /* __G_ACTION_GROUP_EXPORTER_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gactionmap.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gactionmap.h new file mode 100644 index 0000000..4d5a816 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gactionmap.h @@ -0,0 +1,101 @@ +/* + * Copyright © 2010 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + */ + +#ifndef __G_ACTION_MAP_H__ +#define __G_ACTION_MAP_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + + +#define G_TYPE_ACTION_MAP (g_action_map_get_type ()) +#define G_ACTION_MAP(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_ACTION_MAP, GActionMap)) +#define G_IS_ACTION_MAP(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_ACTION_MAP)) +#define G_ACTION_MAP_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), \ + G_TYPE_ACTION_MAP, GActionMapInterface)) + +typedef struct _GActionMapInterface GActionMapInterface; +typedef struct _GActionEntry GActionEntry; + +struct _GActionMapInterface +{ + GTypeInterface g_iface; + + GAction * (* lookup_action) (GActionMap *action_map, + const gchar *action_name); + void (* add_action) (GActionMap *action_map, + GAction *action); + void (* remove_action) (GActionMap *action_map, + const gchar *action_name); +}; + +struct _GActionEntry +{ + const gchar *name; + + void (* activate) (GSimpleAction *action, + GVariant *parameter, + gpointer user_data); + + const gchar *parameter_type; + + const gchar *state; + + void (* change_state) (GSimpleAction *action, + GVariant *value, + gpointer user_data); + + /*< private >*/ + gsize padding[3]; +}; + +GIO_AVAILABLE_IN_2_32 +GType g_action_map_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_32 +GAction * g_action_map_lookup_action (GActionMap *action_map, + const gchar *action_name); +GIO_AVAILABLE_IN_2_32 +void g_action_map_add_action (GActionMap *action_map, + GAction *action); +GIO_AVAILABLE_IN_2_32 +void g_action_map_remove_action (GActionMap *action_map, + const gchar *action_name); +GIO_AVAILABLE_IN_2_32 +void g_action_map_add_action_entries (GActionMap *action_map, + const GActionEntry *entries, + gint n_entries, + gpointer user_data); +GIO_AVAILABLE_IN_2_78 +void g_action_map_remove_action_entries (GActionMap *action_map, + const GActionEntry *entries, + gint n_entries); + +G_END_DECLS + +#endif /* __G_ACTION_MAP_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gappinfo.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gappinfo.h new file mode 100644 index 0000000..6b13596 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gappinfo.h @@ -0,0 +1,369 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_APP_INFO_H__ +#define __G_APP_INFO_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_APP_INFO (g_app_info_get_type ()) +#define G_APP_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_APP_INFO, GAppInfo)) +#define G_IS_APP_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_APP_INFO)) +#define G_APP_INFO_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_APP_INFO, GAppInfoIface)) + +#define G_TYPE_APP_LAUNCH_CONTEXT (g_app_launch_context_get_type ()) +#define G_APP_LAUNCH_CONTEXT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_APP_LAUNCH_CONTEXT, GAppLaunchContext)) +#define G_APP_LAUNCH_CONTEXT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_APP_LAUNCH_CONTEXT, GAppLaunchContextClass)) +#define G_IS_APP_LAUNCH_CONTEXT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_APP_LAUNCH_CONTEXT)) +#define G_IS_APP_LAUNCH_CONTEXT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_APP_LAUNCH_CONTEXT)) +#define G_APP_LAUNCH_CONTEXT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_APP_LAUNCH_CONTEXT, GAppLaunchContextClass)) + +typedef struct _GAppLaunchContextClass GAppLaunchContextClass; +typedef struct _GAppLaunchContextPrivate GAppLaunchContextPrivate; + +/** + * GAppInfo: + * + * Information about an installed application and methods to launch + * it (with file arguments). + */ + +/** + * GAppInfoIface: + * @g_iface: The parent interface. + * @dup: Copies a #GAppInfo. + * @equal: Checks two #GAppInfos for equality. + * @get_id: Gets a string identifier for a #GAppInfo. + * @get_name: Gets the name of the application for a #GAppInfo. + * @get_description: Gets a short description for the application described by the #GAppInfo. + * @get_executable: Gets the executable name for the #GAppInfo. + * @get_icon: Gets the #GIcon for the #GAppInfo. + * @launch: Launches an application specified by the #GAppInfo. + * @supports_uris: Indicates whether the application specified supports launching URIs. + * @supports_files: Indicates whether the application specified accepts filename arguments. + * @launch_uris: Launches an application with a list of URIs. + * @should_show: Returns whether an application should be shown (e.g. when getting a list of installed applications). + * [FreeDesktop.Org Startup Notification Specification](http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt). + * @set_as_default_for_type: Sets an application as default for a given content type. + * @set_as_default_for_extension: Sets an application as default for a given file extension. + * @add_supports_type: Adds to the #GAppInfo information about supported file types. + * @can_remove_supports_type: Checks for support for removing supported file types from a #GAppInfo. + * @remove_supports_type: Removes a supported application type from a #GAppInfo. + * @can_delete: Checks if a #GAppInfo can be deleted. Since 2.20 + * @do_delete: Deletes a #GAppInfo. Since 2.20 + * @get_commandline: Gets the commandline for the #GAppInfo. Since 2.20 + * @get_display_name: Gets the display name for the #GAppInfo. Since 2.24 + * @set_as_last_used_for_type: Sets the application as the last used. See g_app_info_set_as_last_used_for_type(). + * @get_supported_types: Retrieves the list of content types that @app_info claims to support. + * @launch_uris_async: Asynchronously launches an application with a list of URIs. (Since: 2.60) + * @launch_uris_finish: Finishes an operation started with @launch_uris_async. (Since: 2.60) + + * Application Information interface, for operating system portability. + */ +typedef struct _GAppInfoIface GAppInfoIface; + +struct _GAppInfoIface +{ + GTypeInterface g_iface; + + /* Virtual Table */ + + GAppInfo * (* dup) (GAppInfo *appinfo); + gboolean (* equal) (GAppInfo *appinfo1, + GAppInfo *appinfo2); + const char * (* get_id) (GAppInfo *appinfo); + const char * (* get_name) (GAppInfo *appinfo); + const char * (* get_description) (GAppInfo *appinfo); + const char * (* get_executable) (GAppInfo *appinfo); + GIcon * (* get_icon) (GAppInfo *appinfo); + gboolean (* launch) (GAppInfo *appinfo, + GList *files, + GAppLaunchContext *context, + GError **error); + gboolean (* supports_uris) (GAppInfo *appinfo); + gboolean (* supports_files) (GAppInfo *appinfo); + gboolean (* launch_uris) (GAppInfo *appinfo, + GList *uris, + GAppLaunchContext *context, + GError **error); + gboolean (* should_show) (GAppInfo *appinfo); + + /* For changing associations */ + gboolean (* set_as_default_for_type) (GAppInfo *appinfo, + const char *content_type, + GError **error); + gboolean (* set_as_default_for_extension) (GAppInfo *appinfo, + const char *extension, + GError **error); + gboolean (* add_supports_type) (GAppInfo *appinfo, + const char *content_type, + GError **error); + gboolean (* can_remove_supports_type) (GAppInfo *appinfo); + gboolean (* remove_supports_type) (GAppInfo *appinfo, + const char *content_type, + GError **error); + gboolean (* can_delete) (GAppInfo *appinfo); + gboolean (* do_delete) (GAppInfo *appinfo); + const char * (* get_commandline) (GAppInfo *appinfo); + const char * (* get_display_name) (GAppInfo *appinfo); + gboolean (* set_as_last_used_for_type) (GAppInfo *appinfo, + const char *content_type, + GError **error); + const char ** (* get_supported_types) (GAppInfo *appinfo); + void (* launch_uris_async) (GAppInfo *appinfo, + GList *uris, + GAppLaunchContext *context, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* launch_uris_finish) (GAppInfo *appinfo, + GAsyncResult *result, + GError **error); +}; + +GIO_AVAILABLE_IN_ALL +GType g_app_info_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GAppInfo * g_app_info_create_from_commandline (const char *commandline, + const char *application_name, + GAppInfoCreateFlags flags, + GError **error); +GIO_AVAILABLE_IN_ALL +GAppInfo * g_app_info_dup (GAppInfo *appinfo); +GIO_AVAILABLE_IN_ALL +gboolean g_app_info_equal (GAppInfo *appinfo1, + GAppInfo *appinfo2); +GIO_AVAILABLE_IN_ALL +const char *g_app_info_get_id (GAppInfo *appinfo); +GIO_AVAILABLE_IN_ALL +const char *g_app_info_get_name (GAppInfo *appinfo); +GIO_AVAILABLE_IN_ALL +const char *g_app_info_get_display_name (GAppInfo *appinfo); +GIO_AVAILABLE_IN_ALL +const char *g_app_info_get_description (GAppInfo *appinfo); +GIO_AVAILABLE_IN_ALL +const char *g_app_info_get_executable (GAppInfo *appinfo); +GIO_AVAILABLE_IN_ALL +const char *g_app_info_get_commandline (GAppInfo *appinfo); +GIO_AVAILABLE_IN_ALL +GIcon * g_app_info_get_icon (GAppInfo *appinfo); +GIO_AVAILABLE_IN_ALL +gboolean g_app_info_launch (GAppInfo *appinfo, + GList *files, + GAppLaunchContext *context, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_app_info_supports_uris (GAppInfo *appinfo); +GIO_AVAILABLE_IN_ALL +gboolean g_app_info_supports_files (GAppInfo *appinfo); +GIO_AVAILABLE_IN_ALL +gboolean g_app_info_launch_uris (GAppInfo *appinfo, + GList *uris, + GAppLaunchContext *context, + GError **error); +GIO_AVAILABLE_IN_2_60 +void g_app_info_launch_uris_async (GAppInfo *appinfo, + GList *uris, + GAppLaunchContext *context, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_60 +gboolean g_app_info_launch_uris_finish (GAppInfo *appinfo, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_app_info_should_show (GAppInfo *appinfo); + +GIO_AVAILABLE_IN_ALL +gboolean g_app_info_set_as_default_for_type (GAppInfo *appinfo, + const char *content_type, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_app_info_set_as_default_for_extension (GAppInfo *appinfo, + const char *extension, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_app_info_add_supports_type (GAppInfo *appinfo, + const char *content_type, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_app_info_can_remove_supports_type (GAppInfo *appinfo); +GIO_AVAILABLE_IN_ALL +gboolean g_app_info_remove_supports_type (GAppInfo *appinfo, + const char *content_type, + GError **error); +GIO_AVAILABLE_IN_2_34 +const char **g_app_info_get_supported_types (GAppInfo *appinfo); + +GIO_AVAILABLE_IN_ALL +gboolean g_app_info_can_delete (GAppInfo *appinfo); +GIO_AVAILABLE_IN_ALL +gboolean g_app_info_delete (GAppInfo *appinfo); + +GIO_AVAILABLE_IN_ALL +gboolean g_app_info_set_as_last_used_for_type (GAppInfo *appinfo, + const char *content_type, + GError **error); + +GIO_AVAILABLE_IN_ALL +GList * g_app_info_get_all (void); +GIO_AVAILABLE_IN_ALL +GList * g_app_info_get_all_for_type (const char *content_type); +GIO_AVAILABLE_IN_ALL +GList * g_app_info_get_recommended_for_type (const gchar *content_type); +GIO_AVAILABLE_IN_ALL +GList * g_app_info_get_fallback_for_type (const gchar *content_type); + +GIO_AVAILABLE_IN_ALL +void g_app_info_reset_type_associations (const char *content_type); +GIO_AVAILABLE_IN_ALL +GAppInfo *g_app_info_get_default_for_type (const char *content_type, + gboolean must_support_uris); +GIO_AVAILABLE_IN_2_74 +void g_app_info_get_default_for_type_async (const char *content_type, + gboolean must_support_uris, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_74 +GAppInfo *g_app_info_get_default_for_type_finish (GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +GAppInfo *g_app_info_get_default_for_uri_scheme (const char *uri_scheme); + +GIO_AVAILABLE_IN_2_74 +void g_app_info_get_default_for_uri_scheme_async (const char *uri_scheme, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_74 +GAppInfo *g_app_info_get_default_for_uri_scheme_finish (GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_app_info_launch_default_for_uri (const char *uri, + GAppLaunchContext *context, + GError **error); + +GIO_AVAILABLE_IN_2_50 +void g_app_info_launch_default_for_uri_async (const char *uri, + GAppLaunchContext *context, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_50 +gboolean g_app_info_launch_default_for_uri_finish (GAsyncResult *result, + GError **error); + + +/** + * GAppLaunchContext: + * + * Integrating the launch with the launching application. This is used to + * handle for instance startup notification and launching the new application + * on the same screen as the launching window. + */ +struct _GAppLaunchContext +{ + GObject parent_instance; + + /*< private >*/ + GAppLaunchContextPrivate *priv; +}; + +struct _GAppLaunchContextClass +{ + GObjectClass parent_class; + + char * (* get_display) (GAppLaunchContext *context, + GAppInfo *info, + GList *files); + char * (* get_startup_notify_id) (GAppLaunchContext *context, + GAppInfo *info, + GList *files); + void (* launch_failed) (GAppLaunchContext *context, + const char *startup_notify_id); + void (* launched) (GAppLaunchContext *context, + GAppInfo *info, + GVariant *platform_data); + void (* launch_started) (GAppLaunchContext *context, + GAppInfo *info, + GVariant *platform_data); + + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_app_launch_context_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GAppLaunchContext *g_app_launch_context_new (void); + +GIO_AVAILABLE_IN_2_32 +void g_app_launch_context_setenv (GAppLaunchContext *context, + const char *variable, + const char *value); +GIO_AVAILABLE_IN_2_32 +void g_app_launch_context_unsetenv (GAppLaunchContext *context, + const char *variable); +GIO_AVAILABLE_IN_2_32 +char ** g_app_launch_context_get_environment (GAppLaunchContext *context); + +GIO_AVAILABLE_IN_ALL +char * g_app_launch_context_get_display (GAppLaunchContext *context, + GAppInfo *info, + GList *files); +GIO_AVAILABLE_IN_ALL +char * g_app_launch_context_get_startup_notify_id (GAppLaunchContext *context, + GAppInfo *info, + GList *files); +GIO_AVAILABLE_IN_ALL +void g_app_launch_context_launch_failed (GAppLaunchContext *context, + const char * startup_notify_id); + +#define G_TYPE_APP_INFO_MONITOR (g_app_info_monitor_get_type ()) +#define G_APP_INFO_MONITOR(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_APP_INFO_MONITOR, GAppInfoMonitor)) +#define G_IS_APP_INFO_MONITOR(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_APP_INFO_MONITOR)) + +typedef struct _GAppInfoMonitor GAppInfoMonitor; + +GIO_AVAILABLE_IN_2_40 +GType g_app_info_monitor_get_type (void); + +GIO_AVAILABLE_IN_2_40 +GAppInfoMonitor * g_app_info_monitor_get (void); + +G_END_DECLS + +#endif /* __G_APP_INFO_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gapplication.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gapplication.h new file mode 100644 index 0000000..cb6b908 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gapplication.h @@ -0,0 +1,257 @@ +/* + * Copyright © 2010 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + */ + +#ifndef __G_APPLICATION_H__ +#define __G_APPLICATION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_APPLICATION (g_application_get_type ()) +#define G_APPLICATION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_APPLICATION, GApplication)) +#define G_APPLICATION_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_APPLICATION, GApplicationClass)) +#define G_IS_APPLICATION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_APPLICATION)) +#define G_IS_APPLICATION_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_APPLICATION)) +#define G_APPLICATION_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_APPLICATION, GApplicationClass)) + +typedef struct _GApplicationPrivate GApplicationPrivate; +typedef struct _GApplicationClass GApplicationClass; + +struct _GApplication +{ + /*< private >*/ + GObject parent_instance; + + GApplicationPrivate *priv; +}; + +struct _GApplicationClass +{ + /*< private >*/ + GObjectClass parent_class; + + /*< public >*/ + /* signals */ + void (* startup) (GApplication *application); + + void (* activate) (GApplication *application); + + void (* open) (GApplication *application, + GFile **files, + gint n_files, + const gchar *hint); + + int (* command_line) (GApplication *application, + GApplicationCommandLine *command_line); + + /* vfuncs */ + + /** + * GApplicationClass::local_command_line: + * @application: a #GApplication + * @arguments: (inout) (array zero-terminated=1): array of command line arguments + * @exit_status: (out): exit status to fill after processing the command line. + * + * This virtual function is always invoked in the local instance. It + * gets passed a pointer to a %NULL-terminated copy of @argv and is + * expected to remove arguments that it handled (shifting up remaining + * arguments). + * + * The last argument to local_command_line() is a pointer to the @status + * variable which can used to set the exit status that is returned from + * g_application_run(). + * + * See g_application_run() for more details on #GApplication startup. + * + * Returns: %TRUE if the commandline has been completely handled + */ + gboolean (* local_command_line) (GApplication *application, + gchar ***arguments, + int *exit_status); + + /* @platform_data comes from an external process and is untrusted. All value types + * must be validated before being used. */ + void (* before_emit) (GApplication *application, + GVariant *platform_data); + /* Same as for @before_emit. */ + void (* after_emit) (GApplication *application, + GVariant *platform_data); + void (* add_platform_data) (GApplication *application, + GVariantBuilder *builder); + void (* quit_mainloop) (GApplication *application); + void (* run_mainloop) (GApplication *application); + void (* shutdown) (GApplication *application); + + gboolean (* dbus_register) (GApplication *application, + GDBusConnection *connection, + const gchar *object_path, + GError **error); + void (* dbus_unregister) (GApplication *application, + GDBusConnection *connection, + const gchar *object_path); + gint (* handle_local_options)(GApplication *application, + GVariantDict *options); + gboolean (* name_lost) (GApplication *application); + + /*< private >*/ + gpointer padding[7]; +}; + +GIO_AVAILABLE_IN_ALL +GType g_application_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +gboolean g_application_id_is_valid (const gchar *application_id); + +GIO_AVAILABLE_IN_ALL +GApplication * g_application_new (const gchar *application_id, + GApplicationFlags flags); + +GIO_AVAILABLE_IN_ALL +const gchar * g_application_get_application_id (GApplication *application); +GIO_AVAILABLE_IN_ALL +void g_application_set_application_id (GApplication *application, + const gchar *application_id); + +GIO_AVAILABLE_IN_2_34 +GDBusConnection * g_application_get_dbus_connection (GApplication *application); +GIO_AVAILABLE_IN_2_34 +const gchar * g_application_get_dbus_object_path (GApplication *application); + +GIO_AVAILABLE_IN_ALL +guint g_application_get_inactivity_timeout (GApplication *application); +GIO_AVAILABLE_IN_ALL +void g_application_set_inactivity_timeout (GApplication *application, + guint inactivity_timeout); + +GIO_AVAILABLE_IN_ALL +GApplicationFlags g_application_get_flags (GApplication *application); +GIO_AVAILABLE_IN_ALL +void g_application_set_flags (GApplication *application, + GApplicationFlags flags); + +GIO_AVAILABLE_IN_2_42 +const gchar * g_application_get_resource_base_path (GApplication *application); +GIO_AVAILABLE_IN_2_42 +void g_application_set_resource_base_path (GApplication *application, + const gchar *resource_path); + +GIO_DEPRECATED +void g_application_set_action_group (GApplication *application, + GActionGroup *action_group); + +GIO_AVAILABLE_IN_2_40 +void g_application_add_main_option_entries (GApplication *application, + const GOptionEntry *entries); + +GIO_AVAILABLE_IN_2_42 +void g_application_add_main_option (GApplication *application, + const char *long_name, + char short_name, + GOptionFlags flags, + GOptionArg arg, + const char *description, + const char *arg_description); +GIO_AVAILABLE_IN_2_40 +void g_application_add_option_group (GApplication *application, + GOptionGroup *group); +GIO_AVAILABLE_IN_2_56 +void g_application_set_option_context_parameter_string (GApplication *application, + const gchar *parameter_string); +GIO_AVAILABLE_IN_2_56 +void g_application_set_option_context_summary (GApplication *application, + const gchar *summary); +GIO_AVAILABLE_IN_2_56 +void g_application_set_option_context_description (GApplication *application, + const gchar *description); +GIO_AVAILABLE_IN_ALL +gboolean g_application_get_is_registered (GApplication *application); +GIO_AVAILABLE_IN_ALL +gboolean g_application_get_is_remote (GApplication *application); + +GIO_AVAILABLE_IN_ALL +gboolean g_application_register (GApplication *application, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_application_hold (GApplication *application); +GIO_AVAILABLE_IN_ALL +void g_application_release (GApplication *application); + +GIO_AVAILABLE_IN_ALL +void g_application_activate (GApplication *application); + +GIO_AVAILABLE_IN_ALL +void g_application_open (GApplication *application, + GFile **files, + gint n_files, + const gchar *hint); + +GIO_AVAILABLE_IN_ALL +int g_application_run (GApplication *application, + int argc, + char **argv); + +GIO_AVAILABLE_IN_2_32 +void g_application_quit (GApplication *application); + +GIO_AVAILABLE_IN_2_32 +GApplication * g_application_get_default (void); +GIO_AVAILABLE_IN_2_32 +void g_application_set_default (GApplication *application); + +GIO_AVAILABLE_IN_2_38 +void g_application_mark_busy (GApplication *application); +GIO_AVAILABLE_IN_2_38 +void g_application_unmark_busy (GApplication *application); +GIO_AVAILABLE_IN_2_44 +gboolean g_application_get_is_busy (GApplication *application); + +GIO_AVAILABLE_IN_2_40 +void g_application_send_notification (GApplication *application, + const gchar *id, + GNotification *notification); +GIO_AVAILABLE_IN_2_40 +void g_application_withdraw_notification (GApplication *application, + const gchar *id); + +GIO_AVAILABLE_IN_2_44 +void g_application_bind_busy_property (GApplication *application, + gpointer object, + const gchar *property); + +GIO_AVAILABLE_IN_2_44 +void g_application_unbind_busy_property (GApplication *application, + gpointer object, + const gchar *property); + +G_END_DECLS + +#endif /* __G_APPLICATION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gapplicationcommandline.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gapplicationcommandline.h new file mode 100644 index 0000000..abb6852 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gapplicationcommandline.h @@ -0,0 +1,124 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright © 2010 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + */ + +#ifndef __G_APPLICATION_COMMAND_LINE_H__ +#define __G_APPLICATION_COMMAND_LINE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_APPLICATION_COMMAND_LINE (g_application_command_line_get_type ()) +#define G_APPLICATION_COMMAND_LINE(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_APPLICATION_COMMAND_LINE, \ + GApplicationCommandLine)) +#define G_APPLICATION_COMMAND_LINE_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_APPLICATION_COMMAND_LINE, \ + GApplicationCommandLineClass)) +#define G_IS_APPLICATION_COMMAND_LINE(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_APPLICATION_COMMAND_LINE)) +#define G_IS_APPLICATION_COMMAND_LINE_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_APPLICATION_COMMAND_LINE)) +#define G_APPLICATION_COMMAND_LINE_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_APPLICATION_COMMAND_LINE, \ + GApplicationCommandLineClass)) + +typedef struct _GApplicationCommandLinePrivate GApplicationCommandLinePrivate; +typedef struct _GApplicationCommandLineClass GApplicationCommandLineClass; + +struct _GApplicationCommandLine +{ + /*< private >*/ + GObject parent_instance; + + GApplicationCommandLinePrivate *priv; +}; + +struct _GApplicationCommandLineClass +{ + /*< private >*/ + GObjectClass parent_class; + + void (* print_literal) (GApplicationCommandLine *cmdline, + const gchar *message); + void (* printerr_literal) (GApplicationCommandLine *cmdline, + const gchar *message); + GInputStream * (* get_stdin) (GApplicationCommandLine *cmdline); + + gpointer padding[11]; +}; + +GIO_AVAILABLE_IN_ALL +GType g_application_command_line_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +gchar ** g_application_command_line_get_arguments (GApplicationCommandLine *cmdline, + int *argc); + +GIO_AVAILABLE_IN_2_40 +GVariantDict * g_application_command_line_get_options_dict (GApplicationCommandLine *cmdline); + +GIO_AVAILABLE_IN_2_36 +GInputStream * g_application_command_line_get_stdin (GApplicationCommandLine *cmdline); + +GIO_AVAILABLE_IN_ALL +const gchar * const * g_application_command_line_get_environ (GApplicationCommandLine *cmdline); + +GIO_AVAILABLE_IN_ALL +const gchar * g_application_command_line_getenv (GApplicationCommandLine *cmdline, + const gchar *name); + +GIO_AVAILABLE_IN_ALL +const gchar * g_application_command_line_get_cwd (GApplicationCommandLine *cmdline); + +GIO_AVAILABLE_IN_ALL +gboolean g_application_command_line_get_is_remote (GApplicationCommandLine *cmdline); + +GIO_AVAILABLE_IN_ALL +void g_application_command_line_print (GApplicationCommandLine *cmdline, + const gchar *format, + ...) G_GNUC_PRINTF(2, 3); +GIO_AVAILABLE_IN_ALL +void g_application_command_line_printerr (GApplicationCommandLine *cmdline, + const gchar *format, + ...) G_GNUC_PRINTF(2, 3); + +GIO_AVAILABLE_IN_ALL +int g_application_command_line_get_exit_status (GApplicationCommandLine *cmdline); +GIO_AVAILABLE_IN_ALL +void g_application_command_line_set_exit_status (GApplicationCommandLine *cmdline, + int exit_status); + +GIO_AVAILABLE_IN_ALL +GVariant * g_application_command_line_get_platform_data (GApplicationCommandLine *cmdline); + +GIO_AVAILABLE_IN_2_36 +GFile * g_application_command_line_create_file_for_arg (GApplicationCommandLine *cmdline, + const gchar *arg); + +G_END_DECLS + +#endif /* __G_APPLICATION_COMMAND_LINE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gasyncinitable.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gasyncinitable.h new file mode 100644 index 0000000..1808398 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gasyncinitable.h @@ -0,0 +1,132 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2009 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_ASYNC_INITABLE_H__ +#define __G_ASYNC_INITABLE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +#define G_TYPE_ASYNC_INITABLE (g_async_initable_get_type ()) +#define G_ASYNC_INITABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_ASYNC_INITABLE, GAsyncInitable)) +#define G_IS_ASYNC_INITABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_ASYNC_INITABLE)) +#define G_ASYNC_INITABLE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_ASYNC_INITABLE, GAsyncInitableIface)) +#define G_TYPE_IS_ASYNC_INITABLE(type) (g_type_is_a ((type), G_TYPE_ASYNC_INITABLE)) + +/** + * GAsyncInitable: + * + * Interface for asynchronously initializable objects. + * + * Since: 2.22 + **/ +typedef struct _GAsyncInitableIface GAsyncInitableIface; + +/** + * GAsyncInitableIface: + * @g_iface: The parent interface. + * @init_async: Starts initialization of the object. + * @init_finish: Finishes initialization of the object. + * + * Provides an interface for asynchronous initializing object such that + * initialization may fail. + * + * Since: 2.22 + **/ +struct _GAsyncInitableIface +{ + GTypeInterface g_iface; + + /* Virtual Table */ + + void (* init_async) (GAsyncInitable *initable, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* init_finish) (GAsyncInitable *initable, + GAsyncResult *res, + GError **error); +}; + +GIO_AVAILABLE_IN_ALL +GType g_async_initable_get_type (void) G_GNUC_CONST; + + +GIO_AVAILABLE_IN_ALL +void g_async_initable_init_async (GAsyncInitable *initable, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_async_initable_init_finish (GAsyncInitable *initable, + GAsyncResult *res, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_async_initable_new_async (GType object_type, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data, + const gchar *first_property_name, + ...); + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + +GIO_DEPRECATED_IN_2_54_FOR(g_object_new_with_properties and g_async_initable_init_async) +void g_async_initable_newv_async (GType object_type, + guint n_parameters, + GParameter *parameters, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +G_GNUC_END_IGNORE_DEPRECATIONS + +GIO_AVAILABLE_IN_ALL +void g_async_initable_new_valist_async (GType object_type, + const gchar *first_property_name, + va_list var_args, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GObject *g_async_initable_new_finish (GAsyncInitable *initable, + GAsyncResult *res, + GError **error); + + + +G_END_DECLS + + +#endif /* __G_ASYNC_INITABLE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gasyncresult.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gasyncresult.h new file mode 100644 index 0000000..4a98c5f --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gasyncresult.h @@ -0,0 +1,87 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_ASYNC_RESULT_H__ +#define __G_ASYNC_RESULT_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_ASYNC_RESULT (g_async_result_get_type ()) +#define G_ASYNC_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_ASYNC_RESULT, GAsyncResult)) +#define G_IS_ASYNC_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_ASYNC_RESULT)) +#define G_ASYNC_RESULT_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_ASYNC_RESULT, GAsyncResultIface)) + +/** + * GAsyncResult: + * + * Holds results information for an asynchronous operation, + * usually passed directly to an asynchronous _finish() operation. + **/ +typedef struct _GAsyncResultIface GAsyncResultIface; + + +/** + * GAsyncResultIface: + * @g_iface: The parent interface. + * @get_user_data: Gets the user data passed to the callback. + * @get_source_object: Gets the source object that issued the asynchronous operation. + * @is_tagged: Checks if a result is tagged with a particular source. + * + * Interface definition for #GAsyncResult. + **/ +struct _GAsyncResultIface +{ + GTypeInterface g_iface; + + /* Virtual Table */ + + gpointer (* get_user_data) (GAsyncResult *res); + GObject * (* get_source_object) (GAsyncResult *res); + + gboolean (* is_tagged) (GAsyncResult *res, + gpointer source_tag); +}; + +GIO_AVAILABLE_IN_ALL +GType g_async_result_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +gpointer g_async_result_get_user_data (GAsyncResult *res); +GIO_AVAILABLE_IN_ALL +GObject *g_async_result_get_source_object (GAsyncResult *res); + +GIO_AVAILABLE_IN_2_34 +gboolean g_async_result_legacy_propagate_error (GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_2_34 +gboolean g_async_result_is_tagged (GAsyncResult *res, + gpointer source_tag); + +G_END_DECLS + +#endif /* __G_ASYNC_RESULT_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gbufferedinputstream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gbufferedinputstream.h new file mode 100644 index 0000000..c6b1dea --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gbufferedinputstream.h @@ -0,0 +1,135 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Christian Kellner + */ + +#ifndef __G_BUFFERED_INPUT_STREAM_H__ +#define __G_BUFFERED_INPUT_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_BUFFERED_INPUT_STREAM (g_buffered_input_stream_get_type ()) +#define G_BUFFERED_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_BUFFERED_INPUT_STREAM, GBufferedInputStream)) +#define G_BUFFERED_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_BUFFERED_INPUT_STREAM, GBufferedInputStreamClass)) +#define G_IS_BUFFERED_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_BUFFERED_INPUT_STREAM)) +#define G_IS_BUFFERED_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_BUFFERED_INPUT_STREAM)) +#define G_BUFFERED_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_BUFFERED_INPUT_STREAM, GBufferedInputStreamClass)) + +/** + * GBufferedInputStream: + * + * Implements #GFilterInputStream with a sized input buffer. + **/ +typedef struct _GBufferedInputStreamClass GBufferedInputStreamClass; +typedef struct _GBufferedInputStreamPrivate GBufferedInputStreamPrivate; + +struct _GBufferedInputStream +{ + GFilterInputStream parent_instance; + + /*< private >*/ + GBufferedInputStreamPrivate *priv; +}; + +struct _GBufferedInputStreamClass +{ + GFilterInputStreamClass parent_class; + + gssize (* fill) (GBufferedInputStream *stream, + gssize count, + GCancellable *cancellable, + GError **error); + + /* Async ops: (optional in derived classes) */ + void (* fill_async) (GBufferedInputStream *stream, + gssize count, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gssize (* fill_finish) (GBufferedInputStream *stream, + GAsyncResult *result, + GError **error); + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + + +GIO_AVAILABLE_IN_ALL +GType g_buffered_input_stream_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GInputStream* g_buffered_input_stream_new (GInputStream *base_stream); +GIO_AVAILABLE_IN_ALL +GInputStream* g_buffered_input_stream_new_sized (GInputStream *base_stream, + gsize size); + +GIO_AVAILABLE_IN_ALL +gsize g_buffered_input_stream_get_buffer_size (GBufferedInputStream *stream); +GIO_AVAILABLE_IN_ALL +void g_buffered_input_stream_set_buffer_size (GBufferedInputStream *stream, + gsize size); +GIO_AVAILABLE_IN_ALL +gsize g_buffered_input_stream_get_available (GBufferedInputStream *stream); +GIO_AVAILABLE_IN_ALL +gsize g_buffered_input_stream_peek (GBufferedInputStream *stream, + void *buffer, + gsize offset, + gsize count); +GIO_AVAILABLE_IN_ALL +const void* g_buffered_input_stream_peek_buffer (GBufferedInputStream *stream, + gsize *count); + +GIO_AVAILABLE_IN_ALL +gssize g_buffered_input_stream_fill (GBufferedInputStream *stream, + gssize count, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_buffered_input_stream_fill_async (GBufferedInputStream *stream, + gssize count, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gssize g_buffered_input_stream_fill_finish (GBufferedInputStream *stream, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +int g_buffered_input_stream_read_byte (GBufferedInputStream *stream, + GCancellable *cancellable, + GError **error); + +G_END_DECLS + +#endif /* __G_BUFFERED_INPUT_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gbufferedoutputstream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gbufferedoutputstream.h new file mode 100644 index 0000000..1259c76 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gbufferedoutputstream.h @@ -0,0 +1,88 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Christian Kellner + */ + +#ifndef __G_BUFFERED_OUTPUT_STREAM_H__ +#define __G_BUFFERED_OUTPUT_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_BUFFERED_OUTPUT_STREAM (g_buffered_output_stream_get_type ()) +#define G_BUFFERED_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_BUFFERED_OUTPUT_STREAM, GBufferedOutputStream)) +#define G_BUFFERED_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_BUFFERED_OUTPUT_STREAM, GBufferedOutputStreamClass)) +#define G_IS_BUFFERED_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_BUFFERED_OUTPUT_STREAM)) +#define G_IS_BUFFERED_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_BUFFERED_OUTPUT_STREAM)) +#define G_BUFFERED_OUTPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_BUFFERED_OUTPUT_STREAM, GBufferedOutputStreamClass)) + +/** + * GBufferedOutputStream: + * + * An implementation of #GFilterOutputStream with a sized buffer. + **/ +typedef struct _GBufferedOutputStreamClass GBufferedOutputStreamClass; +typedef struct _GBufferedOutputStreamPrivate GBufferedOutputStreamPrivate; + +struct _GBufferedOutputStream +{ + GFilterOutputStream parent_instance; + + /*< protected >*/ + GBufferedOutputStreamPrivate *priv; +}; + +struct _GBufferedOutputStreamClass +{ + GFilterOutputStreamClass parent_class; + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); +}; + + +GIO_AVAILABLE_IN_ALL +GType g_buffered_output_stream_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GOutputStream* g_buffered_output_stream_new (GOutputStream *base_stream); +GIO_AVAILABLE_IN_ALL +GOutputStream* g_buffered_output_stream_new_sized (GOutputStream *base_stream, + gsize size); +GIO_AVAILABLE_IN_ALL +gsize g_buffered_output_stream_get_buffer_size (GBufferedOutputStream *stream); +GIO_AVAILABLE_IN_ALL +void g_buffered_output_stream_set_buffer_size (GBufferedOutputStream *stream, + gsize size); +GIO_AVAILABLE_IN_ALL +gboolean g_buffered_output_stream_get_auto_grow (GBufferedOutputStream *stream); +GIO_AVAILABLE_IN_ALL +void g_buffered_output_stream_set_auto_grow (GBufferedOutputStream *stream, + gboolean auto_grow); + +G_END_DECLS + +#endif /* __G_BUFFERED_OUTPUT_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gbytesicon.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gbytesicon.h new file mode 100644 index 0000000..c917d38 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gbytesicon.h @@ -0,0 +1,54 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Ryan Lortie + */ + +#ifndef __G_BYTES_ICON_H__ +#define __G_BYTES_ICON_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_BYTES_ICON (g_bytes_icon_get_type ()) +#define G_BYTES_ICON(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_BYTES_ICON, GBytesIcon)) +#define G_IS_BYTES_ICON(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_BYTES_ICON)) + +/** + * GBytesIcon: + * + * Gets an icon for a #GBytes. Implements #GLoadableIcon. + **/ +GIO_AVAILABLE_IN_2_38 +GType g_bytes_icon_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_38 +GIcon * g_bytes_icon_new (GBytes *bytes); + +GIO_AVAILABLE_IN_2_38 +GBytes * g_bytes_icon_get_bytes (GBytesIcon *icon); + +G_END_DECLS + +#endif /* __G_BYTES_ICON_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gcancellable.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gcancellable.h new file mode 100644 index 0000000..d33215d --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gcancellable.h @@ -0,0 +1,120 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_CANCELLABLE_H__ +#define __G_CANCELLABLE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_CANCELLABLE (g_cancellable_get_type ()) +#define G_CANCELLABLE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_CANCELLABLE, GCancellable)) +#define G_CANCELLABLE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_CANCELLABLE, GCancellableClass)) +#define G_IS_CANCELLABLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_CANCELLABLE)) +#define G_IS_CANCELLABLE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_CANCELLABLE)) +#define G_CANCELLABLE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_CANCELLABLE, GCancellableClass)) + +/** + * GCancellable: + * + * Allows actions to be cancelled. + */ +typedef struct _GCancellableClass GCancellableClass; +typedef struct _GCancellablePrivate GCancellablePrivate; + +struct _GCancellable +{ + GObject parent_instance; + + /*< private >*/ + GCancellablePrivate *priv; +}; + +struct _GCancellableClass +{ + GObjectClass parent_class; + + void (* cancelled) (GCancellable *cancellable); + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_cancellable_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GCancellable *g_cancellable_new (void); + +/* These are only safe to call inside a cancellable op */ +GIO_AVAILABLE_IN_ALL +gboolean g_cancellable_is_cancelled (GCancellable *cancellable); +GIO_AVAILABLE_IN_ALL +gboolean g_cancellable_set_error_if_cancelled (GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +int g_cancellable_get_fd (GCancellable *cancellable); +GIO_AVAILABLE_IN_ALL +gboolean g_cancellable_make_pollfd (GCancellable *cancellable, + GPollFD *pollfd); +GIO_AVAILABLE_IN_ALL +void g_cancellable_release_fd (GCancellable *cancellable); + +GIO_AVAILABLE_IN_ALL +GSource * g_cancellable_source_new (GCancellable *cancellable); + +GIO_AVAILABLE_IN_ALL +GCancellable *g_cancellable_get_current (void); +GIO_AVAILABLE_IN_ALL +void g_cancellable_push_current (GCancellable *cancellable); +GIO_AVAILABLE_IN_ALL +void g_cancellable_pop_current (GCancellable *cancellable); +GIO_AVAILABLE_IN_ALL +void g_cancellable_reset (GCancellable *cancellable); +GIO_AVAILABLE_IN_ALL +gulong g_cancellable_connect (GCancellable *cancellable, + GCallback callback, + gpointer data, + GDestroyNotify data_destroy_func); +GIO_AVAILABLE_IN_ALL +void g_cancellable_disconnect (GCancellable *cancellable, + gulong handler_id); + + +/* This is safe to call from another thread */ +GIO_AVAILABLE_IN_ALL +void g_cancellable_cancel (GCancellable *cancellable); + +G_END_DECLS + +#endif /* __G_CANCELLABLE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gcharsetconverter.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gcharsetconverter.h new file mode 100644 index 0000000..455ca7c --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gcharsetconverter.h @@ -0,0 +1,65 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2009 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_CHARSET_CONVERTER_H__ +#define __G_CHARSET_CONVERTER_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_CHARSET_CONVERTER (g_charset_converter_get_type ()) +#define G_CHARSET_CONVERTER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_CHARSET_CONVERTER, GCharsetConverter)) +#define G_CHARSET_CONVERTER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_CHARSET_CONVERTER, GCharsetConverterClass)) +#define G_IS_CHARSET_CONVERTER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_CHARSET_CONVERTER)) +#define G_IS_CHARSET_CONVERTER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_CHARSET_CONVERTER)) +#define G_CHARSET_CONVERTER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_CHARSET_CONVERTER, GCharsetConverterClass)) + +typedef struct _GCharsetConverterClass GCharsetConverterClass; + +struct _GCharsetConverterClass +{ + GObjectClass parent_class; +}; + +GIO_AVAILABLE_IN_ALL +GType g_charset_converter_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GCharsetConverter *g_charset_converter_new (const gchar *to_charset, + const gchar *from_charset, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_charset_converter_set_use_fallback (GCharsetConverter *converter, + gboolean use_fallback); +GIO_AVAILABLE_IN_ALL +gboolean g_charset_converter_get_use_fallback (GCharsetConverter *converter); +GIO_AVAILABLE_IN_ALL +guint g_charset_converter_get_num_fallbacks (GCharsetConverter *converter); + +G_END_DECLS + +#endif /* __G_CHARSET_CONVERTER_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gcontenttype.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gcontenttype.h new file mode 100644 index 0000000..910c2e2 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gcontenttype.h @@ -0,0 +1,84 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_CONTENT_TYPE_H__ +#define __G_CONTENT_TYPE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +GIO_AVAILABLE_IN_ALL +gboolean g_content_type_equals (const gchar *type1, + const gchar *type2); +GIO_AVAILABLE_IN_ALL +gboolean g_content_type_is_a (const gchar *type, + const gchar *supertype); +GIO_AVAILABLE_IN_2_52 +gboolean g_content_type_is_mime_type (const gchar *type, + const gchar *mime_type); +GIO_AVAILABLE_IN_ALL +gboolean g_content_type_is_unknown (const gchar *type); +GIO_AVAILABLE_IN_ALL +gchar * g_content_type_get_description (const gchar *type); +GIO_AVAILABLE_IN_ALL +gchar * g_content_type_get_mime_type (const gchar *type); +GIO_AVAILABLE_IN_ALL +GIcon * g_content_type_get_icon (const gchar *type); +GIO_AVAILABLE_IN_2_34 +GIcon * g_content_type_get_symbolic_icon (const gchar *type); +GIO_AVAILABLE_IN_2_34 +gchar * g_content_type_get_generic_icon_name (const gchar *type); + +GIO_AVAILABLE_IN_ALL +gboolean g_content_type_can_be_executable (const gchar *type); + +GIO_AVAILABLE_IN_ALL +gchar * g_content_type_from_mime_type (const gchar *mime_type); + +GIO_AVAILABLE_IN_ALL +gchar * g_content_type_guess (const gchar *filename, + const guchar *data, + gsize data_size, + gboolean *result_uncertain); + +GIO_AVAILABLE_IN_ALL +gchar ** g_content_type_guess_for_tree (GFile *root); + +GIO_AVAILABLE_IN_ALL +GList * g_content_types_get_registered (void); + +/*< private >*/ +#ifndef __GTK_DOC_IGNORE__ +GIO_AVAILABLE_IN_2_60 +const gchar * const *g_content_type_get_mime_dirs (void); +GIO_AVAILABLE_IN_2_60 +void g_content_type_set_mime_dirs (const gchar * const *dirs); +#endif /* __GTK_DOC_IGNORE__ */ + +G_END_DECLS + +#endif /* __G_CONTENT_TYPE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gconverter.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gconverter.h new file mode 100644 index 0000000..16e94a1 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gconverter.h @@ -0,0 +1,98 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2009 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_CONVERTER_H__ +#define __G_CONVERTER_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_CONVERTER (g_converter_get_type ()) +#define G_CONVERTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_CONVERTER, GConverter)) +#define G_IS_CONVERTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_CONVERTER)) +#define G_CONVERTER_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_CONVERTER, GConverterIface)) + +/** + * GConverter: + * + * Seek object for streaming operations. + * + * Since: 2.24 + **/ +typedef struct _GConverterIface GConverterIface; + +/** + * GConverterIface: + * @g_iface: The parent interface. + * @convert: Converts data. + * @reset: Reverts the internal state of the converter to its initial state. + * + * Provides an interface for converting data from one type + * to another type. The conversion can be stateful + * and may fail at any place. + * + * Since: 2.24 + **/ +struct _GConverterIface +{ + GTypeInterface g_iface; + + /* Virtual Table */ + + GConverterResult (* convert) (GConverter *converter, + const void *inbuf, + gsize inbuf_size, + void *outbuf, + gsize outbuf_size, + GConverterFlags flags, + gsize *bytes_read, + gsize *bytes_written, + GError **error); + void (* reset) (GConverter *converter); +}; + +GIO_AVAILABLE_IN_ALL +GType g_converter_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GConverterResult g_converter_convert (GConverter *converter, + const void *inbuf, + gsize inbuf_size, + void *outbuf, + gsize outbuf_size, + GConverterFlags flags, + gsize *bytes_read, + gsize *bytes_written, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_converter_reset (GConverter *converter); + + +G_END_DECLS + + +#endif /* __G_CONVERTER_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gconverterinputstream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gconverterinputstream.h new file mode 100644 index 0000000..01de11e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gconverterinputstream.h @@ -0,0 +1,82 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2009 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_CONVERTER_INPUT_STREAM_H__ +#define __G_CONVERTER_INPUT_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +#define G_TYPE_CONVERTER_INPUT_STREAM (g_converter_input_stream_get_type ()) +#define G_CONVERTER_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_CONVERTER_INPUT_STREAM, GConverterInputStream)) +#define G_CONVERTER_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_CONVERTER_INPUT_STREAM, GConverterInputStreamClass)) +#define G_IS_CONVERTER_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_CONVERTER_INPUT_STREAM)) +#define G_IS_CONVERTER_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_CONVERTER_INPUT_STREAM)) +#define G_CONVERTER_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_CONVERTER_INPUT_STREAM, GConverterInputStreamClass)) + +/** + * GConverterInputStream: + * + * An implementation of #GFilterInputStream that allows data + * conversion. + **/ +typedef struct _GConverterInputStreamClass GConverterInputStreamClass; +typedef struct _GConverterInputStreamPrivate GConverterInputStreamPrivate; + +struct _GConverterInputStream +{ + GFilterInputStream parent_instance; + + /*< private >*/ + GConverterInputStreamPrivate *priv; +}; + +struct _GConverterInputStreamClass +{ + GFilterInputStreamClass parent_class; + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_converter_input_stream_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GInputStream *g_converter_input_stream_new (GInputStream *base_stream, + GConverter *converter); +GIO_AVAILABLE_IN_ALL +GConverter *g_converter_input_stream_get_converter (GConverterInputStream *converter_stream); + +G_END_DECLS + +#endif /* __G_CONVERTER_INPUT_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gconverteroutputstream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gconverteroutputstream.h new file mode 100644 index 0000000..c090846 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gconverteroutputstream.h @@ -0,0 +1,82 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2009 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_CONVERTER_OUTPUT_STREAM_H__ +#define __G_CONVERTER_OUTPUT_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +#define G_TYPE_CONVERTER_OUTPUT_STREAM (g_converter_output_stream_get_type ()) +#define G_CONVERTER_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_CONVERTER_OUTPUT_STREAM, GConverterOutputStream)) +#define G_CONVERTER_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_CONVERTER_OUTPUT_STREAM, GConverterOutputStreamClass)) +#define G_IS_CONVERTER_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_CONVERTER_OUTPUT_STREAM)) +#define G_IS_CONVERTER_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_CONVERTER_OUTPUT_STREAM)) +#define G_CONVERTER_OUTPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_CONVERTER_OUTPUT_STREAM, GConverterOutputStreamClass)) + +/** + * GConverterOutputStream: + * + * An implementation of #GFilterOutputStream that allows data + * conversion. + **/ +typedef struct _GConverterOutputStreamClass GConverterOutputStreamClass; +typedef struct _GConverterOutputStreamPrivate GConverterOutputStreamPrivate; + +struct _GConverterOutputStream +{ + GFilterOutputStream parent_instance; + + /*< private >*/ + GConverterOutputStreamPrivate *priv; +}; + +struct _GConverterOutputStreamClass +{ + GFilterOutputStreamClass parent_class; + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_converter_output_stream_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GOutputStream *g_converter_output_stream_new (GOutputStream *base_stream, + GConverter *converter); +GIO_AVAILABLE_IN_ALL +GConverter *g_converter_output_stream_get_converter (GConverterOutputStream *converter_stream); + +G_END_DECLS + +#endif /* __G_CONVERTER_OUTPUT_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gcredentials.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gcredentials.h new file mode 100644 index 0000000..c30f31f --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gcredentials.h @@ -0,0 +1,87 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_CREDENTIALS_H__ +#define __G_CREDENTIALS_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +#ifdef G_OS_UNIX +/* To get the uid_t type */ +#include +#include +#endif + +G_BEGIN_DECLS + +#define G_TYPE_CREDENTIALS (g_credentials_get_type ()) +#define G_CREDENTIALS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_CREDENTIALS, GCredentials)) +#define G_CREDENTIALS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_CREDENTIALS, GCredentialsClass)) +#define G_CREDENTIALS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_CREDENTIALS, GCredentialsClass)) +#define G_IS_CREDENTIALS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_CREDENTIALS)) +#define G_IS_CREDENTIALS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_CREDENTIALS)) + +typedef struct _GCredentialsClass GCredentialsClass; + +GIO_AVAILABLE_IN_ALL +GType g_credentials_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GCredentials *g_credentials_new (void); + +GIO_AVAILABLE_IN_ALL +gchar *g_credentials_to_string (GCredentials *credentials); + +GIO_AVAILABLE_IN_ALL +gpointer g_credentials_get_native (GCredentials *credentials, + GCredentialsType native_type); + +GIO_AVAILABLE_IN_ALL +void g_credentials_set_native (GCredentials *credentials, + GCredentialsType native_type, + gpointer native); + +GIO_AVAILABLE_IN_ALL +gboolean g_credentials_is_same_user (GCredentials *credentials, + GCredentials *other_credentials, + GError **error); + +#ifdef G_OS_UNIX +GIO_AVAILABLE_IN_2_36 +pid_t g_credentials_get_unix_pid (GCredentials *credentials, + GError **error); +GIO_AVAILABLE_IN_ALL +uid_t g_credentials_get_unix_user (GCredentials *credentials, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_credentials_set_unix_user (GCredentials *credentials, + uid_t uid, + GError **error); +#endif + +G_END_DECLS + +#endif /* __G_CREDENTIALS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdatagrambased.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdatagrambased.h new file mode 100644 index 0000000..585728c --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdatagrambased.h @@ -0,0 +1,146 @@ +/* + * Copyright 2015 Collabora Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Philip Withnall + */ + +#ifndef __G_DATAGRAM_BASED_H__ +#define __G_DATAGRAM_BASED_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DATAGRAM_BASED (g_datagram_based_get_type ()) +#define G_DATAGRAM_BASED(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_DATAGRAM_BASED, GDatagramBased)) +#define G_IS_DATAGRAM_BASED(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_DATAGRAM_BASED)) +#define G_DATAGRAM_BASED_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), \ + G_TYPE_DATAGRAM_BASED, \ + GDatagramBasedInterface)) +#define G_TYPE_IS_DATAGRAM_BASED(type) (g_type_is_a ((type), \ + G_TYPE_DATAGRAM_BASED)) + +/** + * GDatagramBased: + * + * Interface for socket-like objects with datagram semantics. + * + * Since: 2.48 + */ +typedef struct _GDatagramBasedInterface GDatagramBasedInterface; + +/** + * GDatagramBasedInterface: + * @g_iface: The parent interface. + * @receive_messages: Virtual method for g_datagram_based_receive_messages(). + * @send_messages: Virtual method for g_datagram_based_send_messages(). + * @create_source: Virtual method for g_datagram_based_create_source(). + * @condition_check: Virtual method for g_datagram_based_condition_check(). + * @condition_wait: Virtual method for + * g_datagram_based_condition_wait(). + * + * Provides an interface for socket-like objects which have datagram semantics, + * following the Berkeley sockets API. The interface methods are thin wrappers + * around the corresponding virtual methods, and no pre-processing of inputs is + * implemented — so implementations of this API must handle all functionality + * documented in the interface methods. + * + * Since: 2.48 + */ +struct _GDatagramBasedInterface +{ + GTypeInterface g_iface; + + /* Virtual table */ + gint (*receive_messages) (GDatagramBased *datagram_based, + GInputMessage *messages, + guint num_messages, + gint flags, + gint64 timeout, + GCancellable *cancellable, + GError **error); + gint (*send_messages) (GDatagramBased *datagram_based, + GOutputMessage *messages, + guint num_messages, + gint flags, + gint64 timeout, + GCancellable *cancellable, + GError **error); + + GSource *(*create_source) (GDatagramBased *datagram_based, + GIOCondition condition, + GCancellable *cancellable); + GIOCondition (*condition_check) (GDatagramBased *datagram_based, + GIOCondition condition); + gboolean (*condition_wait) (GDatagramBased *datagram_based, + GIOCondition condition, + gint64 timeout, + GCancellable *cancellable, + GError **error); +}; + +GIO_AVAILABLE_IN_2_48 +GType +g_datagram_based_get_type (void); + +GIO_AVAILABLE_IN_2_48 +gint +g_datagram_based_receive_messages (GDatagramBased *datagram_based, + GInputMessage *messages, + guint num_messages, + gint flags, + gint64 timeout, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_2_48 +gint +g_datagram_based_send_messages (GDatagramBased *datagram_based, + GOutputMessage *messages, + guint num_messages, + gint flags, + gint64 timeout, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_2_48 +GSource * +g_datagram_based_create_source (GDatagramBased *datagram_based, + GIOCondition condition, + GCancellable *cancellable); +GIO_AVAILABLE_IN_2_48 +GIOCondition +g_datagram_based_condition_check (GDatagramBased *datagram_based, + GIOCondition condition); +GIO_AVAILABLE_IN_2_48 +gboolean +g_datagram_based_condition_wait (GDatagramBased *datagram_based, + GIOCondition condition, + gint64 timeout, + GCancellable *cancellable, + GError **error); + +G_END_DECLS + +#endif /* __G_DATAGRAM_BASED_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdatainputstream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdatainputstream.h new file mode 100644 index 0000000..e130295 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdatainputstream.h @@ -0,0 +1,182 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_DATA_INPUT_STREAM_H__ +#define __G_DATA_INPUT_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DATA_INPUT_STREAM (g_data_input_stream_get_type ()) +#define G_DATA_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DATA_INPUT_STREAM, GDataInputStream)) +#define G_DATA_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DATA_INPUT_STREAM, GDataInputStreamClass)) +#define G_IS_DATA_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DATA_INPUT_STREAM)) +#define G_IS_DATA_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DATA_INPUT_STREAM)) +#define G_DATA_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DATA_INPUT_STREAM, GDataInputStreamClass)) + +/** + * GDataInputStream: + * + * An implementation of #GBufferedInputStream that allows for high-level + * data manipulation of arbitrary data (including binary operations). + **/ +typedef struct _GDataInputStreamClass GDataInputStreamClass; +typedef struct _GDataInputStreamPrivate GDataInputStreamPrivate; + +struct _GDataInputStream +{ + GBufferedInputStream parent_instance; + + /*< private >*/ + GDataInputStreamPrivate *priv; +}; + +struct _GDataInputStreamClass +{ + GBufferedInputStreamClass parent_class; + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_data_input_stream_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GDataInputStream * g_data_input_stream_new (GInputStream *base_stream); + +GIO_AVAILABLE_IN_ALL +void g_data_input_stream_set_byte_order (GDataInputStream *stream, + GDataStreamByteOrder order); +GIO_AVAILABLE_IN_ALL +GDataStreamByteOrder g_data_input_stream_get_byte_order (GDataInputStream *stream); +GIO_AVAILABLE_IN_ALL +void g_data_input_stream_set_newline_type (GDataInputStream *stream, + GDataStreamNewlineType type); +GIO_AVAILABLE_IN_ALL +GDataStreamNewlineType g_data_input_stream_get_newline_type (GDataInputStream *stream); +GIO_AVAILABLE_IN_ALL +guchar g_data_input_stream_read_byte (GDataInputStream *stream, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gint16 g_data_input_stream_read_int16 (GDataInputStream *stream, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +guint16 g_data_input_stream_read_uint16 (GDataInputStream *stream, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gint32 g_data_input_stream_read_int32 (GDataInputStream *stream, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +guint32 g_data_input_stream_read_uint32 (GDataInputStream *stream, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gint64 g_data_input_stream_read_int64 (GDataInputStream *stream, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +guint64 g_data_input_stream_read_uint64 (GDataInputStream *stream, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +char * g_data_input_stream_read_line (GDataInputStream *stream, + gsize *length, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_2_30 +char * g_data_input_stream_read_line_utf8 (GDataInputStream *stream, + gsize *length, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_data_input_stream_read_line_async (GDataInputStream *stream, + gint io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +char * g_data_input_stream_read_line_finish (GDataInputStream *stream, + GAsyncResult *result, + gsize *length, + GError **error); +GIO_AVAILABLE_IN_2_30 +char * g_data_input_stream_read_line_finish_utf8(GDataInputStream *stream, + GAsyncResult *result, + gsize *length, + GError **error); +GIO_DEPRECATED_IN_2_56_FOR (g_data_input_stream_read_upto) +char * g_data_input_stream_read_until (GDataInputStream *stream, + const gchar *stop_chars, + gsize *length, + GCancellable *cancellable, + GError **error); +GIO_DEPRECATED_IN_2_56_FOR (g_data_input_stream_read_upto_async) +void g_data_input_stream_read_until_async (GDataInputStream *stream, + const gchar *stop_chars, + gint io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_DEPRECATED_IN_2_56_FOR (g_data_input_stream_read_upto_finish) +char * g_data_input_stream_read_until_finish (GDataInputStream *stream, + GAsyncResult *result, + gsize *length, + GError **error); + +GIO_AVAILABLE_IN_ALL +char * g_data_input_stream_read_upto (GDataInputStream *stream, + const gchar *stop_chars, + gssize stop_chars_len, + gsize *length, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_data_input_stream_read_upto_async (GDataInputStream *stream, + const gchar *stop_chars, + gssize stop_chars_len, + gint io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +char * g_data_input_stream_read_upto_finish (GDataInputStream *stream, + GAsyncResult *result, + gsize *length, + GError **error); + +G_END_DECLS + +#endif /* __G_DATA_INPUT_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdataoutputstream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdataoutputstream.h new file mode 100644 index 0000000..a8d434a --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdataoutputstream.h @@ -0,0 +1,127 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_DATA_OUTPUT_STREAM_H__ +#define __G_DATA_OUTPUT_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DATA_OUTPUT_STREAM (g_data_output_stream_get_type ()) +#define G_DATA_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DATA_OUTPUT_STREAM, GDataOutputStream)) +#define G_DATA_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DATA_OUTPUT_STREAM, GDataOutputStreamClass)) +#define G_IS_DATA_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DATA_OUTPUT_STREAM)) +#define G_IS_DATA_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DATA_OUTPUT_STREAM)) +#define G_DATA_OUTPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DATA_OUTPUT_STREAM, GDataOutputStreamClass)) + +/** + * GDataOutputStream: + * + * An implementation of #GBufferedOutputStream that allows for high-level + * data manipulation of arbitrary data (including binary operations). + **/ +typedef struct _GDataOutputStream GDataOutputStream; +typedef struct _GDataOutputStreamClass GDataOutputStreamClass; +typedef struct _GDataOutputStreamPrivate GDataOutputStreamPrivate; + +struct _GDataOutputStream +{ + GFilterOutputStream parent_instance; + + /*< private >*/ + GDataOutputStreamPrivate *priv; +}; + +struct _GDataOutputStreamClass +{ + GFilterOutputStreamClass parent_class; + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + + +GIO_AVAILABLE_IN_ALL +GType g_data_output_stream_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GDataOutputStream * g_data_output_stream_new (GOutputStream *base_stream); + +GIO_AVAILABLE_IN_ALL +void g_data_output_stream_set_byte_order (GDataOutputStream *stream, + GDataStreamByteOrder order); +GIO_AVAILABLE_IN_ALL +GDataStreamByteOrder g_data_output_stream_get_byte_order (GDataOutputStream *stream); + +GIO_AVAILABLE_IN_ALL +gboolean g_data_output_stream_put_byte (GDataOutputStream *stream, + guchar data, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_data_output_stream_put_int16 (GDataOutputStream *stream, + gint16 data, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_data_output_stream_put_uint16 (GDataOutputStream *stream, + guint16 data, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_data_output_stream_put_int32 (GDataOutputStream *stream, + gint32 data, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_data_output_stream_put_uint32 (GDataOutputStream *stream, + guint32 data, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_data_output_stream_put_int64 (GDataOutputStream *stream, + gint64 data, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_data_output_stream_put_uint64 (GDataOutputStream *stream, + guint64 data, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_data_output_stream_put_string (GDataOutputStream *stream, + const char *str, + GCancellable *cancellable, + GError **error); + +G_END_DECLS + +#endif /* __G_DATA_OUTPUT_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusactiongroup.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusactiongroup.h new file mode 100644 index 0000000..84868f0 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusactiongroup.h @@ -0,0 +1,56 @@ +/* + * Copyright © 2010 Codethink Limited + * Copyright © 2011 Canonical Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + */ + +#ifndef __G_DBUS_ACTION_GROUP_H__ +#define __G_DBUS_ACTION_GROUP_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include "giotypes.h" + +G_BEGIN_DECLS + +#define G_TYPE_DBUS_ACTION_GROUP (g_dbus_action_group_get_type ()) +#define G_DBUS_ACTION_GROUP(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_DBUS_ACTION_GROUP, GDBusActionGroup)) +#define G_DBUS_ACTION_GROUP_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_DBUS_ACTION_GROUP, GDBusActionGroupClass)) +#define G_IS_DBUS_ACTION_GROUP(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_DBUS_ACTION_GROUP)) +#define G_IS_DBUS_ACTION_GROUP_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_DBUS_ACTION_GROUP)) +#define G_DBUS_ACTION_GROUP_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_DBUS_ACTION_GROUP, GDBusActionGroupClass)) + +GIO_AVAILABLE_IN_ALL +GType g_dbus_action_group_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_32 +GDBusActionGroup * g_dbus_action_group_get (GDBusConnection *connection, + const gchar *bus_name, + const gchar *object_path); + +G_END_DECLS + +#endif /* __G_DBUS_ACTION_GROUP_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusaddress.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusaddress.h new file mode 100644 index 0000000..09734ad --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusaddress.h @@ -0,0 +1,67 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_ADDRESS_H__ +#define __G_DBUS_ADDRESS_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +GIO_AVAILABLE_IN_2_36 +gchar *g_dbus_address_escape_value (const gchar *string); + +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_is_address (const gchar *string); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_is_supported_address (const gchar *string, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_dbus_address_get_stream (const gchar *address, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_ALL +GIOStream *g_dbus_address_get_stream_finish (GAsyncResult *res, + gchar **out_guid, + GError **error); + +GIO_AVAILABLE_IN_ALL +GIOStream *g_dbus_address_get_stream_sync (const gchar *address, + gchar **out_guid, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +gchar *g_dbus_address_get_for_bus_sync (GBusType bus_type, + GCancellable *cancellable, + GError **error); + +G_END_DECLS + +#endif /* __G_DBUS_ADDRESS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusauthobserver.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusauthobserver.h new file mode 100644 index 0000000..715095d --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusauthobserver.h @@ -0,0 +1,53 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_AUTH_OBSERVER_H__ +#define __G_DBUS_AUTH_OBSERVER_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DBUS_AUTH_OBSERVER (g_dbus_auth_observer_get_type ()) +#define G_DBUS_AUTH_OBSERVER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_AUTH_OBSERVER, GDBusAuthObserver)) +#define G_IS_DBUS_AUTH_OBSERVER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_AUTH_OBSERVER)) + +GIO_AVAILABLE_IN_ALL +GType g_dbus_auth_observer_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GDBusAuthObserver *g_dbus_auth_observer_new (void); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_auth_observer_authorize_authenticated_peer (GDBusAuthObserver *observer, + GIOStream *stream, + GCredentials *credentials); + +GIO_AVAILABLE_IN_2_34 +gboolean g_dbus_auth_observer_allow_mechanism (GDBusAuthObserver *observer, + const gchar *mechanism); + +G_END_DECLS + +#endif /* _G_DBUS_AUTH_OBSERVER_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusconnection.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusconnection.h new file mode 100644 index 0000000..3a8cb9d --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusconnection.h @@ -0,0 +1,691 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_CONNECTION_H__ +#define __G_DBUS_CONNECTION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DBUS_CONNECTION (g_dbus_connection_get_type ()) +#define G_DBUS_CONNECTION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_CONNECTION, GDBusConnection)) +#define G_IS_DBUS_CONNECTION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_CONNECTION)) + +GIO_AVAILABLE_IN_ALL +GType g_dbus_connection_get_type (void) G_GNUC_CONST; + +/* ---------------------------------------------------------------------------------------------------- */ + +GIO_AVAILABLE_IN_ALL +void g_bus_get (GBusType bus_type, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GDBusConnection *g_bus_get_finish (GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GDBusConnection *g_bus_get_sync (GBusType bus_type, + GCancellable *cancellable, + GError **error); + +/* ---------------------------------------------------------------------------------------------------- */ + +GIO_AVAILABLE_IN_ALL +void g_dbus_connection_new (GIOStream *stream, + const gchar *guid, + GDBusConnectionFlags flags, + GDBusAuthObserver *observer, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GDBusConnection *g_dbus_connection_new_finish (GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GDBusConnection *g_dbus_connection_new_sync (GIOStream *stream, + const gchar *guid, + GDBusConnectionFlags flags, + GDBusAuthObserver *observer, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_dbus_connection_new_for_address (const gchar *address, + GDBusConnectionFlags flags, + GDBusAuthObserver *observer, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GDBusConnection *g_dbus_connection_new_for_address_finish (GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GDBusConnection *g_dbus_connection_new_for_address_sync (const gchar *address, + GDBusConnectionFlags flags, + GDBusAuthObserver *observer, + GCancellable *cancellable, + GError **error); + +/* ---------------------------------------------------------------------------------------------------- */ + +GIO_AVAILABLE_IN_ALL +void g_dbus_connection_start_message_processing (GDBusConnection *connection); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_connection_is_closed (GDBusConnection *connection); +GIO_AVAILABLE_IN_ALL +GIOStream *g_dbus_connection_get_stream (GDBusConnection *connection); +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_connection_get_guid (GDBusConnection *connection); +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_connection_get_unique_name (GDBusConnection *connection); +GIO_AVAILABLE_IN_ALL +GCredentials *g_dbus_connection_get_peer_credentials (GDBusConnection *connection); + +GIO_AVAILABLE_IN_2_34 +guint32 g_dbus_connection_get_last_serial (GDBusConnection *connection); + +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_connection_get_exit_on_close (GDBusConnection *connection); +GIO_AVAILABLE_IN_ALL +void g_dbus_connection_set_exit_on_close (GDBusConnection *connection, + gboolean exit_on_close); +GIO_AVAILABLE_IN_ALL +GDBusCapabilityFlags g_dbus_connection_get_capabilities (GDBusConnection *connection); +GIO_AVAILABLE_IN_2_60 +GDBusConnectionFlags g_dbus_connection_get_flags (GDBusConnection *connection); + +/* ---------------------------------------------------------------------------------------------------- */ + +GIO_AVAILABLE_IN_ALL +void g_dbus_connection_close (GDBusConnection *connection, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_connection_close_finish (GDBusConnection *connection, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_connection_close_sync (GDBusConnection *connection, + GCancellable *cancellable, + GError **error); + +/* ---------------------------------------------------------------------------------------------------- */ + +GIO_AVAILABLE_IN_ALL +void g_dbus_connection_flush (GDBusConnection *connection, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_connection_flush_finish (GDBusConnection *connection, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_connection_flush_sync (GDBusConnection *connection, + GCancellable *cancellable, + GError **error); + +/* ---------------------------------------------------------------------------------------------------- */ + +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_connection_send_message (GDBusConnection *connection, + GDBusMessage *message, + GDBusSendMessageFlags flags, + volatile guint32 *out_serial, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_dbus_connection_send_message_with_reply (GDBusConnection *connection, + GDBusMessage *message, + GDBusSendMessageFlags flags, + gint timeout_msec, + volatile guint32 *out_serial, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GDBusMessage *g_dbus_connection_send_message_with_reply_finish (GDBusConnection *connection, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GDBusMessage *g_dbus_connection_send_message_with_reply_sync (GDBusConnection *connection, + GDBusMessage *message, + GDBusSendMessageFlags flags, + gint timeout_msec, + volatile guint32 *out_serial, + GCancellable *cancellable, + GError **error); + +/* ---------------------------------------------------------------------------------------------------- */ + +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_connection_emit_signal (GDBusConnection *connection, + const gchar *destination_bus_name, + const gchar *object_path, + const gchar *interface_name, + const gchar *signal_name, + GVariant *parameters, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_dbus_connection_call (GDBusConnection *connection, + const gchar *bus_name, + const gchar *object_path, + const gchar *interface_name, + const gchar *method_name, + GVariant *parameters, + const GVariantType *reply_type, + GDBusCallFlags flags, + gint timeout_msec, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GVariant *g_dbus_connection_call_finish (GDBusConnection *connection, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GVariant *g_dbus_connection_call_sync (GDBusConnection *connection, + const gchar *bus_name, + const gchar *object_path, + const gchar *interface_name, + const gchar *method_name, + GVariant *parameters, + const GVariantType *reply_type, + GDBusCallFlags flags, + gint timeout_msec, + GCancellable *cancellable, + GError **error); + +#ifdef G_OS_UNIX + +GIO_AVAILABLE_IN_2_30 +void g_dbus_connection_call_with_unix_fd_list (GDBusConnection *connection, + const gchar *bus_name, + const gchar *object_path, + const gchar *interface_name, + const gchar *method_name, + GVariant *parameters, + const GVariantType *reply_type, + GDBusCallFlags flags, + gint timeout_msec, + GUnixFDList *fd_list, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_30 +GVariant *g_dbus_connection_call_with_unix_fd_list_finish (GDBusConnection *connection, + GUnixFDList **out_fd_list, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_2_30 +GVariant *g_dbus_connection_call_with_unix_fd_list_sync (GDBusConnection *connection, + const gchar *bus_name, + const gchar *object_path, + const gchar *interface_name, + const gchar *method_name, + GVariant *parameters, + const GVariantType *reply_type, + GDBusCallFlags flags, + gint timeout_msec, + GUnixFDList *fd_list, + GUnixFDList **out_fd_list, + GCancellable *cancellable, + GError **error); + +#endif /* G_OS_UNIX */ + +/* ---------------------------------------------------------------------------------------------------- */ + + +/** + * GDBusInterfaceMethodCallFunc: + * @connection: A #GDBusConnection. + * @sender: The unique bus name of the remote caller. + * @object_path: The object path that the method was invoked on. + * @interface_name: The D-Bus interface name the method was invoked on. + * @method_name: The name of the method that was invoked. + * @parameters: A #GVariant tuple with parameters. + * @invocation: (transfer full): A #GDBusMethodInvocation object that must be used to return a value or error. + * @user_data: The @user_data #gpointer passed to g_dbus_connection_register_object(). + * + * The type of the @method_call function in #GDBusInterfaceVTable. + * + * Since: 2.26 + */ +typedef void (*GDBusInterfaceMethodCallFunc) (GDBusConnection *connection, + const gchar *sender, + const gchar *object_path, + const gchar *interface_name, + const gchar *method_name, + GVariant *parameters, + GDBusMethodInvocation *invocation, + gpointer user_data); + +/** + * GDBusInterfaceGetPropertyFunc: + * @connection: A #GDBusConnection. + * @sender: The unique bus name of the remote caller. + * @object_path: The object path that the method was invoked on. + * @interface_name: The D-Bus interface name for the property. + * @property_name: The name of the property to get the value of. + * @error: Return location for error. + * @user_data: The @user_data #gpointer passed to g_dbus_connection_register_object(). + * + * The type of the @get_property function in #GDBusInterfaceVTable. + * + * Returns: A #GVariant with the value for @property_name or %NULL if + * @error is set. If the returned #GVariant is floating, it is + * consumed - otherwise its reference count is decreased by one. + * + * Since: 2.26 + */ +typedef GVariant *(*GDBusInterfaceGetPropertyFunc) (GDBusConnection *connection, + const gchar *sender, + const gchar *object_path, + const gchar *interface_name, + const gchar *property_name, + GError **error, + gpointer user_data); + +/** + * GDBusInterfaceSetPropertyFunc: + * @connection: A #GDBusConnection. + * @sender: The unique bus name of the remote caller. + * @object_path: The object path that the method was invoked on. + * @interface_name: The D-Bus interface name for the property. + * @property_name: The name of the property to get the value of. + * @value: The value to set the property to. + * @error: Return location for error. + * @user_data: The @user_data #gpointer passed to g_dbus_connection_register_object(). + * + * The type of the @set_property function in #GDBusInterfaceVTable. + * + * Returns: %TRUE if the property was set to @value, %FALSE if @error is set. + * + * Since: 2.26 + */ +typedef gboolean (*GDBusInterfaceSetPropertyFunc) (GDBusConnection *connection, + const gchar *sender, + const gchar *object_path, + const gchar *interface_name, + const gchar *property_name, + GVariant *value, + GError **error, + gpointer user_data); + +/** + * GDBusInterfaceVTable: + * @method_call: Function for handling incoming method calls. + * @get_property: Function for getting a property. + * @set_property: Function for setting a property. + * + * Virtual table for handling properties and method calls for a D-Bus + * interface. + * + * Since 2.38, if you want to handle getting/setting D-Bus properties + * asynchronously, give %NULL as your get_property() or set_property() + * function. The D-Bus call will be directed to your @method_call function, + * with the provided @interface_name set to "org.freedesktop.DBus.Properties". + * + * Ownership of the #GDBusMethodInvocation object passed to the + * method_call() function is transferred to your handler; you must + * call one of the methods of #GDBusMethodInvocation to return a reply + * (possibly empty), or an error. These functions also take ownership + * of the passed-in invocation object, so unless the invocation + * object has otherwise been referenced, it will be then be freed. + * Calling one of these functions may be done within your + * method_call() implementation but it also can be done at a later + * point to handle the method asynchronously. + * + * The usual checks on the validity of the calls is performed. For + * `Get` calls, an error is automatically returned if the property does + * not exist or the permissions do not allow access. The same checks are + * performed for `Set` calls, and the provided value is also checked for + * being the correct type. + * + * For both `Get` and `Set` calls, the #GDBusMethodInvocation + * passed to the @method_call handler can be queried with + * g_dbus_method_invocation_get_property_info() to get a pointer + * to the #GDBusPropertyInfo of the property. + * + * If you have readable properties specified in your interface info, + * you must ensure that you either provide a non-%NULL @get_property() + * function or provide implementations of both the `Get` and `GetAll` + * methods on org.freedesktop.DBus.Properties interface in your @method_call + * function. Note that the required return type of the `Get` call is + * `(v)`, not the type of the property. `GetAll` expects a return value + * of type `a{sv}`. + * + * If you have writable properties specified in your interface info, + * you must ensure that you either provide a non-%NULL @set_property() + * function or provide an implementation of the `Set` call. If implementing + * the call, you must return the value of type %G_VARIANT_TYPE_UNIT. + * + * Since: 2.26 + */ +struct _GDBusInterfaceVTable +{ + GDBusInterfaceMethodCallFunc method_call; + GDBusInterfaceGetPropertyFunc get_property; + GDBusInterfaceSetPropertyFunc set_property; + + /*< private >*/ + /* Padding for future expansion - also remember to update + * gdbusconnection.c:_g_dbus_interface_vtable_copy() when + * changing this. + */ + gpointer padding[8]; +}; + +GIO_AVAILABLE_IN_ALL +guint g_dbus_connection_register_object (GDBusConnection *connection, + const gchar *object_path, + GDBusInterfaceInfo *interface_info, + const GDBusInterfaceVTable *vtable, + gpointer user_data, + GDestroyNotify user_data_free_func, + GError **error); +GIO_AVAILABLE_IN_2_46 +guint g_dbus_connection_register_object_with_closures (GDBusConnection *connection, + const gchar *object_path, + GDBusInterfaceInfo *interface_info, + GClosure *method_call_closure, + GClosure *get_property_closure, + GClosure *set_property_closure, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_connection_unregister_object (GDBusConnection *connection, + guint registration_id); + +/* ---------------------------------------------------------------------------------------------------- */ + +/** + * GDBusSubtreeEnumerateFunc: + * @connection: A #GDBusConnection. + * @sender: The unique bus name of the remote caller. + * @object_path: The object path that was registered with g_dbus_connection_register_subtree(). + * @user_data: The @user_data #gpointer passed to g_dbus_connection_register_subtree(). + * + * The type of the @enumerate function in #GDBusSubtreeVTable. + * + * This function is called when generating introspection data and also + * when preparing to dispatch incoming messages in the event that the + * %G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is not + * specified (ie: to verify that the object path is valid). + * + * Hierarchies are not supported; the items that you return should not + * contain the `/` character. + * + * The return value will be freed with g_strfreev(). + * + * Returns: (array zero-terminated=1) (transfer full): A newly allocated array of strings for node names that are children of @object_path. + * + * Since: 2.26 + */ +typedef gchar** (*GDBusSubtreeEnumerateFunc) (GDBusConnection *connection, + const gchar *sender, + const gchar *object_path, + gpointer user_data); + +/** + * GDBusSubtreeIntrospectFunc: + * @connection: A #GDBusConnection. + * @sender: The unique bus name of the remote caller. + * @object_path: The object path that was registered with g_dbus_connection_register_subtree(). + * @node: A node that is a child of @object_path (relative to @object_path) or %NULL for the root of the subtree. + * @user_data: The @user_data #gpointer passed to g_dbus_connection_register_subtree(). + * + * The type of the @introspect function in #GDBusSubtreeVTable. + * + * Subtrees are flat. @node, if non-%NULL, is always exactly one + * segment of the object path (ie: it never contains a slash). + * + * This function should return %NULL to indicate that there is no object + * at this node. + * + * If this function returns non-%NULL, the return value is expected to + * be a %NULL-terminated array of pointers to #GDBusInterfaceInfo + * structures describing the interfaces implemented by @node. This + * array will have g_dbus_interface_info_unref() called on each item + * before being freed with g_free(). + * + * The difference between returning %NULL and an array containing zero + * items is that the standard DBus interfaces will returned to the + * remote introspector in the empty array case, but not in the %NULL + * case. + * + * Returns: (array zero-terminated=1) (nullable) (transfer full): A %NULL-terminated array of pointers to #GDBusInterfaceInfo, or %NULL. + * + * Since: 2.26 + */ +typedef GDBusInterfaceInfo ** (*GDBusSubtreeIntrospectFunc) (GDBusConnection *connection, + const gchar *sender, + const gchar *object_path, + const gchar *node, + gpointer user_data); + +/** + * GDBusSubtreeDispatchFunc: + * @connection: A #GDBusConnection. + * @sender: The unique bus name of the remote caller. + * @object_path: The object path that was registered with g_dbus_connection_register_subtree(). + * @interface_name: The D-Bus interface name that the method call or property access is for. + * @node: A node that is a child of @object_path (relative to @object_path) or %NULL for the root of the subtree. + * @out_user_data: (nullable) (not optional): Return location for user data to pass to functions in the returned #GDBusInterfaceVTable. + * @user_data: The @user_data #gpointer passed to g_dbus_connection_register_subtree(). + * + * The type of the @dispatch function in #GDBusSubtreeVTable. + * + * Subtrees are flat. @node, if non-%NULL, is always exactly one + * segment of the object path (ie: it never contains a slash). + * + * Returns: (nullable): A #GDBusInterfaceVTable or %NULL if you don't want to handle the methods. + * + * Since: 2.26 + */ +typedef const GDBusInterfaceVTable * (*GDBusSubtreeDispatchFunc) (GDBusConnection *connection, + const gchar *sender, + const gchar *object_path, + const gchar *interface_name, + const gchar *node, + gpointer *out_user_data, + gpointer user_data); + +/** + * GDBusSubtreeVTable: + * @enumerate: Function for enumerating child nodes. + * @introspect: Function for introspecting a child node. + * @dispatch: Function for dispatching a remote call on a child node. + * + * Virtual table for handling subtrees registered with g_dbus_connection_register_subtree(). + * + * Since: 2.26 + */ +struct _GDBusSubtreeVTable +{ + GDBusSubtreeEnumerateFunc enumerate; + GDBusSubtreeIntrospectFunc introspect; + GDBusSubtreeDispatchFunc dispatch; + + /*< private >*/ + /* Padding for future expansion - also remember to update + * gdbusconnection.c:_g_dbus_subtree_vtable_copy() when + * changing this. + */ + gpointer padding[8]; +}; + +GIO_AVAILABLE_IN_ALL +guint g_dbus_connection_register_subtree (GDBusConnection *connection, + const gchar *object_path, + const GDBusSubtreeVTable *vtable, + GDBusSubtreeFlags flags, + gpointer user_data, + GDestroyNotify user_data_free_func, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_connection_unregister_subtree (GDBusConnection *connection, + guint registration_id); + +/* ---------------------------------------------------------------------------------------------------- */ + +/** + * GDBusSignalCallback: + * @connection: A #GDBusConnection. + * @sender_name: (nullable): The unique bus name of the sender of the signal, + or %NULL on a peer-to-peer D-Bus connection. + * @object_path: The object path that the signal was emitted on. + * @interface_name: The name of the interface. + * @signal_name: The name of the signal. + * @parameters: A #GVariant tuple with parameters for the signal. + * @user_data: User data passed when subscribing to the signal. + * + * Signature for callback function used in g_dbus_connection_signal_subscribe(). + * + * Since: 2.26 + */ +typedef void (*GDBusSignalCallback) (GDBusConnection *connection, + const gchar *sender_name, + const gchar *object_path, + const gchar *interface_name, + const gchar *signal_name, + GVariant *parameters, + gpointer user_data); + +GIO_AVAILABLE_IN_ALL +guint g_dbus_connection_signal_subscribe (GDBusConnection *connection, + const gchar *sender, + const gchar *interface_name, + const gchar *member, + const gchar *object_path, + const gchar *arg0, + GDBusSignalFlags flags, + GDBusSignalCallback callback, + gpointer user_data, + GDestroyNotify user_data_free_func); +GIO_AVAILABLE_IN_ALL +void g_dbus_connection_signal_unsubscribe (GDBusConnection *connection, + guint subscription_id); + +/* ---------------------------------------------------------------------------------------------------- */ + +/** + * GDBusMessageFilterFunction: + * @connection: (transfer none): A #GDBusConnection. + * @message: (transfer full): A locked #GDBusMessage that the filter function takes ownership of. + * @incoming: %TRUE if it is a message received from the other peer, %FALSE if it is + * a message to be sent to the other peer. + * @user_data: User data passed when adding the filter. + * + * Signature for function used in g_dbus_connection_add_filter(). + * + * A filter function is passed a #GDBusMessage and expected to return + * a #GDBusMessage too. Passive filter functions that don't modify the + * message can simply return the @message object: + * |[ + * static GDBusMessage * + * passive_filter (GDBusConnection *connection + * GDBusMessage *message, + * gboolean incoming, + * gpointer user_data) + * { + * // inspect @message + * return message; + * } + * ]| + * Filter functions that wants to drop a message can simply return %NULL: + * |[ + * static GDBusMessage * + * drop_filter (GDBusConnection *connection + * GDBusMessage *message, + * gboolean incoming, + * gpointer user_data) + * { + * if (should_drop_message) + * { + * g_object_unref (message); + * message = NULL; + * } + * return message; + * } + * ]| + * Finally, a filter function may modify a message by copying it: + * |[ + * static GDBusMessage * + * modifying_filter (GDBusConnection *connection + * GDBusMessage *message, + * gboolean incoming, + * gpointer user_data) + * { + * GDBusMessage *copy; + * GError *error; + * + * error = NULL; + * copy = g_dbus_message_copy (message, &error); + * // handle @error being set + * g_object_unref (message); + * + * // modify @copy + * + * return copy; + * } + * ]| + * If the returned #GDBusMessage is different from @message and cannot + * be sent on @connection (it could use features, such as file + * descriptors, not compatible with @connection), then a warning is + * logged to standard error. Applications can + * check this ahead of time using g_dbus_message_to_blob() passing a + * #GDBusCapabilityFlags value obtained from @connection. + * + * Returns: (transfer full) (nullable): A #GDBusMessage that will be freed with + * g_object_unref() or %NULL to drop the message. Passive filter + * functions can simply return the passed @message object. + * + * Since: 2.26 + */ +typedef GDBusMessage *(*GDBusMessageFilterFunction) (GDBusConnection *connection, + GDBusMessage *message, + gboolean incoming, + gpointer user_data); + +GIO_AVAILABLE_IN_ALL +guint g_dbus_connection_add_filter (GDBusConnection *connection, + GDBusMessageFilterFunction filter_function, + gpointer user_data, + GDestroyNotify user_data_free_func); + +GIO_AVAILABLE_IN_ALL +void g_dbus_connection_remove_filter (GDBusConnection *connection, + guint filter_id); + +/* ---------------------------------------------------------------------------------------------------- */ + + +G_END_DECLS + +#endif /* __G_DBUS_CONNECTION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbuserror.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbuserror.h new file mode 100644 index 0000000..6a84934 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbuserror.h @@ -0,0 +1,111 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_ERROR_H__ +#define __G_DBUS_ERROR_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/** + * G_DBUS_ERROR: + * + * Error domain for errors generated by a remote message bus. Errors + * in this domain will be from the #GDBusError enumeration. See + * #GError for more information on error domains. + * + * Note that this error domain is intended only for + * returning errors from a remote message bus process. Errors + * generated locally in-process by e.g. #GDBusConnection should use the + * %G_IO_ERROR domain. + * + * Since: 2.26 + */ +#define G_DBUS_ERROR g_dbus_error_quark() + +GIO_AVAILABLE_IN_ALL +GQuark g_dbus_error_quark (void); + +/* Used by applications to check, get and strip the D-Bus error name */ +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_error_is_remote_error (const GError *error); +GIO_AVAILABLE_IN_ALL +gchar *g_dbus_error_get_remote_error (const GError *error); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_error_strip_remote_error (GError *error); + +/** + * GDBusErrorEntry: + * @error_code: An error code. + * @dbus_error_name: The D-Bus error name to associate with @error_code. + * + * Struct used in g_dbus_error_register_error_domain(). + * + * Since: 2.26 + */ +struct _GDBusErrorEntry +{ + gint error_code; + const gchar *dbus_error_name; +}; + +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_error_register_error (GQuark error_domain, + gint error_code, + const gchar *dbus_error_name); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_error_unregister_error (GQuark error_domain, + gint error_code, + const gchar *dbus_error_name); +GIO_AVAILABLE_IN_ALL +void g_dbus_error_register_error_domain (const gchar *error_domain_quark_name, + volatile gsize *quark_volatile, + const GDBusErrorEntry *entries, + guint num_entries); + +/* Only used by object mappings to map back and forth to GError */ +GIO_AVAILABLE_IN_ALL +GError *g_dbus_error_new_for_dbus_error (const gchar *dbus_error_name, + const gchar *dbus_error_message); +GIO_AVAILABLE_IN_ALL +void g_dbus_error_set_dbus_error (GError **error, + const gchar *dbus_error_name, + const gchar *dbus_error_message, + const gchar *format, + ...) G_GNUC_PRINTF(4, 5); +GIO_AVAILABLE_IN_ALL +void g_dbus_error_set_dbus_error_valist (GError **error, + const gchar *dbus_error_name, + const gchar *dbus_error_message, + const gchar *format, + va_list var_args) G_GNUC_PRINTF(4, 0); +GIO_AVAILABLE_IN_ALL +gchar *g_dbus_error_encode_gerror (const GError *error); + +G_END_DECLS + +#endif /* __G_DBUS_ERROR_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusinterface.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusinterface.h new file mode 100644 index 0000000..838a54e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusinterface.h @@ -0,0 +1,83 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_INTERFACE_H__ +#define __G_DBUS_INTERFACE_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DBUS_INTERFACE (g_dbus_interface_get_type()) +#define G_DBUS_INTERFACE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_INTERFACE, GDBusInterface)) +#define G_IS_DBUS_INTERFACE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_INTERFACE)) +#define G_DBUS_INTERFACE_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE((o), G_TYPE_DBUS_INTERFACE, GDBusInterfaceIface)) + +/** + * GDBusInterface: + * + * Base type for D-Bus interfaces. + * + * Since: 2.30 + */ + +typedef struct _GDBusInterfaceIface GDBusInterfaceIface; + +/** + * GDBusInterfaceIface: + * @parent_iface: The parent interface. + * @get_info: Returns a #GDBusInterfaceInfo. See g_dbus_interface_get_info(). + * @get_object: Gets the enclosing #GDBusObject. See g_dbus_interface_get_object(). + * @set_object: Sets the enclosing #GDBusObject. See g_dbus_interface_set_object(). + * @dup_object: Gets a reference to the enclosing #GDBusObject. See g_dbus_interface_dup_object(). Added in 2.32. + * + * Base type for D-Bus interfaces. + * + * Since: 2.30 + */ +struct _GDBusInterfaceIface +{ + GTypeInterface parent_iface; + + /* Virtual Functions */ + GDBusInterfaceInfo *(*get_info) (GDBusInterface *interface_); + GDBusObject *(*get_object) (GDBusInterface *interface_); + void (*set_object) (GDBusInterface *interface_, + GDBusObject *object); + GDBusObject *(*dup_object) (GDBusInterface *interface_); +}; + +GIO_AVAILABLE_IN_ALL +GType g_dbus_interface_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GDBusInterfaceInfo *g_dbus_interface_get_info (GDBusInterface *interface_); +GIO_AVAILABLE_IN_ALL +GDBusObject *g_dbus_interface_get_object (GDBusInterface *interface_); +GIO_AVAILABLE_IN_ALL +void g_dbus_interface_set_object (GDBusInterface *interface_, + GDBusObject *object); +GIO_AVAILABLE_IN_2_32 +GDBusObject *g_dbus_interface_dup_object (GDBusInterface *interface_); + +G_END_DECLS + +#endif /* __G_DBUS_INTERFACE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusinterfaceskeleton.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusinterfaceskeleton.h new file mode 100644 index 0000000..244ee0e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusinterfaceskeleton.h @@ -0,0 +1,129 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_INTERFACE_SKELETON_H__ +#define __G_DBUS_INTERFACE_SKELETON_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DBUS_INTERFACE_SKELETON (g_dbus_interface_skeleton_get_type ()) +#define G_DBUS_INTERFACE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_INTERFACE_SKELETON, GDBusInterfaceSkeleton)) +#define G_DBUS_INTERFACE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DBUS_INTERFACE_SKELETON, GDBusInterfaceSkeletonClass)) +#define G_DBUS_INTERFACE_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DBUS_INTERFACE_SKELETON, GDBusInterfaceSkeletonClass)) +#define G_IS_DBUS_INTERFACE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_INTERFACE_SKELETON)) +#define G_IS_DBUS_INTERFACE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DBUS_INTERFACE_SKELETON)) + +typedef struct _GDBusInterfaceSkeletonClass GDBusInterfaceSkeletonClass; +typedef struct _GDBusInterfaceSkeletonPrivate GDBusInterfaceSkeletonPrivate; + +/** + * GDBusInterfaceSkeleton: + * + * The #GDBusInterfaceSkeleton structure contains private data and should + * only be accessed using the provided API. + * + * Since: 2.30 + */ +struct _GDBusInterfaceSkeleton +{ + /*< private >*/ + GObject parent_instance; + GDBusInterfaceSkeletonPrivate *priv; +}; + +/** + * GDBusInterfaceSkeletonClass: + * @parent_class: The parent class. + * @get_info: Returns a #GDBusInterfaceInfo. See g_dbus_interface_skeleton_get_info() for details. + * @get_vtable: Returns a #GDBusInterfaceVTable. See g_dbus_interface_skeleton_get_vtable() for details. + * @get_properties: Returns a #GVariant with all properties. See g_dbus_interface_skeleton_get_properties(). + * @flush: Emits outstanding changes, if any. See g_dbus_interface_skeleton_flush(). + * @g_authorize_method: Signal class handler for the #GDBusInterfaceSkeleton::g-authorize-method signal. + * + * Class structure for #GDBusInterfaceSkeleton. + * + * Since: 2.30 + */ +struct _GDBusInterfaceSkeletonClass +{ + GObjectClass parent_class; + + /* Virtual Functions */ + GDBusInterfaceInfo *(*get_info) (GDBusInterfaceSkeleton *interface_); + GDBusInterfaceVTable *(*get_vtable) (GDBusInterfaceSkeleton *interface_); + GVariant *(*get_properties) (GDBusInterfaceSkeleton *interface_); + void (*flush) (GDBusInterfaceSkeleton *interface_); + + /*< private >*/ + gpointer vfunc_padding[8]; + /*< public >*/ + + /* Signals */ + gboolean (*g_authorize_method) (GDBusInterfaceSkeleton *interface_, + GDBusMethodInvocation *invocation); + + /*< private >*/ + gpointer signal_padding[8]; +}; + +GIO_AVAILABLE_IN_ALL +GType g_dbus_interface_skeleton_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GDBusInterfaceSkeletonFlags g_dbus_interface_skeleton_get_flags (GDBusInterfaceSkeleton *interface_); +GIO_AVAILABLE_IN_ALL +void g_dbus_interface_skeleton_set_flags (GDBusInterfaceSkeleton *interface_, + GDBusInterfaceSkeletonFlags flags); +GIO_AVAILABLE_IN_ALL +GDBusInterfaceInfo *g_dbus_interface_skeleton_get_info (GDBusInterfaceSkeleton *interface_); +GIO_AVAILABLE_IN_ALL +GDBusInterfaceVTable *g_dbus_interface_skeleton_get_vtable (GDBusInterfaceSkeleton *interface_); +GIO_AVAILABLE_IN_ALL +GVariant *g_dbus_interface_skeleton_get_properties (GDBusInterfaceSkeleton *interface_); +GIO_AVAILABLE_IN_ALL +void g_dbus_interface_skeleton_flush (GDBusInterfaceSkeleton *interface_); + +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_interface_skeleton_export (GDBusInterfaceSkeleton *interface_, + GDBusConnection *connection, + const gchar *object_path, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_dbus_interface_skeleton_unexport (GDBusInterfaceSkeleton *interface_); +GIO_AVAILABLE_IN_ALL +void g_dbus_interface_skeleton_unexport_from_connection (GDBusInterfaceSkeleton *interface_, + GDBusConnection *connection); + +GIO_AVAILABLE_IN_ALL +GDBusConnection *g_dbus_interface_skeleton_get_connection (GDBusInterfaceSkeleton *interface_); +GIO_AVAILABLE_IN_ALL +GList *g_dbus_interface_skeleton_get_connections (GDBusInterfaceSkeleton *interface_); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_interface_skeleton_has_connection (GDBusInterfaceSkeleton *interface_, + GDBusConnection *connection); +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_interface_skeleton_get_object_path (GDBusInterfaceSkeleton *interface_); + +G_END_DECLS + +#endif /* __G_DBUS_INTERFACE_SKELETON_H */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusintrospection.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusintrospection.h new file mode 100644 index 0000000..53f4685 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusintrospection.h @@ -0,0 +1,327 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_INTROSPECTION_H__ +#define __G_DBUS_INTROSPECTION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/** + * GDBusAnnotationInfo: + * @ref_count: The reference count or -1 if statically allocated. + * @key: The name of the annotation, e.g. "org.freedesktop.DBus.Deprecated". + * @value: The value of the annotation. + * @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations. + * + * Information about an annotation. + * + * Since: 2.26 + */ +struct _GDBusAnnotationInfo +{ + /*< public >*/ + gint ref_count; /* (atomic) */ + gchar *key; + gchar *value; + GDBusAnnotationInfo **annotations; +}; + +/** + * GDBusArgInfo: + * @ref_count: The reference count or -1 if statically allocated. + * @name: Name of the argument, e.g. @unix_user_id. + * @signature: D-Bus signature of the argument (a single complete type). + * @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations. + * + * Information about an argument for a method or a signal. + * + * Since: 2.26 + */ +struct _GDBusArgInfo +{ + /*< public >*/ + gint ref_count; /* (atomic) */ + gchar *name; + gchar *signature; + GDBusAnnotationInfo **annotations; +}; + +/** + * GDBusMethodInfo: + * @ref_count: The reference count or -1 if statically allocated. + * @name: The name of the D-Bus method, e.g. @RequestName. + * @in_args: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusArgInfo structures or %NULL if there are no in arguments. + * @out_args: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusArgInfo structures or %NULL if there are no out arguments. + * @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations. + * + * Information about a method on an D-Bus interface. + * + * Since: 2.26 + */ +struct _GDBusMethodInfo +{ + /*< public >*/ + gint ref_count; /* (atomic) */ + gchar *name; + GDBusArgInfo **in_args; + GDBusArgInfo **out_args; + GDBusAnnotationInfo **annotations; +}; + +/** + * GDBusSignalInfo: + * @ref_count: The reference count or -1 if statically allocated. + * @name: The name of the D-Bus signal, e.g. "NameOwnerChanged". + * @args: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusArgInfo structures or %NULL if there are no arguments. + * @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations. + * + * Information about a signal on a D-Bus interface. + * + * Since: 2.26 + */ +struct _GDBusSignalInfo +{ + /*< public >*/ + gint ref_count; /* (atomic) */ + gchar *name; + GDBusArgInfo **args; + GDBusAnnotationInfo **annotations; +}; + +/** + * GDBusPropertyInfo: + * @ref_count: The reference count or -1 if statically allocated. + * @name: The name of the D-Bus property, e.g. "SupportedFilesystems". + * @signature: The D-Bus signature of the property (a single complete type). + * @flags: Access control flags for the property. + * @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations. + * + * Information about a D-Bus property on a D-Bus interface. + * + * Since: 2.26 + */ +struct _GDBusPropertyInfo +{ + /*< public >*/ + gint ref_count; /* (atomic) */ + gchar *name; + gchar *signature; + GDBusPropertyInfoFlags flags; + GDBusAnnotationInfo **annotations; +}; + +/** + * GDBusInterfaceInfo: + * @ref_count: The reference count or -1 if statically allocated. + * @name: The name of the D-Bus interface, e.g. "org.freedesktop.DBus.Properties". + * @methods: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusMethodInfo structures or %NULL if there are no methods. + * @signals: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusSignalInfo structures or %NULL if there are no signals. + * @properties: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusPropertyInfo structures or %NULL if there are no properties. + * @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations. + * + * Information about a D-Bus interface. + * + * Since: 2.26 + */ +struct _GDBusInterfaceInfo +{ + /*< public >*/ + gint ref_count; /* (atomic) */ + gchar *name; + GDBusMethodInfo **methods; + GDBusSignalInfo **signals; + GDBusPropertyInfo **properties; + GDBusAnnotationInfo **annotations; +}; + +/** + * GDBusNodeInfo: + * @ref_count: The reference count or -1 if statically allocated. + * @path: The path of the node or %NULL if omitted. Note that this may be a relative path. See the D-Bus specification for more details. + * @interfaces: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusInterfaceInfo structures or %NULL if there are no interfaces. + * @nodes: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusNodeInfo structures or %NULL if there are no nodes. + * @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations. + * + * Information about nodes in a remote object hierarchy. + * + * Since: 2.26 + */ +struct _GDBusNodeInfo +{ + /*< public >*/ + gint ref_count; /* (atomic) */ + gchar *path; + GDBusInterfaceInfo **interfaces; + GDBusNodeInfo **nodes; + GDBusAnnotationInfo **annotations; +}; + +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_annotation_info_lookup (GDBusAnnotationInfo **annotations, + const gchar *name); +GIO_AVAILABLE_IN_ALL +GDBusMethodInfo *g_dbus_interface_info_lookup_method (GDBusInterfaceInfo *info, + const gchar *name); +GIO_AVAILABLE_IN_ALL +GDBusSignalInfo *g_dbus_interface_info_lookup_signal (GDBusInterfaceInfo *info, + const gchar *name); +GIO_AVAILABLE_IN_ALL +GDBusPropertyInfo *g_dbus_interface_info_lookup_property (GDBusInterfaceInfo *info, + const gchar *name); +GIO_AVAILABLE_IN_ALL +void g_dbus_interface_info_cache_build (GDBusInterfaceInfo *info); +GIO_AVAILABLE_IN_ALL +void g_dbus_interface_info_cache_release (GDBusInterfaceInfo *info); + +GIO_AVAILABLE_IN_ALL +void g_dbus_interface_info_generate_xml (GDBusInterfaceInfo *info, + guint indent, + GString *string_builder); + +GIO_AVAILABLE_IN_ALL +GDBusNodeInfo *g_dbus_node_info_new_for_xml (const gchar *xml_data, + GError **error); +GIO_AVAILABLE_IN_ALL +GDBusInterfaceInfo *g_dbus_node_info_lookup_interface (GDBusNodeInfo *info, + const gchar *name); +GIO_AVAILABLE_IN_ALL +void g_dbus_node_info_generate_xml (GDBusNodeInfo *info, + guint indent, + GString *string_builder); + +GIO_AVAILABLE_IN_ALL +GDBusNodeInfo *g_dbus_node_info_ref (GDBusNodeInfo *info); +GIO_AVAILABLE_IN_ALL +GDBusInterfaceInfo *g_dbus_interface_info_ref (GDBusInterfaceInfo *info); +GIO_AVAILABLE_IN_ALL +GDBusMethodInfo *g_dbus_method_info_ref (GDBusMethodInfo *info); +GIO_AVAILABLE_IN_ALL +GDBusSignalInfo *g_dbus_signal_info_ref (GDBusSignalInfo *info); +GIO_AVAILABLE_IN_ALL +GDBusPropertyInfo *g_dbus_property_info_ref (GDBusPropertyInfo *info); +GIO_AVAILABLE_IN_ALL +GDBusArgInfo *g_dbus_arg_info_ref (GDBusArgInfo *info); +GIO_AVAILABLE_IN_ALL +GDBusAnnotationInfo *g_dbus_annotation_info_ref (GDBusAnnotationInfo *info); + +GIO_AVAILABLE_IN_ALL +void g_dbus_node_info_unref (GDBusNodeInfo *info); +GIO_AVAILABLE_IN_ALL +void g_dbus_interface_info_unref (GDBusInterfaceInfo *info); +GIO_AVAILABLE_IN_ALL +void g_dbus_method_info_unref (GDBusMethodInfo *info); +GIO_AVAILABLE_IN_ALL +void g_dbus_signal_info_unref (GDBusSignalInfo *info); +GIO_AVAILABLE_IN_ALL +void g_dbus_property_info_unref (GDBusPropertyInfo *info); +GIO_AVAILABLE_IN_ALL +void g_dbus_arg_info_unref (GDBusArgInfo *info); +GIO_AVAILABLE_IN_ALL +void g_dbus_annotation_info_unref (GDBusAnnotationInfo *info); + +/** + * G_TYPE_DBUS_NODE_INFO: + * + * The #GType for a boxed type holding a #GDBusNodeInfo. + * + * Since: 2.26 + */ +#define G_TYPE_DBUS_NODE_INFO (g_dbus_node_info_get_type ()) + +/** + * G_TYPE_DBUS_INTERFACE_INFO: + * + * The #GType for a boxed type holding a #GDBusInterfaceInfo. + * + * Since: 2.26 + */ +#define G_TYPE_DBUS_INTERFACE_INFO (g_dbus_interface_info_get_type ()) + +/** + * G_TYPE_DBUS_METHOD_INFO: + * + * The #GType for a boxed type holding a #GDBusMethodInfo. + * + * Since: 2.26 + */ +#define G_TYPE_DBUS_METHOD_INFO (g_dbus_method_info_get_type ()) + +/** + * G_TYPE_DBUS_SIGNAL_INFO: + * + * The #GType for a boxed type holding a #GDBusSignalInfo. + * + * Since: 2.26 + */ +#define G_TYPE_DBUS_SIGNAL_INFO (g_dbus_signal_info_get_type ()) + +/** + * G_TYPE_DBUS_PROPERTY_INFO: + * + * The #GType for a boxed type holding a #GDBusPropertyInfo. + * + * Since: 2.26 + */ +#define G_TYPE_DBUS_PROPERTY_INFO (g_dbus_property_info_get_type ()) + +/** + * G_TYPE_DBUS_ARG_INFO: + * + * The #GType for a boxed type holding a #GDBusArgInfo. + * + * Since: 2.26 + */ +#define G_TYPE_DBUS_ARG_INFO (g_dbus_arg_info_get_type ()) + +/** + * G_TYPE_DBUS_ANNOTATION_INFO: + * + * The #GType for a boxed type holding a #GDBusAnnotationInfo. + * + * Since: 2.26 + */ +#define G_TYPE_DBUS_ANNOTATION_INFO (g_dbus_annotation_info_get_type ()) + +GIO_AVAILABLE_IN_ALL +GType g_dbus_node_info_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GType g_dbus_interface_info_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GType g_dbus_method_info_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GType g_dbus_signal_info_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GType g_dbus_property_info_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GType g_dbus_arg_info_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GType g_dbus_annotation_info_get_type (void) G_GNUC_CONST; + +G_END_DECLS + +#endif /* __G_DBUS_INTROSPECTION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusmenumodel.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusmenumodel.h new file mode 100644 index 0000000..73489b5 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusmenumodel.h @@ -0,0 +1,47 @@ +/* + * Copyright © 2011 Canonical Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + * + * Author: Ryan Lortie + */ + +#ifndef __G_DBUS_MENU_MODEL_H__ +#define __G_DBUS_MENU_MODEL_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DBUS_MENU_MODEL (g_dbus_menu_model_get_type ()) +#define G_DBUS_MENU_MODEL(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_DBUS_MENU_MODEL, GDBusMenuModel)) +#define G_IS_DBUS_MENU_MODEL(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_DBUS_MENU_MODEL)) + +typedef struct _GDBusMenuModel GDBusMenuModel; + +GIO_AVAILABLE_IN_ALL +GType g_dbus_menu_model_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GDBusMenuModel * g_dbus_menu_model_get (GDBusConnection *connection, + const gchar *bus_name, + const gchar *object_path); + +G_END_DECLS + +#endif /* __G_DBUS_MENU_MODEL_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusmessage.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusmessage.h new file mode 100644 index 0000000..6e4bb9e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusmessage.h @@ -0,0 +1,204 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_MESSAGE_H__ +#define __G_DBUS_MESSAGE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DBUS_MESSAGE (g_dbus_message_get_type ()) +#define G_DBUS_MESSAGE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_MESSAGE, GDBusMessage)) +#define G_IS_DBUS_MESSAGE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_MESSAGE)) + +GIO_AVAILABLE_IN_ALL +GType g_dbus_message_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GDBusMessage *g_dbus_message_new (void); +GIO_AVAILABLE_IN_ALL +GDBusMessage *g_dbus_message_new_signal (const gchar *path, + const gchar *interface_, + const gchar *signal); +GIO_AVAILABLE_IN_ALL +GDBusMessage *g_dbus_message_new_method_call (const gchar *name, + const gchar *path, + const gchar *interface_, + const gchar *method); +GIO_AVAILABLE_IN_ALL +GDBusMessage *g_dbus_message_new_method_reply (GDBusMessage *method_call_message); +GIO_AVAILABLE_IN_ALL +GDBusMessage *g_dbus_message_new_method_error (GDBusMessage *method_call_message, + const gchar *error_name, + const gchar *error_message_format, + ...) G_GNUC_PRINTF(3, 4); +GIO_AVAILABLE_IN_ALL +GDBusMessage *g_dbus_message_new_method_error_valist (GDBusMessage *method_call_message, + const gchar *error_name, + const gchar *error_message_format, + va_list var_args); +GIO_AVAILABLE_IN_ALL +GDBusMessage *g_dbus_message_new_method_error_literal (GDBusMessage *method_call_message, + const gchar *error_name, + const gchar *error_message); +GIO_AVAILABLE_IN_ALL +gchar *g_dbus_message_print (GDBusMessage *message, + guint indent); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_message_get_locked (GDBusMessage *message); +GIO_AVAILABLE_IN_ALL +void g_dbus_message_lock (GDBusMessage *message); +GIO_AVAILABLE_IN_ALL +GDBusMessage *g_dbus_message_copy (GDBusMessage *message, + GError **error); +GIO_AVAILABLE_IN_ALL +GDBusMessageByteOrder g_dbus_message_get_byte_order (GDBusMessage *message); +GIO_AVAILABLE_IN_ALL +void g_dbus_message_set_byte_order (GDBusMessage *message, + GDBusMessageByteOrder byte_order); + +GIO_AVAILABLE_IN_ALL +GDBusMessageType g_dbus_message_get_message_type (GDBusMessage *message); +GIO_AVAILABLE_IN_ALL +void g_dbus_message_set_message_type (GDBusMessage *message, + GDBusMessageType type); +GIO_AVAILABLE_IN_ALL +GDBusMessageFlags g_dbus_message_get_flags (GDBusMessage *message); +GIO_AVAILABLE_IN_ALL +void g_dbus_message_set_flags (GDBusMessage *message, + GDBusMessageFlags flags); +GIO_AVAILABLE_IN_ALL +guint32 g_dbus_message_get_serial (GDBusMessage *message); +GIO_AVAILABLE_IN_ALL +void g_dbus_message_set_serial (GDBusMessage *message, + guint32 serial); +GIO_AVAILABLE_IN_ALL +GVariant *g_dbus_message_get_header (GDBusMessage *message, + GDBusMessageHeaderField header_field); +GIO_AVAILABLE_IN_ALL +void g_dbus_message_set_header (GDBusMessage *message, + GDBusMessageHeaderField header_field, + GVariant *value); +GIO_AVAILABLE_IN_ALL +guchar *g_dbus_message_get_header_fields (GDBusMessage *message); +GIO_AVAILABLE_IN_ALL +GVariant *g_dbus_message_get_body (GDBusMessage *message); +GIO_AVAILABLE_IN_ALL +void g_dbus_message_set_body (GDBusMessage *message, + GVariant *body); + +#ifdef G_OS_UNIX + +GIO_AVAILABLE_IN_ALL +GUnixFDList *g_dbus_message_get_unix_fd_list (GDBusMessage *message); +GIO_AVAILABLE_IN_ALL +void g_dbus_message_set_unix_fd_list (GDBusMessage *message, + GUnixFDList *fd_list); + +#endif /* G_OS_UNIX */ + +GIO_AVAILABLE_IN_ALL +guint32 g_dbus_message_get_reply_serial (GDBusMessage *message); +GIO_AVAILABLE_IN_ALL +void g_dbus_message_set_reply_serial (GDBusMessage *message, + guint32 value); + +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_message_get_interface (GDBusMessage *message); +GIO_AVAILABLE_IN_ALL +void g_dbus_message_set_interface (GDBusMessage *message, + const gchar *value); + +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_message_get_member (GDBusMessage *message); +GIO_AVAILABLE_IN_ALL +void g_dbus_message_set_member (GDBusMessage *message, + const gchar *value); + +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_message_get_path (GDBusMessage *message); +GIO_AVAILABLE_IN_ALL +void g_dbus_message_set_path (GDBusMessage *message, + const gchar *value); + +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_message_get_sender (GDBusMessage *message); +GIO_AVAILABLE_IN_ALL +void g_dbus_message_set_sender (GDBusMessage *message, + const gchar *value); + +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_message_get_destination (GDBusMessage *message); +GIO_AVAILABLE_IN_ALL +void g_dbus_message_set_destination (GDBusMessage *message, + const gchar *value); + +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_message_get_error_name (GDBusMessage *message); +GIO_AVAILABLE_IN_ALL +void g_dbus_message_set_error_name (GDBusMessage *message, + const gchar *value); + +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_message_get_signature (GDBusMessage *message); +GIO_AVAILABLE_IN_ALL +void g_dbus_message_set_signature (GDBusMessage *message, + const gchar *value); + +GIO_AVAILABLE_IN_ALL +guint32 g_dbus_message_get_num_unix_fds (GDBusMessage *message); +GIO_AVAILABLE_IN_ALL +void g_dbus_message_set_num_unix_fds (GDBusMessage *message, + guint32 value); + +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_message_get_arg0 (GDBusMessage *message); + + +GIO_AVAILABLE_IN_ALL +GDBusMessage *g_dbus_message_new_from_blob (guchar *blob, + gsize blob_len, + GDBusCapabilityFlags capabilities, + GError **error); + +GIO_AVAILABLE_IN_ALL +gssize g_dbus_message_bytes_needed (guchar *blob, + gsize blob_len, + GError **error); + +GIO_AVAILABLE_IN_ALL +guchar *g_dbus_message_to_blob (GDBusMessage *message, + gsize *out_size, + GDBusCapabilityFlags capabilities, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_message_to_gerror (GDBusMessage *message, + GError **error); + +G_END_DECLS + +#endif /* __G_DBUS_MESSAGE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusmethodinvocation.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusmethodinvocation.h new file mode 100644 index 0000000..6266f38 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusmethodinvocation.h @@ -0,0 +1,136 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_METHOD_INVOCATION_H__ +#define __G_DBUS_METHOD_INVOCATION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DBUS_METHOD_INVOCATION (g_dbus_method_invocation_get_type ()) +#define G_DBUS_METHOD_INVOCATION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_METHOD_INVOCATION, GDBusMethodInvocation)) +#define G_IS_DBUS_METHOD_INVOCATION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_METHOD_INVOCATION)) + +/** + * G_DBUS_METHOD_INVOCATION_HANDLED: + * + * The value returned by handlers of the signals generated by + * the `gdbus-codegen` tool to indicate that a method call has been + * handled by an implementation. It is equal to %TRUE, but using + * this macro is sometimes more readable. + * + * In code that needs to be backwards-compatible with older GLib, + * use %TRUE instead, often written like this: + * + * |[ + * g_dbus_method_invocation_return_error (invocation, ...); + * return TRUE; // handled + * ]| + * + * Since: 2.68 + */ +#define G_DBUS_METHOD_INVOCATION_HANDLED TRUE GIO_AVAILABLE_MACRO_IN_2_68 + +/** + * G_DBUS_METHOD_INVOCATION_UNHANDLED: + * + * The value returned by handlers of the signals generated by + * the `gdbus-codegen` tool to indicate that a method call has not been + * handled by an implementation. It is equal to %FALSE, but using + * this macro is sometimes more readable. + * + * In code that needs to be backwards-compatible with older GLib, + * use %FALSE instead. + * + * Since: 2.68 + */ +#define G_DBUS_METHOD_INVOCATION_UNHANDLED FALSE GIO_AVAILABLE_MACRO_IN_2_68 + +GIO_AVAILABLE_IN_ALL +GType g_dbus_method_invocation_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_method_invocation_get_sender (GDBusMethodInvocation *invocation); +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_method_invocation_get_object_path (GDBusMethodInvocation *invocation); +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_method_invocation_get_interface_name (GDBusMethodInvocation *invocation); +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_method_invocation_get_method_name (GDBusMethodInvocation *invocation); +GIO_AVAILABLE_IN_ALL +const GDBusMethodInfo *g_dbus_method_invocation_get_method_info (GDBusMethodInvocation *invocation); +GIO_AVAILABLE_IN_2_38 +const GDBusPropertyInfo *g_dbus_method_invocation_get_property_info (GDBusMethodInvocation *invocation); +GIO_AVAILABLE_IN_ALL +GDBusConnection *g_dbus_method_invocation_get_connection (GDBusMethodInvocation *invocation); +GIO_AVAILABLE_IN_ALL +GDBusMessage *g_dbus_method_invocation_get_message (GDBusMethodInvocation *invocation); +GIO_AVAILABLE_IN_ALL +GVariant *g_dbus_method_invocation_get_parameters (GDBusMethodInvocation *invocation); +GIO_AVAILABLE_IN_ALL +gpointer g_dbus_method_invocation_get_user_data (GDBusMethodInvocation *invocation); + +GIO_AVAILABLE_IN_ALL +void g_dbus_method_invocation_return_value (GDBusMethodInvocation *invocation, + GVariant *parameters); +#ifdef G_OS_UNIX +GIO_AVAILABLE_IN_ALL +void g_dbus_method_invocation_return_value_with_unix_fd_list (GDBusMethodInvocation *invocation, + GVariant *parameters, + GUnixFDList *fd_list); +#endif /* G_OS_UNIX */ +GIO_AVAILABLE_IN_ALL +void g_dbus_method_invocation_return_error (GDBusMethodInvocation *invocation, + GQuark domain, + gint code, + const gchar *format, + ...) G_GNUC_PRINTF(4, 5); +GIO_AVAILABLE_IN_ALL +void g_dbus_method_invocation_return_error_valist (GDBusMethodInvocation *invocation, + GQuark domain, + gint code, + const gchar *format, + va_list var_args) + G_GNUC_PRINTF(4, 0); +GIO_AVAILABLE_IN_ALL +void g_dbus_method_invocation_return_error_literal (GDBusMethodInvocation *invocation, + GQuark domain, + gint code, + const gchar *message); +GIO_AVAILABLE_IN_ALL +void g_dbus_method_invocation_return_gerror (GDBusMethodInvocation *invocation, + const GError *error); +GIO_AVAILABLE_IN_ALL +void g_dbus_method_invocation_take_error (GDBusMethodInvocation *invocation, + GError *error); +GIO_AVAILABLE_IN_ALL +void g_dbus_method_invocation_return_dbus_error (GDBusMethodInvocation *invocation, + const gchar *error_name, + const gchar *error_message); + +G_END_DECLS + +#endif /* __G_DBUS_METHOD_INVOCATION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusnameowning.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusnameowning.h new file mode 100644 index 0000000..2afd3ee --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusnameowning.h @@ -0,0 +1,117 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_NAME_OWNING_H__ +#define __G_DBUS_NAME_OWNING_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/** + * GBusAcquiredCallback: + * @connection: The #GDBusConnection to a message bus. + * @name: The name that is requested to be owned. + * @user_data: User data passed to g_bus_own_name(). + * + * Invoked when a connection to a message bus has been obtained. + * + * Since: 2.26 + */ +typedef void (*GBusAcquiredCallback) (GDBusConnection *connection, + const gchar *name, + gpointer user_data); + +/** + * GBusNameAcquiredCallback: + * @connection: The #GDBusConnection on which to acquired the name. + * @name: The name being owned. + * @user_data: User data passed to g_bus_own_name() or g_bus_own_name_on_connection(). + * + * Invoked when the name is acquired. + * + * Since: 2.26 + */ +typedef void (*GBusNameAcquiredCallback) (GDBusConnection *connection, + const gchar *name, + gpointer user_data); + +/** + * GBusNameLostCallback: + * @connection: The #GDBusConnection on which to acquire the name or %NULL if + * the connection was disconnected. + * @name: The name being owned. + * @user_data: User data passed to g_bus_own_name() or g_bus_own_name_on_connection(). + * + * Invoked when the name is lost or @connection has been closed. + * + * Since: 2.26 + */ +typedef void (*GBusNameLostCallback) (GDBusConnection *connection, + const gchar *name, + gpointer user_data); + +GIO_AVAILABLE_IN_ALL +guint g_bus_own_name (GBusType bus_type, + const gchar *name, + GBusNameOwnerFlags flags, + GBusAcquiredCallback bus_acquired_handler, + GBusNameAcquiredCallback name_acquired_handler, + GBusNameLostCallback name_lost_handler, + gpointer user_data, + GDestroyNotify user_data_free_func); + +GIO_AVAILABLE_IN_ALL +guint g_bus_own_name_on_connection (GDBusConnection *connection, + const gchar *name, + GBusNameOwnerFlags flags, + GBusNameAcquiredCallback name_acquired_handler, + GBusNameLostCallback name_lost_handler, + gpointer user_data, + GDestroyNotify user_data_free_func); + +GIO_AVAILABLE_IN_ALL +guint g_bus_own_name_with_closures (GBusType bus_type, + const gchar *name, + GBusNameOwnerFlags flags, + GClosure *bus_acquired_closure, + GClosure *name_acquired_closure, + GClosure *name_lost_closure); + +GIO_AVAILABLE_IN_ALL +guint g_bus_own_name_on_connection_with_closures ( + GDBusConnection *connection, + const gchar *name, + GBusNameOwnerFlags flags, + GClosure *name_acquired_closure, + GClosure *name_lost_closure); + +GIO_AVAILABLE_IN_ALL +void g_bus_unown_name (guint owner_id); + +G_END_DECLS + +#endif /* __G_DBUS_NAME_OWNING_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusnamewatching.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusnamewatching.h new file mode 100644 index 0000000..df836de --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusnamewatching.h @@ -0,0 +1,104 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_NAME_WATCHING_H__ +#define __G_DBUS_NAME_WATCHING_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/** + * GBusNameAppearedCallback: + * @connection: The #GDBusConnection the name is being watched on. + * @name: The name being watched. + * @name_owner: Unique name of the owner of the name being watched. + * @user_data: User data passed to g_bus_watch_name(). + * + * Invoked when the name being watched is known to have to have an owner. + * + * Since: 2.26 + */ +typedef void (*GBusNameAppearedCallback) (GDBusConnection *connection, + const gchar *name, + const gchar *name_owner, + gpointer user_data); + +/** + * GBusNameVanishedCallback: + * @connection: The #GDBusConnection the name is being watched on, or + * %NULL. + * @name: The name being watched. + * @user_data: User data passed to g_bus_watch_name(). + * + * Invoked when the name being watched is known not to have to have an owner. + * + * This is also invoked when the #GDBusConnection on which the watch was + * established has been closed. In that case, @connection will be + * %NULL. + * + * Since: 2.26 + */ +typedef void (*GBusNameVanishedCallback) (GDBusConnection *connection, + const gchar *name, + gpointer user_data); + + +GIO_AVAILABLE_IN_ALL +guint g_bus_watch_name (GBusType bus_type, + const gchar *name, + GBusNameWatcherFlags flags, + GBusNameAppearedCallback name_appeared_handler, + GBusNameVanishedCallback name_vanished_handler, + gpointer user_data, + GDestroyNotify user_data_free_func); +GIO_AVAILABLE_IN_ALL +guint g_bus_watch_name_on_connection (GDBusConnection *connection, + const gchar *name, + GBusNameWatcherFlags flags, + GBusNameAppearedCallback name_appeared_handler, + GBusNameVanishedCallback name_vanished_handler, + gpointer user_data, + GDestroyNotify user_data_free_func); +GIO_AVAILABLE_IN_ALL +guint g_bus_watch_name_with_closures (GBusType bus_type, + const gchar *name, + GBusNameWatcherFlags flags, + GClosure *name_appeared_closure, + GClosure *name_vanished_closure); +GIO_AVAILABLE_IN_ALL +guint g_bus_watch_name_on_connection_with_closures ( + GDBusConnection *connection, + const gchar *name, + GBusNameWatcherFlags flags, + GClosure *name_appeared_closure, + GClosure *name_vanished_closure); +GIO_AVAILABLE_IN_ALL +void g_bus_unwatch_name (guint watcher_id); + +G_END_DECLS + +#endif /* __G_DBUS_NAME_WATCHING_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobject.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobject.h new file mode 100644 index 0000000..b8186af --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobject.h @@ -0,0 +1,80 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_OBJECT_H__ +#define __G_DBUS_OBJECT_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DBUS_OBJECT (g_dbus_object_get_type()) +#define G_DBUS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_OBJECT, GDBusObject)) +#define G_IS_DBUS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_OBJECT)) +#define G_DBUS_OBJECT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE((o), G_TYPE_DBUS_OBJECT, GDBusObjectIface)) + +typedef struct _GDBusObjectIface GDBusObjectIface; + +/** + * GDBusObjectIface: + * @parent_iface: The parent interface. + * @get_object_path: Returns the object path. See g_dbus_object_get_object_path(). + * @get_interfaces: Returns all interfaces. See g_dbus_object_get_interfaces(). + * @get_interface: Returns an interface by name. See g_dbus_object_get_interface(). + * @interface_added: Signal handler for the #GDBusObject::interface-added signal. + * @interface_removed: Signal handler for the #GDBusObject::interface-removed signal. + * + * Base object type for D-Bus objects. + * + * Since: 2.30 + */ +struct _GDBusObjectIface +{ + GTypeInterface parent_iface; + + /* Virtual Functions */ + const gchar *(*get_object_path) (GDBusObject *object); + GList *(*get_interfaces) (GDBusObject *object); + GDBusInterface *(*get_interface) (GDBusObject *object, + const gchar *interface_name); + + /* Signals */ + void (*interface_added) (GDBusObject *object, + GDBusInterface *interface_); + void (*interface_removed) (GDBusObject *object, + GDBusInterface *interface_); + +}; + +GIO_AVAILABLE_IN_ALL +GType g_dbus_object_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_object_get_object_path (GDBusObject *object); +GIO_AVAILABLE_IN_ALL +GList *g_dbus_object_get_interfaces (GDBusObject *object); +GIO_AVAILABLE_IN_ALL +GDBusInterface *g_dbus_object_get_interface (GDBusObject *object, + const gchar *interface_name); + +G_END_DECLS + +#endif /* __G_DBUS_OBJECT_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectmanager.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectmanager.h new file mode 100644 index 0000000..7bfa2ae --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectmanager.h @@ -0,0 +1,96 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_OBJECT_MANAGER_H__ +#define __G_DBUS_OBJECT_MANAGER_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DBUS_OBJECT_MANAGER (g_dbus_object_manager_get_type()) +#define G_DBUS_OBJECT_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_OBJECT_MANAGER, GDBusObjectManager)) +#define G_IS_DBUS_OBJECT_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_OBJECT_MANAGER)) +#define G_DBUS_OBJECT_MANAGER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE((o), G_TYPE_DBUS_OBJECT_MANAGER, GDBusObjectManagerIface)) + +typedef struct _GDBusObjectManagerIface GDBusObjectManagerIface; + +/** + * GDBusObjectManagerIface: + * @parent_iface: The parent interface. + * @get_object_path: Virtual function for g_dbus_object_manager_get_object_path(). + * @get_objects: Virtual function for g_dbus_object_manager_get_objects(). + * @get_object: Virtual function for g_dbus_object_manager_get_object(). + * @get_interface: Virtual function for g_dbus_object_manager_get_interface(). + * @object_added: Signal handler for the #GDBusObjectManager::object-added signal. + * @object_removed: Signal handler for the #GDBusObjectManager::object-removed signal. + * @interface_added: Signal handler for the #GDBusObjectManager::interface-added signal. + * @interface_removed: Signal handler for the #GDBusObjectManager::interface-removed signal. + * + * Base type for D-Bus object managers. + * + * Since: 2.30 + */ +struct _GDBusObjectManagerIface +{ + GTypeInterface parent_iface; + + /* Virtual Functions */ + const gchar *(*get_object_path) (GDBusObjectManager *manager); + GList *(*get_objects) (GDBusObjectManager *manager); + GDBusObject *(*get_object) (GDBusObjectManager *manager, + const gchar *object_path); + GDBusInterface *(*get_interface) (GDBusObjectManager *manager, + const gchar *object_path, + const gchar *interface_name); + + /* Signals */ + void (*object_added) (GDBusObjectManager *manager, + GDBusObject *object); + void (*object_removed) (GDBusObjectManager *manager, + GDBusObject *object); + + void (*interface_added) (GDBusObjectManager *manager, + GDBusObject *object, + GDBusInterface *interface_); + void (*interface_removed) (GDBusObjectManager *manager, + GDBusObject *object, + GDBusInterface *interface_); +}; + +GIO_AVAILABLE_IN_ALL +GType g_dbus_object_manager_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_object_manager_get_object_path (GDBusObjectManager *manager); +GIO_AVAILABLE_IN_ALL +GList *g_dbus_object_manager_get_objects (GDBusObjectManager *manager); +GIO_AVAILABLE_IN_ALL +GDBusObject *g_dbus_object_manager_get_object (GDBusObjectManager *manager, + const gchar *object_path); +GIO_AVAILABLE_IN_ALL +GDBusInterface *g_dbus_object_manager_get_interface (GDBusObjectManager *manager, + const gchar *object_path, + const gchar *interface_name); + +G_END_DECLS + +#endif /* __G_DBUS_OBJECT_MANAGER_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectmanagerclient.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectmanagerclient.h new file mode 100644 index 0000000..2ebeedc --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectmanagerclient.h @@ -0,0 +1,148 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_OBJECT_MANAGER_CLIENT_H__ +#define __G_DBUS_OBJECT_MANAGER_CLIENT_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DBUS_OBJECT_MANAGER_CLIENT (g_dbus_object_manager_client_get_type ()) +#define G_DBUS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_OBJECT_MANAGER_CLIENT, GDBusObjectManagerClient)) +#define G_DBUS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DBUS_OBJECT_MANAGER_CLIENT, GDBusObjectManagerClientClass)) +#define G_DBUS_OBJECT_MANAGER_CLIENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DBUS_OBJECT_MANAGER_CLIENT, GDBusObjectManagerClientClass)) +#define G_IS_DBUS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_OBJECT_MANAGER_CLIENT)) +#define G_IS_DBUS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DBUS_OBJECT_MANAGER_CLIENT)) + +typedef struct _GDBusObjectManagerClientClass GDBusObjectManagerClientClass; +typedef struct _GDBusObjectManagerClientPrivate GDBusObjectManagerClientPrivate; + +/** + * GDBusObjectManagerClient: + * + * The #GDBusObjectManagerClient structure contains private data and should + * only be accessed using the provided API. + * + * Since: 2.30 + */ +struct _GDBusObjectManagerClient +{ + /*< private >*/ + GObject parent_instance; + GDBusObjectManagerClientPrivate *priv; +}; + +/** + * GDBusObjectManagerClientClass: + * @parent_class: The parent class. + * @interface_proxy_signal: Signal class handler for the #GDBusObjectManagerClient::interface-proxy-signal signal. + * @interface_proxy_properties_changed: Signal class handler for the #GDBusObjectManagerClient::interface-proxy-properties-changed signal. + * + * Class structure for #GDBusObjectManagerClient. + * + * Since: 2.30 + */ +struct _GDBusObjectManagerClientClass +{ + GObjectClass parent_class; + + /* signals */ + void (*interface_proxy_signal) (GDBusObjectManagerClient *manager, + GDBusObjectProxy *object_proxy, + GDBusProxy *interface_proxy, + const gchar *sender_name, + const gchar *signal_name, + GVariant *parameters); + + void (*interface_proxy_properties_changed) (GDBusObjectManagerClient *manager, + GDBusObjectProxy *object_proxy, + GDBusProxy *interface_proxy, + GVariant *changed_properties, + const gchar* const *invalidated_properties); + + /*< private >*/ + gpointer padding[8]; +}; + +GIO_AVAILABLE_IN_ALL +GType g_dbus_object_manager_client_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +void g_dbus_object_manager_client_new (GDBusConnection *connection, + GDBusObjectManagerClientFlags flags, + const gchar *name, + const gchar *object_path, + GDBusProxyTypeFunc get_proxy_type_func, + gpointer get_proxy_type_user_data, + GDestroyNotify get_proxy_type_destroy_notify, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GDBusObjectManager *g_dbus_object_manager_client_new_finish (GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GDBusObjectManager *g_dbus_object_manager_client_new_sync (GDBusConnection *connection, + GDBusObjectManagerClientFlags flags, + const gchar *name, + const gchar *object_path, + GDBusProxyTypeFunc get_proxy_type_func, + gpointer get_proxy_type_user_data, + GDestroyNotify get_proxy_type_destroy_notify, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_dbus_object_manager_client_new_for_bus (GBusType bus_type, + GDBusObjectManagerClientFlags flags, + const gchar *name, + const gchar *object_path, + GDBusProxyTypeFunc get_proxy_type_func, + gpointer get_proxy_type_user_data, + GDestroyNotify get_proxy_type_destroy_notify, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GDBusObjectManager *g_dbus_object_manager_client_new_for_bus_finish (GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GDBusObjectManager *g_dbus_object_manager_client_new_for_bus_sync (GBusType bus_type, + GDBusObjectManagerClientFlags flags, + const gchar *name, + const gchar *object_path, + GDBusProxyTypeFunc get_proxy_type_func, + gpointer get_proxy_type_user_data, + GDestroyNotify get_proxy_type_destroy_notify, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +GDBusConnection *g_dbus_object_manager_client_get_connection (GDBusObjectManagerClient *manager); +GIO_AVAILABLE_IN_ALL +GDBusObjectManagerClientFlags g_dbus_object_manager_client_get_flags (GDBusObjectManagerClient *manager); +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_object_manager_client_get_name (GDBusObjectManagerClient *manager); +GIO_AVAILABLE_IN_ALL +gchar *g_dbus_object_manager_client_get_name_owner (GDBusObjectManagerClient *manager); + +G_END_DECLS + +#endif /* __G_DBUS_OBJECT_MANAGER_CLIENT_H */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectmanagerserver.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectmanagerserver.h new file mode 100644 index 0000000..92543dd --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectmanagerserver.h @@ -0,0 +1,95 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_OBJECT_MANAGER_SERVER_H__ +#define __G_DBUS_OBJECT_MANAGER_SERVER_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DBUS_OBJECT_MANAGER_SERVER (g_dbus_object_manager_server_get_type ()) +#define G_DBUS_OBJECT_MANAGER_SERVER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_OBJECT_MANAGER_SERVER, GDBusObjectManagerServer)) +#define G_DBUS_OBJECT_MANAGER_SERVER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DBUS_OBJECT_MANAGER_SERVER, GDBusObjectManagerServerClass)) +#define G_DBUS_OBJECT_MANAGER_SERVER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DBUS_OBJECT_MANAGER_SERVER, GDBusObjectManagerServerClass)) +#define G_IS_DBUS_OBJECT_MANAGER_SERVER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_OBJECT_MANAGER_SERVER)) +#define G_IS_DBUS_OBJECT_MANAGER_SERVER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DBUS_OBJECT_MANAGER_SERVER)) + +typedef struct _GDBusObjectManagerServerClass GDBusObjectManagerServerClass; +typedef struct _GDBusObjectManagerServerPrivate GDBusObjectManagerServerPrivate; + +/** + * GDBusObjectManagerServer: + * + * The #GDBusObjectManagerServer structure contains private data and should + * only be accessed using the provided API. + * + * Since: 2.30 + */ +struct _GDBusObjectManagerServer +{ + /*< private >*/ + GObject parent_instance; + GDBusObjectManagerServerPrivate *priv; +}; + +/** + * GDBusObjectManagerServerClass: + * @parent_class: The parent class. + * + * Class structure for #GDBusObjectManagerServer. + * + * Since: 2.30 + */ +struct _GDBusObjectManagerServerClass +{ + GObjectClass parent_class; + + /*< private >*/ + gpointer padding[8]; +}; + +GIO_AVAILABLE_IN_ALL +GType g_dbus_object_manager_server_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GDBusObjectManagerServer *g_dbus_object_manager_server_new (const gchar *object_path); +GIO_AVAILABLE_IN_ALL +GDBusConnection *g_dbus_object_manager_server_get_connection (GDBusObjectManagerServer *manager); +GIO_AVAILABLE_IN_ALL +void g_dbus_object_manager_server_set_connection (GDBusObjectManagerServer *manager, + GDBusConnection *connection); +GIO_AVAILABLE_IN_ALL +void g_dbus_object_manager_server_export (GDBusObjectManagerServer *manager, + GDBusObjectSkeleton *object); +GIO_AVAILABLE_IN_ALL +void g_dbus_object_manager_server_export_uniquely (GDBusObjectManagerServer *manager, + GDBusObjectSkeleton *object); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_object_manager_server_is_exported (GDBusObjectManagerServer *manager, + GDBusObjectSkeleton *object); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_object_manager_server_unexport (GDBusObjectManagerServer *manager, + const gchar *object_path); + +G_END_DECLS + +#endif /* __G_DBUS_OBJECT_MANAGER_SERVER_H */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectproxy.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectproxy.h new file mode 100644 index 0000000..ea5af0f --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectproxy.h @@ -0,0 +1,81 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_OBJECT_PROXY_H__ +#define __G_DBUS_OBJECT_PROXY_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DBUS_OBJECT_PROXY (g_dbus_object_proxy_get_type ()) +#define G_DBUS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_OBJECT_PROXY, GDBusObjectProxy)) +#define G_DBUS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DBUS_OBJECT_PROXY, GDBusObjectProxyClass)) +#define G_DBUS_OBJECT_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DBUS_OBJECT_PROXY, GDBusObjectProxyClass)) +#define G_IS_DBUS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_OBJECT_PROXY)) +#define G_IS_DBUS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DBUS_OBJECT_PROXY)) + +typedef struct _GDBusObjectProxyClass GDBusObjectProxyClass; +typedef struct _GDBusObjectProxyPrivate GDBusObjectProxyPrivate; + +/** + * GDBusObjectProxy: + * + * The #GDBusObjectProxy structure contains private data and should + * only be accessed using the provided API. + * + * Since: 2.30 + */ +struct _GDBusObjectProxy +{ + /*< private >*/ + GObject parent_instance; + GDBusObjectProxyPrivate *priv; +}; + +/** + * GDBusObjectProxyClass: + * @parent_class: The parent class. + * + * Class structure for #GDBusObjectProxy. + * + * Since: 2.30 + */ +struct _GDBusObjectProxyClass +{ + GObjectClass parent_class; + + /*< private >*/ + gpointer padding[8]; +}; + +GIO_AVAILABLE_IN_ALL +GType g_dbus_object_proxy_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GDBusObjectProxy *g_dbus_object_proxy_new (GDBusConnection *connection, + const gchar *object_path); +GIO_AVAILABLE_IN_ALL +GDBusConnection *g_dbus_object_proxy_get_connection (GDBusObjectProxy *proxy); + +G_END_DECLS + +#endif /* __G_DBUS_OBJECT_PROXY_H */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectskeleton.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectskeleton.h new file mode 100644 index 0000000..b15a288 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusobjectskeleton.h @@ -0,0 +1,98 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_OBJECT_SKELETON_H__ +#define __G_DBUS_OBJECT_SKELETON_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DBUS_OBJECT_SKELETON (g_dbus_object_skeleton_get_type ()) +#define G_DBUS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_OBJECT_SKELETON, GDBusObjectSkeleton)) +#define G_DBUS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DBUS_OBJECT_SKELETON, GDBusObjectSkeletonClass)) +#define G_DBUS_OBJECT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DBUS_OBJECT_SKELETON, GDBusObjectSkeletonClass)) +#define G_IS_DBUS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_OBJECT_SKELETON)) +#define G_IS_DBUS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DBUS_OBJECT_SKELETON)) + +typedef struct _GDBusObjectSkeletonClass GDBusObjectSkeletonClass; +typedef struct _GDBusObjectSkeletonPrivate GDBusObjectSkeletonPrivate; + +/** + * GDBusObjectSkeleton: + * + * The #GDBusObjectSkeleton structure contains private data and should only be + * accessed using the provided API. + * + * Since: 2.30 + */ +struct _GDBusObjectSkeleton +{ + /*< private >*/ + GObject parent_instance; + GDBusObjectSkeletonPrivate *priv; +}; + +/** + * GDBusObjectSkeletonClass: + * @parent_class: The parent class. + * @authorize_method: Signal class handler for the #GDBusObjectSkeleton::authorize-method signal. + * + * Class structure for #GDBusObjectSkeleton. + * + * Since: 2.30 + */ +struct _GDBusObjectSkeletonClass +{ + GObjectClass parent_class; + + /* Signals */ + gboolean (*authorize_method) (GDBusObjectSkeleton *object, + GDBusInterfaceSkeleton *interface_, + GDBusMethodInvocation *invocation); + + /*< private >*/ + gpointer padding[8]; +}; + +GIO_AVAILABLE_IN_ALL +GType g_dbus_object_skeleton_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GDBusObjectSkeleton *g_dbus_object_skeleton_new (const gchar *object_path); +GIO_AVAILABLE_IN_ALL +void g_dbus_object_skeleton_flush (GDBusObjectSkeleton *object); +GIO_AVAILABLE_IN_ALL +void g_dbus_object_skeleton_add_interface (GDBusObjectSkeleton *object, + GDBusInterfaceSkeleton *interface_); +GIO_AVAILABLE_IN_ALL +void g_dbus_object_skeleton_remove_interface (GDBusObjectSkeleton *object, + GDBusInterfaceSkeleton *interface_); +GIO_AVAILABLE_IN_ALL +void g_dbus_object_skeleton_remove_interface_by_name (GDBusObjectSkeleton *object, + const gchar *interface_name); +GIO_AVAILABLE_IN_ALL +void g_dbus_object_skeleton_set_object_path (GDBusObjectSkeleton *object, + const gchar *object_path); + +G_END_DECLS + +#endif /* __G_DBUS_OBJECT_SKELETON_H */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusproxy.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusproxy.h new file mode 100644 index 0000000..7483156 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusproxy.h @@ -0,0 +1,220 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_PROXY_H__ +#define __G_DBUS_PROXY_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +#define G_TYPE_DBUS_PROXY (g_dbus_proxy_get_type ()) +#define G_DBUS_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_PROXY, GDBusProxy)) +#define G_DBUS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DBUS_PROXY, GDBusProxyClass)) +#define G_DBUS_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DBUS_PROXY, GDBusProxyClass)) +#define G_IS_DBUS_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_PROXY)) +#define G_IS_DBUS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DBUS_PROXY)) + +typedef struct _GDBusProxyClass GDBusProxyClass; +typedef struct _GDBusProxyPrivate GDBusProxyPrivate; + +/** + * GDBusProxy: + * + * The #GDBusProxy structure contains only private data and + * should only be accessed using the provided API. + * + * Since: 2.26 + */ +struct _GDBusProxy +{ + /*< private >*/ + GObject parent_instance; + GDBusProxyPrivate *priv; +}; + +/** + * GDBusProxyClass: + * @g_properties_changed: Signal class handler for the #GDBusProxy::g-properties-changed signal. + * @g_signal: Signal class handler for the #GDBusProxy::g-signal signal. + * + * Class structure for #GDBusProxy. + * + * Since: 2.26 + */ +struct _GDBusProxyClass +{ + /*< private >*/ + GObjectClass parent_class; + + /*< public >*/ + /* Signals */ + void (*g_properties_changed) (GDBusProxy *proxy, + GVariant *changed_properties, + const gchar* const *invalidated_properties); + void (*g_signal) (GDBusProxy *proxy, + const gchar *sender_name, + const gchar *signal_name, + GVariant *parameters); + + /*< private >*/ + /* Padding for future expansion */ + gpointer padding[32]; +}; + +GIO_AVAILABLE_IN_ALL +GType g_dbus_proxy_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +void g_dbus_proxy_new (GDBusConnection *connection, + GDBusProxyFlags flags, + GDBusInterfaceInfo *info, + const gchar *name, + const gchar *object_path, + const gchar *interface_name, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GDBusProxy *g_dbus_proxy_new_finish (GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GDBusProxy *g_dbus_proxy_new_sync (GDBusConnection *connection, + GDBusProxyFlags flags, + GDBusInterfaceInfo *info, + const gchar *name, + const gchar *object_path, + const gchar *interface_name, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_dbus_proxy_new_for_bus (GBusType bus_type, + GDBusProxyFlags flags, + GDBusInterfaceInfo *info, + const gchar *name, + const gchar *object_path, + const gchar *interface_name, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GDBusProxy *g_dbus_proxy_new_for_bus_finish (GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GDBusProxy *g_dbus_proxy_new_for_bus_sync (GBusType bus_type, + GDBusProxyFlags flags, + GDBusInterfaceInfo *info, + const gchar *name, + const gchar *object_path, + const gchar *interface_name, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +GDBusConnection *g_dbus_proxy_get_connection (GDBusProxy *proxy); +GIO_AVAILABLE_IN_ALL +GDBusProxyFlags g_dbus_proxy_get_flags (GDBusProxy *proxy); +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_proxy_get_name (GDBusProxy *proxy); +GIO_AVAILABLE_IN_ALL +gchar *g_dbus_proxy_get_name_owner (GDBusProxy *proxy); +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_proxy_get_object_path (GDBusProxy *proxy); +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_proxy_get_interface_name (GDBusProxy *proxy); +GIO_AVAILABLE_IN_ALL +gint g_dbus_proxy_get_default_timeout (GDBusProxy *proxy); +GIO_AVAILABLE_IN_ALL +void g_dbus_proxy_set_default_timeout (GDBusProxy *proxy, + gint timeout_msec); +GIO_AVAILABLE_IN_ALL +GDBusInterfaceInfo *g_dbus_proxy_get_interface_info (GDBusProxy *proxy); +GIO_AVAILABLE_IN_ALL +void g_dbus_proxy_set_interface_info (GDBusProxy *proxy, + GDBusInterfaceInfo *info); +GIO_AVAILABLE_IN_ALL +GVariant *g_dbus_proxy_get_cached_property (GDBusProxy *proxy, + const gchar *property_name); +GIO_AVAILABLE_IN_ALL +void g_dbus_proxy_set_cached_property (GDBusProxy *proxy, + const gchar *property_name, + GVariant *value); +GIO_AVAILABLE_IN_ALL +gchar **g_dbus_proxy_get_cached_property_names (GDBusProxy *proxy); +GIO_AVAILABLE_IN_ALL +void g_dbus_proxy_call (GDBusProxy *proxy, + const gchar *method_name, + GVariant *parameters, + GDBusCallFlags flags, + gint timeout_msec, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GVariant *g_dbus_proxy_call_finish (GDBusProxy *proxy, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GVariant *g_dbus_proxy_call_sync (GDBusProxy *proxy, + const gchar *method_name, + GVariant *parameters, + GDBusCallFlags flags, + gint timeout_msec, + GCancellable *cancellable, + GError **error); + +#ifdef G_OS_UNIX + +GIO_AVAILABLE_IN_ALL +void g_dbus_proxy_call_with_unix_fd_list (GDBusProxy *proxy, + const gchar *method_name, + GVariant *parameters, + GDBusCallFlags flags, + gint timeout_msec, + GUnixFDList *fd_list, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GVariant *g_dbus_proxy_call_with_unix_fd_list_finish (GDBusProxy *proxy, + GUnixFDList **out_fd_list, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GVariant *g_dbus_proxy_call_with_unix_fd_list_sync (GDBusProxy *proxy, + const gchar *method_name, + GVariant *parameters, + GDBusCallFlags flags, + gint timeout_msec, + GUnixFDList *fd_list, + GUnixFDList **out_fd_list, + GCancellable *cancellable, + GError **error); + +#endif /* G_OS_UNIX */ + +G_END_DECLS + +#endif /* __G_DBUS_PROXY_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusserver.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusserver.h new file mode 100644 index 0000000..8d460e3 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusserver.h @@ -0,0 +1,62 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_SERVER_H__ +#define __G_DBUS_SERVER_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DBUS_SERVER (g_dbus_server_get_type ()) +#define G_DBUS_SERVER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_SERVER, GDBusServer)) +#define G_IS_DBUS_SERVER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_SERVER)) + +GIO_AVAILABLE_IN_ALL +GType g_dbus_server_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GDBusServer *g_dbus_server_new_sync (const gchar *address, + GDBusServerFlags flags, + const gchar *guid, + GDBusAuthObserver *observer, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_server_get_client_address (GDBusServer *server); +GIO_AVAILABLE_IN_ALL +const gchar *g_dbus_server_get_guid (GDBusServer *server); +GIO_AVAILABLE_IN_ALL +GDBusServerFlags g_dbus_server_get_flags (GDBusServer *server); +GIO_AVAILABLE_IN_ALL +void g_dbus_server_start (GDBusServer *server); +GIO_AVAILABLE_IN_ALL +void g_dbus_server_stop (GDBusServer *server); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_server_is_active (GDBusServer *server); + +G_END_DECLS + +#endif /* __G_DBUS_SERVER_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusutils.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusutils.h new file mode 100644 index 0000000..3003b71 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdbusutils.h @@ -0,0 +1,65 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: David Zeuthen + */ + +#ifndef __G_DBUS_UTILS_H__ +#define __G_DBUS_UTILS_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_is_guid (const gchar *string); +GIO_AVAILABLE_IN_ALL +gchar *g_dbus_generate_guid (void); + +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_is_name (const gchar *string); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_is_unique_name (const gchar *string); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_is_member_name (const gchar *string); +GIO_AVAILABLE_IN_ALL +gboolean g_dbus_is_interface_name (const gchar *string); +GIO_AVAILABLE_IN_2_70 +gboolean g_dbus_is_error_name (const gchar *string); + +GIO_AVAILABLE_IN_ALL +void g_dbus_gvariant_to_gvalue (GVariant *value, + GValue *out_gvalue); +GIO_AVAILABLE_IN_ALL +GVariant *g_dbus_gvalue_to_gvariant (const GValue *gvalue, + const GVariantType *type); +GIO_AVAILABLE_IN_2_68 +gchar *g_dbus_escape_object_path_bytestring (const guint8 *bytes); +GIO_AVAILABLE_IN_2_68 +gchar *g_dbus_escape_object_path (const gchar *s); +GIO_AVAILABLE_IN_2_68 +guint8 *g_dbus_unescape_object_path (const gchar *s); + +G_END_DECLS + +#endif /* __G_DBUS_UTILS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdebugcontroller.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdebugcontroller.h new file mode 100644 index 0000000..e59cd34 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdebugcontroller.h @@ -0,0 +1,81 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright © 2021 Endless OS Foundation, LLC + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * SPDX-License-Identifier: LGPL-2.1-or-later + */ + +#ifndef __G_DEBUG_CONTROLLER_H__ +#define __G_DEBUG_CONTROLLER_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/** + * G_DEBUG_CONTROLLER_EXTENSION_POINT_NAME: + * + * Extension point for debug control functionality. + * See [Extending GIO][extending-gio]. + * + * Since: 2.72 + */ +#define G_DEBUG_CONTROLLER_EXTENSION_POINT_NAME "gio-debug-controller" + +/** + * GDebugController: + * + * #GDebugController is an interface to expose control of debugging features and + * debug output. + * + * Since: 2.72 + */ +#define G_TYPE_DEBUG_CONTROLLER (g_debug_controller_get_type ()) +GIO_AVAILABLE_IN_2_72 +G_DECLARE_INTERFACE(GDebugController, g_debug_controller, g, debug_controller, GObject) + +#define G_DEBUG_CONTROLLER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DEBUG_CONTROLLER, GDebugController)) +#define G_IS_DEBUG_CONTROLLER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DEBUG_CONTROLLER)) +#define G_DEBUG_CONTROLLER_GET_INTERFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), G_TYPE_DEBUG_CONTROLLER, GDebugControllerInterface)) + +/** + * GDebugControllerInterface: + * @g_iface: The parent interface. + * + * The virtual function table for #GDebugController. + * + * Since: 2.72 + */ +struct _GDebugControllerInterface { + /*< private >*/ + GTypeInterface g_iface; +}; + +GIO_AVAILABLE_IN_2_72 +gboolean g_debug_controller_get_debug_enabled (GDebugController *self); +GIO_AVAILABLE_IN_2_72 +void g_debug_controller_set_debug_enabled (GDebugController *self, + gboolean debug_enabled); + +G_END_DECLS + +#endif /* __G_DEBUG_CONTROLLER_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdebugcontrollerdbus.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdebugcontrollerdbus.h new file mode 100644 index 0000000..c6e6c70 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdebugcontrollerdbus.h @@ -0,0 +1,71 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright © 2021 Endless OS Foundation, LLC + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * SPDX-License-Identifier: LGPL-2.1-or-later + */ + +#ifndef __G_DEBUG_CONTROLLER_DBUS_H__ +#define __G_DEBUG_CONTROLLER_DBUS_H__ + +#include +#include + +G_BEGIN_DECLS + +/** + * GDebugControllerDBus: + * + * #GDebugControllerDBus is an implementation of #GDebugController over D-Bus. + * + * Since: 2.72 + */ +#define G_TYPE_DEBUG_CONTROLLER_DBUS (g_debug_controller_dbus_get_type ()) +GIO_AVAILABLE_IN_2_72 +G_DECLARE_DERIVABLE_TYPE (GDebugControllerDBus, g_debug_controller_dbus, G, DEBUG_CONTROLLER_DBUS, GObject) + +/** + * GDebugControllerDBusClass: + * @parent_class: The parent class. + * @authorize: Default handler for the #GDebugControllerDBus::authorize signal. + * + * The virtual function table for #GDebugControllerDBus. + * + * Since: 2.72 + */ +struct _GDebugControllerDBusClass +{ + GObjectClass parent_class; + + gboolean (*authorize) (GDebugControllerDBus *controller, + GDBusMethodInvocation *invocation); + + gpointer padding[12]; +}; + +GIO_AVAILABLE_IN_2_72 +GDebugControllerDBus *g_debug_controller_dbus_new (GDBusConnection *connection, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_2_72 +void g_debug_controller_dbus_stop (GDebugControllerDBus *self); + +G_END_DECLS + +#endif /* __G_DEBUG_CONTROLLER_DBUS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdrive.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdrive.h new file mode 100644 index 0000000..7551a40 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdrive.h @@ -0,0 +1,274 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + * David Zeuthen + */ + +#ifndef __G_DRIVE_H__ +#define __G_DRIVE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/** + * G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE: + * + * The string used to obtain a Unix device path with g_drive_get_identifier(). + * + * Since: 2.58 + */ +#define G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE "unix-device" + +#define G_TYPE_DRIVE (g_drive_get_type ()) +#define G_DRIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_DRIVE, GDrive)) +#define G_IS_DRIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_DRIVE)) +#define G_DRIVE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_DRIVE, GDriveIface)) + +/** + * GDriveIface: + * @g_iface: The parent interface. + * @changed: Signal emitted when the drive is changed. + * @disconnected: The removed signal that is emitted when the #GDrive have been disconnected. If the recipient is holding references to the object they should release them so the object can be finalized. + * @eject_button: Signal emitted when the physical eject button (if any) of a drive have been pressed. + * @get_name: Returns the name for the given #GDrive. + * @get_icon: Returns a #GIcon for the given #GDrive. + * @has_volumes: Returns %TRUE if the #GDrive has mountable volumes. + * @get_volumes: Returns a list #GList of #GVolume for the #GDrive. + * @is_removable: Returns %TRUE if the #GDrive and/or its media is considered removable by the user. Since 2.50. + * @is_media_removable: Returns %TRUE if the #GDrive supports removal and insertion of media. + * @has_media: Returns %TRUE if the #GDrive has media inserted. + * @is_media_check_automatic: Returns %TRUE if the #GDrive is capable of automatically detecting media changes. + * @can_poll_for_media: Returns %TRUE if the #GDrive is capable of manually polling for media change. + * @can_eject: Returns %TRUE if the #GDrive can eject media. + * @eject: Ejects a #GDrive. + * @eject_finish: Finishes an eject operation. + * @poll_for_media: Poll for media insertion/removal on a #GDrive. + * @poll_for_media_finish: Finishes a media poll operation. + * @get_identifier: Returns the identifier of the given kind, or %NULL if + * the #GDrive doesn't have one. + * @enumerate_identifiers: Returns an array strings listing the kinds + * of identifiers which the #GDrive has. + * @get_start_stop_type: Gets a #GDriveStartStopType with details about starting/stopping the drive. Since 2.22. + * @can_stop: Returns %TRUE if a #GDrive can be stopped. Since 2.22. + * @stop: Stops a #GDrive. Since 2.22. + * @stop_finish: Finishes a stop operation. Since 2.22. + * @can_start: Returns %TRUE if a #GDrive can be started. Since 2.22. + * @can_start_degraded: Returns %TRUE if a #GDrive can be started degraded. Since 2.22. + * @start: Starts a #GDrive. Since 2.22. + * @start_finish: Finishes a start operation. Since 2.22. + * @stop_button: Signal emitted when the physical stop button (if any) of a drive have been pressed. Since 2.22. + * @eject_with_operation: Starts ejecting a #GDrive using a #GMountOperation. Since 2.22. + * @eject_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22. + * @get_sort_key: Gets a key used for sorting #GDrive instances or %NULL if no such key exists. Since 2.32. + * @get_symbolic_icon: Returns a symbolic #GIcon for the given #GDrive. Since 2.34. + * + * Interface for creating #GDrive implementations. + */ +typedef struct _GDriveIface GDriveIface; + +struct _GDriveIface +{ + GTypeInterface g_iface; + + /* signals */ + void (* changed) (GDrive *drive); + void (* disconnected) (GDrive *drive); + void (* eject_button) (GDrive *drive); + + /* Virtual Table */ + char * (* get_name) (GDrive *drive); + GIcon * (* get_icon) (GDrive *drive); + gboolean (* has_volumes) (GDrive *drive); + GList * (* get_volumes) (GDrive *drive); + gboolean (* is_media_removable) (GDrive *drive); + gboolean (* has_media) (GDrive *drive); + gboolean (* is_media_check_automatic) (GDrive *drive); + gboolean (* can_eject) (GDrive *drive); + gboolean (* can_poll_for_media) (GDrive *drive); + void (* eject) (GDrive *drive, + GMountUnmountFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* eject_finish) (GDrive *drive, + GAsyncResult *result, + GError **error); + void (* poll_for_media) (GDrive *drive, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* poll_for_media_finish) (GDrive *drive, + GAsyncResult *result, + GError **error); + + char * (* get_identifier) (GDrive *drive, + const char *kind); + char ** (* enumerate_identifiers) (GDrive *drive); + + GDriveStartStopType (* get_start_stop_type) (GDrive *drive); + + gboolean (* can_start) (GDrive *drive); + gboolean (* can_start_degraded) (GDrive *drive); + void (* start) (GDrive *drive, + GDriveStartFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* start_finish) (GDrive *drive, + GAsyncResult *result, + GError **error); + + gboolean (* can_stop) (GDrive *drive); + void (* stop) (GDrive *drive, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* stop_finish) (GDrive *drive, + GAsyncResult *result, + GError **error); + /* signal, not VFunc */ + void (* stop_button) (GDrive *drive); + + void (* eject_with_operation) (GDrive *drive, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* eject_with_operation_finish) (GDrive *drive, + GAsyncResult *result, + GError **error); + + const gchar * (* get_sort_key) (GDrive *drive); + GIcon * (* get_symbolic_icon) (GDrive *drive); + gboolean (* is_removable) (GDrive *drive); + +}; + +GIO_AVAILABLE_IN_ALL +GType g_drive_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +char * g_drive_get_name (GDrive *drive); +GIO_AVAILABLE_IN_ALL +GIcon * g_drive_get_icon (GDrive *drive); +GIO_AVAILABLE_IN_ALL +GIcon * g_drive_get_symbolic_icon (GDrive *drive); +GIO_AVAILABLE_IN_ALL +gboolean g_drive_has_volumes (GDrive *drive); +GIO_AVAILABLE_IN_ALL +GList * g_drive_get_volumes (GDrive *drive); +GIO_AVAILABLE_IN_2_50 +gboolean g_drive_is_removable (GDrive *drive); +GIO_AVAILABLE_IN_ALL +gboolean g_drive_is_media_removable (GDrive *drive); +GIO_AVAILABLE_IN_ALL +gboolean g_drive_has_media (GDrive *drive); +GIO_AVAILABLE_IN_ALL +gboolean g_drive_is_media_check_automatic (GDrive *drive); +GIO_AVAILABLE_IN_ALL +gboolean g_drive_can_poll_for_media (GDrive *drive); +GIO_AVAILABLE_IN_ALL +gboolean g_drive_can_eject (GDrive *drive); +GIO_DEPRECATED_FOR(g_drive_eject_with_operation) +void g_drive_eject (GDrive *drive, + GMountUnmountFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_DEPRECATED_FOR(g_drive_eject_with_operation_finish) +gboolean g_drive_eject_finish (GDrive *drive, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_drive_poll_for_media (GDrive *drive, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_drive_poll_for_media_finish (GDrive *drive, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +char * g_drive_get_identifier (GDrive *drive, + const char *kind); +GIO_AVAILABLE_IN_ALL +char ** g_drive_enumerate_identifiers (GDrive *drive); + +GIO_AVAILABLE_IN_ALL +GDriveStartStopType g_drive_get_start_stop_type (GDrive *drive); + +GIO_AVAILABLE_IN_ALL +gboolean g_drive_can_start (GDrive *drive); +GIO_AVAILABLE_IN_ALL +gboolean g_drive_can_start_degraded (GDrive *drive); +GIO_AVAILABLE_IN_ALL +void g_drive_start (GDrive *drive, + GDriveStartFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_drive_start_finish (GDrive *drive, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_drive_can_stop (GDrive *drive); +GIO_AVAILABLE_IN_ALL +void g_drive_stop (GDrive *drive, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_drive_stop_finish (GDrive *drive, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_drive_eject_with_operation (GDrive *drive, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_drive_eject_with_operation_finish (GDrive *drive, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_2_32 +const gchar *g_drive_get_sort_key (GDrive *drive); + +G_END_DECLS + +#endif /* __G_DRIVE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdtlsclientconnection.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdtlsclientconnection.h new file mode 100644 index 0000000..f8ee1f4 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdtlsclientconnection.h @@ -0,0 +1,77 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright © 2010 Red Hat, Inc. + * Copyright © 2015 Collabora, Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_DTLS_CLIENT_CONNECTION_H__ +#define __G_DTLS_CLIENT_CONNECTION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DTLS_CLIENT_CONNECTION (g_dtls_client_connection_get_type ()) +#define G_DTLS_CLIENT_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_DTLS_CLIENT_CONNECTION, GDtlsClientConnection)) +#define G_IS_DTLS_CLIENT_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_DTLS_CLIENT_CONNECTION)) +#define G_DTLS_CLIENT_CONNECTION_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), G_TYPE_DTLS_CLIENT_CONNECTION, GDtlsClientConnectionInterface)) + +typedef struct _GDtlsClientConnectionInterface GDtlsClientConnectionInterface; + +/** + * GDtlsClientConnectionInterface: + * @g_iface: The parent interface. + * + * vtable for a #GDtlsClientConnection implementation. + * + * Since: 2.48 + */ +struct _GDtlsClientConnectionInterface +{ + GTypeInterface g_iface; +}; + +GIO_AVAILABLE_IN_2_48 +GType g_dtls_client_connection_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_48 +GDatagramBased *g_dtls_client_connection_new (GDatagramBased *base_socket, + GSocketConnectable *server_identity, + GError **error); + +GIO_AVAILABLE_IN_2_48 +GTlsCertificateFlags g_dtls_client_connection_get_validation_flags (GDtlsClientConnection *conn); +GIO_AVAILABLE_IN_2_48 +void g_dtls_client_connection_set_validation_flags (GDtlsClientConnection *conn, + GTlsCertificateFlags flags); +GIO_AVAILABLE_IN_2_48 +GSocketConnectable *g_dtls_client_connection_get_server_identity (GDtlsClientConnection *conn); +GIO_AVAILABLE_IN_2_48 +void g_dtls_client_connection_set_server_identity (GDtlsClientConnection *conn, + GSocketConnectable *identity); +GIO_AVAILABLE_IN_2_48 +GList * g_dtls_client_connection_get_accepted_cas (GDtlsClientConnection *conn); + + +G_END_DECLS + +#endif /* __G_DTLS_CLIENT_CONNECTION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdtlsconnection.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdtlsconnection.h new file mode 100644 index 0000000..c7513ee --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdtlsconnection.h @@ -0,0 +1,230 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright © 2010 Red Hat, Inc. + * Copyright © 2015 Collabora, Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_DTLS_CONNECTION_H__ +#define __G_DTLS_CONNECTION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DTLS_CONNECTION (g_dtls_connection_get_type ()) +#define G_DTLS_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_DTLS_CONNECTION, GDtlsConnection)) +#define G_IS_DTLS_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_DTLS_CONNECTION)) +#define G_DTLS_CONNECTION_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), G_TYPE_DTLS_CONNECTION, GDtlsConnectionInterface)) + +typedef struct _GDtlsConnectionInterface GDtlsConnectionInterface; + +/** + * GDtlsConnectionInterface: + * @g_iface: The parent interface. + * @accept_certificate: Check whether to accept a certificate. + * @handshake: Perform a handshake operation. + * @handshake_async: Start an asynchronous handshake operation. + * @handshake_finish: Finish an asynchronous handshake operation. + * @shutdown: Shut down one or both directions of the connection. + * @shutdown_async: Start an asynchronous shutdown operation. + * @shutdown_finish: Finish an asynchronous shutdown operation. + * @set_advertised_protocols: Set APLN protocol list (Since: 2.60) + * @get_negotiated_protocol: Get ALPN-negotiated protocol (Since: 2.60) + * @get_binding_data: Retrieve TLS channel binding data (Since: 2.66) + * + * Virtual method table for a #GDtlsConnection implementation. + * + * Since: 2.48 + */ +struct _GDtlsConnectionInterface +{ + GTypeInterface g_iface; + + /* signals */ + gboolean (*accept_certificate) (GDtlsConnection *connection, + GTlsCertificate *peer_cert, + GTlsCertificateFlags errors); + + /* methods */ + gboolean (*handshake) (GDtlsConnection *conn, + GCancellable *cancellable, + GError **error); + + void (*handshake_async) (GDtlsConnection *conn, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (*handshake_finish) (GDtlsConnection *conn, + GAsyncResult *result, + GError **error); + + gboolean (*shutdown) (GDtlsConnection *conn, + gboolean shutdown_read, + gboolean shutdown_write, + GCancellable *cancellable, + GError **error); + + void (*shutdown_async) (GDtlsConnection *conn, + gboolean shutdown_read, + gboolean shutdown_write, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (*shutdown_finish) (GDtlsConnection *conn, + GAsyncResult *result, + GError **error); + + void (*set_advertised_protocols) (GDtlsConnection *conn, + const gchar * const *protocols); + const gchar *(*get_negotiated_protocol) (GDtlsConnection *conn); + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + gboolean (*get_binding_data) (GDtlsConnection *conn, + GTlsChannelBindingType type, + GByteArray *data, + GError **error); +G_GNUC_END_IGNORE_DEPRECATIONS +}; + +GIO_AVAILABLE_IN_2_48 +GType g_dtls_connection_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_48 +void g_dtls_connection_set_database (GDtlsConnection *conn, + GTlsDatabase *database); +GIO_AVAILABLE_IN_2_48 +GTlsDatabase *g_dtls_connection_get_database (GDtlsConnection *conn); + +GIO_AVAILABLE_IN_2_48 +void g_dtls_connection_set_certificate (GDtlsConnection *conn, + GTlsCertificate *certificate); +GIO_AVAILABLE_IN_2_48 +GTlsCertificate *g_dtls_connection_get_certificate (GDtlsConnection *conn); + +GIO_AVAILABLE_IN_2_48 +void g_dtls_connection_set_interaction (GDtlsConnection *conn, + GTlsInteraction *interaction); +GIO_AVAILABLE_IN_2_48 +GTlsInteraction *g_dtls_connection_get_interaction (GDtlsConnection *conn); + +GIO_AVAILABLE_IN_2_48 +GTlsCertificate *g_dtls_connection_get_peer_certificate (GDtlsConnection *conn); +GIO_AVAILABLE_IN_2_48 +GTlsCertificateFlags g_dtls_connection_get_peer_certificate_errors (GDtlsConnection *conn); + +GIO_AVAILABLE_IN_2_48 +void g_dtls_connection_set_require_close_notify (GDtlsConnection *conn, + gboolean require_close_notify); +GIO_AVAILABLE_IN_2_48 +gboolean g_dtls_connection_get_require_close_notify (GDtlsConnection *conn); + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GIO_DEPRECATED_IN_2_60 +void g_dtls_connection_set_rehandshake_mode (GDtlsConnection *conn, + GTlsRehandshakeMode mode); +GIO_DEPRECATED_IN_2_60 +GTlsRehandshakeMode g_dtls_connection_get_rehandshake_mode (GDtlsConnection *conn); +G_GNUC_END_IGNORE_DEPRECATIONS + +GIO_AVAILABLE_IN_2_48 +gboolean g_dtls_connection_handshake (GDtlsConnection *conn, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_2_48 +void g_dtls_connection_handshake_async (GDtlsConnection *conn, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_48 +gboolean g_dtls_connection_handshake_finish (GDtlsConnection *conn, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_2_48 +gboolean g_dtls_connection_shutdown (GDtlsConnection *conn, + gboolean shutdown_read, + gboolean shutdown_write, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_2_48 +void g_dtls_connection_shutdown_async (GDtlsConnection *conn, + gboolean shutdown_read, + gboolean shutdown_write, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_48 +gboolean g_dtls_connection_shutdown_finish (GDtlsConnection *conn, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_2_48 +gboolean g_dtls_connection_close (GDtlsConnection *conn, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_2_48 +void g_dtls_connection_close_async (GDtlsConnection *conn, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_48 +gboolean g_dtls_connection_close_finish (GDtlsConnection *conn, + GAsyncResult *result, + GError **error); + +/*< protected >*/ +GIO_AVAILABLE_IN_2_48 +gboolean g_dtls_connection_emit_accept_certificate (GDtlsConnection *conn, + GTlsCertificate *peer_cert, + GTlsCertificateFlags errors); +GIO_AVAILABLE_IN_2_60 +void g_dtls_connection_set_advertised_protocols (GDtlsConnection *conn, + const gchar * const *protocols); + +GIO_AVAILABLE_IN_2_60 +const gchar * g_dtls_connection_get_negotiated_protocol (GDtlsConnection *conn); + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GIO_AVAILABLE_IN_2_66 +gboolean g_dtls_connection_get_channel_binding_data (GDtlsConnection *conn, + GTlsChannelBindingType type, + GByteArray *data, + GError **error); +G_GNUC_END_IGNORE_DEPRECATIONS + +GIO_AVAILABLE_IN_2_70 +GTlsProtocolVersion g_dtls_connection_get_protocol_version (GDtlsConnection *conn); + +GIO_AVAILABLE_IN_2_70 +gchar * g_dtls_connection_get_ciphersuite_name (GDtlsConnection *conn); + +G_END_DECLS + +#endif /* __G_DTLS_CONNECTION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdtlsserverconnection.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdtlsserverconnection.h new file mode 100644 index 0000000..d463660 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gdtlsserverconnection.h @@ -0,0 +1,71 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright © 2010 Red Hat, Inc. + * Copyright © 2015 Collabora, Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_DTLS_SERVER_CONNECTION_H__ +#define __G_DTLS_SERVER_CONNECTION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_DTLS_SERVER_CONNECTION (g_dtls_server_connection_get_type ()) +#define G_DTLS_SERVER_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_DTLS_SERVER_CONNECTION, GDtlsServerConnection)) +#define G_IS_DTLS_SERVER_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_DTLS_SERVER_CONNECTION)) +#define G_DTLS_SERVER_CONNECTION_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), G_TYPE_DTLS_SERVER_CONNECTION, GDtlsServerConnectionInterface)) + +/** + * GDtlsServerConnection: + * + * DTLS server-side connection. This is the server-side implementation + * of a #GDtlsConnection. + * + * Since: 2.48 + */ +typedef struct _GDtlsServerConnectionInterface GDtlsServerConnectionInterface; + +/** + * GDtlsServerConnectionInterface: + * @g_iface: The parent interface. + * + * vtable for a #GDtlsServerConnection implementation. + * + * Since: 2.48 + */ +struct _GDtlsServerConnectionInterface +{ + GTypeInterface g_iface; +}; + +GIO_AVAILABLE_IN_2_48 +GType g_dtls_server_connection_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_48 +GDatagramBased *g_dtls_server_connection_new (GDatagramBased *base_socket, + GTlsCertificate *certificate, + GError **error); + +G_END_DECLS + +#endif /* __G_DTLS_SERVER_CONNECTION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gemblem.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gemblem.h new file mode 100644 index 0000000..eb00c3b --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gemblem.h @@ -0,0 +1,63 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2008 Clemens N. Buss + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + */ + +#ifndef __G_EMBLEM_H__ +#define __G_EMBLEM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_EMBLEM (g_emblem_get_type ()) +#define G_EMBLEM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_EMBLEM, GEmblem)) +#define G_EMBLEM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_EMBLEM, GEmblemClass)) +#define G_IS_EMBLEM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_EMBLEM)) +#define G_IS_EMBLEM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_EMBLEM)) +#define G_EMBLEM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_EMBLEM, GEmblemClass)) + +/** + * GEmblem: + * + * An object for Emblems + */ +typedef struct _GEmblem GEmblem; +typedef struct _GEmblemClass GEmblemClass; + +GIO_AVAILABLE_IN_ALL +GType g_emblem_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GEmblem *g_emblem_new (GIcon *icon); +GIO_AVAILABLE_IN_ALL +GEmblem *g_emblem_new_with_origin (GIcon *icon, + GEmblemOrigin origin); +GIO_AVAILABLE_IN_ALL +GIcon *g_emblem_get_icon (GEmblem *emblem); +GIO_AVAILABLE_IN_ALL +GEmblemOrigin g_emblem_get_origin (GEmblem *emblem); + +G_END_DECLS + +#endif /* __G_EMBLEM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gemblemedicon.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gemblemedicon.h new file mode 100644 index 0000000..1702b7b --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gemblemedicon.h @@ -0,0 +1,83 @@ +/* Gio - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Matthias Clasen + * Clemens N. Buss + */ + +#ifndef __G_EMBLEMED_ICON_H__ +#define __G_EMBLEMED_ICON_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +#define G_TYPE_EMBLEMED_ICON (g_emblemed_icon_get_type ()) +#define G_EMBLEMED_ICON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_EMBLEMED_ICON, GEmblemedIcon)) +#define G_EMBLEMED_ICON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_EMBLEMED_ICON, GEmblemedIconClass)) +#define G_IS_EMBLEMED_ICON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_EMBLEMED_ICON)) +#define G_IS_EMBLEMED_ICON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_EMBLEMED_ICON)) +#define G_EMBLEMED_ICON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_EMBLEMED_ICON, GEmblemedIconClass)) + +/** + * GEmblemedIcon: + * + * An implementation of #GIcon for icons with emblems. + **/ +typedef struct _GEmblemedIcon GEmblemedIcon; +typedef struct _GEmblemedIconClass GEmblemedIconClass; +typedef struct _GEmblemedIconPrivate GEmblemedIconPrivate; + +struct _GEmblemedIcon +{ + GObject parent_instance; + + /*< private >*/ + GEmblemedIconPrivate *priv; +}; + +struct _GEmblemedIconClass +{ + GObjectClass parent_class; +}; + +GIO_AVAILABLE_IN_ALL +GType g_emblemed_icon_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GIcon *g_emblemed_icon_new (GIcon *icon, + GEmblem *emblem); +GIO_AVAILABLE_IN_ALL +GIcon *g_emblemed_icon_get_icon (GEmblemedIcon *emblemed); +GIO_AVAILABLE_IN_ALL +GList *g_emblemed_icon_get_emblems (GEmblemedIcon *emblemed); +GIO_AVAILABLE_IN_ALL +void g_emblemed_icon_add_emblem (GEmblemedIcon *emblemed, + GEmblem *emblem); +GIO_AVAILABLE_IN_ALL +void g_emblemed_icon_clear_emblems (GEmblemedIcon *emblemed); + +G_END_DECLS + +#endif /* __G_EMBLEMED_ICON_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfile.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfile.h new file mode 100644 index 0000000..7c43fe0 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfile.h @@ -0,0 +1,1359 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_FILE_H__ +#define __G_FILE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_FILE (g_file_get_type ()) +#define G_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_FILE, GFile)) +#define G_IS_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_FILE)) +#define G_FILE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_FILE, GFileIface)) + +#if 0 +/** + * GFile: + * + * A handle to an object implementing the #GFileIface interface. + * Generally stores a location within the file system. Handles do not + * necessarily represent files or directories that currently exist. + **/ +typedef struct _GFile GFile; /* Dummy typedef */ +#endif +typedef struct _GFileIface GFileIface; + + +/** + * GFileIface: + * @g_iface: The parent interface. + * @dup: Duplicates a #GFile. + * @hash: Creates a hash of a #GFile. + * @equal: Checks equality of two given #GFiles. + * @is_native: Checks to see if a file is native to the system. + * @has_uri_scheme: Checks to see if a #GFile has a given URI scheme. + * @get_uri_scheme: Gets the URI scheme for a #GFile. + * @get_basename: Gets the basename for a given #GFile. + * @get_path: Gets the current path within a #GFile. + * @get_uri: Gets a URI for the path within a #GFile. + * @get_parse_name: Gets the parsed name for the #GFile. + * @get_parent: Gets the parent directory for the #GFile. + * @prefix_matches: Checks whether a #GFile contains a specified file. + * @get_relative_path: Gets the path for a #GFile relative to a given path. + * @resolve_relative_path: Resolves a relative path for a #GFile to an absolute path. + * @get_child_for_display_name: Gets the child #GFile for a given display name. + * @enumerate_children: Gets a #GFileEnumerator with the children of a #GFile. + * @enumerate_children_async: Asynchronously gets a #GFileEnumerator with the children of a #GFile. + * @enumerate_children_finish: Finishes asynchronously enumerating the children. + * @query_info: Gets the #GFileInfo for a #GFile. + * @query_info_async: Asynchronously gets the #GFileInfo for a #GFile. + * @query_info_finish: Finishes an asynchronous query info operation. + * @query_filesystem_info: Gets a #GFileInfo for the file system #GFile is on. + * @query_filesystem_info_async: Asynchronously gets a #GFileInfo for the file system #GFile is on. + * @query_filesystem_info_finish: Finishes asynchronously getting the file system info. + * @find_enclosing_mount: Gets a #GMount for the #GFile. + * @find_enclosing_mount_async: Asynchronously gets the #GMount for a #GFile. + * @find_enclosing_mount_finish: Finishes asynchronously getting the volume. + * @set_display_name: Sets the display name for a #GFile. + * @set_display_name_async: Asynchronously sets a #GFile's display name. + * @set_display_name_finish: Finishes asynchronously setting a #GFile's display name. + * @query_settable_attributes: Returns a list of #GFileAttributeInfos that can be set. + * @_query_settable_attributes_async: Asynchronously gets a list of #GFileAttributeInfos that can be set. + * @_query_settable_attributes_finish: Finishes asynchronously querying settable attributes. + * @query_writable_namespaces: Returns a list of #GFileAttributeInfo namespaces that are writable. + * @_query_writable_namespaces_async: Asynchronously gets a list of #GFileAttributeInfo namespaces that are writable. + * @_query_writable_namespaces_finish: Finishes asynchronously querying the writable namespaces. + * @set_attribute: Sets a #GFileAttributeInfo. + * @set_attributes_from_info: Sets a #GFileAttributeInfo with information from a #GFileInfo. + * @set_attributes_async: Asynchronously sets a file's attributes. + * @set_attributes_finish: Finishes setting a file's attributes asynchronously. + * @read_fn: Reads a file asynchronously. + * @read_async: Asynchronously reads a file. + * @read_finish: Finishes asynchronously reading a file. + * @append_to: Writes to the end of a file. + * @append_to_async: Asynchronously writes to the end of a file. + * @append_to_finish: Finishes an asynchronous file append operation. + * @create: Creates a new file. + * @create_async: Asynchronously creates a file. + * @create_finish: Finishes asynchronously creating a file. + * @replace: Replaces the contents of a file. + * @replace_async: Asynchronously replaces the contents of a file. + * @replace_finish: Finishes asynchronously replacing a file. + * @delete_file: Deletes a file. + * @delete_file_async: Asynchronously deletes a file. + * @delete_file_finish: Finishes an asynchronous delete. + * @trash: Sends a #GFile to the Trash location. + * @trash_async: Asynchronously sends a #GFile to the Trash location. + * @trash_finish: Finishes an asynchronous file trashing operation. + * @make_directory: Makes a directory. + * @make_directory_async: Asynchronously makes a directory. + * @make_directory_finish: Finishes making a directory asynchronously. + * @make_symbolic_link: (nullable): Makes a symbolic link. %NULL if symbolic + * links are unsupported. + * @make_symbolic_link_async: Asynchronously makes a symbolic link + * @make_symbolic_link_finish: Finishes making a symbolic link asynchronously. + * @copy: (nullable): Copies a file. %NULL if copying is unsupported, which will + * cause `GFile` to use a fallback copy method where it reads from the + * source and writes to the destination. + * @copy_async: Asynchronously copies a file. + * @copy_finish: Finishes an asynchronous copy operation. + * @move: Moves a file. + * @move_async: Asynchronously moves a file. Since: 2.72 + * @move_finish: Finishes an asynchronous move operation. Since: 2.72 + * @mount_mountable: Mounts a mountable object. + * @mount_mountable_finish: Finishes a mounting operation. + * @unmount_mountable: Unmounts a mountable object. + * @unmount_mountable_finish: Finishes an unmount operation. + * @eject_mountable: Ejects a mountable. + * @eject_mountable_finish: Finishes an eject operation. + * @mount_enclosing_volume: Mounts a specified location. + * @mount_enclosing_volume_finish: Finishes mounting a specified location. + * @monitor_dir: Creates a #GFileMonitor for the location. + * @monitor_file: Creates a #GFileMonitor for the location. + * @open_readwrite: Open file read/write. Since 2.22. + * @open_readwrite_async: Asynchronously opens file read/write. Since 2.22. + * @open_readwrite_finish: Finishes an asynchronous open read/write. Since 2.22. + * @create_readwrite: Creates file read/write. Since 2.22. + * @create_readwrite_async: Asynchronously creates file read/write. Since 2.22. + * @create_readwrite_finish: Finishes an asynchronous creates read/write. Since 2.22. + * @replace_readwrite: Replaces file read/write. Since 2.22. + * @replace_readwrite_async: Asynchronously replaces file read/write. Since 2.22. + * @replace_readwrite_finish: Finishes an asynchronous replace read/write. Since 2.22. + * @start_mountable: Starts a mountable object. Since 2.22. + * @start_mountable_finish: Finishes a start operation. Since 2.22. + * @stop_mountable: Stops a mountable. Since 2.22. + * @stop_mountable_finish: Finishes a stop operation. Since 2.22. + * @supports_thread_contexts: a boolean that indicates whether the #GFile implementation supports thread-default contexts. Since 2.22. + * @unmount_mountable_with_operation: Unmounts a mountable object using a #GMountOperation. Since 2.22. + * @unmount_mountable_with_operation_finish: Finishes an unmount operation using a #GMountOperation. Since 2.22. + * @eject_mountable_with_operation: Ejects a mountable object using a #GMountOperation. Since 2.22. + * @eject_mountable_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22. + * @poll_mountable: Polls a mountable object for media changes. Since 2.22. + * @poll_mountable_finish: Finishes a poll operation for media changes. Since 2.22. + * @measure_disk_usage: Recursively measures the disk usage of @file. Since 2.38 + * @measure_disk_usage_async: Asynchronously recursively measures the disk usage of @file. Since 2.38 + * @measure_disk_usage_finish: Finishes an asynchronous recursive measurement of the disk usage of @file. Since 2.38 + * + * An interface for writing VFS file handles. + **/ +struct _GFileIface +{ + GTypeInterface g_iface; + + /* Virtual Table */ + + GFile * (* dup) (GFile *file); + guint (* hash) (GFile *file); + gboolean (* equal) (GFile *file1, + GFile *file2); + gboolean (* is_native) (GFile *file); + gboolean (* has_uri_scheme) (GFile *file, + const char *uri_scheme); + char * (* get_uri_scheme) (GFile *file); + char * (* get_basename) (GFile *file); + char * (* get_path) (GFile *file); + char * (* get_uri) (GFile *file); + char * (* get_parse_name) (GFile *file); + GFile * (* get_parent) (GFile *file); + gboolean (* prefix_matches) (GFile *prefix, + GFile *file); + char * (* get_relative_path) (GFile *parent, + GFile *descendant); + GFile * (* resolve_relative_path) (GFile *file, + const char *relative_path); + GFile * (* get_child_for_display_name) (GFile *file, + const char *display_name, + GError **error); + + GFileEnumerator * (* enumerate_children) (GFile *file, + const char *attributes, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); + void (* enumerate_children_async) (GFile *file, + const char *attributes, + GFileQueryInfoFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileEnumerator * (* enumerate_children_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + GFileInfo * (* query_info) (GFile *file, + const char *attributes, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); + void (* query_info_async) (GFile *file, + const char *attributes, + GFileQueryInfoFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileInfo * (* query_info_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + GFileInfo * (* query_filesystem_info) (GFile *file, + const char *attributes, + GCancellable *cancellable, + GError **error); + void (* query_filesystem_info_async) (GFile *file, + const char *attributes, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileInfo * (* query_filesystem_info_finish)(GFile *file, + GAsyncResult *res, + GError **error); + + GMount * (* find_enclosing_mount) (GFile *file, + GCancellable *cancellable, + GError **error); + void (* find_enclosing_mount_async) (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GMount * (* find_enclosing_mount_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + GFile * (* set_display_name) (GFile *file, + const char *display_name, + GCancellable *cancellable, + GError **error); + void (* set_display_name_async) (GFile *file, + const char *display_name, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFile * (* set_display_name_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + GFileAttributeInfoList * (* query_settable_attributes) (GFile *file, + GCancellable *cancellable, + GError **error); + void (* _query_settable_attributes_async) (void); + void (* _query_settable_attributes_finish) (void); + + GFileAttributeInfoList * (* query_writable_namespaces) (GFile *file, + GCancellable *cancellable, + GError **error); + void (* _query_writable_namespaces_async) (void); + void (* _query_writable_namespaces_finish) (void); + + gboolean (* set_attribute) (GFile *file, + const char *attribute, + GFileAttributeType type, + gpointer value_p, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); + gboolean (* set_attributes_from_info) (GFile *file, + GFileInfo *info, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); + void (* set_attributes_async) (GFile *file, + GFileInfo *info, + GFileQueryInfoFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* set_attributes_finish) (GFile *file, + GAsyncResult *result, + GFileInfo **info, + GError **error); + + GFileInputStream * (* read_fn) (GFile *file, + GCancellable *cancellable, + GError **error); + void (* read_async) (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileInputStream * (* read_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + GFileOutputStream * (* append_to) (GFile *file, + GFileCreateFlags flags, + GCancellable *cancellable, + GError **error); + void (* append_to_async) (GFile *file, + GFileCreateFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileOutputStream * (* append_to_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + GFileOutputStream * (* create) (GFile *file, + GFileCreateFlags flags, + GCancellable *cancellable, + GError **error); + void (* create_async) (GFile *file, + GFileCreateFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileOutputStream * (* create_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + GFileOutputStream * (* replace) (GFile *file, + const char *etag, + gboolean make_backup, + GFileCreateFlags flags, + GCancellable *cancellable, + GError **error); + void (* replace_async) (GFile *file, + const char *etag, + gboolean make_backup, + GFileCreateFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileOutputStream * (* replace_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + gboolean (* delete_file) (GFile *file, + GCancellable *cancellable, + GError **error); + void (* delete_file_async) (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* delete_file_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + gboolean (* trash) (GFile *file, + GCancellable *cancellable, + GError **error); + void (* trash_async) (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* trash_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + gboolean (* make_directory) (GFile *file, + GCancellable *cancellable, + GError **error); + void (* make_directory_async) (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* make_directory_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + gboolean (* make_symbolic_link) (GFile *file, + const char *symlink_value, + GCancellable *cancellable, + GError **error); + void (* make_symbolic_link_async) (GFile *file, + const char *symlink_value, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* make_symbolic_link_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + gboolean (* copy) (GFile *source, + GFile *destination, + GFileCopyFlags flags, + GCancellable *cancellable, + GFileProgressCallback progress_callback, + gpointer progress_callback_data, + GError **error); + void (* copy_async) (GFile *source, + GFile *destination, + GFileCopyFlags flags, + int io_priority, + GCancellable *cancellable, + GFileProgressCallback progress_callback, + gpointer progress_callback_data, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* copy_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + gboolean (* move) (GFile *source, + GFile *destination, + GFileCopyFlags flags, + GCancellable *cancellable, + GFileProgressCallback progress_callback, + gpointer progress_callback_data, + GError **error); + void (* move_async) (GFile *source, + GFile *destination, + GFileCopyFlags flags, + int io_priority, + GCancellable *cancellable, + GFileProgressCallback progress_callback, + gpointer progress_callback_data, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* move_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + void (* mount_mountable) (GFile *file, + GMountMountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFile * (* mount_mountable_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + void (* unmount_mountable) (GFile *file, + GMountUnmountFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* unmount_mountable_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + void (* eject_mountable) (GFile *file, + GMountUnmountFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* eject_mountable_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + void (* mount_enclosing_volume) (GFile *location, + GMountMountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* mount_enclosing_volume_finish) (GFile *location, + GAsyncResult *result, + GError **error); + + GFileMonitor * (* monitor_dir) (GFile *file, + GFileMonitorFlags flags, + GCancellable *cancellable, + GError **error); + GFileMonitor * (* monitor_file) (GFile *file, + GFileMonitorFlags flags, + GCancellable *cancellable, + GError **error); + + GFileIOStream * (* open_readwrite) (GFile *file, + GCancellable *cancellable, + GError **error); + void (* open_readwrite_async) (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileIOStream * (* open_readwrite_finish) (GFile *file, + GAsyncResult *res, + GError **error); + GFileIOStream * (* create_readwrite) (GFile *file, + GFileCreateFlags flags, + GCancellable *cancellable, + GError **error); + void (* create_readwrite_async) (GFile *file, + GFileCreateFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileIOStream * (* create_readwrite_finish) (GFile *file, + GAsyncResult *res, + GError **error); + GFileIOStream * (* replace_readwrite) (GFile *file, + const char *etag, + gboolean make_backup, + GFileCreateFlags flags, + GCancellable *cancellable, + GError **error); + void (* replace_readwrite_async) (GFile *file, + const char *etag, + gboolean make_backup, + GFileCreateFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileIOStream * (* replace_readwrite_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + void (* start_mountable) (GFile *file, + GDriveStartFlags flags, + GMountOperation *start_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* start_mountable_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + void (* stop_mountable) (GFile *file, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* stop_mountable_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + gboolean supports_thread_contexts; + + void (* unmount_mountable_with_operation) (GFile *file, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* unmount_mountable_with_operation_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + void (* eject_mountable_with_operation) (GFile *file, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* eject_mountable_with_operation_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + void (* poll_mountable) (GFile *file, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* poll_mountable_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + gboolean (* measure_disk_usage) (GFile *file, + GFileMeasureFlags flags, + GCancellable *cancellable, + GFileMeasureProgressCallback progress_callback, + gpointer progress_data, + guint64 *disk_usage, + guint64 *num_dirs, + guint64 *num_files, + GError **error); + void (* measure_disk_usage_async) (GFile *file, + GFileMeasureFlags flags, + gint io_priority, + GCancellable *cancellable, + GFileMeasureProgressCallback progress_callback, + gpointer progress_data, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* measure_disk_usage_finish) (GFile *file, + GAsyncResult *result, + guint64 *disk_usage, + guint64 *num_dirs, + guint64 *num_files, + GError **error); +}; + +GIO_AVAILABLE_IN_ALL +GType g_file_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GFile * g_file_new_for_path (const char *path); +GIO_AVAILABLE_IN_ALL +GFile * g_file_new_for_uri (const char *uri); +GIO_AVAILABLE_IN_ALL +GFile * g_file_new_for_commandline_arg (const char *arg); +GIO_AVAILABLE_IN_2_36 +GFile * g_file_new_for_commandline_arg_and_cwd (const gchar *arg, + const gchar *cwd); +GIO_AVAILABLE_IN_2_32 +GFile * g_file_new_tmp (const char *tmpl, + GFileIOStream **iostream, + GError **error); +GIO_AVAILABLE_IN_2_74 +void g_file_new_tmp_async (const char *tmpl, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_74 +GFile * g_file_new_tmp_finish (GAsyncResult *result, + GFileIOStream **iostream, + GError **error); +GIO_AVAILABLE_IN_2_74 +void g_file_new_tmp_dir_async (const char *tmpl, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_74 +GFile * g_file_new_tmp_dir_finish (GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +GFile * g_file_parse_name (const char *parse_name); +GIO_AVAILABLE_IN_2_56 +GFile * g_file_new_build_filename (const gchar *first_element, + ...) G_GNUC_NULL_TERMINATED; +GIO_AVAILABLE_IN_2_78 +GFile * g_file_new_build_filenamev (const gchar * const *args); +GIO_AVAILABLE_IN_ALL +GFile * g_file_dup (GFile *file); +GIO_AVAILABLE_IN_ALL +guint g_file_hash (gconstpointer file); +GIO_AVAILABLE_IN_ALL +gboolean g_file_equal (GFile *file1, + GFile *file2); +GIO_AVAILABLE_IN_ALL +char * g_file_get_basename (GFile *file); +GIO_AVAILABLE_IN_ALL +char * g_file_get_path (GFile *file); +GIO_AVAILABLE_IN_2_56 +const char * g_file_peek_path (GFile *file); +GIO_AVAILABLE_IN_ALL +char * g_file_get_uri (GFile *file); +GIO_AVAILABLE_IN_ALL +char * g_file_get_parse_name (GFile *file); +GIO_AVAILABLE_IN_ALL +GFile * g_file_get_parent (GFile *file); +GIO_AVAILABLE_IN_ALL +gboolean g_file_has_parent (GFile *file, + GFile *parent); +GIO_AVAILABLE_IN_ALL +GFile * g_file_get_child (GFile *file, + const char *name); +GIO_AVAILABLE_IN_ALL +GFile * g_file_get_child_for_display_name (GFile *file, + const char *display_name, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_file_has_prefix (GFile *file, + GFile *prefix); +GIO_AVAILABLE_IN_ALL +char * g_file_get_relative_path (GFile *parent, + GFile *descendant); +GIO_AVAILABLE_IN_ALL +GFile * g_file_resolve_relative_path (GFile *file, + const char *relative_path); +GIO_AVAILABLE_IN_ALL +gboolean g_file_is_native (GFile *file); +GIO_AVAILABLE_IN_ALL +gboolean g_file_has_uri_scheme (GFile *file, + const char *uri_scheme); +GIO_AVAILABLE_IN_ALL +char * g_file_get_uri_scheme (GFile *file); +GIO_AVAILABLE_IN_ALL +GFileInputStream * g_file_read (GFile *file, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_read_async (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GFileInputStream * g_file_read_finish (GFile *file, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GFileOutputStream * g_file_append_to (GFile *file, + GFileCreateFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +GFileOutputStream * g_file_create (GFile *file, + GFileCreateFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +GFileOutputStream * g_file_replace (GFile *file, + const char *etag, + gboolean make_backup, + GFileCreateFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_append_to_async (GFile *file, + GFileCreateFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GFileOutputStream * g_file_append_to_finish (GFile *file, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_create_async (GFile *file, + GFileCreateFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GFileOutputStream * g_file_create_finish (GFile *file, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_replace_async (GFile *file, + const char *etag, + gboolean make_backup, + GFileCreateFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GFileOutputStream * g_file_replace_finish (GFile *file, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GFileIOStream * g_file_open_readwrite (GFile *file, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_open_readwrite_async (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GFileIOStream * g_file_open_readwrite_finish (GFile *file, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GFileIOStream * g_file_create_readwrite (GFile *file, + GFileCreateFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_create_readwrite_async (GFile *file, + GFileCreateFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GFileIOStream * g_file_create_readwrite_finish (GFile *file, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GFileIOStream * g_file_replace_readwrite (GFile *file, + const char *etag, + gboolean make_backup, + GFileCreateFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_replace_readwrite_async (GFile *file, + const char *etag, + gboolean make_backup, + GFileCreateFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GFileIOStream * g_file_replace_readwrite_finish (GFile *file, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_file_query_exists (GFile *file, + GCancellable *cancellable); +GIO_AVAILABLE_IN_ALL +GFileType g_file_query_file_type (GFile *file, + GFileQueryInfoFlags flags, + GCancellable *cancellable); +GIO_AVAILABLE_IN_ALL +GFileInfo * g_file_query_info (GFile *file, + const char *attributes, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_query_info_async (GFile *file, + const char *attributes, + GFileQueryInfoFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GFileInfo * g_file_query_info_finish (GFile *file, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GFileInfo * g_file_query_filesystem_info (GFile *file, + const char *attributes, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_query_filesystem_info_async (GFile *file, + const char *attributes, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GFileInfo * g_file_query_filesystem_info_finish (GFile *file, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GMount * g_file_find_enclosing_mount (GFile *file, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_find_enclosing_mount_async (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GMount * g_file_find_enclosing_mount_finish (GFile *file, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GFileEnumerator * g_file_enumerate_children (GFile *file, + const char *attributes, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_enumerate_children_async (GFile *file, + const char *attributes, + GFileQueryInfoFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GFileEnumerator * g_file_enumerate_children_finish (GFile *file, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +GFile * g_file_set_display_name (GFile *file, + const char *display_name, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_set_display_name_async (GFile *file, + const char *display_name, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GFile * g_file_set_display_name_finish (GFile *file, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_file_delete (GFile *file, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_2_34 +void g_file_delete_async (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_2_34 +gboolean g_file_delete_finish (GFile *file, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_file_trash (GFile *file, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_2_38 +void g_file_trash_async (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_2_38 +gboolean g_file_trash_finish (GFile *file, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_file_copy (GFile *source, + GFile *destination, + GFileCopyFlags flags, + GCancellable *cancellable, + GFileProgressCallback progress_callback, + gpointer progress_callback_data, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_copy_async (GFile *source, + GFile *destination, + GFileCopyFlags flags, + int io_priority, + GCancellable *cancellable, + GFileProgressCallback progress_callback, + gpointer progress_callback_data, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_file_copy_finish (GFile *file, + GAsyncResult *res, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_file_move (GFile *source, + GFile *destination, + GFileCopyFlags flags, + GCancellable *cancellable, + GFileProgressCallback progress_callback, + gpointer progress_callback_data, + GError **error); +GIO_AVAILABLE_IN_2_72 +void g_file_move_async (GFile *source, + GFile *destination, + GFileCopyFlags flags, + int io_priority, + GCancellable *cancellable, + GFileProgressCallback progress_callback, + gpointer progress_callback_data, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_72 +gboolean g_file_move_finish (GFile *file, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_file_make_directory (GFile *file, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_2_38 +void g_file_make_directory_async (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_38 +gboolean g_file_make_directory_finish (GFile *file, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_file_make_directory_with_parents (GFile *file, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_file_make_symbolic_link (GFile *file, + const char *symlink_value, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_2_74 +void g_file_make_symbolic_link_async (GFile *file, + const char *symlink_value, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_74 +gboolean g_file_make_symbolic_link_finish (GFile *file, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +GFileAttributeInfoList *g_file_query_settable_attributes (GFile *file, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +GFileAttributeInfoList *g_file_query_writable_namespaces (GFile *file, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_file_set_attribute (GFile *file, + const char *attribute, + GFileAttributeType type, + gpointer value_p, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_file_set_attributes_from_info (GFile *file, + GFileInfo *info, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_set_attributes_async (GFile *file, + GFileInfo *info, + GFileQueryInfoFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_file_set_attributes_finish (GFile *file, + GAsyncResult *result, + GFileInfo **info, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_file_set_attribute_string (GFile *file, + const char *attribute, + const char *value, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_file_set_attribute_byte_string (GFile *file, + const char *attribute, + const char *value, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_file_set_attribute_uint32 (GFile *file, + const char *attribute, + guint32 value, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_file_set_attribute_int32 (GFile *file, + const char *attribute, + gint32 value, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_file_set_attribute_uint64 (GFile *file, + const char *attribute, + guint64 value, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_file_set_attribute_int64 (GFile *file, + const char *attribute, + gint64 value, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_mount_enclosing_volume (GFile *location, + GMountMountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_file_mount_enclosing_volume_finish (GFile *location, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_mount_mountable (GFile *file, + GMountMountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GFile * g_file_mount_mountable_finish (GFile *file, + GAsyncResult *result, + GError **error); +GIO_DEPRECATED_FOR(g_file_unmount_mountable_with_operation) +void g_file_unmount_mountable (GFile *file, + GMountUnmountFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_DEPRECATED_FOR(g_file_unmount_mountable_with_operation_finish) +gboolean g_file_unmount_mountable_finish (GFile *file, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_unmount_mountable_with_operation (GFile *file, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_file_unmount_mountable_with_operation_finish (GFile *file, + GAsyncResult *result, + GError **error); +GIO_DEPRECATED_FOR(g_file_eject_mountable_with_operation) +void g_file_eject_mountable (GFile *file, + GMountUnmountFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_DEPRECATED_FOR(g_file_eject_mountable_with_operation_finish) +gboolean g_file_eject_mountable_finish (GFile *file, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_eject_mountable_with_operation (GFile *file, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_file_eject_mountable_with_operation_finish (GFile *file, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_2_68 +char * g_file_build_attribute_list_for_copy (GFile *file, + GFileCopyFlags flags, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_file_copy_attributes (GFile *source, + GFile *destination, + GFileCopyFlags flags, + GCancellable *cancellable, + GError **error); + + +GIO_AVAILABLE_IN_ALL +GFileMonitor* g_file_monitor_directory (GFile *file, + GFileMonitorFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +GFileMonitor* g_file_monitor_file (GFile *file, + GFileMonitorFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +GFileMonitor* g_file_monitor (GFile *file, + GFileMonitorFlags flags, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_2_38 +gboolean g_file_measure_disk_usage (GFile *file, + GFileMeasureFlags flags, + GCancellable *cancellable, + GFileMeasureProgressCallback progress_callback, + gpointer progress_data, + guint64 *disk_usage, + guint64 *num_dirs, + guint64 *num_files, + GError **error); + +GIO_AVAILABLE_IN_2_38 +void g_file_measure_disk_usage_async (GFile *file, + GFileMeasureFlags flags, + gint io_priority, + GCancellable *cancellable, + GFileMeasureProgressCallback progress_callback, + gpointer progress_data, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_2_38 +gboolean g_file_measure_disk_usage_finish (GFile *file, + GAsyncResult *result, + guint64 *disk_usage, + guint64 *num_dirs, + guint64 *num_files, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_file_start_mountable (GFile *file, + GDriveStartFlags flags, + GMountOperation *start_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_file_start_mountable_finish (GFile *file, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_stop_mountable (GFile *file, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_file_stop_mountable_finish (GFile *file, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_file_poll_mountable (GFile *file, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_file_poll_mountable_finish (GFile *file, + GAsyncResult *result, + GError **error); + +/* Utilities */ + +GIO_AVAILABLE_IN_ALL +GAppInfo *g_file_query_default_handler (GFile *file, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_2_60 +void g_file_query_default_handler_async (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_60 +GAppInfo *g_file_query_default_handler_finish (GFile *file, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_file_load_contents (GFile *file, + GCancellable *cancellable, + char **contents, + gsize *length, + char **etag_out, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_load_contents_async (GFile *file, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_file_load_contents_finish (GFile *file, + GAsyncResult *res, + char **contents, + gsize *length, + char **etag_out, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_load_partial_contents_async (GFile *file, + GCancellable *cancellable, + GFileReadMoreCallback read_more_callback, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_file_load_partial_contents_finish (GFile *file, + GAsyncResult *res, + char **contents, + gsize *length, + char **etag_out, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_file_replace_contents (GFile *file, + const char *contents, + gsize length, + const char *etag, + gboolean make_backup, + GFileCreateFlags flags, + char **new_etag, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_replace_contents_async (GFile *file, + const char *contents, + gsize length, + const char *etag, + gboolean make_backup, + GFileCreateFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_40 +void g_file_replace_contents_bytes_async (GFile *file, + GBytes *contents, + const char *etag, + gboolean make_backup, + GFileCreateFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_file_replace_contents_finish (GFile *file, + GAsyncResult *res, + char **new_etag, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_file_supports_thread_contexts (GFile *file); + +GIO_AVAILABLE_IN_2_56 +GBytes *g_file_load_bytes (GFile *file, + GCancellable *cancellable, + gchar **etag_out, + GError **error); +GIO_AVAILABLE_IN_2_56 +void g_file_load_bytes_async (GFile *file, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_56 +GBytes *g_file_load_bytes_finish (GFile *file, + GAsyncResult *result, + gchar **etag_out, + GError **error); + +G_END_DECLS + +#endif /* __G_FILE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileattribute.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileattribute.h new file mode 100644 index 0000000..0ce6098 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileattribute.h @@ -0,0 +1,86 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_FILE_ATTRIBUTE_H__ +#define __G_FILE_ATTRIBUTE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/** + * GFileAttributeInfo: + * @name: the name of the attribute. + * @type: the #GFileAttributeType type of the attribute. + * @flags: a set of #GFileAttributeInfoFlags. + * + * Information about a specific attribute. + **/ +struct _GFileAttributeInfo +{ + char *name; + GFileAttributeType type; + GFileAttributeInfoFlags flags; +}; + +/** + * GFileAttributeInfoList: + * @infos: an array of #GFileAttributeInfos. + * @n_infos: the number of values in the array. + * + * Acts as a lightweight registry for possible valid file attributes. + * The registry stores Key-Value pair formats as #GFileAttributeInfos. + **/ +struct _GFileAttributeInfoList +{ + GFileAttributeInfo *infos; + int n_infos; +}; + +#define G_TYPE_FILE_ATTRIBUTE_INFO_LIST (g_file_attribute_info_list_get_type ()) +GIO_AVAILABLE_IN_ALL +GType g_file_attribute_info_list_get_type (void); + +GIO_AVAILABLE_IN_ALL +GFileAttributeInfoList * g_file_attribute_info_list_new (void); +GIO_AVAILABLE_IN_ALL +GFileAttributeInfoList * g_file_attribute_info_list_ref (GFileAttributeInfoList *list); +GIO_AVAILABLE_IN_ALL +void g_file_attribute_info_list_unref (GFileAttributeInfoList *list); +GIO_AVAILABLE_IN_ALL +GFileAttributeInfoList * g_file_attribute_info_list_dup (GFileAttributeInfoList *list); +GIO_AVAILABLE_IN_ALL +const GFileAttributeInfo *g_file_attribute_info_list_lookup (GFileAttributeInfoList *list, + const char *name); +GIO_AVAILABLE_IN_ALL +void g_file_attribute_info_list_add (GFileAttributeInfoList *list, + const char *name, + GFileAttributeType type, + GFileAttributeInfoFlags flags); + +G_END_DECLS + +#endif /* __G_FILE_INFO_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileenumerator.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileenumerator.h new file mode 100644 index 0000000..eddb580 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileenumerator.h @@ -0,0 +1,154 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_FILE_ENUMERATOR_H__ +#define __G_FILE_ENUMERATOR_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_FILE_ENUMERATOR (g_file_enumerator_get_type ()) +#define G_FILE_ENUMERATOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_ENUMERATOR, GFileEnumerator)) +#define G_FILE_ENUMERATOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_ENUMERATOR, GFileEnumeratorClass)) +#define G_IS_FILE_ENUMERATOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_ENUMERATOR)) +#define G_IS_FILE_ENUMERATOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_ENUMERATOR)) +#define G_FILE_ENUMERATOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_ENUMERATOR, GFileEnumeratorClass)) + +/** + * GFileEnumerator: + * + * A per matched file iterator. + **/ +typedef struct _GFileEnumeratorClass GFileEnumeratorClass; +typedef struct _GFileEnumeratorPrivate GFileEnumeratorPrivate; + +struct _GFileEnumerator +{ + GObject parent_instance; + + /*< private >*/ + GFileEnumeratorPrivate *priv; +}; + +struct _GFileEnumeratorClass +{ + GObjectClass parent_class; + + /* Virtual Table */ + + GFileInfo * (* next_file) (GFileEnumerator *enumerator, + GCancellable *cancellable, + GError **error); + gboolean (* close_fn) (GFileEnumerator *enumerator, + GCancellable *cancellable, + GError **error); + + void (* next_files_async) (GFileEnumerator *enumerator, + int num_files, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GList * (* next_files_finish) (GFileEnumerator *enumerator, + GAsyncResult *result, + GError **error); + void (* close_async) (GFileEnumerator *enumerator, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* close_finish) (GFileEnumerator *enumerator, + GAsyncResult *result, + GError **error); + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); + void (*_g_reserved6) (void); + void (*_g_reserved7) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_file_enumerator_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GFileInfo *g_file_enumerator_next_file (GFileEnumerator *enumerator, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_file_enumerator_close (GFileEnumerator *enumerator, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_enumerator_next_files_async (GFileEnumerator *enumerator, + int num_files, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GList * g_file_enumerator_next_files_finish (GFileEnumerator *enumerator, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_enumerator_close_async (GFileEnumerator *enumerator, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_file_enumerator_close_finish (GFileEnumerator *enumerator, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_file_enumerator_is_closed (GFileEnumerator *enumerator); +GIO_AVAILABLE_IN_ALL +gboolean g_file_enumerator_has_pending (GFileEnumerator *enumerator); +GIO_AVAILABLE_IN_ALL +void g_file_enumerator_set_pending (GFileEnumerator *enumerator, + gboolean pending); +GIO_AVAILABLE_IN_ALL +GFile * g_file_enumerator_get_container (GFileEnumerator *enumerator); +GIO_AVAILABLE_IN_2_36 +GFile * g_file_enumerator_get_child (GFileEnumerator *enumerator, + GFileInfo *info); + +GIO_AVAILABLE_IN_2_44 +gboolean g_file_enumerator_iterate (GFileEnumerator *direnum, + GFileInfo **out_info, + GFile **out_child, + GCancellable *cancellable, + GError **error); + + +G_END_DECLS + +#endif /* __G_FILE_ENUMERATOR_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileicon.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileicon.h new file mode 100644 index 0000000..230acdf --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileicon.h @@ -0,0 +1,59 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_FILE_ICON_H__ +#define __G_FILE_ICON_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_FILE_ICON (g_file_icon_get_type ()) +#define G_FILE_ICON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_ICON, GFileIcon)) +#define G_FILE_ICON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_ICON, GFileIconClass)) +#define G_IS_FILE_ICON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_ICON)) +#define G_IS_FILE_ICON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_ICON)) +#define G_FILE_ICON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_ICON, GFileIconClass)) + +/** + * GFileIcon: + * + * Gets an icon for a #GFile. Implements #GLoadableIcon. + **/ +typedef struct _GFileIconClass GFileIconClass; + +GIO_AVAILABLE_IN_ALL +GType g_file_icon_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GIcon * g_file_icon_new (GFile *file); + +GIO_AVAILABLE_IN_ALL +GFile * g_file_icon_get_file (GFileIcon *icon); + +G_END_DECLS + +#endif /* __G_FILE_ICON_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileinfo.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileinfo.h new file mode 100644 index 0000000..95207b8 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileinfo.h @@ -0,0 +1,1546 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_FILE_INFO_H__ +#define __G_FILE_INFO_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_FILE_INFO (g_file_info_get_type ()) +#define G_FILE_INFO(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_INFO, GFileInfo)) +#define G_FILE_INFO_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_INFO, GFileInfoClass)) +#define G_IS_FILE_INFO(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_INFO)) +#define G_IS_FILE_INFO_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_INFO)) +#define G_FILE_INFO_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_INFO, GFileInfoClass)) + +/** + * GFileInfo: + * + * Stores information about a file system object referenced by a #GFile. + **/ +typedef struct _GFileInfoClass GFileInfoClass; + + +/* Common Attributes: */ +/** + * G_FILE_ATTRIBUTE_STANDARD_TYPE: + * + * A key in the "standard" namespace for storing file types. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. + * + * The value for this key should contain a #GFileType. + **/ +#define G_FILE_ATTRIBUTE_STANDARD_TYPE "standard::type" /* uint32 (GFileType) */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN: + * + * A key in the "standard" namespace for checking if a file is hidden. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + **/ +#define G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN "standard::is-hidden" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP: + * + * A key in the "standard" namespace for checking if a file is a backup file. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + **/ +#define G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP "standard::is-backup" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK: + * + * A key in the "standard" namespace for checking if the file is a symlink. + * Typically the actual type is something else, if we followed the symlink + * to get the type. + * + * On Windows NTFS mountpoints are considered to be symlinks as well. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + **/ +#define G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK "standard::is-symlink" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL: + * + * A key in the "standard" namespace for checking if a file is virtual. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + **/ +#define G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL "standard::is-virtual" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE: + * + * A key in the "standard" namespace for checking if a file is + * volatile. This is meant for opaque, non-POSIX-like backends to + * indicate that the URI is not persistent. Applications should look + * at %G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET for the persistent URI. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * Since: 2.46 + **/ +#define G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE "standard::is-volatile" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_NAME: + * + * A key in the "standard" namespace for getting the name of the file. + * + * The name is the on-disk filename which may not be in any known encoding, + * and can thus not be generally displayed as is. It is guaranteed to be set on + * every file. + * + * Use %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME if you need to display the + * name in a user interface. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. + **/ +#define G_FILE_ATTRIBUTE_STANDARD_NAME "standard::name" /* byte string */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME: + * + * A key in the "standard" namespace for getting the display name of the file. + * + * A display name is guaranteed to be in UTF-8 and can thus be displayed in + * the UI. It is guaranteed to be set on every file. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + **/ +#define G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME "standard::display-name" /* string */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME: + * + * A key in the "standard" namespace for edit name of the file. + * + * An edit name is similar to the display name, but it is meant to be + * used when you want to rename the file in the UI. The display name + * might contain information you don't want in the new filename (such as + * "(invalid unicode)" if the filename was in an invalid encoding). + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + **/ +#define G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME "standard::edit-name" /* string */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_COPY_NAME: + * + * A key in the "standard" namespace for getting the copy name of the file. + * + * The copy name is an optional version of the name. If available it's always + * in UTF8, and corresponds directly to the original filename (only transcoded to + * UTF8). This is useful if you want to copy the file to another filesystem that + * might have a different encoding. If the filename is not a valid string in the + * encoding selected for the filesystem it is in then the copy name will not be set. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + **/ +#define G_FILE_ATTRIBUTE_STANDARD_COPY_NAME "standard::copy-name" /* string */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION: + * + * A key in the "standard" namespace for getting the description of the file. + * + * The description is a utf8 string that describes the file, generally containing + * the filename, but can also contain further information. Example descriptions + * could be "filename (on hostname)" for a remote file or "filename (in trash)" + * for a file in the trash. This is useful for instance as the window title + * when displaying a directory or for a bookmarks menu. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + **/ +#define G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION "standard::description" /* string */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_ICON: + * + * A key in the "standard" namespace for getting the icon for the file. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT. + * + * The value for this key should contain a #GIcon. + **/ +#define G_FILE_ATTRIBUTE_STANDARD_ICON "standard::icon" /* object (GIcon) */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON: + * + * A key in the "standard" namespace for getting the symbolic icon for the file. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT. + * + * The value for this key should contain a #GIcon. + * + * Since: 2.34 + **/ +#define G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON "standard::symbolic-icon" /* object (GIcon) */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE: + * + * A key in the "standard" namespace for getting the content type of the file. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + * + * The value for this key should contain a valid content type. + **/ +#define G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE "standard::content-type" /* string */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE: + * + * A key in the "standard" namespace for getting the fast content type. + * + * The fast content type isn't as reliable as the regular one, as it + * only uses the filename to guess it, but it is faster to calculate than the + * regular content type. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + * + **/ +#define G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE "standard::fast-content-type" /* string */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_SIZE: + * + * A key in the "standard" namespace for getting the file's size (in bytes). + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. + **/ +#define G_FILE_ATTRIBUTE_STANDARD_SIZE "standard::size" /* uint64 */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE: + * + * A key in the "standard" namespace for getting the amount of disk space + * that is consumed by the file (in bytes). + * + * This will generally be larger than the file size (due to block size + * overhead) but can occasionally be smaller (for example, for sparse files). + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. + * + * Since: 2.20 + **/ +#define G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE "standard::allocated-size" /* uint64 */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET: + * + * A key in the "standard" namespace for getting the symlink target, if the file + * is a symlink. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. + **/ +#define G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET "standard::symlink-target" /* byte string */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_TARGET_URI: + * + * A key in the "standard" namespace for getting the target URI for the file, in + * the case of %G_FILE_TYPE_SHORTCUT or %G_FILE_TYPE_MOUNTABLE files. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + **/ +#define G_FILE_ATTRIBUTE_STANDARD_TARGET_URI "standard::target-uri" /* string */ + +/** + * G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER: + * + * A key in the "standard" namespace for setting the sort order of a file. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_INT32. + * + * An example use would be in file managers, which would use this key + * to set the order files are displayed. Files with smaller sort order + * should be sorted first, and files without sort order as if sort order + * was zero. + **/ +#define G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER "standard::sort-order" /* int32 */ + +/* Entity tags, used to avoid missing updates on save */ + +/** + * G_FILE_ATTRIBUTE_ETAG_VALUE: + * + * A key in the "etag" namespace for getting the value of the file's + * entity tag. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + **/ +#define G_FILE_ATTRIBUTE_ETAG_VALUE "etag::value" /* string */ + +/* File identifier, for e.g. avoiding loops when doing recursive + * directory scanning + */ + +/** + * G_FILE_ATTRIBUTE_ID_FILE: + * + * A key in the "id" namespace for getting a file identifier. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + * + * An example use would be during listing files, to avoid recursive + * directory scanning. + **/ +#define G_FILE_ATTRIBUTE_ID_FILE "id::file" /* string */ + +/** + * G_FILE_ATTRIBUTE_ID_FILESYSTEM: + * + * A key in the "id" namespace for getting the file system identifier. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + * + * An example use would be during drag and drop to see if the source + * and target are on the same filesystem (default to move) or not (default + * to copy). + **/ +#define G_FILE_ATTRIBUTE_ID_FILESYSTEM "id::filesystem" /* string */ + +/* Calculated Access Rights for current user */ + +/** + * G_FILE_ATTRIBUTE_ACCESS_CAN_READ: + * + * A key in the "access" namespace for getting read privileges. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * This attribute will be %TRUE if the user is able to read the file. + **/ +#define G_FILE_ATTRIBUTE_ACCESS_CAN_READ "access::can-read" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE: + * + * A key in the "access" namespace for getting write privileges. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * This attribute will be %TRUE if the user is able to write to the file. + **/ +#define G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE "access::can-write" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE: + * + * A key in the "access" namespace for getting execution privileges. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * This attribute will be %TRUE if the user is able to execute the file. + **/ +#define G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE "access::can-execute" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE: + * + * A key in the "access" namespace for checking deletion privileges. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * This attribute will be %TRUE if the user is able to delete the file. + **/ +#define G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE "access::can-delete" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH: + * + * A key in the "access" namespace for checking trashing privileges. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * This attribute will be %TRUE if the user is able to move the file to + * the trash. + **/ +#define G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH "access::can-trash" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME: + * + * A key in the "access" namespace for checking renaming privileges. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * This attribute will be %TRUE if the user is able to rename the file. + **/ +#define G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME "access::can-rename" /* boolean */ + +/* TODO: Should we have special version for directories? can_enumerate, etc */ + +/* Mountable attributes */ + +/** + * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT: + * + * A key in the "mountable" namespace for checking if a file (of + * type G_FILE_TYPE_MOUNTABLE) is mountable. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + **/ +#define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT "mountable::can-mount" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT: + * + * A key in the "mountable" namespace for checking if a file (of + * type G_FILE_TYPE_MOUNTABLE) is unmountable. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + **/ +#define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT "mountable::can-unmount" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT: + * + * A key in the "mountable" namespace for checking if a file (of + * type G_FILE_TYPE_MOUNTABLE) can be ejected. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + **/ +#define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT "mountable::can-eject" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE: + * + * A key in the "mountable" namespace for getting the unix device. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. + **/ +#define G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE "mountable::unix-device" /* uint32 */ + +/** + * G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE: + * + * A key in the "mountable" namespace for getting the unix device file. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + * + * Since: 2.22 + **/ +#define G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE "mountable::unix-device-file" /* string */ + +/** + * G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI: + * + * A key in the "mountable" namespace for getting the HAL UDI for the mountable + * file. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + **/ +#define G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI "mountable::hal-udi" /* string */ + +/** + * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START: + * + * A key in the "mountable" namespace for checking if a file (of + * type G_FILE_TYPE_MOUNTABLE) can be started. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * Since: 2.22 + */ +#define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START "mountable::can-start" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED: + * + * A key in the "mountable" namespace for checking if a file (of + * type G_FILE_TYPE_MOUNTABLE) can be started degraded. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * Since: 2.22 + */ +#define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED "mountable::can-start-degraded" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP: + * + * A key in the "mountable" namespace for checking if a file (of + * type G_FILE_TYPE_MOUNTABLE) can be stopped. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * Since: 2.22 + */ +#define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP "mountable::can-stop" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE: + * + * A key in the "mountable" namespace for getting the #GDriveStartStopType. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. + * + * Since: 2.22 + */ +#define G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE "mountable::start-stop-type" /* uint32 (GDriveStartStopType) */ + +/** + * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL: + * + * A key in the "mountable" namespace for checking if a file (of + * type G_FILE_TYPE_MOUNTABLE) can be polled. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * Since: 2.22 + */ +#define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL "mountable::can-poll" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC: + * + * A key in the "mountable" namespace for checking if a file (of + * type G_FILE_TYPE_MOUNTABLE) is automatically polled for media. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * Since: 2.22 + */ +#define G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC "mountable::is-media-check-automatic" /* boolean */ + +/* Time attributes */ + +/** + * G_FILE_ATTRIBUTE_TIME_MODIFIED: + * + * A key in the "time" namespace for getting the time the file was last + * modified. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64, and + * contains the time since the file was modified, in seconds since the UNIX + * epoch. + **/ +#define G_FILE_ATTRIBUTE_TIME_MODIFIED "time::modified" /* uint64 */ + +/** + * G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC: + * + * A key in the "time" namespace for getting the microseconds of the time + * the file was last modified. + * + * This should be used in conjunction with %G_FILE_ATTRIBUTE_TIME_MODIFIED. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. + **/ +#define G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC "time::modified-usec" /* uint32 */ + +/** + * G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC: + * + * A key in the "time" namespace for getting the nanoseconds of the time + * the file was last modified. This should be used in conjunction with + * #G_FILE_ATTRIBUTE_TIME_MODIFIED. Corresponding #GFileAttributeType is + * %G_FILE_ATTRIBUTE_TYPE_UINT32. + * + * Since: 2.74 + **/ +#define G_FILE_ATTRIBUTE_TIME_MODIFIED_NSEC "time::modified-nsec" /* uint32 */ + +/** + * G_FILE_ATTRIBUTE_TIME_ACCESS: + * + * A key in the "time" namespace for getting the time the file was last + * accessed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64, and + * contains the time since the file was last accessed, in seconds since the + * UNIX epoch. + **/ +#define G_FILE_ATTRIBUTE_TIME_ACCESS "time::access" /* uint64 */ + +/** + * G_FILE_ATTRIBUTE_TIME_ACCESS_USEC: + * + * A key in the "time" namespace for getting the microseconds of the time + * the file was last accessed. + * + * This should be used in conjunction with %G_FILE_ATTRIBUTE_TIME_ACCESS. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. + **/ +#define G_FILE_ATTRIBUTE_TIME_ACCESS_USEC "time::access-usec" /* uint32 */ + +/** + * G_FILE_ATTRIBUTE_TIME_ACCESS_NSEC: + * + * A key in the "time" namespace for getting the nanoseconds of the time + * the file was last accessed. This should be used in conjunction with + * #G_FILE_ATTRIBUTE_TIME_ACCESS. Corresponding #GFileAttributeType is + * %G_FILE_ATTRIBUTE_TYPE_UINT32. + * + * Since: 2.74 + **/ +#define G_FILE_ATTRIBUTE_TIME_ACCESS_NSEC "time::access-nsec" /* uint32 */ + +/** + * G_FILE_ATTRIBUTE_TIME_CHANGED: + * + * A key in the "time" namespace for getting the time the file was last + * changed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64, + * and contains the time since the file was last changed, in seconds since + * the UNIX epoch. + * + * This corresponds to the traditional UNIX ctime. + **/ +#define G_FILE_ATTRIBUTE_TIME_CHANGED "time::changed" /* uint64 */ + +/** + * G_FILE_ATTRIBUTE_TIME_CHANGED_USEC: + * + * A key in the "time" namespace for getting the microseconds of the time + * the file was last changed. + * + * This should be used in conjunction with %G_FILE_ATTRIBUTE_TIME_CHANGED. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. + **/ +#define G_FILE_ATTRIBUTE_TIME_CHANGED_USEC "time::changed-usec" /* uint32 */ + +/** + * G_FILE_ATTRIBUTE_TIME_CHANGED_NSEC: + * + * A key in the "time" namespace for getting the nanoseconds of the time + * the file was last changed. This should be used in conjunction with + * #G_FILE_ATTRIBUTE_TIME_CHANGED. Corresponding #GFileAttributeType is + * %G_FILE_ATTRIBUTE_TYPE_UINT32. + * + * Since: 2.74 + **/ +#define G_FILE_ATTRIBUTE_TIME_CHANGED_NSEC "time::changed-nsec" /* uint32 */ + +/** + * G_FILE_ATTRIBUTE_TIME_CREATED: + * + * A key in the "time" namespace for getting the time the file was created. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64, + * and contains the time since the file was created, in seconds since the UNIX + * epoch. + * + * This may correspond to Linux `stx_btime`, FreeBSD `st_birthtim`, NetBSD + * `st_birthtime` or NTFS `ctime`. + **/ +#define G_FILE_ATTRIBUTE_TIME_CREATED "time::created" /* uint64 */ + +/** + * G_FILE_ATTRIBUTE_TIME_CREATED_USEC: + * + * A key in the "time" namespace for getting the microseconds of the time + * the file was created. + * + * This should be used in conjunction with %G_FILE_ATTRIBUTE_TIME_CREATED. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. + **/ +#define G_FILE_ATTRIBUTE_TIME_CREATED_USEC "time::created-usec" /* uint32 */ + +/** + * G_FILE_ATTRIBUTE_TIME_CREATED_NSEC: + * + * A key in the "time" namespace for getting the nanoseconds of the time + * the file was created. This should be used in conjunction with + * #G_FILE_ATTRIBUTE_TIME_CREATED. Corresponding #GFileAttributeType is + * %G_FILE_ATTRIBUTE_TYPE_UINT32. + * + * Since: 2.74 + **/ +#define G_FILE_ATTRIBUTE_TIME_CREATED_NSEC "time::created-nsec" /* uint32 */ + +/* Unix specific attributes */ + +/** + * G_FILE_ATTRIBUTE_UNIX_DEVICE: + * + * A key in the "unix" namespace for getting the device id of the device the + * file is located on (see stat() documentation). + * + * This attribute is only available for UNIX file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. + **/ +#define G_FILE_ATTRIBUTE_UNIX_DEVICE "unix::device" /* uint32 */ + +/** + * G_FILE_ATTRIBUTE_UNIX_INODE: + * + * A key in the "unix" namespace for getting the inode of the file. + * + * This attribute is only available for UNIX file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. + **/ +#define G_FILE_ATTRIBUTE_UNIX_INODE "unix::inode" /* uint64 */ + +/** + * G_FILE_ATTRIBUTE_UNIX_MODE: + * + * A key in the "unix" namespace for getting the mode of the file + * (e.g. whether the file is a regular file, symlink, etc). + * + * See the documentation for `lstat()`: this attribute is equivalent to + * the `st_mode` member of `struct stat`, and includes both the file type + * and permissions. + * + * This attribute is only available for UNIX file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. + **/ +#define G_FILE_ATTRIBUTE_UNIX_MODE "unix::mode" /* uint32 */ + +/** + * G_FILE_ATTRIBUTE_UNIX_NLINK: + * + * A key in the "unix" namespace for getting the number of hard links + * for a file. + * + * See the documentation for `lstat()`. + * + * This attribute is only available for UNIX file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. + **/ +#define G_FILE_ATTRIBUTE_UNIX_NLINK "unix::nlink" /* uint32 */ + +/** + * G_FILE_ATTRIBUTE_UNIX_UID: + * + * A key in the "unix" namespace for getting the user ID for the file. + * + * This attribute is only available for UNIX file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. + **/ +#define G_FILE_ATTRIBUTE_UNIX_UID "unix::uid" /* uint32 */ + +/** + * G_FILE_ATTRIBUTE_UNIX_GID: + * + * A key in the "unix" namespace for getting the group ID for the file. + * + * This attribute is only available for UNIX file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. + **/ +#define G_FILE_ATTRIBUTE_UNIX_GID "unix::gid" /* uint32 */ + +/** + * G_FILE_ATTRIBUTE_UNIX_RDEV: + * + * A key in the "unix" namespace for getting the device ID for the file + * (if it is a special file). + * + * See the documentation for `lstat()`. + * + * This attribute is only available for UNIX file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. + **/ +#define G_FILE_ATTRIBUTE_UNIX_RDEV "unix::rdev" /* uint32 */ + +/** + * G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE: + * + * A key in the "unix" namespace for getting the block size for the file + * system. + * + * This attribute is only available for UNIX file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. + **/ +#define G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE "unix::block-size" /* uint32 */ + +/** + * G_FILE_ATTRIBUTE_UNIX_BLOCKS: + * + * A key in the "unix" namespace for getting the number of blocks allocated + * for the file. + * + * This attribute is only available for UNIX file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. + **/ +#define G_FILE_ATTRIBUTE_UNIX_BLOCKS "unix::blocks" /* uint64 */ + +/** + * G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT: + * + * A key in the "unix" namespace for checking if the file represents a + * UNIX mount point. + * + * This attribute is %TRUE if the file is a UNIX mount point. + * + * Since 2.58, `/` is considered to be a mount point. + * + * This attribute is only available for UNIX file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + **/ +#define G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT "unix::is-mountpoint" /* boolean */ + +/* DOS specific attributes */ + +/** + * G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE: + * + * A key in the "dos" namespace for checking if the file's archive flag + * is set. + * + * This attribute is %TRUE if the archive flag is set. + * + * This attribute is only available for DOS file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + **/ +#define G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE "dos::is-archive" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_DOS_IS_SYSTEM: + * + * A key in the "dos" namespace for checking if the file's backup flag + * is set. + * + * This attribute is %TRUE if the backup flag is set. + * + * This attribute is only available for DOS file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + **/ +#define G_FILE_ATTRIBUTE_DOS_IS_SYSTEM "dos::is-system" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_DOS_IS_MOUNTPOINT: + * + * A key in the "dos" namespace for checking if the file is a NTFS mount point + * (a volume mount or a junction point). + * + * This attribute is %TRUE if file is a reparse point of type + * [IO_REPARSE_TAG_MOUNT_POINT](https://msdn.microsoft.com/en-us/library/dd541667.aspx). + * + * This attribute is only available for DOS file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * Since: 2.60 + **/ +#define G_FILE_ATTRIBUTE_DOS_IS_MOUNTPOINT "dos::is-mountpoint" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_DOS_REPARSE_POINT_TAG: + * + * A key in the "dos" namespace for getting the file NTFS reparse tag. + * + * This value is 0 for files that are not reparse points. + * + * See the [Reparse Tags](https://msdn.microsoft.com/en-us/library/dd541667.aspx) + * page for possible reparse tag values. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. + * + * Since: 2.60 + **/ +#define G_FILE_ATTRIBUTE_DOS_REPARSE_POINT_TAG "dos::reparse-point-tag" /* uint32 */ + +/* Owner attributes */ + +/** + * G_FILE_ATTRIBUTE_OWNER_USER: + * + * A key in the "owner" namespace for getting the user name of the + * file's owner. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + **/ +#define G_FILE_ATTRIBUTE_OWNER_USER "owner::user" /* string */ + +/** + * G_FILE_ATTRIBUTE_OWNER_USER_REAL: + * + * A key in the "owner" namespace for getting the real name of the + * user that owns the file. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + **/ +#define G_FILE_ATTRIBUTE_OWNER_USER_REAL "owner::user-real" /* string */ + +/** + * G_FILE_ATTRIBUTE_OWNER_GROUP: + * + * A key in the "owner" namespace for getting the file owner's group. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + **/ +#define G_FILE_ATTRIBUTE_OWNER_GROUP "owner::group" /* string */ + +/* Thumbnails */ + +/** + * G_FILE_ATTRIBUTE_THUMBNAIL_PATH: + * + * A key in the "thumbnail" namespace for getting the path to the thumbnail + * image with the biggest size available. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. + **/ +#define G_FILE_ATTRIBUTE_THUMBNAIL_PATH "thumbnail::path" /* bytestring */ +/** + * G_FILE_ATTRIBUTE_THUMBNAILING_FAILED: + * + * A key in the "thumbnail" namespace for checking if thumbnailing failed. + * + * This attribute is %TRUE if thumbnailing failed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + **/ +#define G_FILE_ATTRIBUTE_THUMBNAILING_FAILED "thumbnail::failed" /* boolean */ +/** + * G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID: + * + * A key in the "thumbnail" namespace for checking whether the thumbnail is outdated. + * + * This attribute is %TRUE if the thumbnail is up-to-date with the file it represents, + * and %FALSE if the file has been modified since the thumbnail was generated. + * + * If %G_FILE_ATTRIBUTE_THUMBNAILING_FAILED is %TRUE and this attribute is %FALSE, + * it indicates that thumbnailing may be attempted again and may succeed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * Since: 2.40 + */ +#define G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID "thumbnail::is-valid" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_THUMBNAIL_PATH_NORMAL: + * + * A key in the "thumbnail" namespace for getting the path to the normal + * thumbnail image. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. + * + * Since: 2.76 + */ +#define G_FILE_ATTRIBUTE_THUMBNAIL_PATH_NORMAL "thumbnail::path-normal" /* bytestring */ +/** + * G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_NORMAL: + * + * A key in the "thumbnail" namespace for checking if thumbnailing failed + * for the normal image. + * + * This attribute is %TRUE if thumbnailing failed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * Since: 2.76 + */ +#define G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_NORMAL "thumbnail::failed-normal" /* boolean */ +/** + * G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_NORMAL: + * + * A key in the "thumbnail" namespace for checking whether the normal + * thumbnail is outdated. + * + * This attribute is %TRUE if the normal thumbnail is up-to-date with the file + * it represents, and %FALSE if the file has been modified since the thumbnail + * was generated. + * + * If %G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_NORMAL is %TRUE and this attribute + * is %FALSE, it indicates that thumbnailing may be attempted again and may + * succeed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * Since: 2.76 + */ +#define G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_NORMAL "thumbnail::is-valid-normal" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_THUMBNAIL_PATH_LARGE: + * + * A key in the "thumbnail" namespace for getting the path to the large + * thumbnail image. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. + * + * Since: 2.76 + */ +#define G_FILE_ATTRIBUTE_THUMBNAIL_PATH_LARGE "thumbnail::path-large" /* bytestring */ +/** + * G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_LARGE: + * + * A key in the "thumbnail" namespace for checking if thumbnailing failed + * for the large image. + * + * This attribute is %TRUE if thumbnailing failed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * Since: 2.76 + */ +#define G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_LARGE "thumbnail::failed-large" /* boolean */ +/** + * G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_LARGE: + * + * A key in the "thumbnail" namespace for checking whether the large + * thumbnail is outdated. + * + * This attribute is %TRUE if the large thumbnail is up-to-date with the file + * it represents, and %FALSE if the file has been modified since the thumbnail + * was generated. + * + * If %G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_LARGE is %TRUE and this attribute + * is %FALSE, it indicates that thumbnailing may be attempted again and may + * succeed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * Since: 2.76 + */ +#define G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_LARGE "thumbnail::is-valid-large" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_THUMBNAIL_PATH_XLARGE: + * + * A key in the "thumbnail" namespace for getting the path to the x-large + * thumbnail image. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. + * + * Since: 2.76 + */ +#define G_FILE_ATTRIBUTE_THUMBNAIL_PATH_XLARGE "thumbnail::path-xlarge" /* bytestring */ +/** + * G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_XLARGE: + * + * A key in the "thumbnail" namespace for checking if thumbnailing failed + * for the x-large image. + * + * This attribute is %TRUE if thumbnailing failed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * Since: 2.76 + */ +#define G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_XLARGE "thumbnail::failed-xlarge" /* boolean */ +/** + * G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_XLARGE: + * + * A key in the "thumbnail" namespace for checking whether the x-large + * thumbnail is outdated. + * + * This attribute is %TRUE if the x-large thumbnail is up-to-date with the file + * it represents, and %FALSE if the file has been modified since the thumbnail + * was generated. + * + * If %G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_XLARGE is %TRUE and this attribute + * is %FALSE, it indicates that thumbnailing may be attempted again and may + * succeed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * Since: 2.76 + */ +#define G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_XLARGE "thumbnail::is-valid-xlarge" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_THUMBNAIL_PATH_XXLARGE: + * + * A key in the "thumbnail" namespace for getting the path to the xx-large + * thumbnail image. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. + * + * Since: 2.76 + */ +#define G_FILE_ATTRIBUTE_THUMBNAIL_PATH_XXLARGE "thumbnail::path-xxlarge" /* bytestring */ +/** + * G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_XXLARGE: + * + * A key in the "thumbnail" namespace for checking if thumbnailing failed + * for the xx-large image. + * + * This attribute is %TRUE if thumbnailing failed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * Since: 2.76 + */ +#define G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_XXLARGE "thumbnail::failed-xxlarge" /* boolean */ +/** + * G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_XXLARGE: + * + * A key in the "thumbnail" namespace for checking whether the xx-large + * thumbnail is outdated. + * + * This attribute is %TRUE if the x-large thumbnail is up-to-date with the file + * it represents, and %FALSE if the file has been modified since the thumbnail + * was generated. + * + * If %G_FILE_ATTRIBUTE_THUMBNAILING_FAILED_XXLARGE is %TRUE and this attribute + * is %FALSE, it indicates that thumbnailing may be attempted again and may + * succeed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * Since: 2.76 + */ +#define G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_XXLARGE "thumbnail::is-valid-xxlarge" /* boolean */ + +/* Preview */ + +/** + * G_FILE_ATTRIBUTE_PREVIEW_ICON: + * + * A key in the "preview" namespace for getting a #GIcon that can be + * used to get preview of the file. + * + * For example, it may be a low resolution thumbnail without metadata. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT. + * + * The value for this key should contain a #GIcon. + * + * Since: 2.20 + **/ +#define G_FILE_ATTRIBUTE_PREVIEW_ICON "preview::icon" /* object (GIcon) */ + +/* File system info (for g_file_get_filesystem_info) */ + +/** + * G_FILE_ATTRIBUTE_FILESYSTEM_SIZE: + * + * A key in the "filesystem" namespace for getting the total size (in + * bytes) of the file system, used in g_file_query_filesystem_info(). + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. + **/ +#define G_FILE_ATTRIBUTE_FILESYSTEM_SIZE "filesystem::size" /* uint64 */ + +/** + * G_FILE_ATTRIBUTE_FILESYSTEM_FREE: + * + * A key in the "filesystem" namespace for getting the number of bytes + * of free space left on the file system. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. + **/ +#define G_FILE_ATTRIBUTE_FILESYSTEM_FREE "filesystem::free" /* uint64 */ + +/** + * G_FILE_ATTRIBUTE_FILESYSTEM_USED: + * + * A key in the "filesystem" namespace for getting the number of bytes + * used by data on the file system. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. + * + * Since: 2.32 + */ +#define G_FILE_ATTRIBUTE_FILESYSTEM_USED "filesystem::used" /* uint64 */ + +/** + * G_FILE_ATTRIBUTE_FILESYSTEM_TYPE: + * + * A key in the "filesystem" namespace for getting the file system's type. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + **/ +#define G_FILE_ATTRIBUTE_FILESYSTEM_TYPE "filesystem::type" /* string */ + +/** + * G_FILE_ATTRIBUTE_FILESYSTEM_READONLY: + * + * A key in the "filesystem" namespace for checking if the file system + * is read only. + * + * Is set to %TRUE if the file system is read only. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + **/ +#define G_FILE_ATTRIBUTE_FILESYSTEM_READONLY "filesystem::readonly" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW: + * + * A key in the "filesystem" namespace for hinting a file manager + * application whether it should preview (e.g. thumbnail) files on the + * file system. + * + * The value for this key contain a #GFilesystemPreviewType. + **/ +#define G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW "filesystem::use-preview" /* uint32 (GFilesystemPreviewType) */ + +/** + * G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE: + * + * A key in the "filesystem" namespace for checking if the file system + * is remote. + * + * Is set to %TRUE if the file system is remote. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + **/ +#define G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE "filesystem::remote" /* boolean */ + +/** + * G_FILE_ATTRIBUTE_GVFS_BACKEND: + * + * A key in the "gvfs" namespace that gets the name of the current + * GVFS backend in use. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + **/ +#define G_FILE_ATTRIBUTE_GVFS_BACKEND "gvfs::backend" /* string */ + +/** + * G_FILE_ATTRIBUTE_SELINUX_CONTEXT: + * + * A key in the "selinux" namespace for getting the file's SELinux + * context. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + * + * Note that this attribute is only available if GLib has been built + * with SELinux support. + **/ +#define G_FILE_ATTRIBUTE_SELINUX_CONTEXT "selinux::context" /* string */ + +/** + * G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT: + * + * A key in the "trash" namespace for getting the number of (toplevel) items + * that are present in the `trash:///` folder. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. + **/ +#define G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT "trash::item-count" /* uint32 */ + +/** + * G_FILE_ATTRIBUTE_TRASH_ORIG_PATH: + * + * A key in the "trash" namespace for getting the original path of a file + * inside the `trash:///` folder before it was trashed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. + * + * Since: 2.24 + **/ +#define G_FILE_ATTRIBUTE_TRASH_ORIG_PATH "trash::orig-path" /* byte string */ + +/** + * G_FILE_ATTRIBUTE_TRASH_DELETION_DATE: + * + * A key in the "trash" namespace for getting the deletion date and time + * of a file inside the `trash:///` folder. + * + * The format of the returned string is `YYYY-MM-DDThh:mm:ss`. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + * + * Since: 2.24 + **/ +#define G_FILE_ATTRIBUTE_TRASH_DELETION_DATE "trash::deletion-date" /* string */ + +/** + * G_FILE_ATTRIBUTE_RECENT_MODIFIED: + * + * A key in the "recent" namespace for getting time, when the metadata for the + * file in `recent:///` was last changed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_INT64. + * + * Since: 2.52 + **/ +#define G_FILE_ATTRIBUTE_RECENT_MODIFIED "recent::modified" /* int64 (time_t) */ + +GIO_AVAILABLE_IN_ALL +GType g_file_info_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GFileInfo * g_file_info_new (void); +GIO_AVAILABLE_IN_ALL +GFileInfo * g_file_info_dup (GFileInfo *other); +GIO_AVAILABLE_IN_ALL +void g_file_info_copy_into (GFileInfo *src_info, + GFileInfo *dest_info); +GIO_AVAILABLE_IN_ALL +gboolean g_file_info_has_attribute (GFileInfo *info, + const char *attribute); +GIO_AVAILABLE_IN_ALL +gboolean g_file_info_has_namespace (GFileInfo *info, + const char *name_space); +GIO_AVAILABLE_IN_ALL +char ** g_file_info_list_attributes (GFileInfo *info, + const char *name_space); +GIO_AVAILABLE_IN_ALL +gboolean g_file_info_get_attribute_data (GFileInfo *info, + const char *attribute, + GFileAttributeType *type, + gpointer *value_pp, + GFileAttributeStatus *status); +GIO_AVAILABLE_IN_ALL +GFileAttributeType g_file_info_get_attribute_type (GFileInfo *info, + const char *attribute); +GIO_AVAILABLE_IN_ALL +void g_file_info_remove_attribute (GFileInfo *info, + const char *attribute); +GIO_AVAILABLE_IN_ALL +GFileAttributeStatus g_file_info_get_attribute_status (GFileInfo *info, + const char *attribute); +GIO_AVAILABLE_IN_ALL +gboolean g_file_info_set_attribute_status (GFileInfo *info, + const char *attribute, + GFileAttributeStatus status); +GIO_AVAILABLE_IN_ALL +char * g_file_info_get_attribute_as_string (GFileInfo *info, + const char *attribute); +GIO_AVAILABLE_IN_ALL +const char * g_file_info_get_attribute_string (GFileInfo *info, + const char *attribute); +GIO_AVAILABLE_IN_ALL +const char * g_file_info_get_attribute_byte_string (GFileInfo *info, + const char *attribute); +GIO_AVAILABLE_IN_ALL +gboolean g_file_info_get_attribute_boolean (GFileInfo *info, + const char *attribute); +GIO_AVAILABLE_IN_ALL +guint32 g_file_info_get_attribute_uint32 (GFileInfo *info, + const char *attribute); +GIO_AVAILABLE_IN_ALL +gint32 g_file_info_get_attribute_int32 (GFileInfo *info, + const char *attribute); +GIO_AVAILABLE_IN_ALL +guint64 g_file_info_get_attribute_uint64 (GFileInfo *info, + const char *attribute); +GIO_AVAILABLE_IN_ALL +gint64 g_file_info_get_attribute_int64 (GFileInfo *info, + const char *attribute); +GIO_AVAILABLE_IN_ALL +GObject * g_file_info_get_attribute_object (GFileInfo *info, + const char *attribute); +GIO_AVAILABLE_IN_ALL +char ** g_file_info_get_attribute_stringv (GFileInfo *info, + const char *attribute); +GIO_AVAILABLE_IN_2_78 +const char * g_file_info_get_attribute_file_path (GFileInfo *info, + const char *attribute); + +GIO_AVAILABLE_IN_ALL +void g_file_info_set_attribute (GFileInfo *info, + const char *attribute, + GFileAttributeType type, + gpointer value_p); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_attribute_string (GFileInfo *info, + const char *attribute, + const char *attr_value); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_attribute_byte_string (GFileInfo *info, + const char *attribute, + const char *attr_value); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_attribute_boolean (GFileInfo *info, + const char *attribute, + gboolean attr_value); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_attribute_uint32 (GFileInfo *info, + const char *attribute, + guint32 attr_value); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_attribute_int32 (GFileInfo *info, + const char *attribute, + gint32 attr_value); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_attribute_uint64 (GFileInfo *info, + const char *attribute, + guint64 attr_value); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_attribute_int64 (GFileInfo *info, + const char *attribute, + gint64 attr_value); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_attribute_object (GFileInfo *info, + const char *attribute, + GObject *attr_value); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_attribute_stringv (GFileInfo *info, + const char *attribute, + char **attr_value); +GIO_AVAILABLE_IN_2_78 +void g_file_info_set_attribute_file_path (GFileInfo *info, + const char *attribute, + const char *attr_value); + +GIO_AVAILABLE_IN_ALL +void g_file_info_clear_status (GFileInfo *info); + +/* Helper getters: */ +GIO_AVAILABLE_IN_2_36 +GDateTime * g_file_info_get_deletion_date (GFileInfo *info); +GIO_AVAILABLE_IN_ALL +GFileType g_file_info_get_file_type (GFileInfo *info); +GIO_AVAILABLE_IN_ALL +gboolean g_file_info_get_is_hidden (GFileInfo *info); +GIO_AVAILABLE_IN_ALL +gboolean g_file_info_get_is_backup (GFileInfo *info); +GIO_AVAILABLE_IN_ALL +gboolean g_file_info_get_is_symlink (GFileInfo *info); +GIO_AVAILABLE_IN_ALL +const char * g_file_info_get_name (GFileInfo *info); +GIO_AVAILABLE_IN_ALL +const char * g_file_info_get_display_name (GFileInfo *info); +GIO_AVAILABLE_IN_ALL +const char * g_file_info_get_edit_name (GFileInfo *info); +GIO_AVAILABLE_IN_ALL +GIcon * g_file_info_get_icon (GFileInfo *info); +GIO_AVAILABLE_IN_ALL +GIcon * g_file_info_get_symbolic_icon (GFileInfo *info); +GIO_AVAILABLE_IN_ALL +const char * g_file_info_get_content_type (GFileInfo *info); +GIO_AVAILABLE_IN_ALL +goffset g_file_info_get_size (GFileInfo *info); +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GIO_DEPRECATED_IN_2_62_FOR(g_file_info_get_modification_date_time) +void g_file_info_get_modification_time (GFileInfo *info, + GTimeVal *result); +G_GNUC_END_IGNORE_DEPRECATIONS +GIO_AVAILABLE_IN_2_62 +GDateTime * g_file_info_get_modification_date_time (GFileInfo *info); +GIO_AVAILABLE_IN_2_70 +GDateTime * g_file_info_get_access_date_time (GFileInfo *info); +GIO_AVAILABLE_IN_2_70 +GDateTime * g_file_info_get_creation_date_time (GFileInfo *info); +GIO_AVAILABLE_IN_ALL +const char * g_file_info_get_symlink_target (GFileInfo *info); +GIO_AVAILABLE_IN_ALL +const char * g_file_info_get_etag (GFileInfo *info); +GIO_AVAILABLE_IN_ALL +gint32 g_file_info_get_sort_order (GFileInfo *info); + +GIO_AVAILABLE_IN_ALL +void g_file_info_set_attribute_mask (GFileInfo *info, + GFileAttributeMatcher *mask); +GIO_AVAILABLE_IN_ALL +void g_file_info_unset_attribute_mask (GFileInfo *info); + +/* Helper setters: */ +GIO_AVAILABLE_IN_ALL +void g_file_info_set_file_type (GFileInfo *info, + GFileType type); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_is_hidden (GFileInfo *info, + gboolean is_hidden); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_is_symlink (GFileInfo *info, + gboolean is_symlink); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_name (GFileInfo *info, + const char *name); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_display_name (GFileInfo *info, + const char *display_name); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_edit_name (GFileInfo *info, + const char *edit_name); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_icon (GFileInfo *info, + GIcon *icon); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_symbolic_icon (GFileInfo *info, + GIcon *icon); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_content_type (GFileInfo *info, + const char *content_type); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_size (GFileInfo *info, + goffset size); +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GIO_DEPRECATED_IN_2_62_FOR(g_file_info_set_modification_date_time) +void g_file_info_set_modification_time (GFileInfo *info, + GTimeVal *mtime); +G_GNUC_END_IGNORE_DEPRECATIONS +GIO_AVAILABLE_IN_2_62 +void g_file_info_set_modification_date_time (GFileInfo *info, + GDateTime *mtime); +GIO_AVAILABLE_IN_2_70 +void g_file_info_set_access_date_time (GFileInfo *info, + GDateTime *atime); +GIO_AVAILABLE_IN_2_70 +void g_file_info_set_creation_date_time (GFileInfo *info, + GDateTime *creation_time); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_symlink_target (GFileInfo *info, + const char *symlink_target); +GIO_AVAILABLE_IN_ALL +void g_file_info_set_sort_order (GFileInfo *info, + gint32 sort_order); + +#define G_TYPE_FILE_ATTRIBUTE_MATCHER (g_file_attribute_matcher_get_type ()) +GIO_AVAILABLE_IN_ALL +GType g_file_attribute_matcher_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GFileAttributeMatcher *g_file_attribute_matcher_new (const char *attributes); +GIO_AVAILABLE_IN_ALL +GFileAttributeMatcher *g_file_attribute_matcher_ref (GFileAttributeMatcher *matcher); +GIO_AVAILABLE_IN_ALL +void g_file_attribute_matcher_unref (GFileAttributeMatcher *matcher); +GIO_AVAILABLE_IN_ALL +GFileAttributeMatcher *g_file_attribute_matcher_subtract (GFileAttributeMatcher *matcher, + GFileAttributeMatcher *subtract); +GIO_AVAILABLE_IN_ALL +gboolean g_file_attribute_matcher_matches (GFileAttributeMatcher *matcher, + const char *attribute); +GIO_AVAILABLE_IN_ALL +gboolean g_file_attribute_matcher_matches_only (GFileAttributeMatcher *matcher, + const char *attribute); +GIO_AVAILABLE_IN_ALL +gboolean g_file_attribute_matcher_enumerate_namespace (GFileAttributeMatcher *matcher, + const char *ns); +GIO_AVAILABLE_IN_ALL +const char * g_file_attribute_matcher_enumerate_next (GFileAttributeMatcher *matcher); +GIO_AVAILABLE_IN_2_32 +char * g_file_attribute_matcher_to_string (GFileAttributeMatcher *matcher); + +G_END_DECLS + +#endif /* __G_FILE_INFO_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileinputstream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileinputstream.h new file mode 100644 index 0000000..5462695 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileinputstream.h @@ -0,0 +1,116 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_FILE_INPUT_STREAM_H__ +#define __G_FILE_INPUT_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_FILE_INPUT_STREAM (g_file_input_stream_get_type ()) +#define G_FILE_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_INPUT_STREAM, GFileInputStream)) +#define G_FILE_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_INPUT_STREAM, GFileInputStreamClass)) +#define G_IS_FILE_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_INPUT_STREAM)) +#define G_IS_FILE_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_INPUT_STREAM)) +#define G_FILE_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_INPUT_STREAM, GFileInputStreamClass)) + +/** + * GFileInputStream: + * + * A subclass of GInputStream for opened files. This adds + * a few file-specific operations and seeking. + * + * #GFileInputStream implements #GSeekable. + **/ +typedef struct _GFileInputStreamClass GFileInputStreamClass; +typedef struct _GFileInputStreamPrivate GFileInputStreamPrivate; + +struct _GFileInputStream +{ + GInputStream parent_instance; + + /*< private >*/ + GFileInputStreamPrivate *priv; +}; + +struct _GFileInputStreamClass +{ + GInputStreamClass parent_class; + + goffset (* tell) (GFileInputStream *stream); + gboolean (* can_seek) (GFileInputStream *stream); + gboolean (* seek) (GFileInputStream *stream, + goffset offset, + GSeekType type, + GCancellable *cancellable, + GError **error); + GFileInfo * (* query_info) (GFileInputStream *stream, + const char *attributes, + GCancellable *cancellable, + GError **error); + void (* query_info_async) (GFileInputStream *stream, + const char *attributes, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileInfo * (* query_info_finish) (GFileInputStream *stream, + GAsyncResult *result, + GError **error); + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_file_input_stream_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GFileInfo *g_file_input_stream_query_info (GFileInputStream *stream, + const char *attributes, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_input_stream_query_info_async (GFileInputStream *stream, + const char *attributes, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GFileInfo *g_file_input_stream_query_info_finish (GFileInputStream *stream, + GAsyncResult *result, + GError **error); + +G_END_DECLS + +#endif /* __G_FILE_FILE_INPUT_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileiostream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileiostream.h new file mode 100644 index 0000000..c1c70c5 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileiostream.h @@ -0,0 +1,123 @@ +/* GIO - GLib Input, Io and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_FILE_IO_STREAM_H__ +#define __G_FILE_IO_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_FILE_IO_STREAM (g_file_io_stream_get_type ()) +#define G_FILE_IO_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_IO_STREAM, GFileIOStream)) +#define G_FILE_IO_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_IO_STREAM, GFileIOStreamClass)) +#define G_IS_FILE_IO_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_IO_STREAM)) +#define G_IS_FILE_IO_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_IO_STREAM)) +#define G_FILE_IO_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_IO_STREAM, GFileIOStreamClass)) + +/** + * GFileIOStream: + * + * A subclass of GIOStream for opened files. This adds + * a few file-specific operations and seeking and truncating. + * + * #GFileIOStream implements GSeekable. + **/ +typedef struct _GFileIOStreamClass GFileIOStreamClass; +typedef struct _GFileIOStreamPrivate GFileIOStreamPrivate; + +struct _GFileIOStream +{ + GIOStream parent_instance; + + /*< private >*/ + GFileIOStreamPrivate *priv; +}; + +struct _GFileIOStreamClass +{ + GIOStreamClass parent_class; + + goffset (* tell) (GFileIOStream *stream); + gboolean (* can_seek) (GFileIOStream *stream); + gboolean (* seek) (GFileIOStream *stream, + goffset offset, + GSeekType type, + GCancellable *cancellable, + GError **error); + gboolean (* can_truncate) (GFileIOStream *stream); + gboolean (* truncate_fn) (GFileIOStream *stream, + goffset size, + GCancellable *cancellable, + GError **error); + GFileInfo * (* query_info) (GFileIOStream *stream, + const char *attributes, + GCancellable *cancellable, + GError **error); + void (* query_info_async) (GFileIOStream *stream, + const char *attributes, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileInfo * (* query_info_finish) (GFileIOStream *stream, + GAsyncResult *result, + GError **error); + char * (* get_etag) (GFileIOStream *stream); + + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_file_io_stream_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GFileInfo *g_file_io_stream_query_info (GFileIOStream *stream, + const char *attributes, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_io_stream_query_info_async (GFileIOStream *stream, + const char *attributes, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GFileInfo *g_file_io_stream_query_info_finish (GFileIOStream *stream, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +char * g_file_io_stream_get_etag (GFileIOStream *stream); + +G_END_DECLS + +#endif /* __G_FILE_FILE_IO_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfilemonitor.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfilemonitor.h new file mode 100644 index 0000000..b677efc --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfilemonitor.h @@ -0,0 +1,100 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_FILE_MONITOR_H__ +#define __G_FILE_MONITOR_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_FILE_MONITOR (g_file_monitor_get_type ()) +#define G_FILE_MONITOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_MONITOR, GFileMonitor)) +#define G_FILE_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_MONITOR, GFileMonitorClass)) +#define G_IS_FILE_MONITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_MONITOR)) +#define G_IS_FILE_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_MONITOR)) +#define G_FILE_MONITOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_MONITOR, GFileMonitorClass)) + +typedef struct _GFileMonitorClass GFileMonitorClass; +typedef struct _GFileMonitorPrivate GFileMonitorPrivate; + +/** + * GFileMonitor: + * + * Watches for changes to a file. + **/ +struct _GFileMonitor +{ + GObject parent_instance; + + /*< private >*/ + GFileMonitorPrivate *priv; +}; + +struct _GFileMonitorClass +{ + GObjectClass parent_class; + + /* Signals */ + void (* changed) (GFileMonitor *monitor, + GFile *file, + GFile *other_file, + GFileMonitorEvent event_type); + + /* Virtual Table */ + gboolean (* cancel) (GFileMonitor *monitor); + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_file_monitor_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +gboolean g_file_monitor_cancel (GFileMonitor *monitor); +GIO_AVAILABLE_IN_ALL +gboolean g_file_monitor_is_cancelled (GFileMonitor *monitor); +GIO_AVAILABLE_IN_ALL +void g_file_monitor_set_rate_limit (GFileMonitor *monitor, + gint limit_msecs); + + +/* For implementations */ +GIO_AVAILABLE_IN_ALL +void g_file_monitor_emit_event (GFileMonitor *monitor, + GFile *child, + GFile *other_file, + GFileMonitorEvent event_type); + +G_END_DECLS + +#endif /* __G_FILE_MONITOR_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfilenamecompleter.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfilenamecompleter.h new file mode 100644 index 0000000..b105e49 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfilenamecompleter.h @@ -0,0 +1,81 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_FILENAME_COMPLETER_H__ +#define __G_FILENAME_COMPLETER_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_FILENAME_COMPLETER (g_filename_completer_get_type ()) +#define G_FILENAME_COMPLETER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILENAME_COMPLETER, GFilenameCompleter)) +#define G_FILENAME_COMPLETER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILENAME_COMPLETER, GFilenameCompleterClass)) +#define G_FILENAME_COMPLETER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILENAME_COMPLETER, GFilenameCompleterClass)) +#define G_IS_FILENAME_COMPLETER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILENAME_COMPLETER)) +#define G_IS_FILENAME_COMPLETER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILENAME_COMPLETER)) + +/** + * GFilenameCompleter: + * + * Completes filenames based on files that exist within the file system. + **/ +typedef struct _GFilenameCompleterClass GFilenameCompleterClass; + +struct _GFilenameCompleterClass +{ + GObjectClass parent_class; + + /*< public >*/ + /* signals */ + void (* got_completion_data) (GFilenameCompleter *filename_completer); + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_filename_completer_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GFilenameCompleter *g_filename_completer_new (void); + +GIO_AVAILABLE_IN_ALL +char * g_filename_completer_get_completion_suffix (GFilenameCompleter *completer, + const char *initial_text); +GIO_AVAILABLE_IN_ALL +char ** g_filename_completer_get_completions (GFilenameCompleter *completer, + const char *initial_text); +GIO_AVAILABLE_IN_ALL +void g_filename_completer_set_dirs_only (GFilenameCompleter *completer, + gboolean dirs_only); + +G_END_DECLS + +#endif /* __G_FILENAME_COMPLETER_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileoutputstream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileoutputstream.h new file mode 100644 index 0000000..576b21f --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfileoutputstream.h @@ -0,0 +1,124 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_FILE_OUTPUT_STREAM_H__ +#define __G_FILE_OUTPUT_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_FILE_OUTPUT_STREAM (g_file_output_stream_get_type ()) +#define G_FILE_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_OUTPUT_STREAM, GFileOutputStream)) +#define G_FILE_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_OUTPUT_STREAM, GFileOutputStreamClass)) +#define G_IS_FILE_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_OUTPUT_STREAM)) +#define G_IS_FILE_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_OUTPUT_STREAM)) +#define G_FILE_OUTPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_OUTPUT_STREAM, GFileOutputStreamClass)) + +/** + * GFileOutputStream: + * + * A subclass of GOutputStream for opened files. This adds + * a few file-specific operations and seeking and truncating. + * + * #GFileOutputStream implements GSeekable. + **/ +typedef struct _GFileOutputStreamClass GFileOutputStreamClass; +typedef struct _GFileOutputStreamPrivate GFileOutputStreamPrivate; + +struct _GFileOutputStream +{ + GOutputStream parent_instance; + + /*< private >*/ + GFileOutputStreamPrivate *priv; +}; + +struct _GFileOutputStreamClass +{ + GOutputStreamClass parent_class; + + goffset (* tell) (GFileOutputStream *stream); + gboolean (* can_seek) (GFileOutputStream *stream); + gboolean (* seek) (GFileOutputStream *stream, + goffset offset, + GSeekType type, + GCancellable *cancellable, + GError **error); + gboolean (* can_truncate) (GFileOutputStream *stream); + gboolean (* truncate_fn) (GFileOutputStream *stream, + goffset size, + GCancellable *cancellable, + GError **error); + GFileInfo * (* query_info) (GFileOutputStream *stream, + const char *attributes, + GCancellable *cancellable, + GError **error); + void (* query_info_async) (GFileOutputStream *stream, + const char *attributes, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileInfo * (* query_info_finish) (GFileOutputStream *stream, + GAsyncResult *result, + GError **error); + char * (* get_etag) (GFileOutputStream *stream); + + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_file_output_stream_get_type (void) G_GNUC_CONST; + + +GIO_AVAILABLE_IN_ALL +GFileInfo *g_file_output_stream_query_info (GFileOutputStream *stream, + const char *attributes, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_file_output_stream_query_info_async (GFileOutputStream *stream, + const char *attributes, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GFileInfo *g_file_output_stream_query_info_finish (GFileOutputStream *stream, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +char * g_file_output_stream_get_etag (GFileOutputStream *stream); + +G_END_DECLS + +#endif /* __G_FILE_FILE_OUTPUT_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfilterinputstream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfilterinputstream.h new file mode 100644 index 0000000..df6032c --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfilterinputstream.h @@ -0,0 +1,80 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Christian Kellner + */ + +#ifndef __G_FILTER_INPUT_STREAM_H__ +#define __G_FILTER_INPUT_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_FILTER_INPUT_STREAM (g_filter_input_stream_get_type ()) +#define G_FILTER_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILTER_INPUT_STREAM, GFilterInputStream)) +#define G_FILTER_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILTER_INPUT_STREAM, GFilterInputStreamClass)) +#define G_IS_FILTER_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILTER_INPUT_STREAM)) +#define G_IS_FILTER_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILTER_INPUT_STREAM)) +#define G_FILTER_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILTER_INPUT_STREAM, GFilterInputStreamClass)) + +/** + * GFilterInputStream: + * + * A base class for all input streams that work on an underlying stream. + **/ +typedef struct _GFilterInputStreamClass GFilterInputStreamClass; + +struct _GFilterInputStream +{ + GInputStream parent_instance; + + /**/ + GInputStream *base_stream; +}; + +struct _GFilterInputStreamClass +{ + GInputStreamClass parent_class; + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); +}; + + +GIO_AVAILABLE_IN_ALL +GType g_filter_input_stream_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GInputStream * g_filter_input_stream_get_base_stream (GFilterInputStream *stream); +GIO_AVAILABLE_IN_ALL +gboolean g_filter_input_stream_get_close_base_stream (GFilterInputStream *stream); +GIO_AVAILABLE_IN_ALL +void g_filter_input_stream_set_close_base_stream (GFilterInputStream *stream, + gboolean close_base); + +G_END_DECLS + +#endif /* __G_FILTER_INPUT_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfilteroutputstream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfilteroutputstream.h new file mode 100644 index 0000000..472f9d8 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gfilteroutputstream.h @@ -0,0 +1,80 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Christian Kellner + */ + +#ifndef __G_FILTER_OUTPUT_STREAM_H__ +#define __G_FILTER_OUTPUT_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_FILTER_OUTPUT_STREAM (g_filter_output_stream_get_type ()) +#define G_FILTER_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILTER_OUTPUT_STREAM, GFilterOutputStream)) +#define G_FILTER_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILTER_OUTPUT_STREAM, GFilterOutputStreamClass)) +#define G_IS_FILTER_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILTER_OUTPUT_STREAM)) +#define G_IS_FILTER_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILTER_OUTPUT_STREAM)) +#define G_FILTER_OUTPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILTER_OUTPUT_STREAM, GFilterOutputStreamClass)) + +/** + * GFilterOutputStream: + * + * A base class for all output streams that work on an underlying stream. + **/ +typedef struct _GFilterOutputStreamClass GFilterOutputStreamClass; + +struct _GFilterOutputStream +{ + GOutputStream parent_instance; + + /*< protected >*/ + GOutputStream *base_stream; +}; + +struct _GFilterOutputStreamClass +{ + GOutputStreamClass parent_class; + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); +}; + + +GIO_AVAILABLE_IN_ALL +GType g_filter_output_stream_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GOutputStream * g_filter_output_stream_get_base_stream (GFilterOutputStream *stream); +GIO_AVAILABLE_IN_ALL +gboolean g_filter_output_stream_get_close_base_stream (GFilterOutputStream *stream); +GIO_AVAILABLE_IN_ALL +void g_filter_output_stream_set_close_base_stream (GFilterOutputStream *stream, + gboolean close_base); + +G_END_DECLS + +#endif /* __G_FILTER_OUTPUT_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gicon.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gicon.h new file mode 100644 index 0000000..c971cb0 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gicon.h @@ -0,0 +1,133 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_ICON_H__ +#define __G_ICON_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_ICON (g_icon_get_type ()) +#define G_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_ICON, GIcon)) +#define G_IS_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_ICON)) +#define G_ICON_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_ICON, GIconIface)) + +/** + * GIcon: + * + * An abstract type that specifies an icon. + **/ +typedef struct _GIconIface GIconIface; + +/** + * GIconIface: + * @g_iface: The parent interface. + * @hash: A hash for a given #GIcon. + * @equal: Checks if two #GIcons are equal. + * @to_tokens: Serializes a #GIcon into tokens. The tokens must not + * contain any whitespace. Don't implement if the #GIcon can't be + * serialized (Since 2.20). + * @from_tokens: Constructs a #GIcon from tokens. Set the #GError if + * the tokens are malformed. Don't implement if the #GIcon can't be + * serialized (Since 2.20). + * @serialize: Serializes a #GIcon into a #GVariant. Since: 2.38 + * + * GIconIface is used to implement GIcon types for various + * different systems. See #GThemedIcon and #GLoadableIcon for + * examples of how to implement this interface. + */ +struct _GIconIface +{ + GTypeInterface g_iface; + + /* Virtual Table */ + + guint (* hash) (GIcon *icon); + gboolean (* equal) (GIcon *icon1, + GIcon *icon2); + + /** + * GIconIface::to_tokens: + * @icon: The #GIcon + * @tokens: (element-type utf8) (out caller-allocates): + * The array to fill with tokens + * @out_version: (out): version of serialized tokens + * + * Serializes the @icon into string tokens. + * This is can be invoked when g_icon_new_for_string() is called. + * + * Returns: %TRUE if serialization took place, %FALSE otherwise + * + * Since: 2.20 + */ + gboolean (* to_tokens) (GIcon *icon, + GPtrArray *tokens, + gint *out_version); + + /** + * GIconIface::from_tokens: + * @tokens: (array length=num_tokens): An array of tokens + * @num_tokens: The number of tokens in @tokens + * @version: Version of the serialized tokens + * @error: Return location for errors, or %NULL to ignore + * + * Constructs a #GIcon from a list of @tokens. + * + * Returns: (nullable) (transfer full): the #GIcon or %NULL on error + * + * Since: 2.20 + */ + GIcon * (* from_tokens) (gchar **tokens, + gint num_tokens, + gint version, + GError **error); + + GVariant * (* serialize) (GIcon *icon); +}; + +GIO_AVAILABLE_IN_ALL +GType g_icon_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +guint g_icon_hash (gconstpointer icon); +GIO_AVAILABLE_IN_ALL +gboolean g_icon_equal (GIcon *icon1, + GIcon *icon2); +GIO_AVAILABLE_IN_ALL +gchar *g_icon_to_string (GIcon *icon); +GIO_AVAILABLE_IN_ALL +GIcon *g_icon_new_for_string (const gchar *str, + GError **error); + +GIO_AVAILABLE_IN_2_38 +GVariant * g_icon_serialize (GIcon *icon); +GIO_AVAILABLE_IN_2_38 +GIcon * g_icon_deserialize (GVariant *value); + +G_END_DECLS + +#endif /* __G_ICON_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/ginetaddress.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/ginetaddress.h new file mode 100644 index 0000000..ea503a9 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/ginetaddress.h @@ -0,0 +1,125 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2008 Christian Kellner, Samuel Cormier-Iijima + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Christian Kellner + * Samuel Cormier-Iijima + */ + +#ifndef __G_INET_ADDRESS_H__ +#define __G_INET_ADDRESS_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_INET_ADDRESS (g_inet_address_get_type ()) +#define G_INET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_INET_ADDRESS, GInetAddress)) +#define G_INET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_INET_ADDRESS, GInetAddressClass)) +#define G_IS_INET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_INET_ADDRESS)) +#define G_IS_INET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_INET_ADDRESS)) +#define G_INET_ADDRESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_INET_ADDRESS, GInetAddressClass)) + +typedef struct _GInetAddressClass GInetAddressClass; +typedef struct _GInetAddressPrivate GInetAddressPrivate; + +struct _GInetAddress +{ + GObject parent_instance; + + /*< private >*/ + GInetAddressPrivate *priv; +}; + +struct _GInetAddressClass +{ + GObjectClass parent_class; + + gchar * (*to_string) (GInetAddress *address); + const guint8 * (*to_bytes) (GInetAddress *address); +}; + +GIO_AVAILABLE_IN_ALL +GType g_inet_address_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GInetAddress * g_inet_address_new_from_string (const gchar *string); + +GIO_AVAILABLE_IN_ALL +GInetAddress * g_inet_address_new_from_bytes (const guint8 *bytes, + GSocketFamily family); + +GIO_AVAILABLE_IN_ALL +GInetAddress * g_inet_address_new_loopback (GSocketFamily family); + +GIO_AVAILABLE_IN_ALL +GInetAddress * g_inet_address_new_any (GSocketFamily family); + +GIO_AVAILABLE_IN_ALL +gboolean g_inet_address_equal (GInetAddress *address, + GInetAddress *other_address); + +GIO_AVAILABLE_IN_ALL +gchar * g_inet_address_to_string (GInetAddress *address); + +GIO_AVAILABLE_IN_ALL +const guint8 * g_inet_address_to_bytes (GInetAddress *address); + +GIO_AVAILABLE_IN_ALL +gsize g_inet_address_get_native_size (GInetAddress *address); + +GIO_AVAILABLE_IN_ALL +GSocketFamily g_inet_address_get_family (GInetAddress *address); + +GIO_AVAILABLE_IN_ALL +gboolean g_inet_address_get_is_any (GInetAddress *address); + +GIO_AVAILABLE_IN_ALL +gboolean g_inet_address_get_is_loopback (GInetAddress *address); + +GIO_AVAILABLE_IN_ALL +gboolean g_inet_address_get_is_link_local (GInetAddress *address); + +GIO_AVAILABLE_IN_ALL +gboolean g_inet_address_get_is_site_local (GInetAddress *address); + +GIO_AVAILABLE_IN_ALL +gboolean g_inet_address_get_is_multicast (GInetAddress *address); + +GIO_AVAILABLE_IN_ALL +gboolean g_inet_address_get_is_mc_global (GInetAddress *address); + +GIO_AVAILABLE_IN_ALL +gboolean g_inet_address_get_is_mc_link_local (GInetAddress *address); + +GIO_AVAILABLE_IN_ALL +gboolean g_inet_address_get_is_mc_node_local (GInetAddress *address); + +GIO_AVAILABLE_IN_ALL +gboolean g_inet_address_get_is_mc_org_local (GInetAddress *address); + +GIO_AVAILABLE_IN_ALL +gboolean g_inet_address_get_is_mc_site_local (GInetAddress *address); + +G_END_DECLS + +#endif /* __G_INET_ADDRESS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/ginetaddressmask.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/ginetaddressmask.h new file mode 100644 index 0000000..25cce75 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/ginetaddressmask.h @@ -0,0 +1,86 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright 2011 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_INET_ADDRESS_MASK_H__ +#define __G_INET_ADDRESS_MASK_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_INET_ADDRESS_MASK (g_inet_address_mask_get_type ()) +#define G_INET_ADDRESS_MASK(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_INET_ADDRESS_MASK, GInetAddressMask)) +#define G_INET_ADDRESS_MASK_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_INET_ADDRESS_MASK, GInetAddressMaskClass)) +#define G_IS_INET_ADDRESS_MASK(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_INET_ADDRESS_MASK)) +#define G_IS_INET_ADDRESS_MASK_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_INET_ADDRESS_MASK)) +#define G_INET_ADDRESS_MASK_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_INET_ADDRESS_MASK, GInetAddressMaskClass)) + +typedef struct _GInetAddressMaskClass GInetAddressMaskClass; +typedef struct _GInetAddressMaskPrivate GInetAddressMaskPrivate; + +struct _GInetAddressMask +{ + GObject parent_instance; + + /*< private >*/ + GInetAddressMaskPrivate *priv; +}; + +struct _GInetAddressMaskClass +{ + GObjectClass parent_class; + +}; + +GIO_AVAILABLE_IN_2_32 +GType g_inet_address_mask_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_32 +GInetAddressMask *g_inet_address_mask_new (GInetAddress *addr, + guint length, + GError **error); + +GIO_AVAILABLE_IN_2_32 +GInetAddressMask *g_inet_address_mask_new_from_string (const gchar *mask_string, + GError **error); +GIO_AVAILABLE_IN_2_32 +gchar *g_inet_address_mask_to_string (GInetAddressMask *mask); + +GIO_AVAILABLE_IN_2_32 +GSocketFamily g_inet_address_mask_get_family (GInetAddressMask *mask); +GIO_AVAILABLE_IN_2_32 +GInetAddress *g_inet_address_mask_get_address (GInetAddressMask *mask); +GIO_AVAILABLE_IN_2_32 +guint g_inet_address_mask_get_length (GInetAddressMask *mask); + +GIO_AVAILABLE_IN_2_32 +gboolean g_inet_address_mask_matches (GInetAddressMask *mask, + GInetAddress *address); +GIO_AVAILABLE_IN_2_32 +gboolean g_inet_address_mask_equal (GInetAddressMask *mask, + GInetAddressMask *mask2); + +G_END_DECLS + +#endif /* __G_INET_ADDRESS_MASK_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/ginetsocketaddress.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/ginetsocketaddress.h new file mode 100644 index 0000000..a983abe --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/ginetsocketaddress.h @@ -0,0 +1,80 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2008 Christian Kellner, Samuel Cormier-Iijima + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Christian Kellner + * Samuel Cormier-Iijima + */ + +#ifndef __G_INET_SOCKET_ADDRESS_H__ +#define __G_INET_SOCKET_ADDRESS_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_INET_SOCKET_ADDRESS (g_inet_socket_address_get_type ()) +#define G_INET_SOCKET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_INET_SOCKET_ADDRESS, GInetSocketAddress)) +#define G_INET_SOCKET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_INET_SOCKET_ADDRESS, GInetSocketAddressClass)) +#define G_IS_INET_SOCKET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_INET_SOCKET_ADDRESS)) +#define G_IS_INET_SOCKET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_INET_SOCKET_ADDRESS)) +#define G_INET_SOCKET_ADDRESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_INET_SOCKET_ADDRESS, GInetSocketAddressClass)) + +typedef struct _GInetSocketAddressClass GInetSocketAddressClass; +typedef struct _GInetSocketAddressPrivate GInetSocketAddressPrivate; + +struct _GInetSocketAddress +{ + GSocketAddress parent_instance; + + /*< private >*/ + GInetSocketAddressPrivate *priv; +}; + +struct _GInetSocketAddressClass +{ + GSocketAddressClass parent_class; +}; + +GIO_AVAILABLE_IN_ALL +GType g_inet_socket_address_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GSocketAddress *g_inet_socket_address_new (GInetAddress *address, + guint16 port); +GIO_AVAILABLE_IN_2_40 +GSocketAddress *g_inet_socket_address_new_from_string (const char *address, + guint port); + +GIO_AVAILABLE_IN_ALL +GInetAddress * g_inet_socket_address_get_address (GInetSocketAddress *address); +GIO_AVAILABLE_IN_ALL +guint16 g_inet_socket_address_get_port (GInetSocketAddress *address); + +GIO_AVAILABLE_IN_2_32 +guint32 g_inet_socket_address_get_flowinfo (GInetSocketAddress *address); +GIO_AVAILABLE_IN_2_32 +guint32 g_inet_socket_address_get_scope_id (GInetSocketAddress *address); + +G_END_DECLS + +#endif /* __G_INET_SOCKET_ADDRESS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/ginitable.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/ginitable.h new file mode 100644 index 0000000..9eb995c --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/ginitable.h @@ -0,0 +1,107 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2009 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_INITABLE_H__ +#define __G_INITABLE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_INITABLE (g_initable_get_type ()) +#define G_INITABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_INITABLE, GInitable)) +#define G_IS_INITABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_INITABLE)) +#define G_INITABLE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_INITABLE, GInitableIface)) +#define G_TYPE_IS_INITABLE(type) (g_type_is_a ((type), G_TYPE_INITABLE)) + +/** + * GInitable: + * + * Interface for initializable objects. + * + * Since: 2.22 + **/ +typedef struct _GInitableIface GInitableIface; + +/** + * GInitableIface: + * @g_iface: The parent interface. + * @init: Initializes the object. + * + * Provides an interface for initializing object such that initialization + * may fail. + * + * Since: 2.22 + **/ +struct _GInitableIface +{ + GTypeInterface g_iface; + + /* Virtual Table */ + + gboolean (* init) (GInitable *initable, + GCancellable *cancellable, + GError **error); +}; + + +GIO_AVAILABLE_IN_ALL +GType g_initable_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +gboolean g_initable_init (GInitable *initable, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +gpointer g_initable_new (GType object_type, + GCancellable *cancellable, + GError **error, + const gchar *first_property_name, + ...); + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + +GIO_DEPRECATED_IN_2_54_FOR(g_object_new_with_properties and g_initable_init) +gpointer g_initable_newv (GType object_type, + guint n_parameters, + GParameter *parameters, + GCancellable *cancellable, + GError **error); + +G_GNUC_END_IGNORE_DEPRECATIONS + +GIO_AVAILABLE_IN_ALL +GObject* g_initable_new_valist (GType object_type, + const gchar *first_property_name, + va_list var_args, + GCancellable *cancellable, + GError **error); + +G_END_DECLS + + +#endif /* __G_INITABLE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/ginputstream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/ginputstream.h new file mode 100644 index 0000000..a7be768 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/ginputstream.h @@ -0,0 +1,218 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_INPUT_STREAM_H__ +#define __G_INPUT_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_INPUT_STREAM (g_input_stream_get_type ()) +#define G_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_INPUT_STREAM, GInputStream)) +#define G_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_INPUT_STREAM, GInputStreamClass)) +#define G_IS_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_INPUT_STREAM)) +#define G_IS_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_INPUT_STREAM)) +#define G_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_INPUT_STREAM, GInputStreamClass)) + +/** + * GInputStream: + * + * Base class for streaming input operations. + **/ +typedef struct _GInputStreamClass GInputStreamClass; +typedef struct _GInputStreamPrivate GInputStreamPrivate; + +struct _GInputStream +{ + GObject parent_instance; + + /*< private >*/ + GInputStreamPrivate *priv; +}; + +struct _GInputStreamClass +{ + GObjectClass parent_class; + + /* Sync ops: */ + + gssize (* read_fn) (GInputStream *stream, + void *buffer, + gsize count, + GCancellable *cancellable, + GError **error); + gssize (* skip) (GInputStream *stream, + gsize count, + GCancellable *cancellable, + GError **error); + gboolean (* close_fn) (GInputStream *stream, + GCancellable *cancellable, + GError **error); + + /* Async ops: (optional in derived classes) */ + void (* read_async) (GInputStream *stream, + void *buffer, + gsize count, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gssize (* read_finish) (GInputStream *stream, + GAsyncResult *result, + GError **error); + void (* skip_async) (GInputStream *stream, + gsize count, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gssize (* skip_finish) (GInputStream *stream, + GAsyncResult *result, + GError **error); + void (* close_async) (GInputStream *stream, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* close_finish) (GInputStream *stream, + GAsyncResult *result, + GError **error); + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_input_stream_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +gssize g_input_stream_read (GInputStream *stream, + void *buffer, + gsize count, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_input_stream_read_all (GInputStream *stream, + void *buffer, + gsize count, + gsize *bytes_read, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_2_34 +GBytes *g_input_stream_read_bytes (GInputStream *stream, + gsize count, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gssize g_input_stream_skip (GInputStream *stream, + gsize count, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_input_stream_close (GInputStream *stream, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_input_stream_read_async (GInputStream *stream, + void *buffer, + gsize count, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gssize g_input_stream_read_finish (GInputStream *stream, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_2_44 +void g_input_stream_read_all_async (GInputStream *stream, + void *buffer, + gsize count, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_44 +gboolean g_input_stream_read_all_finish (GInputStream *stream, + GAsyncResult *result, + gsize *bytes_read, + GError **error); + +GIO_AVAILABLE_IN_2_34 +void g_input_stream_read_bytes_async (GInputStream *stream, + gsize count, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_34 +GBytes *g_input_stream_read_bytes_finish (GInputStream *stream, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_input_stream_skip_async (GInputStream *stream, + gsize count, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gssize g_input_stream_skip_finish (GInputStream *stream, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_input_stream_close_async (GInputStream *stream, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_input_stream_close_finish (GInputStream *stream, + GAsyncResult *result, + GError **error); + +/* For implementations: */ + +GIO_AVAILABLE_IN_ALL +gboolean g_input_stream_is_closed (GInputStream *stream); +GIO_AVAILABLE_IN_ALL +gboolean g_input_stream_has_pending (GInputStream *stream); +GIO_AVAILABLE_IN_ALL +gboolean g_input_stream_set_pending (GInputStream *stream, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_input_stream_clear_pending (GInputStream *stream); + +G_END_DECLS + +#endif /* __G_INPUT_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gio-autocleanups.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gio-autocleanups.h new file mode 100644 index 0000000..15e37d1 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gio-autocleanups.h @@ -0,0 +1,155 @@ +/* + * Copyright © 2015 Canonical Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + * + * Author: Ryan Lortie + */ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GAction, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GActionMap, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GAppInfo, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GAppLaunchContext, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GAppInfoMonitor, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GApplicationCommandLine, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GApplication, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GAsyncInitable, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GAsyncResult, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GBufferedInputStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GBufferedOutputStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GBytesIcon, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GCancellable, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GCharsetConverter, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GConverter, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GConverterInputStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GConverterOutputStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GCredentials, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDatagramBased, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDataInputStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDataOutputStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusActionGroup, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusAuthObserver, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusConnection, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusInterface, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusInterfaceSkeleton, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusMenuModel, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusMessage, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusMethodInvocation, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusNodeInfo, g_dbus_node_info_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusObject, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusObjectManagerClient, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusObjectManager, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusObjectManagerServer, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusObjectProxy, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusObjectSkeleton, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusProxy, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusServer, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDrive, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GEmblemedIcon, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GEmblem, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GFileEnumerator, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GFile, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GFileAttributeInfoList, g_file_attribute_info_list_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GFileIcon, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GFileInfo, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GFileInputStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GFileIOStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GFileMonitor, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GFilenameCompleter, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GFileOutputStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GFilterInputStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GFilterOutputStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GIcon, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GInetAddress, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GInetAddressMask, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GInetSocketAddress, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GInitable, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GInputStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GIOModule, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GIOStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GLoadableIcon, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMemoryInputStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMemoryOutputStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMenu, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMenuItem, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMenuModel, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMenuAttributeIter, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMenuLinkIter, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMount, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMountOperation, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GNativeVolumeMonitor, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GNetworkAddress, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GNetworkMonitor, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GNetworkService, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GNotification, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GOutputStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GPermission, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GPollableInputStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GPollableOutputStream, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GPropertyAction, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GProxyAddressEnumerator, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GProxyAddress, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GProxy, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GProxyResolver, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GRemoteActionGroup, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GResolver, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GResource, g_resource_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSeekable, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSettingsBackend, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSettingsSchema, g_settings_schema_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSettingsSchemaKey, g_settings_schema_key_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSettingsSchemaSource, g_settings_schema_source_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSettings, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSimpleActionGroup, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSimpleAction, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSimpleAsyncResult, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSimplePermission, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSimpleProxyResolver, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSocketAddressEnumerator, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSocketAddress, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSocketClient, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSocketConnectable, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSocketConnection, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSocketControlMessage, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSocket, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSocketListener, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSocketService, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSubprocess, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSubprocessLauncher, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTask, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTcpConnection, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTcpWrapperConnection, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTestDBus, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GThemedIcon, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GThreadedSocketService, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTlsBackend, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTlsCertificate, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTlsClientConnection, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTlsConnection, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTlsDatabase, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTlsFileDatabase, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTlsInteraction, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTlsPassword, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTlsServerConnection, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVfs, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVolume, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVolumeMonitor, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GZlibCompressor, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GZlibDecompressor, g_object_unref) diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gio-visibility.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gio-visibility.h new file mode 100644 index 0000000..03f3572 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gio-visibility.h @@ -0,0 +1,952 @@ +#pragma once + +#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(GIO_STATIC_COMPILATION) +# define _GIO_EXPORT __declspec(dllexport) +# define _GIO_IMPORT __declspec(dllimport) +#elif __GNUC__ >= 4 +# define _GIO_EXPORT __attribute__((visibility("default"))) +# define _GIO_IMPORT +#else +# define _GIO_EXPORT +# define _GIO_IMPORT +#endif +#ifdef GIO_COMPILATION +# define _GIO_API _GIO_EXPORT +#else +# define _GIO_API _GIO_IMPORT +#endif + +#define _GIO_EXTERN _GIO_API extern + +#define GIO_VAR _GIO_EXTERN +#define GIO_AVAILABLE_IN_ALL _GIO_EXTERN + +#ifdef GLIB_DISABLE_DEPRECATION_WARNINGS +#define GIO_DEPRECATED _GIO_EXTERN +#define GIO_DEPRECATED_FOR(f) _GIO_EXTERN +#define GIO_UNAVAILABLE(maj,min) _GIO_EXTERN +#define GIO_UNAVAILABLE_STATIC_INLINE(maj,min) +#else +#define GIO_DEPRECATED G_DEPRECATED _GIO_EXTERN +#define GIO_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f) _GIO_EXTERN +#define GIO_UNAVAILABLE(maj,min) G_UNAVAILABLE(maj,min) _GIO_EXTERN +#define GIO_UNAVAILABLE_STATIC_INLINE(maj,min) G_UNAVAILABLE(maj,min) +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_26 +#define GIO_DEPRECATED_IN_2_26 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_26_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_26 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_26_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_26 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_26_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_26 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_26_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_26 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_26_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_26 +#define GIO_DEPRECATED_MACRO_IN_2_26_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_26 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_26_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_26 +#define GIO_DEPRECATED_TYPE_IN_2_26_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_26 +#define GIO_AVAILABLE_IN_2_26 GIO_UNAVAILABLE (2, 26) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_26 GLIB_UNAVAILABLE_STATIC_INLINE (2, 26) +#define GIO_AVAILABLE_MACRO_IN_2_26 GLIB_UNAVAILABLE_MACRO (2, 26) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_26 GLIB_UNAVAILABLE_ENUMERATOR (2, 26) +#define GIO_AVAILABLE_TYPE_IN_2_26 GLIB_UNAVAILABLE_TYPE (2, 26) +#else +#define GIO_AVAILABLE_IN_2_26 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_26 +#define GIO_AVAILABLE_MACRO_IN_2_26 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_26 +#define GIO_AVAILABLE_TYPE_IN_2_26 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_28 +#define GIO_DEPRECATED_IN_2_28 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_28_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_28 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_28_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_28 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_28_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_28 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_28_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_28 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_28_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_28 +#define GIO_DEPRECATED_MACRO_IN_2_28_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_28 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_28_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_28 +#define GIO_DEPRECATED_TYPE_IN_2_28_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_28 +#define GIO_AVAILABLE_IN_2_28 GIO_UNAVAILABLE (2, 28) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_28 GLIB_UNAVAILABLE_STATIC_INLINE (2, 28) +#define GIO_AVAILABLE_MACRO_IN_2_28 GLIB_UNAVAILABLE_MACRO (2, 28) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_28 GLIB_UNAVAILABLE_ENUMERATOR (2, 28) +#define GIO_AVAILABLE_TYPE_IN_2_28 GLIB_UNAVAILABLE_TYPE (2, 28) +#else +#define GIO_AVAILABLE_IN_2_28 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_28 +#define GIO_AVAILABLE_MACRO_IN_2_28 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_28 +#define GIO_AVAILABLE_TYPE_IN_2_28 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_30 +#define GIO_DEPRECATED_IN_2_30 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_30_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_30 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_30_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_30 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_30_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_30 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_30_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_30 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_30_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_30 +#define GIO_DEPRECATED_MACRO_IN_2_30_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_30 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_30_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_30 +#define GIO_DEPRECATED_TYPE_IN_2_30_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_30 +#define GIO_AVAILABLE_IN_2_30 GIO_UNAVAILABLE (2, 30) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_30 GLIB_UNAVAILABLE_STATIC_INLINE (2, 30) +#define GIO_AVAILABLE_MACRO_IN_2_30 GLIB_UNAVAILABLE_MACRO (2, 30) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_30 GLIB_UNAVAILABLE_ENUMERATOR (2, 30) +#define GIO_AVAILABLE_TYPE_IN_2_30 GLIB_UNAVAILABLE_TYPE (2, 30) +#else +#define GIO_AVAILABLE_IN_2_30 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_30 +#define GIO_AVAILABLE_MACRO_IN_2_30 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_30 +#define GIO_AVAILABLE_TYPE_IN_2_30 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_32 +#define GIO_DEPRECATED_IN_2_32 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_32_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_32 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_32_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_32 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_32_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_32 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_32_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_32 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_32_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_32 +#define GIO_DEPRECATED_MACRO_IN_2_32_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_32 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_32_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_32 +#define GIO_DEPRECATED_TYPE_IN_2_32_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_32 +#define GIO_AVAILABLE_IN_2_32 GIO_UNAVAILABLE (2, 32) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_32 GLIB_UNAVAILABLE_STATIC_INLINE (2, 32) +#define GIO_AVAILABLE_MACRO_IN_2_32 GLIB_UNAVAILABLE_MACRO (2, 32) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_32 GLIB_UNAVAILABLE_ENUMERATOR (2, 32) +#define GIO_AVAILABLE_TYPE_IN_2_32 GLIB_UNAVAILABLE_TYPE (2, 32) +#else +#define GIO_AVAILABLE_IN_2_32 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_32 +#define GIO_AVAILABLE_MACRO_IN_2_32 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_32 +#define GIO_AVAILABLE_TYPE_IN_2_32 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_34 +#define GIO_DEPRECATED_IN_2_34 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_34_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_34 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_34_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_34 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_34_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_34 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_34_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_34 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_34_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_34 +#define GIO_DEPRECATED_MACRO_IN_2_34_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_34 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_34_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_34 +#define GIO_DEPRECATED_TYPE_IN_2_34_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_34 +#define GIO_AVAILABLE_IN_2_34 GIO_UNAVAILABLE (2, 34) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_34 GLIB_UNAVAILABLE_STATIC_INLINE (2, 34) +#define GIO_AVAILABLE_MACRO_IN_2_34 GLIB_UNAVAILABLE_MACRO (2, 34) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_34 GLIB_UNAVAILABLE_ENUMERATOR (2, 34) +#define GIO_AVAILABLE_TYPE_IN_2_34 GLIB_UNAVAILABLE_TYPE (2, 34) +#else +#define GIO_AVAILABLE_IN_2_34 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_34 +#define GIO_AVAILABLE_MACRO_IN_2_34 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_34 +#define GIO_AVAILABLE_TYPE_IN_2_34 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_36 +#define GIO_DEPRECATED_IN_2_36 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_36_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_36 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_36_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_36 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_36_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_36 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_36_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_36 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_36_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_36 +#define GIO_DEPRECATED_MACRO_IN_2_36_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_36 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_36_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_36 +#define GIO_DEPRECATED_TYPE_IN_2_36_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_36 +#define GIO_AVAILABLE_IN_2_36 GIO_UNAVAILABLE (2, 36) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_36 GLIB_UNAVAILABLE_STATIC_INLINE (2, 36) +#define GIO_AVAILABLE_MACRO_IN_2_36 GLIB_UNAVAILABLE_MACRO (2, 36) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_36 GLIB_UNAVAILABLE_ENUMERATOR (2, 36) +#define GIO_AVAILABLE_TYPE_IN_2_36 GLIB_UNAVAILABLE_TYPE (2, 36) +#else +#define GIO_AVAILABLE_IN_2_36 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_36 +#define GIO_AVAILABLE_MACRO_IN_2_36 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_36 +#define GIO_AVAILABLE_TYPE_IN_2_36 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_38 +#define GIO_DEPRECATED_IN_2_38 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_38_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_38 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_38_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_38 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_38_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_38 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_38_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_38 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_38_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_38 +#define GIO_DEPRECATED_MACRO_IN_2_38_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_38 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_38_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_38 +#define GIO_DEPRECATED_TYPE_IN_2_38_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38 +#define GIO_AVAILABLE_IN_2_38 GIO_UNAVAILABLE (2, 38) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_38 GLIB_UNAVAILABLE_STATIC_INLINE (2, 38) +#define GIO_AVAILABLE_MACRO_IN_2_38 GLIB_UNAVAILABLE_MACRO (2, 38) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_38 GLIB_UNAVAILABLE_ENUMERATOR (2, 38) +#define GIO_AVAILABLE_TYPE_IN_2_38 GLIB_UNAVAILABLE_TYPE (2, 38) +#else +#define GIO_AVAILABLE_IN_2_38 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_38 +#define GIO_AVAILABLE_MACRO_IN_2_38 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_38 +#define GIO_AVAILABLE_TYPE_IN_2_38 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_40 +#define GIO_DEPRECATED_IN_2_40 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_40_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_40 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_40_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_40 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_40_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_40 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_40_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_40 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_40_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_40 +#define GIO_DEPRECATED_MACRO_IN_2_40_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_40 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_40_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_40 +#define GIO_DEPRECATED_TYPE_IN_2_40_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_40 +#define GIO_AVAILABLE_IN_2_40 GIO_UNAVAILABLE (2, 40) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_40 GLIB_UNAVAILABLE_STATIC_INLINE (2, 40) +#define GIO_AVAILABLE_MACRO_IN_2_40 GLIB_UNAVAILABLE_MACRO (2, 40) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_40 GLIB_UNAVAILABLE_ENUMERATOR (2, 40) +#define GIO_AVAILABLE_TYPE_IN_2_40 GLIB_UNAVAILABLE_TYPE (2, 40) +#else +#define GIO_AVAILABLE_IN_2_40 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_40 +#define GIO_AVAILABLE_MACRO_IN_2_40 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_40 +#define GIO_AVAILABLE_TYPE_IN_2_40 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_42 +#define GIO_DEPRECATED_IN_2_42 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_42_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_42 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_42_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_42 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_42_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_42 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_42_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_42 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_42_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_42 +#define GIO_DEPRECATED_MACRO_IN_2_42_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_42 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_42_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_42 +#define GIO_DEPRECATED_TYPE_IN_2_42_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_42 +#define GIO_AVAILABLE_IN_2_42 GIO_UNAVAILABLE (2, 42) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_42 GLIB_UNAVAILABLE_STATIC_INLINE (2, 42) +#define GIO_AVAILABLE_MACRO_IN_2_42 GLIB_UNAVAILABLE_MACRO (2, 42) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_42 GLIB_UNAVAILABLE_ENUMERATOR (2, 42) +#define GIO_AVAILABLE_TYPE_IN_2_42 GLIB_UNAVAILABLE_TYPE (2, 42) +#else +#define GIO_AVAILABLE_IN_2_42 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_42 +#define GIO_AVAILABLE_MACRO_IN_2_42 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_42 +#define GIO_AVAILABLE_TYPE_IN_2_42 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_44 +#define GIO_DEPRECATED_IN_2_44 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_44_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_44 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_44_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_44 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_44_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_44 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_44_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_44 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_44_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_44 +#define GIO_DEPRECATED_MACRO_IN_2_44_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_44 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_44_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_44 +#define GIO_DEPRECATED_TYPE_IN_2_44_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_44 +#define GIO_AVAILABLE_IN_2_44 GIO_UNAVAILABLE (2, 44) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_44 GLIB_UNAVAILABLE_STATIC_INLINE (2, 44) +#define GIO_AVAILABLE_MACRO_IN_2_44 GLIB_UNAVAILABLE_MACRO (2, 44) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_44 GLIB_UNAVAILABLE_ENUMERATOR (2, 44) +#define GIO_AVAILABLE_TYPE_IN_2_44 GLIB_UNAVAILABLE_TYPE (2, 44) +#else +#define GIO_AVAILABLE_IN_2_44 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_44 +#define GIO_AVAILABLE_MACRO_IN_2_44 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_44 +#define GIO_AVAILABLE_TYPE_IN_2_44 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_46 +#define GIO_DEPRECATED_IN_2_46 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_46_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_46 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_46_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_46 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_46_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_46 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_46_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_46 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_46_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_46 +#define GIO_DEPRECATED_MACRO_IN_2_46_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_46 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_46_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_46 +#define GIO_DEPRECATED_TYPE_IN_2_46_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_46 +#define GIO_AVAILABLE_IN_2_46 GIO_UNAVAILABLE (2, 46) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_46 GLIB_UNAVAILABLE_STATIC_INLINE (2, 46) +#define GIO_AVAILABLE_MACRO_IN_2_46 GLIB_UNAVAILABLE_MACRO (2, 46) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_46 GLIB_UNAVAILABLE_ENUMERATOR (2, 46) +#define GIO_AVAILABLE_TYPE_IN_2_46 GLIB_UNAVAILABLE_TYPE (2, 46) +#else +#define GIO_AVAILABLE_IN_2_46 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_46 +#define GIO_AVAILABLE_MACRO_IN_2_46 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_46 +#define GIO_AVAILABLE_TYPE_IN_2_46 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_48 +#define GIO_DEPRECATED_IN_2_48 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_48_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_48 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_48_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_48 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_48_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_48 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_48_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_48 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_48_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_48 +#define GIO_DEPRECATED_MACRO_IN_2_48_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_48 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_48_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_48 +#define GIO_DEPRECATED_TYPE_IN_2_48_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_48 +#define GIO_AVAILABLE_IN_2_48 GIO_UNAVAILABLE (2, 48) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_48 GLIB_UNAVAILABLE_STATIC_INLINE (2, 48) +#define GIO_AVAILABLE_MACRO_IN_2_48 GLIB_UNAVAILABLE_MACRO (2, 48) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_48 GLIB_UNAVAILABLE_ENUMERATOR (2, 48) +#define GIO_AVAILABLE_TYPE_IN_2_48 GLIB_UNAVAILABLE_TYPE (2, 48) +#else +#define GIO_AVAILABLE_IN_2_48 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_48 +#define GIO_AVAILABLE_MACRO_IN_2_48 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_48 +#define GIO_AVAILABLE_TYPE_IN_2_48 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_50 +#define GIO_DEPRECATED_IN_2_50 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_50_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_50 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_50_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_50 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_50_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_50 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_50_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_50 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_50_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_50 +#define GIO_DEPRECATED_MACRO_IN_2_50_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_50 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_50_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_50 +#define GIO_DEPRECATED_TYPE_IN_2_50_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_50 +#define GIO_AVAILABLE_IN_2_50 GIO_UNAVAILABLE (2, 50) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_50 GLIB_UNAVAILABLE_STATIC_INLINE (2, 50) +#define GIO_AVAILABLE_MACRO_IN_2_50 GLIB_UNAVAILABLE_MACRO (2, 50) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_50 GLIB_UNAVAILABLE_ENUMERATOR (2, 50) +#define GIO_AVAILABLE_TYPE_IN_2_50 GLIB_UNAVAILABLE_TYPE (2, 50) +#else +#define GIO_AVAILABLE_IN_2_50 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_50 +#define GIO_AVAILABLE_MACRO_IN_2_50 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_50 +#define GIO_AVAILABLE_TYPE_IN_2_50 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_52 +#define GIO_DEPRECATED_IN_2_52 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_52_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_52 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_52_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_52 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_52_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_52 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_52_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_52 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_52_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_52 +#define GIO_DEPRECATED_MACRO_IN_2_52_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_52 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_52_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_52 +#define GIO_DEPRECATED_TYPE_IN_2_52_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_52 +#define GIO_AVAILABLE_IN_2_52 GIO_UNAVAILABLE (2, 52) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_52 GLIB_UNAVAILABLE_STATIC_INLINE (2, 52) +#define GIO_AVAILABLE_MACRO_IN_2_52 GLIB_UNAVAILABLE_MACRO (2, 52) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_52 GLIB_UNAVAILABLE_ENUMERATOR (2, 52) +#define GIO_AVAILABLE_TYPE_IN_2_52 GLIB_UNAVAILABLE_TYPE (2, 52) +#else +#define GIO_AVAILABLE_IN_2_52 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_52 +#define GIO_AVAILABLE_MACRO_IN_2_52 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_52 +#define GIO_AVAILABLE_TYPE_IN_2_52 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_54 +#define GIO_DEPRECATED_IN_2_54 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_54_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_54 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_54_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_54 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_54_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_54 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_54_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_54 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_54_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_54 +#define GIO_DEPRECATED_MACRO_IN_2_54_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_54 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_54_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_54 +#define GIO_DEPRECATED_TYPE_IN_2_54_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_54 +#define GIO_AVAILABLE_IN_2_54 GIO_UNAVAILABLE (2, 54) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_54 GLIB_UNAVAILABLE_STATIC_INLINE (2, 54) +#define GIO_AVAILABLE_MACRO_IN_2_54 GLIB_UNAVAILABLE_MACRO (2, 54) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_54 GLIB_UNAVAILABLE_ENUMERATOR (2, 54) +#define GIO_AVAILABLE_TYPE_IN_2_54 GLIB_UNAVAILABLE_TYPE (2, 54) +#else +#define GIO_AVAILABLE_IN_2_54 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_54 +#define GIO_AVAILABLE_MACRO_IN_2_54 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_54 +#define GIO_AVAILABLE_TYPE_IN_2_54 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_56 +#define GIO_DEPRECATED_IN_2_56 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_56_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_56 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_56_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_56 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_56_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_56 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_56_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_56 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_56_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_56 +#define GIO_DEPRECATED_MACRO_IN_2_56_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_56 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_56_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_56 +#define GIO_DEPRECATED_TYPE_IN_2_56_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_56 +#define GIO_AVAILABLE_IN_2_56 GIO_UNAVAILABLE (2, 56) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_56 GLIB_UNAVAILABLE_STATIC_INLINE (2, 56) +#define GIO_AVAILABLE_MACRO_IN_2_56 GLIB_UNAVAILABLE_MACRO (2, 56) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_56 GLIB_UNAVAILABLE_ENUMERATOR (2, 56) +#define GIO_AVAILABLE_TYPE_IN_2_56 GLIB_UNAVAILABLE_TYPE (2, 56) +#else +#define GIO_AVAILABLE_IN_2_56 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_56 +#define GIO_AVAILABLE_MACRO_IN_2_56 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_56 +#define GIO_AVAILABLE_TYPE_IN_2_56 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_58 +#define GIO_DEPRECATED_IN_2_58 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_58_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_58 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_58_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_58 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_58_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_58 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_58_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_58 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_58_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_58 +#define GIO_DEPRECATED_MACRO_IN_2_58_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_58 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_58_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_58 +#define GIO_DEPRECATED_TYPE_IN_2_58_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_58 +#define GIO_AVAILABLE_IN_2_58 GIO_UNAVAILABLE (2, 58) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_58 GLIB_UNAVAILABLE_STATIC_INLINE (2, 58) +#define GIO_AVAILABLE_MACRO_IN_2_58 GLIB_UNAVAILABLE_MACRO (2, 58) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_58 GLIB_UNAVAILABLE_ENUMERATOR (2, 58) +#define GIO_AVAILABLE_TYPE_IN_2_58 GLIB_UNAVAILABLE_TYPE (2, 58) +#else +#define GIO_AVAILABLE_IN_2_58 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_58 +#define GIO_AVAILABLE_MACRO_IN_2_58 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_58 +#define GIO_AVAILABLE_TYPE_IN_2_58 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_60 +#define GIO_DEPRECATED_IN_2_60 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_60_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_60 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_60_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_60 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_60_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_60 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_60_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_60 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_60_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_60 +#define GIO_DEPRECATED_MACRO_IN_2_60_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_60 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_60_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_60 +#define GIO_DEPRECATED_TYPE_IN_2_60_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_60 +#define GIO_AVAILABLE_IN_2_60 GIO_UNAVAILABLE (2, 60) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_60 GLIB_UNAVAILABLE_STATIC_INLINE (2, 60) +#define GIO_AVAILABLE_MACRO_IN_2_60 GLIB_UNAVAILABLE_MACRO (2, 60) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_60 GLIB_UNAVAILABLE_ENUMERATOR (2, 60) +#define GIO_AVAILABLE_TYPE_IN_2_60 GLIB_UNAVAILABLE_TYPE (2, 60) +#else +#define GIO_AVAILABLE_IN_2_60 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_60 +#define GIO_AVAILABLE_MACRO_IN_2_60 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_60 +#define GIO_AVAILABLE_TYPE_IN_2_60 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_62 +#define GIO_DEPRECATED_IN_2_62 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_62_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_62 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_62_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_62 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_62_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_62 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_62_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_62 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_62_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_62 +#define GIO_DEPRECATED_MACRO_IN_2_62_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_62 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_62_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_62 +#define GIO_DEPRECATED_TYPE_IN_2_62_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_62 +#define GIO_AVAILABLE_IN_2_62 GIO_UNAVAILABLE (2, 62) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_62 GLIB_UNAVAILABLE_STATIC_INLINE (2, 62) +#define GIO_AVAILABLE_MACRO_IN_2_62 GLIB_UNAVAILABLE_MACRO (2, 62) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_62 GLIB_UNAVAILABLE_ENUMERATOR (2, 62) +#define GIO_AVAILABLE_TYPE_IN_2_62 GLIB_UNAVAILABLE_TYPE (2, 62) +#else +#define GIO_AVAILABLE_IN_2_62 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_62 +#define GIO_AVAILABLE_MACRO_IN_2_62 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_62 +#define GIO_AVAILABLE_TYPE_IN_2_62 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_64 +#define GIO_DEPRECATED_IN_2_64 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_64_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_64 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_64_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_64 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_64_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_64 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_64_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_64 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_64_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_64 +#define GIO_DEPRECATED_MACRO_IN_2_64_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_64 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_64_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_64 +#define GIO_DEPRECATED_TYPE_IN_2_64_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_64 +#define GIO_AVAILABLE_IN_2_64 GIO_UNAVAILABLE (2, 64) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_64 GLIB_UNAVAILABLE_STATIC_INLINE (2, 64) +#define GIO_AVAILABLE_MACRO_IN_2_64 GLIB_UNAVAILABLE_MACRO (2, 64) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_64 GLIB_UNAVAILABLE_ENUMERATOR (2, 64) +#define GIO_AVAILABLE_TYPE_IN_2_64 GLIB_UNAVAILABLE_TYPE (2, 64) +#else +#define GIO_AVAILABLE_IN_2_64 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_64 +#define GIO_AVAILABLE_MACRO_IN_2_64 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_64 +#define GIO_AVAILABLE_TYPE_IN_2_64 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_66 +#define GIO_DEPRECATED_IN_2_66 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_66_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_66 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_66_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_66 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_66_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_66 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_66_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_66 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_66_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_66 +#define GIO_DEPRECATED_MACRO_IN_2_66_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_66 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_66_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_66 +#define GIO_DEPRECATED_TYPE_IN_2_66_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_66 +#define GIO_AVAILABLE_IN_2_66 GIO_UNAVAILABLE (2, 66) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_66 GLIB_UNAVAILABLE_STATIC_INLINE (2, 66) +#define GIO_AVAILABLE_MACRO_IN_2_66 GLIB_UNAVAILABLE_MACRO (2, 66) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_66 GLIB_UNAVAILABLE_ENUMERATOR (2, 66) +#define GIO_AVAILABLE_TYPE_IN_2_66 GLIB_UNAVAILABLE_TYPE (2, 66) +#else +#define GIO_AVAILABLE_IN_2_66 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_66 +#define GIO_AVAILABLE_MACRO_IN_2_66 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_66 +#define GIO_AVAILABLE_TYPE_IN_2_66 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_68 +#define GIO_DEPRECATED_IN_2_68 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_68_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_68 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_68_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_68 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_68_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_68 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_68_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_68 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_68_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_68 +#define GIO_DEPRECATED_MACRO_IN_2_68_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_68 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_68_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_68 +#define GIO_DEPRECATED_TYPE_IN_2_68_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_68 +#define GIO_AVAILABLE_IN_2_68 GIO_UNAVAILABLE (2, 68) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_68 GLIB_UNAVAILABLE_STATIC_INLINE (2, 68) +#define GIO_AVAILABLE_MACRO_IN_2_68 GLIB_UNAVAILABLE_MACRO (2, 68) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_68 GLIB_UNAVAILABLE_ENUMERATOR (2, 68) +#define GIO_AVAILABLE_TYPE_IN_2_68 GLIB_UNAVAILABLE_TYPE (2, 68) +#else +#define GIO_AVAILABLE_IN_2_68 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_68 +#define GIO_AVAILABLE_MACRO_IN_2_68 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_68 +#define GIO_AVAILABLE_TYPE_IN_2_68 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_70 +#define GIO_DEPRECATED_IN_2_70 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_70_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_70 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_70_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_70 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_70_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_70 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_70_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_70 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_70_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_70 +#define GIO_DEPRECATED_MACRO_IN_2_70_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_70 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_70_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_70 +#define GIO_DEPRECATED_TYPE_IN_2_70_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_70 +#define GIO_AVAILABLE_IN_2_70 GIO_UNAVAILABLE (2, 70) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_70 GLIB_UNAVAILABLE_STATIC_INLINE (2, 70) +#define GIO_AVAILABLE_MACRO_IN_2_70 GLIB_UNAVAILABLE_MACRO (2, 70) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_70 GLIB_UNAVAILABLE_ENUMERATOR (2, 70) +#define GIO_AVAILABLE_TYPE_IN_2_70 GLIB_UNAVAILABLE_TYPE (2, 70) +#else +#define GIO_AVAILABLE_IN_2_70 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_70 +#define GIO_AVAILABLE_MACRO_IN_2_70 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_70 +#define GIO_AVAILABLE_TYPE_IN_2_70 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_72 +#define GIO_DEPRECATED_IN_2_72 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_72_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_72 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_72_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_72 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_72_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_72 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_72_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_72 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_72_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_72 +#define GIO_DEPRECATED_MACRO_IN_2_72_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_72 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_72_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_72 +#define GIO_DEPRECATED_TYPE_IN_2_72_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_72 +#define GIO_AVAILABLE_IN_2_72 GIO_UNAVAILABLE (2, 72) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_72 GLIB_UNAVAILABLE_STATIC_INLINE (2, 72) +#define GIO_AVAILABLE_MACRO_IN_2_72 GLIB_UNAVAILABLE_MACRO (2, 72) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_72 GLIB_UNAVAILABLE_ENUMERATOR (2, 72) +#define GIO_AVAILABLE_TYPE_IN_2_72 GLIB_UNAVAILABLE_TYPE (2, 72) +#else +#define GIO_AVAILABLE_IN_2_72 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_72 +#define GIO_AVAILABLE_MACRO_IN_2_72 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_72 +#define GIO_AVAILABLE_TYPE_IN_2_72 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_74 +#define GIO_DEPRECATED_IN_2_74 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_74_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_74 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_74_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_74 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_74_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_74 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_74_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_74 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_74_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_74 +#define GIO_DEPRECATED_MACRO_IN_2_74_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_74 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_74_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_74 +#define GIO_DEPRECATED_TYPE_IN_2_74_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_74 +#define GIO_AVAILABLE_IN_2_74 GIO_UNAVAILABLE (2, 74) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_74 GLIB_UNAVAILABLE_STATIC_INLINE (2, 74) +#define GIO_AVAILABLE_MACRO_IN_2_74 GLIB_UNAVAILABLE_MACRO (2, 74) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_74 GLIB_UNAVAILABLE_ENUMERATOR (2, 74) +#define GIO_AVAILABLE_TYPE_IN_2_74 GLIB_UNAVAILABLE_TYPE (2, 74) +#else +#define GIO_AVAILABLE_IN_2_74 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_74 +#define GIO_AVAILABLE_MACRO_IN_2_74 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_74 +#define GIO_AVAILABLE_TYPE_IN_2_74 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_76 +#define GIO_DEPRECATED_IN_2_76 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_76_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_76 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_76_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_76 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_76_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_76 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_76_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_76 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_76_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_76 +#define GIO_DEPRECATED_MACRO_IN_2_76_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_76 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_76_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_76 +#define GIO_DEPRECATED_TYPE_IN_2_76_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_76 +#define GIO_AVAILABLE_IN_2_76 GIO_UNAVAILABLE (2, 76) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_76 GLIB_UNAVAILABLE_STATIC_INLINE (2, 76) +#define GIO_AVAILABLE_MACRO_IN_2_76 GLIB_UNAVAILABLE_MACRO (2, 76) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_76 GLIB_UNAVAILABLE_ENUMERATOR (2, 76) +#define GIO_AVAILABLE_TYPE_IN_2_76 GLIB_UNAVAILABLE_TYPE (2, 76) +#else +#define GIO_AVAILABLE_IN_2_76 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_76 +#define GIO_AVAILABLE_MACRO_IN_2_76 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_76 +#define GIO_AVAILABLE_TYPE_IN_2_76 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_78 +#define GIO_DEPRECATED_IN_2_78 GIO_DEPRECATED +#define GIO_DEPRECATED_IN_2_78_FOR(f) GIO_DEPRECATED_FOR (f) +#define GIO_DEPRECATED_MACRO_IN_2_78 GLIB_DEPRECATED_MACRO +#define GIO_DEPRECATED_MACRO_IN_2_78_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_78 GLIB_DEPRECATED_ENUMERATOR +#define GIO_DEPRECATED_ENUMERATOR_IN_2_78_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GIO_DEPRECATED_TYPE_IN_2_78 GLIB_DEPRECATED_TYPE +#define GIO_DEPRECATED_TYPE_IN_2_78_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GIO_DEPRECATED_IN_2_78 _GIO_EXTERN +#define GIO_DEPRECATED_IN_2_78_FOR(f) _GIO_EXTERN +#define GIO_DEPRECATED_MACRO_IN_2_78 +#define GIO_DEPRECATED_MACRO_IN_2_78_FOR(f) +#define GIO_DEPRECATED_ENUMERATOR_IN_2_78 +#define GIO_DEPRECATED_ENUMERATOR_IN_2_78_FOR(f) +#define GIO_DEPRECATED_TYPE_IN_2_78 +#define GIO_DEPRECATED_TYPE_IN_2_78_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_78 +#define GIO_AVAILABLE_IN_2_78 GIO_UNAVAILABLE (2, 78) +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_78 GLIB_UNAVAILABLE_STATIC_INLINE (2, 78) +#define GIO_AVAILABLE_MACRO_IN_2_78 GLIB_UNAVAILABLE_MACRO (2, 78) +#define GIO_AVAILABLE_ENUMERATOR_IN_2_78 GLIB_UNAVAILABLE_ENUMERATOR (2, 78) +#define GIO_AVAILABLE_TYPE_IN_2_78 GLIB_UNAVAILABLE_TYPE (2, 78) +#else +#define GIO_AVAILABLE_IN_2_78 _GIO_EXTERN +#define GIO_AVAILABLE_STATIC_INLINE_IN_2_78 +#define GIO_AVAILABLE_MACRO_IN_2_78 +#define GIO_AVAILABLE_ENUMERATOR_IN_2_78 +#define GIO_AVAILABLE_TYPE_IN_2_78 +#endif diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gio.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gio.h new file mode 100644 index 0000000..c17657d --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gio.h @@ -0,0 +1,186 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_IO_H__ +#define __G_IO_H__ + +#define __GIO_GIO_H_INSIDE__ + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#undef __GIO_GIO_H_INSIDE__ + +#endif /* __G_IO_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gioenums.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gioenums.h new file mode 100644 index 0000000..c820cd3 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gioenums.h @@ -0,0 +1,2149 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __GIO_ENUMS_H__ +#define __GIO_ENUMS_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + + +/** + * GAppInfoCreateFlags: + * @G_APP_INFO_CREATE_NONE: No flags. + * @G_APP_INFO_CREATE_NEEDS_TERMINAL: Application opens in a terminal window. + * @G_APP_INFO_CREATE_SUPPORTS_URIS: Application supports URI arguments. + * @G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION: Application supports startup notification. Since 2.26 + * + * Flags used when creating a #GAppInfo. + */ +typedef enum { + G_APP_INFO_CREATE_NONE = 0, /*< nick=none >*/ + G_APP_INFO_CREATE_NEEDS_TERMINAL = (1 << 0), /*< nick=needs-terminal >*/ + G_APP_INFO_CREATE_SUPPORTS_URIS = (1 << 1), /*< nick=supports-uris >*/ + G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION = (1 << 2) /*< nick=supports-startup-notification >*/ +} GAppInfoCreateFlags; + +/** + * GConverterFlags: + * @G_CONVERTER_NO_FLAGS: No flags. + * @G_CONVERTER_INPUT_AT_END: At end of input data + * @G_CONVERTER_FLUSH: Flush data + * + * Flags used when calling a g_converter_convert(). + * + * Since: 2.24 + */ +typedef enum { + G_CONVERTER_NO_FLAGS = 0, /*< nick=none >*/ + G_CONVERTER_INPUT_AT_END = (1 << 0), /*< nick=input-at-end >*/ + G_CONVERTER_FLUSH = (1 << 1) /*< nick=flush >*/ +} GConverterFlags; + +/** + * GConverterResult: + * @G_CONVERTER_ERROR: There was an error during conversion. + * @G_CONVERTER_CONVERTED: Some data was consumed or produced + * @G_CONVERTER_FINISHED: The conversion is finished + * @G_CONVERTER_FLUSHED: Flushing is finished + * + * Results returned from g_converter_convert(). + * + * Since: 2.24 + */ +typedef enum { + G_CONVERTER_ERROR = 0, /*< nick=error >*/ + G_CONVERTER_CONVERTED = 1, /*< nick=converted >*/ + G_CONVERTER_FINISHED = 2, /*< nick=finished >*/ + G_CONVERTER_FLUSHED = 3 /*< nick=flushed >*/ +} GConverterResult; + + +/** + * GDataStreamByteOrder: + * @G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN: Selects Big Endian byte order. + * @G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN: Selects Little Endian byte order. + * @G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN: Selects endianness based on host machine's architecture. + * + * #GDataStreamByteOrder is used to ensure proper endianness of streaming data sources + * across various machine architectures. + * + **/ +typedef enum { + G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN, + G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN, + G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN +} GDataStreamByteOrder; + + +/** + * GDataStreamNewlineType: + * @G_DATA_STREAM_NEWLINE_TYPE_LF: Selects "LF" line endings, common on most modern UNIX platforms. + * @G_DATA_STREAM_NEWLINE_TYPE_CR: Selects "CR" line endings. + * @G_DATA_STREAM_NEWLINE_TYPE_CR_LF: Selects "CR, LF" line ending, common on Microsoft Windows. + * @G_DATA_STREAM_NEWLINE_TYPE_ANY: Automatically try to handle any line ending type. + * + * #GDataStreamNewlineType is used when checking for or setting the line endings for a given file. + **/ +typedef enum { + G_DATA_STREAM_NEWLINE_TYPE_LF, + G_DATA_STREAM_NEWLINE_TYPE_CR, + G_DATA_STREAM_NEWLINE_TYPE_CR_LF, + G_DATA_STREAM_NEWLINE_TYPE_ANY +} GDataStreamNewlineType; + + +/** + * GFileAttributeType: + * @G_FILE_ATTRIBUTE_TYPE_INVALID: indicates an invalid or uninitialized type. + * @G_FILE_ATTRIBUTE_TYPE_STRING: a null terminated UTF8 string. + * @G_FILE_ATTRIBUTE_TYPE_BYTE_STRING: a zero terminated string of non-zero bytes. + * @G_FILE_ATTRIBUTE_TYPE_BOOLEAN: a boolean value. + * @G_FILE_ATTRIBUTE_TYPE_UINT32: an unsigned 4-byte/32-bit integer. + * @G_FILE_ATTRIBUTE_TYPE_INT32: a signed 4-byte/32-bit integer. + * @G_FILE_ATTRIBUTE_TYPE_UINT64: an unsigned 8-byte/64-bit integer. + * @G_FILE_ATTRIBUTE_TYPE_INT64: a signed 8-byte/64-bit integer. + * @G_FILE_ATTRIBUTE_TYPE_OBJECT: a #GObject. + * @G_FILE_ATTRIBUTE_TYPE_STRINGV: a %NULL terminated char **. Since 2.22 + * + * The data types for file attributes. + **/ +typedef enum { + G_FILE_ATTRIBUTE_TYPE_INVALID = 0, + G_FILE_ATTRIBUTE_TYPE_STRING, + G_FILE_ATTRIBUTE_TYPE_BYTE_STRING, /* zero terminated string of non-zero bytes */ + G_FILE_ATTRIBUTE_TYPE_BOOLEAN, + G_FILE_ATTRIBUTE_TYPE_UINT32, + G_FILE_ATTRIBUTE_TYPE_INT32, + G_FILE_ATTRIBUTE_TYPE_UINT64, + G_FILE_ATTRIBUTE_TYPE_INT64, + G_FILE_ATTRIBUTE_TYPE_OBJECT, + G_FILE_ATTRIBUTE_TYPE_STRINGV +} GFileAttributeType; + + +/** + * GFileAttributeInfoFlags: + * @G_FILE_ATTRIBUTE_INFO_NONE: no flags set. + * @G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE: copy the attribute values when the file is copied. + * @G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED: copy the attribute values when the file is moved. + * + * Flags specifying the behaviour of an attribute. + **/ +typedef enum { + G_FILE_ATTRIBUTE_INFO_NONE = 0, + G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE = (1 << 0), + G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED = (1 << 1) +} GFileAttributeInfoFlags; + + +/** + * GFileAttributeStatus: + * @G_FILE_ATTRIBUTE_STATUS_UNSET: Attribute value is unset (empty). + * @G_FILE_ATTRIBUTE_STATUS_SET: Attribute value is set. + * @G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING: Indicates an error in setting the value. + * + * Used by g_file_set_attributes_from_info() when setting file attributes. + **/ +typedef enum { + G_FILE_ATTRIBUTE_STATUS_UNSET = 0, + G_FILE_ATTRIBUTE_STATUS_SET, + G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING +} GFileAttributeStatus; + + +/** + * GFileQueryInfoFlags: + * @G_FILE_QUERY_INFO_NONE: No flags set. + * @G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS: Don't follow symlinks. + * + * Flags used when querying a #GFileInfo. + */ +typedef enum { + G_FILE_QUERY_INFO_NONE = 0, + G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS = (1 << 0) /*< nick=nofollow-symlinks >*/ +} GFileQueryInfoFlags; + + +/** + * GFileCreateFlags: + * @G_FILE_CREATE_NONE: No flags set. + * @G_FILE_CREATE_PRIVATE: Create a file that can only be + * accessed by the current user. + * @G_FILE_CREATE_REPLACE_DESTINATION: Replace the destination + * as if it didn't exist before. Don't try to keep any old + * permissions, replace instead of following links. This + * is generally useful if you're doing a "copy over" + * rather than a "save new version of" replace operation. + * You can think of it as "unlink destination" before + * writing to it, although the implementation may not + * be exactly like that. This flag can only be used with + * g_file_replace() and its variants, including g_file_replace_contents(). + * Since 2.20 + * + * Flags used when an operation may create a file. + */ +typedef enum { + G_FILE_CREATE_NONE = 0, + G_FILE_CREATE_PRIVATE = (1 << 0), + G_FILE_CREATE_REPLACE_DESTINATION = (1 << 1) +} GFileCreateFlags; + +/** + * GFileMeasureFlags: + * @G_FILE_MEASURE_NONE: No flags set. + * @G_FILE_MEASURE_REPORT_ANY_ERROR: Report any error encountered + * while traversing the directory tree. Normally errors are only + * reported for the toplevel file. + * @G_FILE_MEASURE_APPARENT_SIZE: Tally usage based on apparent file + * sizes. Normally, the block-size is used, if available, as this is a + * more accurate representation of disk space used. + * Compare with `du --apparent-size`. + * Since GLib 2.78. and similarly to `du` since GNU Coreutils 9.2, this will + * ignore the sizes of file types other than regular files and links, as the + * sizes of other file types are not specified in a standard way. + * @G_FILE_MEASURE_NO_XDEV: Do not cross mount point boundaries. + * Compare with `du -x`. + * + * Flags that can be used with g_file_measure_disk_usage(). + * + * Since: 2.38 + **/ +typedef enum { + G_FILE_MEASURE_NONE = 0, + G_FILE_MEASURE_REPORT_ANY_ERROR = (1 << 1), + G_FILE_MEASURE_APPARENT_SIZE = (1 << 2), + G_FILE_MEASURE_NO_XDEV = (1 << 3) +} GFileMeasureFlags; + +/** + * GMountMountFlags: + * @G_MOUNT_MOUNT_NONE: No flags set. + * + * Flags used when mounting a mount. + */ +typedef enum /*< flags >*/ { + G_MOUNT_MOUNT_NONE = 0 +} GMountMountFlags; + + +/** + * GMountUnmountFlags: + * @G_MOUNT_UNMOUNT_NONE: No flags set. + * @G_MOUNT_UNMOUNT_FORCE: Unmount even if there are outstanding + * file operations on the mount. + * + * Flags used when an unmounting a mount. + */ +typedef enum { + G_MOUNT_UNMOUNT_NONE = 0, + G_MOUNT_UNMOUNT_FORCE = (1 << 0) +} GMountUnmountFlags; + +/** + * GDriveStartFlags: + * @G_DRIVE_START_NONE: No flags set. + * + * Flags used when starting a drive. + * + * Since: 2.22 + */ +typedef enum /*< flags >*/ { + G_DRIVE_START_NONE = 0 +} GDriveStartFlags; + +/** + * GDriveStartStopType: + * @G_DRIVE_START_STOP_TYPE_UNKNOWN: Unknown or drive doesn't support + * start/stop. + * @G_DRIVE_START_STOP_TYPE_SHUTDOWN: The stop method will physically + * shut down the drive and e.g. power down the port the drive is + * attached to. + * @G_DRIVE_START_STOP_TYPE_NETWORK: The start/stop methods are used + * for connecting/disconnect to the drive over the network. + * @G_DRIVE_START_STOP_TYPE_MULTIDISK: The start/stop methods will + * assemble/disassemble a virtual drive from several physical + * drives. + * @G_DRIVE_START_STOP_TYPE_PASSWORD: The start/stop methods will + * unlock/lock the disk (for example using the ATA SECURITY + * UNLOCK DEVICE command) + * + * Enumeration describing how a drive can be started/stopped. + * + * Since: 2.22 + */ +typedef enum { + G_DRIVE_START_STOP_TYPE_UNKNOWN, + G_DRIVE_START_STOP_TYPE_SHUTDOWN, + G_DRIVE_START_STOP_TYPE_NETWORK, + G_DRIVE_START_STOP_TYPE_MULTIDISK, + G_DRIVE_START_STOP_TYPE_PASSWORD +} GDriveStartStopType; + +/** + * GFileCopyFlags: + * @G_FILE_COPY_NONE: No flags set. + * @G_FILE_COPY_OVERWRITE: Overwrite any existing files + * @G_FILE_COPY_BACKUP: Make a backup of any existing files. + * @G_FILE_COPY_NOFOLLOW_SYMLINKS: Don't follow symlinks. + * @G_FILE_COPY_ALL_METADATA: Copy all file metadata instead of just default set used for copy (see #GFileInfo). + * @G_FILE_COPY_NO_FALLBACK_FOR_MOVE: Don't use copy and delete fallback if native move not supported. + * @G_FILE_COPY_TARGET_DEFAULT_PERMS: Leaves target file with default perms, instead of setting the source file perms. + * + * Flags used when copying or moving files. + */ +typedef enum { + G_FILE_COPY_NONE = 0, /*< nick=none >*/ + G_FILE_COPY_OVERWRITE = (1 << 0), + G_FILE_COPY_BACKUP = (1 << 1), + G_FILE_COPY_NOFOLLOW_SYMLINKS = (1 << 2), + G_FILE_COPY_ALL_METADATA = (1 << 3), + G_FILE_COPY_NO_FALLBACK_FOR_MOVE = (1 << 4), + G_FILE_COPY_TARGET_DEFAULT_PERMS = (1 << 5) +} GFileCopyFlags; + + +/** + * GFileMonitorFlags: + * @G_FILE_MONITOR_NONE: No flags set. + * @G_FILE_MONITOR_WATCH_MOUNTS: Watch for mount events. + * @G_FILE_MONITOR_SEND_MOVED: Pair DELETED and CREATED events caused + * by file renames (moves) and send a single G_FILE_MONITOR_EVENT_MOVED + * event instead (NB: not supported on all backends; the default + * behaviour -without specifying this flag- is to send single DELETED + * and CREATED events). Deprecated since 2.46: use + * %G_FILE_MONITOR_WATCH_MOVES instead. + * @G_FILE_MONITOR_WATCH_HARD_LINKS: Watch for changes to the file made + * via another hard link. Since 2.36. + * @G_FILE_MONITOR_WATCH_MOVES: Watch for rename operations on a + * monitored directory. This causes %G_FILE_MONITOR_EVENT_RENAMED, + * %G_FILE_MONITOR_EVENT_MOVED_IN and %G_FILE_MONITOR_EVENT_MOVED_OUT + * events to be emitted when possible. Since: 2.46. + * + * Flags used to set what a #GFileMonitor will watch for. + */ +typedef enum { + G_FILE_MONITOR_NONE = 0, + G_FILE_MONITOR_WATCH_MOUNTS = (1 << 0), + G_FILE_MONITOR_SEND_MOVED = (1 << 1), + G_FILE_MONITOR_WATCH_HARD_LINKS = (1 << 2), + G_FILE_MONITOR_WATCH_MOVES = (1 << 3) +} GFileMonitorFlags; + + +/** + * GFileType: + * @G_FILE_TYPE_UNKNOWN: File's type is unknown. + * @G_FILE_TYPE_REGULAR: File handle represents a regular file. + * @G_FILE_TYPE_DIRECTORY: File handle represents a directory. + * @G_FILE_TYPE_SYMBOLIC_LINK: File handle represents a symbolic link + * (Unix systems). + * @G_FILE_TYPE_SPECIAL: File is a "special" file, such as a socket, fifo, + * block device, or character device. + * @G_FILE_TYPE_SHORTCUT: File is a shortcut (Windows systems). + * @G_FILE_TYPE_MOUNTABLE: File is a mountable location. + * + * Indicates the file's on-disk type. + * + * On Windows systems a file will never have %G_FILE_TYPE_SYMBOLIC_LINK type; + * use #GFileInfo and %G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK to determine + * whether a file is a symlink or not. This is due to the fact that NTFS does + * not have a single filesystem object type for symbolic links - it has + * files that symlink to files, and directories that symlink to directories. + * #GFileType enumeration cannot precisely represent this important distinction, + * which is why all Windows symlinks will continue to be reported as + * %G_FILE_TYPE_REGULAR or %G_FILE_TYPE_DIRECTORY. + **/ +typedef enum { + G_FILE_TYPE_UNKNOWN = 0, + G_FILE_TYPE_REGULAR, + G_FILE_TYPE_DIRECTORY, + G_FILE_TYPE_SYMBOLIC_LINK, + G_FILE_TYPE_SPECIAL, /* socket, fifo, blockdev, chardev */ + G_FILE_TYPE_SHORTCUT, + G_FILE_TYPE_MOUNTABLE +} GFileType; + + +/** + * GFilesystemPreviewType: + * @G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS: Only preview files if user has explicitly requested it. + * @G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL: Preview files if user has requested preview of "local" files. + * @G_FILESYSTEM_PREVIEW_TYPE_NEVER: Never preview files. + * + * Indicates a hint from the file system whether files should be + * previewed in a file manager. Returned as the value of the key + * %G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW. + **/ +typedef enum { + G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS = 0, + G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL, + G_FILESYSTEM_PREVIEW_TYPE_NEVER +} GFilesystemPreviewType; + + +/** + * GFileMonitorEvent: + * @G_FILE_MONITOR_EVENT_CHANGED: a file changed. + * @G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT: a hint that this was probably the last change in a set of changes. + * @G_FILE_MONITOR_EVENT_DELETED: a file was deleted. + * @G_FILE_MONITOR_EVENT_CREATED: a file was created. + * @G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED: a file attribute was changed. + * @G_FILE_MONITOR_EVENT_PRE_UNMOUNT: the file location will soon be unmounted. + * @G_FILE_MONITOR_EVENT_UNMOUNTED: the file location was unmounted. + * @G_FILE_MONITOR_EVENT_MOVED: the file was moved -- only sent if the + * (deprecated) %G_FILE_MONITOR_SEND_MOVED flag is set + * @G_FILE_MONITOR_EVENT_RENAMED: the file was renamed within the + * current directory -- only sent if the %G_FILE_MONITOR_WATCH_MOVES + * flag is set. Since: 2.46. + * @G_FILE_MONITOR_EVENT_MOVED_IN: the file was moved into the + * monitored directory from another location -- only sent if the + * %G_FILE_MONITOR_WATCH_MOVES flag is set. Since: 2.46. + * @G_FILE_MONITOR_EVENT_MOVED_OUT: the file was moved out of the + * monitored directory to another location -- only sent if the + * %G_FILE_MONITOR_WATCH_MOVES flag is set. Since: 2.46 + * + * Specifies what type of event a monitor event is. + **/ +typedef enum { + G_FILE_MONITOR_EVENT_CHANGED, + G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT, + G_FILE_MONITOR_EVENT_DELETED, + G_FILE_MONITOR_EVENT_CREATED, + G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED, + G_FILE_MONITOR_EVENT_PRE_UNMOUNT, + G_FILE_MONITOR_EVENT_UNMOUNTED, + G_FILE_MONITOR_EVENT_MOVED, + G_FILE_MONITOR_EVENT_RENAMED, + G_FILE_MONITOR_EVENT_MOVED_IN, + G_FILE_MONITOR_EVENT_MOVED_OUT +} GFileMonitorEvent; + + +/* This enumeration conflicts with GIOError in giochannel.h. However, + * that is only used as a return value in some deprecated functions. + * So, we reuse the same prefix for the enumeration values, but call + * the actual enumeration (which is rarely used) GIOErrorEnum. + */ +/** + * GIOErrorEnum: + * @G_IO_ERROR_FAILED: Generic error condition for when an operation fails + * and no more specific #GIOErrorEnum value is defined. + * @G_IO_ERROR_NOT_FOUND: File not found. + * @G_IO_ERROR_EXISTS: File already exists. + * @G_IO_ERROR_IS_DIRECTORY: File is a directory. + * @G_IO_ERROR_NOT_DIRECTORY: File is not a directory. + * @G_IO_ERROR_NOT_EMPTY: File is a directory that isn't empty. + * @G_IO_ERROR_NOT_REGULAR_FILE: File is not a regular file. + * @G_IO_ERROR_NOT_SYMBOLIC_LINK: File is not a symbolic link. + * @G_IO_ERROR_NOT_MOUNTABLE_FILE: File cannot be mounted. + * @G_IO_ERROR_FILENAME_TOO_LONG: Filename is too many characters. + * @G_IO_ERROR_INVALID_FILENAME: Filename is invalid or contains invalid characters. + * @G_IO_ERROR_TOO_MANY_LINKS: File contains too many symbolic links. + * @G_IO_ERROR_NO_SPACE: No space left on drive. + * @G_IO_ERROR_INVALID_ARGUMENT: Invalid argument. + * @G_IO_ERROR_PERMISSION_DENIED: Permission denied. + * @G_IO_ERROR_NOT_SUPPORTED: Operation (or one of its parameters) not supported + * @G_IO_ERROR_NOT_MOUNTED: File isn't mounted. + * @G_IO_ERROR_ALREADY_MOUNTED: File is already mounted. + * @G_IO_ERROR_CLOSED: File was closed. + * @G_IO_ERROR_CANCELLED: Operation was cancelled. See #GCancellable. + * @G_IO_ERROR_PENDING: Operations are still pending. + * @G_IO_ERROR_READ_ONLY: File is read only. + * @G_IO_ERROR_CANT_CREATE_BACKUP: Backup couldn't be created. + * @G_IO_ERROR_WRONG_ETAG: File's Entity Tag was incorrect. + * @G_IO_ERROR_TIMED_OUT: Operation timed out. + * @G_IO_ERROR_WOULD_RECURSE: Operation would be recursive. + * @G_IO_ERROR_BUSY: File is busy. + * @G_IO_ERROR_WOULD_BLOCK: Operation would block. + * @G_IO_ERROR_HOST_NOT_FOUND: Host couldn't be found (remote operations). + * @G_IO_ERROR_WOULD_MERGE: Operation would merge files. + * @G_IO_ERROR_FAILED_HANDLED: Operation failed and a helper program has + * already interacted with the user. Do not display any error dialog. + * @G_IO_ERROR_TOO_MANY_OPEN_FILES: The current process has too many files + * open and can't open any more. Duplicate descriptors do count toward + * this limit. Since 2.20 + * @G_IO_ERROR_NOT_INITIALIZED: The object has not been initialized. Since 2.22 + * @G_IO_ERROR_ADDRESS_IN_USE: The requested address is already in use. Since 2.22 + * @G_IO_ERROR_PARTIAL_INPUT: Need more input to finish operation. Since 2.24 + * @G_IO_ERROR_INVALID_DATA: The input data was invalid. Since 2.24 + * @G_IO_ERROR_DBUS_ERROR: A remote object generated an error that + * doesn't correspond to a locally registered #GError error + * domain. Use g_dbus_error_get_remote_error() to extract the D-Bus + * error name and g_dbus_error_strip_remote_error() to fix up the + * message so it matches what was received on the wire. Since 2.26. + * @G_IO_ERROR_HOST_UNREACHABLE: Host unreachable. Since 2.26 + * @G_IO_ERROR_NETWORK_UNREACHABLE: Network unreachable. Since 2.26 + * @G_IO_ERROR_CONNECTION_REFUSED: Connection refused. Since 2.26 + * @G_IO_ERROR_PROXY_FAILED: Connection to proxy server failed. Since 2.26 + * @G_IO_ERROR_PROXY_AUTH_FAILED: Proxy authentication failed. Since 2.26 + * @G_IO_ERROR_PROXY_NEED_AUTH: Proxy server needs authentication. Since 2.26 + * @G_IO_ERROR_PROXY_NOT_ALLOWED: Proxy connection is not allowed by ruleset. + * Since 2.26 + * @G_IO_ERROR_BROKEN_PIPE: Broken pipe. Since 2.36 + * @G_IO_ERROR_CONNECTION_CLOSED: Connection closed by peer. Note that this + * is the same code as %G_IO_ERROR_BROKEN_PIPE; before 2.44 some + * "connection closed" errors returned %G_IO_ERROR_BROKEN_PIPE, but others + * returned %G_IO_ERROR_FAILED. Now they should all return the same + * value, which has this more logical name. Since 2.44. + * @G_IO_ERROR_NOT_CONNECTED: Transport endpoint is not connected. Since 2.44 + * @G_IO_ERROR_MESSAGE_TOO_LARGE: Message too large. Since 2.48. + * @G_IO_ERROR_NO_SUCH_DEVICE: No such device found. Since 2.74 + * + * Error codes returned by GIO functions. + * + * Note that this domain may be extended in future GLib releases. In + * general, new error codes either only apply to new APIs, or else + * replace %G_IO_ERROR_FAILED in cases that were not explicitly + * distinguished before. You should therefore avoid writing code like + * |[ + * if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_FAILED)) + * { + * // Assume that this is EPRINTERONFIRE + * ... + * } + * ]| + * but should instead treat all unrecognized error codes the same as + * %G_IO_ERROR_FAILED. + * + * See also #GPollableReturn for a cheaper way of returning + * %G_IO_ERROR_WOULD_BLOCK to callers without allocating a #GError. + **/ +typedef enum { + G_IO_ERROR_FAILED, + G_IO_ERROR_NOT_FOUND, + G_IO_ERROR_EXISTS, + G_IO_ERROR_IS_DIRECTORY, + G_IO_ERROR_NOT_DIRECTORY, + G_IO_ERROR_NOT_EMPTY, + G_IO_ERROR_NOT_REGULAR_FILE, + G_IO_ERROR_NOT_SYMBOLIC_LINK, + G_IO_ERROR_NOT_MOUNTABLE_FILE, + G_IO_ERROR_FILENAME_TOO_LONG, + G_IO_ERROR_INVALID_FILENAME, + G_IO_ERROR_TOO_MANY_LINKS, + G_IO_ERROR_NO_SPACE, + G_IO_ERROR_INVALID_ARGUMENT, + G_IO_ERROR_PERMISSION_DENIED, + G_IO_ERROR_NOT_SUPPORTED, + G_IO_ERROR_NOT_MOUNTED, + G_IO_ERROR_ALREADY_MOUNTED, + G_IO_ERROR_CLOSED, + G_IO_ERROR_CANCELLED, + G_IO_ERROR_PENDING, + G_IO_ERROR_READ_ONLY, + G_IO_ERROR_CANT_CREATE_BACKUP, + G_IO_ERROR_WRONG_ETAG, + G_IO_ERROR_TIMED_OUT, + G_IO_ERROR_WOULD_RECURSE, + G_IO_ERROR_BUSY, + G_IO_ERROR_WOULD_BLOCK, + G_IO_ERROR_HOST_NOT_FOUND, + G_IO_ERROR_WOULD_MERGE, + G_IO_ERROR_FAILED_HANDLED, + G_IO_ERROR_TOO_MANY_OPEN_FILES, + G_IO_ERROR_NOT_INITIALIZED, + G_IO_ERROR_ADDRESS_IN_USE, + G_IO_ERROR_PARTIAL_INPUT, + G_IO_ERROR_INVALID_DATA, + G_IO_ERROR_DBUS_ERROR, + G_IO_ERROR_HOST_UNREACHABLE, + G_IO_ERROR_NETWORK_UNREACHABLE, + G_IO_ERROR_CONNECTION_REFUSED, + G_IO_ERROR_PROXY_FAILED, + G_IO_ERROR_PROXY_AUTH_FAILED, + G_IO_ERROR_PROXY_NEED_AUTH, + G_IO_ERROR_PROXY_NOT_ALLOWED, + G_IO_ERROR_BROKEN_PIPE, + G_IO_ERROR_CONNECTION_CLOSED = G_IO_ERROR_BROKEN_PIPE, + G_IO_ERROR_NOT_CONNECTED, + G_IO_ERROR_MESSAGE_TOO_LARGE, + G_IO_ERROR_NO_SUCH_DEVICE GIO_AVAILABLE_ENUMERATOR_IN_2_74, +} GIOErrorEnum; + + +/** + * GAskPasswordFlags: + * @G_ASK_PASSWORD_NEED_PASSWORD: operation requires a password. + * @G_ASK_PASSWORD_NEED_USERNAME: operation requires a username. + * @G_ASK_PASSWORD_NEED_DOMAIN: operation requires a domain. + * @G_ASK_PASSWORD_SAVING_SUPPORTED: operation supports saving settings. + * @G_ASK_PASSWORD_ANONYMOUS_SUPPORTED: operation supports anonymous users. + * @G_ASK_PASSWORD_TCRYPT: operation takes TCRYPT parameters (Since: 2.58) + * + * #GAskPasswordFlags are used to request specific information from the + * user, or to notify the user of their choices in an authentication + * situation. + **/ +typedef enum { + G_ASK_PASSWORD_NEED_PASSWORD = (1 << 0), + G_ASK_PASSWORD_NEED_USERNAME = (1 << 1), + G_ASK_PASSWORD_NEED_DOMAIN = (1 << 2), + G_ASK_PASSWORD_SAVING_SUPPORTED = (1 << 3), + G_ASK_PASSWORD_ANONYMOUS_SUPPORTED = (1 << 4), + G_ASK_PASSWORD_TCRYPT = (1 << 5), +} GAskPasswordFlags; + + +/** + * GPasswordSave: + * @G_PASSWORD_SAVE_NEVER: never save a password. + * @G_PASSWORD_SAVE_FOR_SESSION: save a password for the session. + * @G_PASSWORD_SAVE_PERMANENTLY: save a password permanently. + * + * #GPasswordSave is used to indicate the lifespan of a saved password. + * + * #Gvfs stores passwords in the Gnome keyring when this flag allows it + * to, and later retrieves it again from there. + **/ +typedef enum { + G_PASSWORD_SAVE_NEVER, + G_PASSWORD_SAVE_FOR_SESSION, + G_PASSWORD_SAVE_PERMANENTLY +} GPasswordSave; + + +/** + * GMountOperationResult: + * @G_MOUNT_OPERATION_HANDLED: The request was fulfilled and the + * user specified data is now available + * @G_MOUNT_OPERATION_ABORTED: The user requested the mount operation + * to be aborted + * @G_MOUNT_OPERATION_UNHANDLED: The request was unhandled (i.e. not + * implemented) + * + * #GMountOperationResult is returned as a result when a request for + * information is send by the mounting operation. + **/ +typedef enum { + G_MOUNT_OPERATION_HANDLED, + G_MOUNT_OPERATION_ABORTED, + G_MOUNT_OPERATION_UNHANDLED +} GMountOperationResult; + + +/** + * GOutputStreamSpliceFlags: + * @G_OUTPUT_STREAM_SPLICE_NONE: Do not close either stream. + * @G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE: Close the source stream after + * the splice. + * @G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET: Close the target stream after + * the splice. + * + * GOutputStreamSpliceFlags determine how streams should be spliced. + **/ +typedef enum { + G_OUTPUT_STREAM_SPLICE_NONE = 0, + G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE = (1 << 0), + G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET = (1 << 1) +} GOutputStreamSpliceFlags; + + +/** + * GIOStreamSpliceFlags: + * @G_IO_STREAM_SPLICE_NONE: Do not close either stream. + * @G_IO_STREAM_SPLICE_CLOSE_STREAM1: Close the first stream after + * the splice. + * @G_IO_STREAM_SPLICE_CLOSE_STREAM2: Close the second stream after + * the splice. + * @G_IO_STREAM_SPLICE_WAIT_FOR_BOTH: Wait for both splice operations to finish + * before calling the callback. + * + * GIOStreamSpliceFlags determine how streams should be spliced. + * + * Since: 2.28 + **/ +typedef enum { + G_IO_STREAM_SPLICE_NONE = 0, + G_IO_STREAM_SPLICE_CLOSE_STREAM1 = (1 << 0), + G_IO_STREAM_SPLICE_CLOSE_STREAM2 = (1 << 1), + G_IO_STREAM_SPLICE_WAIT_FOR_BOTH = (1 << 2) +} GIOStreamSpliceFlags; + +/** + * GEmblemOrigin: + * @G_EMBLEM_ORIGIN_UNKNOWN: Emblem of unknown origin + * @G_EMBLEM_ORIGIN_DEVICE: Emblem adds device-specific information + * @G_EMBLEM_ORIGIN_LIVEMETADATA: Emblem depicts live metadata, such as "readonly" + * @G_EMBLEM_ORIGIN_TAG: Emblem comes from a user-defined tag, e.g. set by nautilus (in the future) + * + * GEmblemOrigin is used to add information about the origin of the emblem + * to #GEmblem. + * + * Since: 2.18 + */ +typedef enum { + G_EMBLEM_ORIGIN_UNKNOWN, + G_EMBLEM_ORIGIN_DEVICE, + G_EMBLEM_ORIGIN_LIVEMETADATA, + G_EMBLEM_ORIGIN_TAG +} GEmblemOrigin; + +/** + * GResolverError: + * @G_RESOLVER_ERROR_NOT_FOUND: the requested name/address/service was not + * found + * @G_RESOLVER_ERROR_TEMPORARY_FAILURE: the requested information could not + * be looked up due to a network error or similar problem + * @G_RESOLVER_ERROR_INTERNAL: unknown error + * + * An error code used with %G_RESOLVER_ERROR in a #GError returned + * from a #GResolver routine. + * + * Since: 2.22 + */ +typedef enum { + G_RESOLVER_ERROR_NOT_FOUND, + G_RESOLVER_ERROR_TEMPORARY_FAILURE, + G_RESOLVER_ERROR_INTERNAL +} GResolverError; + +/** + * GResolverRecordType: + * @G_RESOLVER_RECORD_SRV: look up DNS SRV records for a domain + * @G_RESOLVER_RECORD_MX: look up DNS MX records for a domain + * @G_RESOLVER_RECORD_TXT: look up DNS TXT records for a name + * @G_RESOLVER_RECORD_SOA: look up DNS SOA records for a zone + * @G_RESOLVER_RECORD_NS: look up DNS NS records for a domain + * + * The type of record that g_resolver_lookup_records() or + * g_resolver_lookup_records_async() should retrieve. The records are returned + * as lists of #GVariant tuples. Each record type has different values in + * the variant tuples returned. + * + * %G_RESOLVER_RECORD_SRV records are returned as variants with the signature + * `(qqqs)`, containing a `guint16` with the priority, a `guint16` with the + * weight, a `guint16` with the port, and a string of the hostname. + * + * %G_RESOLVER_RECORD_MX records are returned as variants with the signature + * `(qs)`, representing a `guint16` with the preference, and a string containing + * the mail exchanger hostname. + * + * %G_RESOLVER_RECORD_TXT records are returned as variants with the signature + * `(as)`, representing an array of the strings in the text record. Note: Most TXT + * records only contain a single string, but + * [RFC 1035](https://tools.ietf.org/html/rfc1035#section-3.3.14) does allow a + * record to contain multiple strings. The RFC which defines the interpretation + * of a specific TXT record will likely require concatenation of multiple + * strings if they are present, as with + * [RFC 7208](https://tools.ietf.org/html/rfc7208#section-3.3). + * + * %G_RESOLVER_RECORD_SOA records are returned as variants with the signature + * `(ssuuuuu)`, representing a string containing the primary name server, a + * string containing the administrator, the serial as a `guint32`, the refresh + * interval as a `guint32`, the retry interval as a `guint32`, the expire timeout + * as a `guint32`, and the TTL as a `guint32`. + * + * %G_RESOLVER_RECORD_NS records are returned as variants with the signature + * `(s)`, representing a string of the hostname of the name server. + * + * Since: 2.34 + */ +typedef enum { + G_RESOLVER_RECORD_SRV = 1, + G_RESOLVER_RECORD_MX, + G_RESOLVER_RECORD_TXT, + G_RESOLVER_RECORD_SOA, + G_RESOLVER_RECORD_NS +} GResolverRecordType; + +/** + * GResourceError: + * @G_RESOURCE_ERROR_NOT_FOUND: no file was found at the requested path + * @G_RESOURCE_ERROR_INTERNAL: unknown error + * + * An error code used with %G_RESOURCE_ERROR in a #GError returned + * from a #GResource routine. + * + * Since: 2.32 + */ +typedef enum { + G_RESOURCE_ERROR_NOT_FOUND, + G_RESOURCE_ERROR_INTERNAL +} GResourceError; + +/** + * GResourceFlags: + * @G_RESOURCE_FLAGS_NONE: No flags set. + * @G_RESOURCE_FLAGS_COMPRESSED: The file is compressed. + * + * GResourceFlags give information about a particular file inside a resource + * bundle. + * + * Since: 2.32 + **/ +typedef enum { + G_RESOURCE_FLAGS_NONE = 0, + G_RESOURCE_FLAGS_COMPRESSED = (1<<0) +} GResourceFlags; + +/** + * GResourceLookupFlags: + * @G_RESOURCE_LOOKUP_FLAGS_NONE: No flags set. + * + * GResourceLookupFlags determine how resource path lookups are handled. + * + * Since: 2.32 + **/ +typedef enum /*< flags >*/ { + G_RESOURCE_LOOKUP_FLAGS_NONE = 0 +} GResourceLookupFlags; + +/** + * GSocketFamily: + * @G_SOCKET_FAMILY_INVALID: no address family + * @G_SOCKET_FAMILY_IPV4: the IPv4 family + * @G_SOCKET_FAMILY_IPV6: the IPv6 family + * @G_SOCKET_FAMILY_UNIX: the UNIX domain family + * + * The protocol family of a #GSocketAddress. (These values are + * identical to the system defines %AF_INET, %AF_INET6 and %AF_UNIX, + * if available.) + * + * Since: 2.22 + */ +typedef enum { + G_SOCKET_FAMILY_INVALID, + G_SOCKET_FAMILY_UNIX = GLIB_SYSDEF_AF_UNIX, + G_SOCKET_FAMILY_IPV4 = GLIB_SYSDEF_AF_INET, + G_SOCKET_FAMILY_IPV6 = GLIB_SYSDEF_AF_INET6 +} GSocketFamily; + +/** + * GSocketType: + * @G_SOCKET_TYPE_INVALID: Type unknown or wrong + * @G_SOCKET_TYPE_STREAM: Reliable connection-based byte streams (e.g. TCP). + * @G_SOCKET_TYPE_DATAGRAM: Connectionless, unreliable datagram passing. + * (e.g. UDP) + * @G_SOCKET_TYPE_SEQPACKET: Reliable connection-based passing of datagrams + * of fixed maximum length (e.g. SCTP). + * + * Flags used when creating a #GSocket. Some protocols may not implement + * all the socket types. + * + * Since: 2.22 + */ +typedef enum +{ + G_SOCKET_TYPE_INVALID, + G_SOCKET_TYPE_STREAM, + G_SOCKET_TYPE_DATAGRAM, + G_SOCKET_TYPE_SEQPACKET +} GSocketType; + +/** + * GSocketMsgFlags: + * @G_SOCKET_MSG_NONE: No flags. + * @G_SOCKET_MSG_OOB: Request to send/receive out of band data. + * @G_SOCKET_MSG_PEEK: Read data from the socket without removing it from + * the queue. + * @G_SOCKET_MSG_DONTROUTE: Don't use a gateway to send out the packet, + * only send to hosts on directly connected networks. + * + * Flags used in g_socket_receive_message() and g_socket_send_message(). + * The flags listed in the enum are some commonly available flags, but the + * values used for them are the same as on the platform, and any other flags + * are passed in/out as is. So to use a platform specific flag, just include + * the right system header and pass in the flag. + * + * Since: 2.22 + */ +typedef enum /*< flags >*/ +{ + G_SOCKET_MSG_NONE, + G_SOCKET_MSG_OOB = GLIB_SYSDEF_MSG_OOB, + G_SOCKET_MSG_PEEK = GLIB_SYSDEF_MSG_PEEK, + G_SOCKET_MSG_DONTROUTE = GLIB_SYSDEF_MSG_DONTROUTE +} GSocketMsgFlags; + +/** + * GSocketProtocol: + * @G_SOCKET_PROTOCOL_UNKNOWN: The protocol type is unknown + * @G_SOCKET_PROTOCOL_DEFAULT: The default protocol for the family/type + * @G_SOCKET_PROTOCOL_TCP: TCP over IP + * @G_SOCKET_PROTOCOL_UDP: UDP over IP + * @G_SOCKET_PROTOCOL_SCTP: SCTP over IP + * + * A protocol identifier is specified when creating a #GSocket, which is a + * family/type specific identifier, where 0 means the default protocol for + * the particular family/type. + * + * This enum contains a set of commonly available and used protocols. You + * can also pass any other identifiers handled by the platform in order to + * use protocols not listed here. + * + * Since: 2.22 + */ +typedef enum { + G_SOCKET_PROTOCOL_UNKNOWN = -1, + G_SOCKET_PROTOCOL_DEFAULT = 0, + G_SOCKET_PROTOCOL_TCP = 6, + G_SOCKET_PROTOCOL_UDP = 17, + G_SOCKET_PROTOCOL_SCTP = 132 +} GSocketProtocol; + +/** + * GZlibCompressorFormat: + * @G_ZLIB_COMPRESSOR_FORMAT_ZLIB: deflate compression with zlib header + * @G_ZLIB_COMPRESSOR_FORMAT_GZIP: gzip file format + * @G_ZLIB_COMPRESSOR_FORMAT_RAW: deflate compression with no header + * + * Used to select the type of data format to use for #GZlibDecompressor + * and #GZlibCompressor. + * + * Since: 2.24 + */ +typedef enum { + G_ZLIB_COMPRESSOR_FORMAT_ZLIB, + G_ZLIB_COMPRESSOR_FORMAT_GZIP, + G_ZLIB_COMPRESSOR_FORMAT_RAW +} GZlibCompressorFormat; + +/** + * GUnixSocketAddressType: + * @G_UNIX_SOCKET_ADDRESS_INVALID: invalid + * @G_UNIX_SOCKET_ADDRESS_ANONYMOUS: anonymous + * @G_UNIX_SOCKET_ADDRESS_PATH: a filesystem path + * @G_UNIX_SOCKET_ADDRESS_ABSTRACT: an abstract name + * @G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED: an abstract name, 0-padded + * to the full length of a unix socket name + * + * The type of name used by a #GUnixSocketAddress. + * %G_UNIX_SOCKET_ADDRESS_PATH indicates a traditional unix domain + * socket bound to a filesystem path. %G_UNIX_SOCKET_ADDRESS_ANONYMOUS + * indicates a socket not bound to any name (eg, a client-side socket, + * or a socket created with socketpair()). + * + * For abstract sockets, there are two incompatible ways of naming + * them; the man pages suggest using the entire `struct sockaddr_un` + * as the name, padding the unused parts of the %sun_path field with + * zeroes; this corresponds to %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED. + * However, many programs instead just use a portion of %sun_path, and + * pass an appropriate smaller length to bind() or connect(). This is + * %G_UNIX_SOCKET_ADDRESS_ABSTRACT. + * + * Since: 2.26 + */ +typedef enum { + G_UNIX_SOCKET_ADDRESS_INVALID, + G_UNIX_SOCKET_ADDRESS_ANONYMOUS, + G_UNIX_SOCKET_ADDRESS_PATH, + G_UNIX_SOCKET_ADDRESS_ABSTRACT, + G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED +} GUnixSocketAddressType; + +/** + * GBusType: + * @G_BUS_TYPE_STARTER: An alias for the message bus that activated the process, if any. + * @G_BUS_TYPE_NONE: Not a message bus. + * @G_BUS_TYPE_SYSTEM: The system-wide message bus. + * @G_BUS_TYPE_SESSION: The login session message bus. + * + * An enumeration for well-known message buses. + * + * Since: 2.26 + */ +typedef enum +{ + G_BUS_TYPE_STARTER = -1, + G_BUS_TYPE_NONE = 0, + G_BUS_TYPE_SYSTEM = 1, + G_BUS_TYPE_SESSION = 2 +} GBusType; + +/** + * GBusNameOwnerFlags: + * @G_BUS_NAME_OWNER_FLAGS_NONE: No flags set. + * @G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT: Allow another message bus connection to claim the name. + * @G_BUS_NAME_OWNER_FLAGS_REPLACE: If another message bus connection owns the name and have + * specified %G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT, then take the name from the other connection. + * @G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE: If another message bus connection owns the name, immediately + * return an error from g_bus_own_name() rather than entering the waiting queue for that name. (Since 2.54) + * + * Flags used in g_bus_own_name(). + * + * Since: 2.26 + */ +typedef enum +{ + G_BUS_NAME_OWNER_FLAGS_NONE = 0, /*< nick=none >*/ + G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT = (1<<0), /*< nick=allow-replacement >*/ + G_BUS_NAME_OWNER_FLAGS_REPLACE = (1<<1), /*< nick=replace >*/ + G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE = (1<<2) /*< nick=do-not-queue >*/ +} GBusNameOwnerFlags; +/* When adding new flags, their numeric values must currently match those + * used in the D-Bus Specification. */ + +/** + * GBusNameWatcherFlags: + * @G_BUS_NAME_WATCHER_FLAGS_NONE: No flags set. + * @G_BUS_NAME_WATCHER_FLAGS_AUTO_START: If no-one owns the name when + * beginning to watch the name, ask the bus to launch an owner for the + * name. + * + * Flags used in g_bus_watch_name(). + * + * Since: 2.26 + */ +typedef enum +{ + G_BUS_NAME_WATCHER_FLAGS_NONE = 0, + G_BUS_NAME_WATCHER_FLAGS_AUTO_START = (1<<0) +} GBusNameWatcherFlags; + +/** + * GDBusProxyFlags: + * @G_DBUS_PROXY_FLAGS_NONE: No flags set. + * @G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES: Don't load properties. + * @G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS: Don't connect to signals on the remote object. + * @G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START: If the proxy is for a well-known name, + * do not ask the bus to launch an owner during proxy initialization or a method call. + * This flag is only meaningful in proxies for well-known names. + * @G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES: If set, the property value for any __invalidated property__ will be (asynchronously) retrieved upon receiving the [`PropertiesChanged`](http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-properties) D-Bus signal and the property will not cause emission of the #GDBusProxy::g-properties-changed signal. When the value is received the #GDBusProxy::g-properties-changed signal is emitted for the property along with the retrieved value. Since 2.32. + * @G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION: If the proxy is for a well-known name, + * do not ask the bus to launch an owner during proxy initialization, but allow it to be + * autostarted by a method call. This flag is only meaningful in proxies for well-known names, + * and only if %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START is not also specified. + * @G_DBUS_PROXY_FLAGS_NO_MATCH_RULE: Don't actually send the AddMatch D-Bus + * call for this signal subscription. This gives you more control + * over which match rules you add (but you must add them manually). (Since: 2.72) + * + * Flags used when constructing an instance of a #GDBusProxy derived class. + * + * Since: 2.26 + */ +typedef enum +{ + G_DBUS_PROXY_FLAGS_NONE = 0, + G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES = (1<<0), + G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS = (1<<1), + G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START = (1<<2), + G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES = (1<<3), + G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION = (1<<4), + G_DBUS_PROXY_FLAGS_NO_MATCH_RULE GIO_AVAILABLE_ENUMERATOR_IN_2_72 = (1<<5) +} GDBusProxyFlags; + +/** + * GDBusError: + * @G_DBUS_ERROR_FAILED: + * A generic error; "something went wrong" - see the error message for + * more. + * @G_DBUS_ERROR_NO_MEMORY: + * There was not enough memory to complete an operation. + * @G_DBUS_ERROR_SERVICE_UNKNOWN: + * The bus doesn't know how to launch a service to supply the bus name + * you wanted. + * @G_DBUS_ERROR_NAME_HAS_NO_OWNER: + * The bus name you referenced doesn't exist (i.e. no application owns + * it). + * @G_DBUS_ERROR_NO_REPLY: + * No reply to a message expecting one, usually means a timeout occurred. + * @G_DBUS_ERROR_IO_ERROR: + * Something went wrong reading or writing to a socket, for example. + * @G_DBUS_ERROR_BAD_ADDRESS: + * A D-Bus bus address was malformed. + * @G_DBUS_ERROR_NOT_SUPPORTED: + * Requested operation isn't supported (like ENOSYS on UNIX). + * @G_DBUS_ERROR_LIMITS_EXCEEDED: + * Some limited resource is exhausted. + * @G_DBUS_ERROR_ACCESS_DENIED: + * Security restrictions don't allow doing what you're trying to do. + * @G_DBUS_ERROR_AUTH_FAILED: + * Authentication didn't work. + * @G_DBUS_ERROR_NO_SERVER: + * Unable to connect to server (probably caused by ECONNREFUSED on a + * socket). + * @G_DBUS_ERROR_TIMEOUT: + * Certain timeout errors, possibly ETIMEDOUT on a socket. Note that + * %G_DBUS_ERROR_NO_REPLY is used for message reply timeouts. Warning: + * this is confusingly-named given that %G_DBUS_ERROR_TIMED_OUT also + * exists. We can't fix it for compatibility reasons so just be + * careful. + * @G_DBUS_ERROR_NO_NETWORK: + * No network access (probably ENETUNREACH on a socket). + * @G_DBUS_ERROR_ADDRESS_IN_USE: + * Can't bind a socket since its address is in use (i.e. EADDRINUSE). + * @G_DBUS_ERROR_DISCONNECTED: + * The connection is disconnected and you're trying to use it. + * @G_DBUS_ERROR_INVALID_ARGS: + * Invalid arguments passed to a method call. + * @G_DBUS_ERROR_FILE_NOT_FOUND: + * Missing file. + * @G_DBUS_ERROR_FILE_EXISTS: + * Existing file and the operation you're using does not silently overwrite. + * @G_DBUS_ERROR_UNKNOWN_METHOD: + * Method name you invoked isn't known by the object you invoked it on. + * @G_DBUS_ERROR_UNKNOWN_OBJECT: + * Object you invoked a method on isn't known. Since 2.42 + * @G_DBUS_ERROR_UNKNOWN_INTERFACE: + * Interface you invoked a method on isn't known by the object. Since 2.42 + * @G_DBUS_ERROR_UNKNOWN_PROPERTY: + * Property you tried to access isn't known by the object. Since 2.42 + * @G_DBUS_ERROR_PROPERTY_READ_ONLY: + * Property you tried to set is read-only. Since 2.42 + * @G_DBUS_ERROR_TIMED_OUT: + * Certain timeout errors, e.g. while starting a service. Warning: this is + * confusingly-named given that %G_DBUS_ERROR_TIMEOUT also exists. We + * can't fix it for compatibility reasons so just be careful. + * @G_DBUS_ERROR_MATCH_RULE_NOT_FOUND: + * Tried to remove or modify a match rule that didn't exist. + * @G_DBUS_ERROR_MATCH_RULE_INVALID: + * The match rule isn't syntactically valid. + * @G_DBUS_ERROR_SPAWN_EXEC_FAILED: + * While starting a new process, the exec() call failed. + * @G_DBUS_ERROR_SPAWN_FORK_FAILED: + * While starting a new process, the fork() call failed. + * @G_DBUS_ERROR_SPAWN_CHILD_EXITED: + * While starting a new process, the child exited with a status code. + * @G_DBUS_ERROR_SPAWN_CHILD_SIGNALED: + * While starting a new process, the child exited on a signal. + * @G_DBUS_ERROR_SPAWN_FAILED: + * While starting a new process, something went wrong. + * @G_DBUS_ERROR_SPAWN_SETUP_FAILED: + * We failed to setup the environment correctly. + * @G_DBUS_ERROR_SPAWN_CONFIG_INVALID: + * We failed to setup the config parser correctly. + * @G_DBUS_ERROR_SPAWN_SERVICE_INVALID: + * Bus name was not valid. + * @G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND: + * Service file not found in system-services directory. + * @G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID: + * Permissions are incorrect on the setuid helper. + * @G_DBUS_ERROR_SPAWN_FILE_INVALID: + * Service file invalid (Name, User or Exec missing). + * @G_DBUS_ERROR_SPAWN_NO_MEMORY: + * Tried to get a UNIX process ID and it wasn't available. + * @G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN: + * Tried to get a UNIX process ID and it wasn't available. + * @G_DBUS_ERROR_INVALID_SIGNATURE: + * A type signature is not valid. + * @G_DBUS_ERROR_INVALID_FILE_CONTENT: + * A file contains invalid syntax or is otherwise broken. + * @G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN: + * Asked for SELinux security context and it wasn't available. + * @G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN: + * Asked for ADT audit data and it wasn't available. + * @G_DBUS_ERROR_OBJECT_PATH_IN_USE: + * There's already an object with the requested object path. + * + * Error codes for the %G_DBUS_ERROR error domain. + * + * Since: 2.26 + */ +typedef enum +{ + /* Well-known errors in the org.freedesktop.DBus.Error namespace */ + G_DBUS_ERROR_FAILED, /* org.freedesktop.DBus.Error.Failed */ + G_DBUS_ERROR_NO_MEMORY, /* org.freedesktop.DBus.Error.NoMemory */ + G_DBUS_ERROR_SERVICE_UNKNOWN, /* org.freedesktop.DBus.Error.ServiceUnknown */ + G_DBUS_ERROR_NAME_HAS_NO_OWNER, /* org.freedesktop.DBus.Error.NameHasNoOwner */ + G_DBUS_ERROR_NO_REPLY, /* org.freedesktop.DBus.Error.NoReply */ + G_DBUS_ERROR_IO_ERROR, /* org.freedesktop.DBus.Error.IOError */ + G_DBUS_ERROR_BAD_ADDRESS, /* org.freedesktop.DBus.Error.BadAddress */ + G_DBUS_ERROR_NOT_SUPPORTED, /* org.freedesktop.DBus.Error.NotSupported */ + G_DBUS_ERROR_LIMITS_EXCEEDED, /* org.freedesktop.DBus.Error.LimitsExceeded */ + G_DBUS_ERROR_ACCESS_DENIED, /* org.freedesktop.DBus.Error.AccessDenied */ + G_DBUS_ERROR_AUTH_FAILED, /* org.freedesktop.DBus.Error.AuthFailed */ + G_DBUS_ERROR_NO_SERVER, /* org.freedesktop.DBus.Error.NoServer */ + G_DBUS_ERROR_TIMEOUT, /* org.freedesktop.DBus.Error.Timeout */ + G_DBUS_ERROR_NO_NETWORK, /* org.freedesktop.DBus.Error.NoNetwork */ + G_DBUS_ERROR_ADDRESS_IN_USE, /* org.freedesktop.DBus.Error.AddressInUse */ + G_DBUS_ERROR_DISCONNECTED, /* org.freedesktop.DBus.Error.Disconnected */ + G_DBUS_ERROR_INVALID_ARGS, /* org.freedesktop.DBus.Error.InvalidArgs */ + G_DBUS_ERROR_FILE_NOT_FOUND, /* org.freedesktop.DBus.Error.FileNotFound */ + G_DBUS_ERROR_FILE_EXISTS, /* org.freedesktop.DBus.Error.FileExists */ + G_DBUS_ERROR_UNKNOWN_METHOD, /* org.freedesktop.DBus.Error.UnknownMethod */ + G_DBUS_ERROR_TIMED_OUT, /* org.freedesktop.DBus.Error.TimedOut */ + G_DBUS_ERROR_MATCH_RULE_NOT_FOUND, /* org.freedesktop.DBus.Error.MatchRuleNotFound */ + G_DBUS_ERROR_MATCH_RULE_INVALID, /* org.freedesktop.DBus.Error.MatchRuleInvalid */ + G_DBUS_ERROR_SPAWN_EXEC_FAILED, /* org.freedesktop.DBus.Error.Spawn.ExecFailed */ + G_DBUS_ERROR_SPAWN_FORK_FAILED, /* org.freedesktop.DBus.Error.Spawn.ForkFailed */ + G_DBUS_ERROR_SPAWN_CHILD_EXITED, /* org.freedesktop.DBus.Error.Spawn.ChildExited */ + G_DBUS_ERROR_SPAWN_CHILD_SIGNALED, /* org.freedesktop.DBus.Error.Spawn.ChildSignaled */ + G_DBUS_ERROR_SPAWN_FAILED, /* org.freedesktop.DBus.Error.Spawn.Failed */ + G_DBUS_ERROR_SPAWN_SETUP_FAILED, /* org.freedesktop.DBus.Error.Spawn.FailedToSetup */ + G_DBUS_ERROR_SPAWN_CONFIG_INVALID, /* org.freedesktop.DBus.Error.Spawn.ConfigInvalid */ + G_DBUS_ERROR_SPAWN_SERVICE_INVALID, /* org.freedesktop.DBus.Error.Spawn.ServiceNotValid */ + G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND, /* org.freedesktop.DBus.Error.Spawn.ServiceNotFound */ + G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID, /* org.freedesktop.DBus.Error.Spawn.PermissionsInvalid */ + G_DBUS_ERROR_SPAWN_FILE_INVALID, /* org.freedesktop.DBus.Error.Spawn.FileInvalid */ + G_DBUS_ERROR_SPAWN_NO_MEMORY, /* org.freedesktop.DBus.Error.Spawn.NoMemory */ + G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN, /* org.freedesktop.DBus.Error.UnixProcessIdUnknown */ + G_DBUS_ERROR_INVALID_SIGNATURE, /* org.freedesktop.DBus.Error.InvalidSignature */ + G_DBUS_ERROR_INVALID_FILE_CONTENT, /* org.freedesktop.DBus.Error.InvalidFileContent */ + G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN, /* org.freedesktop.DBus.Error.SELinuxSecurityContextUnknown */ + G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN, /* org.freedesktop.DBus.Error.AdtAuditDataUnknown */ + G_DBUS_ERROR_OBJECT_PATH_IN_USE, /* org.freedesktop.DBus.Error.ObjectPathInUse */ + G_DBUS_ERROR_UNKNOWN_OBJECT, /* org.freedesktop.DBus.Error.UnknownObject */ + G_DBUS_ERROR_UNKNOWN_INTERFACE, /* org.freedesktop.DBus.Error.UnknownInterface */ + G_DBUS_ERROR_UNKNOWN_PROPERTY, /* org.freedesktop.DBus.Error.UnknownProperty */ + G_DBUS_ERROR_PROPERTY_READ_ONLY /* org.freedesktop.DBus.Error.PropertyReadOnly */ +} GDBusError; +/* Remember to update g_dbus_error_quark() in gdbuserror.c if you extend this enumeration */ + +/** + * GDBusConnectionFlags: + * @G_DBUS_CONNECTION_FLAGS_NONE: No flags set. + * @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT: Perform authentication against server. + * @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER: Perform authentication against client. + * @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS: When + * authenticating as a server, allow the anonymous authentication + * method. + * @G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION: Pass this flag if connecting to a peer that is a + * message bus. This means that the Hello() method will be invoked as part of the connection setup. + * @G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING: If set, processing of D-Bus messages is + * delayed until g_dbus_connection_start_message_processing() is called. + * @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER: When authenticating + * as a server, require the UID of the peer to be the same as the UID of the server. (Since: 2.68) + * @G_DBUS_CONNECTION_FLAGS_CROSS_NAMESPACE: When authenticating, try to use + * protocols that work across a Linux user namespace boundary, even if this + * reduces interoperability with older D-Bus implementations. This currently + * affects client-side `EXTERNAL` authentication, for which this flag makes + * connections to a server in another user namespace succeed, but causes + * a deadlock when connecting to a GDBus server older than 2.73.3. Since: 2.74 + * + * Flags used when creating a new #GDBusConnection. + * + * Since: 2.26 + */ +typedef enum { + G_DBUS_CONNECTION_FLAGS_NONE = 0, + G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT = (1<<0), + G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER = (1<<1), + G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS = (1<<2), + G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION = (1<<3), + G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING = (1<<4), + G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER GIO_AVAILABLE_ENUMERATOR_IN_2_68 = (1<<5), + G_DBUS_CONNECTION_FLAGS_CROSS_NAMESPACE GIO_AVAILABLE_ENUMERATOR_IN_2_74 = (1<<6) +} GDBusConnectionFlags; + +/** + * GDBusCapabilityFlags: + * @G_DBUS_CAPABILITY_FLAGS_NONE: No flags set. + * @G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING: The connection + * supports exchanging UNIX file descriptors with the remote peer. + * + * Capabilities negotiated with the remote peer. + * + * Since: 2.26 + */ +typedef enum { + G_DBUS_CAPABILITY_FLAGS_NONE = 0, + G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING = (1<<0) +} GDBusCapabilityFlags; + +/** + * GDBusCallFlags: + * @G_DBUS_CALL_FLAGS_NONE: No flags set. + * @G_DBUS_CALL_FLAGS_NO_AUTO_START: The bus must not launch + * an owner for the destination name in response to this method + * invocation. + * @G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION: the caller is prepared to + * wait for interactive authorization. Since 2.46. + * + * Flags used in g_dbus_connection_call() and similar APIs. + * + * Since: 2.26 + */ +typedef enum { + G_DBUS_CALL_FLAGS_NONE = 0, + G_DBUS_CALL_FLAGS_NO_AUTO_START = (1<<0), + G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION = (1<<1) +} GDBusCallFlags; +/* (1<<31) is reserved for internal use by GDBusConnection, do not use it. */ + +/** + * GDBusMessageType: + * @G_DBUS_MESSAGE_TYPE_INVALID: Message is of invalid type. + * @G_DBUS_MESSAGE_TYPE_METHOD_CALL: Method call. + * @G_DBUS_MESSAGE_TYPE_METHOD_RETURN: Method reply. + * @G_DBUS_MESSAGE_TYPE_ERROR: Error reply. + * @G_DBUS_MESSAGE_TYPE_SIGNAL: Signal emission. + * + * Message types used in #GDBusMessage. + * + * Since: 2.26 + */ +typedef enum { + G_DBUS_MESSAGE_TYPE_INVALID, + G_DBUS_MESSAGE_TYPE_METHOD_CALL, + G_DBUS_MESSAGE_TYPE_METHOD_RETURN, + G_DBUS_MESSAGE_TYPE_ERROR, + G_DBUS_MESSAGE_TYPE_SIGNAL +} GDBusMessageType; + +/** + * GDBusMessageFlags: + * @G_DBUS_MESSAGE_FLAGS_NONE: No flags set. + * @G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED: A reply is not expected. + * @G_DBUS_MESSAGE_FLAGS_NO_AUTO_START: The bus must not launch an + * owner for the destination name in response to this message. + * @G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION: If set on a method + * call, this flag means that the caller is prepared to wait for interactive + * authorization. Since 2.46. + * + * Message flags used in #GDBusMessage. + * + * Since: 2.26 + */ +typedef enum { + G_DBUS_MESSAGE_FLAGS_NONE = 0, + G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED = (1<<0), + G_DBUS_MESSAGE_FLAGS_NO_AUTO_START = (1<<1), + G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION = (1<<2) +} GDBusMessageFlags; + +/** + * GDBusMessageHeaderField: + * @G_DBUS_MESSAGE_HEADER_FIELD_INVALID: Not a valid header field. + * @G_DBUS_MESSAGE_HEADER_FIELD_PATH: The object path. + * @G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE: The interface name. + * @G_DBUS_MESSAGE_HEADER_FIELD_MEMBER: The method or signal name. + * @G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME: The name of the error that occurred. + * @G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL: The serial number the message is a reply to. + * @G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION: The name the message is intended for. + * @G_DBUS_MESSAGE_HEADER_FIELD_SENDER: Unique name of the sender of the message (filled in by the bus). + * @G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE: The signature of the message body. + * @G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS: The number of UNIX file descriptors that accompany the message. + * + * Header fields used in #GDBusMessage. + * + * Since: 2.26 + */ +typedef enum { + G_DBUS_MESSAGE_HEADER_FIELD_INVALID, + G_DBUS_MESSAGE_HEADER_FIELD_PATH, + G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE, + G_DBUS_MESSAGE_HEADER_FIELD_MEMBER, + G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME, + G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL, + G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION, + G_DBUS_MESSAGE_HEADER_FIELD_SENDER, + G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE, + G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS +} GDBusMessageHeaderField; + +/** + * GDBusPropertyInfoFlags: + * @G_DBUS_PROPERTY_INFO_FLAGS_NONE: No flags set. + * @G_DBUS_PROPERTY_INFO_FLAGS_READABLE: Property is readable. + * @G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE: Property is writable. + * + * Flags describing the access control of a D-Bus property. + * + * Since: 2.26 + */ +typedef enum +{ + G_DBUS_PROPERTY_INFO_FLAGS_NONE = 0, + G_DBUS_PROPERTY_INFO_FLAGS_READABLE = (1<<0), + G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE = (1<<1) +} GDBusPropertyInfoFlags; + +/** + * GDBusSubtreeFlags: + * @G_DBUS_SUBTREE_FLAGS_NONE: No flags set. + * @G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES: Method calls to objects not in the enumerated range + * will still be dispatched. This is useful if you want + * to dynamically spawn objects in the subtree. + * + * Flags passed to g_dbus_connection_register_subtree(). + * + * Since: 2.26 + */ +typedef enum +{ + G_DBUS_SUBTREE_FLAGS_NONE = 0, + G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES = (1<<0) +} GDBusSubtreeFlags; + +/** + * GDBusServerFlags: + * @G_DBUS_SERVER_FLAGS_NONE: No flags set. + * @G_DBUS_SERVER_FLAGS_RUN_IN_THREAD: All #GDBusServer::new-connection + * signals will run in separated dedicated threads (see signal for + * details). + * @G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS: Allow the anonymous + * authentication method. + * @G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER: Require the UID of the + * peer to be the same as the UID of the server when authenticating. (Since: 2.68) + * + * Flags used when creating a #GDBusServer. + * + * Since: 2.26 + */ +typedef enum +{ + G_DBUS_SERVER_FLAGS_NONE = 0, + G_DBUS_SERVER_FLAGS_RUN_IN_THREAD = (1<<0), + G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS = (1<<1), + G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER GIO_AVAILABLE_ENUMERATOR_IN_2_68 = (1<<2) +} GDBusServerFlags; + +/** + * GDBusSignalFlags: + * @G_DBUS_SIGNAL_FLAGS_NONE: No flags set. + * @G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE: Don't actually send the AddMatch + * D-Bus call for this signal subscription. This gives you more control + * over which match rules you add (but you must add them manually). + * @G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_NAMESPACE: Match first arguments that + * contain a bus or interface name with the given namespace. + * @G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH: Match first arguments that + * contain an object path that is either equivalent to the given path, + * or one of the paths is a subpath of the other. + * + * Flags used when subscribing to signals via g_dbus_connection_signal_subscribe(). + * + * Since: 2.26 + */ +typedef enum /*< flags >*/ +{ + G_DBUS_SIGNAL_FLAGS_NONE = 0, + G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE = (1<<0), + G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_NAMESPACE = (1<<1), + G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH = (1<<2) +} GDBusSignalFlags; + +/** + * GDBusSendMessageFlags: + * @G_DBUS_SEND_MESSAGE_FLAGS_NONE: No flags set. + * @G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL: Do not automatically + * assign a serial number from the #GDBusConnection object when + * sending a message. + * + * Flags used when sending #GDBusMessages on a #GDBusConnection. + * + * Since: 2.26 + */ +typedef enum +{ + G_DBUS_SEND_MESSAGE_FLAGS_NONE = 0, + G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL = (1<<0) +} GDBusSendMessageFlags; +/* (1<<31) is reserved for internal use by GDBusConnection, do not use it. */ + +/** + * GCredentialsType: + * @G_CREDENTIALS_TYPE_INVALID: Indicates an invalid native credential type. + * @G_CREDENTIALS_TYPE_LINUX_UCRED: The native credentials type is a `struct ucred`. + * @G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED: The native credentials type is a `struct cmsgcred`. + * @G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED: The native credentials type is a `struct sockpeercred`. Added in 2.30. + * @G_CREDENTIALS_TYPE_SOLARIS_UCRED: The native credentials type is a `ucred_t`. Added in 2.40. + * @G_CREDENTIALS_TYPE_NETBSD_UNPCBID: The native credentials type is a `struct unpcbid`. Added in 2.42. + * @G_CREDENTIALS_TYPE_APPLE_XUCRED: The native credentials type is a `struct xucred`. Added in 2.66. + * @G_CREDENTIALS_TYPE_WIN32_PID: The native credentials type is a PID `DWORD`. Added in 2.72. + * + * Enumeration describing different kinds of native credential types. + * + * Since: 2.26 + */ +typedef enum +{ + G_CREDENTIALS_TYPE_INVALID, + G_CREDENTIALS_TYPE_LINUX_UCRED, + G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED, + G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED, + G_CREDENTIALS_TYPE_SOLARIS_UCRED, + G_CREDENTIALS_TYPE_NETBSD_UNPCBID, + G_CREDENTIALS_TYPE_APPLE_XUCRED, + G_CREDENTIALS_TYPE_WIN32_PID, +} GCredentialsType; + +/** + * GDBusMessageByteOrder: + * @G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN: The byte order is big endian. + * @G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN: The byte order is little endian. + * + * Enumeration used to describe the byte order of a D-Bus message. + * + * Since: 2.26 + */ +typedef enum +{ + G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN = 'B', + G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN = 'l' +} GDBusMessageByteOrder; + +/** + * GApplicationFlags: + * @G_APPLICATION_FLAGS_NONE: Default. Deprecated in 2.74, use + * %G_APPLICATION_DEFAULT_FLAGS instead + * @G_APPLICATION_DEFAULT_FLAGS: Default flags. Since: 2.74 + * @G_APPLICATION_IS_SERVICE: Run as a service. In this mode, registration + * fails if the service is already running, and the application + * will initially wait up to 10 seconds for an initial activation + * message to arrive. + * @G_APPLICATION_IS_LAUNCHER: Don't try to become the primary instance. + * @G_APPLICATION_HANDLES_OPEN: This application handles opening files (in + * the primary instance). Note that this flag only affects the default + * implementation of local_command_line(), and has no effect if + * %G_APPLICATION_HANDLES_COMMAND_LINE is given. + * See g_application_run() for details. + * @G_APPLICATION_HANDLES_COMMAND_LINE: This application handles command line + * arguments (in the primary instance). Note that this flag only affect + * the default implementation of local_command_line(). + * See g_application_run() for details. + * @G_APPLICATION_SEND_ENVIRONMENT: Send the environment of the + * launching process to the primary instance. Set this flag if your + * application is expected to behave differently depending on certain + * environment variables. For instance, an editor might be expected + * to use the `GIT_COMMITTER_NAME` environment variable + * when editing a git commit message. The environment is available + * to the #GApplication::command-line signal handler, via + * g_application_command_line_getenv(). + * @G_APPLICATION_NON_UNIQUE: Make no attempts to do any of the typical + * single-instance application negotiation, even if the application + * ID is given. The application neither attempts to become the + * owner of the application ID nor does it check if an existing + * owner already exists. Everything occurs in the local process. + * Since: 2.30. + * @G_APPLICATION_CAN_OVERRIDE_APP_ID: Allow users to override the + * application ID from the command line with `--gapplication-app-id`. + * Since: 2.48 + * @G_APPLICATION_ALLOW_REPLACEMENT: Allow another instance to take over + * the bus name. Since: 2.60 + * @G_APPLICATION_REPLACE: Take over from another instance. This flag is + * usually set by passing `--gapplication-replace` on the commandline. + * Since: 2.60 + * + * Flags used to define the behaviour of a #GApplication. + * + * Since: 2.28 + **/ +typedef enum /*< prefix=G_APPLICATION >*/ +{ + G_APPLICATION_FLAGS_NONE GIO_DEPRECATED_ENUMERATOR_IN_2_74_FOR(G_APPLICATION_DEFAULT_FLAGS), + G_APPLICATION_DEFAULT_FLAGS GIO_AVAILABLE_ENUMERATOR_IN_2_74 = 0, + G_APPLICATION_IS_SERVICE = (1 << 0), + G_APPLICATION_IS_LAUNCHER = (1 << 1), + + G_APPLICATION_HANDLES_OPEN = (1 << 2), + G_APPLICATION_HANDLES_COMMAND_LINE = (1 << 3), + G_APPLICATION_SEND_ENVIRONMENT = (1 << 4), + + G_APPLICATION_NON_UNIQUE = (1 << 5), + + G_APPLICATION_CAN_OVERRIDE_APP_ID = (1 << 6), + G_APPLICATION_ALLOW_REPLACEMENT = (1 << 7), + G_APPLICATION_REPLACE = (1 << 8) +} GApplicationFlags; + +/** + * GTlsError: + * @G_TLS_ERROR_UNAVAILABLE: No TLS provider is available + * @G_TLS_ERROR_MISC: Miscellaneous TLS error + * @G_TLS_ERROR_BAD_CERTIFICATE: The certificate presented could not + * be parsed or failed validation. + * @G_TLS_ERROR_NOT_TLS: The TLS handshake failed because the + * peer does not seem to be a TLS server. + * @G_TLS_ERROR_HANDSHAKE: The TLS handshake failed because the + * peer's certificate was not acceptable. + * @G_TLS_ERROR_CERTIFICATE_REQUIRED: The TLS handshake failed because + * the server requested a client-side certificate, but none was + * provided. See g_tls_connection_set_certificate(). + * @G_TLS_ERROR_EOF: The TLS connection was closed without proper + * notice, which may indicate an attack. See + * g_tls_connection_set_require_close_notify(). + * @G_TLS_ERROR_INAPPROPRIATE_FALLBACK: The TLS handshake failed + * because the client sent the fallback SCSV, indicating a protocol + * downgrade attack. Since: 2.60 + * @G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD: The certificate failed + * to load because a password was incorrect. Since: 2.72 + * + * An error code used with %G_TLS_ERROR in a #GError returned from a + * TLS-related routine. + * + * Since: 2.28 + */ +typedef enum { + G_TLS_ERROR_UNAVAILABLE, + G_TLS_ERROR_MISC, + G_TLS_ERROR_BAD_CERTIFICATE, + G_TLS_ERROR_NOT_TLS, + G_TLS_ERROR_HANDSHAKE, + G_TLS_ERROR_CERTIFICATE_REQUIRED, + G_TLS_ERROR_EOF, + G_TLS_ERROR_INAPPROPRIATE_FALLBACK, + G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD +} GTlsError; + +/** + * GTlsCertificateFlags: + * @G_TLS_CERTIFICATE_NO_FLAGS: No flags set. Since: 2.74 + * @G_TLS_CERTIFICATE_UNKNOWN_CA: The signing certificate authority is + * not known. + * @G_TLS_CERTIFICATE_BAD_IDENTITY: The certificate does not match the + * expected identity of the site that it was retrieved from. + * @G_TLS_CERTIFICATE_NOT_ACTIVATED: The certificate's activation time + * is still in the future + * @G_TLS_CERTIFICATE_EXPIRED: The certificate has expired + * @G_TLS_CERTIFICATE_REVOKED: The certificate has been revoked + * according to the #GTlsConnection's certificate revocation list. + * @G_TLS_CERTIFICATE_INSECURE: The certificate's algorithm is + * considered insecure. + * @G_TLS_CERTIFICATE_GENERIC_ERROR: Some other error occurred validating + * the certificate + * @G_TLS_CERTIFICATE_VALIDATE_ALL: the combination of all of the above + * flags + * + * A set of flags describing TLS certification validation. This can be + * used to describe why a particular certificate was rejected (for + * example, in #GTlsConnection::accept-certificate). + * + * GLib guarantees that if certificate verification fails, at least one + * flag will be set, but it does not guarantee that all possible flags + * will be set. Accordingly, you may not safely decide to ignore any + * particular type of error. For example, it would be incorrect to mask + * %G_TLS_CERTIFICATE_EXPIRED if you want to allow expired certificates, + * because this could potentially be the only error flag set even if + * other problems exist with the certificate. + * + * Since: 2.28 + */ +typedef enum { + G_TLS_CERTIFICATE_NO_FLAGS GIO_AVAILABLE_ENUMERATOR_IN_2_74 = 0, + G_TLS_CERTIFICATE_UNKNOWN_CA = (1 << 0), + G_TLS_CERTIFICATE_BAD_IDENTITY = (1 << 1), + G_TLS_CERTIFICATE_NOT_ACTIVATED = (1 << 2), + G_TLS_CERTIFICATE_EXPIRED = (1 << 3), + G_TLS_CERTIFICATE_REVOKED = (1 << 4), + G_TLS_CERTIFICATE_INSECURE = (1 << 5), + G_TLS_CERTIFICATE_GENERIC_ERROR = (1 << 6), + + G_TLS_CERTIFICATE_VALIDATE_ALL = 0x007f +} GTlsCertificateFlags; + +/** + * GTlsAuthenticationMode: + * @G_TLS_AUTHENTICATION_NONE: client authentication not required + * @G_TLS_AUTHENTICATION_REQUESTED: client authentication is requested + * @G_TLS_AUTHENTICATION_REQUIRED: client authentication is required + * + * The client authentication mode for a #GTlsServerConnection. + * + * Since: 2.28 + */ +typedef enum { + G_TLS_AUTHENTICATION_NONE, + G_TLS_AUTHENTICATION_REQUESTED, + G_TLS_AUTHENTICATION_REQUIRED +} GTlsAuthenticationMode; + +/** + * GTlsChannelBindingType: + * @G_TLS_CHANNEL_BINDING_TLS_UNIQUE: + * [`tls-unique`](https://tools.ietf.org/html/rfc5929#section-3) binding + * type + * @G_TLS_CHANNEL_BINDING_TLS_SERVER_END_POINT: + * [`tls-server-end-point`](https://tools.ietf.org/html/rfc5929#section-4) + * binding type + * @G_TLS_CHANNEL_BINDING_TLS_EXPORTER: + * [`tls-exporter`](https://www.rfc-editor.org/rfc/rfc9266.html) binding + * type. Since: 2.74 + * + * The type of TLS channel binding data to retrieve from #GTlsConnection + * or #GDtlsConnection, as documented by RFC 5929 or RFC 9266. The + * [`tls-unique-for-telnet`](https://tools.ietf.org/html/rfc5929#section-5) + * binding type is not currently implemented. + * + * Since: 2.66 + */ +GIO_AVAILABLE_TYPE_IN_2_66 +typedef enum { + G_TLS_CHANNEL_BINDING_TLS_UNIQUE, + G_TLS_CHANNEL_BINDING_TLS_SERVER_END_POINT, + G_TLS_CHANNEL_BINDING_TLS_EXPORTER GIO_AVAILABLE_ENUMERATOR_IN_2_74, +} GTlsChannelBindingType; + +/** + * GTlsChannelBindingError: + * @G_TLS_CHANNEL_BINDING_ERROR_NOT_IMPLEMENTED: Either entire binding + * retrieval facility or specific binding type is not implemented in the + * TLS backend. + * @G_TLS_CHANNEL_BINDING_ERROR_INVALID_STATE: The handshake is not yet + * complete on the connection which is a strong requirement for any existing + * binding type. + * @G_TLS_CHANNEL_BINDING_ERROR_NOT_AVAILABLE: Handshake is complete but + * binding data is not available. That normally indicates the TLS + * implementation failed to provide the binding data. For example, some + * implementations do not provide a peer certificate for resumed connections. + * @G_TLS_CHANNEL_BINDING_ERROR_NOT_SUPPORTED: Binding type is not supported + * on the current connection. This error could be triggered when requesting + * `tls-server-end-point` binding data for a certificate which has no hash + * function or uses multiple hash functions. + * @G_TLS_CHANNEL_BINDING_ERROR_GENERAL_ERROR: Any other backend error + * preventing binding data retrieval. + * + * An error code used with %G_TLS_CHANNEL_BINDING_ERROR in a #GError to + * indicate a TLS channel binding retrieval error. + * + * Since: 2.66 + */ +GIO_AVAILABLE_TYPE_IN_2_66 +typedef enum { + G_TLS_CHANNEL_BINDING_ERROR_NOT_IMPLEMENTED, + G_TLS_CHANNEL_BINDING_ERROR_INVALID_STATE, + G_TLS_CHANNEL_BINDING_ERROR_NOT_AVAILABLE, + G_TLS_CHANNEL_BINDING_ERROR_NOT_SUPPORTED, + G_TLS_CHANNEL_BINDING_ERROR_GENERAL_ERROR +} GTlsChannelBindingError; + +/** + * GTlsRehandshakeMode: + * @G_TLS_REHANDSHAKE_NEVER: Never allow rehandshaking + * @G_TLS_REHANDSHAKE_SAFELY: Allow safe rehandshaking only + * @G_TLS_REHANDSHAKE_UNSAFELY: Allow unsafe rehandshaking + * + * When to allow rehandshaking. See + * g_tls_connection_set_rehandshake_mode(). + * + * Since: 2.28 + * + * Deprecated: 2.60. Changing the rehandshake mode is no longer + * required for compatibility. Also, rehandshaking has been removed + * from the TLS protocol in TLS 1.3. + */ +typedef enum { + G_TLS_REHANDSHAKE_NEVER, + G_TLS_REHANDSHAKE_SAFELY, + G_TLS_REHANDSHAKE_UNSAFELY +} GTlsRehandshakeMode GIO_DEPRECATED_TYPE_IN_2_60; + +/** + * GTlsPasswordFlags: + * @G_TLS_PASSWORD_NONE: No flags + * @G_TLS_PASSWORD_RETRY: The password was wrong, and the user should retry. + * @G_TLS_PASSWORD_MANY_TRIES: Hint to the user that the password has been + * wrong many times, and the user may not have many chances left. + * @G_TLS_PASSWORD_FINAL_TRY: Hint to the user that this is the last try to get + * this password right. + * @G_TLS_PASSWORD_PKCS11_USER: For PKCS #11, the user PIN is required. + * Since: 2.70. + * @G_TLS_PASSWORD_PKCS11_SECURITY_OFFICER: For PKCS #11, the security officer + * PIN is required. Since: 2.70. + * @G_TLS_PASSWORD_PKCS11_CONTEXT_SPECIFIC: For PKCS #11, the context-specific + * PIN is required. Since: 2.70. + * + * Various flags for the password. + * + * Since: 2.30 + */ + +typedef enum _GTlsPasswordFlags +{ + G_TLS_PASSWORD_NONE = 0, + G_TLS_PASSWORD_RETRY = 1 << 1, + G_TLS_PASSWORD_MANY_TRIES = 1 << 2, + G_TLS_PASSWORD_FINAL_TRY = 1 << 3, + G_TLS_PASSWORD_PKCS11_USER = 1 << 4, + G_TLS_PASSWORD_PKCS11_SECURITY_OFFICER = 1 << 5, + G_TLS_PASSWORD_PKCS11_CONTEXT_SPECIFIC = 1 << 6 +} GTlsPasswordFlags; + +/** + * GTlsInteractionResult: + * @G_TLS_INTERACTION_UNHANDLED: The interaction was unhandled (i.e. not + * implemented). + * @G_TLS_INTERACTION_HANDLED: The interaction completed, and resulting data + * is available. + * @G_TLS_INTERACTION_FAILED: The interaction has failed, or was cancelled. + * and the operation should be aborted. + * + * #GTlsInteractionResult is returned by various functions in #GTlsInteraction + * when finishing an interaction request. + * + * Since: 2.30 + */ +typedef enum { + G_TLS_INTERACTION_UNHANDLED, + G_TLS_INTERACTION_HANDLED, + G_TLS_INTERACTION_FAILED +} GTlsInteractionResult; + +/** + * GDBusInterfaceSkeletonFlags: + * @G_DBUS_INTERFACE_SKELETON_FLAGS_NONE: No flags set. + * @G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD: Each method invocation is handled in + * a thread dedicated to the invocation. This means that the method implementation can use blocking IO + * without blocking any other part of the process. It also means that the method implementation must + * use locking to access data structures used by other threads. + * + * Flags describing the behavior of a #GDBusInterfaceSkeleton instance. + * + * Since: 2.30 + */ +typedef enum +{ + G_DBUS_INTERFACE_SKELETON_FLAGS_NONE = 0, + G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD = (1<<0) +} GDBusInterfaceSkeletonFlags; + +/** + * GDBusObjectManagerClientFlags: + * @G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE: No flags set. + * @G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START: If not set and the + * manager is for a well-known name, then request the bus to launch + * an owner for the name if no-one owns the name. This flag can only + * be used in managers for well-known names. + * + * Flags used when constructing a #GDBusObjectManagerClient. + * + * Since: 2.30 + */ +typedef enum +{ + G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE = 0, + G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START = (1<<0) +} GDBusObjectManagerClientFlags; + +/** + * GTlsDatabaseVerifyFlags: + * @G_TLS_DATABASE_VERIFY_NONE: No verification flags + * + * Flags for g_tls_database_verify_chain(). + * + * Since: 2.30 + */ +typedef enum /*< flags >*/ { + G_TLS_DATABASE_VERIFY_NONE = 0 +} GTlsDatabaseVerifyFlags; + +/** + * GTlsDatabaseLookupFlags: + * @G_TLS_DATABASE_LOOKUP_NONE: No lookup flags + * @G_TLS_DATABASE_LOOKUP_KEYPAIR: Restrict lookup to certificates that have + * a private key. + * + * Flags for g_tls_database_lookup_certificate_for_handle(), + * g_tls_database_lookup_certificate_issuer(), + * and g_tls_database_lookup_certificates_issued_by(). + * + * Since: 2.30 + */ +typedef enum { + G_TLS_DATABASE_LOOKUP_NONE = 0, + G_TLS_DATABASE_LOOKUP_KEYPAIR = 1 +} GTlsDatabaseLookupFlags; + +/** + * GTlsCertificateRequestFlags: + * @G_TLS_CERTIFICATE_REQUEST_NONE: No flags + * + * Flags for g_tls_interaction_request_certificate(), + * g_tls_interaction_request_certificate_async(), and + * g_tls_interaction_invoke_request_certificate(). + * + * Since: 2.40 + */ +typedef enum { + G_TLS_CERTIFICATE_REQUEST_NONE = 0 +} GTlsCertificateRequestFlags; + +/** + * GTlsProtocolVersion: + * @G_TLS_PROTOCOL_VERSION_UNKNOWN: No protocol version or unknown protocol version + * @G_TLS_PROTOCOL_VERSION_SSL_3_0: SSL 3.0, which is insecure and should not be used + * @G_TLS_PROTOCOL_VERSION_TLS_1_0: TLS 1.0, which is insecure and should not be used + * @G_TLS_PROTOCOL_VERSION_TLS_1_1: TLS 1.1, which is insecure and should not be used + * @G_TLS_PROTOCOL_VERSION_TLS_1_2: TLS 1.2, defined by [RFC 5246](https://datatracker.ietf.org/doc/html/rfc5246) + * @G_TLS_PROTOCOL_VERSION_TLS_1_3: TLS 1.3, defined by [RFC 8446](https://datatracker.ietf.org/doc/html/rfc8446) + * @G_TLS_PROTOCOL_VERSION_DTLS_1_0: DTLS 1.0, which is insecure and should not be used + * @G_TLS_PROTOCOL_VERSION_DTLS_1_2: DTLS 1.2, defined by [RFC 6347](https://datatracker.ietf.org/doc/html/rfc6347) + * + * The TLS or DTLS protocol version used by a #GTlsConnection or + * #GDtlsConnection. The integer values of these versions are sequential + * to ensure newer known protocol versions compare greater than older + * known versions. Any known DTLS protocol version will compare greater + * than any SSL or TLS protocol version. The protocol version may be + * %G_TLS_PROTOCOL_VERSION_UNKNOWN if the TLS backend supports a newer + * protocol version that GLib does not yet know about. This means that + * it's possible for an unknown DTLS protocol version to compare less + * than the TLS protocol versions. + * + * Since: 2.70 + */ +typedef enum { + G_TLS_PROTOCOL_VERSION_UNKNOWN = 0, + G_TLS_PROTOCOL_VERSION_SSL_3_0 = 1, + G_TLS_PROTOCOL_VERSION_TLS_1_0 = 2, + G_TLS_PROTOCOL_VERSION_TLS_1_1 = 3, + G_TLS_PROTOCOL_VERSION_TLS_1_2 = 4, + G_TLS_PROTOCOL_VERSION_TLS_1_3 = 5, + G_TLS_PROTOCOL_VERSION_DTLS_1_0 = 201, + G_TLS_PROTOCOL_VERSION_DTLS_1_2 = 202, +} GTlsProtocolVersion; + +/** + * GIOModuleScopeFlags: + * @G_IO_MODULE_SCOPE_NONE: No module scan flags + * @G_IO_MODULE_SCOPE_BLOCK_DUPLICATES: When using this scope to load or + * scan modules, automatically block a modules which has the same base + * basename as previously loaded module. + * + * Flags for use with g_io_module_scope_new(). + * + * Since: 2.30 + */ +typedef enum { + G_IO_MODULE_SCOPE_NONE, + G_IO_MODULE_SCOPE_BLOCK_DUPLICATES +} GIOModuleScopeFlags; + +/** + * GSocketClientEvent: + * @G_SOCKET_CLIENT_RESOLVING: The client is doing a DNS lookup. + * @G_SOCKET_CLIENT_RESOLVED: The client has completed a DNS lookup. + * @G_SOCKET_CLIENT_CONNECTING: The client is connecting to a remote + * host (either a proxy or the destination server). + * @G_SOCKET_CLIENT_CONNECTED: The client has connected to a remote + * host. + * @G_SOCKET_CLIENT_PROXY_NEGOTIATING: The client is negotiating + * with a proxy to connect to the destination server. + * @G_SOCKET_CLIENT_PROXY_NEGOTIATED: The client has negotiated + * with the proxy server. + * @G_SOCKET_CLIENT_TLS_HANDSHAKING: The client is performing a + * TLS handshake. + * @G_SOCKET_CLIENT_TLS_HANDSHAKED: The client has performed a + * TLS handshake. + * @G_SOCKET_CLIENT_COMPLETE: The client is done with a particular + * #GSocketConnectable. + * + * Describes an event occurring on a #GSocketClient. See the + * #GSocketClient::event signal for more details. + * + * Additional values may be added to this type in the future. + * + * Since: 2.32 + */ +typedef enum { + G_SOCKET_CLIENT_RESOLVING, + G_SOCKET_CLIENT_RESOLVED, + G_SOCKET_CLIENT_CONNECTING, + G_SOCKET_CLIENT_CONNECTED, + G_SOCKET_CLIENT_PROXY_NEGOTIATING, + G_SOCKET_CLIENT_PROXY_NEGOTIATED, + G_SOCKET_CLIENT_TLS_HANDSHAKING, + G_SOCKET_CLIENT_TLS_HANDSHAKED, + G_SOCKET_CLIENT_COMPLETE +} GSocketClientEvent; + +/** + * GSocketListenerEvent: + * @G_SOCKET_LISTENER_BINDING: The listener is about to bind a socket. + * @G_SOCKET_LISTENER_BOUND: The listener has bound a socket. + * @G_SOCKET_LISTENER_LISTENING: The listener is about to start + * listening on this socket. + * @G_SOCKET_LISTENER_LISTENED: The listener is now listening on + * this socket. + * + * Describes an event occurring on a #GSocketListener. See the + * #GSocketListener::event signal for more details. + * + * Additional values may be added to this type in the future. + * + * Since: 2.46 + */ +typedef enum { + G_SOCKET_LISTENER_BINDING, + G_SOCKET_LISTENER_BOUND, + G_SOCKET_LISTENER_LISTENING, + G_SOCKET_LISTENER_LISTENED +} GSocketListenerEvent; + +/** + * GTestDBusFlags: + * @G_TEST_DBUS_NONE: No flags. + * + * Flags to define future #GTestDBus behaviour. + * + * Since: 2.34 + */ +typedef enum /*< flags >*/ { + G_TEST_DBUS_NONE = 0 +} GTestDBusFlags; + +/** + * GSubprocessFlags: + * @G_SUBPROCESS_FLAGS_NONE: No flags. + * @G_SUBPROCESS_FLAGS_STDIN_PIPE: create a pipe for the stdin of the + * spawned process that can be accessed with + * g_subprocess_get_stdin_pipe(). + * @G_SUBPROCESS_FLAGS_STDIN_INHERIT: stdin is inherited from the + * calling process. + * @G_SUBPROCESS_FLAGS_STDOUT_PIPE: create a pipe for the stdout of the + * spawned process that can be accessed with + * g_subprocess_get_stdout_pipe(). + * @G_SUBPROCESS_FLAGS_STDOUT_SILENCE: silence the stdout of the spawned + * process (ie: redirect to `/dev/null`). + * @G_SUBPROCESS_FLAGS_STDERR_PIPE: create a pipe for the stderr of the + * spawned process that can be accessed with + * g_subprocess_get_stderr_pipe(). + * @G_SUBPROCESS_FLAGS_STDERR_SILENCE: silence the stderr of the spawned + * process (ie: redirect to `/dev/null`). + * @G_SUBPROCESS_FLAGS_STDERR_MERGE: merge the stderr of the spawned + * process with whatever the stdout happens to be. This is a good way + * of directing both streams to a common log file, for example. + * @G_SUBPROCESS_FLAGS_INHERIT_FDS: spawned processes will inherit the + * file descriptors of their parent, unless those descriptors have + * been explicitly marked as close-on-exec. This flag has no effect + * over the "standard" file descriptors (stdin, stdout, stderr). + * @G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP: if path searching is + * needed when spawning the subprocess, use the `PATH` in the launcher + * environment. (Since: 2.72) + * + * Flags to define the behaviour of a #GSubprocess. + * + * Note that the default for stdin is to redirect from `/dev/null`. For + * stdout and stderr the default are for them to inherit the + * corresponding descriptor from the calling process. + * + * Note that it is a programmer error to mix 'incompatible' flags. For + * example, you may not request both %G_SUBPROCESS_FLAGS_STDOUT_PIPE and + * %G_SUBPROCESS_FLAGS_STDOUT_SILENCE. + * + * Since: 2.40 + **/ +typedef enum { + G_SUBPROCESS_FLAGS_NONE = 0, + G_SUBPROCESS_FLAGS_STDIN_PIPE = (1u << 0), + G_SUBPROCESS_FLAGS_STDIN_INHERIT = (1u << 1), + G_SUBPROCESS_FLAGS_STDOUT_PIPE = (1u << 2), + G_SUBPROCESS_FLAGS_STDOUT_SILENCE = (1u << 3), + G_SUBPROCESS_FLAGS_STDERR_PIPE = (1u << 4), + G_SUBPROCESS_FLAGS_STDERR_SILENCE = (1u << 5), + G_SUBPROCESS_FLAGS_STDERR_MERGE = (1u << 6), + G_SUBPROCESS_FLAGS_INHERIT_FDS = (1u << 7), + G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP = (1u << 8) +} GSubprocessFlags; + +/** + * GNotificationPriority: + * @G_NOTIFICATION_PRIORITY_LOW: for notifications that do not require + * immediate attention - typically used for contextual background + * information, such as contact birthdays or local weather + * @G_NOTIFICATION_PRIORITY_NORMAL: the default priority, to be used for the + * majority of notifications (for example email messages, software updates, + * completed download/sync operations) + * @G_NOTIFICATION_PRIORITY_HIGH: for events that require more attention, + * usually because responses are time-sensitive (for example chat and SMS + * messages or alarms) + * @G_NOTIFICATION_PRIORITY_URGENT: for urgent notifications, or notifications + * that require a response in a short space of time (for example phone calls + * or emergency warnings) + * + * Priority levels for #GNotifications. + * + * Since: 2.42 + */ +typedef enum { + G_NOTIFICATION_PRIORITY_NORMAL, + G_NOTIFICATION_PRIORITY_LOW, + G_NOTIFICATION_PRIORITY_HIGH, + G_NOTIFICATION_PRIORITY_URGENT +} GNotificationPriority; + +/** + * GNetworkConnectivity: + * @G_NETWORK_CONNECTIVITY_LOCAL: The host is not configured with a + * route to the Internet; it may or may not be connected to a local + * network. + * @G_NETWORK_CONNECTIVITY_LIMITED: The host is connected to a network, but + * does not appear to be able to reach the full Internet, perhaps + * due to upstream network problems. + * @G_NETWORK_CONNECTIVITY_PORTAL: The host is behind a captive portal and + * cannot reach the full Internet. + * @G_NETWORK_CONNECTIVITY_FULL: The host is connected to a network, and + * appears to be able to reach the full Internet. + * + * The host's network connectivity state, as reported by #GNetworkMonitor. + * + * Since: 2.44 + */ +typedef enum { + G_NETWORK_CONNECTIVITY_LOCAL = 1, + G_NETWORK_CONNECTIVITY_LIMITED = 2, + G_NETWORK_CONNECTIVITY_PORTAL = 3, + G_NETWORK_CONNECTIVITY_FULL = 4 +} GNetworkConnectivity; + +/** + * GPollableReturn: + * @G_POLLABLE_RETURN_FAILED: Generic error condition for when an operation fails. + * @G_POLLABLE_RETURN_OK: The operation was successfully finished. + * @G_POLLABLE_RETURN_WOULD_BLOCK: The operation would block. + * + * Return value for various IO operations that signal errors via the + * return value and not necessarily via a #GError. + * + * This enum exists to be able to return errors to callers without having to + * allocate a #GError. Allocating #GErrors can be quite expensive for + * regularly happening errors like %G_IO_ERROR_WOULD_BLOCK. + * + * In case of %G_POLLABLE_RETURN_FAILED a #GError should be set for the + * operation to give details about the error that happened. + * + * Since: 2.60 + */ +typedef enum { + G_POLLABLE_RETURN_FAILED = 0, + G_POLLABLE_RETURN_OK = 1, + G_POLLABLE_RETURN_WOULD_BLOCK = -G_IO_ERROR_WOULD_BLOCK +} GPollableReturn; + +/** + * GMemoryMonitorWarningLevel: + * @G_MEMORY_MONITOR_WARNING_LEVEL_LOW: Memory on the device is low, processes + * should free up unneeded resources (for example, in-memory caches) so they can + * be used elsewhere. + * @G_MEMORY_MONITOR_WARNING_LEVEL_MEDIUM: Same as @G_MEMORY_MONITOR_WARNING_LEVEL_LOW + * but the device has even less free memory, so processes should try harder to free + * up unneeded resources. If your process does not need to stay running, it is a + * good time for it to quit. + * @G_MEMORY_MONITOR_WARNING_LEVEL_CRITICAL: The system will soon start terminating + * processes to reclaim memory, including background processes. + * + * Memory availability warning levels. + * + * Note that because new values might be added, it is recommended that applications check + * #GMemoryMonitorWarningLevel as ranges, for example: + * |[ + * if (warning_level > G_MEMORY_MONITOR_WARNING_LEVEL_LOW) + * drop_caches (); + * ]| + * + * Since: 2.64 + */ +typedef enum { + G_MEMORY_MONITOR_WARNING_LEVEL_LOW = 50, + G_MEMORY_MONITOR_WARNING_LEVEL_MEDIUM = 100, + G_MEMORY_MONITOR_WARNING_LEVEL_CRITICAL = 255 +} GMemoryMonitorWarningLevel; + +G_END_DECLS + +#endif /* __GIO_ENUMS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gioenumtypes.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gioenumtypes.h new file mode 100644 index 0000000..4fcfaa1 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gioenumtypes.h @@ -0,0 +1,207 @@ + +/* This file is generated by glib-mkenums, do not modify it. This code is licensed under the same license as the containing project. Note that it links to GLib, so must comply with the LGPL linking clauses. */ + +/* + * Copyright © 2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Matthias Clasen + */ + +#ifndef __GIO_ENUM_TYPES_H__ +#define __GIO_ENUM_TYPES_H__ + +#include +#include + +G_BEGIN_DECLS + +/* enumerations from "../src/glib-2-322e03f702.clean/gio/gioenums.h" */ +GIO_AVAILABLE_IN_ALL GType g_app_info_create_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_APP_INFO_CREATE_FLAGS (g_app_info_create_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_converter_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_CONVERTER_FLAGS (g_converter_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_converter_result_get_type (void) G_GNUC_CONST; +#define G_TYPE_CONVERTER_RESULT (g_converter_result_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_data_stream_byte_order_get_type (void) G_GNUC_CONST; +#define G_TYPE_DATA_STREAM_BYTE_ORDER (g_data_stream_byte_order_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_data_stream_newline_type_get_type (void) G_GNUC_CONST; +#define G_TYPE_DATA_STREAM_NEWLINE_TYPE (g_data_stream_newline_type_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_file_attribute_type_get_type (void) G_GNUC_CONST; +#define G_TYPE_FILE_ATTRIBUTE_TYPE (g_file_attribute_type_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_file_attribute_info_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_FILE_ATTRIBUTE_INFO_FLAGS (g_file_attribute_info_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_file_attribute_status_get_type (void) G_GNUC_CONST; +#define G_TYPE_FILE_ATTRIBUTE_STATUS (g_file_attribute_status_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_file_query_info_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_FILE_QUERY_INFO_FLAGS (g_file_query_info_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_file_create_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_FILE_CREATE_FLAGS (g_file_create_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_file_measure_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_FILE_MEASURE_FLAGS (g_file_measure_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_mount_mount_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_MOUNT_MOUNT_FLAGS (g_mount_mount_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_mount_unmount_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_MOUNT_UNMOUNT_FLAGS (g_mount_unmount_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_drive_start_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_DRIVE_START_FLAGS (g_drive_start_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_drive_start_stop_type_get_type (void) G_GNUC_CONST; +#define G_TYPE_DRIVE_START_STOP_TYPE (g_drive_start_stop_type_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_file_copy_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_FILE_COPY_FLAGS (g_file_copy_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_file_monitor_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_FILE_MONITOR_FLAGS (g_file_monitor_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_file_type_get_type (void) G_GNUC_CONST; +#define G_TYPE_FILE_TYPE (g_file_type_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_filesystem_preview_type_get_type (void) G_GNUC_CONST; +#define G_TYPE_FILESYSTEM_PREVIEW_TYPE (g_filesystem_preview_type_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_file_monitor_event_get_type (void) G_GNUC_CONST; +#define G_TYPE_FILE_MONITOR_EVENT (g_file_monitor_event_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_io_error_enum_get_type (void) G_GNUC_CONST; +#define G_TYPE_IO_ERROR_ENUM (g_io_error_enum_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_ask_password_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_ASK_PASSWORD_FLAGS (g_ask_password_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_password_save_get_type (void) G_GNUC_CONST; +#define G_TYPE_PASSWORD_SAVE (g_password_save_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_mount_operation_result_get_type (void) G_GNUC_CONST; +#define G_TYPE_MOUNT_OPERATION_RESULT (g_mount_operation_result_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_output_stream_splice_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_OUTPUT_STREAM_SPLICE_FLAGS (g_output_stream_splice_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_io_stream_splice_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_IO_STREAM_SPLICE_FLAGS (g_io_stream_splice_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_emblem_origin_get_type (void) G_GNUC_CONST; +#define G_TYPE_EMBLEM_ORIGIN (g_emblem_origin_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_resolver_error_get_type (void) G_GNUC_CONST; +#define G_TYPE_RESOLVER_ERROR (g_resolver_error_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_resolver_record_type_get_type (void) G_GNUC_CONST; +#define G_TYPE_RESOLVER_RECORD_TYPE (g_resolver_record_type_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_resource_error_get_type (void) G_GNUC_CONST; +#define G_TYPE_RESOURCE_ERROR (g_resource_error_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_resource_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_RESOURCE_FLAGS (g_resource_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_resource_lookup_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_RESOURCE_LOOKUP_FLAGS (g_resource_lookup_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_socket_family_get_type (void) G_GNUC_CONST; +#define G_TYPE_SOCKET_FAMILY (g_socket_family_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_socket_type_get_type (void) G_GNUC_CONST; +#define G_TYPE_SOCKET_TYPE (g_socket_type_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_socket_msg_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_SOCKET_MSG_FLAGS (g_socket_msg_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_socket_protocol_get_type (void) G_GNUC_CONST; +#define G_TYPE_SOCKET_PROTOCOL (g_socket_protocol_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_zlib_compressor_format_get_type (void) G_GNUC_CONST; +#define G_TYPE_ZLIB_COMPRESSOR_FORMAT (g_zlib_compressor_format_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_unix_socket_address_type_get_type (void) G_GNUC_CONST; +#define G_TYPE_UNIX_SOCKET_ADDRESS_TYPE (g_unix_socket_address_type_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_bus_type_get_type (void) G_GNUC_CONST; +#define G_TYPE_BUS_TYPE (g_bus_type_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_bus_name_owner_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_BUS_NAME_OWNER_FLAGS (g_bus_name_owner_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_bus_name_watcher_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_BUS_NAME_WATCHER_FLAGS (g_bus_name_watcher_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_dbus_proxy_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_DBUS_PROXY_FLAGS (g_dbus_proxy_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_dbus_error_get_type (void) G_GNUC_CONST; +#define G_TYPE_DBUS_ERROR (g_dbus_error_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_dbus_connection_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_DBUS_CONNECTION_FLAGS (g_dbus_connection_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_dbus_capability_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_DBUS_CAPABILITY_FLAGS (g_dbus_capability_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_dbus_call_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_DBUS_CALL_FLAGS (g_dbus_call_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_dbus_message_type_get_type (void) G_GNUC_CONST; +#define G_TYPE_DBUS_MESSAGE_TYPE (g_dbus_message_type_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_dbus_message_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_DBUS_MESSAGE_FLAGS (g_dbus_message_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_dbus_message_header_field_get_type (void) G_GNUC_CONST; +#define G_TYPE_DBUS_MESSAGE_HEADER_FIELD (g_dbus_message_header_field_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_dbus_property_info_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_DBUS_PROPERTY_INFO_FLAGS (g_dbus_property_info_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_dbus_subtree_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_DBUS_SUBTREE_FLAGS (g_dbus_subtree_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_dbus_server_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_DBUS_SERVER_FLAGS (g_dbus_server_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_dbus_signal_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_DBUS_SIGNAL_FLAGS (g_dbus_signal_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_dbus_send_message_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_DBUS_SEND_MESSAGE_FLAGS (g_dbus_send_message_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_credentials_type_get_type (void) G_GNUC_CONST; +#define G_TYPE_CREDENTIALS_TYPE (g_credentials_type_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_dbus_message_byte_order_get_type (void) G_GNUC_CONST; +#define G_TYPE_DBUS_MESSAGE_BYTE_ORDER (g_dbus_message_byte_order_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_application_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_APPLICATION_FLAGS (g_application_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_tls_error_get_type (void) G_GNUC_CONST; +#define G_TYPE_TLS_ERROR (g_tls_error_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_tls_certificate_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_TLS_CERTIFICATE_FLAGS (g_tls_certificate_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_tls_authentication_mode_get_type (void) G_GNUC_CONST; +#define G_TYPE_TLS_AUTHENTICATION_MODE (g_tls_authentication_mode_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_tls_channel_binding_type_get_type (void) G_GNUC_CONST; +#define G_TYPE_TLS_CHANNEL_BINDING_TYPE (g_tls_channel_binding_type_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_tls_channel_binding_error_get_type (void) G_GNUC_CONST; +#define G_TYPE_TLS_CHANNEL_BINDING_ERROR (g_tls_channel_binding_error_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_tls_rehandshake_mode_get_type (void) G_GNUC_CONST; +#define G_TYPE_TLS_REHANDSHAKE_MODE (g_tls_rehandshake_mode_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_tls_password_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_TLS_PASSWORD_FLAGS (g_tls_password_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_tls_interaction_result_get_type (void) G_GNUC_CONST; +#define G_TYPE_TLS_INTERACTION_RESULT (g_tls_interaction_result_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_dbus_interface_skeleton_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_DBUS_INTERFACE_SKELETON_FLAGS (g_dbus_interface_skeleton_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_dbus_object_manager_client_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_DBUS_OBJECT_MANAGER_CLIENT_FLAGS (g_dbus_object_manager_client_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_tls_database_verify_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_TLS_DATABASE_VERIFY_FLAGS (g_tls_database_verify_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_tls_database_lookup_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_TLS_DATABASE_LOOKUP_FLAGS (g_tls_database_lookup_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_tls_certificate_request_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_TLS_CERTIFICATE_REQUEST_FLAGS (g_tls_certificate_request_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_tls_protocol_version_get_type (void) G_GNUC_CONST; +#define G_TYPE_TLS_PROTOCOL_VERSION (g_tls_protocol_version_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_io_module_scope_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_IO_MODULE_SCOPE_FLAGS (g_io_module_scope_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_socket_client_event_get_type (void) G_GNUC_CONST; +#define G_TYPE_SOCKET_CLIENT_EVENT (g_socket_client_event_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_socket_listener_event_get_type (void) G_GNUC_CONST; +#define G_TYPE_SOCKET_LISTENER_EVENT (g_socket_listener_event_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_test_dbus_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_TEST_DBUS_FLAGS (g_test_dbus_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_subprocess_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_SUBPROCESS_FLAGS (g_subprocess_flags_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_notification_priority_get_type (void) G_GNUC_CONST; +#define G_TYPE_NOTIFICATION_PRIORITY (g_notification_priority_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_network_connectivity_get_type (void) G_GNUC_CONST; +#define G_TYPE_NETWORK_CONNECTIVITY (g_network_connectivity_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_pollable_return_get_type (void) G_GNUC_CONST; +#define G_TYPE_POLLABLE_RETURN (g_pollable_return_get_type ()) +GIO_AVAILABLE_IN_ALL GType g_memory_monitor_warning_level_get_type (void) G_GNUC_CONST; +#define G_TYPE_MEMORY_MONITOR_WARNING_LEVEL (g_memory_monitor_warning_level_get_type ()) + +/* enumerations from "../src/glib-2-322e03f702.clean/gio/gresolver.h" */ +GIO_AVAILABLE_IN_ALL GType g_resolver_name_lookup_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_RESOLVER_NAME_LOOKUP_FLAGS (g_resolver_name_lookup_flags_get_type ()) + +/* enumerations from "../src/glib-2-322e03f702.clean/gio/gsettings.h" */ +GIO_AVAILABLE_IN_ALL GType g_settings_bind_flags_get_type (void) G_GNUC_CONST; +#define G_TYPE_SETTINGS_BIND_FLAGS (g_settings_bind_flags_get_type ()) +G_END_DECLS + +#endif /* __GIO_ENUM_TYPES_H__ */ + +/* Generated data ends here */ + diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gioerror.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gioerror.h new file mode 100644 index 0000000..71ccdb1 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gioerror.h @@ -0,0 +1,58 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_IO_ERROR_H__ +#define __G_IO_ERROR_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include + +G_BEGIN_DECLS + +/** + * G_IO_ERROR: + * + * Error domain for GIO. Errors in this domain will be from the #GIOErrorEnum enumeration. + * See #GError for more information on error domains. + **/ +#define G_IO_ERROR g_io_error_quark() + +GIO_AVAILABLE_IN_ALL +GQuark g_io_error_quark (void); +GIO_AVAILABLE_IN_ALL +GIOErrorEnum g_io_error_from_errno (gint err_no); +GIO_AVAILABLE_IN_2_74 +GIOErrorEnum g_io_error_from_file_error (GFileError file_error); + +#ifdef G_OS_WIN32 +GIO_AVAILABLE_IN_ALL +GIOErrorEnum g_io_error_from_win32_error (gint error_code); +#endif + +G_END_DECLS + +#endif /* __G_IO_ERROR_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/giomodule.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/giomodule.h new file mode 100644 index 0000000..2fe7e1d --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/giomodule.h @@ -0,0 +1,199 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_IO_MODULE_H__ +#define __G_IO_MODULE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +typedef struct _GIOModuleScope GIOModuleScope; + +GIO_AVAILABLE_IN_2_30 +GIOModuleScope * g_io_module_scope_new (GIOModuleScopeFlags flags); +GIO_AVAILABLE_IN_2_30 +void g_io_module_scope_free (GIOModuleScope *scope); +GIO_AVAILABLE_IN_2_30 +void g_io_module_scope_block (GIOModuleScope *scope, + const gchar *basename); + +#define G_IO_TYPE_MODULE (g_io_module_get_type ()) +#define G_IO_MODULE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_IO_TYPE_MODULE, GIOModule)) +#define G_IO_MODULE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_IO_TYPE_MODULE, GIOModuleClass)) +#define G_IO_IS_MODULE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_IO_TYPE_MODULE)) +#define G_IO_IS_MODULE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_IO_TYPE_MODULE)) +#define G_IO_MODULE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_IO_TYPE_MODULE, GIOModuleClass)) + +/** + * GIOModule: + * + * Opaque module base class for extending GIO. + **/ +typedef struct _GIOModuleClass GIOModuleClass; + +GIO_AVAILABLE_IN_ALL +GType g_io_module_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GIOModule *g_io_module_new (const gchar *filename); + +GIO_AVAILABLE_IN_ALL +void g_io_modules_scan_all_in_directory (const char *dirname); +GIO_AVAILABLE_IN_ALL +GList *g_io_modules_load_all_in_directory (const gchar *dirname); + +GIO_AVAILABLE_IN_2_30 +void g_io_modules_scan_all_in_directory_with_scope (const gchar *dirname, + GIOModuleScope *scope); +GIO_AVAILABLE_IN_2_30 +GList *g_io_modules_load_all_in_directory_with_scope (const gchar *dirname, + GIOModuleScope *scope); + +GIO_AVAILABLE_IN_ALL +GIOExtensionPoint *g_io_extension_point_register (const char *name); +GIO_AVAILABLE_IN_ALL +GIOExtensionPoint *g_io_extension_point_lookup (const char *name); +GIO_AVAILABLE_IN_ALL +void g_io_extension_point_set_required_type (GIOExtensionPoint *extension_point, + GType type); +GIO_AVAILABLE_IN_ALL +GType g_io_extension_point_get_required_type (GIOExtensionPoint *extension_point); +GIO_AVAILABLE_IN_ALL +GList *g_io_extension_point_get_extensions (GIOExtensionPoint *extension_point); +GIO_AVAILABLE_IN_ALL +GIOExtension * g_io_extension_point_get_extension_by_name (GIOExtensionPoint *extension_point, + const char *name); +GIO_AVAILABLE_IN_ALL +GIOExtension * g_io_extension_point_implement (const char *extension_point_name, + GType type, + const char *extension_name, + gint priority); + +GIO_AVAILABLE_IN_ALL +GType g_io_extension_get_type (GIOExtension *extension); +GIO_AVAILABLE_IN_ALL +const char * g_io_extension_get_name (GIOExtension *extension); +GIO_AVAILABLE_IN_ALL +gint g_io_extension_get_priority (GIOExtension *extension); +GIO_AVAILABLE_IN_ALL +GTypeClass* g_io_extension_ref_class (GIOExtension *extension); + + +/* API for the modules to implement. + * Note that those functions are not implemented by libgio, they are declared + * here to be implemented in modules, that's why it uses G_MODULE_EXPORT + * instead of GIO_AVAILABLE_IN_ALL. + */ + +/** + * g_io_module_load: (skip) + * @module: a #GIOModule. + * + * Required API for GIO modules to implement. + * + * This function is run after the module has been loaded into GIO, + * to initialize the module. Typically, this function will call + * g_io_extension_point_implement(). + * + * Since 2.56, this function should be named `g_io__load`, where + * `modulename` is the plugin’s filename with the `lib` or `libgio` prefix and + * everything after the first dot removed, and with `-` replaced with `_` + * throughout. For example, `libgiognutls-helper.so` becomes `gnutls_helper`. + * Using the new symbol names avoids name clashes when building modules + * statically. The old symbol names continue to be supported, but cannot be used + * for static builds. + **/ +G_MODULE_EXPORT +void g_io_module_load (GIOModule *module); + +/** + * g_io_module_unload: (skip) + * @module: a #GIOModule. + * + * Required API for GIO modules to implement. + * + * This function is run when the module is being unloaded from GIO, + * to finalize the module. + * + * Since 2.56, this function should be named `g_io__unload`, where + * `modulename` is the plugin’s filename with the `lib` or `libgio` prefix and + * everything after the first dot removed, and with `-` replaced with `_` + * throughout. For example, `libgiognutls-helper.so` becomes `gnutls_helper`. + * Using the new symbol names avoids name clashes when building modules + * statically. The old symbol names continue to be supported, but cannot be used + * for static builds. + **/ +G_MODULE_EXPORT +void g_io_module_unload (GIOModule *module); + +/** + * g_io_module_query: + * + * Optional API for GIO modules to implement. + * + * Should return a list of all the extension points that may be + * implemented in this module. + * + * This method will not be called in normal use, however it may be + * called when probing existing modules and recording which extension + * points that this model is used for. This means we won't have to + * load and initialize this module unless its needed. + * + * If this function is not implemented by the module the module will + * always be loaded, initialized and then unloaded on application + * startup so that it can register its extension points during init. + * + * Note that a module need not actually implement all the extension + * points that g_io_module_query() returns, since the exact list of + * extension may depend on runtime issues. However all extension + * points actually implemented must be returned by g_io_module_query() + * (if defined). + * + * When installing a module that implements g_io_module_query() you must + * run gio-querymodules in order to build the cache files required for + * lazy loading. + * + * Since 2.56, this function should be named `g_io__query`, where + * `modulename` is the plugin’s filename with the `lib` or `libgio` prefix and + * everything after the first dot removed, and with `-` replaced with `_` + * throughout. For example, `libgiognutls-helper.so` becomes `gnutls_helper`. + * Using the new symbol names avoids name clashes when building modules + * statically. The old symbol names continue to be supported, but cannot be used + * for static builds. + * + * Returns: (transfer full): A %NULL-terminated array of strings, + * listing the supported extension points of the module. The array + * must be suitable for freeing with g_strfreev(). + * + * Since: 2.24 + **/ +G_MODULE_EXPORT +char **g_io_module_query (void); + +G_END_DECLS + +#endif /* __G_IO_MODULE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gioscheduler.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gioscheduler.h new file mode 100644 index 0000000..52162dc --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gioscheduler.h @@ -0,0 +1,56 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_IO_SCHEDULER_H__ +#define __G_IO_SCHEDULER_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + + +GIO_DEPRECATED_IN_2_36_FOR ("GThreadPool or g_task_run_in_thread") +void g_io_scheduler_push_job (GIOSchedulerJobFunc job_func, + gpointer user_data, + GDestroyNotify notify, + gint io_priority, + GCancellable *cancellable); +GIO_DEPRECATED_IN_2_36 +void g_io_scheduler_cancel_all_jobs (void); +GIO_DEPRECATED_IN_2_36_FOR (g_main_context_invoke) +gboolean g_io_scheduler_job_send_to_mainloop (GIOSchedulerJob *job, + GSourceFunc func, + gpointer user_data, + GDestroyNotify notify); +GIO_DEPRECATED_IN_2_36_FOR (g_main_context_invoke) +void g_io_scheduler_job_send_to_mainloop_async (GIOSchedulerJob *job, + GSourceFunc func, + gpointer user_data, + GDestroyNotify notify); + +G_END_DECLS + +#endif /* __G_IO_SCHEDULER_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/giostream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/giostream.h new file mode 100644 index 0000000..52881c7 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/giostream.h @@ -0,0 +1,137 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright © 2008, 2009 Codethink Limited + * Copyright © 2009 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * See the included COPYING file for more information. + * + * Authors: Ryan Lortie + * Alexander Larsson + */ + +#ifndef __G_IO_STREAM_H__ +#define __G_IO_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include +#include + +G_BEGIN_DECLS + +#define G_TYPE_IO_STREAM (g_io_stream_get_type ()) +#define G_IO_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_IO_STREAM, GIOStream)) +#define G_IO_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_IO_STREAM, GIOStreamClass)) +#define G_IS_IO_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_IO_STREAM)) +#define G_IS_IO_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_IO_STREAM)) +#define G_IO_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_IO_STREAM, GIOStreamClass)) + +typedef struct _GIOStreamPrivate GIOStreamPrivate; +typedef struct _GIOStreamClass GIOStreamClass; + +/** + * GIOStream: + * + * Base class for read-write streams. + **/ +struct _GIOStream +{ + GObject parent_instance; + + /*< private >*/ + GIOStreamPrivate *priv; +}; + +struct _GIOStreamClass +{ + GObjectClass parent_class; + + GInputStream * (*get_input_stream) (GIOStream *stream); + GOutputStream * (*get_output_stream) (GIOStream *stream); + + gboolean (* close_fn) (GIOStream *stream, + GCancellable *cancellable, + GError **error); + void (* close_async) (GIOStream *stream, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* close_finish) (GIOStream *stream, + GAsyncResult *result, + GError **error); + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); + void (*_g_reserved6) (void); + void (*_g_reserved7) (void); + void (*_g_reserved8) (void); + void (*_g_reserved9) (void); + void (*_g_reserved10) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_io_stream_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GInputStream * g_io_stream_get_input_stream (GIOStream *stream); +GIO_AVAILABLE_IN_ALL +GOutputStream *g_io_stream_get_output_stream (GIOStream *stream); + +GIO_AVAILABLE_IN_ALL +void g_io_stream_splice_async (GIOStream *stream1, + GIOStream *stream2, + GIOStreamSpliceFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_ALL +gboolean g_io_stream_splice_finish (GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_io_stream_close (GIOStream *stream, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_io_stream_close_async (GIOStream *stream, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_io_stream_close_finish (GIOStream *stream, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_io_stream_is_closed (GIOStream *stream); +GIO_AVAILABLE_IN_ALL +gboolean g_io_stream_has_pending (GIOStream *stream); +GIO_AVAILABLE_IN_ALL +gboolean g_io_stream_set_pending (GIOStream *stream, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_io_stream_clear_pending (GIOStream *stream); + +G_END_DECLS + +#endif /* __G_IO_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/giotypes.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/giotypes.h new file mode 100644 index 0000000..82e091b --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/giotypes.h @@ -0,0 +1,660 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __GIO_TYPES_H__ +#define __GIO_TYPES_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +typedef struct _GAppLaunchContext GAppLaunchContext; +typedef struct _GAppInfo GAppInfo; /* Dummy typedef */ +typedef struct _GAsyncResult GAsyncResult; /* Dummy typedef */ +typedef struct _GAsyncInitable GAsyncInitable; +typedef struct _GBufferedInputStream GBufferedInputStream; +typedef struct _GBufferedOutputStream GBufferedOutputStream; +typedef struct _GCancellable GCancellable; +typedef struct _GCharsetConverter GCharsetConverter; +typedef struct _GConverter GConverter; +typedef struct _GConverterInputStream GConverterInputStream; +typedef struct _GConverterOutputStream GConverterOutputStream; +typedef struct _GDatagramBased GDatagramBased; +typedef struct _GDataInputStream GDataInputStream; +typedef struct _GSimplePermission GSimplePermission; +typedef struct _GZlibCompressor GZlibCompressor; +typedef struct _GZlibDecompressor GZlibDecompressor; + +typedef struct _GSimpleActionGroup GSimpleActionGroup; +typedef struct _GRemoteActionGroup GRemoteActionGroup; +typedef struct _GDBusActionGroup GDBusActionGroup; +typedef struct _GActionMap GActionMap; +typedef struct _GActionGroup GActionGroup; +typedef struct _GPropertyAction GPropertyAction; +typedef struct _GSimpleAction GSimpleAction; +typedef struct _GAction GAction; +typedef struct _GApplication GApplication; +typedef struct _GApplicationCommandLine GApplicationCommandLine; +typedef struct _GSettingsBackend GSettingsBackend; +typedef struct _GSettings GSettings; +typedef struct _GPermission GPermission; + +typedef struct _GMenuModel GMenuModel; +typedef struct _GNotification GNotification; + +/** + * GDrive: + * + * Opaque drive object. + **/ +typedef struct _GDrive GDrive; /* Dummy typedef */ +typedef struct _GFileEnumerator GFileEnumerator; +typedef struct _GFileMonitor GFileMonitor; +typedef struct _GFilterInputStream GFilterInputStream; +typedef struct _GFilterOutputStream GFilterOutputStream; + +/** + * GFile: + * + * A handle to an object implementing the #GFileIface interface. + * Generally stores a location within the file system. Handles do not + * necessarily represent files or directories that currently exist. + **/ +typedef struct _GFile GFile; /* Dummy typedef */ +typedef struct _GFileInfo GFileInfo; + +/** + * GFileAttributeMatcher: + * + * Determines if a string matches a file attribute. + **/ +typedef struct _GFileAttributeMatcher GFileAttributeMatcher; +typedef struct _GFileAttributeInfo GFileAttributeInfo; +typedef struct _GFileAttributeInfoList GFileAttributeInfoList; +typedef struct _GFileDescriptorBased GFileDescriptorBased; +typedef struct _GFileInputStream GFileInputStream; +typedef struct _GFileOutputStream GFileOutputStream; +typedef struct _GFileIOStream GFileIOStream; +typedef struct _GFileIcon GFileIcon; +typedef struct _GFilenameCompleter GFilenameCompleter; + + +typedef struct _GIcon GIcon; /* Dummy typedef */ +typedef struct _GInetAddress GInetAddress; +typedef struct _GInetAddressMask GInetAddressMask; +typedef struct _GInetSocketAddress GInetSocketAddress; +typedef struct _GNativeSocketAddress GNativeSocketAddress; +typedef struct _GInputStream GInputStream; +typedef struct _GInitable GInitable; +typedef struct _GIOModule GIOModule; +typedef struct _GIOExtensionPoint GIOExtensionPoint; +typedef struct _GIOExtension GIOExtension; + +/** + * GIOSchedulerJob: + * + * Opaque class for defining and scheduling IO jobs. + **/ +typedef struct _GIOSchedulerJob GIOSchedulerJob; +typedef struct _GIOStreamAdapter GIOStreamAdapter; +typedef struct _GLoadableIcon GLoadableIcon; /* Dummy typedef */ +typedef struct _GBytesIcon GBytesIcon; +typedef struct _GMemoryInputStream GMemoryInputStream; +typedef struct _GMemoryOutputStream GMemoryOutputStream; + +/** + * GMount: + * + * A handle to an object implementing the #GMountIface interface. + **/ +typedef struct _GMount GMount; /* Dummy typedef */ +typedef struct _GMountOperation GMountOperation; +typedef struct _GNetworkAddress GNetworkAddress; +typedef struct _GNetworkMonitor GNetworkMonitor; +typedef struct _GNetworkService GNetworkService; +typedef struct _GOutputStream GOutputStream; +typedef struct _GIOStream GIOStream; +typedef struct _GSimpleIOStream GSimpleIOStream; +typedef struct _GPollableInputStream GPollableInputStream; /* Dummy typedef */ +typedef struct _GPollableOutputStream GPollableOutputStream; /* Dummy typedef */ +typedef struct _GResolver GResolver; + +/** + * GResource: + * + * A resource bundle. + * + * Since: 2.32 + */ +typedef struct _GResource GResource; +typedef struct _GSeekable GSeekable; +typedef struct _GSimpleAsyncResult GSimpleAsyncResult; + +/** + * GSocket: + * + * A lowlevel network socket object. + * + * Since: 2.22 + **/ +typedef struct _GSocket GSocket; + +/** + * GSocketControlMessage: + * + * Base class for socket-type specific control messages that can be sent and + * received over #GSocket. + **/ +typedef struct _GSocketControlMessage GSocketControlMessage; +/** + * GSocketClient: + * + * A helper class for network clients to make connections. + * + * Since: 2.22 + **/ +typedef struct _GSocketClient GSocketClient; +/** + * GSocketConnection: + * + * A socket connection GIOStream object for connection-oriented sockets. + * + * Since: 2.22 + **/ +typedef struct _GSocketConnection GSocketConnection; +/** + * GSocketListener: + * + * A helper class for network servers to listen for and accept connections. + * + * Since: 2.22 + **/ +typedef struct _GSocketListener GSocketListener; +/** + * GSocketService: + * + * A helper class for handling accepting incoming connections in the + * glib mainloop. + * + * Since: 2.22 + **/ +typedef struct _GSocketService GSocketService; +typedef struct _GSocketAddress GSocketAddress; +typedef struct _GSocketAddressEnumerator GSocketAddressEnumerator; +typedef struct _GSocketConnectable GSocketConnectable; +typedef struct _GSrvTarget GSrvTarget; +typedef struct _GTask GTask; +/** + * GTcpConnection: + * + * A #GSocketConnection for TCP/IP connections. + * + * Since: 2.22 + **/ +typedef struct _GTcpConnection GTcpConnection; +typedef struct _GTcpWrapperConnection GTcpWrapperConnection; +/** + * GThreadedSocketService: + * + * A helper class for handling accepting incoming connections in the + * glib mainloop and handling them in a thread. + * + * Since: 2.22 + **/ +typedef struct _GThreadedSocketService GThreadedSocketService; +typedef struct _GDtlsConnection GDtlsConnection; +typedef struct _GDtlsClientConnection GDtlsClientConnection; /* Dummy typedef */ +typedef struct _GDtlsServerConnection GDtlsServerConnection; /* Dummy typedef */ +typedef struct _GThemedIcon GThemedIcon; +typedef struct _GTlsCertificate GTlsCertificate; +typedef struct _GTlsClientConnection GTlsClientConnection; /* Dummy typedef */ +typedef struct _GTlsConnection GTlsConnection; +typedef struct _GTlsDatabase GTlsDatabase; +typedef struct _GTlsFileDatabase GTlsFileDatabase; +typedef struct _GTlsInteraction GTlsInteraction; +typedef struct _GTlsPassword GTlsPassword; +typedef struct _GTlsServerConnection GTlsServerConnection; /* Dummy typedef */ +typedef struct _GVfs GVfs; /* Dummy typedef */ + +/** + * GProxyResolver: + * + * A helper class to enumerate proxies base on URI. + * + * Since: 2.26 + **/ +typedef struct _GProxyResolver GProxyResolver; +typedef struct _GProxy GProxy; +typedef struct _GProxyAddress GProxyAddress; +typedef struct _GProxyAddressEnumerator GProxyAddressEnumerator; + +/** + * GVolume: + * + * Opaque mountable volume object. + **/ +typedef struct _GVolume GVolume; /* Dummy typedef */ +typedef struct _GVolumeMonitor GVolumeMonitor; + +/** + * GAsyncReadyCallback: + * @source_object: (nullable): the object the asynchronous operation was started with. + * @res: a #GAsyncResult. + * @data: user data passed to the callback. + * + * Type definition for a function that will be called back when an asynchronous + * operation within GIO has been completed. #GAsyncReadyCallback + * callbacks from #GTask are guaranteed to be invoked in a later + * iteration of the + * [thread-default main context][g-main-context-push-thread-default] + * where the #GTask was created. All other users of + * #GAsyncReadyCallback must likewise call it asynchronously in a + * later iteration of the main context. + * + * The asynchronous operation is guaranteed to have held a reference to + * @source_object from the time when the `*_async()` function was called, until + * after this callback returns. + **/ +typedef void (*GAsyncReadyCallback) (GObject *source_object, + GAsyncResult *res, + gpointer data); + +/** + * GFileProgressCallback: + * @current_num_bytes: the current number of bytes in the operation. + * @total_num_bytes: the total number of bytes in the operation. + * @data: user data passed to the callback. + * + * When doing file operations that may take a while, such as moving + * a file or copying a file, a progress callback is used to pass how + * far along that operation is to the application. + **/ +typedef void (*GFileProgressCallback) (goffset current_num_bytes, + goffset total_num_bytes, + gpointer data); + +/** + * GFileReadMoreCallback: + * @file_contents: the data as currently read. + * @file_size: the size of the data currently read. + * @callback_data: data passed to the callback. + * + * When loading the partial contents of a file with g_file_load_partial_contents_async(), + * it may become necessary to determine if any more data from the file should be loaded. + * A #GFileReadMoreCallback function facilitates this by returning %TRUE if more data + * should be read, or %FALSE otherwise. + * + * Returns: %TRUE if more data should be read back. %FALSE otherwise. + **/ +typedef gboolean (* GFileReadMoreCallback) (const char *file_contents, + goffset file_size, + gpointer callback_data); + +/** + * GFileMeasureProgressCallback: + * @reporting: %TRUE if more reports will come + * @current_size: the current cumulative size measurement + * @num_dirs: the number of directories visited so far + * @num_files: the number of non-directory files encountered + * @data: the data passed to the original request for this callback + * + * This callback type is used by g_file_measure_disk_usage() to make + * periodic progress reports when measuring the amount of disk spaced + * used by a directory. + * + * These calls are made on a best-effort basis and not all types of + * #GFile will support them. At the minimum, however, one call will + * always be made immediately. + * + * In the case that there is no support, @reporting will be set to + * %FALSE (and the other values undefined) and no further calls will be + * made. Otherwise, the @reporting will be %TRUE and the other values + * all-zeros during the first (immediate) call. In this way, you can + * know which type of progress UI to show without a delay. + * + * For g_file_measure_disk_usage() the callback is made directly. For + * g_file_measure_disk_usage_async() the callback is made via the + * default main context of the calling thread (ie: the same way that the + * final async result would be reported). + * + * @current_size is in the same units as requested by the operation (see + * %G_FILE_MEASURE_APPARENT_SIZE). + * + * The frequency of the updates is implementation defined, but is + * ideally about once every 200ms. + * + * The last progress callback may or may not be equal to the final + * result. Always check the async result to get the final value. + * + * Since: 2.38 + **/ +typedef void (* GFileMeasureProgressCallback) (gboolean reporting, + guint64 current_size, + guint64 num_dirs, + guint64 num_files, + gpointer data); + +/** + * GIOSchedulerJobFunc: + * @job: a #GIOSchedulerJob. + * @cancellable: optional #GCancellable object, %NULL to ignore. + * @data: data passed to the callback function + * + * I/O Job function. + * + * Long-running jobs should periodically check the @cancellable + * to see if they have been cancelled. + * + * Returns: %TRUE if this function should be called again to + * complete the job, %FALSE if the job is complete (or cancelled) + **/ +typedef gboolean (*GIOSchedulerJobFunc) (GIOSchedulerJob *job, + GCancellable *cancellable, + gpointer data); + +/** + * GSimpleAsyncThreadFunc: + * @res: a #GSimpleAsyncResult. + * @object: a #GObject. + * @cancellable: optional #GCancellable object, %NULL to ignore. + * + * Simple thread function that runs an asynchronous operation and + * checks for cancellation. + **/ +typedef void (*GSimpleAsyncThreadFunc) (GSimpleAsyncResult *res, + GObject *object, + GCancellable *cancellable); + +/** + * GSocketSourceFunc: + * @socket: the #GSocket + * @condition: the current condition at the source fired. + * @data: data passed in by the user. + * + * This is the function type of the callback used for the #GSource + * returned by g_socket_create_source(). + * + * Returns: it should return %FALSE if the source should be removed. + * + * Since: 2.22 + */ +typedef gboolean (*GSocketSourceFunc) (GSocket *socket, + GIOCondition condition, + gpointer data); + +/** + * GDatagramBasedSourceFunc: + * @datagram_based: the #GDatagramBased + * @condition: the current condition at the source fired + * @data: data passed in by the user + * + * This is the function type of the callback used for the #GSource + * returned by g_datagram_based_create_source(). + * + * Returns: %G_SOURCE_REMOVE if the source should be removed, + * %G_SOURCE_CONTINUE otherwise + * + * Since: 2.48 + */ +typedef gboolean (*GDatagramBasedSourceFunc) (GDatagramBased *datagram_based, + GIOCondition condition, + gpointer data); + +/** + * GInputVector: + * @buffer: Pointer to a buffer where data will be written. + * @size: the available size in @buffer. + * + * Structure used for scatter/gather data input. + * You generally pass in an array of #GInputVectors + * and the operation will store the read data starting in the + * first buffer, switching to the next as needed. + * + * Since: 2.22 + */ +typedef struct _GInputVector GInputVector; + +struct _GInputVector { + gpointer buffer; + gsize size; +}; + +/** + * GInputMessage: + * @address: (optional) (out) (transfer full): return location + * for a #GSocketAddress, or %NULL + * @vectors: (array length=num_vectors) (out): pointer to an + * array of input vectors + * @num_vectors: the number of input vectors pointed to by @vectors + * @bytes_received: (out): will be set to the number of bytes that have been + * received + * @flags: (out): collection of #GSocketMsgFlags for the received message, + * outputted by the call + * @control_messages: (array length=num_control_messages) (optional) + * (out) (transfer full): return location for a + * caller-allocated array of #GSocketControlMessages, or %NULL + * @num_control_messages: (out) (optional): return location for the number of + * elements in @control_messages + * + * Structure used for scatter/gather data input when receiving multiple + * messages or packets in one go. You generally pass in an array of empty + * #GInputVectors and the operation will use all the buffers as if they + * were one buffer, and will set @bytes_received to the total number of bytes + * received across all #GInputVectors. + * + * This structure closely mirrors `struct mmsghdr` and `struct msghdr` from + * the POSIX sockets API (see `man 2 recvmmsg`). + * + * If @address is non-%NULL then it is set to the source address the message + * was received from, and the caller must free it afterwards. + * + * If @control_messages is non-%NULL then it is set to an array of control + * messages received with the message (if any), and the caller must free it + * afterwards. @num_control_messages is set to the number of elements in + * this array, which may be zero. + * + * Flags relevant to this message will be returned in @flags. For example, + * `MSG_EOR` or `MSG_TRUNC`. + * + * Since: 2.48 + */ +typedef struct _GInputMessage GInputMessage; + +struct _GInputMessage { + GSocketAddress **address; + + GInputVector *vectors; + guint num_vectors; + + gsize bytes_received; + gint flags; + + GSocketControlMessage ***control_messages; + guint *num_control_messages; +}; + +/** + * GOutputVector: + * @buffer: Pointer to a buffer of data to read. + * @size: the size of @buffer. + * + * Structure used for scatter/gather data output. + * You generally pass in an array of #GOutputVectors + * and the operation will use all the buffers as if they were + * one buffer. + * + * Since: 2.22 + */ +typedef struct _GOutputVector GOutputVector; + +struct _GOutputVector { + gconstpointer buffer; + gsize size; +}; + +/** + * GOutputMessage: + * @address: (nullable): a #GSocketAddress, or %NULL + * @vectors: pointer to an array of output vectors + * @num_vectors: the number of output vectors pointed to by @vectors. + * @bytes_sent: initialize to 0. Will be set to the number of bytes + * that have been sent + * @control_messages: (array length=num_control_messages) (nullable): a pointer + * to an array of #GSocketControlMessages, or %NULL. + * @num_control_messages: number of elements in @control_messages. + * + * Structure used for scatter/gather data output when sending multiple + * messages or packets in one go. You generally pass in an array of + * #GOutputVectors and the operation will use all the buffers as if they + * were one buffer. + * + * If @address is %NULL then the message is sent to the default receiver + * (as previously set by g_socket_connect()). + * + * Since: 2.44 + */ +typedef struct _GOutputMessage GOutputMessage; + +struct _GOutputMessage { + GSocketAddress *address; + + GOutputVector *vectors; + guint num_vectors; + + guint bytes_sent; + + GSocketControlMessage **control_messages; + guint num_control_messages; +}; + +typedef struct _GCredentials GCredentials; +typedef struct _GUnixCredentialsMessage GUnixCredentialsMessage; +typedef struct _GUnixFDList GUnixFDList; +typedef struct _GDBusMessage GDBusMessage; +typedef struct _GDBusConnection GDBusConnection; +typedef struct _GDBusProxy GDBusProxy; +typedef struct _GDBusMethodInvocation GDBusMethodInvocation; +typedef struct _GDBusServer GDBusServer; +typedef struct _GDBusAuthObserver GDBusAuthObserver; +typedef struct _GDBusErrorEntry GDBusErrorEntry; +typedef struct _GDBusInterfaceVTable GDBusInterfaceVTable; +typedef struct _GDBusSubtreeVTable GDBusSubtreeVTable; +typedef struct _GDBusAnnotationInfo GDBusAnnotationInfo; +typedef struct _GDBusArgInfo GDBusArgInfo; +typedef struct _GDBusMethodInfo GDBusMethodInfo; +typedef struct _GDBusSignalInfo GDBusSignalInfo; +typedef struct _GDBusPropertyInfo GDBusPropertyInfo; +typedef struct _GDBusInterfaceInfo GDBusInterfaceInfo; +typedef struct _GDBusNodeInfo GDBusNodeInfo; + +/** + * GCancellableSourceFunc: + * @cancellable: the #GCancellable + * @data: data passed in by the user. + * + * This is the function type of the callback used for the #GSource + * returned by g_cancellable_source_new(). + * + * Returns: it should return %FALSE if the source should be removed. + * + * Since: 2.28 + */ +typedef gboolean (*GCancellableSourceFunc) (GCancellable *cancellable, + gpointer data); + +/** + * GPollableSourceFunc: + * @pollable_stream: the #GPollableInputStream or #GPollableOutputStream + * @data: data passed in by the user. + * + * This is the function type of the callback used for the #GSource + * returned by g_pollable_input_stream_create_source() and + * g_pollable_output_stream_create_source(). + * + * Returns: it should return %FALSE if the source should be removed. + * + * Since: 2.28 + */ +typedef gboolean (*GPollableSourceFunc) (GObject *pollable_stream, + gpointer data); + +typedef struct _GDBusInterface GDBusInterface; /* Dummy typedef */ +typedef struct _GDBusInterfaceSkeleton GDBusInterfaceSkeleton; +typedef struct _GDBusObject GDBusObject; /* Dummy typedef */ +typedef struct _GDBusObjectSkeleton GDBusObjectSkeleton; +typedef struct _GDBusObjectProxy GDBusObjectProxy; +typedef struct _GDBusObjectManager GDBusObjectManager; /* Dummy typedef */ +typedef struct _GDBusObjectManagerClient GDBusObjectManagerClient; +typedef struct _GDBusObjectManagerServer GDBusObjectManagerServer; + +/** + * GDBusProxyTypeFunc: + * @manager: A #GDBusObjectManagerClient. + * @object_path: The object path of the remote object. + * @interface_name: (nullable): The interface name of the remote object or %NULL if a #GDBusObjectProxy #GType is requested. + * @data: data passed in by the user. + * + * Function signature for a function used to determine the #GType to + * use for an interface proxy (if @interface_name is not %NULL) or + * object proxy (if @interface_name is %NULL). + * + * This function is called in the + * [thread-default main loop][g-main-context-push-thread-default] + * that @manager was constructed in. + * + * Returns: A #GType to use for the remote object. The returned type + * must be a #GDBusProxy or #GDBusObjectProxy -derived + * type. + * + * Since: 2.30 + */ +typedef GType (*GDBusProxyTypeFunc) (GDBusObjectManagerClient *manager, + const gchar *object_path, + const gchar *interface_name, + gpointer data); + +typedef struct _GTestDBus GTestDBus; + +/** + * GSubprocess: + * + * A child process. + * + * Since: 2.40 + */ +typedef struct _GSubprocess GSubprocess; +/** + * GSubprocessLauncher: + * + * Options for launching a child process. + * + * Since: 2.40 + */ +typedef struct _GSubprocessLauncher GSubprocessLauncher; + +G_END_DECLS + +#endif /* __GIO_TYPES_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/glistmodel.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/glistmodel.h new file mode 100644 index 0000000..a96e3ce --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/glistmodel.h @@ -0,0 +1,74 @@ +/* + * Copyright 2015 Lars Uebernickel + * Copyright 2015 Ryan Lortie + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: + * Lars Uebernickel + * Ryan Lortie + */ + +#ifndef __G_LIST_MODEL_H__ +#define __G_LIST_MODEL_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_LIST_MODEL g_list_model_get_type () +GIO_AVAILABLE_IN_2_44 +G_DECLARE_INTERFACE(GListModel, g_list_model, G, LIST_MODEL, GObject) + +struct _GListModelInterface +{ + GTypeInterface g_iface; + + GType (* get_item_type) (GListModel *list); + + guint (* get_n_items) (GListModel *list); + + gpointer (* get_item) (GListModel *list, + guint position); +}; + +GIO_AVAILABLE_IN_2_44 +GType g_list_model_get_item_type (GListModel *list); + +GIO_AVAILABLE_IN_2_44 +guint g_list_model_get_n_items (GListModel *list); + +GIO_AVAILABLE_IN_2_44 +gpointer g_list_model_get_item (GListModel *list, + guint position); + +GIO_AVAILABLE_IN_2_44 +GObject * g_list_model_get_object (GListModel *list, + guint position); + +GIO_AVAILABLE_IN_2_44 +void g_list_model_items_changed (GListModel *list, + guint position, + guint removed, + guint added); + +G_END_DECLS + +#endif /* __G_LIST_MODEL_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gliststore.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gliststore.h new file mode 100644 index 0000000..958ca60 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gliststore.h @@ -0,0 +1,97 @@ +/* + * Copyright 2015 Lars Uebernickel + * Copyright 2015 Ryan Lortie + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: + * Lars Uebernickel + * Ryan Lortie + */ + +#ifndef __G_LIST_STORE_H__ +#define __G_LIST_STORE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_LIST_STORE (g_list_store_get_type ()) +GIO_AVAILABLE_IN_2_44 +G_DECLARE_FINAL_TYPE(GListStore, g_list_store, G, LIST_STORE, GObject) + +GIO_AVAILABLE_IN_2_44 +GListStore * g_list_store_new (GType item_type); + +GIO_AVAILABLE_IN_2_44 +void g_list_store_insert (GListStore *store, + guint position, + gpointer item); + +GIO_AVAILABLE_IN_2_44 +guint g_list_store_insert_sorted (GListStore *store, + gpointer item, + GCompareDataFunc compare_func, + gpointer user_data); + +GIO_AVAILABLE_IN_2_46 +void g_list_store_sort (GListStore *store, + GCompareDataFunc compare_func, + gpointer user_data); + +GIO_AVAILABLE_IN_2_44 +void g_list_store_append (GListStore *store, + gpointer item); + +GIO_AVAILABLE_IN_2_44 +void g_list_store_remove (GListStore *store, + guint position); + +GIO_AVAILABLE_IN_2_44 +void g_list_store_remove_all (GListStore *store); + +GIO_AVAILABLE_IN_2_44 +void g_list_store_splice (GListStore *store, + guint position, + guint n_removals, + gpointer *additions, + guint n_additions); + +GIO_AVAILABLE_IN_2_64 +gboolean g_list_store_find (GListStore *store, + gpointer item, + guint *position); + +GIO_AVAILABLE_IN_2_64 +gboolean g_list_store_find_with_equal_func (GListStore *store, + gpointer item, + GEqualFunc equal_func, + guint *position); + +GIO_AVAILABLE_IN_2_74 +gboolean g_list_store_find_with_equal_func_full (GListStore *store, + gpointer item, + GEqualFuncFull equal_func, + gpointer user_data, + guint *position); + +G_END_DECLS + +#endif /* __G_LIST_STORE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gloadableicon.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gloadableicon.h new file mode 100644 index 0000000..7a576ef --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gloadableicon.h @@ -0,0 +1,101 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_LOADABLE_ICON_H__ +#define __G_LOADABLE_ICON_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_LOADABLE_ICON (g_loadable_icon_get_type ()) +#define G_LOADABLE_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_LOADABLE_ICON, GLoadableIcon)) +#define G_IS_LOADABLE_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_LOADABLE_ICON)) +#define G_LOADABLE_ICON_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_LOADABLE_ICON, GLoadableIconIface)) + +/** + * GLoadableIcon: + * + * Generic type for all kinds of icons that can be loaded + * as a stream. + **/ +typedef struct _GLoadableIconIface GLoadableIconIface; + +/** + * GLoadableIconIface: + * @g_iface: The parent interface. + * @load: Loads an icon. + * @load_async: Loads an icon asynchronously. + * @load_finish: Finishes an asynchronous icon load. + * + * Interface for icons that can be loaded as a stream. + **/ +struct _GLoadableIconIface +{ + GTypeInterface g_iface; + + /* Virtual Table */ + + GInputStream * (* load) (GLoadableIcon *icon, + int size, + char **type, + GCancellable *cancellable, + GError **error); + void (* load_async) (GLoadableIcon *icon, + int size, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GInputStream * (* load_finish) (GLoadableIcon *icon, + GAsyncResult *res, + char **type, + GError **error); +}; + +GIO_AVAILABLE_IN_ALL +GType g_loadable_icon_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GInputStream *g_loadable_icon_load (GLoadableIcon *icon, + int size, + char **type, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_loadable_icon_load_async (GLoadableIcon *icon, + int size, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GInputStream *g_loadable_icon_load_finish (GLoadableIcon *icon, + GAsyncResult *res, + char **type, + GError **error); + +G_END_DECLS + +#endif /* __G_LOADABLE_ICON_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmemoryinputstream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmemoryinputstream.h new file mode 100644 index 0000000..fb72f23 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmemoryinputstream.h @@ -0,0 +1,92 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Christian Kellner + */ + +#ifndef __G_MEMORY_INPUT_STREAM_H__ +#define __G_MEMORY_INPUT_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_MEMORY_INPUT_STREAM (g_memory_input_stream_get_type ()) +#define G_MEMORY_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_MEMORY_INPUT_STREAM, GMemoryInputStream)) +#define G_MEMORY_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_MEMORY_INPUT_STREAM, GMemoryInputStreamClass)) +#define G_IS_MEMORY_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_MEMORY_INPUT_STREAM)) +#define G_IS_MEMORY_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_MEMORY_INPUT_STREAM)) +#define G_MEMORY_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_MEMORY_INPUT_STREAM, GMemoryInputStreamClass)) + +/** + * GMemoryInputStream: + * + * Implements #GInputStream for arbitrary memory chunks. + **/ +typedef struct _GMemoryInputStreamClass GMemoryInputStreamClass; +typedef struct _GMemoryInputStreamPrivate GMemoryInputStreamPrivate; + +struct _GMemoryInputStream +{ + GInputStream parent_instance; + + /*< private >*/ + GMemoryInputStreamPrivate *priv; +}; + +struct _GMemoryInputStreamClass +{ + GInputStreamClass parent_class; + + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + + +GIO_AVAILABLE_IN_ALL +GType g_memory_input_stream_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GInputStream * g_memory_input_stream_new (void); +GIO_AVAILABLE_IN_ALL +GInputStream * g_memory_input_stream_new_from_data (const void *data, + gssize len, + GDestroyNotify destroy); +GIO_AVAILABLE_IN_2_34 +GInputStream * g_memory_input_stream_new_from_bytes (GBytes *bytes); + +GIO_AVAILABLE_IN_ALL +void g_memory_input_stream_add_data (GMemoryInputStream *stream, + const void *data, + gssize len, + GDestroyNotify destroy); +GIO_AVAILABLE_IN_2_34 +void g_memory_input_stream_add_bytes (GMemoryInputStream *stream, + GBytes *bytes); + +G_END_DECLS + +#endif /* __G_MEMORY_INPUT_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmemorymonitor.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmemorymonitor.h new file mode 100644 index 0000000..83c28b9 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmemorymonitor.h @@ -0,0 +1,64 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright 2019 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_MEMORY_MONITOR_H__ +#define __G_MEMORY_MONITOR_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/** + * G_MEMORY_MONITOR_EXTENSION_POINT_NAME: + * + * Extension point for memory usage monitoring functionality. + * See [Extending GIO][extending-gio]. + * + * Since: 2.64 + */ +#define G_MEMORY_MONITOR_EXTENSION_POINT_NAME "gio-memory-monitor" + +#define G_TYPE_MEMORY_MONITOR (g_memory_monitor_get_type ()) +GIO_AVAILABLE_IN_2_64 +G_DECLARE_INTERFACE(GMemoryMonitor, g_memory_monitor, g, memory_monitor, GObject) + +#define G_MEMORY_MONITOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_MEMORY_MONITOR, GMemoryMonitor)) +#define G_IS_MEMORY_MONITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_MEMORY_MONITOR)) +#define G_MEMORY_MONITOR_GET_INTERFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), G_TYPE_MEMORY_MONITOR, GMemoryMonitorInterface)) + +struct _GMemoryMonitorInterface { + /*< private >*/ + GTypeInterface g_iface; + + /*< public >*/ + void (*low_memory_warning) (GMemoryMonitor *monitor, + GMemoryMonitorWarningLevel level); +}; + +GIO_AVAILABLE_IN_2_64 +GMemoryMonitor *g_memory_monitor_dup_default (void); + +G_END_DECLS + +#endif /* __G_MEMORY_MONITOR_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmemoryoutputstream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmemoryoutputstream.h new file mode 100644 index 0000000..08f5dcf --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmemoryoutputstream.h @@ -0,0 +1,109 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Christian Kellner + */ + +#ifndef __G_MEMORY_OUTPUT_STREAM_H__ +#define __G_MEMORY_OUTPUT_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_MEMORY_OUTPUT_STREAM (g_memory_output_stream_get_type ()) +#define G_MEMORY_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_MEMORY_OUTPUT_STREAM, GMemoryOutputStream)) +#define G_MEMORY_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_MEMORY_OUTPUT_STREAM, GMemoryOutputStreamClass)) +#define G_IS_MEMORY_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_MEMORY_OUTPUT_STREAM)) +#define G_IS_MEMORY_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_MEMORY_OUTPUT_STREAM)) +#define G_MEMORY_OUTPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_MEMORY_OUTPUT_STREAM, GMemoryOutputStreamClass)) + +/** + * GMemoryOutputStream: + * + * Implements #GOutputStream for arbitrary memory chunks. + **/ +typedef struct _GMemoryOutputStreamClass GMemoryOutputStreamClass; +typedef struct _GMemoryOutputStreamPrivate GMemoryOutputStreamPrivate; + +struct _GMemoryOutputStream +{ + GOutputStream parent_instance; + + /*< private >*/ + GMemoryOutputStreamPrivate *priv; +}; + +struct _GMemoryOutputStreamClass +{ + GOutputStreamClass parent_class; + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + +/** + * GReallocFunc: + * @data: memory block to reallocate + * @size: size to reallocate @data to + * + * Changes the size of the memory block pointed to by @data to + * @size bytes. + * + * The function should have the same semantics as realloc(). + * + * Returns: a pointer to the reallocated memory + */ +typedef gpointer (* GReallocFunc) (gpointer data, + gsize size); + +GIO_AVAILABLE_IN_ALL +GType g_memory_output_stream_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GOutputStream *g_memory_output_stream_new (gpointer data, + gsize size, + GReallocFunc realloc_function, + GDestroyNotify destroy_function); +GIO_AVAILABLE_IN_2_36 +GOutputStream *g_memory_output_stream_new_resizable (void); +GIO_AVAILABLE_IN_ALL +gpointer g_memory_output_stream_get_data (GMemoryOutputStream *ostream); +GIO_AVAILABLE_IN_ALL +gsize g_memory_output_stream_get_size (GMemoryOutputStream *ostream); +GIO_AVAILABLE_IN_ALL +gsize g_memory_output_stream_get_data_size (GMemoryOutputStream *ostream); +GIO_AVAILABLE_IN_ALL +gpointer g_memory_output_stream_steal_data (GMemoryOutputStream *ostream); + +GIO_AVAILABLE_IN_2_34 +GBytes * g_memory_output_stream_steal_as_bytes (GMemoryOutputStream *ostream); + +G_END_DECLS + +#endif /* __G_MEMORY_OUTPUT_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmenu.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmenu.h new file mode 100644 index 0000000..68e0684 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmenu.h @@ -0,0 +1,184 @@ +/* + * Copyright © 2011 Canonical Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + * + * Author: Ryan Lortie + */ + +#ifndef __G_MENU_H__ +#define __G_MENU_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_MENU (g_menu_get_type ()) +#define G_MENU(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_MENU, GMenu)) +#define G_IS_MENU(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_MENU)) + +#define G_TYPE_MENU_ITEM (g_menu_item_get_type ()) +#define G_MENU_ITEM(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_MENU_ITEM, GMenuItem)) +#define G_IS_MENU_ITEM(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_MENU_ITEM)) + +typedef struct _GMenuItem GMenuItem; +typedef struct _GMenu GMenu; + +GIO_AVAILABLE_IN_2_32 +GType g_menu_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_2_32 +GMenu * g_menu_new (void); + +GIO_AVAILABLE_IN_2_32 +void g_menu_freeze (GMenu *menu); + +GIO_AVAILABLE_IN_2_32 +void g_menu_insert_item (GMenu *menu, + gint position, + GMenuItem *item); +GIO_AVAILABLE_IN_2_32 +void g_menu_prepend_item (GMenu *menu, + GMenuItem *item); +GIO_AVAILABLE_IN_2_32 +void g_menu_append_item (GMenu *menu, + GMenuItem *item); +GIO_AVAILABLE_IN_2_32 +void g_menu_remove (GMenu *menu, + gint position); + +GIO_AVAILABLE_IN_2_38 +void g_menu_remove_all (GMenu *menu); + +GIO_AVAILABLE_IN_2_32 +void g_menu_insert (GMenu *menu, + gint position, + const gchar *label, + const gchar *detailed_action); +GIO_AVAILABLE_IN_2_32 +void g_menu_prepend (GMenu *menu, + const gchar *label, + const gchar *detailed_action); +GIO_AVAILABLE_IN_2_32 +void g_menu_append (GMenu *menu, + const gchar *label, + const gchar *detailed_action); + +GIO_AVAILABLE_IN_2_32 +void g_menu_insert_section (GMenu *menu, + gint position, + const gchar *label, + GMenuModel *section); +GIO_AVAILABLE_IN_2_32 +void g_menu_prepend_section (GMenu *menu, + const gchar *label, + GMenuModel *section); +GIO_AVAILABLE_IN_2_32 +void g_menu_append_section (GMenu *menu, + const gchar *label, + GMenuModel *section); + +GIO_AVAILABLE_IN_2_32 +void g_menu_insert_submenu (GMenu *menu, + gint position, + const gchar *label, + GMenuModel *submenu); +GIO_AVAILABLE_IN_2_32 +void g_menu_prepend_submenu (GMenu *menu, + const gchar *label, + GMenuModel *submenu); +GIO_AVAILABLE_IN_2_32 +void g_menu_append_submenu (GMenu *menu, + const gchar *label, + GMenuModel *submenu); + + +GIO_AVAILABLE_IN_2_32 +GType g_menu_item_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_2_32 +GMenuItem * g_menu_item_new (const gchar *label, + const gchar *detailed_action); + +GIO_AVAILABLE_IN_2_34 +GMenuItem * g_menu_item_new_from_model (GMenuModel *model, + gint item_index); + +GIO_AVAILABLE_IN_2_32 +GMenuItem * g_menu_item_new_submenu (const gchar *label, + GMenuModel *submenu); + +GIO_AVAILABLE_IN_2_32 +GMenuItem * g_menu_item_new_section (const gchar *label, + GMenuModel *section); + +GIO_AVAILABLE_IN_2_34 +GVariant * g_menu_item_get_attribute_value (GMenuItem *menu_item, + const gchar *attribute, + const GVariantType *expected_type); +GIO_AVAILABLE_IN_2_34 +gboolean g_menu_item_get_attribute (GMenuItem *menu_item, + const gchar *attribute, + const gchar *format_string, + ...); +GIO_AVAILABLE_IN_2_34 +GMenuModel *g_menu_item_get_link (GMenuItem *menu_item, + const gchar *link); + +GIO_AVAILABLE_IN_2_32 +void g_menu_item_set_attribute_value (GMenuItem *menu_item, + const gchar *attribute, + GVariant *value); +GIO_AVAILABLE_IN_2_32 +void g_menu_item_set_attribute (GMenuItem *menu_item, + const gchar *attribute, + const gchar *format_string, + ...); +GIO_AVAILABLE_IN_2_32 +void g_menu_item_set_link (GMenuItem *menu_item, + const gchar *link, + GMenuModel *model); +GIO_AVAILABLE_IN_2_32 +void g_menu_item_set_label (GMenuItem *menu_item, + const gchar *label); +GIO_AVAILABLE_IN_2_32 +void g_menu_item_set_submenu (GMenuItem *menu_item, + GMenuModel *submenu); +GIO_AVAILABLE_IN_2_32 +void g_menu_item_set_section (GMenuItem *menu_item, + GMenuModel *section); +GIO_AVAILABLE_IN_2_32 +void g_menu_item_set_action_and_target_value (GMenuItem *menu_item, + const gchar *action, + GVariant *target_value); +GIO_AVAILABLE_IN_2_32 +void g_menu_item_set_action_and_target (GMenuItem *menu_item, + const gchar *action, + const gchar *format_string, + ...); +GIO_AVAILABLE_IN_2_32 +void g_menu_item_set_detailed_action (GMenuItem *menu_item, + const gchar *detailed_action); + +GIO_AVAILABLE_IN_2_38 +void g_menu_item_set_icon (GMenuItem *menu_item, + GIcon *icon); + +G_END_DECLS + +#endif /* __G_MENU_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmenuexporter.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmenuexporter.h new file mode 100644 index 0000000..4651aff --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmenuexporter.h @@ -0,0 +1,55 @@ +/* + * Copyright © 2011 Canonical Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + * + * Author: Ryan Lortie + */ + +#ifndef __G_MENU_EXPORTER_H__ +#define __G_MENU_EXPORTER_H__ + +#include +#include + +G_BEGIN_DECLS + +/** + * G_MENU_EXPORTER_MAX_SECTION_SIZE: + * + * The maximum number of entries in a menu section supported by + * g_dbus_connection_export_menu_model(). + * + * The exact value of the limit may change in future GLib versions. + * + * Since: 2.76 + */ +#define G_MENU_EXPORTER_MAX_SECTION_SIZE 1000 \ + GIO_AVAILABLE_MACRO_IN_2_76 + +GIO_AVAILABLE_IN_2_32 +guint g_dbus_connection_export_menu_model (GDBusConnection *connection, + const gchar *object_path, + GMenuModel *menu, + GError **error); + +GIO_AVAILABLE_IN_2_32 +void g_dbus_connection_unexport_menu_model (GDBusConnection *connection, + guint export_id); + +G_END_DECLS + +#endif /* __G_MENU_EXPORTER_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmenumodel.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmenumodel.h new file mode 100644 index 0000000..0ef7c9d --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmenumodel.h @@ -0,0 +1,307 @@ +/* + * Copyright © 2011 Canonical Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + * + * Author: Ryan Lortie + */ + +#ifndef __G_MENU_MODEL_H__ +#define __G_MENU_MODEL_H__ + +#include + +#include + +G_BEGIN_DECLS + +/** + * G_MENU_ATTRIBUTE_ACTION: + * + * The menu item attribute which holds the action name of the item. Action + * names are namespaced with an identifier for the action group in which the + * action resides. For example, "win." for window-specific actions and "app." + * for application-wide actions. + * + * See also g_menu_model_get_item_attribute() and g_menu_item_set_attribute(). + * + * Since: 2.32 + **/ +#define G_MENU_ATTRIBUTE_ACTION "action" + +/** + * G_MENU_ATTRIBUTE_ACTION_NAMESPACE: + * + * The menu item attribute that holds the namespace for all action names in + * menus that are linked from this item. + * + * Since: 2.36 + **/ +#define G_MENU_ATTRIBUTE_ACTION_NAMESPACE "action-namespace" + +/** + * G_MENU_ATTRIBUTE_TARGET: + * + * The menu item attribute which holds the target with which the item's action + * will be activated. + * + * See also g_menu_item_set_action_and_target() + * + * Since: 2.32 + **/ +#define G_MENU_ATTRIBUTE_TARGET "target" + +/** + * G_MENU_ATTRIBUTE_LABEL: + * + * The menu item attribute which holds the label of the item. + * + * Since: 2.32 + **/ +#define G_MENU_ATTRIBUTE_LABEL "label" + +/** + * G_MENU_ATTRIBUTE_ICON: + * + * The menu item attribute which holds the icon of the item. + * + * The icon is stored in the format returned by g_icon_serialize(). + * + * This attribute is intended only to represent 'noun' icons such as + * favicons for a webpage, or application icons. It should not be used + * for 'verbs' (ie: stock icons). + * + * Since: 2.38 + **/ +#define G_MENU_ATTRIBUTE_ICON "icon" + +/** + * G_MENU_LINK_SUBMENU: + * + * The name of the link that associates a menu item with a submenu. + * + * See also g_menu_item_set_link(). + * + * Since: 2.32 + **/ +#define G_MENU_LINK_SUBMENU "submenu" + +/** + * G_MENU_LINK_SECTION: + * + * The name of the link that associates a menu item with a section. The linked + * menu will usually be shown in place of the menu item, using the item's label + * as a header. + * + * See also g_menu_item_set_link(). + * + * Since: 2.32 + **/ +#define G_MENU_LINK_SECTION "section" + +#define G_TYPE_MENU_MODEL (g_menu_model_get_type ()) +#define G_MENU_MODEL(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_MENU_MODEL, GMenuModel)) +#define G_MENU_MODEL_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_MENU_MODEL, GMenuModelClass)) +#define G_IS_MENU_MODEL(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_MENU_MODEL)) +#define G_IS_MENU_MODEL_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_MENU_MODEL)) +#define G_MENU_MODEL_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_MENU_MODEL, GMenuModelClass)) + +typedef struct _GMenuModelPrivate GMenuModelPrivate; +typedef struct _GMenuModelClass GMenuModelClass; + +typedef struct _GMenuAttributeIterPrivate GMenuAttributeIterPrivate; +typedef struct _GMenuAttributeIterClass GMenuAttributeIterClass; +typedef struct _GMenuAttributeIter GMenuAttributeIter; + +typedef struct _GMenuLinkIterPrivate GMenuLinkIterPrivate; +typedef struct _GMenuLinkIterClass GMenuLinkIterClass; +typedef struct _GMenuLinkIter GMenuLinkIter; + +struct _GMenuModel +{ + GObject parent_instance; + GMenuModelPrivate *priv; +}; + +/** + * GMenuModelClass::get_item_attributes: + * @model: the #GMenuModel to query + * @item_index: The #GMenuItem to query + * @attributes: (out) (element-type utf8 GLib.Variant): Attributes on the item + * + * Gets all the attributes associated with the item in the menu model. + */ +/** + * GMenuModelClass::get_item_links: + * @model: the #GMenuModel to query + * @item_index: The #GMenuItem to query + * @links: (out) (element-type utf8 Gio.MenuModel): Links from the item + * + * Gets all the links associated with the item in the menu model. + */ +struct _GMenuModelClass +{ + GObjectClass parent_class; + + gboolean (*is_mutable) (GMenuModel *model); + gint (*get_n_items) (GMenuModel *model); + void (*get_item_attributes) (GMenuModel *model, + gint item_index, + GHashTable **attributes); + GMenuAttributeIter * (*iterate_item_attributes) (GMenuModel *model, + gint item_index); + GVariant * (*get_item_attribute_value) (GMenuModel *model, + gint item_index, + const gchar *attribute, + const GVariantType *expected_type); + void (*get_item_links) (GMenuModel *model, + gint item_index, + GHashTable **links); + GMenuLinkIter * (*iterate_item_links) (GMenuModel *model, + gint item_index); + GMenuModel * (*get_item_link) (GMenuModel *model, + gint item_index, + const gchar *link); +}; + +GIO_AVAILABLE_IN_2_32 +GType g_menu_model_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_32 +gboolean g_menu_model_is_mutable (GMenuModel *model); +GIO_AVAILABLE_IN_2_32 +gint g_menu_model_get_n_items (GMenuModel *model); + +GIO_AVAILABLE_IN_2_32 +GMenuAttributeIter * g_menu_model_iterate_item_attributes (GMenuModel *model, + gint item_index); +GIO_AVAILABLE_IN_2_32 +GVariant * g_menu_model_get_item_attribute_value (GMenuModel *model, + gint item_index, + const gchar *attribute, + const GVariantType *expected_type); +GIO_AVAILABLE_IN_2_32 +gboolean g_menu_model_get_item_attribute (GMenuModel *model, + gint item_index, + const gchar *attribute, + const gchar *format_string, + ...); +GIO_AVAILABLE_IN_2_32 +GMenuLinkIter * g_menu_model_iterate_item_links (GMenuModel *model, + gint item_index); +GIO_AVAILABLE_IN_2_32 +GMenuModel * g_menu_model_get_item_link (GMenuModel *model, + gint item_index, + const gchar *link); + +GIO_AVAILABLE_IN_2_32 +void g_menu_model_items_changed (GMenuModel *model, + gint position, + gint removed, + gint added); + + +#define G_TYPE_MENU_ATTRIBUTE_ITER (g_menu_attribute_iter_get_type ()) +#define G_MENU_ATTRIBUTE_ITER(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_MENU_ATTRIBUTE_ITER, GMenuAttributeIter)) +#define G_MENU_ATTRIBUTE_ITER_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_MENU_ATTRIBUTE_ITER, GMenuAttributeIterClass)) +#define G_IS_MENU_ATTRIBUTE_ITER(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_MENU_ATTRIBUTE_ITER)) +#define G_IS_MENU_ATTRIBUTE_ITER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_MENU_ATTRIBUTE_ITER)) +#define G_MENU_ATTRIBUTE_ITER_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_MENU_ATTRIBUTE_ITER, GMenuAttributeIterClass)) + +struct _GMenuAttributeIter +{ + GObject parent_instance; + GMenuAttributeIterPrivate *priv; +}; + +struct _GMenuAttributeIterClass +{ + GObjectClass parent_class; + + gboolean (*get_next) (GMenuAttributeIter *iter, + const gchar **out_name, + GVariant **value); +}; + +GIO_AVAILABLE_IN_2_32 +GType g_menu_attribute_iter_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_32 +gboolean g_menu_attribute_iter_get_next (GMenuAttributeIter *iter, + const gchar **out_name, + GVariant **value); +GIO_AVAILABLE_IN_2_32 +gboolean g_menu_attribute_iter_next (GMenuAttributeIter *iter); +GIO_AVAILABLE_IN_2_32 +const gchar * g_menu_attribute_iter_get_name (GMenuAttributeIter *iter); +GIO_AVAILABLE_IN_2_32 +GVariant * g_menu_attribute_iter_get_value (GMenuAttributeIter *iter); + + +#define G_TYPE_MENU_LINK_ITER (g_menu_link_iter_get_type ()) +#define G_MENU_LINK_ITER(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_MENU_LINK_ITER, GMenuLinkIter)) +#define G_MENU_LINK_ITER_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_MENU_LINK_ITER, GMenuLinkIterClass)) +#define G_IS_MENU_LINK_ITER(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_MENU_LINK_ITER)) +#define G_IS_MENU_LINK_ITER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_MENU_LINK_ITER)) +#define G_MENU_LINK_ITER_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_MENU_LINK_ITER, GMenuLinkIterClass)) + +struct _GMenuLinkIter +{ + GObject parent_instance; + GMenuLinkIterPrivate *priv; +}; + +struct _GMenuLinkIterClass +{ + GObjectClass parent_class; + + gboolean (*get_next) (GMenuLinkIter *iter, + const gchar **out_link, + GMenuModel **value); +}; + +GIO_AVAILABLE_IN_2_32 +GType g_menu_link_iter_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_32 +gboolean g_menu_link_iter_get_next (GMenuLinkIter *iter, + const gchar **out_link, + GMenuModel **value); +GIO_AVAILABLE_IN_2_32 +gboolean g_menu_link_iter_next (GMenuLinkIter *iter); +GIO_AVAILABLE_IN_2_32 +const gchar * g_menu_link_iter_get_name (GMenuLinkIter *iter); +GIO_AVAILABLE_IN_2_32 +GMenuModel * g_menu_link_iter_get_value (GMenuLinkIter *iter); + +G_END_DECLS + +#endif /* __G_MENU_MODEL_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmount.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmount.h new file mode 100644 index 0000000..c17f79b --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmount.h @@ -0,0 +1,278 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2008 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + * David Zeuthen + */ + +#ifndef __G_MOUNT_H__ +#define __G_MOUNT_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_MOUNT (g_mount_get_type ()) +#define G_MOUNT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_MOUNT, GMount)) +#define G_IS_MOUNT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_MOUNT)) +#define G_MOUNT_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_MOUNT, GMountIface)) + +typedef struct _GMountIface GMountIface; + +/** + * GMountIface: + * @g_iface: The parent interface. + * @changed: Changed signal that is emitted when the mount's state has changed. + * @unmounted: The unmounted signal that is emitted when the #GMount have been unmounted. If the recipient is holding references to the object they should release them so the object can be finalized. + * @pre_unmount: The ::pre-unmount signal that is emitted when the #GMount will soon be emitted. If the recipient is somehow holding the mount open by keeping an open file on it it should close the file. + * @get_root: Gets a #GFile to the root directory of the #GMount. + * @get_name: Gets a string containing the name of the #GMount. + * @get_icon: Gets a #GIcon for the #GMount. + * @get_uuid: Gets the UUID for the #GMount. The reference is typically based on the file system UUID for the mount in question and should be considered an opaque string. Returns %NULL if there is no UUID available. + * @get_volume: Gets a #GVolume the mount is located on. Returns %NULL if the #GMount is not associated with a #GVolume. + * @get_drive: Gets a #GDrive the volume of the mount is located on. Returns %NULL if the #GMount is not associated with a #GDrive or a #GVolume. This is convenience method for getting the #GVolume and using that to get the #GDrive. + * @can_unmount: Checks if a #GMount can be unmounted. + * @can_eject: Checks if a #GMount can be ejected. + * @unmount: Starts unmounting a #GMount. + * @unmount_finish: Finishes an unmounting operation. + * @eject: Starts ejecting a #GMount. + * @eject_finish: Finishes an eject operation. + * @remount: Starts remounting a #GMount. + * @remount_finish: Finishes a remounting operation. + * @guess_content_type: Starts guessing the type of the content of a #GMount. + * See g_mount_guess_content_type() for more information on content + * type guessing. This operation was added in 2.18. + * @guess_content_type_finish: Finishes a content type guessing operation. Added in 2.18. + * @guess_content_type_sync: Synchronous variant of @guess_content_type. Added in 2.18 + * @unmount_with_operation: Starts unmounting a #GMount using a #GMountOperation. Since 2.22. + * @unmount_with_operation_finish: Finishes an unmounting operation using a #GMountOperation. Since 2.22. + * @eject_with_operation: Starts ejecting a #GMount using a #GMountOperation. Since 2.22. + * @eject_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22. + * @get_default_location: Gets a #GFile indication a start location that can be use as the entry point for this mount. Since 2.24. + * @get_sort_key: Gets a key used for sorting #GMount instance or %NULL if no such key exists. Since 2.32. + * @get_symbolic_icon: Gets a symbolic #GIcon for the #GMount. Since 2.34. + * + * Interface for implementing operations for mounts. + **/ +struct _GMountIface +{ + GTypeInterface g_iface; + + /* signals */ + + void (* changed) (GMount *mount); + void (* unmounted) (GMount *mount); + + /* Virtual Table */ + + GFile * (* get_root) (GMount *mount); + char * (* get_name) (GMount *mount); + GIcon * (* get_icon) (GMount *mount); + char * (* get_uuid) (GMount *mount); + GVolume * (* get_volume) (GMount *mount); + GDrive * (* get_drive) (GMount *mount); + gboolean (* can_unmount) (GMount *mount); + gboolean (* can_eject) (GMount *mount); + + void (* unmount) (GMount *mount, + GMountUnmountFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* unmount_finish) (GMount *mount, + GAsyncResult *result, + GError **error); + + void (* eject) (GMount *mount, + GMountUnmountFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* eject_finish) (GMount *mount, + GAsyncResult *result, + GError **error); + + void (* remount) (GMount *mount, + GMountMountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* remount_finish) (GMount *mount, + GAsyncResult *result, + GError **error); + + void (* guess_content_type) (GMount *mount, + gboolean force_rescan, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gchar ** (* guess_content_type_finish) (GMount *mount, + GAsyncResult *result, + GError **error); + gchar ** (* guess_content_type_sync) (GMount *mount, + gboolean force_rescan, + GCancellable *cancellable, + GError **error); + + /* Signal, not VFunc */ + void (* pre_unmount) (GMount *mount); + + void (* unmount_with_operation) (GMount *mount, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* unmount_with_operation_finish) (GMount *mount, + GAsyncResult *result, + GError **error); + + void (* eject_with_operation) (GMount *mount, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* eject_with_operation_finish) (GMount *mount, + GAsyncResult *result, + GError **error); + GFile * (* get_default_location) (GMount *mount); + + const gchar * (* get_sort_key) (GMount *mount); + GIcon * (* get_symbolic_icon) (GMount *mount); +}; + +GIO_AVAILABLE_IN_ALL +GType g_mount_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GFile * g_mount_get_root (GMount *mount); +GIO_AVAILABLE_IN_ALL +GFile * g_mount_get_default_location (GMount *mount); +GIO_AVAILABLE_IN_ALL +char * g_mount_get_name (GMount *mount); +GIO_AVAILABLE_IN_ALL +GIcon * g_mount_get_icon (GMount *mount); +GIO_AVAILABLE_IN_ALL +GIcon * g_mount_get_symbolic_icon (GMount *mount); +GIO_AVAILABLE_IN_ALL +char * g_mount_get_uuid (GMount *mount); +GIO_AVAILABLE_IN_ALL +GVolume * g_mount_get_volume (GMount *mount); +GIO_AVAILABLE_IN_ALL +GDrive * g_mount_get_drive (GMount *mount); +GIO_AVAILABLE_IN_ALL +gboolean g_mount_can_unmount (GMount *mount); +GIO_AVAILABLE_IN_ALL +gboolean g_mount_can_eject (GMount *mount); + +GIO_DEPRECATED_FOR(g_mount_unmount_with_operation) +void g_mount_unmount (GMount *mount, + GMountUnmountFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_DEPRECATED_FOR(g_mount_unmount_with_operation_finish) +gboolean g_mount_unmount_finish (GMount *mount, + GAsyncResult *result, + GError **error); + +GIO_DEPRECATED_FOR(g_mount_eject_with_operation) +void g_mount_eject (GMount *mount, + GMountUnmountFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_DEPRECATED_FOR(g_mount_eject_with_operation_finish) +gboolean g_mount_eject_finish (GMount *mount, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_mount_remount (GMount *mount, + GMountMountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_mount_remount_finish (GMount *mount, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_mount_guess_content_type (GMount *mount, + gboolean force_rescan, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gchar ** g_mount_guess_content_type_finish (GMount *mount, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +gchar ** g_mount_guess_content_type_sync (GMount *mount, + gboolean force_rescan, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_mount_is_shadowed (GMount *mount); +GIO_AVAILABLE_IN_ALL +void g_mount_shadow (GMount *mount); +GIO_AVAILABLE_IN_ALL +void g_mount_unshadow (GMount *mount); + +GIO_AVAILABLE_IN_ALL +void g_mount_unmount_with_operation (GMount *mount, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_mount_unmount_with_operation_finish (GMount *mount, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_mount_eject_with_operation (GMount *mount, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_mount_eject_with_operation_finish (GMount *mount, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +const gchar *g_mount_get_sort_key (GMount *mount); + +G_END_DECLS + +#endif /* __G_MOUNT_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmountoperation.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmountoperation.h new file mode 100644 index 0000000..b763f0d --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gmountoperation.h @@ -0,0 +1,179 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_MOUNT_OPERATION_H__ +#define __G_MOUNT_OPERATION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_MOUNT_OPERATION (g_mount_operation_get_type ()) +#define G_MOUNT_OPERATION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_MOUNT_OPERATION, GMountOperation)) +#define G_MOUNT_OPERATION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_MOUNT_OPERATION, GMountOperationClass)) +#define G_IS_MOUNT_OPERATION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_MOUNT_OPERATION)) +#define G_IS_MOUNT_OPERATION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_MOUNT_OPERATION)) +#define G_MOUNT_OPERATION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_MOUNT_OPERATION, GMountOperationClass)) + +/** + * GMountOperation: + * + * Class for providing authentication methods for mounting operations, + * such as mounting a file locally, or authenticating with a server. + **/ +typedef struct _GMountOperationClass GMountOperationClass; +typedef struct _GMountOperationPrivate GMountOperationPrivate; + +struct _GMountOperation +{ + GObject parent_instance; + + GMountOperationPrivate *priv; +}; + +struct _GMountOperationClass +{ + GObjectClass parent_class; + + /* signals: */ + + void (* ask_password) (GMountOperation *op, + const char *message, + const char *default_user, + const char *default_domain, + GAskPasswordFlags flags); + + /** + * GMountOperationClass::ask_question: + * @op: a #GMountOperation + * @message: string containing a message to display to the user + * @choices: (array zero-terminated=1) (element-type utf8): an array of + * strings for each possible choice + * + * Virtual implementation of #GMountOperation::ask-question. + */ + void (* ask_question) (GMountOperation *op, + const char *message, + const char *choices[]); + + void (* reply) (GMountOperation *op, + GMountOperationResult result); + + void (* aborted) (GMountOperation *op); + + /** + * GMountOperationClass::show_processes: + * @op: a #GMountOperation + * @message: string containing a message to display to the user + * @processes: (element-type GPid): an array of #GPid for processes blocking + * the operation + * @choices: (array zero-terminated=1) (element-type utf8): an array of + * strings for each possible choice + * + * Virtual implementation of #GMountOperation::show-processes. + * + * Since: 2.22 + */ + void (* show_processes) (GMountOperation *op, + const gchar *message, + GArray *processes, + const gchar *choices[]); + + void (* show_unmount_progress) (GMountOperation *op, + const gchar *message, + gint64 time_left, + gint64 bytes_left); + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); + void (*_g_reserved6) (void); + void (*_g_reserved7) (void); + void (*_g_reserved8) (void); + void (*_g_reserved9) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_mount_operation_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GMountOperation * g_mount_operation_new (void); + +GIO_AVAILABLE_IN_ALL +const char * g_mount_operation_get_username (GMountOperation *op); +GIO_AVAILABLE_IN_ALL +void g_mount_operation_set_username (GMountOperation *op, + const char *username); +GIO_AVAILABLE_IN_ALL +const char * g_mount_operation_get_password (GMountOperation *op); +GIO_AVAILABLE_IN_ALL +void g_mount_operation_set_password (GMountOperation *op, + const char *password); +GIO_AVAILABLE_IN_ALL +gboolean g_mount_operation_get_anonymous (GMountOperation *op); +GIO_AVAILABLE_IN_ALL +void g_mount_operation_set_anonymous (GMountOperation *op, + gboolean anonymous); +GIO_AVAILABLE_IN_ALL +const char * g_mount_operation_get_domain (GMountOperation *op); +GIO_AVAILABLE_IN_ALL +void g_mount_operation_set_domain (GMountOperation *op, + const char *domain); +GIO_AVAILABLE_IN_ALL +GPasswordSave g_mount_operation_get_password_save (GMountOperation *op); +GIO_AVAILABLE_IN_ALL +void g_mount_operation_set_password_save (GMountOperation *op, + GPasswordSave save); +GIO_AVAILABLE_IN_ALL +int g_mount_operation_get_choice (GMountOperation *op); +GIO_AVAILABLE_IN_ALL +void g_mount_operation_set_choice (GMountOperation *op, + int choice); +GIO_AVAILABLE_IN_ALL +void g_mount_operation_reply (GMountOperation *op, + GMountOperationResult result); +GIO_AVAILABLE_IN_2_58 +gboolean g_mount_operation_get_is_tcrypt_hidden_volume (GMountOperation *op); +GIO_AVAILABLE_IN_2_58 +void g_mount_operation_set_is_tcrypt_hidden_volume (GMountOperation *op, + gboolean hidden_volume); +GIO_AVAILABLE_IN_2_58 +gboolean g_mount_operation_get_is_tcrypt_system_volume (GMountOperation *op); +GIO_AVAILABLE_IN_2_58 +void g_mount_operation_set_is_tcrypt_system_volume (GMountOperation *op, + gboolean system_volume); +GIO_AVAILABLE_IN_2_58 +guint g_mount_operation_get_pim (GMountOperation *op); +GIO_AVAILABLE_IN_2_58 +void g_mount_operation_set_pim (GMountOperation *op, + guint pim); + +G_END_DECLS + +#endif /* __G_MOUNT_OPERATION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnativesocketaddress.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnativesocketaddress.h new file mode 100644 index 0000000..cd174ec --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnativesocketaddress.h @@ -0,0 +1,67 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2008 Christian Kellner, Samuel Cormier-Iijima + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Christian Kellner + * Samuel Cormier-Iijima + */ + +#ifndef __G_NATIVE_SOCKET_ADDRESS_H__ +#define __G_NATIVE_SOCKET_ADDRESS_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_NATIVE_SOCKET_ADDRESS (g_native_socket_address_get_type ()) +#define G_NATIVE_SOCKET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_NATIVE_SOCKET_ADDRESS, GNativeSocketAddress)) +#define G_NATIVE_SOCKET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_NATIVE_SOCKET_ADDRESS, GNativeSocketAddressClass)) +#define G_IS_NATIVE_SOCKET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_NATIVE_SOCKET_ADDRESS)) +#define G_IS_NATIVE_SOCKET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_NATIVE_SOCKET_ADDRESS)) +#define G_NATIVE_SOCKET_ADDRESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_NATIVE_SOCKET_ADDRESS, GNativeSocketAddressClass)) + +typedef struct _GNativeSocketAddressClass GNativeSocketAddressClass; +typedef struct _GNativeSocketAddressPrivate GNativeSocketAddressPrivate; + +struct _GNativeSocketAddress +{ + GSocketAddress parent_instance; + + /*< private >*/ + GNativeSocketAddressPrivate *priv; +}; + +struct _GNativeSocketAddressClass +{ + GSocketAddressClass parent_class; +}; + +GIO_AVAILABLE_IN_2_46 +GType g_native_socket_address_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_46 +GSocketAddress *g_native_socket_address_new (gpointer native, + gsize len); + +G_END_DECLS + +#endif /* __G_NATIVE_SOCKET_ADDRESS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnativevolumemonitor.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnativevolumemonitor.h new file mode 100644 index 0000000..9cea184 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnativevolumemonitor.h @@ -0,0 +1,63 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_NATIVE_VOLUME_MONITOR_H__ +#define __G_NATIVE_VOLUME_MONITOR_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_NATIVE_VOLUME_MONITOR (g_native_volume_monitor_get_type ()) +#define G_NATIVE_VOLUME_MONITOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_NATIVE_VOLUME_MONITOR, GNativeVolumeMonitor)) +#define G_NATIVE_VOLUME_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_NATIVE_VOLUME_MONITOR, GNativeVolumeMonitorClass)) +#define G_IS_NATIVE_VOLUME_MONITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_NATIVE_VOLUME_MONITOR)) +#define G_IS_NATIVE_VOLUME_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_NATIVE_VOLUME_MONITOR)) + +#define G_NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME "gio-native-volume-monitor" + +typedef struct _GNativeVolumeMonitor GNativeVolumeMonitor; +typedef struct _GNativeVolumeMonitorClass GNativeVolumeMonitorClass; + +struct _GNativeVolumeMonitor +{ + GVolumeMonitor parent_instance; +}; + +struct _GNativeVolumeMonitorClass +{ + GVolumeMonitorClass parent_class; + + GMount * (* get_mount_for_mount_path) (const char *mount_path, + GCancellable *cancellable); +}; + +GIO_AVAILABLE_IN_ALL +GType g_native_volume_monitor_get_type (void) G_GNUC_CONST; + +G_END_DECLS + +#endif /* __G_NATIVE_VOLUME_MONITOR_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnetworkaddress.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnetworkaddress.h new file mode 100644 index 0000000..0a12d85 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnetworkaddress.h @@ -0,0 +1,82 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2008 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_NETWORK_ADDRESS_H__ +#define __G_NETWORK_ADDRESS_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_NETWORK_ADDRESS (g_network_address_get_type ()) +#define G_NETWORK_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_NETWORK_ADDRESS, GNetworkAddress)) +#define G_NETWORK_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_NETWORK_ADDRESS, GNetworkAddressClass)) +#define G_IS_NETWORK_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_NETWORK_ADDRESS)) +#define G_IS_NETWORK_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_NETWORK_ADDRESS)) +#define G_NETWORK_ADDRESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_NETWORK_ADDRESS, GNetworkAddressClass)) + +typedef struct _GNetworkAddressClass GNetworkAddressClass; +typedef struct _GNetworkAddressPrivate GNetworkAddressPrivate; + +struct _GNetworkAddress +{ + GObject parent_instance; + + /*< private >*/ + GNetworkAddressPrivate *priv; +}; + +struct _GNetworkAddressClass +{ + GObjectClass parent_class; + +}; + +GIO_AVAILABLE_IN_ALL +GType g_network_address_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GSocketConnectable *g_network_address_new (const gchar *hostname, + guint16 port); +GIO_AVAILABLE_IN_2_44 +GSocketConnectable *g_network_address_new_loopback (guint16 port); +GIO_AVAILABLE_IN_ALL +GSocketConnectable *g_network_address_parse (const gchar *host_and_port, + guint16 default_port, + GError **error); +GIO_AVAILABLE_IN_ALL +GSocketConnectable *g_network_address_parse_uri (const gchar *uri, + guint16 default_port, + GError **error); +GIO_AVAILABLE_IN_ALL +const gchar *g_network_address_get_hostname (GNetworkAddress *addr); +GIO_AVAILABLE_IN_ALL +guint16 g_network_address_get_port (GNetworkAddress *addr); +GIO_AVAILABLE_IN_ALL +const gchar *g_network_address_get_scheme (GNetworkAddress *addr); + + +G_END_DECLS + +#endif /* __G_NETWORK_ADDRESS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnetworking.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnetworking.h new file mode 100644 index 0000000..d1918b9 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnetworking.h @@ -0,0 +1,81 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2008-2011 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef __G_NETWORKING_H__ +#define __G_NETWORKING_H__ + +#include +#include + +#ifdef G_OS_WIN32 +#include +#include +#include +#include +#include +#include +#undef interface + +#else /* !G_OS_WIN32 */ + +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#ifndef T_SRV +#define T_SRV 33 +#endif + +#ifndef _PATH_RESCONF +#define _PATH_RESCONF "/etc/resolv.conf" +#endif + +#ifndef CMSG_LEN +/* CMSG_LEN and CMSG_SPACE are defined by RFC 2292, but missing on + * some older platforms. + */ +#define CMSG_LEN(len) ((size_t)CMSG_DATA((struct cmsghdr *)NULL) + (len)) + +/* CMSG_SPACE must add at least as much padding as CMSG_NXTHDR() + * adds. We overestimate here. + */ +#define GLIB_ALIGN_TO_SIZEOF(len, obj) (((len) + sizeof (obj) - 1) & ~(sizeof (obj) - 1)) +#define CMSG_SPACE(len) GLIB_ALIGN_TO_SIZEOF (CMSG_LEN (len), struct cmsghdr) +#endif +#endif + +G_BEGIN_DECLS + +GIO_AVAILABLE_IN_2_36 +void g_networking_init (void); + +G_END_DECLS + +#endif /* __G_NETWORKING_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnetworkmonitor.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnetworkmonitor.h new file mode 100644 index 0000000..8e6e903 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnetworkmonitor.h @@ -0,0 +1,101 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright 2011 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_NETWORK_MONITOR_H__ +#define __G_NETWORK_MONITOR_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/** + * G_NETWORK_MONITOR_EXTENSION_POINT_NAME: + * + * Extension point for network status monitoring functionality. + * See [Extending GIO][extending-gio]. + * + * Since: 2.30 + */ +#define G_NETWORK_MONITOR_EXTENSION_POINT_NAME "gio-network-monitor" + +#define G_TYPE_NETWORK_MONITOR (g_network_monitor_get_type ()) +#define G_NETWORK_MONITOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_NETWORK_MONITOR, GNetworkMonitor)) +#define G_IS_NETWORK_MONITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_NETWORK_MONITOR)) +#define G_NETWORK_MONITOR_GET_INTERFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), G_TYPE_NETWORK_MONITOR, GNetworkMonitorInterface)) + +typedef struct _GNetworkMonitorInterface GNetworkMonitorInterface; + +struct _GNetworkMonitorInterface { + GTypeInterface g_iface; + + void (*network_changed) (GNetworkMonitor *monitor, + gboolean network_available); + + gboolean (*can_reach) (GNetworkMonitor *monitor, + GSocketConnectable *connectable, + GCancellable *cancellable, + GError **error); + void (*can_reach_async) (GNetworkMonitor *monitor, + GSocketConnectable *connectable, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (*can_reach_finish) (GNetworkMonitor *monitor, + GAsyncResult *result, + GError **error); +}; + +GIO_AVAILABLE_IN_2_32 +GType g_network_monitor_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_2_32 +GNetworkMonitor *g_network_monitor_get_default (void); + +GIO_AVAILABLE_IN_2_32 +gboolean g_network_monitor_get_network_available (GNetworkMonitor *monitor); + +GIO_AVAILABLE_IN_2_46 +gboolean g_network_monitor_get_network_metered (GNetworkMonitor *monitor); + +GIO_AVAILABLE_IN_2_44 +GNetworkConnectivity g_network_monitor_get_connectivity (GNetworkMonitor *monitor); + +GIO_AVAILABLE_IN_2_32 +gboolean g_network_monitor_can_reach (GNetworkMonitor *monitor, + GSocketConnectable *connectable, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_2_32 +void g_network_monitor_can_reach_async (GNetworkMonitor *monitor, + GSocketConnectable *connectable, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_32 +gboolean g_network_monitor_can_reach_finish (GNetworkMonitor *monitor, + GAsyncResult *result, + GError **error); + +G_END_DECLS + +#endif /* __G_NETWORK_MONITOR_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnetworkservice.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnetworkservice.h new file mode 100644 index 0000000..ac00986 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnetworkservice.h @@ -0,0 +1,77 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2008 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_NETWORK_SERVICE_H__ +#define __G_NETWORK_SERVICE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_NETWORK_SERVICE (g_network_service_get_type ()) +#define G_NETWORK_SERVICE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_NETWORK_SERVICE, GNetworkService)) +#define G_NETWORK_SERVICE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_NETWORK_SERVICE, GNetworkServiceClass)) +#define G_IS_NETWORK_SERVICE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_NETWORK_SERVICE)) +#define G_IS_NETWORK_SERVICE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_NETWORK_SERVICE)) +#define G_NETWORK_SERVICE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_NETWORK_SERVICE, GNetworkServiceClass)) + +typedef struct _GNetworkServiceClass GNetworkServiceClass; +typedef struct _GNetworkServicePrivate GNetworkServicePrivate; + +struct _GNetworkService +{ + GObject parent_instance; + + /*< private >*/ + GNetworkServicePrivate *priv; +}; + +struct _GNetworkServiceClass +{ + GObjectClass parent_class; + +}; + +GIO_AVAILABLE_IN_ALL +GType g_network_service_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GSocketConnectable *g_network_service_new (const gchar *service, + const gchar *protocol, + const gchar *domain); + +GIO_AVAILABLE_IN_ALL +const gchar *g_network_service_get_service (GNetworkService *srv); +GIO_AVAILABLE_IN_ALL +const gchar *g_network_service_get_protocol (GNetworkService *srv); +GIO_AVAILABLE_IN_ALL +const gchar *g_network_service_get_domain (GNetworkService *srv); +GIO_AVAILABLE_IN_ALL +const gchar *g_network_service_get_scheme (GNetworkService *srv); +GIO_AVAILABLE_IN_ALL +void g_network_service_set_scheme (GNetworkService *srv, const gchar *scheme); + +G_END_DECLS + +#endif /* __G_NETWORK_SERVICE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnotification.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnotification.h new file mode 100644 index 0000000..cef00a7 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gnotification.h @@ -0,0 +1,103 @@ +/* + * Copyright © 2013 Lars Uebernickel + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Lars Uebernickel + */ + +#ifndef __G_NOTIFICATION_H__ +#define __G_NOTIFICATION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +#define G_TYPE_NOTIFICATION (g_notification_get_type ()) +#define G_NOTIFICATION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_NOTIFICATION, GNotification)) +#define G_IS_NOTIFICATION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_NOTIFICATION)) + +GIO_AVAILABLE_IN_2_40 +GType g_notification_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_40 +GNotification * g_notification_new (const gchar *title); + +GIO_AVAILABLE_IN_2_40 +void g_notification_set_title (GNotification *notification, + const gchar *title); + +GIO_AVAILABLE_IN_2_40 +void g_notification_set_body (GNotification *notification, + const gchar *body); + +GIO_AVAILABLE_IN_2_40 +void g_notification_set_icon (GNotification *notification, + GIcon *icon); + +GIO_DEPRECATED_IN_2_42_FOR(g_notification_set_priority) +void g_notification_set_urgent (GNotification *notification, + gboolean urgent); + +GIO_AVAILABLE_IN_2_42 +void g_notification_set_priority (GNotification *notification, + GNotificationPriority priority); + +GIO_AVAILABLE_IN_2_70 +void g_notification_set_category (GNotification *notification, + const gchar *category); + +GIO_AVAILABLE_IN_2_40 +void g_notification_add_button (GNotification *notification, + const gchar *label, + const gchar *detailed_action); + +GIO_AVAILABLE_IN_2_40 +void g_notification_add_button_with_target (GNotification *notification, + const gchar *label, + const gchar *action, + const gchar *target_format, + ...); + +GIO_AVAILABLE_IN_2_40 +void g_notification_add_button_with_target_value (GNotification *notification, + const gchar *label, + const gchar *action, + GVariant *target); + +GIO_AVAILABLE_IN_2_40 +void g_notification_set_default_action (GNotification *notification, + const gchar *detailed_action); + +GIO_AVAILABLE_IN_2_40 +void g_notification_set_default_action_and_target (GNotification *notification, + const gchar *action, + const gchar *target_format, + ...); + +GIO_AVAILABLE_IN_2_40 +void g_notification_set_default_action_and_target_value (GNotification *notification, + const gchar *action, + GVariant *target); + +G_END_DECLS + +#endif diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gosxappinfo.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gosxappinfo.h new file mode 100644 index 0000000..b029853 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gosxappinfo.h @@ -0,0 +1,56 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2014 Patrick Griffis + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + */ + +#ifndef __G_OSX_APP_INFO_H__ +#define __G_OSX_APP_INFO_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_OSX_APP_INFO (g_osx_app_info_get_type ()) +#define G_OSX_APP_INFO(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_OSX_APP_INFO, GOsxAppInfo)) +#define G_OSX_APP_INFO_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_OSX_APP_INFO, GOsxAppInfoClass)) +#define G_IS_OSX_APP_INFO(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_OSX_APP_INFO)) +#define G_IS_OSX_APP_INFO_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_OSX_APP_INFO)) +#define G_OSX_APP_INFO_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_OSX_APP_INFO, GOsxAppInfoClass)) + +typedef struct _GOsxAppInfo GOsxAppInfo; +typedef struct _GOsxAppInfoClass GOsxAppInfoClass; + +struct _GOsxAppInfoClass +{ + GObjectClass parent_class; +}; + +GIO_AVAILABLE_IN_2_52 +GType g_osx_app_info_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_52 +const char *g_osx_app_info_get_filename (GOsxAppInfo *info); + +GIO_AVAILABLE_IN_2_52 +GList * g_osx_app_info_get_all_for_scheme (const gchar *scheme); + +G_END_DECLS + + +#endif /* __G_OSX_APP_INFO_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/goutputstream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/goutputstream.h new file mode 100644 index 0000000..b5fafe9 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/goutputstream.h @@ -0,0 +1,334 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_OUTPUT_STREAM_H__ +#define __G_OUTPUT_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_OUTPUT_STREAM (g_output_stream_get_type ()) +#define G_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_OUTPUT_STREAM, GOutputStream)) +#define G_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_OUTPUT_STREAM, GOutputStreamClass)) +#define G_IS_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_OUTPUT_STREAM)) +#define G_IS_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_OUTPUT_STREAM)) +#define G_OUTPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_OUTPUT_STREAM, GOutputStreamClass)) + +/** + * GOutputStream: + * + * Base class for writing output. + * + * All classes derived from GOutputStream should implement synchronous + * writing, splicing, flushing and closing streams, but may implement + * asynchronous versions. + **/ +typedef struct _GOutputStreamClass GOutputStreamClass; +typedef struct _GOutputStreamPrivate GOutputStreamPrivate; + +struct _GOutputStream +{ + GObject parent_instance; + + /*< private >*/ + GOutputStreamPrivate *priv; +}; + + +struct _GOutputStreamClass +{ + GObjectClass parent_class; + + /* Sync ops: */ + + gssize (* write_fn) (GOutputStream *stream, + const void *buffer, + gsize count, + GCancellable *cancellable, + GError **error); + gssize (* splice) (GOutputStream *stream, + GInputStream *source, + GOutputStreamSpliceFlags flags, + GCancellable *cancellable, + GError **error); + gboolean (* flush) (GOutputStream *stream, + GCancellable *cancellable, + GError **error); + gboolean (* close_fn) (GOutputStream *stream, + GCancellable *cancellable, + GError **error); + + /* Async ops: (optional in derived classes) */ + + void (* write_async) (GOutputStream *stream, + const void *buffer, + gsize count, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gssize (* write_finish) (GOutputStream *stream, + GAsyncResult *result, + GError **error); + void (* splice_async) (GOutputStream *stream, + GInputStream *source, + GOutputStreamSpliceFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gssize (* splice_finish) (GOutputStream *stream, + GAsyncResult *result, + GError **error); + void (* flush_async) (GOutputStream *stream, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* flush_finish) (GOutputStream *stream, + GAsyncResult *result, + GError **error); + void (* close_async) (GOutputStream *stream, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* close_finish) (GOutputStream *stream, + GAsyncResult *result, + GError **error); + + gboolean (* writev_fn) (GOutputStream *stream, + const GOutputVector *vectors, + gsize n_vectors, + gsize *bytes_written, + GCancellable *cancellable, + GError **error); + + void (* writev_async) (GOutputStream *stream, + const GOutputVector *vectors, + gsize n_vectors, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + + gboolean (* writev_finish) (GOutputStream *stream, + GAsyncResult *result, + gsize *bytes_written, + GError **error); + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); + void (*_g_reserved6) (void); + void (*_g_reserved7) (void); + void (*_g_reserved8) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_output_stream_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +gssize g_output_stream_write (GOutputStream *stream, + const void *buffer, + gsize count, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_output_stream_write_all (GOutputStream *stream, + const void *buffer, + gsize count, + gsize *bytes_written, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_2_60 +gboolean g_output_stream_writev (GOutputStream *stream, + const GOutputVector *vectors, + gsize n_vectors, + gsize *bytes_written, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_2_60 +gboolean g_output_stream_writev_all (GOutputStream *stream, + GOutputVector *vectors, + gsize n_vectors, + gsize *bytes_written, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_2_40 +gboolean g_output_stream_printf (GOutputStream *stream, + gsize *bytes_written, + GCancellable *cancellable, + GError **error, + const gchar *format, + ...) G_GNUC_PRINTF (5, 6); +GIO_AVAILABLE_IN_2_40 +gboolean g_output_stream_vprintf (GOutputStream *stream, + gsize *bytes_written, + GCancellable *cancellable, + GError **error, + const gchar *format, + va_list args) G_GNUC_PRINTF (5, 0); +GIO_AVAILABLE_IN_2_34 +gssize g_output_stream_write_bytes (GOutputStream *stream, + GBytes *bytes, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gssize g_output_stream_splice (GOutputStream *stream, + GInputStream *source, + GOutputStreamSpliceFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_output_stream_flush (GOutputStream *stream, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_output_stream_close (GOutputStream *stream, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_output_stream_write_async (GOutputStream *stream, + const void *buffer, + gsize count, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gssize g_output_stream_write_finish (GOutputStream *stream, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_2_44 +void g_output_stream_write_all_async (GOutputStream *stream, + const void *buffer, + gsize count, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_2_44 +gboolean g_output_stream_write_all_finish (GOutputStream *stream, + GAsyncResult *result, + gsize *bytes_written, + GError **error); + +GIO_AVAILABLE_IN_2_60 +void g_output_stream_writev_async (GOutputStream *stream, + const GOutputVector *vectors, + gsize n_vectors, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_60 +gboolean g_output_stream_writev_finish (GOutputStream *stream, + GAsyncResult *result, + gsize *bytes_written, + GError **error); + +GIO_AVAILABLE_IN_2_60 +void g_output_stream_writev_all_async (GOutputStream *stream, + GOutputVector *vectors, + gsize n_vectors, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_2_60 +gboolean g_output_stream_writev_all_finish (GOutputStream *stream, + GAsyncResult *result, + gsize *bytes_written, + GError **error); + +GIO_AVAILABLE_IN_2_34 +void g_output_stream_write_bytes_async (GOutputStream *stream, + GBytes *bytes, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_34 +gssize g_output_stream_write_bytes_finish (GOutputStream *stream, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_output_stream_splice_async (GOutputStream *stream, + GInputStream *source, + GOutputStreamSpliceFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gssize g_output_stream_splice_finish (GOutputStream *stream, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_output_stream_flush_async (GOutputStream *stream, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_output_stream_flush_finish (GOutputStream *stream, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_output_stream_close_async (GOutputStream *stream, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_output_stream_close_finish (GOutputStream *stream, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_output_stream_is_closed (GOutputStream *stream); +GIO_AVAILABLE_IN_ALL +gboolean g_output_stream_is_closing (GOutputStream *stream); +GIO_AVAILABLE_IN_ALL +gboolean g_output_stream_has_pending (GOutputStream *stream); +GIO_AVAILABLE_IN_ALL +gboolean g_output_stream_set_pending (GOutputStream *stream, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_output_stream_clear_pending (GOutputStream *stream); + + +G_END_DECLS + +#endif /* __G_OUTPUT_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gpermission.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gpermission.h new file mode 100644 index 0000000..828f642 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gpermission.h @@ -0,0 +1,129 @@ +/* + * Copyright © 2010 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + * + * Author: Ryan Lortie + */ + +#ifndef __G_PERMISSION_H__ +#define __G_PERMISSION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_PERMISSION (g_permission_get_type ()) +#define G_PERMISSION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_PERMISSION, GPermission)) +#define G_PERMISSION_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_PERMISSION, GPermissionClass)) +#define G_IS_PERMISSION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_PERMISSION)) +#define G_IS_PERMISSION_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_PERMISSION)) +#define G_PERMISSION_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_PERMISSION, GPermissionClass)) + +typedef struct _GPermissionPrivate GPermissionPrivate; +typedef struct _GPermissionClass GPermissionClass; + +struct _GPermission +{ + GObject parent_instance; + + /*< private >*/ + GPermissionPrivate *priv; +}; + +struct _GPermissionClass { + GObjectClass parent_class; + + gboolean (*acquire) (GPermission *permission, + GCancellable *cancellable, + GError **error); + void (*acquire_async) (GPermission *permission, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (*acquire_finish) (GPermission *permission, + GAsyncResult *result, + GError **error); + + gboolean (*release) (GPermission *permission, + GCancellable *cancellable, + GError **error); + void (*release_async) (GPermission *permission, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (*release_finish) (GPermission *permission, + GAsyncResult *result, + GError **error); + + gpointer reserved[16]; +}; + +GIO_AVAILABLE_IN_ALL +GType g_permission_get_type (void); +GIO_AVAILABLE_IN_ALL +gboolean g_permission_acquire (GPermission *permission, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_permission_acquire_async (GPermission *permission, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_permission_acquire_finish (GPermission *permission, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_permission_release (GPermission *permission, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_permission_release_async (GPermission *permission, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_permission_release_finish (GPermission *permission, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_permission_get_allowed (GPermission *permission); +GIO_AVAILABLE_IN_ALL +gboolean g_permission_get_can_acquire (GPermission *permission); +GIO_AVAILABLE_IN_ALL +gboolean g_permission_get_can_release (GPermission *permission); + +GIO_AVAILABLE_IN_ALL +void g_permission_impl_update (GPermission *permission, + gboolean allowed, + gboolean can_acquire, + gboolean can_release); + +G_END_DECLS + +#endif /* __G_PERMISSION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gpollableinputstream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gpollableinputstream.h new file mode 100644 index 0000000..7b65947 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gpollableinputstream.h @@ -0,0 +1,106 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_POLLABLE_INPUT_STREAM_H__ +#define __G_POLLABLE_INPUT_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_POLLABLE_INPUT_STREAM (g_pollable_input_stream_get_type ()) +#define G_POLLABLE_INPUT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_POLLABLE_INPUT_STREAM, GPollableInputStream)) +#define G_IS_POLLABLE_INPUT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_POLLABLE_INPUT_STREAM)) +#define G_POLLABLE_INPUT_STREAM_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_POLLABLE_INPUT_STREAM, GPollableInputStreamInterface)) + +/** + * GPollableInputStream: + * + * An interface for a #GInputStream that can be polled for readability. + * + * Since: 2.28 + */ +typedef struct _GPollableInputStreamInterface GPollableInputStreamInterface; + +/** + * GPollableInputStreamInterface: + * @g_iface: The parent interface. + * @can_poll: Checks if the #GPollableInputStream instance is actually pollable + * @is_readable: Checks if the stream is readable + * @create_source: Creates a #GSource to poll the stream + * @read_nonblocking: Does a non-blocking read or returns + * %G_IO_ERROR_WOULD_BLOCK + * + * The interface for pollable input streams. + * + * The default implementation of @can_poll always returns %TRUE. + * + * The default implementation of @read_nonblocking calls + * g_pollable_input_stream_is_readable(), and then calls + * g_input_stream_read() if it returns %TRUE. This means you only need + * to override it if it is possible that your @is_readable + * implementation may return %TRUE when the stream is not actually + * readable. + * + * Since: 2.28 + */ +struct _GPollableInputStreamInterface +{ + GTypeInterface g_iface; + + /* Virtual Table */ + gboolean (*can_poll) (GPollableInputStream *stream); + + gboolean (*is_readable) (GPollableInputStream *stream); + GSource * (*create_source) (GPollableInputStream *stream, + GCancellable *cancellable); + gssize (*read_nonblocking) (GPollableInputStream *stream, + void *buffer, + gsize count, + GError **error); +}; + +GIO_AVAILABLE_IN_ALL +GType g_pollable_input_stream_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +gboolean g_pollable_input_stream_can_poll (GPollableInputStream *stream); + +GIO_AVAILABLE_IN_ALL +gboolean g_pollable_input_stream_is_readable (GPollableInputStream *stream); +GIO_AVAILABLE_IN_ALL +GSource *g_pollable_input_stream_create_source (GPollableInputStream *stream, + GCancellable *cancellable); + +GIO_AVAILABLE_IN_ALL +gssize g_pollable_input_stream_read_nonblocking (GPollableInputStream *stream, + void *buffer, + gsize count, + GCancellable *cancellable, + GError **error); + +G_END_DECLS + + +#endif /* __G_POLLABLE_INPUT_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gpollableoutputstream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gpollableoutputstream.h new file mode 100644 index 0000000..a98bfa2 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gpollableoutputstream.h @@ -0,0 +1,127 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_POLLABLE_OUTPUT_STREAM_H__ +#define __G_POLLABLE_OUTPUT_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_POLLABLE_OUTPUT_STREAM (g_pollable_output_stream_get_type ()) +#define G_POLLABLE_OUTPUT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_POLLABLE_OUTPUT_STREAM, GPollableOutputStream)) +#define G_IS_POLLABLE_OUTPUT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_POLLABLE_OUTPUT_STREAM)) +#define G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_POLLABLE_OUTPUT_STREAM, GPollableOutputStreamInterface)) + +/** + * GPollableOutputStream: + * + * An interface for a #GOutputStream that can be polled for writeability. + * + * Since: 2.28 + */ +typedef struct _GPollableOutputStreamInterface GPollableOutputStreamInterface; + +/** + * GPollableOutputStreamInterface: + * @g_iface: The parent interface. + * @can_poll: Checks if the #GPollableOutputStream instance is actually pollable + * @is_writable: Checks if the stream is writable + * @create_source: Creates a #GSource to poll the stream + * @write_nonblocking: Does a non-blocking write or returns + * %G_IO_ERROR_WOULD_BLOCK + * @writev_nonblocking: Does a vectored non-blocking write, or returns + * %G_POLLABLE_RETURN_WOULD_BLOCK + * + * The interface for pollable output streams. + * + * The default implementation of @can_poll always returns %TRUE. + * + * The default implementation of @write_nonblocking calls + * g_pollable_output_stream_is_writable(), and then calls + * g_output_stream_write() if it returns %TRUE. This means you only + * need to override it if it is possible that your @is_writable + * implementation may return %TRUE when the stream is not actually + * writable. + * + * The default implementation of @writev_nonblocking calls + * g_pollable_output_stream_write_nonblocking() for each vector, and converts + * its return value and error (if set) to a #GPollableReturn. You should + * override this where possible to avoid having to allocate a #GError to return + * %G_IO_ERROR_WOULD_BLOCK. + * + * Since: 2.28 + */ +struct _GPollableOutputStreamInterface +{ + GTypeInterface g_iface; + + /* Virtual Table */ + gboolean (*can_poll) (GPollableOutputStream *stream); + + gboolean (*is_writable) (GPollableOutputStream *stream); + GSource * (*create_source) (GPollableOutputStream *stream, + GCancellable *cancellable); + gssize (*write_nonblocking) (GPollableOutputStream *stream, + const void *buffer, + gsize count, + GError **error); + GPollableReturn (*writev_nonblocking) (GPollableOutputStream *stream, + const GOutputVector *vectors, + gsize n_vectors, + gsize *bytes_written, + GError **error); +}; + +GIO_AVAILABLE_IN_ALL +GType g_pollable_output_stream_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +gboolean g_pollable_output_stream_can_poll (GPollableOutputStream *stream); + +GIO_AVAILABLE_IN_ALL +gboolean g_pollable_output_stream_is_writable (GPollableOutputStream *stream); +GIO_AVAILABLE_IN_ALL +GSource *g_pollable_output_stream_create_source (GPollableOutputStream *stream, + GCancellable *cancellable); + +GIO_AVAILABLE_IN_ALL +gssize g_pollable_output_stream_write_nonblocking (GPollableOutputStream *stream, + const void *buffer, + gsize count, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_2_60 +GPollableReturn g_pollable_output_stream_writev_nonblocking (GPollableOutputStream *stream, + const GOutputVector *vectors, + gsize n_vectors, + gsize *bytes_written, + GCancellable *cancellable, + GError **error); + +G_END_DECLS + + +#endif /* __G_POLLABLE_OUTPUT_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gpollableutils.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gpollableutils.h new file mode 100644 index 0000000..879bcbb --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gpollableutils.h @@ -0,0 +1,66 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2012 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_POLLABLE_UTILS_H__ +#define __G_POLLABLE_UTILS_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +GIO_AVAILABLE_IN_ALL +GSource *g_pollable_source_new (GObject *pollable_stream); + +GIO_AVAILABLE_IN_2_34 +GSource *g_pollable_source_new_full (gpointer pollable_stream, + GSource *child_source, + GCancellable *cancellable); + +GIO_AVAILABLE_IN_2_34 +gssize g_pollable_stream_read (GInputStream *stream, + void *buffer, + gsize count, + gboolean blocking, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_2_34 +gssize g_pollable_stream_write (GOutputStream *stream, + const void *buffer, + gsize count, + gboolean blocking, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_2_34 +gboolean g_pollable_stream_write_all (GOutputStream *stream, + const void *buffer, + gsize count, + gboolean blocking, + gsize *bytes_written, + GCancellable *cancellable, + GError **error); + +G_END_DECLS + +#endif /* _G_POLLABLE_UTILS_H_ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gpowerprofilemonitor.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gpowerprofilemonitor.h new file mode 100644 index 0000000..e2c6aa7 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gpowerprofilemonitor.h @@ -0,0 +1,65 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright 2019 Red Hat, Inc. + * Copyright 2021 Igalia S.L. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_POWER_PROFILE_MONITOR_H__ +#define __G_POWER_PROFILE_MONITOR_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/** + * G_POWER_PROFILE_MONITOR_EXTENSION_POINT_NAME: + * + * Extension point for power profile usage monitoring functionality. + * See [Extending GIO][extending-gio]. + * + * Since: 2.70 + */ +#define G_POWER_PROFILE_MONITOR_EXTENSION_POINT_NAME "gio-power-profile-monitor" + +#define G_TYPE_POWER_PROFILE_MONITOR (g_power_profile_monitor_get_type ()) +GIO_AVAILABLE_IN_2_70 +G_DECLARE_INTERFACE (GPowerProfileMonitor, g_power_profile_monitor, g, power_profile_monitor, GObject) + +#define G_POWER_PROFILE_MONITOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_POWER_PROFILE_MONITOR, GPowerProfileMonitor)) +#define G_IS_POWER_PROFILE_MONITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_POWER_PROFILE_MONITOR)) +#define G_POWER_PROFILE_MONITOR_GET_INTERFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), G_TYPE_POWER_PROFILE_MONITOR, GPowerProfileMonitorInterface)) + +struct _GPowerProfileMonitorInterface +{ + /*< private >*/ + GTypeInterface g_iface; +}; + +GIO_AVAILABLE_IN_2_70 +GPowerProfileMonitor *g_power_profile_monitor_dup_default (void); + +GIO_AVAILABLE_IN_2_70 +gboolean g_power_profile_monitor_get_power_saver_enabled (GPowerProfileMonitor *monitor); + +G_END_DECLS + +#endif /* __G_POWER_PROFILE_MONITOR_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gpropertyaction.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gpropertyaction.h new file mode 100644 index 0000000..f746e74 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gpropertyaction.h @@ -0,0 +1,49 @@ +/* + * Copyright © 2013 Canonical Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + */ + +#ifndef __G_PROPERTY_ACTION_H__ +#define __G_PROPERTY_ACTION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_PROPERTY_ACTION (g_property_action_get_type ()) +#define G_PROPERTY_ACTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_PROPERTY_ACTION, GPropertyAction)) +#define G_IS_PROPERTY_ACTION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_PROPERTY_ACTION)) + +GIO_AVAILABLE_IN_2_38 +GType g_property_action_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_38 +GPropertyAction * g_property_action_new (const gchar *name, + gpointer object, + const gchar *property_name); + +G_END_DECLS + +#endif /* __G_PROPERTY_ACTION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gproxy.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gproxy.h new file mode 100644 index 0000000..de82410 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gproxy.h @@ -0,0 +1,130 @@ +/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ + +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2010 Collabora Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Nicolas Dufresne + */ + +#ifndef __G_PROXY_H__ +#define __G_PROXY_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_PROXY (g_proxy_get_type ()) +#define G_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_PROXY, GProxy)) +#define G_IS_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_PROXY)) +#define G_PROXY_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_PROXY, GProxyInterface)) + +/** + * G_PROXY_EXTENSION_POINT_NAME: + * + * Extension point for proxy functionality. + * See [Extending GIO][extending-gio]. + * + * Since: 2.26 + */ +#define G_PROXY_EXTENSION_POINT_NAME "gio-proxy" + +/** + * GProxy: + * + * Interface that handles proxy connection and payload. + * + * Since: 2.26 + */ +typedef struct _GProxyInterface GProxyInterface; + +/** + * GProxyInterface: + * @g_iface: The parent interface. + * @connect: Connect to proxy server and wrap (if required) the #connection + * to handle payload. + * @connect_async: Same as connect() but asynchronous. + * @connect_finish: Returns the result of connect_async() + * @supports_hostname: Returns whether the proxy supports hostname lookups. + * + * Provides an interface for handling proxy connection and payload. + * + * Since: 2.26 + */ +struct _GProxyInterface +{ + GTypeInterface g_iface; + + /* Virtual Table */ + + GIOStream * (* connect) (GProxy *proxy, + GIOStream *connection, + GProxyAddress *proxy_address, + GCancellable *cancellable, + GError **error); + + void (* connect_async) (GProxy *proxy, + GIOStream *connection, + GProxyAddress *proxy_address, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + + GIOStream * (* connect_finish) (GProxy *proxy, + GAsyncResult *result, + GError **error); + + gboolean (* supports_hostname) (GProxy *proxy); +}; + +GIO_AVAILABLE_IN_ALL +GType g_proxy_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GProxy *g_proxy_get_default_for_protocol (const gchar *protocol); + +GIO_AVAILABLE_IN_ALL +GIOStream *g_proxy_connect (GProxy *proxy, + GIOStream *connection, + GProxyAddress *proxy_address, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_proxy_connect_async (GProxy *proxy, + GIOStream *connection, + GProxyAddress *proxy_address, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_ALL +GIOStream *g_proxy_connect_finish (GProxy *proxy, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_proxy_supports_hostname (GProxy *proxy); + +G_END_DECLS + +#endif /* __G_PROXY_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gproxyaddress.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gproxyaddress.h new file mode 100644 index 0000000..a0176d6 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gproxyaddress.h @@ -0,0 +1,88 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2010 Collabora, Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Nicolas Dufresne + */ + +#ifndef __G_PROXY_ADDRESS_H__ +#define __G_PROXY_ADDRESS_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_PROXY_ADDRESS (g_proxy_address_get_type ()) +#define G_PROXY_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_PROXY_ADDRESS, GProxyAddress)) +#define G_PROXY_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_PROXY_ADDRESS, GProxyAddressClass)) +#define G_IS_PROXY_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_PROXY_ADDRESS)) +#define G_IS_PROXY_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_PROXY_ADDRESS)) +#define G_PROXY_ADDRESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_PROXY_ADDRESS, GProxyAddressClass)) + +typedef struct _GProxyAddressClass GProxyAddressClass; +typedef struct _GProxyAddressPrivate GProxyAddressPrivate; + +struct _GProxyAddress +{ + GInetSocketAddress parent_instance; + + /*< private >*/ + GProxyAddressPrivate *priv; +}; + +struct _GProxyAddressClass +{ + GInetSocketAddressClass parent_class; +}; + + +GIO_AVAILABLE_IN_ALL +GType g_proxy_address_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GSocketAddress *g_proxy_address_new (GInetAddress *inetaddr, + guint16 port, + const gchar *protocol, + const gchar *dest_hostname, + guint16 dest_port, + const gchar *username, + const gchar *password); + +GIO_AVAILABLE_IN_ALL +const gchar *g_proxy_address_get_protocol (GProxyAddress *proxy); +GIO_AVAILABLE_IN_2_34 +const gchar *g_proxy_address_get_destination_protocol (GProxyAddress *proxy); +GIO_AVAILABLE_IN_ALL +const gchar *g_proxy_address_get_destination_hostname (GProxyAddress *proxy); +GIO_AVAILABLE_IN_ALL +guint16 g_proxy_address_get_destination_port (GProxyAddress *proxy); +GIO_AVAILABLE_IN_ALL +const gchar *g_proxy_address_get_username (GProxyAddress *proxy); +GIO_AVAILABLE_IN_ALL +const gchar *g_proxy_address_get_password (GProxyAddress *proxy); + +GIO_AVAILABLE_IN_2_34 +const gchar *g_proxy_address_get_uri (GProxyAddress *proxy); + +G_END_DECLS + +#endif /* __G_PROXY_ADDRESS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gproxyaddressenumerator.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gproxyaddressenumerator.h new file mode 100644 index 0000000..b8d36a6 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gproxyaddressenumerator.h @@ -0,0 +1,83 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2010 Collabora, Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Nicolas Dufresne + */ + +#ifndef __G_PROXY_ADDRESS_ENUMERATOR_H__ +#define __G_PROXY_ADDRESS_ENUMERATOR_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_PROXY_ADDRESS_ENUMERATOR (g_proxy_address_enumerator_get_type ()) +#define G_PROXY_ADDRESS_ENUMERATOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_PROXY_ADDRESS_ENUMERATOR, GProxyAddressEnumerator)) +#define G_PROXY_ADDRESS_ENUMERATOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_PROXY_ADDRESS_ENUMERATOR, GProxyAddressEnumeratorClass)) +#define G_IS_PROXY_ADDRESS_ENUMERATOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_PROXY_ADDRESS_ENUMERATOR)) +#define G_IS_PROXY_ADDRESS_ENUMERATOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_PROXY_ADDRESS_ENUMERATOR)) +#define G_PROXY_ADDRESS_ENUMERATOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_PROXY_ADDRESS_ENUMERATOR, GProxyAddressEnumeratorClass)) + +/** + * GProxyAddressEnumerator: + * + * A subclass of #GSocketAddressEnumerator that takes another address + * enumerator and wraps each of its results in a #GProxyAddress as + * directed by the default #GProxyResolver. + */ + +typedef struct _GProxyAddressEnumeratorClass GProxyAddressEnumeratorClass; +typedef struct _GProxyAddressEnumeratorPrivate GProxyAddressEnumeratorPrivate; + +struct _GProxyAddressEnumerator +{ + /*< private >*/ + GSocketAddressEnumerator parent_instance; + GProxyAddressEnumeratorPrivate *priv; +}; + +/** + * GProxyAddressEnumeratorClass: + * + * Class structure for #GProxyAddressEnumerator. + */ +struct _GProxyAddressEnumeratorClass +{ + /*< private >*/ + GSocketAddressEnumeratorClass parent_class; + + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); + void (*_g_reserved6) (void); + void (*_g_reserved7) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_proxy_address_enumerator_get_type (void) G_GNUC_CONST; + +G_END_DECLS + +#endif /* __G_PROXY_ADDRESS_ENUMERATOR_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gproxyresolver.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gproxyresolver.h new file mode 100644 index 0000000..d564c99 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gproxyresolver.h @@ -0,0 +1,97 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2010 Collabora, Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Nicolas Dufresne + */ + +#ifndef __G_PROXY_RESOLVER_H__ +#define __G_PROXY_RESOLVER_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_PROXY_RESOLVER (g_proxy_resolver_get_type ()) +#define G_PROXY_RESOLVER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_PROXY_RESOLVER, GProxyResolver)) +#define G_IS_PROXY_RESOLVER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_PROXY_RESOLVER)) +#define G_PROXY_RESOLVER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), G_TYPE_PROXY_RESOLVER, GProxyResolverInterface)) + +/** + * G_PROXY_RESOLVER_EXTENSION_POINT_NAME: + * + * Extension point for proxy resolving functionality. + * See [Extending GIO][extending-gio]. + */ +#define G_PROXY_RESOLVER_EXTENSION_POINT_NAME "gio-proxy-resolver" + +typedef struct _GProxyResolverInterface GProxyResolverInterface; + +struct _GProxyResolverInterface { + GTypeInterface g_iface; + + /* Virtual Table */ + gboolean (* is_supported) (GProxyResolver *resolver); + + gchar ** (* lookup) (GProxyResolver *resolver, + const gchar *uri, + GCancellable *cancellable, + GError **error); + + void (* lookup_async) (GProxyResolver *resolver, + const gchar *uri, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + + gchar ** (* lookup_finish) (GProxyResolver *resolver, + GAsyncResult *result, + GError **error); +}; + +GIO_AVAILABLE_IN_ALL +GType g_proxy_resolver_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GProxyResolver *g_proxy_resolver_get_default (void); + +GIO_AVAILABLE_IN_ALL +gboolean g_proxy_resolver_is_supported (GProxyResolver *resolver); +GIO_AVAILABLE_IN_ALL +gchar **g_proxy_resolver_lookup (GProxyResolver *resolver, + const gchar *uri, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_proxy_resolver_lookup_async (GProxyResolver *resolver, + const gchar *uri, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gchar **g_proxy_resolver_lookup_finish (GProxyResolver *resolver, + GAsyncResult *result, + GError **error); + + +G_END_DECLS + +#endif /* __G_PROXY_RESOLVER_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gremoteactiongroup.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gremoteactiongroup.h new file mode 100644 index 0000000..fb0847e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gremoteactiongroup.h @@ -0,0 +1,77 @@ +/* + * Copyright © 2011 Canonical Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + */ + +#ifndef __G_REMOTE_ACTION_GROUP_H__ +#define __G_REMOTE_ACTION_GROUP_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + + +#define G_TYPE_REMOTE_ACTION_GROUP (g_remote_action_group_get_type ()) +#define G_REMOTE_ACTION_GROUP(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_REMOTE_ACTION_GROUP, GRemoteActionGroup)) +#define G_IS_REMOTE_ACTION_GROUP(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_REMOTE_ACTION_GROUP)) +#define G_REMOTE_ACTION_GROUP_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), \ + G_TYPE_REMOTE_ACTION_GROUP, \ + GRemoteActionGroupInterface)) + +typedef struct _GRemoteActionGroupInterface GRemoteActionGroupInterface; + +struct _GRemoteActionGroupInterface +{ + GTypeInterface g_iface; + + void (* activate_action_full) (GRemoteActionGroup *remote, + const gchar *action_name, + GVariant *parameter, + GVariant *platform_data); + + void (* change_action_state_full) (GRemoteActionGroup *remote, + const gchar *action_name, + GVariant *value, + GVariant *platform_data); +}; + +GIO_AVAILABLE_IN_2_32 +GType g_remote_action_group_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_32 +void g_remote_action_group_activate_action_full (GRemoteActionGroup *remote, + const gchar *action_name, + GVariant *parameter, + GVariant *platform_data); + +GIO_AVAILABLE_IN_2_32 +void g_remote_action_group_change_action_state_full (GRemoteActionGroup *remote, + const gchar *action_name, + GVariant *value, + GVariant *platform_data); + +G_END_DECLS + +#endif /* __G_REMOTE_ACTION_GROUP_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gresolver.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gresolver.h new file mode 100644 index 0000000..cbcbdec --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gresolver.h @@ -0,0 +1,299 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2008 Red Hat, Inc. + * Copyright (C) 2018 Igalia S.L. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_RESOLVER_H__ +#define __G_RESOLVER_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_RESOLVER (g_resolver_get_type ()) +#define G_RESOLVER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_RESOLVER, GResolver)) +#define G_RESOLVER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_RESOLVER, GResolverClass)) +#define G_IS_RESOLVER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_RESOLVER)) +#define G_IS_RESOLVER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_RESOLVER)) +#define G_RESOLVER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_RESOLVER, GResolverClass)) + +typedef struct _GResolverPrivate GResolverPrivate; +typedef struct _GResolverClass GResolverClass; + +struct _GResolver { + GObject parent_instance; + + GResolverPrivate *priv; +}; + +/** + * GResolverNameLookupFlags: + * @G_RESOLVER_NAME_LOOKUP_FLAGS_DEFAULT: default behavior (same as g_resolver_lookup_by_name()) + * @G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY: only resolve ipv4 addresses + * @G_RESOLVER_NAME_LOOKUP_FLAGS_IPV6_ONLY: only resolve ipv6 addresses + * + * Flags to modify lookup behavior. + * + * Since: 2.60 + */ +typedef enum { + G_RESOLVER_NAME_LOOKUP_FLAGS_DEFAULT = 0, + G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY = 1 << 0, + G_RESOLVER_NAME_LOOKUP_FLAGS_IPV6_ONLY = 1 << 1, +} GResolverNameLookupFlags; + +struct _GResolverClass { + GObjectClass parent_class; + + /* Signals */ + void ( *reload) (GResolver *resolver); + + /* Virtual methods */ + GList * ( *lookup_by_name) (GResolver *resolver, + const gchar *hostname, + GCancellable *cancellable, + GError **error); + void ( *lookup_by_name_async) (GResolver *resolver, + const gchar *hostname, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GList * ( *lookup_by_name_finish) (GResolver *resolver, + GAsyncResult *result, + GError **error); + + gchar * ( *lookup_by_address) (GResolver *resolver, + GInetAddress *address, + GCancellable *cancellable, + GError **error); + void ( *lookup_by_address_async) (GResolver *resolver, + GInetAddress *address, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gchar * ( *lookup_by_address_finish) (GResolver *resolver, + GAsyncResult *result, + GError **error); + + GList * ( *lookup_service) (GResolver *resolver, + const gchar *rrname, + GCancellable *cancellable, + GError **error); + void ( *lookup_service_async) (GResolver *resolver, + const gchar *rrname, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GList * ( *lookup_service_finish) (GResolver *resolver, + GAsyncResult *result, + GError **error); + + GList * ( *lookup_records) (GResolver *resolver, + const gchar *rrname, + GResolverRecordType record_type, + GCancellable *cancellable, + GError **error); + + void ( *lookup_records_async) (GResolver *resolver, + const gchar *rrname, + GResolverRecordType record_type, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + + GList * ( *lookup_records_finish) (GResolver *resolver, + GAsyncResult *result, + GError **error); + /** + * GResolverClass::lookup_by_name_with_flags_async: + * @resolver: a #GResolver + * @hostname: the hostname to resolve + * @flags: extra #GResolverNameLookupFlags to modify the lookup + * @cancellable: (nullable): a #GCancellable + * @callback: (scope async): a #GAsyncReadyCallback to call when completed + * @user_data: data to pass to @callback + * + * Asynchronous version of GResolverClass::lookup_by_name_with_flags + * + * GResolverClass::lookup_by_name_with_flags_finish will be called to get + * the result. + * + * Since: 2.60 + */ + void ( *lookup_by_name_with_flags_async) (GResolver *resolver, + const gchar *hostname, + GResolverNameLookupFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + /** + * GResolverClass::lookup_by_name_with_flags_finish: + * @resolver: a #GResolver + * @result: a #GAsyncResult + * @error: (nullable): a pointer to a %NULL #GError + * + * Gets the result from GResolverClass::lookup_by_name_with_flags_async + * + * Returns: (element-type GInetAddress) (transfer full): List of #GInetAddress. + * Since: 2.60 + */ + GList * ( *lookup_by_name_with_flags_finish) (GResolver *resolver, + GAsyncResult *result, + GError **error); + /** + * GResolverClass::lookup_by_name_with_flags: + * @resolver: a #GResolver + * @hostname: the hostname to resolve + * @flags: extra #GResolverNameLookupFlags to modify the lookup + * @cancellable: (nullable): a #GCancellable + * @error: (nullable): a pointer to a %NULL #GError + * + * This is identical to GResolverClass::lookup_by_name except it takes + * @flags which modifies the behavior of the lookup. See #GResolverNameLookupFlags + * for more details. + * + * Returns: (element-type GInetAddress) (transfer full): List of #GInetAddress. + * Since: 2.60 + */ + GList * ( *lookup_by_name_with_flags) (GResolver *resolver, + const gchar *hostname, + GResolverNameLookupFlags flags, + GCancellable *cancellable, + GError **error); + +}; + +GIO_AVAILABLE_IN_ALL +GType g_resolver_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GResolver *g_resolver_get_default (void); +GIO_AVAILABLE_IN_ALL +void g_resolver_set_default (GResolver *resolver); +GIO_AVAILABLE_IN_ALL +GList *g_resolver_lookup_by_name (GResolver *resolver, + const gchar *hostname, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_resolver_lookup_by_name_async (GResolver *resolver, + const gchar *hostname, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GList *g_resolver_lookup_by_name_finish (GResolver *resolver, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_2_60 +void g_resolver_lookup_by_name_with_flags_async (GResolver *resolver, + const gchar *hostname, + GResolverNameLookupFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_60 +GList *g_resolver_lookup_by_name_with_flags_finish (GResolver *resolver, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_2_60 +GList *g_resolver_lookup_by_name_with_flags (GResolver *resolver, + const gchar *hostname, + GResolverNameLookupFlags flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_resolver_free_addresses (GList *addresses); +GIO_AVAILABLE_IN_ALL +gchar *g_resolver_lookup_by_address (GResolver *resolver, + GInetAddress *address, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_resolver_lookup_by_address_async (GResolver *resolver, + GInetAddress *address, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gchar *g_resolver_lookup_by_address_finish (GResolver *resolver, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +GList *g_resolver_lookup_service (GResolver *resolver, + const gchar *service, + const gchar *protocol, + const gchar *domain, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_resolver_lookup_service_async (GResolver *resolver, + const gchar *service, + const gchar *protocol, + const gchar *domain, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GList *g_resolver_lookup_service_finish (GResolver *resolver, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_2_34 +GList *g_resolver_lookup_records (GResolver *resolver, + const gchar *rrname, + GResolverRecordType record_type, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_2_34 +void g_resolver_lookup_records_async (GResolver *resolver, + const gchar *rrname, + GResolverRecordType record_type, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_34 +GList *g_resolver_lookup_records_finish (GResolver *resolver, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_resolver_free_targets (GList *targets); + +GIO_AVAILABLE_IN_2_78 +unsigned g_resolver_get_timeout (GResolver *resolver); +GIO_AVAILABLE_IN_2_78 +void g_resolver_set_timeout (GResolver *resolver, + unsigned timeout_ms); + +/** + * G_RESOLVER_ERROR: + * + * Error domain for #GResolver. Errors in this domain will be from the + * #GResolverError enumeration. See #GError for more information on + * error domains. + */ +#define G_RESOLVER_ERROR (g_resolver_error_quark ()) +GIO_AVAILABLE_IN_ALL +GQuark g_resolver_error_quark (void); + +G_END_DECLS + +#endif /* __G_RESOLVER_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gresource.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gresource.h new file mode 100644 index 0000000..f9853aa --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gresource.h @@ -0,0 +1,132 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_RESOURCE_H__ +#define __G_RESOURCE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/** + * G_TYPE_RESOURCE: + * + * The #GType for #GResource. + */ +#define G_TYPE_RESOURCE (g_resource_get_type ()) + + +/** + * G_RESOURCE_ERROR: + * + * Error domain for #GResource. Errors in this domain will be from the + * #GResourceError enumeration. See #GError for more information on + * error domains. + */ +#define G_RESOURCE_ERROR (g_resource_error_quark ()) +GIO_AVAILABLE_IN_2_32 +GQuark g_resource_error_quark (void); + +typedef struct _GStaticResource GStaticResource; + +struct _GStaticResource { + /*< private >*/ + const guint8 *data; + gsize data_len; + GResource *resource; + GStaticResource *next; + gpointer padding; +}; + +GIO_AVAILABLE_IN_2_32 +GType g_resource_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_2_32 +GResource * g_resource_new_from_data (GBytes *data, + GError **error); +GIO_AVAILABLE_IN_2_32 +GResource * g_resource_ref (GResource *resource); +GIO_AVAILABLE_IN_2_32 +void g_resource_unref (GResource *resource); +GIO_AVAILABLE_IN_2_32 +GResource * g_resource_load (const gchar *filename, + GError **error); +GIO_AVAILABLE_IN_2_32 +GInputStream *g_resource_open_stream (GResource *resource, + const char *path, + GResourceLookupFlags lookup_flags, + GError **error); +GIO_AVAILABLE_IN_2_32 +GBytes * g_resource_lookup_data (GResource *resource, + const char *path, + GResourceLookupFlags lookup_flags, + GError **error); +GIO_AVAILABLE_IN_2_32 +char ** g_resource_enumerate_children (GResource *resource, + const char *path, + GResourceLookupFlags lookup_flags, + GError **error); +GIO_AVAILABLE_IN_2_32 +gboolean g_resource_get_info (GResource *resource, + const char *path, + GResourceLookupFlags lookup_flags, + gsize *size, + guint32 *flags, + GError **error); + +GIO_AVAILABLE_IN_2_32 +void g_resources_register (GResource *resource); +GIO_AVAILABLE_IN_2_32 +void g_resources_unregister (GResource *resource); +GIO_AVAILABLE_IN_2_32 +GInputStream *g_resources_open_stream (const char *path, + GResourceLookupFlags lookup_flags, + GError **error); +GIO_AVAILABLE_IN_2_32 +GBytes * g_resources_lookup_data (const char *path, + GResourceLookupFlags lookup_flags, + GError **error); +GIO_AVAILABLE_IN_2_32 +char ** g_resources_enumerate_children (const char *path, + GResourceLookupFlags lookup_flags, + GError **error); +GIO_AVAILABLE_IN_2_32 +gboolean g_resources_get_info (const char *path, + GResourceLookupFlags lookup_flags, + gsize *size, + guint32 *flags, + GError **error); + + +GIO_AVAILABLE_IN_2_32 +void g_static_resource_init (GStaticResource *static_resource); +GIO_AVAILABLE_IN_2_32 +void g_static_resource_fini (GStaticResource *static_resource); +GIO_AVAILABLE_IN_2_32 +GResource *g_static_resource_get_resource (GStaticResource *static_resource); + +G_END_DECLS + +#endif /* __G_RESOURCE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gseekable.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gseekable.h new file mode 100644 index 0000000..34510de --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gseekable.h @@ -0,0 +1,105 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_SEEKABLE_H__ +#define __G_SEEKABLE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_SEEKABLE (g_seekable_get_type ()) +#define G_SEEKABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_SEEKABLE, GSeekable)) +#define G_IS_SEEKABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_SEEKABLE)) +#define G_SEEKABLE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_SEEKABLE, GSeekableIface)) + +/** + * GSeekable: + * + * Seek object for streaming operations. + **/ +typedef struct _GSeekableIface GSeekableIface; + +/** + * GSeekableIface: + * @g_iface: The parent interface. + * @tell: Tells the current location within a stream. + * @can_seek: Checks if seeking is supported by the stream. + * @seek: Seeks to a location within a stream. + * @can_truncate: Checks if truncation is supported by the stream. + * @truncate_fn: Truncates a stream. + * + * Provides an interface for implementing seekable functionality on I/O Streams. + **/ +struct _GSeekableIface +{ + GTypeInterface g_iface; + + /* Virtual Table */ + + goffset (* tell) (GSeekable *seekable); + + gboolean (* can_seek) (GSeekable *seekable); + gboolean (* seek) (GSeekable *seekable, + goffset offset, + GSeekType type, + GCancellable *cancellable, + GError **error); + + gboolean (* can_truncate) (GSeekable *seekable); + gboolean (* truncate_fn) (GSeekable *seekable, + goffset offset, + GCancellable *cancellable, + GError **error); + + /* TODO: Async seek/truncate */ +}; + +GIO_AVAILABLE_IN_ALL +GType g_seekable_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +goffset g_seekable_tell (GSeekable *seekable); +GIO_AVAILABLE_IN_ALL +gboolean g_seekable_can_seek (GSeekable *seekable); +GIO_AVAILABLE_IN_ALL +gboolean g_seekable_seek (GSeekable *seekable, + goffset offset, + GSeekType type, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_seekable_can_truncate (GSeekable *seekable); +GIO_AVAILABLE_IN_ALL +gboolean g_seekable_truncate (GSeekable *seekable, + goffset offset, + GCancellable *cancellable, + GError **error); + +G_END_DECLS + + +#endif /* __G_SEEKABLE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsettings.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsettings.h new file mode 100644 index 0000000..8a9d2b5 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsettings.h @@ -0,0 +1,347 @@ +/* + * Copyright © 2009, 2010 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + * + * Author: Ryan Lortie + */ + +#ifndef __G_SETTINGS_H__ +#define __G_SETTINGS_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +#define G_TYPE_SETTINGS (g_settings_get_type ()) +#define G_SETTINGS(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_SETTINGS, GSettings)) +#define G_SETTINGS_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_SETTINGS, GSettingsClass)) +#define G_IS_SETTINGS(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_SETTINGS)) +#define G_IS_SETTINGS_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_SETTINGS)) +#define G_SETTINGS_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_SETTINGS, GSettingsClass)) + +typedef struct _GSettingsPrivate GSettingsPrivate; +typedef struct _GSettingsClass GSettingsClass; + +struct _GSettingsClass +{ + GObjectClass parent_class; + + /* Signals */ + void (*writable_changed) (GSettings *settings, + const gchar *key); + void (*changed) (GSettings *settings, + const gchar *key); + gboolean (*writable_change_event) (GSettings *settings, + GQuark key); + gboolean (*change_event) (GSettings *settings, + const GQuark *keys, + gint n_keys); + + gpointer padding[20]; +}; + +struct _GSettings +{ + GObject parent_instance; + GSettingsPrivate *priv; +}; + + +GIO_AVAILABLE_IN_ALL +GType g_settings_get_type (void); + +GIO_DEPRECATED_IN_2_40_FOR(g_settings_schema_source_list_schemas) +const gchar * const * g_settings_list_schemas (void); +GIO_DEPRECATED_IN_2_40_FOR(g_settings_schema_source_list_schemas) +const gchar * const * g_settings_list_relocatable_schemas (void); +GIO_AVAILABLE_IN_ALL +GSettings * g_settings_new (const gchar *schema_id); +GIO_AVAILABLE_IN_ALL +GSettings * g_settings_new_with_path (const gchar *schema_id, + const gchar *path); +GIO_AVAILABLE_IN_ALL +GSettings * g_settings_new_with_backend (const gchar *schema_id, + GSettingsBackend *backend); +GIO_AVAILABLE_IN_ALL +GSettings * g_settings_new_with_backend_and_path (const gchar *schema_id, + GSettingsBackend *backend, + const gchar *path); +GIO_AVAILABLE_IN_2_32 +GSettings * g_settings_new_full (GSettingsSchema *schema, + GSettingsBackend *backend, + const gchar *path); +GIO_AVAILABLE_IN_ALL +gchar ** g_settings_list_children (GSettings *settings); +GIO_DEPRECATED_IN_2_46_FOR(g_settings_schema_list_keys) +gchar ** g_settings_list_keys (GSettings *settings); +GIO_DEPRECATED_IN_2_40_FOR(g_settings_schema_key_get_range) +GVariant * g_settings_get_range (GSettings *settings, + const gchar *key); +GIO_DEPRECATED_IN_2_40_FOR(g_settings_schema_key_range_check) +gboolean g_settings_range_check (GSettings *settings, + const gchar *key, + GVariant *value); + +GIO_AVAILABLE_IN_ALL +gboolean g_settings_set_value (GSettings *settings, + const gchar *key, + GVariant *value); +GIO_AVAILABLE_IN_ALL +GVariant * g_settings_get_value (GSettings *settings, + const gchar *key); + +GIO_AVAILABLE_IN_2_40 +GVariant * g_settings_get_user_value (GSettings *settings, + const gchar *key); +GIO_AVAILABLE_IN_2_40 +GVariant * g_settings_get_default_value (GSettings *settings, + const gchar *key); + +GIO_AVAILABLE_IN_ALL +gboolean g_settings_set (GSettings *settings, + const gchar *key, + const gchar *format, + ...); +GIO_AVAILABLE_IN_ALL +void g_settings_get (GSettings *settings, + const gchar *key, + const gchar *format, + ...); +GIO_AVAILABLE_IN_ALL +void g_settings_reset (GSettings *settings, + const gchar *key); + +GIO_AVAILABLE_IN_ALL +gint g_settings_get_int (GSettings *settings, + const gchar *key); +GIO_AVAILABLE_IN_ALL +gboolean g_settings_set_int (GSettings *settings, + const gchar *key, + gint value); +GIO_AVAILABLE_IN_2_50 +gint64 g_settings_get_int64 (GSettings *settings, + const gchar *key); +GIO_AVAILABLE_IN_2_50 +gboolean g_settings_set_int64 (GSettings *settings, + const gchar *key, + gint64 value); +GIO_AVAILABLE_IN_2_32 +guint g_settings_get_uint (GSettings *settings, + const gchar *key); +GIO_AVAILABLE_IN_2_32 +gboolean g_settings_set_uint (GSettings *settings, + const gchar *key, + guint value); +GIO_AVAILABLE_IN_2_50 +guint64 g_settings_get_uint64 (GSettings *settings, + const gchar *key); +GIO_AVAILABLE_IN_2_50 +gboolean g_settings_set_uint64 (GSettings *settings, + const gchar *key, + guint64 value); +GIO_AVAILABLE_IN_ALL +gchar * g_settings_get_string (GSettings *settings, + const gchar *key); +GIO_AVAILABLE_IN_ALL +gboolean g_settings_set_string (GSettings *settings, + const gchar *key, + const gchar *value); +GIO_AVAILABLE_IN_ALL +gboolean g_settings_get_boolean (GSettings *settings, + const gchar *key); +GIO_AVAILABLE_IN_ALL +gboolean g_settings_set_boolean (GSettings *settings, + const gchar *key, + gboolean value); +GIO_AVAILABLE_IN_ALL +gdouble g_settings_get_double (GSettings *settings, + const gchar *key); +GIO_AVAILABLE_IN_ALL +gboolean g_settings_set_double (GSettings *settings, + const gchar *key, + gdouble value); +GIO_AVAILABLE_IN_ALL +gchar ** g_settings_get_strv (GSettings *settings, + const gchar *key); +GIO_AVAILABLE_IN_ALL +gboolean g_settings_set_strv (GSettings *settings, + const gchar *key, + const gchar *const *value); +GIO_AVAILABLE_IN_ALL +gint g_settings_get_enum (GSettings *settings, + const gchar *key); +GIO_AVAILABLE_IN_ALL +gboolean g_settings_set_enum (GSettings *settings, + const gchar *key, + gint value); +GIO_AVAILABLE_IN_ALL +guint g_settings_get_flags (GSettings *settings, + const gchar *key); +GIO_AVAILABLE_IN_ALL +gboolean g_settings_set_flags (GSettings *settings, + const gchar *key, + guint value); +GIO_AVAILABLE_IN_ALL +GSettings * g_settings_get_child (GSettings *settings, + const gchar *name); + +GIO_AVAILABLE_IN_ALL +gboolean g_settings_is_writable (GSettings *settings, + const gchar *name); + +GIO_AVAILABLE_IN_ALL +void g_settings_delay (GSettings *settings); +GIO_AVAILABLE_IN_ALL +void g_settings_apply (GSettings *settings); +GIO_AVAILABLE_IN_ALL +void g_settings_revert (GSettings *settings); +GIO_AVAILABLE_IN_ALL +gboolean g_settings_get_has_unapplied (GSettings *settings); +GIO_AVAILABLE_IN_ALL +void g_settings_sync (void); + +/** + * GSettingsBindSetMapping: + * @value: a #GValue containing the property value to map + * @expected_type: the #GVariantType to create + * @user_data: user data that was specified when the binding was created + * + * The type for the function that is used to convert an object property + * value to a #GVariant for storing it in #GSettings. + * + * Returns: a new #GVariant holding the data from @value, + * or %NULL in case of an error + */ +typedef GVariant * (*GSettingsBindSetMapping) (const GValue *value, + const GVariantType *expected_type, + gpointer user_data); + +/** + * GSettingsBindGetMapping: + * @value: return location for the property value + * @variant: the #GVariant + * @user_data: user data that was specified when the binding was created + * + * The type for the function that is used to convert from #GSettings to + * an object property. The @value is already initialized to hold values + * of the appropriate type. + * + * Returns: %TRUE if the conversion succeeded, %FALSE in case of an error + */ +typedef gboolean (*GSettingsBindGetMapping) (GValue *value, + GVariant *variant, + gpointer user_data); + +/** + * GSettingsGetMapping: + * @value: the #GVariant to map, or %NULL + * @result: (out): the result of the mapping + * @user_data: (closure): the user data that was passed to + * g_settings_get_mapped() + * + * The type of the function that is used to convert from a value stored + * in a #GSettings to a value that is useful to the application. + * + * If the value is successfully mapped, the result should be stored at + * @result and %TRUE returned. If mapping fails (for example, if @value + * is not in the right format) then %FALSE should be returned. + * + * If @value is %NULL then it means that the mapping function is being + * given a "last chance" to successfully return a valid value. %TRUE + * must be returned in this case. + * + * Returns: %TRUE if the conversion succeeded, %FALSE in case of an error + **/ +typedef gboolean (*GSettingsGetMapping) (GVariant *value, + gpointer *result, + gpointer user_data); + +/** + * GSettingsBindFlags: + * @G_SETTINGS_BIND_DEFAULT: Equivalent to `G_SETTINGS_BIND_GET|G_SETTINGS_BIND_SET` + * @G_SETTINGS_BIND_GET: Update the #GObject property when the setting changes. + * It is an error to use this flag if the property is not writable. + * @G_SETTINGS_BIND_SET: Update the setting when the #GObject property changes. + * It is an error to use this flag if the property is not readable. + * @G_SETTINGS_BIND_NO_SENSITIVITY: Do not try to bind a "sensitivity" property to the writability of the setting + * @G_SETTINGS_BIND_GET_NO_CHANGES: When set in addition to %G_SETTINGS_BIND_GET, set the #GObject property + * value initially from the setting, but do not listen for changes of the setting + * @G_SETTINGS_BIND_INVERT_BOOLEAN: When passed to g_settings_bind(), uses a pair of mapping functions that invert + * the boolean value when mapping between the setting and the property. The setting and property must both + * be booleans. You cannot pass this flag to g_settings_bind_with_mapping(). + * + * Flags used when creating a binding. These flags determine in which + * direction the binding works. The default is to synchronize in both + * directions. + */ +typedef enum +{ + G_SETTINGS_BIND_DEFAULT, + G_SETTINGS_BIND_GET = (1<<0), + G_SETTINGS_BIND_SET = (1<<1), + G_SETTINGS_BIND_NO_SENSITIVITY = (1<<2), + G_SETTINGS_BIND_GET_NO_CHANGES = (1<<3), + G_SETTINGS_BIND_INVERT_BOOLEAN = (1<<4) +} GSettingsBindFlags; + +GIO_AVAILABLE_IN_ALL +void g_settings_bind (GSettings *settings, + const gchar *key, + gpointer object, + const gchar *property, + GSettingsBindFlags flags); +GIO_AVAILABLE_IN_ALL +void g_settings_bind_with_mapping (GSettings *settings, + const gchar *key, + gpointer object, + const gchar *property, + GSettingsBindFlags flags, + GSettingsBindGetMapping get_mapping, + GSettingsBindSetMapping set_mapping, + gpointer user_data, + GDestroyNotify destroy); +GIO_AVAILABLE_IN_ALL +void g_settings_bind_writable (GSettings *settings, + const gchar *key, + gpointer object, + const gchar *property, + gboolean inverted); +GIO_AVAILABLE_IN_ALL +void g_settings_unbind (gpointer object, + const gchar *property); + +GIO_AVAILABLE_IN_2_32 +GAction * g_settings_create_action (GSettings *settings, + const gchar *key); + +GIO_AVAILABLE_IN_ALL +gpointer g_settings_get_mapped (GSettings *settings, + const gchar *key, + GSettingsGetMapping mapping, + gpointer user_data); + +G_END_DECLS + +#endif /* __G_SETTINGS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsettingsbackend.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsettingsbackend.h new file mode 100644 index 0000000..f579bf6 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsettingsbackend.h @@ -0,0 +1,176 @@ +/* + * Copyright © 2009, 2010 Codethink Limited + * Copyright © 2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + * + * Authors: Ryan Lortie + * Matthias Clasen + */ + +#ifndef __G_SETTINGS_BACKEND_H__ +#define __G_SETTINGS_BACKEND_H__ + +#if !defined (G_SETTINGS_ENABLE_BACKEND) && !defined (GIO_COMPILATION) +#error "You must define G_SETTINGS_ENABLE_BACKEND before including ." +#endif + +#define __GIO_GIO_H_INSIDE__ +#include +#undef __GIO_GIO_H_INSIDE__ + +G_BEGIN_DECLS + +#define G_TYPE_SETTINGS_BACKEND (g_settings_backend_get_type ()) +#define G_SETTINGS_BACKEND(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_SETTINGS_BACKEND, GSettingsBackend)) +#define G_SETTINGS_BACKEND_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_SETTINGS_BACKEND, GSettingsBackendClass)) +#define G_IS_SETTINGS_BACKEND(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_SETTINGS_BACKEND)) +#define G_IS_SETTINGS_BACKEND_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_SETTINGS_BACKEND)) +#define G_SETTINGS_BACKEND_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_SETTINGS_BACKEND, GSettingsBackendClass)) + +/** + * G_SETTINGS_BACKEND_EXTENSION_POINT_NAME: + * + * Extension point for #GSettingsBackend functionality. + **/ +#define G_SETTINGS_BACKEND_EXTENSION_POINT_NAME "gsettings-backend" + +/** + * GSettingsBackend: + * + * An implementation of a settings storage repository. + **/ +typedef struct _GSettingsBackendPrivate GSettingsBackendPrivate; +typedef struct _GSettingsBackendClass GSettingsBackendClass; + +/** + * GSettingsBackendClass: + * @read: virtual method to read a key's value + * @get_writable: virtual method to get if a key is writable + * @write: virtual method to change key's value + * @write_tree: virtual method to change a tree of keys + * @reset: virtual method to reset state + * @subscribe: virtual method to subscribe to key changes + * @unsubscribe: virtual method to unsubscribe to key changes + * @sync: virtual method to sync state + * @get_permission: virtual method to get permission of a key + * @read_user_value: virtual method to read user's key value + * + * Class structure for #GSettingsBackend. + */ +struct _GSettingsBackendClass +{ + GObjectClass parent_class; + + GVariant * (*read) (GSettingsBackend *backend, + const gchar *key, + const GVariantType *expected_type, + gboolean default_value); + + gboolean (*get_writable) (GSettingsBackend *backend, + const gchar *key); + + gboolean (*write) (GSettingsBackend *backend, + const gchar *key, + GVariant *value, + gpointer origin_tag); + gboolean (*write_tree) (GSettingsBackend *backend, + GTree *tree, + gpointer origin_tag); + void (*reset) (GSettingsBackend *backend, + const gchar *key, + gpointer origin_tag); + + void (*subscribe) (GSettingsBackend *backend, + const gchar *name); + void (*unsubscribe) (GSettingsBackend *backend, + const gchar *name); + void (*sync) (GSettingsBackend *backend); + + GPermission * (*get_permission) (GSettingsBackend *backend, + const gchar *path); + + GVariant * (*read_user_value) (GSettingsBackend *backend, + const gchar *key, + const GVariantType *expected_type); + + /*< private >*/ + gpointer padding[23]; +}; + +struct _GSettingsBackend +{ + GObject parent_instance; + + /*< private >*/ + GSettingsBackendPrivate *priv; +}; + +GIO_AVAILABLE_IN_ALL +GType g_settings_backend_get_type (void); + +GIO_AVAILABLE_IN_ALL +void g_settings_backend_changed (GSettingsBackend *backend, + const gchar *key, + gpointer origin_tag); +GIO_AVAILABLE_IN_ALL +void g_settings_backend_path_changed (GSettingsBackend *backend, + const gchar *path, + gpointer origin_tag); +GIO_AVAILABLE_IN_ALL +void g_settings_backend_flatten_tree (GTree *tree, + gchar **path, + const gchar ***keys, + GVariant ***values); +GIO_AVAILABLE_IN_ALL +void g_settings_backend_keys_changed (GSettingsBackend *backend, + const gchar *path, + gchar const * const *items, + gpointer origin_tag); + +GIO_AVAILABLE_IN_ALL +void g_settings_backend_path_writable_changed (GSettingsBackend *backend, + const gchar *path); +GIO_AVAILABLE_IN_ALL +void g_settings_backend_writable_changed (GSettingsBackend *backend, + const gchar *key); +GIO_AVAILABLE_IN_ALL +void g_settings_backend_changed_tree (GSettingsBackend *backend, + GTree *tree, + gpointer origin_tag); + +GIO_AVAILABLE_IN_ALL +GSettingsBackend * g_settings_backend_get_default (void); + +GIO_AVAILABLE_IN_ALL +GSettingsBackend * g_keyfile_settings_backend_new (const gchar *filename, + const gchar *root_path, + const gchar *root_group); + +GIO_AVAILABLE_IN_ALL +GSettingsBackend * g_null_settings_backend_new (void); + +GIO_AVAILABLE_IN_ALL +GSettingsBackend * g_memory_settings_backend_new (void); + +G_END_DECLS + +#endif /* __G_SETTINGS_BACKEND_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsettingsschema.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsettingsschema.h new file mode 100644 index 0000000..a3bb7df --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsettingsschema.h @@ -0,0 +1,115 @@ +/* + * Copyright © 2010 Codethink Limited + * Copyright © 2011 Canonical Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef __G_SETTINGS_SCHEMA_H__ +#define __G_SETTINGS_SCHEMA_H__ + +#include +#include + +G_BEGIN_DECLS + +typedef struct _GSettingsSchemaSource GSettingsSchemaSource; +typedef struct _GSettingsSchema GSettingsSchema; +typedef struct _GSettingsSchemaKey GSettingsSchemaKey; + +#define G_TYPE_SETTINGS_SCHEMA_SOURCE (g_settings_schema_source_get_type ()) +GIO_AVAILABLE_IN_2_32 +GType g_settings_schema_source_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_32 +GSettingsSchemaSource * g_settings_schema_source_get_default (void); +GIO_AVAILABLE_IN_2_32 +GSettingsSchemaSource * g_settings_schema_source_ref (GSettingsSchemaSource *source); +GIO_AVAILABLE_IN_2_32 +void g_settings_schema_source_unref (GSettingsSchemaSource *source); + +GIO_AVAILABLE_IN_2_32 +GSettingsSchemaSource * g_settings_schema_source_new_from_directory (const gchar *directory, + GSettingsSchemaSource *parent, + gboolean trusted, + GError **error); + +GIO_AVAILABLE_IN_2_32 +GSettingsSchema * g_settings_schema_source_lookup (GSettingsSchemaSource *source, + const gchar *schema_id, + gboolean recursive); + +GIO_AVAILABLE_IN_2_40 +void g_settings_schema_source_list_schemas (GSettingsSchemaSource *source, + gboolean recursive, + gchar ***non_relocatable, + gchar ***relocatable); + +#define G_TYPE_SETTINGS_SCHEMA (g_settings_schema_get_type ()) +GIO_AVAILABLE_IN_2_32 +GType g_settings_schema_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_32 +GSettingsSchema * g_settings_schema_ref (GSettingsSchema *schema); +GIO_AVAILABLE_IN_2_32 +void g_settings_schema_unref (GSettingsSchema *schema); + +GIO_AVAILABLE_IN_2_32 +const gchar * g_settings_schema_get_id (GSettingsSchema *schema); +GIO_AVAILABLE_IN_2_32 +const gchar * g_settings_schema_get_path (GSettingsSchema *schema); +GIO_AVAILABLE_IN_2_40 +GSettingsSchemaKey * g_settings_schema_get_key (GSettingsSchema *schema, + const gchar *name); +GIO_AVAILABLE_IN_2_40 +gboolean g_settings_schema_has_key (GSettingsSchema *schema, + const gchar *name); +GIO_AVAILABLE_IN_2_46 +gchar** g_settings_schema_list_keys (GSettingsSchema *schema); + + +GIO_AVAILABLE_IN_2_44 +gchar ** g_settings_schema_list_children (GSettingsSchema *schema); + +#define G_TYPE_SETTINGS_SCHEMA_KEY (g_settings_schema_key_get_type ()) +GIO_AVAILABLE_IN_2_40 +GType g_settings_schema_key_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_40 +GSettingsSchemaKey * g_settings_schema_key_ref (GSettingsSchemaKey *key); +GIO_AVAILABLE_IN_2_40 +void g_settings_schema_key_unref (GSettingsSchemaKey *key); + +GIO_AVAILABLE_IN_2_40 +const GVariantType * g_settings_schema_key_get_value_type (GSettingsSchemaKey *key); +GIO_AVAILABLE_IN_2_40 +GVariant * g_settings_schema_key_get_default_value (GSettingsSchemaKey *key); +GIO_AVAILABLE_IN_2_40 +GVariant * g_settings_schema_key_get_range (GSettingsSchemaKey *key); +GIO_AVAILABLE_IN_2_40 +gboolean g_settings_schema_key_range_check (GSettingsSchemaKey *key, + GVariant *value); + +GIO_AVAILABLE_IN_2_44 +const gchar * g_settings_schema_key_get_name (GSettingsSchemaKey *key); +GIO_AVAILABLE_IN_2_40 +const gchar * g_settings_schema_key_get_summary (GSettingsSchemaKey *key); +GIO_AVAILABLE_IN_2_40 +const gchar * g_settings_schema_key_get_description (GSettingsSchemaKey *key); + +G_END_DECLS + +#endif /* __G_SETTINGS_SCHEMA_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleaction.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleaction.h new file mode 100644 index 0000000..ce80e7a --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleaction.h @@ -0,0 +1,65 @@ +/* + * Copyright © 2010 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + */ + +#ifndef __G_SIMPLE_ACTION_H__ +#define __G_SIMPLE_ACTION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_SIMPLE_ACTION (g_simple_action_get_type ()) +#define G_SIMPLE_ACTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_SIMPLE_ACTION, GSimpleAction)) +#define G_IS_SIMPLE_ACTION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_SIMPLE_ACTION)) + +GIO_AVAILABLE_IN_ALL +GType g_simple_action_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GSimpleAction * g_simple_action_new (const gchar *name, + const GVariantType *parameter_type); + +GIO_AVAILABLE_IN_ALL +GSimpleAction * g_simple_action_new_stateful (const gchar *name, + const GVariantType *parameter_type, + GVariant *state); + +GIO_AVAILABLE_IN_ALL +void g_simple_action_set_enabled (GSimpleAction *simple, + gboolean enabled); + +GIO_AVAILABLE_IN_2_30 +void g_simple_action_set_state (GSimpleAction *simple, + GVariant *value); + +GIO_AVAILABLE_IN_2_44 +void g_simple_action_set_state_hint (GSimpleAction *simple, + GVariant *state_hint); + +G_END_DECLS + +#endif /* __G_SIMPLE_ACTION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleactiongroup.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleactiongroup.h new file mode 100644 index 0000000..99282ba --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleactiongroup.h @@ -0,0 +1,99 @@ +/* + * Copyright © 2010 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + */ + +#ifndef __G_SIMPLE_ACTION_GROUP_H__ +#define __G_SIMPLE_ACTION_GROUP_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include "gactiongroup.h" +#include "gactionmap.h" + +G_BEGIN_DECLS + +#define G_TYPE_SIMPLE_ACTION_GROUP (g_simple_action_group_get_type ()) +#define G_SIMPLE_ACTION_GROUP(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_SIMPLE_ACTION_GROUP, GSimpleActionGroup)) +#define G_SIMPLE_ACTION_GROUP_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_SIMPLE_ACTION_GROUP, GSimpleActionGroupClass)) +#define G_IS_SIMPLE_ACTION_GROUP(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_SIMPLE_ACTION_GROUP)) +#define G_IS_SIMPLE_ACTION_GROUP_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_SIMPLE_ACTION_GROUP)) +#define G_SIMPLE_ACTION_GROUP_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_SIMPLE_ACTION_GROUP, GSimpleActionGroupClass)) + +typedef struct _GSimpleActionGroupPrivate GSimpleActionGroupPrivate; +typedef struct _GSimpleActionGroupClass GSimpleActionGroupClass; + +/** + * GSimpleActionGroup: + * + * The #GSimpleActionGroup structure contains private data and should only be accessed using the provided API. + * + * Since: 2.28 + */ +struct _GSimpleActionGroup +{ + /*< private >*/ + GObject parent_instance; + + GSimpleActionGroupPrivate *priv; +}; + +struct _GSimpleActionGroupClass +{ + /*< private >*/ + GObjectClass parent_class; + + /*< private >*/ + gpointer padding[12]; +}; + +GIO_AVAILABLE_IN_ALL +GType g_simple_action_group_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GSimpleActionGroup * g_simple_action_group_new (void); + +GIO_DEPRECATED_IN_2_38_FOR (g_action_map_lookup_action) +GAction * g_simple_action_group_lookup (GSimpleActionGroup *simple, + const gchar *action_name); + +GIO_DEPRECATED_IN_2_38_FOR (g_action_map_add_action) +void g_simple_action_group_insert (GSimpleActionGroup *simple, + GAction *action); + +GIO_DEPRECATED_IN_2_38_FOR (g_action_map_remove_action) +void g_simple_action_group_remove (GSimpleActionGroup *simple, + const gchar *action_name); + +GIO_DEPRECATED_IN_2_38_FOR (g_action_map_add_action_entries) +void g_simple_action_group_add_entries (GSimpleActionGroup *simple, + const GActionEntry *entries, + gint n_entries, + gpointer user_data); + +G_END_DECLS + +#endif /* __G_SIMPLE_ACTION_GROUP_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleasyncresult.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleasyncresult.h new file mode 100644 index 0000000..12efb9c --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleasyncresult.h @@ -0,0 +1,164 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_SIMPLE_ASYNC_RESULT_H__ +#define __G_SIMPLE_ASYNC_RESULT_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_SIMPLE_ASYNC_RESULT (g_simple_async_result_get_type ()) +#define G_SIMPLE_ASYNC_RESULT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_SIMPLE_ASYNC_RESULT, GSimpleAsyncResult)) +#define G_SIMPLE_ASYNC_RESULT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_SIMPLE_ASYNC_RESULT, GSimpleAsyncResultClass)) +#define G_IS_SIMPLE_ASYNC_RESULT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_SIMPLE_ASYNC_RESULT)) +#define G_IS_SIMPLE_ASYNC_RESULT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_SIMPLE_ASYNC_RESULT)) +#define G_SIMPLE_ASYNC_RESULT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_SIMPLE_ASYNC_RESULT, GSimpleAsyncResultClass)) + +/** + * GSimpleAsyncResult: + * + * A simple implementation of #GAsyncResult. + **/ +typedef struct _GSimpleAsyncResultClass GSimpleAsyncResultClass; + + +GIO_AVAILABLE_IN_ALL +GType g_simple_async_result_get_type (void) G_GNUC_CONST; + +GIO_DEPRECATED_IN_2_46_FOR(g_task_new) +GSimpleAsyncResult *g_simple_async_result_new (GObject *source_object, + GAsyncReadyCallback callback, + gpointer user_data, + gpointer source_tag); +GIO_DEPRECATED_IN_2_46_FOR(g_task_new) +GSimpleAsyncResult *g_simple_async_result_new_error (GObject *source_object, + GAsyncReadyCallback callback, + gpointer user_data, + GQuark domain, + gint code, + const char *format, + ...) G_GNUC_PRINTF (6, 7); +GIO_DEPRECATED_IN_2_46_FOR(g_task_new) +GSimpleAsyncResult *g_simple_async_result_new_from_error (GObject *source_object, + GAsyncReadyCallback callback, + gpointer user_data, + const GError *error); +GIO_DEPRECATED_IN_2_46_FOR(g_task_new) +GSimpleAsyncResult *g_simple_async_result_new_take_error (GObject *source_object, + GAsyncReadyCallback callback, + gpointer user_data, + GError *error); + +GIO_DEPRECATED_IN_2_46 +void g_simple_async_result_set_op_res_gpointer (GSimpleAsyncResult *simple, + gpointer op_res, + GDestroyNotify destroy_op_res); +GIO_DEPRECATED_IN_2_46 +gpointer g_simple_async_result_get_op_res_gpointer (GSimpleAsyncResult *simple); + +GIO_DEPRECATED_IN_2_46 +void g_simple_async_result_set_op_res_gssize (GSimpleAsyncResult *simple, + gssize op_res); +GIO_DEPRECATED_IN_2_46 +gssize g_simple_async_result_get_op_res_gssize (GSimpleAsyncResult *simple); + +GIO_DEPRECATED_IN_2_46 +void g_simple_async_result_set_op_res_gboolean (GSimpleAsyncResult *simple, + gboolean op_res); +GIO_DEPRECATED_IN_2_46 +gboolean g_simple_async_result_get_op_res_gboolean (GSimpleAsyncResult *simple); + + + +GIO_AVAILABLE_IN_2_32 /* Also deprecated, but can't mark something both AVAILABLE and DEPRECATED */ +void g_simple_async_result_set_check_cancellable (GSimpleAsyncResult *simple, + GCancellable *check_cancellable); +GIO_DEPRECATED_IN_2_46 +gpointer g_simple_async_result_get_source_tag (GSimpleAsyncResult *simple); +GIO_DEPRECATED_IN_2_46 +void g_simple_async_result_set_handle_cancellation (GSimpleAsyncResult *simple, + gboolean handle_cancellation); +GIO_DEPRECATED_IN_2_46 +void g_simple_async_result_complete (GSimpleAsyncResult *simple); +GIO_DEPRECATED_IN_2_46 +void g_simple_async_result_complete_in_idle (GSimpleAsyncResult *simple); +GIO_DEPRECATED_IN_2_46 +void g_simple_async_result_run_in_thread (GSimpleAsyncResult *simple, + GSimpleAsyncThreadFunc func, + int io_priority, + GCancellable *cancellable); +GIO_DEPRECATED_IN_2_46 +void g_simple_async_result_set_from_error (GSimpleAsyncResult *simple, + const GError *error); +GIO_DEPRECATED_IN_2_46 +void g_simple_async_result_take_error (GSimpleAsyncResult *simple, + GError *error); +GIO_DEPRECATED_IN_2_46 +gboolean g_simple_async_result_propagate_error (GSimpleAsyncResult *simple, + GError **dest); +GIO_DEPRECATED_IN_2_46 +void g_simple_async_result_set_error (GSimpleAsyncResult *simple, + GQuark domain, + gint code, + const char *format, + ...) G_GNUC_PRINTF (4, 5); +GIO_DEPRECATED_IN_2_46 +void g_simple_async_result_set_error_va (GSimpleAsyncResult *simple, + GQuark domain, + gint code, + const char *format, + va_list args) + G_GNUC_PRINTF(4, 0); +GIO_DEPRECATED_IN_2_46 +gboolean g_simple_async_result_is_valid (GAsyncResult *result, + GObject *source, + gpointer source_tag); + +GIO_DEPRECATED_IN_2_46_FOR(g_task_report_error) +void g_simple_async_report_error_in_idle (GObject *object, + GAsyncReadyCallback callback, + gpointer user_data, + GQuark domain, + gint code, + const char *format, + ...) G_GNUC_PRINTF(6, 7); +GIO_DEPRECATED_IN_2_46_FOR(g_task_report_error) +void g_simple_async_report_gerror_in_idle (GObject *object, + GAsyncReadyCallback callback, + gpointer user_data, + const GError *error); +GIO_DEPRECATED_IN_2_46_FOR(g_task_report_error) +void g_simple_async_report_take_gerror_in_idle (GObject *object, + GAsyncReadyCallback callback, + gpointer user_data, + GError *error); + +G_END_DECLS + + + +#endif /* __G_SIMPLE_ASYNC_RESULT_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleiostream.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleiostream.h new file mode 100644 index 0000000..1d98ffe --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleiostream.h @@ -0,0 +1,47 @@ +/* + * Copyright © 2014 NICE s.r.l. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ignacio Casal Quinteiro + */ + +#ifndef __G_SIMPLE_IO_STREAM_H__ +#define __G_SIMPLE_IO_STREAM_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +#define G_TYPE_SIMPLE_IO_STREAM (g_simple_io_stream_get_type ()) +#define G_SIMPLE_IO_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_SIMPLE_IO_STREAM, GSimpleIOStream)) +#define G_IS_SIMPLE_IO_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_SIMPLE_IO_STREAM)) + +GIO_AVAILABLE_IN_2_44 +GType g_simple_io_stream_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_44 +GIOStream *g_simple_io_stream_new (GInputStream *input_stream, + GOutputStream *output_stream); + +G_END_DECLS + +#endif /* __G_SIMPLE_IO_STREAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimplepermission.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimplepermission.h new file mode 100644 index 0000000..19c42d7 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimplepermission.h @@ -0,0 +1,47 @@ +/* + * Copyright © 2010 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + * + * Author: Ryan Lortie + */ + +#ifndef __G_SIMPLE_PERMISSION_H__ +#define __G_SIMPLE_PERMISSION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_SIMPLE_PERMISSION (g_simple_permission_get_type ()) +#define G_SIMPLE_PERMISSION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_SIMPLE_PERMISSION, \ + GSimplePermission)) +#define G_IS_SIMPLE_PERMISSION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_SIMPLE_PERMISSION)) + +GIO_AVAILABLE_IN_ALL +GType g_simple_permission_get_type (void); +GIO_AVAILABLE_IN_ALL +GPermission * g_simple_permission_new (gboolean allowed); + +G_END_DECLS + +#endif /* __G_SIMPLE_PERMISSION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleproxyresolver.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleproxyresolver.h new file mode 100644 index 0000000..2e5f4b2 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsimpleproxyresolver.h @@ -0,0 +1,91 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright 2010, 2013 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_SIMPLE_PROXY_RESOLVER_H__ +#define __G_SIMPLE_PROXY_RESOLVER_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_SIMPLE_PROXY_RESOLVER (g_simple_proxy_resolver_get_type ()) +#define G_SIMPLE_PROXY_RESOLVER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_SIMPLE_PROXY_RESOLVER, GSimpleProxyResolver)) +#define G_SIMPLE_PROXY_RESOLVER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_SIMPLE_PROXY_RESOLVER, GSimpleProxyResolverClass)) +#define G_IS_SIMPLE_PROXY_RESOLVER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_SIMPLE_PROXY_RESOLVER)) +#define G_IS_SIMPLE_PROXY_RESOLVER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_SIMPLE_PROXY_RESOLVER)) +#define G_SIMPLE_PROXY_RESOLVER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_SIMPLE_PROXY_RESOLVER, GSimpleProxyResolverClass)) + +/** + * GSimpleProxyResolver: + * + * A #GProxyResolver implementation for using a fixed set of proxies. + **/ +typedef struct _GSimpleProxyResolver GSimpleProxyResolver; +typedef struct _GSimpleProxyResolverPrivate GSimpleProxyResolverPrivate; +typedef struct _GSimpleProxyResolverClass GSimpleProxyResolverClass; + +struct _GSimpleProxyResolver +{ + GObject parent_instance; + + /*< private >*/ + GSimpleProxyResolverPrivate *priv; +}; + +struct _GSimpleProxyResolverClass +{ + GObjectClass parent_class; + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + +GIO_AVAILABLE_IN_2_36 +GType g_simple_proxy_resolver_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_36 +GProxyResolver *g_simple_proxy_resolver_new (const gchar *default_proxy, + gchar **ignore_hosts); + +GIO_AVAILABLE_IN_2_36 +void g_simple_proxy_resolver_set_default_proxy (GSimpleProxyResolver *resolver, + const gchar *default_proxy); + +GIO_AVAILABLE_IN_2_36 +void g_simple_proxy_resolver_set_ignore_hosts (GSimpleProxyResolver *resolver, + gchar **ignore_hosts); + +GIO_AVAILABLE_IN_2_36 +void g_simple_proxy_resolver_set_uri_proxy (GSimpleProxyResolver *resolver, + const gchar *uri_scheme, + const gchar *proxy); + +G_END_DECLS + +#endif /* __G_SIMPLE_PROXY_RESOLVER_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocket.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocket.h new file mode 100644 index 0000000..0f0624b --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocket.h @@ -0,0 +1,330 @@ +/* + * Copyright © 2008 Christian Kellner, Samuel Cormier-Iijima + * Copyright © 2009 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Christian Kellner + * Samuel Cormier-Iijima + * Ryan Lortie + */ + +#ifndef __G_SOCKET_H__ +#define __G_SOCKET_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_SOCKET (g_socket_get_type ()) +#define G_SOCKET(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_SOCKET, GSocket)) +#define G_SOCKET_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_SOCKET, GSocketClass)) +#define G_IS_SOCKET(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_SOCKET)) +#define G_IS_SOCKET_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_SOCKET)) +#define G_SOCKET_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_SOCKET, GSocketClass)) + +typedef struct _GSocketPrivate GSocketPrivate; +typedef struct _GSocketClass GSocketClass; + +struct _GSocketClass +{ + GObjectClass parent_class; + + /*< private >*/ + + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); + void (*_g_reserved6) (void); + void (*_g_reserved7) (void); + void (*_g_reserved8) (void); + void (*_g_reserved9) (void); + void (*_g_reserved10) (void); +}; + +struct _GSocket +{ + GObject parent_instance; + GSocketPrivate *priv; +}; + +GIO_AVAILABLE_IN_ALL +GType g_socket_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GSocket * g_socket_new (GSocketFamily family, + GSocketType type, + GSocketProtocol protocol, + GError **error); +GIO_AVAILABLE_IN_ALL +GSocket * g_socket_new_from_fd (gint fd, + GError **error); +GIO_AVAILABLE_IN_ALL +int g_socket_get_fd (GSocket *socket); +GIO_AVAILABLE_IN_ALL +GSocketFamily g_socket_get_family (GSocket *socket); +GIO_AVAILABLE_IN_ALL +GSocketType g_socket_get_socket_type (GSocket *socket); +GIO_AVAILABLE_IN_ALL +GSocketProtocol g_socket_get_protocol (GSocket *socket); +GIO_AVAILABLE_IN_ALL +GSocketAddress * g_socket_get_local_address (GSocket *socket, + GError **error); +GIO_AVAILABLE_IN_ALL +GSocketAddress * g_socket_get_remote_address (GSocket *socket, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_socket_set_blocking (GSocket *socket, + gboolean blocking); +GIO_AVAILABLE_IN_ALL +gboolean g_socket_get_blocking (GSocket *socket); +GIO_AVAILABLE_IN_ALL +void g_socket_set_keepalive (GSocket *socket, + gboolean keepalive); +GIO_AVAILABLE_IN_ALL +gboolean g_socket_get_keepalive (GSocket *socket); +GIO_AVAILABLE_IN_ALL +gint g_socket_get_listen_backlog (GSocket *socket); +GIO_AVAILABLE_IN_ALL +void g_socket_set_listen_backlog (GSocket *socket, + gint backlog); +GIO_AVAILABLE_IN_ALL +guint g_socket_get_timeout (GSocket *socket); +GIO_AVAILABLE_IN_ALL +void g_socket_set_timeout (GSocket *socket, + guint timeout); + +GIO_AVAILABLE_IN_2_32 +guint g_socket_get_ttl (GSocket *socket); +GIO_AVAILABLE_IN_2_32 +void g_socket_set_ttl (GSocket *socket, + guint ttl); + +GIO_AVAILABLE_IN_2_32 +gboolean g_socket_get_broadcast (GSocket *socket); +GIO_AVAILABLE_IN_2_32 +void g_socket_set_broadcast (GSocket *socket, + gboolean broadcast); + +GIO_AVAILABLE_IN_2_32 +gboolean g_socket_get_multicast_loopback (GSocket *socket); +GIO_AVAILABLE_IN_2_32 +void g_socket_set_multicast_loopback (GSocket *socket, + gboolean loopback); +GIO_AVAILABLE_IN_2_32 +guint g_socket_get_multicast_ttl (GSocket *socket); +GIO_AVAILABLE_IN_2_32 +void g_socket_set_multicast_ttl (GSocket *socket, + guint ttl); +GIO_AVAILABLE_IN_ALL +gboolean g_socket_is_connected (GSocket *socket); +GIO_AVAILABLE_IN_ALL +gboolean g_socket_bind (GSocket *socket, + GSocketAddress *address, + gboolean allow_reuse, + GError **error); +GIO_AVAILABLE_IN_2_32 +gboolean g_socket_join_multicast_group (GSocket *socket, + GInetAddress *group, + gboolean source_specific, + const gchar *iface, + GError **error); +GIO_AVAILABLE_IN_2_32 +gboolean g_socket_leave_multicast_group (GSocket *socket, + GInetAddress *group, + gboolean source_specific, + const gchar *iface, + GError **error); +GIO_AVAILABLE_IN_2_56 +gboolean g_socket_join_multicast_group_ssm (GSocket *socket, + GInetAddress *group, + GInetAddress *source_specific, + const gchar *iface, + GError **error); +GIO_AVAILABLE_IN_2_56 +gboolean g_socket_leave_multicast_group_ssm (GSocket *socket, + GInetAddress *group, + GInetAddress *source_specific, + const gchar *iface, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_socket_connect (GSocket *socket, + GSocketAddress *address, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_socket_check_connect_result (GSocket *socket, + GError **error); + +GIO_AVAILABLE_IN_ALL +gssize g_socket_get_available_bytes (GSocket *socket); + +GIO_AVAILABLE_IN_ALL +GIOCondition g_socket_condition_check (GSocket *socket, + GIOCondition condition); +GIO_AVAILABLE_IN_ALL +gboolean g_socket_condition_wait (GSocket *socket, + GIOCondition condition, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_2_32 +gboolean g_socket_condition_timed_wait (GSocket *socket, + GIOCondition condition, + gint64 timeout_us, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +GSocket * g_socket_accept (GSocket *socket, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_socket_listen (GSocket *socket, + GError **error); +GIO_AVAILABLE_IN_ALL +gssize g_socket_receive (GSocket *socket, + gchar *buffer, + gsize size, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gssize g_socket_receive_from (GSocket *socket, + GSocketAddress **address, + gchar *buffer, + gsize size, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gssize g_socket_send (GSocket *socket, + const gchar *buffer, + gsize size, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gssize g_socket_send_to (GSocket *socket, + GSocketAddress *address, + const gchar *buffer, + gsize size, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gssize g_socket_receive_message (GSocket *socket, + GSocketAddress **address, + GInputVector *vectors, + gint num_vectors, + GSocketControlMessage ***messages, + gint *num_messages, + gint *flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gssize g_socket_send_message (GSocket *socket, + GSocketAddress *address, + GOutputVector *vectors, + gint num_vectors, + GSocketControlMessage **messages, + gint num_messages, + gint flags, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_2_48 +gint g_socket_receive_messages (GSocket *socket, + GInputMessage *messages, + guint num_messages, + gint flags, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_2_44 +gint g_socket_send_messages (GSocket *socket, + GOutputMessage *messages, + guint num_messages, + gint flags, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_socket_close (GSocket *socket, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_socket_shutdown (GSocket *socket, + gboolean shutdown_read, + gboolean shutdown_write, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_socket_is_closed (GSocket *socket); +GIO_AVAILABLE_IN_ALL +GSource * g_socket_create_source (GSocket *socket, + GIOCondition condition, + GCancellable *cancellable); +GIO_AVAILABLE_IN_ALL +gboolean g_socket_speaks_ipv4 (GSocket *socket); +GIO_AVAILABLE_IN_ALL +GCredentials *g_socket_get_credentials (GSocket *socket, + GError **error); + +GIO_AVAILABLE_IN_ALL +gssize g_socket_receive_with_blocking (GSocket *socket, + gchar *buffer, + gsize size, + gboolean blocking, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gssize g_socket_send_with_blocking (GSocket *socket, + const gchar *buffer, + gsize size, + gboolean blocking, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_2_60 +GPollableReturn g_socket_send_message_with_timeout (GSocket *socket, + GSocketAddress *address, + const GOutputVector *vectors, + gint num_vectors, + GSocketControlMessage **messages, + gint num_messages, + gint flags, + gint64 timeout_us, + gsize *bytes_written, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_2_36 +gboolean g_socket_get_option (GSocket *socket, + gint level, + gint optname, + gint *value, + GError **error); +GIO_AVAILABLE_IN_2_36 +gboolean g_socket_set_option (GSocket *socket, + gint level, + gint optname, + gint value, + GError **error); + +G_END_DECLS + +#endif /* __G_SOCKET_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketaddress.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketaddress.h new file mode 100644 index 0000000..b2dcef2 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketaddress.h @@ -0,0 +1,84 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2008 Christian Kellner, Samuel Cormier-Iijima + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Christian Kellner + * Samuel Cormier-Iijima + */ + +#ifndef __G_SOCKET_ADDRESS_H__ +#define __G_SOCKET_ADDRESS_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_SOCKET_ADDRESS (g_socket_address_get_type ()) +#define G_SOCKET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_SOCKET_ADDRESS, GSocketAddress)) +#define G_SOCKET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_SOCKET_ADDRESS, GSocketAddressClass)) +#define G_IS_SOCKET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_SOCKET_ADDRESS)) +#define G_IS_SOCKET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_SOCKET_ADDRESS)) +#define G_SOCKET_ADDRESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_SOCKET_ADDRESS, GSocketAddressClass)) + +typedef struct _GSocketAddressClass GSocketAddressClass; + +struct _GSocketAddress +{ + GObject parent_instance; +}; + +struct _GSocketAddressClass +{ + GObjectClass parent_class; + + GSocketFamily (*get_family) (GSocketAddress *address); + + gssize (*get_native_size) (GSocketAddress *address); + + gboolean (*to_native) (GSocketAddress *address, + gpointer dest, + gsize destlen, + GError **error); +}; + +GIO_AVAILABLE_IN_ALL +GType g_socket_address_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GSocketFamily g_socket_address_get_family (GSocketAddress *address); + +GIO_AVAILABLE_IN_ALL +GSocketAddress * g_socket_address_new_from_native (gpointer native, + gsize len); + +GIO_AVAILABLE_IN_ALL +gboolean g_socket_address_to_native (GSocketAddress *address, + gpointer dest, + gsize destlen, + GError **error); + +GIO_AVAILABLE_IN_ALL +gssize g_socket_address_get_native_size (GSocketAddress *address); + +G_END_DECLS + +#endif /* __G_SOCKET_ADDRESS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketaddressenumerator.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketaddressenumerator.h new file mode 100644 index 0000000..ceee6a3 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketaddressenumerator.h @@ -0,0 +1,103 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2008 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_SOCKET_ADDRESS_ENUMERATOR_H__ +#define __G_SOCKET_ADDRESS_ENUMERATOR_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_SOCKET_ADDRESS_ENUMERATOR (g_socket_address_enumerator_get_type ()) +#define G_SOCKET_ADDRESS_ENUMERATOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_SOCKET_ADDRESS_ENUMERATOR, GSocketAddressEnumerator)) +#define G_SOCKET_ADDRESS_ENUMERATOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_SOCKET_ADDRESS_ENUMERATOR, GSocketAddressEnumeratorClass)) +#define G_IS_SOCKET_ADDRESS_ENUMERATOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_SOCKET_ADDRESS_ENUMERATOR)) +#define G_IS_SOCKET_ADDRESS_ENUMERATOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_SOCKET_ADDRESS_ENUMERATOR)) +#define G_SOCKET_ADDRESS_ENUMERATOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_SOCKET_ADDRESS_ENUMERATOR, GSocketAddressEnumeratorClass)) + +/** + * GSocketAddressEnumerator: + * + * Enumerator type for objects that contain or generate + * #GSocketAddress instances. + */ +typedef struct _GSocketAddressEnumeratorClass GSocketAddressEnumeratorClass; + +struct _GSocketAddressEnumerator +{ + /*< private >*/ + GObject parent_instance; +}; + +/** + * GSocketAddressEnumeratorClass: + * @next: Virtual method for g_socket_address_enumerator_next(). + * @next_async: Virtual method for g_socket_address_enumerator_next_async(). + * @next_finish: Virtual method for g_socket_address_enumerator_next_finish(). + * + * Class structure for #GSocketAddressEnumerator. + */ +struct _GSocketAddressEnumeratorClass +{ + /*< private >*/ + GObjectClass parent_class; + + /*< public >*/ + /* Virtual Table */ + + GSocketAddress * (* next) (GSocketAddressEnumerator *enumerator, + GCancellable *cancellable, + GError **error); + + void (* next_async) (GSocketAddressEnumerator *enumerator, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GSocketAddress * (* next_finish) (GSocketAddressEnumerator *enumerator, + GAsyncResult *result, + GError **error); +}; + +GIO_AVAILABLE_IN_ALL +GType g_socket_address_enumerator_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GSocketAddress *g_socket_address_enumerator_next (GSocketAddressEnumerator *enumerator, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_socket_address_enumerator_next_async (GSocketAddressEnumerator *enumerator, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GSocketAddress *g_socket_address_enumerator_next_finish (GSocketAddressEnumerator *enumerator, + GAsyncResult *result, + GError **error); + +G_END_DECLS + + +#endif /* __G_SOCKET_ADDRESS_ENUMERATOR_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketclient.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketclient.h new file mode 100644 index 0000000..e9f815e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketclient.h @@ -0,0 +1,199 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright © 2008, 2009 Codethink Limited + * Copyright © 2009 Red Hat, Inc + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + * Alexander Larsson + */ + +#ifndef __G_SOCKET_CLIENT_H__ +#define __G_SOCKET_CLIENT_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_SOCKET_CLIENT (g_socket_client_get_type ()) +#define G_SOCKET_CLIENT(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_SOCKET_CLIENT, GSocketClient)) +#define G_SOCKET_CLIENT_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_SOCKET_CLIENT, GSocketClientClass)) +#define G_IS_SOCKET_CLIENT(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_SOCKET_CLIENT)) +#define G_IS_SOCKET_CLIENT_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_SOCKET_CLIENT)) +#define G_SOCKET_CLIENT_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_SOCKET_CLIENT, GSocketClientClass)) + +typedef struct _GSocketClientPrivate GSocketClientPrivate; +typedef struct _GSocketClientClass GSocketClientClass; + +struct _GSocketClientClass +{ + GObjectClass parent_class; + + void (* event) (GSocketClient *client, + GSocketClientEvent event, + GSocketConnectable *connectable, + GIOStream *connection); + + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); +}; + +struct _GSocketClient +{ + GObject parent_instance; + GSocketClientPrivate *priv; +}; + +GIO_AVAILABLE_IN_ALL +GType g_socket_client_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GSocketClient *g_socket_client_new (void); + +GIO_AVAILABLE_IN_ALL +GSocketFamily g_socket_client_get_family (GSocketClient *client); +GIO_AVAILABLE_IN_ALL +void g_socket_client_set_family (GSocketClient *client, + GSocketFamily family); +GIO_AVAILABLE_IN_ALL +GSocketType g_socket_client_get_socket_type (GSocketClient *client); +GIO_AVAILABLE_IN_ALL +void g_socket_client_set_socket_type (GSocketClient *client, + GSocketType type); +GIO_AVAILABLE_IN_ALL +GSocketProtocol g_socket_client_get_protocol (GSocketClient *client); +GIO_AVAILABLE_IN_ALL +void g_socket_client_set_protocol (GSocketClient *client, + GSocketProtocol protocol); +GIO_AVAILABLE_IN_ALL +GSocketAddress *g_socket_client_get_local_address (GSocketClient *client); +GIO_AVAILABLE_IN_ALL +void g_socket_client_set_local_address (GSocketClient *client, + GSocketAddress *address); +GIO_AVAILABLE_IN_ALL +guint g_socket_client_get_timeout (GSocketClient *client); +GIO_AVAILABLE_IN_ALL +void g_socket_client_set_timeout (GSocketClient *client, + guint timeout); +GIO_AVAILABLE_IN_ALL +gboolean g_socket_client_get_enable_proxy (GSocketClient *client); +GIO_AVAILABLE_IN_ALL +void g_socket_client_set_enable_proxy (GSocketClient *client, + gboolean enable); + +GIO_AVAILABLE_IN_2_28 +gboolean g_socket_client_get_tls (GSocketClient *client); +GIO_AVAILABLE_IN_2_28 +void g_socket_client_set_tls (GSocketClient *client, + gboolean tls); +GIO_DEPRECATED_IN_2_72 +GTlsCertificateFlags g_socket_client_get_tls_validation_flags (GSocketClient *client); +GIO_DEPRECATED_IN_2_72 +void g_socket_client_set_tls_validation_flags (GSocketClient *client, + GTlsCertificateFlags flags); +GIO_AVAILABLE_IN_2_36 +GProxyResolver *g_socket_client_get_proxy_resolver (GSocketClient *client); +GIO_AVAILABLE_IN_2_36 +void g_socket_client_set_proxy_resolver (GSocketClient *client, + GProxyResolver *proxy_resolver); + +GIO_AVAILABLE_IN_ALL +GSocketConnection * g_socket_client_connect (GSocketClient *client, + GSocketConnectable *connectable, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +GSocketConnection * g_socket_client_connect_to_host (GSocketClient *client, + const gchar *host_and_port, + guint16 default_port, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +GSocketConnection * g_socket_client_connect_to_service (GSocketClient *client, + const gchar *domain, + const gchar *service, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_2_26 +GSocketConnection * g_socket_client_connect_to_uri (GSocketClient *client, + const gchar *uri, + guint16 default_port, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_socket_client_connect_async (GSocketClient *client, + GSocketConnectable *connectable, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GSocketConnection * g_socket_client_connect_finish (GSocketClient *client, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_socket_client_connect_to_host_async (GSocketClient *client, + const gchar *host_and_port, + guint16 default_port, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GSocketConnection * g_socket_client_connect_to_host_finish (GSocketClient *client, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_socket_client_connect_to_service_async (GSocketClient *client, + const gchar *domain, + const gchar *service, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GSocketConnection * g_socket_client_connect_to_service_finish (GSocketClient *client, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_socket_client_connect_to_uri_async (GSocketClient *client, + const gchar *uri, + guint16 default_port, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GSocketConnection * g_socket_client_connect_to_uri_finish (GSocketClient *client, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_socket_client_add_application_proxy (GSocketClient *client, + const gchar *protocol); + +G_END_DECLS + +#endif /* __G_SOCKET_CLIENT_H___ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketconnectable.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketconnectable.h new file mode 100644 index 0000000..ed2cad9 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketconnectable.h @@ -0,0 +1,83 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2008 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_SOCKET_CONNECTABLE_H__ +#define __G_SOCKET_CONNECTABLE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_SOCKET_CONNECTABLE (g_socket_connectable_get_type ()) +#define G_SOCKET_CONNECTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_SOCKET_CONNECTABLE, GSocketConnectable)) +#define G_IS_SOCKET_CONNECTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_SOCKET_CONNECTABLE)) +#define G_SOCKET_CONNECTABLE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_SOCKET_CONNECTABLE, GSocketConnectableIface)) + +/** + * GSocketConnectable: + * + * Interface for objects that contain or generate a #GSocketAddress. + */ +typedef struct _GSocketConnectableIface GSocketConnectableIface; + +/** + * GSocketConnectableIface: + * @g_iface: The parent interface. + * @enumerate: Creates a #GSocketAddressEnumerator + * @proxy_enumerate: Creates a #GProxyAddressEnumerator + * @to_string: Format the connectable’s address as a string for debugging. + * Implementing this is optional. (Since: 2.48) + * + * Provides an interface for returning a #GSocketAddressEnumerator + * and #GProxyAddressEnumerator + */ +struct _GSocketConnectableIface +{ + GTypeInterface g_iface; + + /* Virtual Table */ + + GSocketAddressEnumerator * (* enumerate) (GSocketConnectable *connectable); + + GSocketAddressEnumerator * (* proxy_enumerate) (GSocketConnectable *connectable); + + gchar * (* to_string) (GSocketConnectable *connectable); +}; + +GIO_AVAILABLE_IN_ALL +GType g_socket_connectable_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GSocketAddressEnumerator *g_socket_connectable_enumerate (GSocketConnectable *connectable); + +GIO_AVAILABLE_IN_ALL +GSocketAddressEnumerator *g_socket_connectable_proxy_enumerate (GSocketConnectable *connectable); + +GIO_AVAILABLE_IN_2_48 +gchar *g_socket_connectable_to_string (GSocketConnectable *connectable); + +G_END_DECLS + + +#endif /* __G_SOCKET_CONNECTABLE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketconnection.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketconnection.h new file mode 100644 index 0000000..45de5ba --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketconnection.h @@ -0,0 +1,117 @@ +/* GIO - GLib Input, Output and Streaming Library + * Copyright © 2008 Christian Kellner, Samuel Cormier-Iijima + * Copyright © 2009 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Christian Kellner + * Samuel Cormier-Iijima + * Ryan Lortie + * Alexander Larsson + */ + +#ifndef __G_SOCKET_CONNECTION_H__ +#define __G_SOCKET_CONNECTION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include + +G_BEGIN_DECLS + +#define G_TYPE_SOCKET_CONNECTION (g_socket_connection_get_type ()) +#define G_SOCKET_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_SOCKET_CONNECTION, GSocketConnection)) +#define G_SOCKET_CONNECTION_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_SOCKET_CONNECTION, GSocketConnectionClass)) +#define G_IS_SOCKET_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_SOCKET_CONNECTION)) +#define G_IS_SOCKET_CONNECTION_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_SOCKET_CONNECTION)) +#define G_SOCKET_CONNECTION_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_SOCKET_CONNECTION, GSocketConnectionClass)) + +typedef struct _GSocketConnectionPrivate GSocketConnectionPrivate; +typedef struct _GSocketConnectionClass GSocketConnectionClass; + +struct _GSocketConnectionClass +{ + GIOStreamClass parent_class; + + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); + void (*_g_reserved6) (void); +}; + +struct _GSocketConnection +{ + GIOStream parent_instance; + GSocketConnectionPrivate *priv; +}; + +GIO_AVAILABLE_IN_ALL +GType g_socket_connection_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_32 +gboolean g_socket_connection_is_connected (GSocketConnection *connection); +GIO_AVAILABLE_IN_2_32 +gboolean g_socket_connection_connect (GSocketConnection *connection, + GSocketAddress *address, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_2_32 +void g_socket_connection_connect_async (GSocketConnection *connection, + GSocketAddress *address, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_32 +gboolean g_socket_connection_connect_finish (GSocketConnection *connection, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +GSocket *g_socket_connection_get_socket (GSocketConnection *connection); +GIO_AVAILABLE_IN_ALL +GSocketAddress *g_socket_connection_get_local_address (GSocketConnection *connection, + GError **error); +GIO_AVAILABLE_IN_ALL +GSocketAddress *g_socket_connection_get_remote_address (GSocketConnection *connection, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_socket_connection_factory_register_type (GType g_type, + GSocketFamily family, + GSocketType type, + gint protocol); +GIO_AVAILABLE_IN_ALL +GType g_socket_connection_factory_lookup_type (GSocketFamily family, + GSocketType type, + gint protocol_id); +GIO_AVAILABLE_IN_ALL +GSocketConnection *g_socket_connection_factory_create_connection (GSocket *socket); + +G_END_DECLS + +#endif /* __G_SOCKET_CONNECTION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketcontrolmessage.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketcontrolmessage.h new file mode 100644 index 0000000..51be2e1 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketcontrolmessage.h @@ -0,0 +1,113 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright © 2009 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + */ + +#ifndef __G_SOCKET_CONTROL_MESSAGE_H__ +#define __G_SOCKET_CONTROL_MESSAGE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_SOCKET_CONTROL_MESSAGE (g_socket_control_message_get_type ()) +#define G_SOCKET_CONTROL_MESSAGE(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_SOCKET_CONTROL_MESSAGE, \ + GSocketControlMessage)) +#define G_SOCKET_CONTROL_MESSAGE_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_SOCKET_CONTROL_MESSAGE, \ + GSocketControlMessageClass)) +#define G_IS_SOCKET_CONTROL_MESSAGE(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_SOCKET_CONTROL_MESSAGE)) +#define G_IS_SOCKET_CONTROL_MESSAGE_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_SOCKET_CONTROL_MESSAGE)) +#define G_SOCKET_CONTROL_MESSAGE_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_SOCKET_CONTROL_MESSAGE, \ + GSocketControlMessageClass)) + +typedef struct _GSocketControlMessagePrivate GSocketControlMessagePrivate; +typedef struct _GSocketControlMessageClass GSocketControlMessageClass; + +/** + * GSocketControlMessageClass: + * @get_size: gets the size of the message. + * @get_level: gets the protocol of the message. + * @get_type: gets the protocol specific type of the message. + * @serialize: Writes out the message data. + * @deserialize: Tries to deserialize a message. + * + * Class structure for #GSocketControlMessage. + **/ + +struct _GSocketControlMessageClass +{ + GObjectClass parent_class; + + gsize (* get_size) (GSocketControlMessage *message); + int (* get_level) (GSocketControlMessage *message); + int (* get_type) (GSocketControlMessage *message); + void (* serialize) (GSocketControlMessage *message, + gpointer data); + GSocketControlMessage *(* deserialize) (int level, + int type, + gsize size, + gpointer data); + + /*< private >*/ + + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + +struct _GSocketControlMessage +{ + GObject parent_instance; + GSocketControlMessagePrivate *priv; +}; + +GIO_AVAILABLE_IN_ALL +GType g_socket_control_message_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +gsize g_socket_control_message_get_size (GSocketControlMessage *message); +GIO_AVAILABLE_IN_ALL +int g_socket_control_message_get_level (GSocketControlMessage *message); +GIO_AVAILABLE_IN_ALL +int g_socket_control_message_get_msg_type (GSocketControlMessage *message); +GIO_AVAILABLE_IN_ALL +void g_socket_control_message_serialize (GSocketControlMessage *message, + gpointer data); +GIO_AVAILABLE_IN_ALL +GSocketControlMessage *g_socket_control_message_deserialize (int level, + int type, + gsize size, + gpointer data); + + +G_END_DECLS + +#endif /* __G_SOCKET_CONTROL_MESSAGE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketlistener.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketlistener.h new file mode 100644 index 0000000..9ad6c8f --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketlistener.h @@ -0,0 +1,157 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright © 2008 Christian Kellner, Samuel Cormier-Iijima + * Copyright © 2009 Codethink Limited + * Copyright © 2009 Red Hat, Inc + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Christian Kellner + * Samuel Cormier-Iijima + * Ryan Lortie + * Alexander Larsson + */ + +#ifndef __G_SOCKET_LISTENER_H__ +#define __G_SOCKET_LISTENER_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_SOCKET_LISTENER (g_socket_listener_get_type ()) +#define G_SOCKET_LISTENER(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_SOCKET_LISTENER, GSocketListener)) +#define G_SOCKET_LISTENER_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_SOCKET_LISTENER, GSocketListenerClass)) +#define G_IS_SOCKET_LISTENER(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_SOCKET_LISTENER)) +#define G_IS_SOCKET_LISTENER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_SOCKET_LISTENER)) +#define G_SOCKET_LISTENER_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_SOCKET_LISTENER, GSocketListenerClass)) + +typedef struct _GSocketListenerPrivate GSocketListenerPrivate; +typedef struct _GSocketListenerClass GSocketListenerClass; + +/** + * GSocketListenerClass: + * @changed: virtual method called when the set of socket listened to changes + * + * Class structure for #GSocketListener. + **/ +struct _GSocketListenerClass +{ + GObjectClass parent_class; + + void (* changed) (GSocketListener *listener); + + void (* event) (GSocketListener *listener, + GSocketListenerEvent event, + GSocket *socket); + + /* Padding for future expansion */ + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); + void (*_g_reserved6) (void); +}; + +struct _GSocketListener +{ + GObject parent_instance; + GSocketListenerPrivate *priv; +}; + +GIO_AVAILABLE_IN_ALL +GType g_socket_listener_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GSocketListener * g_socket_listener_new (void); + +GIO_AVAILABLE_IN_ALL +void g_socket_listener_set_backlog (GSocketListener *listener, + int listen_backlog); + +GIO_AVAILABLE_IN_ALL +gboolean g_socket_listener_add_socket (GSocketListener *listener, + GSocket *socket, + GObject *source_object, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_socket_listener_add_address (GSocketListener *listener, + GSocketAddress *address, + GSocketType type, + GSocketProtocol protocol, + GObject *source_object, + GSocketAddress **effective_address, + GError **error); +GIO_AVAILABLE_IN_ALL +gboolean g_socket_listener_add_inet_port (GSocketListener *listener, + guint16 port, + GObject *source_object, + GError **error); +GIO_AVAILABLE_IN_ALL +guint16 g_socket_listener_add_any_inet_port (GSocketListener *listener, + GObject *source_object, + GError **error); + +GIO_AVAILABLE_IN_ALL +GSocket * g_socket_listener_accept_socket (GSocketListener *listener, + GObject **source_object, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +void g_socket_listener_accept_socket_async (GSocketListener *listener, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GSocket * g_socket_listener_accept_socket_finish (GSocketListener *listener, + GAsyncResult *result, + GObject **source_object, + GError **error); + + +GIO_AVAILABLE_IN_ALL +GSocketConnection * g_socket_listener_accept (GSocketListener *listener, + GObject **source_object, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_socket_listener_accept_async (GSocketListener *listener, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_ALL +GSocketConnection * g_socket_listener_accept_finish (GSocketListener *listener, + GAsyncResult *result, + GObject **source_object, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_socket_listener_close (GSocketListener *listener); + +G_END_DECLS + +#endif /* __G_SOCKET_LISTENER_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketservice.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketservice.h new file mode 100644 index 0000000..f4e7c22 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsocketservice.h @@ -0,0 +1,95 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright © 2009 Codethink Limited + * Copyright © 2009 Red Hat, Inc + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + * Alexander Larsson + */ + +#ifndef __G_SOCKET_SERVICE_H__ +#define __G_SOCKET_SERVICE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_SOCKET_SERVICE (g_socket_service_get_type ()) +#define G_SOCKET_SERVICE(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_SOCKET_SERVICE, GSocketService)) +#define G_SOCKET_SERVICE_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_SOCKET_SERVICE, GSocketServiceClass)) +#define G_IS_SOCKET_SERVICE(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_SOCKET_SERVICE)) +#define G_IS_SOCKET_SERVICE_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_SOCKET_SERVICE)) +#define G_SOCKET_SERVICE_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_SOCKET_SERVICE, GSocketServiceClass)) + +typedef struct _GSocketServicePrivate GSocketServicePrivate; +typedef struct _GSocketServiceClass GSocketServiceClass; + +/** + * GSocketServiceClass: + * @incoming: signal emitted when new connections are accepted + * + * Class structure for #GSocketService. + */ +struct _GSocketServiceClass +{ + GSocketListenerClass parent_class; + + gboolean (* incoming) (GSocketService *service, + GSocketConnection *connection, + GObject *source_object); + + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); + void (*_g_reserved6) (void); +}; + +struct _GSocketService +{ + GSocketListener parent_instance; + GSocketServicePrivate *priv; +}; + +GIO_AVAILABLE_IN_ALL +GType g_socket_service_get_type (void); + +GIO_AVAILABLE_IN_ALL +GSocketService *g_socket_service_new (void); +GIO_AVAILABLE_IN_ALL +void g_socket_service_start (GSocketService *service); +GIO_AVAILABLE_IN_ALL +void g_socket_service_stop (GSocketService *service); +GIO_AVAILABLE_IN_ALL +gboolean g_socket_service_is_active (GSocketService *service); + + +G_END_DECLS + +#endif /* __G_SOCKET_SERVICE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsrvtarget.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsrvtarget.h new file mode 100644 index 0000000..92bb256 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsrvtarget.h @@ -0,0 +1,60 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2008 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_SRV_TARGET_H__ +#define __G_SRV_TARGET_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +GIO_AVAILABLE_IN_ALL +GType g_srv_target_get_type (void) G_GNUC_CONST; +#define G_TYPE_SRV_TARGET (g_srv_target_get_type ()) + +GIO_AVAILABLE_IN_ALL +GSrvTarget *g_srv_target_new (const gchar *hostname, + guint16 port, + guint16 priority, + guint16 weight); +GIO_AVAILABLE_IN_ALL +GSrvTarget *g_srv_target_copy (GSrvTarget *target); +GIO_AVAILABLE_IN_ALL +void g_srv_target_free (GSrvTarget *target); + +GIO_AVAILABLE_IN_ALL +const gchar *g_srv_target_get_hostname (GSrvTarget *target); +GIO_AVAILABLE_IN_ALL +guint16 g_srv_target_get_port (GSrvTarget *target); +GIO_AVAILABLE_IN_ALL +guint16 g_srv_target_get_priority (GSrvTarget *target); +GIO_AVAILABLE_IN_ALL +guint16 g_srv_target_get_weight (GSrvTarget *target); + +GIO_AVAILABLE_IN_ALL +GList *g_srv_target_list_sort (GList *targets); + +G_END_DECLS + +#endif /* __G_SRV_TARGET_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsubprocess.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsubprocess.h new file mode 100644 index 0000000..4d5b488 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsubprocess.h @@ -0,0 +1,169 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2012 Colin Walters + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Colin Walters + */ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __G_SUBPROCESS_H__ +#define __G_SUBPROCESS_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_SUBPROCESS (g_subprocess_get_type ()) +#define G_SUBPROCESS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_SUBPROCESS, GSubprocess)) +#define G_IS_SUBPROCESS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_SUBPROCESS)) + +GIO_AVAILABLE_IN_2_40 +GType g_subprocess_get_type (void) G_GNUC_CONST; + +/**** Core API ****/ + +GIO_AVAILABLE_IN_2_40 +GSubprocess * g_subprocess_new (GSubprocessFlags flags, + GError **error, + const gchar *argv0, + ...) G_GNUC_NULL_TERMINATED; +GIO_AVAILABLE_IN_2_40 +GSubprocess * g_subprocess_newv (const gchar * const *argv, + GSubprocessFlags flags, + GError **error); + +GIO_AVAILABLE_IN_2_40 +GOutputStream * g_subprocess_get_stdin_pipe (GSubprocess *subprocess); + +GIO_AVAILABLE_IN_2_40 +GInputStream * g_subprocess_get_stdout_pipe (GSubprocess *subprocess); + +GIO_AVAILABLE_IN_2_40 +GInputStream * g_subprocess_get_stderr_pipe (GSubprocess *subprocess); + +GIO_AVAILABLE_IN_2_40 +const gchar * g_subprocess_get_identifier (GSubprocess *subprocess); + +#ifdef G_OS_UNIX +GIO_AVAILABLE_IN_2_40 +void g_subprocess_send_signal (GSubprocess *subprocess, + gint signal_num); +#endif + +GIO_AVAILABLE_IN_2_40 +void g_subprocess_force_exit (GSubprocess *subprocess); + +GIO_AVAILABLE_IN_2_40 +gboolean g_subprocess_wait (GSubprocess *subprocess, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_2_40 +void g_subprocess_wait_async (GSubprocess *subprocess, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_2_40 +gboolean g_subprocess_wait_finish (GSubprocess *subprocess, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_2_40 +gboolean g_subprocess_wait_check (GSubprocess *subprocess, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_2_40 +void g_subprocess_wait_check_async (GSubprocess *subprocess, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_2_40 +gboolean g_subprocess_wait_check_finish (GSubprocess *subprocess, + GAsyncResult *result, + GError **error); + + +GIO_AVAILABLE_IN_2_40 +gint g_subprocess_get_status (GSubprocess *subprocess); + +GIO_AVAILABLE_IN_2_40 +gboolean g_subprocess_get_successful (GSubprocess *subprocess); + +GIO_AVAILABLE_IN_2_40 +gboolean g_subprocess_get_if_exited (GSubprocess *subprocess); + +GIO_AVAILABLE_IN_2_40 +gint g_subprocess_get_exit_status (GSubprocess *subprocess); + +GIO_AVAILABLE_IN_2_40 +gboolean g_subprocess_get_if_signaled (GSubprocess *subprocess); + +GIO_AVAILABLE_IN_2_40 +gint g_subprocess_get_term_sig (GSubprocess *subprocess); + +GIO_AVAILABLE_IN_2_40 +gboolean g_subprocess_communicate (GSubprocess *subprocess, + GBytes *stdin_buf, + GCancellable *cancellable, + GBytes **stdout_buf, + GBytes **stderr_buf, + GError **error); +GIO_AVAILABLE_IN_2_40 +void g_subprocess_communicate_async (GSubprocess *subprocess, + GBytes *stdin_buf, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_2_40 +gboolean g_subprocess_communicate_finish (GSubprocess *subprocess, + GAsyncResult *result, + GBytes **stdout_buf, + GBytes **stderr_buf, + GError **error); + +GIO_AVAILABLE_IN_2_40 +gboolean g_subprocess_communicate_utf8 (GSubprocess *subprocess, + const char *stdin_buf, + GCancellable *cancellable, + char **stdout_buf, + char **stderr_buf, + GError **error); +GIO_AVAILABLE_IN_2_40 +void g_subprocess_communicate_utf8_async (GSubprocess *subprocess, + const char *stdin_buf, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_2_40 +gboolean g_subprocess_communicate_utf8_finish (GSubprocess *subprocess, + GAsyncResult *result, + char **stdout_buf, + char **stderr_buf, + GError **error); + +G_END_DECLS + +#endif /* __G_SUBPROCESS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsubprocesslauncher.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsubprocesslauncher.h new file mode 100644 index 0000000..0ab9145 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gsubprocesslauncher.h @@ -0,0 +1,121 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright © 2012,2013 Colin Walters + * Copyright © 2012,2013 Canonical Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Ryan Lortie + * Author: Colin Walters + */ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __G_SUBPROCESS_LAUNCHER_H__ +#define __G_SUBPROCESS_LAUNCHER_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_SUBPROCESS_LAUNCHER (g_subprocess_launcher_get_type ()) +#define G_SUBPROCESS_LAUNCHER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_SUBPROCESS_LAUNCHER, GSubprocessLauncher)) +#define G_IS_SUBPROCESS_LAUNCHER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_SUBPROCESS_LAUNCHER)) + +GIO_AVAILABLE_IN_2_40 +GType g_subprocess_launcher_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_40 +GSubprocessLauncher * g_subprocess_launcher_new (GSubprocessFlags flags); + +GIO_AVAILABLE_IN_2_40 +GSubprocess * g_subprocess_launcher_spawn (GSubprocessLauncher *self, + GError **error, + const gchar *argv0, + ...) G_GNUC_NULL_TERMINATED; + +GIO_AVAILABLE_IN_2_40 +GSubprocess * g_subprocess_launcher_spawnv (GSubprocessLauncher *self, + const gchar * const *argv, + GError **error); + +GIO_AVAILABLE_IN_2_40 +void g_subprocess_launcher_set_environ (GSubprocessLauncher *self, + gchar **env); + +GIO_AVAILABLE_IN_2_40 +void g_subprocess_launcher_setenv (GSubprocessLauncher *self, + const gchar *variable, + const gchar *value, + gboolean overwrite); + +GIO_AVAILABLE_IN_2_40 +void g_subprocess_launcher_unsetenv (GSubprocessLauncher *self, + const gchar *variable); + +GIO_AVAILABLE_IN_2_40 +const gchar * g_subprocess_launcher_getenv (GSubprocessLauncher *self, + const gchar *variable); + +GIO_AVAILABLE_IN_2_40 +void g_subprocess_launcher_set_cwd (GSubprocessLauncher *self, + const gchar *cwd); +GIO_AVAILABLE_IN_2_40 +void g_subprocess_launcher_set_flags (GSubprocessLauncher *self, + GSubprocessFlags flags); + +/* Extended I/O control, only available on UNIX */ +#ifdef G_OS_UNIX +GIO_AVAILABLE_IN_2_40 +void g_subprocess_launcher_set_stdin_file_path (GSubprocessLauncher *self, + const gchar *path); +GIO_AVAILABLE_IN_2_40 +void g_subprocess_launcher_take_stdin_fd (GSubprocessLauncher *self, + gint fd); +GIO_AVAILABLE_IN_2_40 +void g_subprocess_launcher_set_stdout_file_path (GSubprocessLauncher *self, + const gchar *path); +GIO_AVAILABLE_IN_2_40 +void g_subprocess_launcher_take_stdout_fd (GSubprocessLauncher *self, + gint fd); +GIO_AVAILABLE_IN_2_40 +void g_subprocess_launcher_set_stderr_file_path (GSubprocessLauncher *self, + const gchar *path); +GIO_AVAILABLE_IN_2_40 +void g_subprocess_launcher_take_stderr_fd (GSubprocessLauncher *self, + gint fd); + +GIO_AVAILABLE_IN_2_40 +void g_subprocess_launcher_take_fd (GSubprocessLauncher *self, + gint source_fd, + gint target_fd); + +GIO_AVAILABLE_IN_2_68 +void g_subprocess_launcher_close (GSubprocessLauncher *self); + +/* Child setup, only available on UNIX */ +GIO_AVAILABLE_IN_2_40 +void g_subprocess_launcher_set_child_setup (GSubprocessLauncher *self, + GSpawnChildSetupFunc child_setup, + gpointer user_data, + GDestroyNotify destroy_notify); +#endif + +G_END_DECLS + +#endif /* __G_SUBPROCESS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtask.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtask.h new file mode 100644 index 0000000..6d7fa82 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtask.h @@ -0,0 +1,207 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright 2011 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_TASK_H__ +#define __G_TASK_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_TASK (g_task_get_type ()) +#define G_TASK(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_TASK, GTask)) +#define G_TASK_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_TASK, GTaskClass)) +#define G_IS_TASK(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_TASK)) +#define G_IS_TASK_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_TASK)) +#define G_TASK_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_TASK, GTaskClass)) + +typedef struct _GTaskClass GTaskClass; + +GIO_AVAILABLE_IN_2_36 +GType g_task_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_36 +GTask *g_task_new (gpointer source_object, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer callback_data); + +GIO_AVAILABLE_IN_2_36 +void g_task_report_error (gpointer source_object, + GAsyncReadyCallback callback, + gpointer callback_data, + gpointer source_tag, + GError *error); +GIO_AVAILABLE_IN_2_36 +void g_task_report_new_error (gpointer source_object, + GAsyncReadyCallback callback, + gpointer callback_data, + gpointer source_tag, + GQuark domain, + gint code, + const char *format, + ...) G_GNUC_PRINTF(7, 8); + +GIO_AVAILABLE_IN_2_36 +void g_task_set_task_data (GTask *task, + gpointer task_data, + GDestroyNotify task_data_destroy); +GIO_AVAILABLE_IN_2_36 +void g_task_set_priority (GTask *task, + gint priority); +GIO_AVAILABLE_IN_2_36 +void g_task_set_check_cancellable (GTask *task, + gboolean check_cancellable); +GIO_AVAILABLE_IN_2_36 +void g_task_set_source_tag (GTask *task, + gpointer source_tag); +GIO_AVAILABLE_IN_2_60 +void g_task_set_name (GTask *task, + const gchar *name); +GIO_AVAILABLE_IN_2_76 +void g_task_set_static_name (GTask *task, + const gchar *name); + +/* Macro wrapper to set the task name when setting the source tag. */ +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_76 +#define g_task_set_source_tag(task, tag) G_STMT_START { \ + GTask *_task = (task); \ + (g_task_set_source_tag) (_task, tag); \ + if (g_task_get_name (_task) == NULL) \ + g_task_set_static_name (_task, G_STRINGIFY (tag)); \ +} G_STMT_END +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_76 +#if defined (__GNUC__) && (__GNUC__ >= 2) +#define g_task_set_name(task, name) G_STMT_START { \ + GTask *_task = (task); \ + if (__builtin_constant_p (name)) \ + g_task_set_static_name (_task, name); \ + else \ + g_task_set_name (_task, name); \ +} G_STMT_END +#endif +#endif + +GIO_AVAILABLE_IN_2_36 +gpointer g_task_get_source_object (GTask *task); +GIO_AVAILABLE_IN_2_36 +gpointer g_task_get_task_data (GTask *task); +GIO_AVAILABLE_IN_2_36 +gint g_task_get_priority (GTask *task); +GIO_AVAILABLE_IN_2_36 +GMainContext *g_task_get_context (GTask *task); +GIO_AVAILABLE_IN_2_36 +GCancellable *g_task_get_cancellable (GTask *task); +GIO_AVAILABLE_IN_2_36 +gboolean g_task_get_check_cancellable (GTask *task); +GIO_AVAILABLE_IN_2_36 +gpointer g_task_get_source_tag (GTask *task); +GIO_AVAILABLE_IN_2_60 +const gchar *g_task_get_name (GTask *task); + +GIO_AVAILABLE_IN_2_36 +gboolean g_task_is_valid (gpointer result, + gpointer source_object); + + +typedef void (*GTaskThreadFunc) (GTask *task, + gpointer source_object, + gpointer task_data, + GCancellable *cancellable); +GIO_AVAILABLE_IN_2_36 +void g_task_run_in_thread (GTask *task, + GTaskThreadFunc task_func); +GIO_AVAILABLE_IN_2_36 +void g_task_run_in_thread_sync (GTask *task, + GTaskThreadFunc task_func); +GIO_AVAILABLE_IN_2_36 +gboolean g_task_set_return_on_cancel (GTask *task, + gboolean return_on_cancel); +GIO_AVAILABLE_IN_2_36 +gboolean g_task_get_return_on_cancel (GTask *task); + +GIO_AVAILABLE_IN_2_36 +void g_task_attach_source (GTask *task, + GSource *source, + GSourceFunc callback); + + +GIO_AVAILABLE_IN_2_36 +void g_task_return_pointer (GTask *task, + gpointer result, + GDestroyNotify result_destroy); +GIO_AVAILABLE_IN_2_36 +void g_task_return_boolean (GTask *task, + gboolean result); +GIO_AVAILABLE_IN_2_36 +void g_task_return_int (GTask *task, + gssize result); + +GIO_AVAILABLE_IN_2_36 +void g_task_return_error (GTask *task, + GError *error); +GIO_AVAILABLE_IN_2_36 +void g_task_return_new_error (GTask *task, + GQuark domain, + gint code, + const char *format, + ...) G_GNUC_PRINTF (4, 5); +GIO_AVAILABLE_IN_2_64 +void g_task_return_value (GTask *task, + GValue *result); + +GIO_AVAILABLE_IN_2_36 +gboolean g_task_return_error_if_cancelled (GTask *task); + +GIO_AVAILABLE_IN_2_36 +gpointer g_task_propagate_pointer (GTask *task, + GError **error); +GIO_AVAILABLE_IN_2_36 +gboolean g_task_propagate_boolean (GTask *task, + GError **error); +GIO_AVAILABLE_IN_2_36 +gssize g_task_propagate_int (GTask *task, + GError **error); +GIO_AVAILABLE_IN_2_64 +gboolean g_task_propagate_value (GTask *task, + GValue *value, + GError **error); +GIO_AVAILABLE_IN_2_36 +gboolean g_task_had_error (GTask *task); +GIO_AVAILABLE_IN_2_44 +gboolean g_task_get_completed (GTask *task); + +/*< private >*/ +#ifndef __GTK_DOC_IGNORE__ +#ifndef __GI_SCANNER__ +/* Debugging API, not part of the public API */ +void g_task_print_alive_tasks (void); +#endif /* !__GI_SCANNER__ */ +#endif /* !__GTK_DOC_IGNORE__ */ + +G_END_DECLS + +#endif /* __G_TASK_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtcpconnection.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtcpconnection.h new file mode 100644 index 0000000..03aa28a --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtcpconnection.h @@ -0,0 +1,71 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright © 2008, 2009 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + */ + +#ifndef __G_TCP_CONNECTION_H__ +#define __G_TCP_CONNECTION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_TCP_CONNECTION (g_tcp_connection_get_type ()) +#define G_TCP_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_TCP_CONNECTION, GTcpConnection)) +#define G_TCP_CONNECTION_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_TCP_CONNECTION, GTcpConnectionClass)) +#define G_IS_TCP_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_TCP_CONNECTION)) +#define G_IS_TCP_CONNECTION_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_TCP_CONNECTION)) +#define G_TCP_CONNECTION_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_TCP_CONNECTION, GTcpConnectionClass)) + +typedef struct _GTcpConnectionPrivate GTcpConnectionPrivate; +typedef struct _GTcpConnectionClass GTcpConnectionClass; + +struct _GTcpConnectionClass +{ + GSocketConnectionClass parent_class; +}; + +struct _GTcpConnection +{ + GSocketConnection parent_instance; + GTcpConnectionPrivate *priv; +}; + +GIO_AVAILABLE_IN_ALL +GType g_tcp_connection_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +void g_tcp_connection_set_graceful_disconnect (GTcpConnection *connection, + gboolean graceful_disconnect); +GIO_AVAILABLE_IN_ALL +gboolean g_tcp_connection_get_graceful_disconnect (GTcpConnection *connection); + +G_END_DECLS + +#endif /* __G_TCP_CONNECTION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtcpwrapperconnection.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtcpwrapperconnection.h new file mode 100644 index 0000000..1027154 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtcpwrapperconnection.h @@ -0,0 +1,71 @@ +/* GIO - GLib Input, Output and Streaming Library + * Copyright © 2010 Collabora Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Nicolas Dufresne + * + */ + +#ifndef __G_TCP_WRAPPER_CONNECTION_H__ +#define __G_TCP_WRAPPER_CONNECTION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_TCP_WRAPPER_CONNECTION (g_tcp_wrapper_connection_get_type ()) +#define G_TCP_WRAPPER_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_TCP_WRAPPER_CONNECTION, GTcpWrapperConnection)) +#define G_TCP_WRAPPER_CONNECTION_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_TCP_WRAPPER_CONNECTION, GTcpWrapperConnectionClass)) +#define G_IS_TCP_WRAPPER_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_TCP_WRAPPER_CONNECTION)) +#define G_IS_TCP_WRAPPER_CONNECTION_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_TCP_WRAPPER_CONNECTION)) +#define G_TCP_WRAPPER_CONNECTION_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_TCP_WRAPPER_CONNECTION, GTcpWrapperConnectionClass)) + +typedef struct _GTcpWrapperConnectionPrivate GTcpWrapperConnectionPrivate; +typedef struct _GTcpWrapperConnectionClass GTcpWrapperConnectionClass; + +struct _GTcpWrapperConnectionClass +{ + GTcpConnectionClass parent_class; +}; + +struct _GTcpWrapperConnection +{ + GTcpConnection parent_instance; + GTcpWrapperConnectionPrivate *priv; +}; + +GIO_AVAILABLE_IN_ALL +GType g_tcp_wrapper_connection_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GSocketConnection *g_tcp_wrapper_connection_new (GIOStream *base_io_stream, + GSocket *socket); +GIO_AVAILABLE_IN_ALL +GIOStream *g_tcp_wrapper_connection_get_base_io_stream (GTcpWrapperConnection *conn); + +G_END_DECLS + +#endif /* __G_TCP_WRAPPER_CONNECTION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtestdbus.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtestdbus.h new file mode 100644 index 0000000..f52ea1e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtestdbus.h @@ -0,0 +1,74 @@ +/* GIO testing utilities + * + * Copyright (C) 2008-2010 Red Hat, Inc. + * Copyright (C) 2012 Collabora Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: David Zeuthen + * Xavier Claessens + */ + +#ifndef __G_TEST_DBUS_H__ +#define __G_TEST_DBUS_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_TEST_DBUS \ + (g_test_dbus_get_type ()) +#define G_TEST_DBUS(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_TEST_DBUS, \ + GTestDBus)) +#define G_IS_TEST_DBUS(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_TEST_DBUS)) + +GIO_AVAILABLE_IN_2_34 +GType g_test_dbus_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_2_34 +GTestDBus * g_test_dbus_new (GTestDBusFlags flags); + +GIO_AVAILABLE_IN_2_34 +GTestDBusFlags g_test_dbus_get_flags (GTestDBus *self); + +GIO_AVAILABLE_IN_2_34 +const gchar * g_test_dbus_get_bus_address (GTestDBus *self); + +GIO_AVAILABLE_IN_2_34 +void g_test_dbus_add_service_dir (GTestDBus *self, + const gchar *path); + +GIO_AVAILABLE_IN_2_34 +void g_test_dbus_up (GTestDBus *self); + +GIO_AVAILABLE_IN_2_34 +void g_test_dbus_stop (GTestDBus *self); + +GIO_AVAILABLE_IN_2_34 +void g_test_dbus_down (GTestDBus *self); + +GIO_AVAILABLE_IN_2_34 +void g_test_dbus_unset (void); + +G_END_DECLS + +#endif /* __G_TEST_DBUS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gthemedicon.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gthemedicon.h new file mode 100644 index 0000000..5ac36ce --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gthemedicon.h @@ -0,0 +1,70 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_THEMED_ICON_H__ +#define __G_THEMED_ICON_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_THEMED_ICON (g_themed_icon_get_type ()) +#define G_THEMED_ICON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_THEMED_ICON, GThemedIcon)) +#define G_THEMED_ICON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_THEMED_ICON, GThemedIconClass)) +#define G_IS_THEMED_ICON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_THEMED_ICON)) +#define G_IS_THEMED_ICON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_THEMED_ICON)) +#define G_THEMED_ICON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_THEMED_ICON, GThemedIconClass)) + +/** + * GThemedIcon: + * + * An implementation of #GIcon for themed icons. + **/ +typedef struct _GThemedIconClass GThemedIconClass; + +GIO_AVAILABLE_IN_ALL +GType g_themed_icon_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GIcon *g_themed_icon_new (const char *iconname); +GIO_AVAILABLE_IN_ALL +GIcon *g_themed_icon_new_with_default_fallbacks (const char *iconname); +GIO_AVAILABLE_IN_ALL +GIcon *g_themed_icon_new_from_names (char **iconnames, + int len); +GIO_AVAILABLE_IN_ALL +void g_themed_icon_prepend_name (GThemedIcon *icon, + const char *iconname); +GIO_AVAILABLE_IN_ALL +void g_themed_icon_append_name (GThemedIcon *icon, + const char *iconname); + +GIO_AVAILABLE_IN_ALL +const gchar* const * g_themed_icon_get_names (GThemedIcon *icon); + +G_END_DECLS + +#endif /* __G_THEMED_ICON_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gthreadedsocketservice.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gthreadedsocketservice.h new file mode 100644 index 0000000..48f5a31 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gthreadedsocketservice.h @@ -0,0 +1,83 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright © 2009 Codethink Limited + * Copyright © 2009 Red Hat, Inc + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + * Alexander Larsson + */ + +#ifndef __G_THREADED_SOCKET_SERVICE_H__ +#define __G_THREADED_SOCKET_SERVICE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_THREADED_SOCKET_SERVICE (g_threaded_socket_service_get_type ()) +#define G_THREADED_SOCKET_SERVICE(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_THREADED_SOCKET_SERVICE, \ + GThreadedSocketService)) +#define G_THREADED_SOCKET_SERVICE_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_THREADED_SOCKET_SERVICE, \ + GThreadedSocketServiceClass)) +#define G_IS_THREADED_SOCKET_SERVICE(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_THREADED_SOCKET_SERVICE)) +#define G_IS_THREADED_SOCKET_SERVICE_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_THREADED_SOCKET_SERVICE)) +#define G_THREADED_SOCKET_SERVICE_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_THREADED_SOCKET_SERVICE, \ + GThreadedSocketServiceClass)) + +typedef struct _GThreadedSocketServicePrivate GThreadedSocketServicePrivate; +typedef struct _GThreadedSocketServiceClass GThreadedSocketServiceClass; + +struct _GThreadedSocketServiceClass +{ + GSocketServiceClass parent_class; + + gboolean (* run) (GThreadedSocketService *service, + GSocketConnection *connection, + GObject *source_object); + + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + +struct _GThreadedSocketService +{ + GSocketService parent_instance; + GThreadedSocketServicePrivate *priv; +}; + +GIO_AVAILABLE_IN_ALL +GType g_threaded_socket_service_get_type (void); +GIO_AVAILABLE_IN_ALL +GSocketService * g_threaded_socket_service_new (int max_threads); + +G_END_DECLS + +#endif /* __G_THREADED_SOCKET_SERVICE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsbackend.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsbackend.h new file mode 100644 index 0000000..dc51b23 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsbackend.h @@ -0,0 +1,115 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2010 Red Hat, Inc. + * Copyright © 2015 Collabora, Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_TLS_BACKEND_H__ +#define __G_TLS_BACKEND_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/** + * G_TLS_BACKEND_EXTENSION_POINT_NAME: + * + * Extension point for TLS functionality via #GTlsBackend. + * See [Extending GIO][extending-gio]. + */ +#define G_TLS_BACKEND_EXTENSION_POINT_NAME "gio-tls-backend" + +#define G_TYPE_TLS_BACKEND (g_tls_backend_get_type ()) +#define G_TLS_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_TLS_BACKEND, GTlsBackend)) +#define G_IS_TLS_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_TLS_BACKEND)) +#define G_TLS_BACKEND_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_TLS_BACKEND, GTlsBackendInterface)) + +typedef struct _GTlsBackend GTlsBackend; +typedef struct _GTlsBackendInterface GTlsBackendInterface; + +/** + * GTlsBackendInterface: + * @g_iface: The parent interface. + * @supports_tls: returns whether the backend supports TLS. + * @supports_dtls: returns whether the backend supports DTLS + * @get_default_database: returns a default #GTlsDatabase instance. + * @get_certificate_type: returns the #GTlsCertificate implementation type + * @get_client_connection_type: returns the #GTlsClientConnection implementation type + * @get_server_connection_type: returns the #GTlsServerConnection implementation type + * @get_file_database_type: returns the #GTlsFileDatabase implementation type. + * @get_dtls_client_connection_type: returns the #GDtlsClientConnection implementation type + * @get_dtls_server_connection_type: returns the #GDtlsServerConnection implementation type + * + * Provides an interface for describing TLS-related types. + * + * Since: 2.28 + */ +struct _GTlsBackendInterface +{ + GTypeInterface g_iface; + + /* methods */ + gboolean ( *supports_tls) (GTlsBackend *backend); + GType ( *get_certificate_type) (void); + GType ( *get_client_connection_type) (void); + GType ( *get_server_connection_type) (void); + GType ( *get_file_database_type) (void); + GTlsDatabase * ( *get_default_database) (GTlsBackend *backend); + gboolean ( *supports_dtls) (GTlsBackend *backend); + GType ( *get_dtls_client_connection_type) (void); + GType ( *get_dtls_server_connection_type) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_tls_backend_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GTlsBackend * g_tls_backend_get_default (void); + +GIO_AVAILABLE_IN_ALL +GTlsDatabase * g_tls_backend_get_default_database (GTlsBackend *backend); +GIO_AVAILABLE_IN_2_60 +void g_tls_backend_set_default_database (GTlsBackend *backend, + GTlsDatabase *database); + +GIO_AVAILABLE_IN_ALL +gboolean g_tls_backend_supports_tls (GTlsBackend *backend); +GIO_AVAILABLE_IN_2_48 +gboolean g_tls_backend_supports_dtls (GTlsBackend *backend); + +GIO_AVAILABLE_IN_ALL +GType g_tls_backend_get_certificate_type (GTlsBackend *backend); +GIO_AVAILABLE_IN_ALL +GType g_tls_backend_get_client_connection_type (GTlsBackend *backend); +GIO_AVAILABLE_IN_ALL +GType g_tls_backend_get_server_connection_type (GTlsBackend *backend); +GIO_AVAILABLE_IN_ALL +GType g_tls_backend_get_file_database_type (GTlsBackend *backend); + +GIO_AVAILABLE_IN_2_48 +GType g_tls_backend_get_dtls_client_connection_type (GTlsBackend *backend); +GIO_AVAILABLE_IN_2_48 +GType g_tls_backend_get_dtls_server_connection_type (GTlsBackend *backend); + +G_END_DECLS + +#endif /* __G_TLS_BACKEND_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlscertificate.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlscertificate.h new file mode 100644 index 0000000..c8d10bf --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlscertificate.h @@ -0,0 +1,125 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_TLS_CERTIFICATE_H__ +#define __G_TLS_CERTIFICATE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_TLS_CERTIFICATE (g_tls_certificate_get_type ()) +#define G_TLS_CERTIFICATE(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_TLS_CERTIFICATE, GTlsCertificate)) +#define G_TLS_CERTIFICATE_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_TLS_CERTIFICATE, GTlsCertificateClass)) +#define G_IS_TLS_CERTIFICATE(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_TLS_CERTIFICATE)) +#define G_IS_TLS_CERTIFICATE_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_TLS_CERTIFICATE)) +#define G_TLS_CERTIFICATE_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), G_TYPE_TLS_CERTIFICATE, GTlsCertificateClass)) + +typedef struct _GTlsCertificateClass GTlsCertificateClass; +typedef struct _GTlsCertificatePrivate GTlsCertificatePrivate; + +struct _GTlsCertificate { + GObject parent_instance; + + GTlsCertificatePrivate *priv; +}; + +struct _GTlsCertificateClass +{ + GObjectClass parent_class; + + GTlsCertificateFlags (* verify) (GTlsCertificate *cert, + GSocketConnectable *identity, + GTlsCertificate *trusted_ca); + + /*< private >*/ + /* Padding for future expansion */ + gpointer padding[8]; +}; + +GIO_AVAILABLE_IN_ALL +GType g_tls_certificate_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GTlsCertificate *g_tls_certificate_new_from_pem (const gchar *data, + gssize length, + GError **error); +GIO_AVAILABLE_IN_2_72 +GTlsCertificate *g_tls_certificate_new_from_pkcs12 (const guint8 *data, + gsize length, + const gchar *password, + GError **error); +GIO_AVAILABLE_IN_2_72 +GTlsCertificate *g_tls_certificate_new_from_file_with_password (const gchar *file, + const gchar *password, + GError **error); +GIO_AVAILABLE_IN_ALL +GTlsCertificate *g_tls_certificate_new_from_file (const gchar *file, + GError **error); +GIO_AVAILABLE_IN_ALL +GTlsCertificate *g_tls_certificate_new_from_files (const gchar *cert_file, + const gchar *key_file, + GError **error); +GIO_AVAILABLE_IN_2_68 +GTlsCertificate *g_tls_certificate_new_from_pkcs11_uris (const gchar *pkcs11_uri, + const gchar *private_key_pkcs11_uri, + GError **error); + +GIO_AVAILABLE_IN_ALL +GList *g_tls_certificate_list_new_from_file (const gchar *file, + GError **error); + +GIO_AVAILABLE_IN_ALL +GTlsCertificate *g_tls_certificate_get_issuer (GTlsCertificate *cert); + +GIO_AVAILABLE_IN_ALL +GTlsCertificateFlags g_tls_certificate_verify (GTlsCertificate *cert, + GSocketConnectable *identity, + GTlsCertificate *trusted_ca); + +GIO_AVAILABLE_IN_2_34 +gboolean g_tls_certificate_is_same (GTlsCertificate *cert_one, + GTlsCertificate *cert_two); + +GIO_AVAILABLE_IN_2_70 +GDateTime *g_tls_certificate_get_not_valid_before (GTlsCertificate *cert); + +GIO_AVAILABLE_IN_2_70 +GDateTime *g_tls_certificate_get_not_valid_after (GTlsCertificate *cert); + +GIO_AVAILABLE_IN_2_70 +gchar *g_tls_certificate_get_subject_name (GTlsCertificate *cert); + +GIO_AVAILABLE_IN_2_70 +gchar *g_tls_certificate_get_issuer_name (GTlsCertificate *cert); + +GIO_AVAILABLE_IN_2_70 +GPtrArray *g_tls_certificate_get_dns_names (GTlsCertificate *cert); + +GIO_AVAILABLE_IN_2_70 +GPtrArray *g_tls_certificate_get_ip_addresses (GTlsCertificate *cert); + +G_END_DECLS + +#endif /* __G_TLS_CERTIFICATE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsclientconnection.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsclientconnection.h new file mode 100644 index 0000000..32d6274 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsclientconnection.h @@ -0,0 +1,88 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_TLS_CLIENT_CONNECTION_H__ +#define __G_TLS_CLIENT_CONNECTION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_TLS_CLIENT_CONNECTION (g_tls_client_connection_get_type ()) +#define G_TLS_CLIENT_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_TLS_CLIENT_CONNECTION, GTlsClientConnection)) +#define G_IS_TLS_CLIENT_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_TLS_CLIENT_CONNECTION)) +#define G_TLS_CLIENT_CONNECTION_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), G_TYPE_TLS_CLIENT_CONNECTION, GTlsClientConnectionInterface)) + +typedef struct _GTlsClientConnectionInterface GTlsClientConnectionInterface; + +/** + * GTlsClientConnectionInterface: + * @g_iface: The parent interface. + * @copy_session_state: Copies session state from one #GTlsClientConnection to another. + * + * vtable for a #GTlsClientConnection implementation. + * + * Since: 2.26 + */ +struct _GTlsClientConnectionInterface +{ + GTypeInterface g_iface; + + void ( *copy_session_state ) (GTlsClientConnection *conn, + GTlsClientConnection *source); +}; + +GIO_AVAILABLE_IN_ALL +GType g_tls_client_connection_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GIOStream * g_tls_client_connection_new (GIOStream *base_io_stream, + GSocketConnectable *server_identity, + GError **error); + +GIO_DEPRECATED_IN_2_72 +GTlsCertificateFlags g_tls_client_connection_get_validation_flags (GTlsClientConnection *conn); +GIO_DEPRECATED_IN_2_72 +void g_tls_client_connection_set_validation_flags (GTlsClientConnection *conn, + GTlsCertificateFlags flags); +GIO_AVAILABLE_IN_ALL +GSocketConnectable *g_tls_client_connection_get_server_identity (GTlsClientConnection *conn); +GIO_AVAILABLE_IN_ALL +void g_tls_client_connection_set_server_identity (GTlsClientConnection *conn, + GSocketConnectable *identity); +GIO_DEPRECATED_IN_2_56 +gboolean g_tls_client_connection_get_use_ssl3 (GTlsClientConnection *conn); +GIO_DEPRECATED_IN_2_56 +void g_tls_client_connection_set_use_ssl3 (GTlsClientConnection *conn, + gboolean use_ssl3); +GIO_AVAILABLE_IN_ALL +GList * g_tls_client_connection_get_accepted_cas (GTlsClientConnection *conn); + +GIO_AVAILABLE_IN_2_46 +void g_tls_client_connection_copy_session_state (GTlsClientConnection *conn, + GTlsClientConnection *source); + +G_END_DECLS + +#endif /* __G_TLS_CLIENT_CONNECTION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsconnection.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsconnection.h new file mode 100644 index 0000000..a266d61 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsconnection.h @@ -0,0 +1,214 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_TLS_CONNECTION_H__ +#define __G_TLS_CONNECTION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_TLS_CONNECTION (g_tls_connection_get_type ()) +#define G_TLS_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_TLS_CONNECTION, GTlsConnection)) +#define G_TLS_CONNECTION_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_TLS_CONNECTION, GTlsConnectionClass)) +#define G_IS_TLS_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_TLS_CONNECTION)) +#define G_IS_TLS_CONNECTION_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_TLS_CONNECTION)) +#define G_TLS_CONNECTION_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), G_TYPE_TLS_CONNECTION, GTlsConnectionClass)) + +typedef struct _GTlsConnectionClass GTlsConnectionClass; +typedef struct _GTlsConnectionPrivate GTlsConnectionPrivate; + +struct _GTlsConnection { + GIOStream parent_instance; + + GTlsConnectionPrivate *priv; +}; + +/** + * GTlsConnectionClass: + * @parent_class: The parent class. + * @accept_certificate: Check whether to accept a certificate. + * @handshake: Perform a handshake operation. + * @handshake_async: Start an asynchronous handshake operation. + * @handshake_finish: Finish an asynchronous handshake operation. + * @get_binding_data: Retrieve TLS channel binding data (Since: 2.66) + * @get_negotiated_protocol: Get ALPN-negotiated protocol (Since: 2.70) + * + * The class structure for the #GTlsConnection type. + * + * Since: 2.28 + */ +struct _GTlsConnectionClass +{ + GIOStreamClass parent_class; + + /* signals */ + gboolean ( *accept_certificate) (GTlsConnection *connection, + GTlsCertificate *peer_cert, + GTlsCertificateFlags errors); + + /* methods */ + gboolean ( *handshake ) (GTlsConnection *conn, + GCancellable *cancellable, + GError **error); + + void ( *handshake_async ) (GTlsConnection *conn, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean ( *handshake_finish ) (GTlsConnection *conn, + GAsyncResult *result, + GError **error); + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + gboolean ( *get_binding_data) (GTlsConnection *conn, + GTlsChannelBindingType type, + GByteArray *data, + GError **error); +G_GNUC_END_IGNORE_DEPRECATIONS + + const gchar *(*get_negotiated_protocol) (GTlsConnection *conn); + + /*< private >*/ + /* Padding for future expansion */ + gpointer padding[6]; +}; + +GIO_AVAILABLE_IN_ALL +GType g_tls_connection_get_type (void) G_GNUC_CONST; + +GIO_DEPRECATED +void g_tls_connection_set_use_system_certdb (GTlsConnection *conn, + gboolean use_system_certdb); +GIO_DEPRECATED +gboolean g_tls_connection_get_use_system_certdb (GTlsConnection *conn); + +GIO_AVAILABLE_IN_ALL +void g_tls_connection_set_database (GTlsConnection *conn, + GTlsDatabase *database); +GIO_AVAILABLE_IN_ALL +GTlsDatabase * g_tls_connection_get_database (GTlsConnection *conn); + +GIO_AVAILABLE_IN_ALL +void g_tls_connection_set_certificate (GTlsConnection *conn, + GTlsCertificate *certificate); +GIO_AVAILABLE_IN_ALL +GTlsCertificate *g_tls_connection_get_certificate (GTlsConnection *conn); + +GIO_AVAILABLE_IN_ALL +void g_tls_connection_set_interaction (GTlsConnection *conn, + GTlsInteraction *interaction); +GIO_AVAILABLE_IN_ALL +GTlsInteraction * g_tls_connection_get_interaction (GTlsConnection *conn); + +GIO_AVAILABLE_IN_ALL +GTlsCertificate *g_tls_connection_get_peer_certificate (GTlsConnection *conn); +GIO_AVAILABLE_IN_ALL +GTlsCertificateFlags g_tls_connection_get_peer_certificate_errors (GTlsConnection *conn); + +GIO_AVAILABLE_IN_ALL +void g_tls_connection_set_require_close_notify (GTlsConnection *conn, + gboolean require_close_notify); +GIO_AVAILABLE_IN_ALL +gboolean g_tls_connection_get_require_close_notify (GTlsConnection *conn); + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GIO_DEPRECATED_IN_2_60 +void g_tls_connection_set_rehandshake_mode (GTlsConnection *conn, + GTlsRehandshakeMode mode); +GIO_DEPRECATED_IN_2_60 +GTlsRehandshakeMode g_tls_connection_get_rehandshake_mode (GTlsConnection *conn); +G_GNUC_END_IGNORE_DEPRECATIONS + +GIO_AVAILABLE_IN_2_60 +void g_tls_connection_set_advertised_protocols (GTlsConnection *conn, + const gchar * const *protocols); + +GIO_AVAILABLE_IN_2_60 +const gchar * g_tls_connection_get_negotiated_protocol (GTlsConnection *conn); + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GIO_AVAILABLE_IN_2_66 +gboolean g_tls_connection_get_channel_binding_data (GTlsConnection *conn, + GTlsChannelBindingType type, + GByteArray *data, + GError **error); +G_GNUC_END_IGNORE_DEPRECATIONS + +GIO_AVAILABLE_IN_ALL +gboolean g_tls_connection_handshake (GTlsConnection *conn, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_tls_connection_handshake_async (GTlsConnection *conn, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_tls_connection_handshake_finish (GTlsConnection *conn, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_2_70 +GTlsProtocolVersion g_tls_connection_get_protocol_version (GTlsConnection *conn); + +GIO_AVAILABLE_IN_2_70 +gchar * g_tls_connection_get_ciphersuite_name (GTlsConnection *conn); + +/** + * G_TLS_ERROR: + * + * Error domain for TLS. Errors in this domain will be from the + * #GTlsError enumeration. See #GError for more information on error + * domains. + */ +#define G_TLS_ERROR (g_tls_error_quark ()) +GIO_AVAILABLE_IN_ALL +GQuark g_tls_error_quark (void); + +/** + * G_TLS_CHANNEL_BINDING_ERROR: + * + * Error domain for TLS channel binding. Errors in this domain will be from the + * #GTlsChannelBindingError enumeration. See #GError for more information on error + * domains. + * + * Since: 2.66 + */ +#define G_TLS_CHANNEL_BINDING_ERROR (g_tls_channel_binding_error_quark ()) +GIO_AVAILABLE_IN_2_66 +GQuark g_tls_channel_binding_error_quark (void); + +/*< protected >*/ +GIO_AVAILABLE_IN_ALL +gboolean g_tls_connection_emit_accept_certificate (GTlsConnection *conn, + GTlsCertificate *peer_cert, + GTlsCertificateFlags errors); + +G_END_DECLS + +#endif /* __G_TLS_CONNECTION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsdatabase.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsdatabase.h new file mode 100644 index 0000000..4ae6dc3 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsdatabase.h @@ -0,0 +1,249 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2010 Collabora, Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Stef Walter + */ + +#ifndef __G_TLS_DATABASE_H__ +#define __G_TLS_DATABASE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER "1.3.6.1.5.5.7.3.1" +#define G_TLS_DATABASE_PURPOSE_AUTHENTICATE_CLIENT "1.3.6.1.5.5.7.3.2" + +#define G_TYPE_TLS_DATABASE (g_tls_database_get_type ()) +#define G_TLS_DATABASE(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_TLS_DATABASE, GTlsDatabase)) +#define G_TLS_DATABASE_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_TLS_DATABASE, GTlsDatabaseClass)) +#define G_IS_TLS_DATABASE(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_TLS_DATABASE)) +#define G_IS_TLS_DATABASE_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_TLS_DATABASE)) +#define G_TLS_DATABASE_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), G_TYPE_TLS_DATABASE, GTlsDatabaseClass)) + +typedef struct _GTlsDatabaseClass GTlsDatabaseClass; +typedef struct _GTlsDatabasePrivate GTlsDatabasePrivate; + +struct _GTlsDatabase +{ + GObject parent_instance; + + GTlsDatabasePrivate *priv; +}; + +struct _GTlsDatabaseClass +{ + GObjectClass parent_class; + + /* virtual methods */ + + GTlsCertificateFlags (*verify_chain) (GTlsDatabase *self, + GTlsCertificate *chain, + const gchar *purpose, + GSocketConnectable *identity, + GTlsInteraction *interaction, + GTlsDatabaseVerifyFlags flags, + GCancellable *cancellable, + GError **error); + + void (*verify_chain_async) (GTlsDatabase *self, + GTlsCertificate *chain, + const gchar *purpose, + GSocketConnectable *identity, + GTlsInteraction *interaction, + GTlsDatabaseVerifyFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + + GTlsCertificateFlags (*verify_chain_finish) (GTlsDatabase *self, + GAsyncResult *result, + GError **error); + + gchar* (*create_certificate_handle) (GTlsDatabase *self, + GTlsCertificate *certificate); + + GTlsCertificate* (*lookup_certificate_for_handle) (GTlsDatabase *self, + const gchar *handle, + GTlsInteraction *interaction, + GTlsDatabaseLookupFlags flags, + GCancellable *cancellable, + GError **error); + + void (*lookup_certificate_for_handle_async) (GTlsDatabase *self, + const gchar *handle, + GTlsInteraction *interaction, + GTlsDatabaseLookupFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + + GTlsCertificate* (*lookup_certificate_for_handle_finish) (GTlsDatabase *self, + GAsyncResult *result, + GError **error); + + GTlsCertificate* (*lookup_certificate_issuer) (GTlsDatabase *self, + GTlsCertificate *certificate, + GTlsInteraction *interaction, + GTlsDatabaseLookupFlags flags, + GCancellable *cancellable, + GError **error); + + void (*lookup_certificate_issuer_async) (GTlsDatabase *self, + GTlsCertificate *certificate, + GTlsInteraction *interaction, + GTlsDatabaseLookupFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + + GTlsCertificate* (*lookup_certificate_issuer_finish) (GTlsDatabase *self, + GAsyncResult *result, + GError **error); + + GList* (*lookup_certificates_issued_by) (GTlsDatabase *self, + GByteArray *issuer_raw_dn, + GTlsInteraction *interaction, + GTlsDatabaseLookupFlags flags, + GCancellable *cancellable, + GError **error); + + void (*lookup_certificates_issued_by_async) (GTlsDatabase *self, + GByteArray *issuer_raw_dn, + GTlsInteraction *interaction, + GTlsDatabaseLookupFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + + GList* (*lookup_certificates_issued_by_finish) (GTlsDatabase *self, + GAsyncResult *result, + GError **error); + + /*< private >*/ + /* Padding for future expansion */ + gpointer padding[16]; +}; + +GIO_AVAILABLE_IN_ALL +GType g_tls_database_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GTlsCertificateFlags g_tls_database_verify_chain (GTlsDatabase *self, + GTlsCertificate *chain, + const gchar *purpose, + GSocketConnectable *identity, + GTlsInteraction *interaction, + GTlsDatabaseVerifyFlags flags, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_tls_database_verify_chain_async (GTlsDatabase *self, + GTlsCertificate *chain, + const gchar *purpose, + GSocketConnectable *identity, + GTlsInteraction *interaction, + GTlsDatabaseVerifyFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_ALL +GTlsCertificateFlags g_tls_database_verify_chain_finish (GTlsDatabase *self, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +gchar* g_tls_database_create_certificate_handle (GTlsDatabase *self, + GTlsCertificate *certificate); + +GIO_AVAILABLE_IN_ALL +GTlsCertificate* g_tls_database_lookup_certificate_for_handle (GTlsDatabase *self, + const gchar *handle, + GTlsInteraction *interaction, + GTlsDatabaseLookupFlags flags, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_tls_database_lookup_certificate_for_handle_async (GTlsDatabase *self, + const gchar *handle, + GTlsInteraction *interaction, + GTlsDatabaseLookupFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_ALL +GTlsCertificate* g_tls_database_lookup_certificate_for_handle_finish (GTlsDatabase *self, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +GTlsCertificate* g_tls_database_lookup_certificate_issuer (GTlsDatabase *self, + GTlsCertificate *certificate, + GTlsInteraction *interaction, + GTlsDatabaseLookupFlags flags, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_tls_database_lookup_certificate_issuer_async (GTlsDatabase *self, + GTlsCertificate *certificate, + GTlsInteraction *interaction, + GTlsDatabaseLookupFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_ALL +GTlsCertificate* g_tls_database_lookup_certificate_issuer_finish (GTlsDatabase *self, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_ALL +GList* g_tls_database_lookup_certificates_issued_by (GTlsDatabase *self, + GByteArray *issuer_raw_dn, + GTlsInteraction *interaction, + GTlsDatabaseLookupFlags flags, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_tls_database_lookup_certificates_issued_by_async (GTlsDatabase *self, + GByteArray *issuer_raw_dn, + GTlsInteraction *interaction, + GTlsDatabaseLookupFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_ALL +GList* g_tls_database_lookup_certificates_issued_by_finish (GTlsDatabase *self, + GAsyncResult *result, + GError **error); + +G_END_DECLS + +#endif /* __G_TLS_DATABASE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsfiledatabase.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsfiledatabase.h new file mode 100644 index 0000000..57db68e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsfiledatabase.h @@ -0,0 +1,60 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright © 2010 Collabora, Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * See the included COPYING file for more information. + * + * Author: Stef Walter + */ + +#ifndef __G_TLS_FILE_DATABASE_H__ +#define __G_TLS_FILE_DATABASE_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_TLS_FILE_DATABASE (g_tls_file_database_get_type ()) +#define G_TLS_FILE_DATABASE(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_TLS_FILE_DATABASE, GTlsFileDatabase)) +#define G_IS_TLS_FILE_DATABASE(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_TLS_FILE_DATABASE)) +#define G_TLS_FILE_DATABASE_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), G_TYPE_TLS_FILE_DATABASE, GTlsFileDatabaseInterface)) + +typedef struct _GTlsFileDatabaseInterface GTlsFileDatabaseInterface; + +/** + * GTlsFileDatabaseInterface: + * @g_iface: The parent interface. + * + * Provides an interface for #GTlsFileDatabase implementations. + * + */ +struct _GTlsFileDatabaseInterface +{ + GTypeInterface g_iface; + + /*< private >*/ + /* Padding for future expansion */ + gpointer padding[8]; +}; + +GIO_AVAILABLE_IN_ALL +GType g_tls_file_database_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GTlsDatabase* g_tls_file_database_new (const gchar *anchors, + GError **error); + +G_END_DECLS + +#endif /* __G_TLS_FILE_DATABASE_H___ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsinteraction.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsinteraction.h new file mode 100644 index 0000000..68e3662 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsinteraction.h @@ -0,0 +1,150 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2011 Collabora, Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Stef Walter + */ + +#ifndef __G_TLS_INTERACTION_H__ +#define __G_TLS_INTERACTION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_TLS_INTERACTION (g_tls_interaction_get_type ()) +#define G_TLS_INTERACTION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_TLS_INTERACTION, GTlsInteraction)) +#define G_TLS_INTERACTION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_TLS_INTERACTION, GTlsInteractionClass)) +#define G_IS_TLS_INTERACTION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_TLS_INTERACTION)) +#define G_IS_TLS_INTERACTION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_TLS_INTERACTION)) +#define G_TLS_INTERACTION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_TLS_INTERACTION, GTlsInteractionClass)) + +typedef struct _GTlsInteractionClass GTlsInteractionClass; +typedef struct _GTlsInteractionPrivate GTlsInteractionPrivate; + +struct _GTlsInteraction +{ + /*< private >*/ + GObject parent_instance; + GTlsInteractionPrivate *priv; +}; + +struct _GTlsInteractionClass +{ + /*< private >*/ + GObjectClass parent_class; + + /*< public >*/ + GTlsInteractionResult (* ask_password) (GTlsInteraction *interaction, + GTlsPassword *password, + GCancellable *cancellable, + GError **error); + + void (* ask_password_async) (GTlsInteraction *interaction, + GTlsPassword *password, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + + GTlsInteractionResult (* ask_password_finish) (GTlsInteraction *interaction, + GAsyncResult *result, + GError **error); + + GTlsInteractionResult (* request_certificate) (GTlsInteraction *interaction, + GTlsConnection *connection, + GTlsCertificateRequestFlags flags, + GCancellable *cancellable, + GError **error); + + void (* request_certificate_async) (GTlsInteraction *interaction, + GTlsConnection *connection, + GTlsCertificateRequestFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + + GTlsInteractionResult (* request_certificate_finish) (GTlsInteraction *interaction, + GAsyncResult *result, + GError **error); + + /*< private >*/ + /* Padding for future expansion */ + gpointer padding[21]; +}; + +GIO_AVAILABLE_IN_ALL +GType g_tls_interaction_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GTlsInteractionResult g_tls_interaction_invoke_ask_password (GTlsInteraction *interaction, + GTlsPassword *password, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +GTlsInteractionResult g_tls_interaction_ask_password (GTlsInteraction *interaction, + GTlsPassword *password, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +void g_tls_interaction_ask_password_async (GTlsInteraction *interaction, + GTlsPassword *password, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_ALL +GTlsInteractionResult g_tls_interaction_ask_password_finish (GTlsInteraction *interaction, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_2_40 +GTlsInteractionResult g_tls_interaction_invoke_request_certificate (GTlsInteraction *interaction, + GTlsConnection *connection, + GTlsCertificateRequestFlags flags, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_2_40 +GTlsInteractionResult g_tls_interaction_request_certificate (GTlsInteraction *interaction, + GTlsConnection *connection, + GTlsCertificateRequestFlags flags, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_2_40 +void g_tls_interaction_request_certificate_async (GTlsInteraction *interaction, + GTlsConnection *connection, + GTlsCertificateRequestFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_AVAILABLE_IN_2_40 +GTlsInteractionResult g_tls_interaction_request_certificate_finish (GTlsInteraction *interaction, + GAsyncResult *result, + GError **error); + +G_END_DECLS + +#endif /* __G_TLS_INTERACTION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlspassword.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlspassword.h new file mode 100644 index 0000000..a33ec73 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlspassword.h @@ -0,0 +1,121 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2011 Collabora, Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Stef Walter + */ + +#ifndef __G_TLS_PASSWORD_H__ +#define __G_TLS_PASSWORD_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_TLS_PASSWORD (g_tls_password_get_type ()) +#define G_TLS_PASSWORD(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_TLS_PASSWORD, GTlsPassword)) +#define G_TLS_PASSWORD_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_TLS_PASSWORD, GTlsPasswordClass)) +#define G_IS_TLS_PASSWORD(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_TLS_PASSWORD)) +#define G_IS_TLS_PASSWORD_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_TLS_PASSWORD)) +#define G_TLS_PASSWORD_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_TLS_PASSWORD, GTlsPasswordClass)) + +typedef struct _GTlsPasswordClass GTlsPasswordClass; +typedef struct _GTlsPasswordPrivate GTlsPasswordPrivate; + +struct _GTlsPassword +{ + GObject parent_instance; + + GTlsPasswordPrivate *priv; +}; + +/** + * GTlsPasswordClass: + * @get_value: virtual method for g_tls_password_get_value() + * @set_value: virtual method for g_tls_password_set_value() + * @get_default_warning: virtual method for g_tls_password_get_warning() if no + * value has been set using g_tls_password_set_warning() + * + * Class structure for #GTlsPassword. + */ +struct _GTlsPasswordClass +{ + GObjectClass parent_class; + + /* methods */ + + const guchar * ( *get_value) (GTlsPassword *password, + gsize *length); + + void ( *set_value) (GTlsPassword *password, + guchar *value, + gssize length, + GDestroyNotify destroy); + + const gchar* ( *get_default_warning) (GTlsPassword *password); + + /*< private >*/ + /* Padding for future expansion */ + gpointer padding[4]; +}; + +GIO_AVAILABLE_IN_ALL +GType g_tls_password_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GTlsPassword * g_tls_password_new (GTlsPasswordFlags flags, + const gchar *description); + +GIO_AVAILABLE_IN_ALL +const guchar * g_tls_password_get_value (GTlsPassword *password, + gsize *length); +GIO_AVAILABLE_IN_ALL +void g_tls_password_set_value (GTlsPassword *password, + const guchar *value, + gssize length); +GIO_AVAILABLE_IN_ALL +void g_tls_password_set_value_full (GTlsPassword *password, + guchar *value, + gssize length, + GDestroyNotify destroy); + +GIO_AVAILABLE_IN_ALL +GTlsPasswordFlags g_tls_password_get_flags (GTlsPassword *password); +GIO_AVAILABLE_IN_ALL +void g_tls_password_set_flags (GTlsPassword *password, + GTlsPasswordFlags flags); + +GIO_AVAILABLE_IN_ALL +const gchar* g_tls_password_get_description (GTlsPassword *password); +GIO_AVAILABLE_IN_ALL +void g_tls_password_set_description (GTlsPassword *password, + const gchar *description); + +GIO_AVAILABLE_IN_ALL +const gchar * g_tls_password_get_warning (GTlsPassword *password); +GIO_AVAILABLE_IN_ALL +void g_tls_password_set_warning (GTlsPassword *password, + const gchar *warning); + +G_END_DECLS + +#endif /* __G_TLS_PASSWORD_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsserverconnection.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsserverconnection.h new file mode 100644 index 0000000..f84c25b --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gtlsserverconnection.h @@ -0,0 +1,71 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2010 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_TLS_SERVER_CONNECTION_H__ +#define __G_TLS_SERVER_CONNECTION_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_TLS_SERVER_CONNECTION (g_tls_server_connection_get_type ()) +#define G_TLS_SERVER_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_TLS_SERVER_CONNECTION, GTlsServerConnection)) +#define G_IS_TLS_SERVER_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_TLS_SERVER_CONNECTION)) +#define G_TLS_SERVER_CONNECTION_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), G_TYPE_TLS_SERVER_CONNECTION, GTlsServerConnectionInterface)) + +/** + * GTlsServerConnection: + * + * TLS server-side connection. This is the server-side implementation + * of a #GTlsConnection. + * + * Since: 2.28 + */ +typedef struct _GTlsServerConnectionInterface GTlsServerConnectionInterface; + +/** + * GTlsServerConnectionInterface: + * @g_iface: The parent interface. + * + * vtable for a #GTlsServerConnection implementation. + * + * Since: 2.26 + */ +struct _GTlsServerConnectionInterface +{ + GTypeInterface g_iface; + +}; + +GIO_AVAILABLE_IN_ALL +GType g_tls_server_connection_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GIOStream * g_tls_server_connection_new (GIOStream *base_io_stream, + GTlsCertificate *certificate, + GError **error); + +G_END_DECLS + +#endif /* __G_TLS_SERVER_CONNECTION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gunixconnection.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gunixconnection.h new file mode 100644 index 0000000..e08e818 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gunixconnection.h @@ -0,0 +1,102 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright © 2009 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + */ + +#ifndef __G_UNIX_CONNECTION_H__ +#define __G_UNIX_CONNECTION_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_UNIX_CONNECTION (g_unix_connection_get_type ()) +#define G_UNIX_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_UNIX_CONNECTION, GUnixConnection)) +#define G_UNIX_CONNECTION_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_UNIX_CONNECTION, GUnixConnectionClass)) +#define G_IS_UNIX_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_UNIX_CONNECTION)) +#define G_IS_UNIX_CONNECTION_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_UNIX_CONNECTION)) +#define G_UNIX_CONNECTION_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_UNIX_CONNECTION, GUnixConnectionClass)) + +typedef struct _GUnixConnection GUnixConnection; +typedef struct _GUnixConnectionPrivate GUnixConnectionPrivate; +typedef struct _GUnixConnectionClass GUnixConnectionClass; + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GUnixConnection, g_object_unref) + +struct _GUnixConnectionClass +{ + GSocketConnectionClass parent_class; +}; + +struct _GUnixConnection +{ + GSocketConnection parent_instance; + GUnixConnectionPrivate *priv; +}; + +GIO_AVAILABLE_IN_ALL +GType g_unix_connection_get_type (void); + +GIO_AVAILABLE_IN_ALL +gboolean g_unix_connection_send_fd (GUnixConnection *connection, + gint fd, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_ALL +gint g_unix_connection_receive_fd (GUnixConnection *connection, + GCancellable *cancellable, + GError **error); + +GIO_AVAILABLE_IN_ALL +gboolean g_unix_connection_send_credentials (GUnixConnection *connection, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_2_32 +void g_unix_connection_send_credentials_async (GUnixConnection *connection, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_2_32 +gboolean g_unix_connection_send_credentials_finish (GUnixConnection *connection, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_2_32 +GCredentials *g_unix_connection_receive_credentials (GUnixConnection *connection, + GCancellable *cancellable, + GError **error); +GIO_AVAILABLE_IN_2_32 +void g_unix_connection_receive_credentials_async (GUnixConnection *connection, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +GCredentials *g_unix_connection_receive_credentials_finish (GUnixConnection *connection, + GAsyncResult *result, + GError **error); + +G_END_DECLS + +#endif /* __G_UNIX_CONNECTION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gunixcredentialsmessage.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gunixcredentialsmessage.h new file mode 100644 index 0000000..cd42d25 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gunixcredentialsmessage.h @@ -0,0 +1,89 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2010 Red Hat, Inc. + * Copyright (C) 2009 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: David Zeuthen + */ + +#ifndef __G_UNIX_CREDENTIALS_MESSAGE_H__ +#define __G_UNIX_CREDENTIALS_MESSAGE_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_UNIX_CREDENTIALS_MESSAGE (g_unix_credentials_message_get_type ()) +#define G_UNIX_CREDENTIALS_MESSAGE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_UNIX_CREDENTIALS_MESSAGE, GUnixCredentialsMessage)) +#define G_UNIX_CREDENTIALS_MESSAGE_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), G_TYPE_UNIX_CREDENTIALS_MESSAGE, GUnixCredentialsMessageClass)) +#define G_IS_UNIX_CREDENTIALS_MESSAGE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_UNIX_CREDENTIALS_MESSAGE)) +#define G_IS_UNIX_CREDENTIALS_MESSAGE_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), G_TYPE_UNIX_CREDENTIALS_MESSAGE)) +#define G_UNIX_CREDENTIALS_MESSAGE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_UNIX_CREDENTIALS_MESSAGE, GUnixCredentialsMessageClass)) + +typedef struct _GUnixCredentialsMessagePrivate GUnixCredentialsMessagePrivate; +typedef struct _GUnixCredentialsMessageClass GUnixCredentialsMessageClass; + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GUnixCredentialsMessage, g_object_unref) + +/** + * GUnixCredentialsMessageClass: + * + * Class structure for #GUnixCredentialsMessage. + * + * Since: 2.26 + */ +struct _GUnixCredentialsMessageClass +{ + GSocketControlMessageClass parent_class; + + /*< private >*/ + + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); +}; + +/** + * GUnixCredentialsMessage: + * + * The #GUnixCredentialsMessage structure contains only private data + * and should only be accessed using the provided API. + * + * Since: 2.26 + */ +struct _GUnixCredentialsMessage +{ + GSocketControlMessage parent_instance; + GUnixCredentialsMessagePrivate *priv; +}; + +GIO_AVAILABLE_IN_ALL +GType g_unix_credentials_message_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GSocketControlMessage *g_unix_credentials_message_new (void); +GIO_AVAILABLE_IN_ALL +GSocketControlMessage *g_unix_credentials_message_new_with_credentials (GCredentials *credentials); +GIO_AVAILABLE_IN_ALL +GCredentials *g_unix_credentials_message_get_credentials (GUnixCredentialsMessage *message); + +GIO_AVAILABLE_IN_ALL +gboolean g_unix_credentials_message_is_supported (void); + +G_END_DECLS + +#endif /* __G_UNIX_CREDENTIALS_MESSAGE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gunixfdlist.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gunixfdlist.h new file mode 100644 index 0000000..df5587e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gunixfdlist.h @@ -0,0 +1,97 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright © 2009 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Ryan Lortie + */ + +#ifndef __G_UNIX_FD_LIST_H__ +#define __G_UNIX_FD_LIST_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_UNIX_FD_LIST (g_unix_fd_list_get_type ()) +#define G_UNIX_FD_LIST(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ + G_TYPE_UNIX_FD_LIST, GUnixFDList)) +#define G_UNIX_FD_LIST_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ + G_TYPE_UNIX_FD_LIST, GUnixFDListClass)) +#define G_IS_UNIX_FD_LIST(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ + G_TYPE_UNIX_FD_LIST)) +#define G_IS_UNIX_FD_LIST_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ + G_TYPE_UNIX_FD_LIST)) +#define G_UNIX_FD_LIST_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ + G_TYPE_UNIX_FD_LIST, GUnixFDListClass)) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GUnixFDList, g_object_unref) + +typedef struct _GUnixFDListPrivate GUnixFDListPrivate; +typedef struct _GUnixFDListClass GUnixFDListClass; + +struct _GUnixFDListClass +{ + GObjectClass parent_class; + + /*< private >*/ + + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); +}; + +struct _GUnixFDList +{ + GObject parent_instance; + GUnixFDListPrivate *priv; +}; + +GIO_AVAILABLE_IN_ALL +GType g_unix_fd_list_get_type (void) G_GNUC_CONST; +GIO_AVAILABLE_IN_ALL +GUnixFDList * g_unix_fd_list_new (void); +GIO_AVAILABLE_IN_ALL +GUnixFDList * g_unix_fd_list_new_from_array (const gint *fds, + gint n_fds); + +GIO_AVAILABLE_IN_ALL +gint g_unix_fd_list_append (GUnixFDList *list, + gint fd, + GError **error); + +GIO_AVAILABLE_IN_ALL +gint g_unix_fd_list_get_length (GUnixFDList *list); + +GIO_AVAILABLE_IN_ALL +gint g_unix_fd_list_get (GUnixFDList *list, + gint index_, + GError **error); + +GIO_AVAILABLE_IN_ALL +const gint * g_unix_fd_list_peek_fds (GUnixFDList *list, + gint *length); + +GIO_AVAILABLE_IN_ALL +gint * g_unix_fd_list_steal_fds (GUnixFDList *list, + gint *length); + +G_END_DECLS + +#endif /* __G_UNIX_FD_LIST_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gunixsocketaddress.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gunixsocketaddress.h new file mode 100644 index 0000000..705674b --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gunixsocketaddress.h @@ -0,0 +1,83 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2008 Christian Kellner, Samuel Cormier-Iijima + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Authors: Christian Kellner + * Samuel Cormier-Iijima + */ + +#ifndef __G_UNIX_SOCKET_ADDRESS_H__ +#define __G_UNIX_SOCKET_ADDRESS_H__ + +#include + +G_BEGIN_DECLS + +#define G_TYPE_UNIX_SOCKET_ADDRESS (g_unix_socket_address_get_type ()) +#define G_UNIX_SOCKET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_UNIX_SOCKET_ADDRESS, GUnixSocketAddress)) +#define G_UNIX_SOCKET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_UNIX_SOCKET_ADDRESS, GUnixSocketAddressClass)) +#define G_IS_UNIX_SOCKET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_UNIX_SOCKET_ADDRESS)) +#define G_IS_UNIX_SOCKET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_UNIX_SOCKET_ADDRESS)) +#define G_UNIX_SOCKET_ADDRESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_UNIX_SOCKET_ADDRESS, GUnixSocketAddressClass)) + +typedef struct _GUnixSocketAddress GUnixSocketAddress; +typedef struct _GUnixSocketAddressClass GUnixSocketAddressClass; +typedef struct _GUnixSocketAddressPrivate GUnixSocketAddressPrivate; + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GUnixSocketAddress, g_object_unref) + +struct _GUnixSocketAddress +{ + GSocketAddress parent_instance; + + /*< private >*/ + GUnixSocketAddressPrivate *priv; +}; + +struct _GUnixSocketAddressClass +{ + GSocketAddressClass parent_class; +}; + +GIO_AVAILABLE_IN_ALL +GType g_unix_socket_address_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GSocketAddress *g_unix_socket_address_new (const gchar *path); +GIO_DEPRECATED_FOR(g_unix_socket_address_new_with_type) +GSocketAddress *g_unix_socket_address_new_abstract (const gchar *path, + gint path_len); +GIO_AVAILABLE_IN_ALL +GSocketAddress *g_unix_socket_address_new_with_type (const gchar *path, + gint path_len, + GUnixSocketAddressType type); +GIO_AVAILABLE_IN_ALL +const char * g_unix_socket_address_get_path (GUnixSocketAddress *address); +GIO_AVAILABLE_IN_ALL +gsize g_unix_socket_address_get_path_len (GUnixSocketAddress *address); +GIO_AVAILABLE_IN_ALL +GUnixSocketAddressType g_unix_socket_address_get_address_type (GUnixSocketAddress *address); +GIO_DEPRECATED +gboolean g_unix_socket_address_get_is_abstract (GUnixSocketAddress *address); + +GIO_AVAILABLE_IN_ALL +gboolean g_unix_socket_address_abstract_names_supported (void); + +G_END_DECLS + +#endif /* __G_UNIX_SOCKET_ADDRESS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gvfs.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gvfs.h new file mode 100644 index 0000000..cbe9792 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gvfs.h @@ -0,0 +1,170 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_VFS_H__ +#define __G_VFS_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_VFS (g_vfs_get_type ()) +#define G_VFS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_VFS, GVfs)) +#define G_VFS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_VFS, GVfsClass)) +#define G_VFS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_VFS, GVfsClass)) +#define G_IS_VFS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_VFS)) +#define G_IS_VFS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_VFS)) + +/** + * GVfsFileLookupFunc: + * @vfs: a #GVfs + * @identifier: the identifier to look up a #GFile for. This can either + * be an URI or a parse name as returned by g_file_get_parse_name() + * @user_data: user data passed to the function + * + * This function type is used by g_vfs_register_uri_scheme() to make it + * possible for a client to associate an URI scheme to a different #GFile + * implementation. + * + * The client should return a reference to the new file that has been + * created for @uri, or %NULL to continue with the default implementation. + * + * Returns: (transfer full): a #GFile for @identifier. + * + * Since: 2.50 + */ +typedef GFile * (* GVfsFileLookupFunc) (GVfs *vfs, + const char *identifier, + gpointer user_data); + +/** + * G_VFS_EXTENSION_POINT_NAME: + * + * Extension point for #GVfs functionality. + * See [Extending GIO][extending-gio]. + */ +#define G_VFS_EXTENSION_POINT_NAME "gio-vfs" + +/** + * GVfs: + * + * Virtual File System object. + **/ +typedef struct _GVfsClass GVfsClass; + +struct _GVfs +{ + GObject parent_instance; +}; + +struct _GVfsClass +{ + GObjectClass parent_class; + + /* Virtual Table */ + + gboolean (* is_active) (GVfs *vfs); + GFile * (* get_file_for_path) (GVfs *vfs, + const char *path); + GFile * (* get_file_for_uri) (GVfs *vfs, + const char *uri); + const gchar * const * (* get_supported_uri_schemes) (GVfs *vfs); + GFile * (* parse_name) (GVfs *vfs, + const char *parse_name); + + /*< private >*/ + void (* local_file_add_info) (GVfs *vfs, + const char *filename, + guint64 device, + GFileAttributeMatcher *attribute_matcher, + GFileInfo *info, + GCancellable *cancellable, + gpointer *extra_data, + GDestroyNotify *free_extra_data); + void (* add_writable_namespaces) (GVfs *vfs, + GFileAttributeInfoList *list); + gboolean (* local_file_set_attributes) (GVfs *vfs, + const char *filename, + GFileInfo *info, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); + void (* local_file_removed) (GVfs *vfs, + const char *filename); + void (* local_file_moved) (GVfs *vfs, + const char *source, + const char *dest); + GIcon * (* deserialize_icon) (GVfs *vfs, + GVariant *value); + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); + void (*_g_reserved6) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_vfs_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +gboolean g_vfs_is_active (GVfs *vfs); +GIO_AVAILABLE_IN_ALL +GFile * g_vfs_get_file_for_path (GVfs *vfs, + const char *path); +GIO_AVAILABLE_IN_ALL +GFile * g_vfs_get_file_for_uri (GVfs *vfs, + const char *uri); +GIO_AVAILABLE_IN_ALL +const gchar* const * g_vfs_get_supported_uri_schemes (GVfs *vfs); + +GIO_AVAILABLE_IN_ALL +GFile * g_vfs_parse_name (GVfs *vfs, + const char *parse_name); + +GIO_AVAILABLE_IN_ALL +GVfs * g_vfs_get_default (void); +GIO_AVAILABLE_IN_ALL +GVfs * g_vfs_get_local (void); + +GIO_AVAILABLE_IN_2_50 +gboolean g_vfs_register_uri_scheme (GVfs *vfs, + const char *scheme, + GVfsFileLookupFunc uri_func, + gpointer uri_data, + GDestroyNotify uri_destroy, + GVfsFileLookupFunc parse_name_func, + gpointer parse_name_data, + GDestroyNotify parse_name_destroy); +GIO_AVAILABLE_IN_2_50 +gboolean g_vfs_unregister_uri_scheme (GVfs *vfs, + const char *scheme); + + +G_END_DECLS + +#endif /* __G_VFS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gvolume.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gvolume.h new file mode 100644 index 0000000..2d6e14e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gvolume.h @@ -0,0 +1,255 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + * David Zeuthen + */ + +#ifndef __G_VOLUME_H__ +#define __G_VOLUME_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/** + * G_VOLUME_IDENTIFIER_KIND_HAL_UDI: + * + * The string used to obtain a Hal UDI with g_volume_get_identifier(). + * + * Deprecated: 2.58: Do not use, HAL is deprecated. + */ +#define G_VOLUME_IDENTIFIER_KIND_HAL_UDI "hal-udi" GIO_DEPRECATED_MACRO_IN_2_58 + +/** + * G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE: + * + * The string used to obtain a Unix device path with g_volume_get_identifier(). + */ +#define G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE "unix-device" + +/** + * G_VOLUME_IDENTIFIER_KIND_LABEL: + * + * The string used to obtain a filesystem label with g_volume_get_identifier(). + */ +#define G_VOLUME_IDENTIFIER_KIND_LABEL "label" + +/** + * G_VOLUME_IDENTIFIER_KIND_UUID: + * + * The string used to obtain a UUID with g_volume_get_identifier(). + */ +#define G_VOLUME_IDENTIFIER_KIND_UUID "uuid" + +/** + * G_VOLUME_IDENTIFIER_KIND_NFS_MOUNT: + * + * The string used to obtain a NFS mount with g_volume_get_identifier(). + */ +#define G_VOLUME_IDENTIFIER_KIND_NFS_MOUNT "nfs-mount" + +/** + * G_VOLUME_IDENTIFIER_KIND_CLASS: + * + * The string used to obtain the volume class with g_volume_get_identifier(). + * + * Known volume classes include `device`, `network`, and `loop`. Other + * classes may be added in the future. + * + * This is intended to be used by applications to classify #GVolume + * instances into different sections - for example a file manager or + * file chooser can use this information to show `network` volumes under + * a "Network" heading and `device` volumes under a "Devices" heading. + */ +#define G_VOLUME_IDENTIFIER_KIND_CLASS "class" + + +#define G_TYPE_VOLUME (g_volume_get_type ()) +#define G_VOLUME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_VOLUME, GVolume)) +#define G_IS_VOLUME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_VOLUME)) +#define G_VOLUME_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_VOLUME, GVolumeIface)) + +/** + * GVolumeIface: + * @g_iface: The parent interface. + * @changed: Changed signal that is emitted when the volume's state has changed. + * @removed: The removed signal that is emitted when the #GVolume have been removed. If the recipient is holding references to the object they should release them so the object can be finalized. + * @get_name: Gets a string containing the name of the #GVolume. + * @get_icon: Gets a #GIcon for the #GVolume. + * @get_uuid: Gets the UUID for the #GVolume. The reference is typically based on the file system UUID for the mount in question and should be considered an opaque string. Returns %NULL if there is no UUID available. + * @get_drive: Gets a #GDrive the volume is located on. Returns %NULL if the #GVolume is not associated with a #GDrive. + * @get_mount: Gets a #GMount representing the mounted volume. Returns %NULL if the #GVolume is not mounted. + * @can_mount: Returns %TRUE if the #GVolume can be mounted. + * @can_eject: Checks if a #GVolume can be ejected. + * @mount_fn: Mounts a given #GVolume. + * #GVolume implementations must emit the #GMountOperation::aborted + * signal before completing a mount operation that is aborted while + * awaiting input from the user through a #GMountOperation instance. + * @mount_finish: Finishes a mount operation. + * @eject: Ejects a given #GVolume. + * @eject_finish: Finishes an eject operation. + * @get_identifier: Returns the [identifier][volume-identifier] of the given kind, or %NULL if + * the #GVolume doesn't have one. + * @enumerate_identifiers: Returns an array strings listing the kinds + * of [identifiers][volume-identifier] which the #GVolume has. + * @should_automount: Returns %TRUE if the #GVolume should be automatically mounted. + * @get_activation_root: Returns the activation root for the #GVolume if it is known in advance or %NULL if + * it is not known. + * @eject_with_operation: Starts ejecting a #GVolume using a #GMountOperation. Since 2.22. + * @eject_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22. + * @get_sort_key: Gets a key used for sorting #GVolume instance or %NULL if no such key exists. Since 2.32. + * @get_symbolic_icon: Gets a symbolic #GIcon for the #GVolume. Since 2.34. + * + * Interface for implementing operations for mountable volumes. + **/ +typedef struct _GVolumeIface GVolumeIface; + +struct _GVolumeIface +{ + GTypeInterface g_iface; + + /* signals */ + + void (* changed) (GVolume *volume); + void (* removed) (GVolume *volume); + + /* Virtual Table */ + + char * (* get_name) (GVolume *volume); + GIcon * (* get_icon) (GVolume *volume); + char * (* get_uuid) (GVolume *volume); + GDrive * (* get_drive) (GVolume *volume); + GMount * (* get_mount) (GVolume *volume); + gboolean (* can_mount) (GVolume *volume); + gboolean (* can_eject) (GVolume *volume); + void (* mount_fn) (GVolume *volume, + GMountMountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* mount_finish) (GVolume *volume, + GAsyncResult *result, + GError **error); + void (* eject) (GVolume *volume, + GMountUnmountFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* eject_finish) (GVolume *volume, + GAsyncResult *result, + GError **error); + + char * (* get_identifier) (GVolume *volume, + const char *kind); + char ** (* enumerate_identifiers) (GVolume *volume); + + gboolean (* should_automount) (GVolume *volume); + + GFile * (* get_activation_root) (GVolume *volume); + + void (* eject_with_operation) (GVolume *volume, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* eject_with_operation_finish) (GVolume *volume, + GAsyncResult *result, + GError **error); + + const gchar * (* get_sort_key) (GVolume *volume); + GIcon * (* get_symbolic_icon) (GVolume *volume); +}; + +GIO_AVAILABLE_IN_ALL +GType g_volume_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +char * g_volume_get_name (GVolume *volume); +GIO_AVAILABLE_IN_ALL +GIcon * g_volume_get_icon (GVolume *volume); +GIO_AVAILABLE_IN_ALL +GIcon * g_volume_get_symbolic_icon (GVolume *volume); +GIO_AVAILABLE_IN_ALL +char * g_volume_get_uuid (GVolume *volume); +GIO_AVAILABLE_IN_ALL +GDrive * g_volume_get_drive (GVolume *volume); +GIO_AVAILABLE_IN_ALL +GMount * g_volume_get_mount (GVolume *volume); +GIO_AVAILABLE_IN_ALL +gboolean g_volume_can_mount (GVolume *volume); +GIO_AVAILABLE_IN_ALL +gboolean g_volume_can_eject (GVolume *volume); +GIO_AVAILABLE_IN_ALL +gboolean g_volume_should_automount (GVolume *volume); +GIO_AVAILABLE_IN_ALL +void g_volume_mount (GVolume *volume, + GMountMountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_volume_mount_finish (GVolume *volume, + GAsyncResult *result, + GError **error); +GIO_DEPRECATED_FOR(g_volume_eject_with_operation) +void g_volume_eject (GVolume *volume, + GMountUnmountFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GIO_DEPRECATED_FOR(g_volume_eject_with_operation_finish) +gboolean g_volume_eject_finish (GVolume *volume, + GAsyncResult *result, + GError **error); +GIO_AVAILABLE_IN_ALL +char * g_volume_get_identifier (GVolume *volume, + const char *kind); +GIO_AVAILABLE_IN_ALL +char ** g_volume_enumerate_identifiers (GVolume *volume); + +GIO_AVAILABLE_IN_ALL +GFile * g_volume_get_activation_root (GVolume *volume); + +GIO_AVAILABLE_IN_ALL +void g_volume_eject_with_operation (GVolume *volume, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GIO_AVAILABLE_IN_ALL +gboolean g_volume_eject_with_operation_finish (GVolume *volume, + GAsyncResult *result, + GError **error); + +GIO_AVAILABLE_IN_2_32 +const gchar *g_volume_get_sort_key (GVolume *volume); + +G_END_DECLS + +#endif /* __G_VOLUME_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gvolumemonitor.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gvolumemonitor.h new file mode 100644 index 0000000..11bd331 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gvolumemonitor.h @@ -0,0 +1,156 @@ +/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ + +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + * David Zeuthen + */ + +#ifndef __G_VOLUME_MONITOR_H__ +#define __G_VOLUME_MONITOR_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_TYPE_VOLUME_MONITOR (g_volume_monitor_get_type ()) +#define G_VOLUME_MONITOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_VOLUME_MONITOR, GVolumeMonitor)) +#define G_VOLUME_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_VOLUME_MONITOR, GVolumeMonitorClass)) +#define G_VOLUME_MONITOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_VOLUME_MONITOR, GVolumeMonitorClass)) +#define G_IS_VOLUME_MONITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_VOLUME_MONITOR)) +#define G_IS_VOLUME_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_VOLUME_MONITOR)) + +/** + * G_VOLUME_MONITOR_EXTENSION_POINT_NAME: + * + * Extension point for volume monitor functionality. + * See [Extending GIO][extending-gio]. + */ +#define G_VOLUME_MONITOR_EXTENSION_POINT_NAME "gio-volume-monitor" + +/** + * GVolumeMonitor: + * + * A Volume Monitor that watches for volume events. + **/ +typedef struct _GVolumeMonitorClass GVolumeMonitorClass; + +struct _GVolumeMonitor +{ + GObject parent_instance; + + /*< private >*/ + gpointer priv; +}; + +struct _GVolumeMonitorClass +{ + GObjectClass parent_class; + + /*< public >*/ + /* signals */ + void (* volume_added) (GVolumeMonitor *volume_monitor, + GVolume *volume); + void (* volume_removed) (GVolumeMonitor *volume_monitor, + GVolume *volume); + void (* volume_changed) (GVolumeMonitor *volume_monitor, + GVolume *volume); + + void (* mount_added) (GVolumeMonitor *volume_monitor, + GMount *mount); + void (* mount_removed) (GVolumeMonitor *volume_monitor, + GMount *mount); + void (* mount_pre_unmount) (GVolumeMonitor *volume_monitor, + GMount *mount); + void (* mount_changed) (GVolumeMonitor *volume_monitor, + GMount *mount); + + void (* drive_connected) (GVolumeMonitor *volume_monitor, + GDrive *drive); + void (* drive_disconnected) (GVolumeMonitor *volume_monitor, + GDrive *drive); + void (* drive_changed) (GVolumeMonitor *volume_monitor, + GDrive *drive); + + /* Vtable */ + + gboolean (* is_supported) (void); + + GList * (* get_connected_drives) (GVolumeMonitor *volume_monitor); + GList * (* get_volumes) (GVolumeMonitor *volume_monitor); + GList * (* get_mounts) (GVolumeMonitor *volume_monitor); + + GVolume * (* get_volume_for_uuid) (GVolumeMonitor *volume_monitor, + const char *uuid); + + GMount * (* get_mount_for_uuid) (GVolumeMonitor *volume_monitor, + const char *uuid); + + + /* These arguments are unfortunately backwards by mistake (bug #520169). Deprecated in 2.20. */ + GVolume * (* adopt_orphan_mount) (GMount *mount, + GVolumeMonitor *volume_monitor); + + /* signal added in 2.17 */ + void (* drive_eject_button) (GVolumeMonitor *volume_monitor, + GDrive *drive); + + /* signal added in 2.21 */ + void (* drive_stop_button) (GVolumeMonitor *volume_monitor, + GDrive *drive); + + /*< private >*/ + /* Padding for future expansion */ + void (*_g_reserved1) (void); + void (*_g_reserved2) (void); + void (*_g_reserved3) (void); + void (*_g_reserved4) (void); + void (*_g_reserved5) (void); + void (*_g_reserved6) (void); +}; + +GIO_AVAILABLE_IN_ALL +GType g_volume_monitor_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GVolumeMonitor *g_volume_monitor_get (void); +GIO_AVAILABLE_IN_ALL +GList * g_volume_monitor_get_connected_drives (GVolumeMonitor *volume_monitor); +GIO_AVAILABLE_IN_ALL +GList * g_volume_monitor_get_volumes (GVolumeMonitor *volume_monitor); +GIO_AVAILABLE_IN_ALL +GList * g_volume_monitor_get_mounts (GVolumeMonitor *volume_monitor); +GIO_AVAILABLE_IN_ALL +GVolume * g_volume_monitor_get_volume_for_uuid (GVolumeMonitor *volume_monitor, + const char *uuid); +GIO_AVAILABLE_IN_ALL +GMount * g_volume_monitor_get_mount_for_uuid (GVolumeMonitor *volume_monitor, + const char *uuid); + +GIO_DEPRECATED +GVolume * g_volume_monitor_adopt_orphan_mount (GMount *mount); + +G_END_DECLS + +#endif /* __G_VOLUME_MONITOR_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gzlibcompressor.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gzlibcompressor.h new file mode 100644 index 0000000..b8a99ea --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gzlibcompressor.h @@ -0,0 +1,64 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2009 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_ZLIB_COMPRESSOR_H__ +#define __G_ZLIB_COMPRESSOR_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +#define G_TYPE_ZLIB_COMPRESSOR (g_zlib_compressor_get_type ()) +#define G_ZLIB_COMPRESSOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_ZLIB_COMPRESSOR, GZlibCompressor)) +#define G_ZLIB_COMPRESSOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_ZLIB_COMPRESSOR, GZlibCompressorClass)) +#define G_IS_ZLIB_COMPRESSOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_ZLIB_COMPRESSOR)) +#define G_IS_ZLIB_COMPRESSOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_ZLIB_COMPRESSOR)) +#define G_ZLIB_COMPRESSOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_ZLIB_COMPRESSOR, GZlibCompressorClass)) + +typedef struct _GZlibCompressorClass GZlibCompressorClass; + +struct _GZlibCompressorClass +{ + GObjectClass parent_class; +}; + +GIO_AVAILABLE_IN_ALL +GType g_zlib_compressor_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GZlibCompressor *g_zlib_compressor_new (GZlibCompressorFormat format, + int level); + +GIO_AVAILABLE_IN_ALL +GFileInfo *g_zlib_compressor_get_file_info (GZlibCompressor *compressor); +GIO_AVAILABLE_IN_ALL +void g_zlib_compressor_set_file_info (GZlibCompressor *compressor, + GFileInfo *file_info); + +G_END_DECLS + +#endif /* __G_ZLIB_COMPRESSOR_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gio/gzlibdecompressor.h b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gzlibdecompressor.h new file mode 100644 index 0000000..ef97439 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gio/gzlibdecompressor.h @@ -0,0 +1,60 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2009 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Alexander Larsson + */ + +#ifndef __G_ZLIB_DECOMPRESSOR_H__ +#define __G_ZLIB_DECOMPRESSOR_H__ + +#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +#define G_TYPE_ZLIB_DECOMPRESSOR (g_zlib_decompressor_get_type ()) +#define G_ZLIB_DECOMPRESSOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_ZLIB_DECOMPRESSOR, GZlibDecompressor)) +#define G_ZLIB_DECOMPRESSOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_ZLIB_DECOMPRESSOR, GZlibDecompressorClass)) +#define G_IS_ZLIB_DECOMPRESSOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_ZLIB_DECOMPRESSOR)) +#define G_IS_ZLIB_DECOMPRESSOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_ZLIB_DECOMPRESSOR)) +#define G_ZLIB_DECOMPRESSOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_ZLIB_DECOMPRESSOR, GZlibDecompressorClass)) + +typedef struct _GZlibDecompressorClass GZlibDecompressorClass; + +struct _GZlibDecompressorClass +{ + GObjectClass parent_class; +}; + +GIO_AVAILABLE_IN_ALL +GType g_zlib_decompressor_get_type (void) G_GNUC_CONST; + +GIO_AVAILABLE_IN_ALL +GZlibDecompressor *g_zlib_decompressor_new (GZlibCompressorFormat format); + +GIO_AVAILABLE_IN_ALL +GFileInfo *g_zlib_decompressor_get_file_info (GZlibDecompressor *decompressor); + +G_END_DECLS + +#endif /* __G_ZLIB_DECOMPRESSOR_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib-object.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib-object.h new file mode 100644 index 0000000..b00392d --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib-object.h @@ -0,0 +1,46 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * Copyright (C) 1998, 1999, 2000 Tim Janik and Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ +#ifndef __GLIB_GOBJECT_H__ +#define __GLIB_GOBJECT_H__ + +#define __GLIB_GOBJECT_H_INSIDE__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#undef __GLIB_GOBJECT_H_INSIDE__ + +#endif /* __GLIB_GOBJECT_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib-unix.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib-unix.h new file mode 100644 index 0000000..7cf4f0d --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib-unix.h @@ -0,0 +1,125 @@ +/* glib-unix.h - Unix specific integration + * Copyright (C) 2011 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef __G_UNIX_H__ +#define __G_UNIX_H__ + +/* We need to include the UNIX headers needed to use the APIs below, + * but we also take this opportunity to include a wide selection of + * other UNIX headers. If one of the headers below is broken on some + * system, work around it here (or better, fix the system or tell + * people to use a better one). + */ +#include +#include +#include +#include +#include + +#include + +#ifndef G_OS_UNIX +#error "This header may only be used on UNIX" +#endif + +G_BEGIN_DECLS + +/** + * G_UNIX_ERROR: + * + * Error domain for API in the g_unix_ namespace. Note that there is no + * exported enumeration mapping %errno. Instead, all functions ensure that + * %errno is relevant. The code for all %G_UNIX_ERROR is always 0, and the + * error message is always generated via g_strerror(). + * + * It is expected that most code will not look at %errno from these APIs. + * Important cases where one would want to differentiate between errors are + * already covered by existing cross-platform GLib API, such as e.g. #GFile + * wrapping `ENOENT`. However, it is provided for completeness, at least. + */ +#define G_UNIX_ERROR (g_unix_error_quark()) + +GLIB_AVAILABLE_IN_2_30 +GQuark g_unix_error_quark (void); + +GLIB_AVAILABLE_IN_2_30 +gboolean g_unix_open_pipe (gint *fds, + gint flags, + GError **error); + +GLIB_AVAILABLE_IN_2_30 +gboolean g_unix_set_fd_nonblocking (gint fd, + gboolean nonblock, + GError **error); + +GLIB_AVAILABLE_IN_2_30 +GSource *g_unix_signal_source_new (gint signum); + +GLIB_AVAILABLE_IN_2_30 +guint g_unix_signal_add_full (gint priority, + gint signum, + GSourceFunc handler, + gpointer user_data, + GDestroyNotify notify); + +GLIB_AVAILABLE_IN_2_30 +guint g_unix_signal_add (gint signum, + GSourceFunc handler, + gpointer user_data); + +/** + * GUnixFDSourceFunc: + * @fd: the fd that triggered the event + * @condition: the IO conditions reported on @fd + * @user_data: user data passed to g_unix_fd_add() + * + * The type of functions to be called when a UNIX fd watch source + * triggers. + * + * Returns: %FALSE if the source should be removed + **/ +typedef gboolean (*GUnixFDSourceFunc) (gint fd, + GIOCondition condition, + gpointer user_data); + +GLIB_AVAILABLE_IN_2_36 +GSource *g_unix_fd_source_new (gint fd, + GIOCondition condition); + +GLIB_AVAILABLE_IN_2_36 +guint g_unix_fd_add_full (gint priority, + gint fd, + GIOCondition condition, + GUnixFDSourceFunc function, + gpointer user_data, + GDestroyNotify notify); + +GLIB_AVAILABLE_IN_2_36 +guint g_unix_fd_add (gint fd, + GIOCondition condition, + GUnixFDSourceFunc function, + gpointer user_data); + +GLIB_AVAILABLE_IN_2_64 +struct passwd *g_unix_get_passwd_entry (const gchar *user_name, + GError **error); + +G_END_DECLS + +#endif /* __G_UNIX_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib.h new file mode 100644 index 0000000..40e5019 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib.h @@ -0,0 +1,122 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_LIB_H__ +#define __G_LIB_H__ + +#define __GLIB_H_INSIDE__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef G_PLATFORM_WIN32 +#include +#endif + +#include +#include +#include +#include +#include +#include + +#include +#include + +#undef __GLIB_H_INSIDE__ + +#endif /* __G_LIB_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gallocator.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gallocator.h new file mode 100644 index 0000000..005e92b --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gallocator.h @@ -0,0 +1,88 @@ +/* + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef __G_ALLOCATOR_H__ +#define __G_ALLOCATOR_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +typedef struct _GAllocator GAllocator; +typedef struct _GMemChunk GMemChunk; + +#define G_ALLOC_ONLY 1 +#define G_ALLOC_AND_FREE 2 +#define G_ALLOCATOR_LIST 1 +#define G_ALLOCATOR_SLIST 2 +#define G_ALLOCATOR_NODE 3 + +#define g_chunk_new(type, chunk) ((type *) g_mem_chunk_alloc (chunk)) +#define g_chunk_new0(type, chunk) ((type *) g_mem_chunk_alloc0 (chunk)) +#define g_chunk_free(mem, mem_chunk) (g_mem_chunk_free (mem_chunk, mem)) +#define g_mem_chunk_create(type, x, y) (g_mem_chunk_new (NULL, sizeof (type), 0, 0)) + + +GLIB_DEPRECATED +GMemChunk * g_mem_chunk_new (const gchar *name, + gint atom_size, + gsize area_size, + gint type); +GLIB_DEPRECATED +void g_mem_chunk_destroy (GMemChunk *mem_chunk); +GLIB_DEPRECATED +gpointer g_mem_chunk_alloc (GMemChunk *mem_chunk); +GLIB_DEPRECATED +gpointer g_mem_chunk_alloc0 (GMemChunk *mem_chunk); +GLIB_DEPRECATED +void g_mem_chunk_free (GMemChunk *mem_chunk, + gpointer mem); +GLIB_DEPRECATED +void g_mem_chunk_clean (GMemChunk *mem_chunk); +GLIB_DEPRECATED +void g_mem_chunk_reset (GMemChunk *mem_chunk); +GLIB_DEPRECATED +void g_mem_chunk_print (GMemChunk *mem_chunk); +GLIB_DEPRECATED +void g_mem_chunk_info (void); +GLIB_DEPRECATED +void g_blow_chunks (void); + + +GLIB_DEPRECATED +GAllocator * g_allocator_new (const gchar *name, + guint n_preallocs); +GLIB_DEPRECATED +void g_allocator_free (GAllocator *allocator); +GLIB_DEPRECATED +void g_list_push_allocator (GAllocator *allocator); +GLIB_DEPRECATED +void g_list_pop_allocator (void); +GLIB_DEPRECATED +void g_slist_push_allocator (GAllocator *allocator); +GLIB_DEPRECATED +void g_slist_pop_allocator (void); +GLIB_DEPRECATED +void g_node_push_allocator (GAllocator *allocator); +GLIB_DEPRECATED +void g_node_pop_allocator (void); + +G_END_DECLS + +#endif /* __G_ALLOCATOR_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gcache.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gcache.h new file mode 100644 index 0000000..201f7cf --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gcache.h @@ -0,0 +1,77 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_CACHE_H__ +#define __G_CACHE_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +typedef struct _GCache GCache GLIB_DEPRECATED_TYPE_IN_2_26_FOR(GHashTable); + +typedef gpointer (*GCacheNewFunc) (gpointer key) GLIB_DEPRECATED_TYPE_IN_2_26; +typedef gpointer (*GCacheDupFunc) (gpointer value) GLIB_DEPRECATED_TYPE_IN_2_26; +typedef void (*GCacheDestroyFunc) (gpointer value) GLIB_DEPRECATED_TYPE_IN_2_26; + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + +/* Caches + */ +GLIB_DEPRECATED +GCache* g_cache_new (GCacheNewFunc value_new_func, + GCacheDestroyFunc value_destroy_func, + GCacheDupFunc key_dup_func, + GCacheDestroyFunc key_destroy_func, + GHashFunc hash_key_func, + GHashFunc hash_value_func, + GEqualFunc key_equal_func); +GLIB_DEPRECATED +void g_cache_destroy (GCache *cache); +GLIB_DEPRECATED +gpointer g_cache_insert (GCache *cache, + gpointer key); +GLIB_DEPRECATED +void g_cache_remove (GCache *cache, + gconstpointer value); +GLIB_DEPRECATED +void g_cache_key_foreach (GCache *cache, + GHFunc func, + gpointer user_data); +GLIB_DEPRECATED +void g_cache_value_foreach (GCache *cache, + GHFunc func, + gpointer user_data); + +G_GNUC_END_IGNORE_DEPRECATIONS + +G_END_DECLS + +#endif /* __G_CACHE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gcompletion.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gcompletion.h new file mode 100644 index 0000000..2be87d2 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gcompletion.h @@ -0,0 +1,85 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_COMPLETION_H__ +#define __G_COMPLETION_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +typedef struct _GCompletion GCompletion; + +typedef gchar* (*GCompletionFunc) (gpointer); + +/* GCompletion + */ + +typedef gint (*GCompletionStrncmpFunc) (const gchar *s1, + const gchar *s2, + gsize n); + +struct _GCompletion +{ + GList* items; + GCompletionFunc func; + + gchar* prefix; + GList* cache; + GCompletionStrncmpFunc strncmp_func; +}; + +GLIB_DEPRECATED_IN_2_26 +GCompletion* g_completion_new (GCompletionFunc func); +GLIB_DEPRECATED_IN_2_26 +void g_completion_add_items (GCompletion* cmp, + GList* items); +GLIB_DEPRECATED_IN_2_26 +void g_completion_remove_items (GCompletion* cmp, + GList* items); +GLIB_DEPRECATED_IN_2_26 +void g_completion_clear_items (GCompletion* cmp); +GLIB_DEPRECATED_IN_2_26 +GList* g_completion_complete (GCompletion* cmp, + const gchar* prefix, + gchar** new_prefix); +GLIB_DEPRECATED_IN_2_26 +GList* g_completion_complete_utf8 (GCompletion *cmp, + const gchar* prefix, + gchar** new_prefix); +GLIB_DEPRECATED_IN_2_26 +void g_completion_set_compare (GCompletion *cmp, + GCompletionStrncmpFunc strncmp_func); +GLIB_DEPRECATED_IN_2_26 +void g_completion_free (GCompletion* cmp); + +G_END_DECLS + +#endif /* __G_COMPLETION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gmain.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gmain.h new file mode 100644 index 0000000..ed01f8e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gmain.h @@ -0,0 +1,137 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_DEPRECATED_MAIN_H__ +#define __G_DEPRECATED_MAIN_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/* ============== Compat main loop stuff ================== */ + +/** + * g_main_new: + * @is_running: set to %TRUE to indicate that the loop is running. This + * is not very important since calling g_main_run() will set this + * to %TRUE anyway. + * + * Creates a new #GMainLoop for th default main context. + * + * Returns: a new #GMainLoop + * + * Deprecated: 2.2: Use g_main_loop_new() instead + */ +#define g_main_new(is_running) g_main_loop_new (NULL, is_running) GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_main_loop_new) + +/** + * g_main_run: + * @loop: a #GMainLoop + * + * Runs a main loop until it stops running. + * + * Deprecated: 2.2: Use g_main_loop_run() instead + */ +#define g_main_run(loop) g_main_loop_run(loop) GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_main_loop_run) + +/** + * g_main_quit: + * @loop: a #GMainLoop + * + * Stops the #GMainLoop. + * If g_main_run() was called to run the #GMainLoop, it will now return. + * + * Deprecated: 2.2: Use g_main_loop_quit() instead + */ +#define g_main_quit(loop) g_main_loop_quit(loop) GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_main_loop_quit) + +/** + * g_main_destroy: + * @loop: a #GMainLoop + * + * Frees the memory allocated for the #GMainLoop. + * + * Deprecated: 2.2: Use g_main_loop_unref() instead + */ +#define g_main_destroy(loop) g_main_loop_unref(loop) GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_main_loop_unref) + +/** + * g_main_is_running: + * @loop: a #GMainLoop + * + * Checks if the main loop is running. + * + * Returns: %TRUE if the main loop is running + * + * Deprecated: 2.2: Use g_main_loop_is_running() instead + */ +#define g_main_is_running(loop) g_main_loop_is_running(loop) GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_main_loop_is_running) + +/** + * g_main_iteration: + * @may_block: set to %TRUE if it should block (i.e. wait) until an event + * source becomes ready. It will return after an event source has been + * processed. If set to %FALSE it will return immediately if no event + * source is ready to be processed. + * + * Runs a single iteration for the default #GMainContext. + * + * Returns: %TRUE if more events are pending. + * + * Deprecated: 2.2: Use g_main_context_iteration() instead. + */ +#define g_main_iteration(may_block) g_main_context_iteration (NULL, may_block) GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_main_context_iteration) + +/** + * g_main_pending: + * + * Checks if any events are pending for the default #GMainContext + * (i.e. ready to be processed). + * + * Returns: %TRUE if any events are pending. + * + * Deprecated: 2.2: Use g_main_context_pending() instead. + */ +#define g_main_pending() g_main_context_pending (NULL) GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_main_context_pending) + +/** + * g_main_set_poll_func: + * @func: the function to call to poll all file descriptors + * + * Sets the function to use for the handle polling of file descriptors + * for the default main context. + * + * Deprecated: 2.2: Use g_main_context_set_poll_func() again + */ +#define g_main_set_poll_func(func) g_main_context_set_poll_func (NULL, func) GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_main_context_set_poll_func) + +G_END_DECLS + +#endif /* __G_DEPRECATED_MAIN_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/grel.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/grel.h new file mode 100644 index 0000000..071e609 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/grel.h @@ -0,0 +1,107 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_REL_H__ +#define __G_REL_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +typedef struct _GRelation GRelation; +typedef struct _GTuples GTuples; + +struct _GTuples +{ + guint len; +}; + +/* GRelation + * + * Indexed Relations. Imagine a really simple table in a + * database. Relations are not ordered. This data type is meant for + * maintaining a N-way mapping. + * + * g_relation_new() creates a relation with FIELDS fields + * + * g_relation_destroy() frees all resources + * g_tuples_destroy() frees the result of g_relation_select() + * + * g_relation_index() indexes relation FIELD with the provided + * equality and hash functions. this must be done before any + * calls to insert are made. + * + * g_relation_insert() inserts a new tuple. you are expected to + * provide the right number of fields. + * + * g_relation_delete() deletes all relations with KEY in FIELD + * g_relation_select() returns ... + * g_relation_count() counts ... + */ + +GLIB_DEPRECATED_IN_2_26 +GRelation* g_relation_new (gint fields); +GLIB_DEPRECATED_IN_2_26 +void g_relation_destroy (GRelation *relation); +GLIB_DEPRECATED_IN_2_26 +void g_relation_index (GRelation *relation, + gint field, + GHashFunc hash_func, + GEqualFunc key_equal_func); +GLIB_DEPRECATED_IN_2_26 +void g_relation_insert (GRelation *relation, + ...); +GLIB_DEPRECATED_IN_2_26 +gint g_relation_delete (GRelation *relation, + gconstpointer key, + gint field); +GLIB_DEPRECATED_IN_2_26 +GTuples* g_relation_select (GRelation *relation, + gconstpointer key, + gint field); +GLIB_DEPRECATED_IN_2_26 +gint g_relation_count (GRelation *relation, + gconstpointer key, + gint field); +GLIB_DEPRECATED_IN_2_26 +gboolean g_relation_exists (GRelation *relation, + ...); +GLIB_DEPRECATED_IN_2_26 +void g_relation_print (GRelation *relation); +GLIB_DEPRECATED_IN_2_26 +void g_tuples_destroy (GTuples *tuples); +GLIB_DEPRECATED_IN_2_26 +gpointer g_tuples_index (GTuples *tuples, + gint index_, + gint field); + +G_END_DECLS + +#endif /* __G_REL_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gthread.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gthread.h new file mode 100644 index 0000000..a366136 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/deprecated/gthread.h @@ -0,0 +1,295 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_DEPRECATED_THREAD_H__ +#define __G_DEPRECATED_THREAD_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + +typedef enum +{ + G_THREAD_PRIORITY_LOW, + G_THREAD_PRIORITY_NORMAL, + G_THREAD_PRIORITY_HIGH, + G_THREAD_PRIORITY_URGENT +} GThreadPriority GLIB_DEPRECATED_TYPE_IN_2_32; + +struct _GThread +{ + /*< private >*/ + GThreadFunc func; + gpointer data; + gboolean joinable; + GThreadPriority priority; +}; + +typedef struct _GThreadFunctions GThreadFunctions GLIB_DEPRECATED_TYPE_IN_2_32; +struct _GThreadFunctions +{ + GMutex* (*mutex_new) (void); + void (*mutex_lock) (GMutex *mutex); + gboolean (*mutex_trylock) (GMutex *mutex); + void (*mutex_unlock) (GMutex *mutex); + void (*mutex_free) (GMutex *mutex); + GCond* (*cond_new) (void); + void (*cond_signal) (GCond *cond); + void (*cond_broadcast) (GCond *cond); + void (*cond_wait) (GCond *cond, + GMutex *mutex); + gboolean (*cond_timed_wait) (GCond *cond, + GMutex *mutex, + GTimeVal *end_time); + void (*cond_free) (GCond *cond); + GPrivate* (*private_new) (GDestroyNotify destructor); + gpointer (*private_get) (GPrivate *private_key); + void (*private_set) (GPrivate *private_key, + gpointer data); + void (*thread_create) (GThreadFunc func, + gpointer data, + gulong stack_size, + gboolean joinable, + gboolean bound, + GThreadPriority priority, + gpointer thread, + GError **error); + void (*thread_yield) (void); + void (*thread_join) (gpointer thread); + void (*thread_exit) (void); + void (*thread_set_priority)(gpointer thread, + GThreadPriority priority); + void (*thread_self) (gpointer thread); + gboolean (*thread_equal) (gpointer thread1, + gpointer thread2); +} GLIB_DEPRECATED_TYPE_IN_2_32; + +GLIB_VAR GThreadFunctions g_thread_functions_for_glib_use; +GLIB_VAR gboolean g_thread_use_default_impl; + +GLIB_VAR guint64 (*g_thread_gettime) (void); + +GLIB_DEPRECATED_IN_2_32_FOR(g_thread_new) +GThread *g_thread_create (GThreadFunc func, + gpointer data, + gboolean joinable, + GError **error); + +GLIB_DEPRECATED_IN_2_32_FOR(g_thread_new) +GThread *g_thread_create_full (GThreadFunc func, + gpointer data, + gulong stack_size, + gboolean joinable, + gboolean bound, + GThreadPriority priority, + GError **error); + +GLIB_DEPRECATED_IN_2_32 +void g_thread_set_priority (GThread *thread, + GThreadPriority priority); + +GLIB_DEPRECATED_IN_2_32 +void g_thread_foreach (GFunc thread_func, + gpointer user_data); + +#ifndef G_OS_WIN32 +#include +#include +#endif + +#define g_static_mutex_get_mutex g_static_mutex_get_mutex_impl GLIB_DEPRECATED_MACRO_IN_2_32 +#ifndef G_OS_WIN32 +#define G_STATIC_MUTEX_INIT { NULL, PTHREAD_MUTEX_INITIALIZER } GLIB_DEPRECATED_MACRO_IN_2_32_FOR(g_mutex_init) +#else +#define G_STATIC_MUTEX_INIT { NULL } GLIB_DEPRECATED_MACRO_IN_2_32_FOR(g_mutex_init) +#endif +typedef struct +{ + GMutex *mutex; +#ifndef G_OS_WIN32 + /* only for ABI compatibility reasons */ + pthread_mutex_t unused; +#endif +} GStaticMutex GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GMutex); + +#define g_static_mutex_lock(mutex) \ + g_mutex_lock (g_static_mutex_get_mutex (mutex)) GLIB_DEPRECATED_MACRO_IN_2_32_FOR(g_mutex_lock) +#define g_static_mutex_trylock(mutex) \ + g_mutex_trylock (g_static_mutex_get_mutex (mutex)) GLIB_DEPRECATED_MACRO_IN_2_32_FOR(g_mutex_trylock) +#define g_static_mutex_unlock(mutex) \ + g_mutex_unlock (g_static_mutex_get_mutex (mutex)) GLIB_DEPRECATED_MACRO_IN_2_32_FOR(g_mutex_unlock) + +GLIB_DEPRECATED_IN_2_32_FOR(g_mutex_init) +void g_static_mutex_init (GStaticMutex *mutex); +GLIB_DEPRECATED_IN_2_32_FOR(g_mutex_clear) +void g_static_mutex_free (GStaticMutex *mutex); +GLIB_DEPRECATED_IN_2_32_FOR(GMutex) +GMutex *g_static_mutex_get_mutex_impl (GStaticMutex *mutex); + +typedef struct _GStaticRecMutex GStaticRecMutex GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GRecMutex); +struct _GStaticRecMutex +{ + /*< private >*/ + GStaticMutex mutex; + guint depth; + + /* ABI compat only */ + union { +#ifdef G_OS_WIN32 + void *owner; +#else + pthread_t owner; +#endif + gdouble dummy; + } unused; +} GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GRecMutex); + +#define G_STATIC_REC_MUTEX_INIT { G_STATIC_MUTEX_INIT, 0, { 0 } } GLIB_DEPRECATED_MACRO_IN_2_32_FOR(g_rec_mutex_init) +GLIB_DEPRECATED_IN_2_32_FOR(g_rec_mutex_init) +void g_static_rec_mutex_init (GStaticRecMutex *mutex); + +GLIB_DEPRECATED_IN_2_32_FOR(g_rec_mutex_lock) +void g_static_rec_mutex_lock (GStaticRecMutex *mutex); + +GLIB_DEPRECATED_IN_2_32_FOR(g_rec_mutex_try_lock) +gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex); + +GLIB_DEPRECATED_IN_2_32_FOR(g_rec_mutex_unlock) +void g_static_rec_mutex_unlock (GStaticRecMutex *mutex); + +GLIB_DEPRECATED_IN_2_32 +void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex, + guint depth); + +GLIB_DEPRECATED_IN_2_32 +guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex); + +GLIB_DEPRECATED_IN_2_32_FOR(g_rec_mutex_free) +void g_static_rec_mutex_free (GStaticRecMutex *mutex); + +typedef struct _GStaticRWLock GStaticRWLock GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GRWLock); +struct _GStaticRWLock +{ + /*< private >*/ + GStaticMutex mutex; + GCond *read_cond; + GCond *write_cond; + guint read_counter; + gboolean have_writer; + guint want_to_read; + guint want_to_write; +} GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GRWLock); + +#define G_STATIC_RW_LOCK_INIT { G_STATIC_MUTEX_INIT, NULL, NULL, 0, FALSE, 0, 0 } GLIB_DEPRECATED_MACRO_IN_2_32_FOR(g_rw_lock_init) + +GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_init) +void g_static_rw_lock_init (GStaticRWLock *lock); + +GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_reader_lock) +void g_static_rw_lock_reader_lock (GStaticRWLock *lock); + +GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_reader_trylock) +gboolean g_static_rw_lock_reader_trylock (GStaticRWLock *lock); + +GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_reader_unlock) +void g_static_rw_lock_reader_unlock (GStaticRWLock *lock); + +GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_writer_lock) +void g_static_rw_lock_writer_lock (GStaticRWLock *lock); + +GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_writer_trylock) +gboolean g_static_rw_lock_writer_trylock (GStaticRWLock *lock); + +GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_writer_unlock) +void g_static_rw_lock_writer_unlock (GStaticRWLock *lock); + +GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_free) +void g_static_rw_lock_free (GStaticRWLock *lock); + +GLIB_DEPRECATED_IN_2_32 +GPrivate * g_private_new (GDestroyNotify notify); + +typedef struct _GStaticPrivate GStaticPrivate GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GPrivate); +struct _GStaticPrivate +{ + /*< private >*/ + guint index; +} GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GPrivate); + +#define G_STATIC_PRIVATE_INIT { 0 } GLIB_DEPRECATED_MACRO_IN_2_32_FOR(G_PRIVATE_INIT) +GLIB_DEPRECATED_IN_2_32 +void g_static_private_init (GStaticPrivate *private_key); + +GLIB_DEPRECATED_IN_2_32_FOR(g_private_get) +gpointer g_static_private_get (GStaticPrivate *private_key); + +GLIB_DEPRECATED_IN_2_32_FOR(g_private_set) +void g_static_private_set (GStaticPrivate *private_key, + gpointer data, + GDestroyNotify notify); + +GLIB_DEPRECATED_IN_2_32 +void g_static_private_free (GStaticPrivate *private_key); + +GLIB_DEPRECATED_IN_2_32 +gboolean g_once_init_enter_impl (volatile gsize *location); + +GLIB_DEPRECATED_IN_2_32 +void g_thread_init (gpointer vtable); +GLIB_DEPRECATED_IN_2_32 +void g_thread_init_with_errorcheck_mutexes (gpointer vtable); + +GLIB_DEPRECATED_IN_2_32 +gboolean g_thread_get_initialized (void); + +GLIB_VAR gboolean g_threads_got_initialized; + +#define g_thread_supported() (1) GLIB_DEPRECATED_MACRO_IN_2_32 + +GLIB_DEPRECATED_IN_2_32 +GMutex * g_mutex_new (void); +GLIB_DEPRECATED_IN_2_32 +void g_mutex_free (GMutex *mutex); +GLIB_DEPRECATED_IN_2_32 +GCond * g_cond_new (void); +GLIB_DEPRECATED_IN_2_32 +void g_cond_free (GCond *cond); +GLIB_DEPRECATED_IN_2_32 +gboolean g_cond_timed_wait (GCond *cond, + GMutex *mutex, + GTimeVal *timeval); + +G_GNUC_END_IGNORE_DEPRECATIONS + +G_END_DECLS + +#endif /* __G_DEPRECATED_THREAD_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/galloca.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/galloca.h new file mode 100644 index 0000000..db01fe5 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/galloca.h @@ -0,0 +1,147 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_ALLOCA_H__ +#define __G_ALLOCA_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +#if defined(__BIONIC__) && defined (GLIB_HAVE_ALLOCA_H) +# include +#elif defined(__GNUC__) +/* GCC does the right thing */ +# undef alloca +# define alloca(size) __builtin_alloca (size) +#elif defined (GLIB_HAVE_ALLOCA_H) +/* a native and working alloca.h is there */ +# include +#else /* !__GNUC__ && !GLIB_HAVE_ALLOCA_H */ +# if defined(_MSC_VER) || defined(__DMC__) +# include +# define alloca _alloca +# else /* !_MSC_VER && !__DMC__ */ +# ifdef _AIX +# pragma alloca +# else /* !_AIX */ +# ifndef alloca /* predefined by HP cc +Olibcalls */ +G_BEGIN_DECLS +char *alloca (); +G_END_DECLS +# endif /* !alloca */ +# endif /* !_AIX */ +# endif /* !_MSC_VER && !__DMC__ */ +#endif /* !__GNUC__ && !GLIB_HAVE_ALLOCA_H */ + +/** + * g_alloca: + * @size: number of bytes to allocate. + * + * Allocates @size bytes on the stack; these bytes will be freed when the current + * stack frame is cleaned up. This macro essentially just wraps the alloca() + * function present on most UNIX variants. + * Thus it provides the same advantages and pitfalls as alloca(): + * + * - alloca() is very fast, as on most systems it's implemented by just adjusting + * the stack pointer register. + * + * - It doesn't cause any memory fragmentation, within its scope, separate alloca() + * blocks just build up and are released together at function end. + * + * - Allocation sizes have to fit into the current stack frame. For instance in a + * threaded environment on Linux, the per-thread stack size is limited to 2 Megabytes, + * so be sparse with alloca() uses. + * + * - Allocation failure due to insufficient stack space is not indicated with a %NULL + * return like e.g. with malloc(). Instead, most systems probably handle it the same + * way as out of stack space situations from infinite function recursion, i.e. + * with a segmentation fault. + * + * - Allowing @size to be specified by an untrusted party would allow for them + * to trigger a segmentation fault by specifying a large size, leading to a + * denial of service vulnerability. @size must always be entirely under the + * control of the program. + * + * - Special care has to be taken when mixing alloca() with GNU C variable sized arrays. + * Stack space allocated with alloca() in the same scope as a variable sized array + * will be freed together with the variable sized array upon exit of that scope, and + * not upon exit of the enclosing function scope. + * + * Returns: space for @size bytes, allocated on the stack + */ +#define g_alloca(size) alloca (size) + +/** + * g_alloca0: + * @size: number of bytes to allocate. + * + * Wraps g_alloca() and initializes allocated memory to zeroes. + * If @size is `0` it returns %NULL. + * + * Note that the @size argument will be evaluated multiple times. + * + * Returns: (nullable) (transfer full): space for @size bytes, allocated on the stack + * + * Since: 2.72 + */ +#define g_alloca0(size) ((size) == 0 ? NULL : memset (g_alloca (size), 0, (size))) + +/** + * g_newa: + * @struct_type: Type of memory chunks to be allocated + * @n_structs: Number of chunks to be allocated + * + * Wraps g_alloca() in a more typesafe manner. + * + * As mentioned in the documentation for g_alloca(), @n_structs must always be + * entirely under the control of the program, or you may introduce a denial of + * service vulnerability. In addition, the multiplication of @struct_type by + * @n_structs is not checked, so an overflow may lead to a remote code execution + * vulnerability. + * + * Returns: Pointer to stack space for @n_structs chunks of type @struct_type + */ +#define g_newa(struct_type, n_structs) ((struct_type*) g_alloca (sizeof (struct_type) * (gsize) (n_structs))) + +/** + * g_newa0: + * @struct_type: the type of the elements to allocate. + * @n_structs: the number of elements to allocate. + * + * Wraps g_alloca0() in a more typesafe manner. + * + * Returns: (nullable) (transfer full): Pointer to stack space for @n_structs + * chunks of type @struct_type + * + * Since: 2.72 + */ +#define g_newa0(struct_type, n_structs) ((struct_type*) g_alloca0 (sizeof (struct_type) * (gsize) (n_structs))) + +#endif /* __G_ALLOCA_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/garray.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/garray.h new file mode 100644 index 0000000..5dc32b2 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/garray.h @@ -0,0 +1,323 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_ARRAY_H__ +#define __G_ARRAY_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +typedef struct _GBytes GBytes; +typedef struct _GArray GArray; +typedef struct _GByteArray GByteArray; +typedef struct _GPtrArray GPtrArray; + +struct _GArray +{ + gchar *data; + guint len; +}; + +struct _GByteArray +{ + guint8 *data; + guint len; +}; + +struct _GPtrArray +{ + gpointer *pdata; + guint len; +}; + +/* Resizable arrays. remove fills any cleared spot and shortens the + * array, while preserving the order. remove_fast will distort the + * order by moving the last element to the position of the removed. + */ + +#define g_array_append_val(a,v) g_array_append_vals (a, &(v), 1) +#define g_array_prepend_val(a,v) g_array_prepend_vals (a, &(v), 1) +#define g_array_insert_val(a,i,v) g_array_insert_vals (a, i, &(v), 1) +#define g_array_index(a,t,i) (((t*) (void *) (a)->data) [(i)]) + +GLIB_AVAILABLE_IN_ALL +GArray* g_array_new (gboolean zero_terminated, + gboolean clear_, + guint element_size); +GLIB_AVAILABLE_IN_2_76 +GArray* g_array_new_take (gpointer data, + gsize len, + gboolean clear, + gsize element_size); +GLIB_AVAILABLE_IN_2_76 +GArray* g_array_new_take_zero_terminated (gpointer data, + gboolean clear, + gsize element_size); +GLIB_AVAILABLE_IN_2_64 +gpointer g_array_steal (GArray *array, + gsize *len); +GLIB_AVAILABLE_IN_ALL +GArray* g_array_sized_new (gboolean zero_terminated, + gboolean clear_, + guint element_size, + guint reserved_size); +GLIB_AVAILABLE_IN_2_62 +GArray* g_array_copy (GArray *array); +GLIB_AVAILABLE_IN_ALL +gchar* g_array_free (GArray *array, + gboolean free_segment); +GLIB_AVAILABLE_IN_ALL +GArray *g_array_ref (GArray *array); +GLIB_AVAILABLE_IN_ALL +void g_array_unref (GArray *array); +GLIB_AVAILABLE_IN_ALL +guint g_array_get_element_size (GArray *array); +GLIB_AVAILABLE_IN_ALL +GArray* g_array_append_vals (GArray *array, + gconstpointer data, + guint len); +GLIB_AVAILABLE_IN_ALL +GArray* g_array_prepend_vals (GArray *array, + gconstpointer data, + guint len); +GLIB_AVAILABLE_IN_ALL +GArray* g_array_insert_vals (GArray *array, + guint index_, + gconstpointer data, + guint len); +GLIB_AVAILABLE_IN_ALL +GArray* g_array_set_size (GArray *array, + guint length); +GLIB_AVAILABLE_IN_ALL +GArray* g_array_remove_index (GArray *array, + guint index_); +GLIB_AVAILABLE_IN_ALL +GArray* g_array_remove_index_fast (GArray *array, + guint index_); +GLIB_AVAILABLE_IN_ALL +GArray* g_array_remove_range (GArray *array, + guint index_, + guint length); +GLIB_AVAILABLE_IN_ALL +void g_array_sort (GArray *array, + GCompareFunc compare_func); +GLIB_AVAILABLE_IN_ALL +void g_array_sort_with_data (GArray *array, + GCompareDataFunc compare_func, + gpointer user_data); +GLIB_AVAILABLE_IN_2_62 +gboolean g_array_binary_search (GArray *array, + gconstpointer target, + GCompareFunc compare_func, + guint *out_match_index); +GLIB_AVAILABLE_IN_ALL +void g_array_set_clear_func (GArray *array, + GDestroyNotify clear_func); + +/* Resizable pointer array. This interface is much less complicated + * than the above. Add appends a pointer. Remove fills any cleared + * spot and shortens the array. remove_fast will again distort order. + */ +#define g_ptr_array_index(array,index_) ((array)->pdata)[index_] +GLIB_AVAILABLE_IN_ALL +GPtrArray* g_ptr_array_new (void); +GLIB_AVAILABLE_IN_ALL +GPtrArray* g_ptr_array_new_with_free_func (GDestroyNotify element_free_func); +GLIB_AVAILABLE_IN_2_76 +GPtrArray* g_ptr_array_new_take (gpointer *data, + gsize len, + GDestroyNotify element_free_func); +GLIB_AVAILABLE_IN_2_76 +GPtrArray* g_ptr_array_new_from_array (gpointer *data, + gsize len, + GCopyFunc copy_func, + gpointer copy_func_user_data, + GDestroyNotify element_free_func); +GLIB_AVAILABLE_IN_2_64 +gpointer* g_ptr_array_steal (GPtrArray *array, + gsize *len); +GLIB_AVAILABLE_IN_2_62 +GPtrArray *g_ptr_array_copy (GPtrArray *array, + GCopyFunc func, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +GPtrArray* g_ptr_array_sized_new (guint reserved_size); +GLIB_AVAILABLE_IN_ALL +GPtrArray* g_ptr_array_new_full (guint reserved_size, + GDestroyNotify element_free_func); +GLIB_AVAILABLE_IN_2_74 +GPtrArray* g_ptr_array_new_null_terminated (guint reserved_size, + GDestroyNotify element_free_func, + gboolean null_terminated); +GLIB_AVAILABLE_IN_2_76 +GPtrArray* g_ptr_array_new_take_null_terminated (gpointer *data, + GDestroyNotify element_free_func); +GLIB_AVAILABLE_IN_2_76 +GPtrArray* g_ptr_array_new_from_null_terminated_array (gpointer *data, + GCopyFunc copy_func, + gpointer copy_func_user_data, + GDestroyNotify element_free_func); +GLIB_AVAILABLE_IN_ALL +gpointer* g_ptr_array_free (GPtrArray *array, + gboolean free_seg); +GLIB_AVAILABLE_IN_ALL +GPtrArray* g_ptr_array_ref (GPtrArray *array); +GLIB_AVAILABLE_IN_ALL +void g_ptr_array_unref (GPtrArray *array); +GLIB_AVAILABLE_IN_ALL +void g_ptr_array_set_free_func (GPtrArray *array, + GDestroyNotify element_free_func); +GLIB_AVAILABLE_IN_ALL +void g_ptr_array_set_size (GPtrArray *array, + gint length); +GLIB_AVAILABLE_IN_ALL +gpointer g_ptr_array_remove_index (GPtrArray *array, + guint index_); +GLIB_AVAILABLE_IN_ALL +gpointer g_ptr_array_remove_index_fast (GPtrArray *array, + guint index_); +GLIB_AVAILABLE_IN_2_58 +gpointer g_ptr_array_steal_index (GPtrArray *array, + guint index_); +GLIB_AVAILABLE_IN_2_58 +gpointer g_ptr_array_steal_index_fast (GPtrArray *array, + guint index_); +GLIB_AVAILABLE_IN_ALL +gboolean g_ptr_array_remove (GPtrArray *array, + gpointer data); +GLIB_AVAILABLE_IN_ALL +gboolean g_ptr_array_remove_fast (GPtrArray *array, + gpointer data); +GLIB_AVAILABLE_IN_ALL +GPtrArray *g_ptr_array_remove_range (GPtrArray *array, + guint index_, + guint length); +GLIB_AVAILABLE_IN_ALL +void g_ptr_array_add (GPtrArray *array, + gpointer data); +GLIB_AVAILABLE_IN_2_62 +void g_ptr_array_extend (GPtrArray *array_to_extend, + GPtrArray *array, + GCopyFunc func, + gpointer user_data); +GLIB_AVAILABLE_IN_2_62 +void g_ptr_array_extend_and_steal (GPtrArray *array_to_extend, + GPtrArray *array); +GLIB_AVAILABLE_IN_2_40 +void g_ptr_array_insert (GPtrArray *array, + gint index_, + gpointer data); +GLIB_AVAILABLE_IN_ALL +void g_ptr_array_sort (GPtrArray *array, + GCompareFunc compare_func); +GLIB_AVAILABLE_IN_ALL +void g_ptr_array_sort_with_data (GPtrArray *array, + GCompareDataFunc compare_func, + gpointer user_data); +GLIB_AVAILABLE_IN_2_76 +void g_ptr_array_sort_values (GPtrArray *array, + GCompareFunc compare_func); +GLIB_AVAILABLE_IN_2_76 +void g_ptr_array_sort_values_with_data (GPtrArray *array, + GCompareDataFunc compare_func, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +void g_ptr_array_foreach (GPtrArray *array, + GFunc func, + gpointer user_data); +GLIB_AVAILABLE_IN_2_54 +gboolean g_ptr_array_find (GPtrArray *haystack, + gconstpointer needle, + guint *index_); +GLIB_AVAILABLE_IN_2_54 +gboolean g_ptr_array_find_with_equal_func (GPtrArray *haystack, + gconstpointer needle, + GEqualFunc equal_func, + guint *index_); + +GLIB_AVAILABLE_IN_2_74 +gboolean g_ptr_array_is_null_terminated (GPtrArray *array); + +/* Byte arrays, an array of guint8. Implemented as a GArray, + * but type-safe. + */ + +GLIB_AVAILABLE_IN_ALL +GByteArray* g_byte_array_new (void); +GLIB_AVAILABLE_IN_ALL +GByteArray* g_byte_array_new_take (guint8 *data, + gsize len); +GLIB_AVAILABLE_IN_2_64 +guint8* g_byte_array_steal (GByteArray *array, + gsize *len); +GLIB_AVAILABLE_IN_ALL +GByteArray* g_byte_array_sized_new (guint reserved_size); +GLIB_AVAILABLE_IN_ALL +guint8* g_byte_array_free (GByteArray *array, + gboolean free_segment); +GLIB_AVAILABLE_IN_ALL +GBytes* g_byte_array_free_to_bytes (GByteArray *array); +GLIB_AVAILABLE_IN_ALL +GByteArray *g_byte_array_ref (GByteArray *array); +GLIB_AVAILABLE_IN_ALL +void g_byte_array_unref (GByteArray *array); +GLIB_AVAILABLE_IN_ALL +GByteArray* g_byte_array_append (GByteArray *array, + const guint8 *data, + guint len); +GLIB_AVAILABLE_IN_ALL +GByteArray* g_byte_array_prepend (GByteArray *array, + const guint8 *data, + guint len); +GLIB_AVAILABLE_IN_ALL +GByteArray* g_byte_array_set_size (GByteArray *array, + guint length); +GLIB_AVAILABLE_IN_ALL +GByteArray* g_byte_array_remove_index (GByteArray *array, + guint index_); +GLIB_AVAILABLE_IN_ALL +GByteArray* g_byte_array_remove_index_fast (GByteArray *array, + guint index_); +GLIB_AVAILABLE_IN_ALL +GByteArray* g_byte_array_remove_range (GByteArray *array, + guint index_, + guint length); +GLIB_AVAILABLE_IN_ALL +void g_byte_array_sort (GByteArray *array, + GCompareFunc compare_func); +GLIB_AVAILABLE_IN_ALL +void g_byte_array_sort_with_data (GByteArray *array, + GCompareDataFunc compare_func, + gpointer user_data); + +G_END_DECLS + +#endif /* __G_ARRAY_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gasyncqueue.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gasyncqueue.h new file mode 100644 index 0000000..b1de117 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gasyncqueue.h @@ -0,0 +1,126 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_ASYNCQUEUE_H__ +#define __G_ASYNCQUEUE_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +typedef struct _GAsyncQueue GAsyncQueue; + +GLIB_AVAILABLE_IN_ALL +GAsyncQueue *g_async_queue_new (void); +GLIB_AVAILABLE_IN_ALL +GAsyncQueue *g_async_queue_new_full (GDestroyNotify item_free_func); +GLIB_AVAILABLE_IN_ALL +void g_async_queue_lock (GAsyncQueue *queue); +GLIB_AVAILABLE_IN_ALL +void g_async_queue_unlock (GAsyncQueue *queue); +GLIB_AVAILABLE_IN_ALL +GAsyncQueue *g_async_queue_ref (GAsyncQueue *queue); +GLIB_AVAILABLE_IN_ALL +void g_async_queue_unref (GAsyncQueue *queue); + +GLIB_DEPRECATED_FOR(g_async_queue_ref) +void g_async_queue_ref_unlocked (GAsyncQueue *queue); + +GLIB_DEPRECATED_FOR(g_async_queue_unref) +void g_async_queue_unref_and_unlock (GAsyncQueue *queue); + +GLIB_AVAILABLE_IN_ALL +void g_async_queue_push (GAsyncQueue *queue, + gpointer data); +GLIB_AVAILABLE_IN_ALL +void g_async_queue_push_unlocked (GAsyncQueue *queue, + gpointer data); +GLIB_AVAILABLE_IN_ALL +void g_async_queue_push_sorted (GAsyncQueue *queue, + gpointer data, + GCompareDataFunc func, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +void g_async_queue_push_sorted_unlocked (GAsyncQueue *queue, + gpointer data, + GCompareDataFunc func, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +gpointer g_async_queue_pop (GAsyncQueue *queue); +GLIB_AVAILABLE_IN_ALL +gpointer g_async_queue_pop_unlocked (GAsyncQueue *queue); +GLIB_AVAILABLE_IN_ALL +gpointer g_async_queue_try_pop (GAsyncQueue *queue); +GLIB_AVAILABLE_IN_ALL +gpointer g_async_queue_try_pop_unlocked (GAsyncQueue *queue); +GLIB_AVAILABLE_IN_ALL +gpointer g_async_queue_timeout_pop (GAsyncQueue *queue, + guint64 timeout); +GLIB_AVAILABLE_IN_ALL +gpointer g_async_queue_timeout_pop_unlocked (GAsyncQueue *queue, + guint64 timeout); +GLIB_AVAILABLE_IN_ALL +gint g_async_queue_length (GAsyncQueue *queue); +GLIB_AVAILABLE_IN_ALL +gint g_async_queue_length_unlocked (GAsyncQueue *queue); +GLIB_AVAILABLE_IN_ALL +void g_async_queue_sort (GAsyncQueue *queue, + GCompareDataFunc func, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +void g_async_queue_sort_unlocked (GAsyncQueue *queue, + GCompareDataFunc func, + gpointer user_data); + +GLIB_AVAILABLE_IN_2_46 +gboolean g_async_queue_remove (GAsyncQueue *queue, + gpointer item); +GLIB_AVAILABLE_IN_2_46 +gboolean g_async_queue_remove_unlocked (GAsyncQueue *queue, + gpointer item); +GLIB_AVAILABLE_IN_2_46 +void g_async_queue_push_front (GAsyncQueue *queue, + gpointer item); +GLIB_AVAILABLE_IN_2_46 +void g_async_queue_push_front_unlocked (GAsyncQueue *queue, + gpointer item); + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_DEPRECATED_FOR(g_async_queue_timeout_pop) +gpointer g_async_queue_timed_pop (GAsyncQueue *queue, + GTimeVal *end_time); +GLIB_DEPRECATED_FOR(g_async_queue_timeout_pop_unlocked) +gpointer g_async_queue_timed_pop_unlocked (GAsyncQueue *queue, + GTimeVal *end_time); +G_GNUC_END_IGNORE_DEPRECATIONS + +G_END_DECLS + +#endif /* __G_ASYNCQUEUE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gatomic.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gatomic.h new file mode 100644 index 0000000..148424d --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gatomic.h @@ -0,0 +1,587 @@ +/* + * Copyright © 2011 Ryan Lortie + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + * + * Author: Ryan Lortie + */ + +#ifndef __G_ATOMIC_H__ +#define __G_ATOMIC_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +GLIB_AVAILABLE_IN_ALL +gint g_atomic_int_get (const volatile gint *atomic); +GLIB_AVAILABLE_IN_ALL +void g_atomic_int_set (volatile gint *atomic, + gint newval); +GLIB_AVAILABLE_IN_ALL +void g_atomic_int_inc (volatile gint *atomic); +GLIB_AVAILABLE_IN_ALL +gboolean g_atomic_int_dec_and_test (volatile gint *atomic); +GLIB_AVAILABLE_IN_ALL +gboolean g_atomic_int_compare_and_exchange (volatile gint *atomic, + gint oldval, + gint newval); +GLIB_AVAILABLE_IN_2_74 +gboolean g_atomic_int_compare_and_exchange_full (gint *atomic, + gint oldval, + gint newval, + gint *preval); +GLIB_AVAILABLE_IN_2_74 +gint g_atomic_int_exchange (gint *atomic, + gint newval); +GLIB_AVAILABLE_IN_ALL +gint g_atomic_int_add (volatile gint *atomic, + gint val); +GLIB_AVAILABLE_IN_2_30 +guint g_atomic_int_and (volatile guint *atomic, + guint val); +GLIB_AVAILABLE_IN_2_30 +guint g_atomic_int_or (volatile guint *atomic, + guint val); +GLIB_AVAILABLE_IN_ALL +guint g_atomic_int_xor (volatile guint *atomic, + guint val); + +GLIB_AVAILABLE_IN_ALL +gpointer g_atomic_pointer_get (const volatile void *atomic); +GLIB_AVAILABLE_IN_ALL +void g_atomic_pointer_set (volatile void *atomic, + gpointer newval); +GLIB_AVAILABLE_IN_ALL +gboolean g_atomic_pointer_compare_and_exchange (volatile void *atomic, + gpointer oldval, + gpointer newval); +GLIB_AVAILABLE_IN_2_74 +gboolean g_atomic_pointer_compare_and_exchange_full (void *atomic, + gpointer oldval, + gpointer newval, + void *preval); +GLIB_AVAILABLE_IN_2_74 +gpointer g_atomic_pointer_exchange (void *atomic, + gpointer newval); +GLIB_AVAILABLE_IN_ALL +gssize g_atomic_pointer_add (volatile void *atomic, + gssize val); +GLIB_AVAILABLE_IN_2_30 +gsize g_atomic_pointer_and (volatile void *atomic, + gsize val); +GLIB_AVAILABLE_IN_2_30 +gsize g_atomic_pointer_or (volatile void *atomic, + gsize val); +GLIB_AVAILABLE_IN_ALL +gsize g_atomic_pointer_xor (volatile void *atomic, + gsize val); + +GLIB_DEPRECATED_IN_2_30_FOR(g_atomic_int_add) +gint g_atomic_int_exchange_and_add (volatile gint *atomic, + gint val); + +G_END_DECLS + +#if defined(G_ATOMIC_LOCK_FREE) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) + +/* We prefer the new C11-style atomic extension of GCC if available */ +#if defined(__ATOMIC_SEQ_CST) + +#define g_atomic_int_get(atomic) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + gint gaig_temp; \ + (void) (0 ? *(atomic) ^ *(atomic) : 1); \ + __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST); \ + (gint) gaig_temp; \ + })) +#define g_atomic_int_set(atomic, newval) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + gint gais_temp = (gint) (newval); \ + (void) (0 ? *(atomic) ^ (newval) : 1); \ + __atomic_store ((gint *)(atomic), &gais_temp, __ATOMIC_SEQ_CST); \ + })) + +#if defined(glib_typeof) +#define g_atomic_pointer_get(atomic) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + glib_typeof (*(atomic)) gapg_temp_newval; \ + glib_typeof ((atomic)) gapg_temp_atomic = (atomic); \ + __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \ + gapg_temp_newval; \ + })) +#define g_atomic_pointer_set(atomic, newval) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + glib_typeof ((atomic)) gaps_temp_atomic = (atomic); \ + glib_typeof (*(atomic)) gaps_temp_newval = (newval); \ + (void) (0 ? (gpointer) * (atomic) : NULL); \ + __atomic_store (gaps_temp_atomic, &gaps_temp_newval, __ATOMIC_SEQ_CST); \ + })) +#else /* if !(defined(glib_typeof) */ +#define g_atomic_pointer_get(atomic) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + gpointer gapg_temp_newval; \ + gpointer *gapg_temp_atomic = (gpointer *)(atomic); \ + __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \ + gapg_temp_newval; \ + })) +#define g_atomic_pointer_set(atomic, newval) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + gpointer *gaps_temp_atomic = (gpointer *)(atomic); \ + gpointer gaps_temp_newval = (gpointer)(newval); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + __atomic_store (gaps_temp_atomic, &gaps_temp_newval, __ATOMIC_SEQ_CST); \ + })) +#endif /* if defined(glib_typeof) */ + +#define g_atomic_int_inc(atomic) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ *(atomic) : 1); \ + (void) __atomic_fetch_add ((atomic), 1, __ATOMIC_SEQ_CST); \ + })) +#define g_atomic_int_dec_and_test(atomic) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ *(atomic) : 1); \ + __atomic_fetch_sub ((atomic), 1, __ATOMIC_SEQ_CST) == 1; \ + })) +#if defined(glib_typeof) && defined(G_CXX_STD_VERSION) +/* See comments below about equivalent g_atomic_pointer_compare_and_exchange() + * shenanigans for type-safety when compiling in C++ mode. */ +#define g_atomic_int_compare_and_exchange(atomic, oldval, newval) \ + (G_GNUC_EXTENSION ({ \ + glib_typeof (*(atomic)) gaicae_oldval = (oldval); \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ (newval) ^ (oldval) : 1); \ + __atomic_compare_exchange_n ((atomic), &gaicae_oldval, (newval), FALSE, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ? TRUE : FALSE; \ + })) +#else /* if !(defined(glib_typeof) && defined(G_CXX_STD_VERSION)) */ +#define g_atomic_int_compare_and_exchange(atomic, oldval, newval) \ + (G_GNUC_EXTENSION ({ \ + gint gaicae_oldval = (oldval); \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ (newval) ^ (oldval) : 1); \ + __atomic_compare_exchange_n ((atomic), (void *) (&(gaicae_oldval)), (newval), FALSE, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ? TRUE : FALSE; \ + })) +#endif /* defined(glib_typeof) */ +#define g_atomic_int_compare_and_exchange_full(atomic, oldval, newval, preval) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + G_STATIC_ASSERT (sizeof *(preval) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ (newval) ^ (oldval) ^ *(preval) : 1); \ + *(preval) = (oldval); \ + __atomic_compare_exchange_n ((atomic), (preval), (newval), FALSE, \ + __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) \ + ? TRUE : FALSE; \ + })) +#define g_atomic_int_exchange(atomic, newval) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ (newval) : 1); \ + (gint) __atomic_exchange_n ((atomic), (newval), __ATOMIC_SEQ_CST); \ + })) +#define g_atomic_int_add(atomic, val) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ (val) : 1); \ + (gint) __atomic_fetch_add ((atomic), (val), __ATOMIC_SEQ_CST); \ + })) +#define g_atomic_int_and(atomic, val) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ (val) : 1); \ + (guint) __atomic_fetch_and ((atomic), (val), __ATOMIC_SEQ_CST); \ + })) +#define g_atomic_int_or(atomic, val) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ (val) : 1); \ + (guint) __atomic_fetch_or ((atomic), (val), __ATOMIC_SEQ_CST); \ + })) +#define g_atomic_int_xor(atomic, val) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ (val) : 1); \ + (guint) __atomic_fetch_xor ((atomic), (val), __ATOMIC_SEQ_CST); \ + })) + +#if defined(glib_typeof) && defined(G_CXX_STD_VERSION) +/* This is typesafe because we check we can assign oldval to the type of + * (*atomic). Unfortunately it can only be done in C++ because gcc/clang warn + * when atomic is volatile and not oldval, or when atomic is gsize* and oldval + * is NULL. Note that clang++ force us to be typesafe because it is an error if the 2nd + * argument of __atomic_compare_exchange_n() has a different type than the + * first. + * https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1919 + * https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1715#note_1024120. */ +#define g_atomic_pointer_compare_and_exchange(atomic, oldval, newval) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof (static_cast((oldval))) \ + == sizeof (gpointer)); \ + glib_typeof (*(atomic)) gapcae_oldval = (oldval); \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + __atomic_compare_exchange_n ((atomic), &gapcae_oldval, (newval), FALSE, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ? TRUE : FALSE; \ + })) +#else /* if !(defined(glib_typeof) && defined(G_CXX_STD_VERSION) */ +#define g_atomic_pointer_compare_and_exchange(atomic, oldval, newval) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof (oldval) == sizeof (gpointer)); \ + gpointer gapcae_oldval = (gpointer)(oldval); \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + __atomic_compare_exchange_n ((atomic), (void *) (&(gapcae_oldval)), (newval), FALSE, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ? TRUE : FALSE; \ + })) +#endif /* defined(glib_typeof) */ +#define g_atomic_pointer_compare_and_exchange_full(atomic, oldval, newval, preval) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + G_STATIC_ASSERT (sizeof *(preval) == sizeof (gpointer)); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + (void) (0 ? (gpointer) *(preval) : NULL); \ + *(preval) = (oldval); \ + __atomic_compare_exchange_n ((atomic), (preval), (newval), FALSE, \ + __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ? \ + TRUE : FALSE; \ + })) +#define g_atomic_pointer_exchange(atomic, newval) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + (gpointer) __atomic_exchange_n ((atomic), (newval), __ATOMIC_SEQ_CST); \ + })) +#define g_atomic_pointer_add(atomic, val) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + (void) (0 ? (val) ^ (val) : 1); \ + (gssize) __atomic_fetch_add ((atomic), (val), __ATOMIC_SEQ_CST); \ + })) +#define g_atomic_pointer_and(atomic, val) \ + (G_GNUC_EXTENSION ({ \ + gsize *gapa_atomic = (gsize *) (atomic); \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gsize)); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + (void) (0 ? (val) ^ (val) : 1); \ + (gsize) __atomic_fetch_and (gapa_atomic, (val), __ATOMIC_SEQ_CST); \ + })) +#define g_atomic_pointer_or(atomic, val) \ + (G_GNUC_EXTENSION ({ \ + gsize *gapo_atomic = (gsize *) (atomic); \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gsize)); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + (void) (0 ? (val) ^ (val) : 1); \ + (gsize) __atomic_fetch_or (gapo_atomic, (val), __ATOMIC_SEQ_CST); \ + })) +#define g_atomic_pointer_xor(atomic, val) \ + (G_GNUC_EXTENSION ({ \ + gsize *gapx_atomic = (gsize *) (atomic); \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gsize)); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + (void) (0 ? (val) ^ (val) : 1); \ + (gsize) __atomic_fetch_xor (gapx_atomic, (val), __ATOMIC_SEQ_CST); \ + })) + +#else /* defined(__ATOMIC_SEQ_CST) */ + +/* We want to achieve __ATOMIC_SEQ_CST semantics here. See + * https://en.cppreference.com/w/c/atomic/memory_order#Constants. For load + * operations, that means performing an *acquire*: + * > A load operation with this memory order performs the acquire operation on + * > the affected memory location: no reads or writes in the current thread can + * > be reordered before this load. All writes in other threads that release + * > the same atomic variable are visible in the current thread. + * + * “no reads or writes in the current thread can be reordered before this load” + * is implemented using a compiler barrier (a no-op `__asm__` section) to + * prevent instruction reordering. Writes in other threads are synchronised + * using `__sync_synchronize()`. It’s unclear from the GCC documentation whether + * `__sync_synchronize()` acts as a compiler barrier, hence our explicit use of + * one. + * + * For store operations, `__ATOMIC_SEQ_CST` means performing a *release*: + * > A store operation with this memory order performs the release operation: + * > no reads or writes in the current thread can be reordered after this store. + * > All writes in the current thread are visible in other threads that acquire + * > the same atomic variable (see Release-Acquire ordering below) and writes + * > that carry a dependency into the atomic variable become visible in other + * > threads that consume the same atomic (see Release-Consume ordering below). + * + * “no reads or writes in the current thread can be reordered after this store” + * is implemented using a compiler barrier to prevent instruction reordering. + * “All writes in the current thread are visible in other threads” is implemented + * using `__sync_synchronize()`; similarly for “writes that carry a dependency”. + */ +#define g_atomic_int_get(atomic) \ + (G_GNUC_EXTENSION ({ \ + gint gaig_result; \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ *(atomic) : 1); \ + gaig_result = (gint) *(atomic); \ + __sync_synchronize (); \ + __asm__ __volatile__ ("" : : : "memory"); \ + gaig_result; \ + })) +#define g_atomic_int_set(atomic, newval) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ (newval) : 1); \ + __sync_synchronize (); \ + __asm__ __volatile__ ("" : : : "memory"); \ + *(atomic) = (newval); \ + })) +#define g_atomic_pointer_get(atomic) \ + (G_GNUC_EXTENSION ({ \ + gpointer gapg_result; \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + gapg_result = (gpointer) *(atomic); \ + __sync_synchronize (); \ + __asm__ __volatile__ ("" : : : "memory"); \ + gapg_result; \ + })) +#if defined(glib_typeof) +#define g_atomic_pointer_set(atomic, newval) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + __sync_synchronize (); \ + __asm__ __volatile__ ("" : : : "memory"); \ + *(atomic) = (glib_typeof (*(atomic))) (gsize) (newval); \ + })) +#else /* if !(defined(glib_typeof) */ +#define g_atomic_pointer_set(atomic, newval) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + __sync_synchronize (); \ + __asm__ __volatile__ ("" : : : "memory"); \ + *(atomic) = (gpointer) (gsize) (newval); \ + })) +#endif /* if defined(glib_typeof) */ + +#define g_atomic_int_inc(atomic) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ *(atomic) : 1); \ + (void) __sync_fetch_and_add ((atomic), 1); \ + })) +#define g_atomic_int_dec_and_test(atomic) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ *(atomic) : 1); \ + __sync_fetch_and_sub ((atomic), 1) == 1; \ + })) +#define g_atomic_int_compare_and_exchange(atomic, oldval, newval) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ (newval) ^ (oldval) : 1); \ + __sync_bool_compare_and_swap ((atomic), (oldval), (newval)) ? TRUE : FALSE; \ + })) +#define g_atomic_int_compare_and_exchange_full(atomic, oldval, newval, preval) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + G_STATIC_ASSERT (sizeof *(preval) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ (newval) ^ (oldval) ^ *(preval) : 1); \ + *(preval) = __sync_val_compare_and_swap ((atomic), (oldval), (newval)); \ + (*(preval) == (oldval)) ? TRUE : FALSE; \ + })) +#if defined(_GLIB_GCC_HAVE_SYNC_SWAP) +#define g_atomic_int_exchange(atomic, newval) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ (newval) : 1); \ + (gint) __sync_swap ((atomic), (newval)); \ + })) +#else /* defined(_GLIB_GCC_HAVE_SYNC_SWAP) */ + #define g_atomic_int_exchange(atomic, newval) \ + (G_GNUC_EXTENSION ({ \ + gint oldval; \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ (newval) : 1); \ + do \ + { \ + oldval = *atomic; \ + } while (!__sync_bool_compare_and_swap (atomic, oldval, newval)); \ + oldval; \ + })) +#endif /* defined(_GLIB_GCC_HAVE_SYNC_SWAP) */ +#define g_atomic_int_add(atomic, val) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ (val) : 1); \ + (gint) __sync_fetch_and_add ((atomic), (val)); \ + })) +#define g_atomic_int_and(atomic, val) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ (val) : 1); \ + (guint) __sync_fetch_and_and ((atomic), (val)); \ + })) +#define g_atomic_int_or(atomic, val) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ (val) : 1); \ + (guint) __sync_fetch_and_or ((atomic), (val)); \ + })) +#define g_atomic_int_xor(atomic, val) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ + (void) (0 ? *(atomic) ^ (val) : 1); \ + (guint) __sync_fetch_and_xor ((atomic), (val)); \ + })) + +#define g_atomic_pointer_compare_and_exchange(atomic, oldval, newval) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + __sync_bool_compare_and_swap ((atomic), (oldval), (newval)) ? TRUE : FALSE; \ + })) +#define g_atomic_pointer_compare_and_exchange_full(atomic, oldval, newval, preval) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + G_STATIC_ASSERT (sizeof *(preval) == sizeof (gpointer)); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + (void) (0 ? (gpointer) *(preval) : NULL); \ + *(preval) = __sync_val_compare_and_swap ((atomic), (oldval), (newval)); \ + (*(preval) == (oldval)) ? TRUE : FALSE; \ + })) +#if defined(_GLIB_GCC_HAVE_SYNC_SWAP) +#define g_atomic_pointer_exchange(atomic, newval) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + (gpointer) __sync_swap ((atomic), (newval)); \ + })) +#else +#define g_atomic_pointer_exchange(atomic, newval) \ + (G_GNUC_EXTENSION ({ \ + gpointer oldval; \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + do \ + { \ + oldval = (gpointer) *atomic; \ + } while (!__sync_bool_compare_and_swap (atomic, oldval, newval)); \ + oldval; \ + })) +#endif /* defined(_GLIB_GCC_HAVE_SYNC_SWAP) */ +#define g_atomic_pointer_add(atomic, val) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + (void) (0 ? (val) ^ (val) : 1); \ + (gssize) __sync_fetch_and_add ((atomic), (val)); \ + })) +#define g_atomic_pointer_and(atomic, val) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + (void) (0 ? (val) ^ (val) : 1); \ + (gsize) __sync_fetch_and_and ((atomic), (val)); \ + })) +#define g_atomic_pointer_or(atomic, val) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + (void) (0 ? (val) ^ (val) : 1); \ + (gsize) __sync_fetch_and_or ((atomic), (val)); \ + })) +#define g_atomic_pointer_xor(atomic, val) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ + (void) (0 ? (gpointer) *(atomic) : NULL); \ + (void) (0 ? (val) ^ (val) : 1); \ + (gsize) __sync_fetch_and_xor ((atomic), (val)); \ + })) + +#endif /* !defined(__ATOMIC_SEQ_CST) */ + +#else /* defined(G_ATOMIC_LOCK_FREE) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) */ + +#define g_atomic_int_get(atomic) \ + (g_atomic_int_get ((gint *) (atomic))) +#define g_atomic_int_set(atomic, newval) \ + (g_atomic_int_set ((gint *) (atomic), (gint) (newval))) +#define g_atomic_int_compare_and_exchange(atomic, oldval, newval) \ + (g_atomic_int_compare_and_exchange ((gint *) (atomic), (oldval), (newval))) +#define g_atomic_int_compare_and_exchange_full(atomic, oldval, newval, preval) \ + (g_atomic_int_compare_and_exchange_full ((gint *) (atomic), (oldval), (newval), (gint *) (preval))) +#define g_atomic_int_exchange(atomic, newval) \ + (g_atomic_int_exchange ((gint *) (atomic), (newval))) +#define g_atomic_int_add(atomic, val) \ + (g_atomic_int_add ((gint *) (atomic), (val))) +#define g_atomic_int_and(atomic, val) \ + (g_atomic_int_and ((guint *) (atomic), (val))) +#define g_atomic_int_or(atomic, val) \ + (g_atomic_int_or ((guint *) (atomic), (val))) +#define g_atomic_int_xor(atomic, val) \ + (g_atomic_int_xor ((guint *) (atomic), (val))) +#define g_atomic_int_inc(atomic) \ + (g_atomic_int_inc ((gint *) (atomic))) +#define g_atomic_int_dec_and_test(atomic) \ + (g_atomic_int_dec_and_test ((gint *) (atomic))) + +#if defined(glib_typeof) + /* The (void *) cast in the middle *looks* redundant, because + * g_atomic_pointer_get returns void * already, but it's to silence + * -Werror=bad-function-cast when we're doing something like: + * guintptr a, b; ...; a = g_atomic_pointer_get (&b); + * which would otherwise be assigning the void * result of + * g_atomic_pointer_get directly to the pointer-sized but + * non-pointer-typed result. */ +#define g_atomic_pointer_get(atomic) \ + (glib_typeof (*(atomic))) (void *) ((g_atomic_pointer_get) ((void *) atomic)) +#else /* !(defined(glib_typeof) */ +#define g_atomic_pointer_get(atomic) \ + (g_atomic_pointer_get (atomic)) +#endif + +#define g_atomic_pointer_set(atomic, newval) \ + (g_atomic_pointer_set ((atomic), (gpointer) (newval))) + +#define g_atomic_pointer_compare_and_exchange(atomic, oldval, newval) \ + (g_atomic_pointer_compare_and_exchange ((atomic), (gpointer) (oldval), (gpointer) (newval))) +#define g_atomic_pointer_compare_and_exchange_full(atomic, oldval, newval, prevval) \ + (g_atomic_pointer_compare_and_exchange_full ((atomic), (gpointer) (oldval), (gpointer) (newval), (prevval))) +#define g_atomic_pointer_exchange(atomic, newval) \ + (g_atomic_pointer_exchange ((atomic), (gpointer) (newval))) +#define g_atomic_pointer_add(atomic, val) \ + (g_atomic_pointer_add ((atomic), (gssize) (val))) +#define g_atomic_pointer_and(atomic, val) \ + (g_atomic_pointer_and ((atomic), (gsize) (val))) +#define g_atomic_pointer_or(atomic, val) \ + (g_atomic_pointer_or ((atomic), (gsize) (val))) +#define g_atomic_pointer_xor(atomic, val) \ + (g_atomic_pointer_xor ((atomic), (gsize) (val))) + +#endif /* defined(G_ATOMIC_LOCK_FREE) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) */ + +#endif /* __G_ATOMIC_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gbacktrace.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gbacktrace.h new file mode 100644 index 0000000..11293b3 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gbacktrace.h @@ -0,0 +1,74 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_BACKTRACE_H__ +#define __G_BACKTRACE_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#ifdef __sun__ +#include +#endif +#include + +G_BEGIN_DECLS + +GLIB_AVAILABLE_IN_ALL +void g_on_error_query (const gchar *prg_name); +GLIB_AVAILABLE_IN_ALL +void g_on_error_stack_trace (const gchar *prg_name); + +/** + * G_BREAKPOINT: + * + * Inserts a breakpoint instruction into the code. + * + * On architectures which support it, this is implemented as a soft interrupt + * and on other architectures it raises a `SIGTRAP` signal. + * + * `SIGTRAP` is used rather than abort() to allow breakpoints to be skipped past + * in a debugger if they are not the desired target of debugging. + */ +#if (defined (__i386__) || defined (__x86_64__)) && defined (__GNUC__) && __GNUC__ >= 2 +# define G_BREAKPOINT() G_STMT_START{ __asm__ __volatile__ ("int $03"); }G_STMT_END +#elif (defined (_MSC_VER) || defined (__DMC__)) && defined (_M_IX86) +# define G_BREAKPOINT() G_STMT_START{ __asm int 3h }G_STMT_END +#elif defined (_MSC_VER) +# define G_BREAKPOINT() G_STMT_START{ __debugbreak(); }G_STMT_END +#elif defined (__alpha__) && !defined(__osf__) && defined (__GNUC__) && __GNUC__ >= 2 +# define G_BREAKPOINT() G_STMT_START{ __asm__ __volatile__ ("bpt"); }G_STMT_END +#elif defined (__APPLE__) || (defined(_WIN32) && (defined(__clang__) || defined(__GNUC__))) +# define G_BREAKPOINT() G_STMT_START{ __builtin_trap(); }G_STMT_END +#else /* !__i386__ && !__alpha__ */ +# define G_BREAKPOINT() G_STMT_START{ raise (SIGTRAP); }G_STMT_END +#endif /* __i386__ */ + +G_END_DECLS + +#endif /* __G_BACKTRACE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gbase64.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gbase64.h new file mode 100644 index 0000000..4cb9ef2 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gbase64.h @@ -0,0 +1,63 @@ +/* gbase64.h - Base64 coding functions + * + * Copyright (C) 2005 Alexander Larsson + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef __G_BASE64_H__ +#define __G_BASE64_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +GLIB_AVAILABLE_IN_ALL +gsize g_base64_encode_step (const guchar *in, + gsize len, + gboolean break_lines, + gchar *out, + gint *state, + gint *save); +GLIB_AVAILABLE_IN_ALL +gsize g_base64_encode_close (gboolean break_lines, + gchar *out, + gint *state, + gint *save); +GLIB_AVAILABLE_IN_ALL +gchar* g_base64_encode (const guchar *data, + gsize len) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gsize g_base64_decode_step (const gchar *in, + gsize len, + guchar *out, + gint *state, + guint *save); +GLIB_AVAILABLE_IN_ALL +guchar *g_base64_decode (const gchar *text, + gsize *out_len) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +guchar *g_base64_decode_inplace (gchar *text, + gsize *out_len); + + +G_END_DECLS + +#endif /* __G_BASE64_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gbitlock.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gbitlock.h new file mode 100644 index 0000000..bef2c09 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gbitlock.h @@ -0,0 +1,78 @@ +/* + * Copyright © 2008 Ryan Lortie + * Copyright © 2010 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + * + * Author: Ryan Lortie + */ + +#ifndef __G_BITLOCK_H__ +#define __G_BITLOCK_H__ + +#include + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +G_BEGIN_DECLS + +GLIB_AVAILABLE_IN_ALL +void g_bit_lock (volatile gint *address, + gint lock_bit); +GLIB_AVAILABLE_IN_ALL +gboolean g_bit_trylock (volatile gint *address, + gint lock_bit); +GLIB_AVAILABLE_IN_ALL +void g_bit_unlock (volatile gint *address, + gint lock_bit); + +GLIB_AVAILABLE_IN_ALL +void g_pointer_bit_lock (volatile void *address, + gint lock_bit); +GLIB_AVAILABLE_IN_ALL +gboolean g_pointer_bit_trylock (volatile void *address, + gint lock_bit); +GLIB_AVAILABLE_IN_ALL +void g_pointer_bit_unlock (volatile void *address, + gint lock_bit); + +#ifdef __GNUC__ + +#define g_pointer_bit_lock(address, lock_bit) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(address) == sizeof (gpointer)); \ + g_pointer_bit_lock ((address), (lock_bit)); \ + })) + +#define g_pointer_bit_trylock(address, lock_bit) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(address) == sizeof (gpointer)); \ + g_pointer_bit_trylock ((address), (lock_bit)); \ + })) + +#define g_pointer_bit_unlock(address, lock_bit) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(address) == sizeof (gpointer)); \ + g_pointer_bit_unlock ((address), (lock_bit)); \ + })) + +#endif + +G_END_DECLS + +#endif /* __G_BITLOCK_H_ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gbookmarkfile.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gbookmarkfile.h new file mode 100644 index 0000000..f753420 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gbookmarkfile.h @@ -0,0 +1,300 @@ +/* gbookmarkfile.h: parsing and building desktop bookmarks + * + * Copyright (C) 2005-2006 Emmanuele Bassi + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef __G_BOOKMARK_FILE_H__ +#define __G_BOOKMARK_FILE_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include + +G_BEGIN_DECLS + +/** + * G_BOOKMARK_FILE_ERROR: + * + * Error domain for bookmark file parsing. + * + * Errors in this domain will be from the #GBookmarkFileError + * enumeration. See #GError for information on error domains. + */ +#define G_BOOKMARK_FILE_ERROR (g_bookmark_file_error_quark ()) + + +/** + * GBookmarkFileError: + * @G_BOOKMARK_FILE_ERROR_INVALID_URI: URI was ill-formed + * @G_BOOKMARK_FILE_ERROR_INVALID_VALUE: a requested field was not found + * @G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED: a requested application did + * not register a bookmark + * @G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND: a requested URI was not found + * @G_BOOKMARK_FILE_ERROR_READ: document was ill formed + * @G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING: the text being parsed was + * in an unknown encoding + * @G_BOOKMARK_FILE_ERROR_WRITE: an error occurred while writing + * @G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND: requested file was not found + * + * Error codes returned by bookmark file parsing. + */ +typedef enum +{ + G_BOOKMARK_FILE_ERROR_INVALID_URI, + G_BOOKMARK_FILE_ERROR_INVALID_VALUE, + G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED, + G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND, + G_BOOKMARK_FILE_ERROR_READ, + G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING, + G_BOOKMARK_FILE_ERROR_WRITE, + G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND +} GBookmarkFileError; + +GLIB_AVAILABLE_IN_ALL +GQuark g_bookmark_file_error_quark (void); + +/** + * GBookmarkFile: + * + * An opaque data structure representing a set of bookmarks. + */ +typedef struct _GBookmarkFile GBookmarkFile; + +GLIB_AVAILABLE_IN_ALL +GBookmarkFile *g_bookmark_file_new (void); +GLIB_AVAILABLE_IN_ALL +void g_bookmark_file_free (GBookmarkFile *bookmark); + +GLIB_AVAILABLE_IN_2_76 +GBookmarkFile *g_bookmark_file_copy (GBookmarkFile *bookmark); + +GLIB_AVAILABLE_IN_ALL +gboolean g_bookmark_file_load_from_file (GBookmarkFile *bookmark, + const gchar *filename, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_bookmark_file_load_from_data (GBookmarkFile *bookmark, + const gchar *data, + gsize length, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_bookmark_file_load_from_data_dirs (GBookmarkFile *bookmark, + const gchar *file, + gchar **full_path, + GError **error); +GLIB_AVAILABLE_IN_ALL +gchar * g_bookmark_file_to_data (GBookmarkFile *bookmark, + gsize *length, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gboolean g_bookmark_file_to_file (GBookmarkFile *bookmark, + const gchar *filename, + GError **error); + +GLIB_AVAILABLE_IN_ALL +void g_bookmark_file_set_title (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *title); +GLIB_AVAILABLE_IN_ALL +gchar * g_bookmark_file_get_title (GBookmarkFile *bookmark, + const gchar *uri, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +void g_bookmark_file_set_description (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *description); +GLIB_AVAILABLE_IN_ALL +gchar * g_bookmark_file_get_description (GBookmarkFile *bookmark, + const gchar *uri, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +void g_bookmark_file_set_mime_type (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *mime_type); +GLIB_AVAILABLE_IN_ALL +gchar * g_bookmark_file_get_mime_type (GBookmarkFile *bookmark, + const gchar *uri, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +void g_bookmark_file_set_groups (GBookmarkFile *bookmark, + const gchar *uri, + const gchar **groups, + gsize length); +GLIB_AVAILABLE_IN_ALL +void g_bookmark_file_add_group (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *group); +GLIB_AVAILABLE_IN_ALL +gboolean g_bookmark_file_has_group (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *group, + GError **error); +GLIB_AVAILABLE_IN_ALL +gchar ** g_bookmark_file_get_groups (GBookmarkFile *bookmark, + const gchar *uri, + gsize *length, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_bookmark_file_add_application (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *name, + const gchar *exec); +GLIB_AVAILABLE_IN_ALL +gboolean g_bookmark_file_has_application (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *name, + GError **error); +GLIB_AVAILABLE_IN_ALL +gchar ** g_bookmark_file_get_applications (GBookmarkFile *bookmark, + const gchar *uri, + gsize *length, + GError **error); +GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_set_application_info) +gboolean g_bookmark_file_set_app_info (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *name, + const gchar *exec, + gint count, + time_t stamp, + GError **error); +GLIB_AVAILABLE_IN_2_66 +gboolean g_bookmark_file_set_application_info (GBookmarkFile *bookmark, + const char *uri, + const char *name, + const char *exec, + int count, + GDateTime *stamp, + GError **error); +GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_get_application_info) +gboolean g_bookmark_file_get_app_info (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *name, + gchar **exec, + guint *count, + time_t *stamp, + GError **error); +GLIB_AVAILABLE_IN_2_66 +gboolean g_bookmark_file_get_application_info (GBookmarkFile *bookmark, + const char *uri, + const char *name, + char **exec, + unsigned int *count, + GDateTime **stamp, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_bookmark_file_set_is_private (GBookmarkFile *bookmark, + const gchar *uri, + gboolean is_private); +GLIB_AVAILABLE_IN_ALL +gboolean g_bookmark_file_get_is_private (GBookmarkFile *bookmark, + const gchar *uri, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_bookmark_file_set_icon (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *href, + const gchar *mime_type); +GLIB_AVAILABLE_IN_ALL +gboolean g_bookmark_file_get_icon (GBookmarkFile *bookmark, + const gchar *uri, + gchar **href, + gchar **mime_type, + GError **error); +GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_set_added_date_time) +void g_bookmark_file_set_added (GBookmarkFile *bookmark, + const gchar *uri, + time_t added); +GLIB_AVAILABLE_IN_2_66 +void g_bookmark_file_set_added_date_time (GBookmarkFile *bookmark, + const char *uri, + GDateTime *added); +GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_get_added_date_time) +time_t g_bookmark_file_get_added (GBookmarkFile *bookmark, + const gchar *uri, + GError **error); +GLIB_AVAILABLE_IN_2_66 +GDateTime *g_bookmark_file_get_added_date_time (GBookmarkFile *bookmark, + const char *uri, + GError **error); +GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_set_modified_date_time) +void g_bookmark_file_set_modified (GBookmarkFile *bookmark, + const gchar *uri, + time_t modified); +GLIB_AVAILABLE_IN_2_66 +void g_bookmark_file_set_modified_date_time (GBookmarkFile *bookmark, + const char *uri, + GDateTime *modified); +GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_get_modified_date_time) +time_t g_bookmark_file_get_modified (GBookmarkFile *bookmark, + const gchar *uri, + GError **error); +GLIB_AVAILABLE_IN_2_66 +GDateTime *g_bookmark_file_get_modified_date_time (GBookmarkFile *bookmark, + const char *uri, + GError **error); +GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_set_visited_date_time) +void g_bookmark_file_set_visited (GBookmarkFile *bookmark, + const gchar *uri, + time_t visited); +GLIB_AVAILABLE_IN_2_66 +void g_bookmark_file_set_visited_date_time (GBookmarkFile *bookmark, + const char *uri, + GDateTime *visited); +GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_get_visited_date_time) +time_t g_bookmark_file_get_visited (GBookmarkFile *bookmark, + const gchar *uri, + GError **error); +GLIB_AVAILABLE_IN_2_66 +GDateTime *g_bookmark_file_get_visited_date_time (GBookmarkFile *bookmark, + const char *uri, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_bookmark_file_has_item (GBookmarkFile *bookmark, + const gchar *uri); +GLIB_AVAILABLE_IN_ALL +gint g_bookmark_file_get_size (GBookmarkFile *bookmark); +GLIB_AVAILABLE_IN_ALL +gchar ** g_bookmark_file_get_uris (GBookmarkFile *bookmark, + gsize *length); +GLIB_AVAILABLE_IN_ALL +gboolean g_bookmark_file_remove_group (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *group, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_bookmark_file_remove_application (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *name, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_bookmark_file_remove_item (GBookmarkFile *bookmark, + const gchar *uri, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_bookmark_file_move_item (GBookmarkFile *bookmark, + const gchar *old_uri, + const gchar *new_uri, + GError **error); + +G_END_DECLS + +#endif /* __G_BOOKMARK_FILE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gbytes.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gbytes.h new file mode 100644 index 0000000..d934989 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gbytes.h @@ -0,0 +1,99 @@ +/* + * Copyright © 2009, 2010 Codethink Limited + * Copyright © 2011 Collabora Ltd. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + * + * Author: Ryan Lortie + * Stef Walter + */ + +#ifndef __G_BYTES_H__ +#define __G_BYTES_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +GLIB_AVAILABLE_IN_ALL +GBytes * g_bytes_new (gconstpointer data, + gsize size); + +GLIB_AVAILABLE_IN_ALL +GBytes * g_bytes_new_take (gpointer data, + gsize size); + +GLIB_AVAILABLE_IN_ALL +GBytes * g_bytes_new_static (gconstpointer data, + gsize size); + +GLIB_AVAILABLE_IN_ALL +GBytes * g_bytes_new_with_free_func (gconstpointer data, + gsize size, + GDestroyNotify free_func, + gpointer user_data); + +GLIB_AVAILABLE_IN_ALL +GBytes * g_bytes_new_from_bytes (GBytes *bytes, + gsize offset, + gsize length); + +GLIB_AVAILABLE_IN_ALL +gconstpointer g_bytes_get_data (GBytes *bytes, + gsize *size); + +GLIB_AVAILABLE_IN_ALL +gsize g_bytes_get_size (GBytes *bytes); + +GLIB_AVAILABLE_IN_ALL +GBytes * g_bytes_ref (GBytes *bytes); + +GLIB_AVAILABLE_IN_ALL +void g_bytes_unref (GBytes *bytes); + +GLIB_AVAILABLE_IN_ALL +gpointer g_bytes_unref_to_data (GBytes *bytes, + gsize *size); + +GLIB_AVAILABLE_IN_ALL +GByteArray * g_bytes_unref_to_array (GBytes *bytes); + +GLIB_AVAILABLE_IN_ALL +guint g_bytes_hash (gconstpointer bytes); + +GLIB_AVAILABLE_IN_ALL +gboolean g_bytes_equal (gconstpointer bytes1, + gconstpointer bytes2); + +GLIB_AVAILABLE_IN_ALL +gint g_bytes_compare (gconstpointer bytes1, + gconstpointer bytes2); + +GLIB_AVAILABLE_IN_2_70 +gconstpointer g_bytes_get_region (GBytes *bytes, + gsize element_size, + gsize offset, + gsize n_elements); + + +G_END_DECLS + +#endif /* __G_BYTES_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gcharset.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gcharset.h new file mode 100644 index 0000000..144ec7a --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gcharset.h @@ -0,0 +1,49 @@ +/* gcharset.h - Charset functions + * + * Copyright (C) 2011 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef __G_CHARSET_H__ +#define __G_CHARSET_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +GLIB_AVAILABLE_IN_ALL +gboolean g_get_charset (const char **charset); +GLIB_AVAILABLE_IN_ALL +gchar * g_get_codeset (void); +GLIB_AVAILABLE_IN_2_62 +gboolean g_get_console_charset (const char **charset); + +GLIB_AVAILABLE_IN_ALL +const gchar * const * g_get_language_names (void); +GLIB_AVAILABLE_IN_2_58 +const gchar * const * g_get_language_names_with_category + (const gchar *category_name); +GLIB_AVAILABLE_IN_ALL +gchar ** g_get_locale_variants (const gchar *locale); + +G_END_DECLS + +#endif /* __G_CHARSET_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gchecksum.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gchecksum.h new file mode 100644 index 0000000..e5c54e7 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gchecksum.h @@ -0,0 +1,106 @@ +/* gchecksum.h - data hashing functions + * + * Copyright (C) 2007 Emmanuele Bassi + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef __G_CHECKSUM_H__ +#define __G_CHECKSUM_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +/** + * GChecksumType: + * @G_CHECKSUM_MD5: Use the MD5 hashing algorithm + * @G_CHECKSUM_SHA1: Use the SHA-1 hashing algorithm + * @G_CHECKSUM_SHA256: Use the SHA-256 hashing algorithm + * @G_CHECKSUM_SHA384: Use the SHA-384 hashing algorithm (Since: 2.51) + * @G_CHECKSUM_SHA512: Use the SHA-512 hashing algorithm (Since: 2.36) + * + * The hashing algorithm to be used by #GChecksum when performing the + * digest of some data. + * + * Note that the #GChecksumType enumeration may be extended at a later + * date to include new hashing algorithm types. + * + * Since: 2.16 + */ +typedef enum { + G_CHECKSUM_MD5, + G_CHECKSUM_SHA1, + G_CHECKSUM_SHA256, + G_CHECKSUM_SHA512, + G_CHECKSUM_SHA384 +} GChecksumType; + +/** + * GChecksum: + * + * An opaque structure representing a checksumming operation. + * + * To create a new GChecksum, use g_checksum_new(). To free + * a GChecksum, use g_checksum_free(). + * + * Since: 2.16 + */ +typedef struct _GChecksum GChecksum; + +GLIB_AVAILABLE_IN_ALL +gssize g_checksum_type_get_length (GChecksumType checksum_type); + +GLIB_AVAILABLE_IN_ALL +GChecksum * g_checksum_new (GChecksumType checksum_type); +GLIB_AVAILABLE_IN_ALL +void g_checksum_reset (GChecksum *checksum); +GLIB_AVAILABLE_IN_ALL +GChecksum * g_checksum_copy (const GChecksum *checksum); +GLIB_AVAILABLE_IN_ALL +void g_checksum_free (GChecksum *checksum); +GLIB_AVAILABLE_IN_ALL +void g_checksum_update (GChecksum *checksum, + const guchar *data, + gssize length); +GLIB_AVAILABLE_IN_ALL +const gchar * g_checksum_get_string (GChecksum *checksum); +GLIB_AVAILABLE_IN_ALL +void g_checksum_get_digest (GChecksum *checksum, + guint8 *buffer, + gsize *digest_len); + +GLIB_AVAILABLE_IN_ALL +gchar *g_compute_checksum_for_data (GChecksumType checksum_type, + const guchar *data, + gsize length); +GLIB_AVAILABLE_IN_ALL +gchar *g_compute_checksum_for_string (GChecksumType checksum_type, + const gchar *str, + gssize length); + +GLIB_AVAILABLE_IN_2_34 +gchar *g_compute_checksum_for_bytes (GChecksumType checksum_type, + GBytes *data); + +G_END_DECLS + +#endif /* __G_CHECKSUM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gconvert.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gconvert.h new file mode 100644 index 0000000..81b41c0 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gconvert.h @@ -0,0 +1,179 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_CONVERT_H__ +#define __G_CONVERT_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/** + * GConvertError: + * @G_CONVERT_ERROR_NO_CONVERSION: Conversion between the requested character + * sets is not supported. + * @G_CONVERT_ERROR_ILLEGAL_SEQUENCE: Invalid byte sequence in conversion input; + * or the character sequence could not be represented in the target + * character set. + * @G_CONVERT_ERROR_FAILED: Conversion failed for some reason. + * @G_CONVERT_ERROR_PARTIAL_INPUT: Partial character sequence at end of input. + * @G_CONVERT_ERROR_BAD_URI: URI is invalid. + * @G_CONVERT_ERROR_NOT_ABSOLUTE_PATH: Pathname is not an absolute path. + * @G_CONVERT_ERROR_NO_MEMORY: No memory available. Since: 2.40 + * @G_CONVERT_ERROR_EMBEDDED_NUL: An embedded NUL character is present in + * conversion output where a NUL-terminated string is expected. + * Since: 2.56 + * + * Error codes returned by character set conversion routines. + */ +typedef enum +{ + G_CONVERT_ERROR_NO_CONVERSION, + G_CONVERT_ERROR_ILLEGAL_SEQUENCE, + G_CONVERT_ERROR_FAILED, + G_CONVERT_ERROR_PARTIAL_INPUT, + G_CONVERT_ERROR_BAD_URI, + G_CONVERT_ERROR_NOT_ABSOLUTE_PATH, + G_CONVERT_ERROR_NO_MEMORY, + G_CONVERT_ERROR_EMBEDDED_NUL +} GConvertError; + +/** + * G_CONVERT_ERROR: + * + * Error domain for character set conversions. Errors in this domain will + * be from the #GConvertError enumeration. See #GError for information on + * error domains. + */ +#define G_CONVERT_ERROR g_convert_error_quark() +GLIB_AVAILABLE_IN_ALL +GQuark g_convert_error_quark (void); + +/** + * GIConv: (skip) + * + * The GIConv struct wraps an iconv() conversion descriptor. It contains + * private data and should only be accessed using the following functions. + */ +typedef struct _GIConv *GIConv; + +GLIB_AVAILABLE_IN_ALL +GIConv g_iconv_open (const gchar *to_codeset, + const gchar *from_codeset); +GLIB_AVAILABLE_IN_ALL +gsize g_iconv (GIConv converter, + gchar **inbuf, + gsize *inbytes_left, + gchar **outbuf, + gsize *outbytes_left); +GLIB_AVAILABLE_IN_ALL +gint g_iconv_close (GIConv converter); + + +GLIB_AVAILABLE_IN_ALL +gchar* g_convert (const gchar *str, + gssize len, + const gchar *to_codeset, + const gchar *from_codeset, + gsize *bytes_read, + gsize *bytes_written, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar* g_convert_with_iconv (const gchar *str, + gssize len, + GIConv converter, + gsize *bytes_read, + gsize *bytes_written, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar* g_convert_with_fallback (const gchar *str, + gssize len, + const gchar *to_codeset, + const gchar *from_codeset, + const gchar *fallback, + gsize *bytes_read, + gsize *bytes_written, + GError **error) G_GNUC_MALLOC; + + +/* Convert between libc's idea of strings and UTF-8. + */ +GLIB_AVAILABLE_IN_ALL +gchar* g_locale_to_utf8 (const gchar *opsysstring, + gssize len, + gsize *bytes_read, + gsize *bytes_written, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar* g_locale_from_utf8 (const gchar *utf8string, + gssize len, + gsize *bytes_read, + gsize *bytes_written, + GError **error) G_GNUC_MALLOC; + +/* Convert between the operating system (or C runtime) + * representation of file names and UTF-8. + */ +GLIB_AVAILABLE_IN_ALL +gchar* g_filename_to_utf8 (const gchar *opsysstring, + gssize len, + gsize *bytes_read, + gsize *bytes_written, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar* g_filename_from_utf8 (const gchar *utf8string, + gssize len, + gsize *bytes_read, + gsize *bytes_written, + GError **error) G_GNUC_MALLOC; + +GLIB_AVAILABLE_IN_ALL +gchar *g_filename_from_uri (const gchar *uri, + gchar **hostname, + GError **error) G_GNUC_MALLOC; + +GLIB_AVAILABLE_IN_ALL +gchar *g_filename_to_uri (const gchar *filename, + const gchar *hostname, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar *g_filename_display_name (const gchar *filename) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gboolean g_get_filename_charsets (const gchar ***filename_charsets); + +GLIB_AVAILABLE_IN_ALL +gchar *g_filename_display_basename (const gchar *filename) G_GNUC_MALLOC; + +GLIB_AVAILABLE_IN_ALL +gchar **g_uri_list_extract_uris (const gchar *uri_list); + +G_END_DECLS + +#endif /* __G_CONVERT_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gdataset.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gdataset.h new file mode 100644 index 0000000..a0d44b0 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gdataset.h @@ -0,0 +1,156 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_DATASET_H__ +#define __G_DATASET_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +typedef struct _GData GData; + +typedef void (*GDataForeachFunc) (GQuark key_id, + gpointer data, + gpointer user_data); + +/* Keyed Data List + */ +GLIB_AVAILABLE_IN_ALL +void g_datalist_init (GData **datalist); +GLIB_AVAILABLE_IN_ALL +void g_datalist_clear (GData **datalist); +GLIB_AVAILABLE_IN_ALL +gpointer g_datalist_id_get_data (GData **datalist, + GQuark key_id); +GLIB_AVAILABLE_IN_ALL +void g_datalist_id_set_data_full (GData **datalist, + GQuark key_id, + gpointer data, + GDestroyNotify destroy_func); +GLIB_AVAILABLE_IN_2_74 +void g_datalist_id_remove_multiple (GData **datalist, + GQuark *keys, + gsize n_keys); + +typedef gpointer (*GDuplicateFunc) (gpointer data, gpointer user_data); + +GLIB_AVAILABLE_IN_2_34 +gpointer g_datalist_id_dup_data (GData **datalist, + GQuark key_id, + GDuplicateFunc dup_func, + gpointer user_data); +GLIB_AVAILABLE_IN_2_34 +gboolean g_datalist_id_replace_data (GData **datalist, + GQuark key_id, + gpointer oldval, + gpointer newval, + GDestroyNotify destroy, + GDestroyNotify *old_destroy); + +GLIB_AVAILABLE_IN_ALL +gpointer g_datalist_id_remove_no_notify (GData **datalist, + GQuark key_id); +GLIB_AVAILABLE_IN_ALL +void g_datalist_foreach (GData **datalist, + GDataForeachFunc func, + gpointer user_data); + +/** + * G_DATALIST_FLAGS_MASK: + * + * A bitmask that restricts the possible flags passed to + * g_datalist_set_flags(). Passing a flags value where + * flags & ~G_DATALIST_FLAGS_MASK != 0 is an error. + */ +#define G_DATALIST_FLAGS_MASK 0x3 + +GLIB_AVAILABLE_IN_ALL +void g_datalist_set_flags (GData **datalist, + guint flags); +GLIB_AVAILABLE_IN_ALL +void g_datalist_unset_flags (GData **datalist, + guint flags); +GLIB_AVAILABLE_IN_ALL +guint g_datalist_get_flags (GData **datalist); + +#define g_datalist_id_set_data(dl, q, d) \ + g_datalist_id_set_data_full ((dl), (q), (d), NULL) +#define g_datalist_id_remove_data(dl, q) \ + g_datalist_id_set_data ((dl), (q), NULL) +#define g_datalist_set_data_full(dl, k, d, f) \ + g_datalist_id_set_data_full ((dl), g_quark_from_string (k), (d), (f)) +#define g_datalist_remove_no_notify(dl, k) \ + g_datalist_id_remove_no_notify ((dl), g_quark_try_string (k)) +#define g_datalist_set_data(dl, k, d) \ + g_datalist_set_data_full ((dl), (k), (d), NULL) +#define g_datalist_remove_data(dl, k) \ + g_datalist_id_set_data ((dl), g_quark_try_string (k), NULL) + +/* Location Associated Keyed Data + */ +GLIB_AVAILABLE_IN_ALL +void g_dataset_destroy (gconstpointer dataset_location); +GLIB_AVAILABLE_IN_ALL +gpointer g_dataset_id_get_data (gconstpointer dataset_location, + GQuark key_id); +GLIB_AVAILABLE_IN_ALL +gpointer g_datalist_get_data (GData **datalist, + const gchar *key); +GLIB_AVAILABLE_IN_ALL +void g_dataset_id_set_data_full (gconstpointer dataset_location, + GQuark key_id, + gpointer data, + GDestroyNotify destroy_func); +GLIB_AVAILABLE_IN_ALL +gpointer g_dataset_id_remove_no_notify (gconstpointer dataset_location, + GQuark key_id); +GLIB_AVAILABLE_IN_ALL +void g_dataset_foreach (gconstpointer dataset_location, + GDataForeachFunc func, + gpointer user_data); +#define g_dataset_id_set_data(l, k, d) \ + g_dataset_id_set_data_full ((l), (k), (d), NULL) +#define g_dataset_id_remove_data(l, k) \ + g_dataset_id_set_data ((l), (k), NULL) +#define g_dataset_get_data(l, k) \ + (g_dataset_id_get_data ((l), g_quark_try_string (k))) +#define g_dataset_set_data_full(l, k, d, f) \ + g_dataset_id_set_data_full ((l), g_quark_from_string (k), (d), (f)) +#define g_dataset_remove_no_notify(l, k) \ + g_dataset_id_remove_no_notify ((l), g_quark_try_string (k)) +#define g_dataset_set_data(l, k, d) \ + g_dataset_set_data_full ((l), (k), (d), NULL) +#define g_dataset_remove_data(l, k) \ + g_dataset_id_set_data ((l), g_quark_try_string (k), NULL) + +G_END_DECLS + +#endif /* __G_DATASET_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gdate.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gdate.h new file mode 100644 index 0000000..5ef21cb --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gdate.h @@ -0,0 +1,309 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_DATE_H__ +#define __G_DATE_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +#include +#include + +G_BEGIN_DECLS + +/* GDate + * + * Date calculations (not time for now, to be resolved). These are a + * mutant combination of Steffen Beyer's DateCalc routines + * (http://www.perl.com/CPAN/authors/id/STBEY/) and Jon Trowbridge's + * date routines (written for in-house software). Written by Havoc + * Pennington + */ + +typedef gint32 GTime GLIB_DEPRECATED_TYPE_IN_2_62_FOR(GDateTime); +typedef guint16 GDateYear; +typedef guint8 GDateDay; /* day of the month */ +typedef struct _GDate GDate; + +/* enum used to specify order of appearance in parsed date strings */ +typedef enum +{ + G_DATE_DAY = 0, + G_DATE_MONTH = 1, + G_DATE_YEAR = 2 +} GDateDMY; + +/* actual week and month values */ +typedef enum +{ + G_DATE_BAD_WEEKDAY = 0, + G_DATE_MONDAY = 1, + G_DATE_TUESDAY = 2, + G_DATE_WEDNESDAY = 3, + G_DATE_THURSDAY = 4, + G_DATE_FRIDAY = 5, + G_DATE_SATURDAY = 6, + G_DATE_SUNDAY = 7 +} GDateWeekday; +typedef enum +{ + G_DATE_BAD_MONTH = 0, + G_DATE_JANUARY = 1, + G_DATE_FEBRUARY = 2, + G_DATE_MARCH = 3, + G_DATE_APRIL = 4, + G_DATE_MAY = 5, + G_DATE_JUNE = 6, + G_DATE_JULY = 7, + G_DATE_AUGUST = 8, + G_DATE_SEPTEMBER = 9, + G_DATE_OCTOBER = 10, + G_DATE_NOVEMBER = 11, + G_DATE_DECEMBER = 12 +} GDateMonth; + +#define G_DATE_BAD_JULIAN 0U +#define G_DATE_BAD_DAY 0U +#define G_DATE_BAD_YEAR 0U + +/* Note: directly manipulating structs is generally a bad idea, but + * in this case it's an *incredibly* bad idea, because all or part + * of this struct can be invalid at any given time. Use the functions, + * or you will get hosed, I promise. + */ +struct _GDate +{ + guint julian_days : 32; /* julian days representation - we use a + * bitfield hoping that 64 bit platforms + * will pack this whole struct in one big + * int + */ + + guint julian : 1; /* julian is valid */ + guint dmy : 1; /* dmy is valid */ + + /* DMY representation */ + guint day : 6; + guint month : 4; + guint year : 16; +}; + +/* g_date_new() returns an invalid date, you then have to _set() stuff + * to get a usable object. You can also allocate a GDate statically, + * then call g_date_clear() to initialize. + */ +GLIB_AVAILABLE_IN_ALL +GDate* g_date_new (void); +GLIB_AVAILABLE_IN_ALL +GDate* g_date_new_dmy (GDateDay day, + GDateMonth month, + GDateYear year); +GLIB_AVAILABLE_IN_ALL +GDate* g_date_new_julian (guint32 julian_day); +GLIB_AVAILABLE_IN_ALL +void g_date_free (GDate *date); +GLIB_AVAILABLE_IN_2_56 +GDate* g_date_copy (const GDate *date); + +/* check g_date_valid() after doing an operation that might fail, like + * _parse. Almost all g_date operations are undefined on invalid + * dates (the exceptions are the mutators, since you need those to + * return to validity). + */ +GLIB_AVAILABLE_IN_ALL +gboolean g_date_valid (const GDate *date); +GLIB_AVAILABLE_IN_ALL +gboolean g_date_valid_day (GDateDay day) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_date_valid_month (GDateMonth month) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_date_valid_year (GDateYear year) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_date_valid_weekday (GDateWeekday weekday) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_date_valid_julian (guint32 julian_date) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_date_valid_dmy (GDateDay day, + GDateMonth month, + GDateYear year) G_GNUC_CONST; + +GLIB_AVAILABLE_IN_ALL +GDateWeekday g_date_get_weekday (const GDate *date); +GLIB_AVAILABLE_IN_ALL +GDateMonth g_date_get_month (const GDate *date); +GLIB_AVAILABLE_IN_ALL +GDateYear g_date_get_year (const GDate *date); +GLIB_AVAILABLE_IN_ALL +GDateDay g_date_get_day (const GDate *date); +GLIB_AVAILABLE_IN_ALL +guint32 g_date_get_julian (const GDate *date); +GLIB_AVAILABLE_IN_ALL +guint g_date_get_day_of_year (const GDate *date); +/* First monday/sunday is the start of week 1; if we haven't reached + * that day, return 0. These are not ISO weeks of the year; that + * routine needs to be added. + * these functions return the number of weeks, starting on the + * corresponding day + */ +GLIB_AVAILABLE_IN_ALL +guint g_date_get_monday_week_of_year (const GDate *date); +GLIB_AVAILABLE_IN_ALL +guint g_date_get_sunday_week_of_year (const GDate *date); +GLIB_AVAILABLE_IN_ALL +guint g_date_get_iso8601_week_of_year (const GDate *date); + +/* If you create a static date struct you need to clear it to get it + * in a safe state before use. You can clear a whole array at + * once with the ndates argument. + */ +GLIB_AVAILABLE_IN_ALL +void g_date_clear (GDate *date, + guint n_dates); + +/* The parse routine is meant for dates typed in by a user, so it + * permits many formats but tries to catch common typos. If your data + * needs to be strictly validated, it is not an appropriate function. + */ +GLIB_AVAILABLE_IN_ALL +void g_date_set_parse (GDate *date, + const gchar *str); +GLIB_AVAILABLE_IN_ALL +void g_date_set_time_t (GDate *date, + time_t timet); +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_DEPRECATED_IN_2_62_FOR(g_date_set_time_t) +void g_date_set_time_val (GDate *date, + GTimeVal *timeval); +GLIB_DEPRECATED_FOR(g_date_set_time_t) +void g_date_set_time (GDate *date, + GTime time_); +G_GNUC_END_IGNORE_DEPRECATIONS +GLIB_AVAILABLE_IN_ALL +void g_date_set_month (GDate *date, + GDateMonth month); +GLIB_AVAILABLE_IN_ALL +void g_date_set_day (GDate *date, + GDateDay day); +GLIB_AVAILABLE_IN_ALL +void g_date_set_year (GDate *date, + GDateYear year); +GLIB_AVAILABLE_IN_ALL +void g_date_set_dmy (GDate *date, + GDateDay day, + GDateMonth month, + GDateYear y); +GLIB_AVAILABLE_IN_ALL +void g_date_set_julian (GDate *date, + guint32 julian_date); +GLIB_AVAILABLE_IN_ALL +gboolean g_date_is_first_of_month (const GDate *date); +GLIB_AVAILABLE_IN_ALL +gboolean g_date_is_last_of_month (const GDate *date); + +/* To go forward by some number of weeks just go forward weeks*7 days */ +GLIB_AVAILABLE_IN_ALL +void g_date_add_days (GDate *date, + guint n_days); +GLIB_AVAILABLE_IN_ALL +void g_date_subtract_days (GDate *date, + guint n_days); + +/* If you add/sub months while day > 28, the day might change */ +GLIB_AVAILABLE_IN_ALL +void g_date_add_months (GDate *date, + guint n_months); +GLIB_AVAILABLE_IN_ALL +void g_date_subtract_months (GDate *date, + guint n_months); + +/* If it's feb 29, changing years can move you to the 28th */ +GLIB_AVAILABLE_IN_ALL +void g_date_add_years (GDate *date, + guint n_years); +GLIB_AVAILABLE_IN_ALL +void g_date_subtract_years (GDate *date, + guint n_years); +GLIB_AVAILABLE_IN_ALL +gboolean g_date_is_leap_year (GDateYear year) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +guint8 g_date_get_days_in_month (GDateMonth month, + GDateYear year) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +guint8 g_date_get_monday_weeks_in_year (GDateYear year) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +guint8 g_date_get_sunday_weeks_in_year (GDateYear year) G_GNUC_CONST; + +/* Returns the number of days between the two dates. If date2 comes + before date1, a negative value is return. */ +GLIB_AVAILABLE_IN_ALL +gint g_date_days_between (const GDate *date1, + const GDate *date2); + +/* qsort-friendly (with a cast...) */ +GLIB_AVAILABLE_IN_ALL +gint g_date_compare (const GDate *lhs, + const GDate *rhs); +GLIB_AVAILABLE_IN_ALL +void g_date_to_struct_tm (const GDate *date, + struct tm *tm); + +GLIB_AVAILABLE_IN_ALL +void g_date_clamp (GDate *date, + const GDate *min_date, + const GDate *max_date); + +/* Swap date1 and date2's values if date1 > date2. */ +GLIB_AVAILABLE_IN_ALL +void g_date_order (GDate *date1, GDate *date2); + +/* Just like strftime() except you can only use date-related formats. + * Using a time format is undefined. + */ +GLIB_AVAILABLE_IN_ALL +gsize g_date_strftime (gchar *s, + gsize slen, + const gchar *format, + const GDate *date); + +#define g_date_weekday g_date_get_weekday GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_date_get_weekday) +#define g_date_month g_date_get_month GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_date_get_month) +#define g_date_year g_date_get_year GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_date_get_year) +#define g_date_day g_date_get_day GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_date_get_day) +#define g_date_julian g_date_get_julian GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_date_get_julian) +#define g_date_day_of_year g_date_get_day_of_year GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_date_get_day_of_year) +#define g_date_monday_week_of_year g_date_get_monday_week_of_year GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_date_get_monday_week_of_year) +#define g_date_sunday_week_of_year g_date_get_sunday_week_of_year GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_date_get_sunday_week_of_year) +#define g_date_days_in_month g_date_get_days_in_month GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_date_get_days_in_month) +#define g_date_monday_weeks_in_year g_date_get_monday_weeks_in_year GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_date_get_monday_weeks_in_year) +#define g_date_sunday_weeks_in_year g_date_get_sunday_weeks_in_year GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_date_get_sunday_weeks_in_year) + +G_END_DECLS + +#endif /* __G_DATE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gdatetime.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gdatetime.h new file mode 100644 index 0000000..4312433 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gdatetime.h @@ -0,0 +1,275 @@ +/* + * Copyright (C) 2009-2010 Christian Hergert + * Copyright © 2010 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of the + * licence, or (at your option) any later version. + * + * This is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + * + * Authors: Christian Hergert + * Thiago Santos + * Emmanuele Bassi + * Ryan Lortie + */ + +#ifndef __G_DATE_TIME_H__ +#define __G_DATE_TIME_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/** + * G_TIME_SPAN_DAY: + * + * Evaluates to a time span of one day. + * + * Since: 2.26 + */ +#define G_TIME_SPAN_DAY (G_GINT64_CONSTANT (86400000000)) + +/** + * G_TIME_SPAN_HOUR: + * + * Evaluates to a time span of one hour. + * + * Since: 2.26 + */ +#define G_TIME_SPAN_HOUR (G_GINT64_CONSTANT (3600000000)) + +/** + * G_TIME_SPAN_MINUTE: + * + * Evaluates to a time span of one minute. + * + * Since: 2.26 + */ +#define G_TIME_SPAN_MINUTE (G_GINT64_CONSTANT (60000000)) + +/** + * G_TIME_SPAN_SECOND: + * + * Evaluates to a time span of one second. + * + * Since: 2.26 + */ +#define G_TIME_SPAN_SECOND (G_GINT64_CONSTANT (1000000)) + +/** + * G_TIME_SPAN_MILLISECOND: + * + * Evaluates to a time span of one millisecond. + * + * Since: 2.26 + */ +#define G_TIME_SPAN_MILLISECOND (G_GINT64_CONSTANT (1000)) + +/** + * GTimeSpan: + * + * A value representing an interval of time, in microseconds. + * + * Since: 2.26 + */ +typedef gint64 GTimeSpan; + +/** + * GDateTime: + * + * An opaque structure that represents a date and time, including a time zone. + * + * Since: 2.26 + */ +typedef struct _GDateTime GDateTime; + +GLIB_AVAILABLE_IN_ALL +void g_date_time_unref (GDateTime *datetime); +GLIB_AVAILABLE_IN_ALL +GDateTime * g_date_time_ref (GDateTime *datetime); + +GLIB_AVAILABLE_IN_ALL +GDateTime * g_date_time_new_now (GTimeZone *tz); +GLIB_AVAILABLE_IN_ALL +GDateTime * g_date_time_new_now_local (void); +GLIB_AVAILABLE_IN_ALL +GDateTime * g_date_time_new_now_utc (void); + +GLIB_AVAILABLE_IN_ALL +GDateTime * g_date_time_new_from_unix_local (gint64 t); +GLIB_AVAILABLE_IN_ALL +GDateTime * g_date_time_new_from_unix_utc (gint64 t); + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_DEPRECATED_IN_2_62_FOR(g_date_time_new_from_unix_local) +GDateTime * g_date_time_new_from_timeval_local (const GTimeVal *tv); +GLIB_DEPRECATED_IN_2_62_FOR(g_date_time_new_from_unix_utc) +GDateTime * g_date_time_new_from_timeval_utc (const GTimeVal *tv); +G_GNUC_END_IGNORE_DEPRECATIONS + +GLIB_AVAILABLE_IN_2_56 +GDateTime * g_date_time_new_from_iso8601 (const gchar *text, + GTimeZone *default_tz); + +GLIB_AVAILABLE_IN_ALL +GDateTime * g_date_time_new (GTimeZone *tz, + gint year, + gint month, + gint day, + gint hour, + gint minute, + gdouble seconds); +GLIB_AVAILABLE_IN_ALL +GDateTime * g_date_time_new_local (gint year, + gint month, + gint day, + gint hour, + gint minute, + gdouble seconds); +GLIB_AVAILABLE_IN_ALL +GDateTime * g_date_time_new_utc (gint year, + gint month, + gint day, + gint hour, + gint minute, + gdouble seconds); + +GLIB_AVAILABLE_IN_ALL +G_GNUC_WARN_UNUSED_RESULT +GDateTime * g_date_time_add (GDateTime *datetime, + GTimeSpan timespan); + +GLIB_AVAILABLE_IN_ALL +G_GNUC_WARN_UNUSED_RESULT +GDateTime * g_date_time_add_years (GDateTime *datetime, + gint years); +GLIB_AVAILABLE_IN_ALL +G_GNUC_WARN_UNUSED_RESULT +GDateTime * g_date_time_add_months (GDateTime *datetime, + gint months); +GLIB_AVAILABLE_IN_ALL +G_GNUC_WARN_UNUSED_RESULT +GDateTime * g_date_time_add_weeks (GDateTime *datetime, + gint weeks); +GLIB_AVAILABLE_IN_ALL +G_GNUC_WARN_UNUSED_RESULT +GDateTime * g_date_time_add_days (GDateTime *datetime, + gint days); + +GLIB_AVAILABLE_IN_ALL +G_GNUC_WARN_UNUSED_RESULT +GDateTime * g_date_time_add_hours (GDateTime *datetime, + gint hours); +GLIB_AVAILABLE_IN_ALL +G_GNUC_WARN_UNUSED_RESULT +GDateTime * g_date_time_add_minutes (GDateTime *datetime, + gint minutes); +GLIB_AVAILABLE_IN_ALL +G_GNUC_WARN_UNUSED_RESULT +GDateTime * g_date_time_add_seconds (GDateTime *datetime, + gdouble seconds); + +GLIB_AVAILABLE_IN_ALL +G_GNUC_WARN_UNUSED_RESULT +GDateTime * g_date_time_add_full (GDateTime *datetime, + gint years, + gint months, + gint days, + gint hours, + gint minutes, + gdouble seconds); + +GLIB_AVAILABLE_IN_ALL +gint g_date_time_compare (gconstpointer dt1, + gconstpointer dt2); +GLIB_AVAILABLE_IN_ALL +GTimeSpan g_date_time_difference (GDateTime *end, + GDateTime *begin); +GLIB_AVAILABLE_IN_ALL +guint g_date_time_hash (gconstpointer datetime); +GLIB_AVAILABLE_IN_ALL +gboolean g_date_time_equal (gconstpointer dt1, + gconstpointer dt2); + +GLIB_AVAILABLE_IN_ALL +void g_date_time_get_ymd (GDateTime *datetime, + gint *year, + gint *month, + gint *day); + +GLIB_AVAILABLE_IN_ALL +gint g_date_time_get_year (GDateTime *datetime); +GLIB_AVAILABLE_IN_ALL +gint g_date_time_get_month (GDateTime *datetime); +GLIB_AVAILABLE_IN_ALL +gint g_date_time_get_day_of_month (GDateTime *datetime); + +GLIB_AVAILABLE_IN_ALL +gint g_date_time_get_week_numbering_year (GDateTime *datetime); +GLIB_AVAILABLE_IN_ALL +gint g_date_time_get_week_of_year (GDateTime *datetime); +GLIB_AVAILABLE_IN_ALL +gint g_date_time_get_day_of_week (GDateTime *datetime); + +GLIB_AVAILABLE_IN_ALL +gint g_date_time_get_day_of_year (GDateTime *datetime); + +GLIB_AVAILABLE_IN_ALL +gint g_date_time_get_hour (GDateTime *datetime); +GLIB_AVAILABLE_IN_ALL +gint g_date_time_get_minute (GDateTime *datetime); +GLIB_AVAILABLE_IN_ALL +gint g_date_time_get_second (GDateTime *datetime); +GLIB_AVAILABLE_IN_ALL +gint g_date_time_get_microsecond (GDateTime *datetime); +GLIB_AVAILABLE_IN_ALL +gdouble g_date_time_get_seconds (GDateTime *datetime); + +GLIB_AVAILABLE_IN_ALL +gint64 g_date_time_to_unix (GDateTime *datetime); +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_DEPRECATED_IN_2_62_FOR(g_date_time_to_unix) +gboolean g_date_time_to_timeval (GDateTime *datetime, + GTimeVal *tv); +G_GNUC_END_IGNORE_DEPRECATIONS + +GLIB_AVAILABLE_IN_ALL +GTimeSpan g_date_time_get_utc_offset (GDateTime *datetime); +GLIB_AVAILABLE_IN_2_58 +GTimeZone * g_date_time_get_timezone (GDateTime *datetime); +GLIB_AVAILABLE_IN_ALL +const gchar * g_date_time_get_timezone_abbreviation (GDateTime *datetime); +GLIB_AVAILABLE_IN_ALL +gboolean g_date_time_is_daylight_savings (GDateTime *datetime); + +GLIB_AVAILABLE_IN_ALL +GDateTime * g_date_time_to_timezone (GDateTime *datetime, + GTimeZone *tz); +GLIB_AVAILABLE_IN_ALL +GDateTime * g_date_time_to_local (GDateTime *datetime); +GLIB_AVAILABLE_IN_ALL +GDateTime * g_date_time_to_utc (GDateTime *datetime); + +GLIB_AVAILABLE_IN_ALL +gchar * g_date_time_format (GDateTime *datetime, + const gchar *format) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_2_62 +gchar * g_date_time_format_iso8601 (GDateTime *datetime) G_GNUC_MALLOC; + +G_END_DECLS + +#endif /* __G_DATE_TIME_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gdir.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gdir.h new file mode 100644 index 0000000..0d3ee82 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gdir.h @@ -0,0 +1,54 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * gdir.c: Simplified wrapper around the DIRENT functions. + * + * Copyright 2001 Hans Breuer + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef __G_DIR_H__ +#define __G_DIR_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +#ifdef G_OS_UNIX +#include +#endif + +G_BEGIN_DECLS + +typedef struct _GDir GDir; + +GLIB_AVAILABLE_IN_ALL +GDir * g_dir_open (const gchar *path, + guint flags, + GError **error); +GLIB_AVAILABLE_IN_ALL +const gchar * g_dir_read_name (GDir *dir); +GLIB_AVAILABLE_IN_ALL +void g_dir_rewind (GDir *dir); +GLIB_AVAILABLE_IN_ALL +void g_dir_close (GDir *dir); + +G_END_DECLS + +#endif /* __G_DIR_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/genviron.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/genviron.h new file mode 100644 index 0000000..3ac3846 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/genviron.h @@ -0,0 +1,65 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_ENVIRON_H__ +#define __G_ENVIRON_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +GLIB_AVAILABLE_IN_ALL +const gchar * g_getenv (const gchar *variable); +GLIB_AVAILABLE_IN_ALL +gboolean g_setenv (const gchar *variable, + const gchar *value, + gboolean overwrite); +GLIB_AVAILABLE_IN_ALL +void g_unsetenv (const gchar *variable); +GLIB_AVAILABLE_IN_ALL +gchar ** g_listenv (void); + +GLIB_AVAILABLE_IN_ALL +gchar ** g_get_environ (void); +GLIB_AVAILABLE_IN_ALL +const gchar * g_environ_getenv (gchar **envp, + const gchar *variable); +GLIB_AVAILABLE_IN_ALL +gchar ** g_environ_setenv (gchar **envp, + const gchar *variable, + const gchar *value, + gboolean overwrite) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +gchar ** g_environ_unsetenv (gchar **envp, + const gchar *variable) G_GNUC_WARN_UNUSED_RESULT; + +G_END_DECLS + +#endif /* __G_ENVIRON_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gerror.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gerror.h new file mode 100644 index 0000000..1aebfbe --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gerror.h @@ -0,0 +1,263 @@ +/* gerror.h - Error reporting system + * + * Copyright 2000 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef __G_ERROR_H__ +#define __G_ERROR_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +#include + +G_BEGIN_DECLS + +/** + * GError: + * @domain: error domain, e.g. %G_FILE_ERROR + * @code: error code, e.g. %G_FILE_ERROR_NOENT + * @message: human-readable informative error message + * + * The `GError` structure contains information about + * an error that has occurred. + */ +typedef struct _GError GError; + +struct _GError +{ + GQuark domain; + gint code; + gchar *message; +}; + +/** + * G_DEFINE_EXTENDED_ERROR: + * @ErrorType: name to return a #GQuark for + * @error_type: prefix for the function name + * + * A convenience macro which defines two functions. First, returning + * the #GQuark for the extended error type @ErrorType; it is called + * `error_type_quark()`. Second, returning the private data from a + * passed #GError; it is called `error_type_get_private()`. + * + * For this macro to work, a type named `ErrorTypePrivate` should be + * defined, `error_type_private_init()`, `error_type_private_copy()` + * and `error_type_private_clear()` functions need to be either + * declared or defined. The functions should be similar to + * #GErrorInitFunc, #GErrorCopyFunc and #GErrorClearFunc, + * respectively, but they should receive the private data type instead + * of #GError. + * + * See [Extended #GError Domains][gerror-extended-domains] for an example. + * + * Since: 2.68 + */ +#define G_DEFINE_EXTENDED_ERROR(ErrorType, error_type) \ +static inline ErrorType ## Private * \ +error_type ## _get_private (const GError *error) \ +{ \ + /* Copied from gtype.c (STRUCT_ALIGNMENT and ALIGN_STRUCT macros). */ \ + const gsize sa = 2 * sizeof (gsize); \ + const gsize as = (sizeof (ErrorType ## Private) + (sa - 1)) & -sa; \ + g_return_val_if_fail (error != NULL, NULL); \ + g_return_val_if_fail (error->domain == error_type ## _quark (), NULL); \ + return (ErrorType ## Private *) (((guint8 *)error) - as); \ +} \ + \ +static void \ +g_error_with_ ## error_type ## _private_init (GError *error) \ +{ \ + ErrorType ## Private *priv = error_type ## _get_private (error); \ + error_type ## _private_init (priv); \ +} \ + \ +static void \ +g_error_with_ ## error_type ## _private_copy (const GError *src_error, \ + GError *dest_error) \ +{ \ + const ErrorType ## Private *src_priv = error_type ## _get_private (src_error); \ + ErrorType ## Private *dest_priv = error_type ## _get_private (dest_error); \ + error_type ## _private_copy (src_priv, dest_priv); \ +} \ + \ +static void \ +g_error_with_ ## error_type ## _private_clear (GError *error) \ +{ \ + ErrorType ## Private *priv = error_type ## _get_private (error); \ + error_type ## _private_clear (priv); \ +} \ + \ +GQuark \ +error_type ## _quark (void) \ +{ \ + static GQuark q; \ + static gsize initialized = 0; \ + \ + if (g_once_init_enter (&initialized)) \ + { \ + q = g_error_domain_register_static (#ErrorType, \ + sizeof (ErrorType ## Private), \ + g_error_with_ ## error_type ## _private_init, \ + g_error_with_ ## error_type ## _private_copy, \ + g_error_with_ ## error_type ## _private_clear); \ + g_once_init_leave (&initialized, 1); \ + } \ + \ + return q; \ +} + +/** + * GErrorInitFunc: + * @error: extended error + * + * Specifies the type of function which is called just after an + * extended error instance is created and its fields filled. It should + * only initialize the fields in the private data, which can be + * received with the generated `*_get_private()` function. + * + * Normally, it is better to use G_DEFINE_EXTENDED_ERROR(), as it + * already takes care of getting the private data from @error. + * + * Since: 2.68 + */ +typedef void (*GErrorInitFunc) (GError *error); + +/** + * GErrorCopyFunc: + * @src_error: source extended error + * @dest_error: destination extended error + * + * Specifies the type of function which is called when an extended + * error instance is copied. It is passed the pointer to the + * destination error and source error, and should copy only the fields + * of the private data from @src_error to @dest_error. + * + * Normally, it is better to use G_DEFINE_EXTENDED_ERROR(), as it + * already takes care of getting the private data from @src_error and + * @dest_error. + * + * Since: 2.68 + */ +typedef void (*GErrorCopyFunc) (const GError *src_error, GError *dest_error); + +/** + * GErrorClearFunc: + * @error: extended error to clear + * + * Specifies the type of function which is called when an extended + * error instance is freed. It is passed the error pointer about to be + * freed, and should free the error's private data fields. + * + * Normally, it is better to use G_DEFINE_EXTENDED_ERROR(), as it + * already takes care of getting the private data from @error. + * + * Since: 2.68 + */ +typedef void (*GErrorClearFunc) (GError *error); + +GLIB_AVAILABLE_IN_2_68 +GQuark g_error_domain_register_static (const char *error_type_name, + gsize error_type_private_size, + GErrorInitFunc error_type_init, + GErrorCopyFunc error_type_copy, + GErrorClearFunc error_type_clear); + +GLIB_AVAILABLE_IN_2_68 +GQuark g_error_domain_register (const char *error_type_name, + gsize error_type_private_size, + GErrorInitFunc error_type_init, + GErrorCopyFunc error_type_copy, + GErrorClearFunc error_type_clear); + +GLIB_AVAILABLE_IN_ALL +GError* g_error_new (GQuark domain, + gint code, + const gchar *format, + ...) G_GNUC_PRINTF (3, 4); + +GLIB_AVAILABLE_IN_ALL +GError* g_error_new_literal (GQuark domain, + gint code, + const gchar *message); +GLIB_AVAILABLE_IN_ALL +GError* g_error_new_valist (GQuark domain, + gint code, + const gchar *format, + va_list args) G_GNUC_PRINTF(3, 0); + +GLIB_AVAILABLE_IN_ALL +void g_error_free (GError *error); +GLIB_AVAILABLE_IN_ALL +GError* g_error_copy (const GError *error); + +GLIB_AVAILABLE_IN_ALL +gboolean g_error_matches (const GError *error, + GQuark domain, + gint code); + +/* if (err) *err = g_error_new(domain, code, format, ...), also has + * some sanity checks. + */ +GLIB_AVAILABLE_IN_ALL +void g_set_error (GError **err, + GQuark domain, + gint code, + const gchar *format, + ...) G_GNUC_PRINTF (4, 5); + +GLIB_AVAILABLE_IN_ALL +void g_set_error_literal (GError **err, + GQuark domain, + gint code, + const gchar *message); + +/* if (dest) *dest = src; also has some sanity checks. + */ +GLIB_AVAILABLE_IN_ALL +void g_propagate_error (GError **dest, + GError *src); + +/* if (err && *err) { g_error_free(*err); *err = NULL; } */ +GLIB_AVAILABLE_IN_ALL +void g_clear_error (GError **err); + +/* if (err) prefix the formatted string to the ->message */ +GLIB_AVAILABLE_IN_ALL +void g_prefix_error (GError **err, + const gchar *format, + ...) G_GNUC_PRINTF (2, 3); + +/* if (err) prefix the string to the ->message */ +GLIB_AVAILABLE_IN_2_70 +void g_prefix_error_literal (GError **err, + const gchar *prefix); + +/* g_propagate_error then g_error_prefix on dest */ +GLIB_AVAILABLE_IN_ALL +void g_propagate_prefixed_error (GError **dest, + GError *src, + const gchar *format, + ...) G_GNUC_PRINTF (3, 4); + +G_END_DECLS + +#endif /* __G_ERROR_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gfileutils.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gfileutils.h new file mode 100644 index 0000000..c056dd0 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gfileutils.h @@ -0,0 +1,223 @@ +/* gfileutils.h - File utility functions + * + * Copyright 2000 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef __G_FILEUTILS_H__ +#define __G_FILEUTILS_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +#define G_FILE_ERROR g_file_error_quark () + +typedef enum +{ + G_FILE_ERROR_EXIST, + G_FILE_ERROR_ISDIR, + G_FILE_ERROR_ACCES, + G_FILE_ERROR_NAMETOOLONG, + G_FILE_ERROR_NOENT, + G_FILE_ERROR_NOTDIR, + G_FILE_ERROR_NXIO, + G_FILE_ERROR_NODEV, + G_FILE_ERROR_ROFS, + G_FILE_ERROR_TXTBSY, + G_FILE_ERROR_FAULT, + G_FILE_ERROR_LOOP, + G_FILE_ERROR_NOSPC, + G_FILE_ERROR_NOMEM, + G_FILE_ERROR_MFILE, + G_FILE_ERROR_NFILE, + G_FILE_ERROR_BADF, + G_FILE_ERROR_INVAL, + G_FILE_ERROR_PIPE, + G_FILE_ERROR_AGAIN, + G_FILE_ERROR_INTR, + G_FILE_ERROR_IO, + G_FILE_ERROR_PERM, + G_FILE_ERROR_NOSYS, + G_FILE_ERROR_FAILED +} GFileError; + +/* For backward-compat reasons, these are synced to an old + * anonymous enum in libgnome. But don't use that enum + * in new code. + */ +typedef enum +{ + G_FILE_TEST_IS_REGULAR = 1 << 0, + G_FILE_TEST_IS_SYMLINK = 1 << 1, + G_FILE_TEST_IS_DIR = 1 << 2, + G_FILE_TEST_IS_EXECUTABLE = 1 << 3, + G_FILE_TEST_EXISTS = 1 << 4 +} GFileTest; + +/** + * GFileSetContentsFlags: + * @G_FILE_SET_CONTENTS_NONE: No guarantees about file consistency or durability. + * The most dangerous setting, which is slightly faster than other settings. + * @G_FILE_SET_CONTENTS_CONSISTENT: Guarantee file consistency: after a crash, + * either the old version of the file or the new version of the file will be + * available, but not a mixture. On Unix systems this equates to an `fsync()` + * on the file and use of an atomic `rename()` of the new version of the file + * over the old. + * @G_FILE_SET_CONTENTS_DURABLE: Guarantee file durability: after a crash, the + * new version of the file will be available. On Unix systems this equates to + * an `fsync()` on the file (if %G_FILE_SET_CONTENTS_CONSISTENT is unset), or + * the effects of %G_FILE_SET_CONTENTS_CONSISTENT plus an `fsync()` on the + * directory containing the file after calling `rename()`. + * @G_FILE_SET_CONTENTS_ONLY_EXISTING: Only apply consistency and durability + * guarantees if the file already exists. This may speed up file operations + * if the file doesn’t currently exist, but may result in a corrupted version + * of the new file if the system crashes while writing it. + * + * Flags to pass to g_file_set_contents_full() to affect its safety and + * performance. + * + * Since: 2.66 + */ +typedef enum +{ + G_FILE_SET_CONTENTS_NONE = 0, + G_FILE_SET_CONTENTS_CONSISTENT = 1 << 0, + G_FILE_SET_CONTENTS_DURABLE = 1 << 1, + G_FILE_SET_CONTENTS_ONLY_EXISTING = 1 << 2 +} GFileSetContentsFlags +GLIB_AVAILABLE_ENUMERATOR_IN_2_66; + +GLIB_AVAILABLE_IN_ALL +GQuark g_file_error_quark (void); +/* So other code can generate a GFileError */ +GLIB_AVAILABLE_IN_ALL +GFileError g_file_error_from_errno (gint err_no); + +GLIB_AVAILABLE_IN_ALL +gboolean g_file_test (const gchar *filename, + GFileTest test); +GLIB_AVAILABLE_IN_ALL +gboolean g_file_get_contents (const gchar *filename, + gchar **contents, + gsize *length, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_file_set_contents (const gchar *filename, + const gchar *contents, + gssize length, + GError **error); +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_AVAILABLE_IN_2_66 +gboolean g_file_set_contents_full (const gchar *filename, + const gchar *contents, + gssize length, + GFileSetContentsFlags flags, + int mode, + GError **error); +G_GNUC_END_IGNORE_DEPRECATIONS +GLIB_AVAILABLE_IN_ALL +gchar *g_file_read_link (const gchar *filename, + GError **error); + +/* Wrapper / workalike for mkdtemp() */ +GLIB_AVAILABLE_IN_2_30 +gchar *g_mkdtemp (gchar *tmpl); +GLIB_AVAILABLE_IN_2_30 +gchar *g_mkdtemp_full (gchar *tmpl, + gint mode); + +/* Wrapper / workalike for mkstemp() */ +GLIB_AVAILABLE_IN_ALL +gint g_mkstemp (gchar *tmpl); +GLIB_AVAILABLE_IN_ALL +gint g_mkstemp_full (gchar *tmpl, + gint flags, + gint mode); + +/* Wrappers for g_mkstemp and g_mkdtemp() */ +GLIB_AVAILABLE_IN_ALL +gint g_file_open_tmp (const gchar *tmpl, + gchar **name_used, + GError **error); +GLIB_AVAILABLE_IN_2_30 +gchar *g_dir_make_tmp (const gchar *tmpl, + GError **error); + +GLIB_AVAILABLE_IN_ALL +gchar *g_build_path (const gchar *separator, + const gchar *first_element, + ...) G_GNUC_MALLOC G_GNUC_NULL_TERMINATED; +GLIB_AVAILABLE_IN_ALL +gchar *g_build_pathv (const gchar *separator, + gchar **args) G_GNUC_MALLOC; + +GLIB_AVAILABLE_IN_ALL +gchar *g_build_filename (const gchar *first_element, + ...) G_GNUC_MALLOC G_GNUC_NULL_TERMINATED; +GLIB_AVAILABLE_IN_ALL +gchar *g_build_filenamev (gchar **args) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_2_56 +gchar *g_build_filename_valist (const gchar *first_element, + va_list *args) G_GNUC_MALLOC; + +GLIB_AVAILABLE_IN_ALL +gint g_mkdir_with_parents (const gchar *pathname, + gint mode); + +#ifdef G_OS_WIN32 + +/* On Win32, the canonical directory separator is the backslash, and + * the search path separator is the semicolon. Note that also the + * (forward) slash works as directory separator. + */ +#define G_IS_DIR_SEPARATOR(c) ((c) == G_DIR_SEPARATOR || (c) == '/') + +#else /* !G_OS_WIN32 */ + +#define G_IS_DIR_SEPARATOR(c) ((c) == G_DIR_SEPARATOR) + +#endif /* !G_OS_WIN32 */ + +GLIB_AVAILABLE_IN_ALL +gboolean g_path_is_absolute (const gchar *file_name); +GLIB_AVAILABLE_IN_ALL +const gchar *g_path_skip_root (const gchar *file_name); + +GLIB_DEPRECATED_FOR(g_path_get_basename) +const gchar *g_basename (const gchar *file_name); +#define g_dirname g_path_get_dirname GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_path_get_dirname) + +GLIB_AVAILABLE_IN_ALL +gchar *g_get_current_dir (void); +GLIB_AVAILABLE_IN_ALL +gchar *g_path_get_basename (const gchar *file_name) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar *g_path_get_dirname (const gchar *file_name) G_GNUC_MALLOC; + +GLIB_AVAILABLE_IN_2_58 +gchar *g_canonicalize_filename (const gchar *filename, + const gchar *relative_to) G_GNUC_MALLOC; + +G_END_DECLS + +#endif /* __G_FILEUTILS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/ggettext.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/ggettext.h new file mode 100644 index 0000000..33a1fbe --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/ggettext.h @@ -0,0 +1,65 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_GETTEXT_H__ +#define __G_GETTEXT_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +GLIB_AVAILABLE_IN_ALL +const gchar *g_strip_context (const gchar *msgid, + const gchar *msgval) G_GNUC_FORMAT(1); + +GLIB_AVAILABLE_IN_ALL +const gchar *g_dgettext (const gchar *domain, + const gchar *msgid) G_GNUC_FORMAT(2); +GLIB_AVAILABLE_IN_ALL +const gchar *g_dcgettext (const gchar *domain, + const gchar *msgid, + gint category) G_GNUC_FORMAT(2); +GLIB_AVAILABLE_IN_ALL +const gchar *g_dngettext (const gchar *domain, + const gchar *msgid, + const gchar *msgid_plural, + gulong n) G_GNUC_FORMAT(3); +GLIB_AVAILABLE_IN_ALL +const gchar *g_dpgettext (const gchar *domain, + const gchar *msgctxtid, + gsize msgidoffset) G_GNUC_FORMAT(2); +GLIB_AVAILABLE_IN_ALL +const gchar *g_dpgettext2 (const gchar *domain, + const gchar *context, + const gchar *msgid) G_GNUC_FORMAT(3); + +G_END_DECLS + +#endif /* __G_GETTEXT_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/ghash.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/ghash.h new file mode 100644 index 0000000..3eb8f3b --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/ghash.h @@ -0,0 +1,206 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_HASH_H__ +#define __G_HASH_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include + +G_BEGIN_DECLS + +typedef struct _GHashTable GHashTable; + +typedef gboolean (*GHRFunc) (gpointer key, + gpointer value, + gpointer user_data); + +typedef struct _GHashTableIter GHashTableIter; + +struct _GHashTableIter +{ + /*< private >*/ + gpointer dummy1; + gpointer dummy2; + gpointer dummy3; + int dummy4; + gboolean dummy5; + gpointer dummy6; +}; + +GLIB_AVAILABLE_IN_ALL +GHashTable* g_hash_table_new (GHashFunc hash_func, + GEqualFunc key_equal_func); +GLIB_AVAILABLE_IN_ALL +GHashTable* g_hash_table_new_full (GHashFunc hash_func, + GEqualFunc key_equal_func, + GDestroyNotify key_destroy_func, + GDestroyNotify value_destroy_func); +GLIB_AVAILABLE_IN_2_72 +GHashTable *g_hash_table_new_similar (GHashTable *other_hash_table); +GLIB_AVAILABLE_IN_ALL +void g_hash_table_destroy (GHashTable *hash_table); +GLIB_AVAILABLE_IN_ALL +gboolean g_hash_table_insert (GHashTable *hash_table, + gpointer key, + gpointer value); +GLIB_AVAILABLE_IN_ALL +gboolean g_hash_table_replace (GHashTable *hash_table, + gpointer key, + gpointer value); +GLIB_AVAILABLE_IN_ALL +gboolean g_hash_table_add (GHashTable *hash_table, + gpointer key); +GLIB_AVAILABLE_IN_ALL +gboolean g_hash_table_remove (GHashTable *hash_table, + gconstpointer key); +GLIB_AVAILABLE_IN_ALL +void g_hash_table_remove_all (GHashTable *hash_table); +GLIB_AVAILABLE_IN_ALL +gboolean g_hash_table_steal (GHashTable *hash_table, + gconstpointer key); +GLIB_AVAILABLE_IN_2_58 +gboolean g_hash_table_steal_extended (GHashTable *hash_table, + gconstpointer lookup_key, + gpointer *stolen_key, + gpointer *stolen_value); +GLIB_AVAILABLE_IN_ALL +void g_hash_table_steal_all (GHashTable *hash_table); +GLIB_AVAILABLE_IN_2_76 +GPtrArray * g_hash_table_steal_all_keys (GHashTable *hash_table); +GLIB_AVAILABLE_IN_2_76 +GPtrArray * g_hash_table_steal_all_values (GHashTable *hash_table); +GLIB_AVAILABLE_IN_ALL +gpointer g_hash_table_lookup (GHashTable *hash_table, + gconstpointer key); +GLIB_AVAILABLE_IN_ALL +gboolean g_hash_table_contains (GHashTable *hash_table, + gconstpointer key); +GLIB_AVAILABLE_IN_ALL +gboolean g_hash_table_lookup_extended (GHashTable *hash_table, + gconstpointer lookup_key, + gpointer *orig_key, + gpointer *value); +GLIB_AVAILABLE_IN_ALL +void g_hash_table_foreach (GHashTable *hash_table, + GHFunc func, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +gpointer g_hash_table_find (GHashTable *hash_table, + GHRFunc predicate, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +guint g_hash_table_foreach_remove (GHashTable *hash_table, + GHRFunc func, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +guint g_hash_table_foreach_steal (GHashTable *hash_table, + GHRFunc func, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +guint g_hash_table_size (GHashTable *hash_table); +GLIB_AVAILABLE_IN_ALL +GList * g_hash_table_get_keys (GHashTable *hash_table); +GLIB_AVAILABLE_IN_ALL +GList * g_hash_table_get_values (GHashTable *hash_table); +GLIB_AVAILABLE_IN_2_40 +gpointer * g_hash_table_get_keys_as_array (GHashTable *hash_table, + guint *length); +GLIB_AVAILABLE_IN_2_76 +GPtrArray * g_hash_table_get_keys_as_ptr_array (GHashTable *hash_table); + +GLIB_AVAILABLE_IN_2_76 +GPtrArray * g_hash_table_get_values_as_ptr_array (GHashTable *hash_table); + +GLIB_AVAILABLE_IN_ALL +void g_hash_table_iter_init (GHashTableIter *iter, + GHashTable *hash_table); +GLIB_AVAILABLE_IN_ALL +gboolean g_hash_table_iter_next (GHashTableIter *iter, + gpointer *key, + gpointer *value); +GLIB_AVAILABLE_IN_ALL +GHashTable* g_hash_table_iter_get_hash_table (GHashTableIter *iter); +GLIB_AVAILABLE_IN_ALL +void g_hash_table_iter_remove (GHashTableIter *iter); +GLIB_AVAILABLE_IN_2_30 +void g_hash_table_iter_replace (GHashTableIter *iter, + gpointer value); +GLIB_AVAILABLE_IN_ALL +void g_hash_table_iter_steal (GHashTableIter *iter); + +GLIB_AVAILABLE_IN_ALL +GHashTable* g_hash_table_ref (GHashTable *hash_table); +GLIB_AVAILABLE_IN_ALL +void g_hash_table_unref (GHashTable *hash_table); + +#define g_hash_table_freeze(hash_table) ((void)0) GLIB_DEPRECATED_MACRO_IN_2_26 +#define g_hash_table_thaw(hash_table) ((void)0) GLIB_DEPRECATED_MACRO_IN_2_26 + +/* Hash Functions + */ +GLIB_AVAILABLE_IN_ALL +gboolean g_str_equal (gconstpointer v1, + gconstpointer v2); + +/* Macro for optimization in the case it is not used as callback function */ +#define g_str_equal(v1, v2) (strcmp ((const char *) (v1), (const char *) (v2)) == 0) + +GLIB_AVAILABLE_IN_ALL +guint g_str_hash (gconstpointer v); + +GLIB_AVAILABLE_IN_ALL +gboolean g_int_equal (gconstpointer v1, + gconstpointer v2); +GLIB_AVAILABLE_IN_ALL +guint g_int_hash (gconstpointer v); + +GLIB_AVAILABLE_IN_ALL +gboolean g_int64_equal (gconstpointer v1, + gconstpointer v2); +GLIB_AVAILABLE_IN_ALL +guint g_int64_hash (gconstpointer v); + +GLIB_AVAILABLE_IN_ALL +gboolean g_double_equal (gconstpointer v1, + gconstpointer v2); +GLIB_AVAILABLE_IN_ALL +guint g_double_hash (gconstpointer v); + +GLIB_AVAILABLE_IN_ALL +guint g_direct_hash (gconstpointer v) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_direct_equal (gconstpointer v1, + gconstpointer v2) G_GNUC_CONST; + +G_END_DECLS + +#endif /* __G_HASH_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/ghmac.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/ghmac.h new file mode 100644 index 0000000..346b451 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/ghmac.h @@ -0,0 +1,85 @@ +/* ghmac.h - secure data hashing + * + * Copyright (C) 2011 Stef Walter + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef __G_HMAC_H__ +#define __G_HMAC_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include "gchecksum.h" + +G_BEGIN_DECLS + +/** + * GHmac: + * + * An opaque structure representing a HMAC operation. + * To create a new GHmac, use g_hmac_new(). To free + * a GHmac, use g_hmac_unref(). + * + * Since: 2.30 + */ +typedef struct _GHmac GHmac; + +GLIB_AVAILABLE_IN_2_30 +GHmac * g_hmac_new (GChecksumType digest_type, + const guchar *key, + gsize key_len); +GLIB_AVAILABLE_IN_2_30 +GHmac * g_hmac_copy (const GHmac *hmac); +GLIB_AVAILABLE_IN_2_30 +GHmac * g_hmac_ref (GHmac *hmac); +GLIB_AVAILABLE_IN_2_30 +void g_hmac_unref (GHmac *hmac); +GLIB_AVAILABLE_IN_2_30 +void g_hmac_update (GHmac *hmac, + const guchar *data, + gssize length); +GLIB_AVAILABLE_IN_2_30 +const gchar * g_hmac_get_string (GHmac *hmac); +GLIB_AVAILABLE_IN_2_30 +void g_hmac_get_digest (GHmac *hmac, + guint8 *buffer, + gsize *digest_len); + +GLIB_AVAILABLE_IN_2_30 +gchar *g_compute_hmac_for_data (GChecksumType digest_type, + const guchar *key, + gsize key_len, + const guchar *data, + gsize length); +GLIB_AVAILABLE_IN_2_30 +gchar *g_compute_hmac_for_string (GChecksumType digest_type, + const guchar *key, + gsize key_len, + const gchar *str, + gssize length); +GLIB_AVAILABLE_IN_2_50 +gchar *g_compute_hmac_for_bytes (GChecksumType digest_type, + GBytes *key, + GBytes *data); + + +G_END_DECLS + +#endif /* __G_CHECKSUM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/ghook.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/ghook.h new file mode 100644 index 0000000..1bd8582 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/ghook.h @@ -0,0 +1,204 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_HOOK_H__ +#define __G_HOOK_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + + +/* --- typedefs --- */ +typedef struct _GHook GHook; +typedef struct _GHookList GHookList; + +typedef gint (*GHookCompareFunc) (GHook *new_hook, + GHook *sibling); +typedef gboolean (*GHookFindFunc) (GHook *hook, + gpointer data); +typedef void (*GHookMarshaller) (GHook *hook, + gpointer marshal_data); +typedef gboolean (*GHookCheckMarshaller) (GHook *hook, + gpointer marshal_data); +typedef void (*GHookFunc) (gpointer data); +typedef gboolean (*GHookCheckFunc) (gpointer data); +typedef void (*GHookFinalizeFunc) (GHookList *hook_list, + GHook *hook); +typedef enum +{ + G_HOOK_FLAG_ACTIVE = 1 << 0, + G_HOOK_FLAG_IN_CALL = 1 << 1, + G_HOOK_FLAG_MASK = 0x0f +} GHookFlagMask; +#define G_HOOK_FLAG_USER_SHIFT (4) + + +/* --- structures --- */ +struct _GHookList +{ + gulong seq_id; + guint hook_size : 16; + guint is_setup : 1; + GHook *hooks; + gpointer dummy3; + GHookFinalizeFunc finalize_hook; + gpointer dummy[2]; +}; +struct _GHook +{ + gpointer data; + GHook *next; + GHook *prev; + guint ref_count; + gulong hook_id; + guint flags; + gpointer func; + GDestroyNotify destroy; +}; + + +/* --- macros --- */ +#define G_HOOK(hook) ((GHook*) (hook)) +#define G_HOOK_FLAGS(hook) (G_HOOK (hook)->flags) +#define G_HOOK_ACTIVE(hook) ((G_HOOK_FLAGS (hook) & \ + G_HOOK_FLAG_ACTIVE) != 0) +#define G_HOOK_IN_CALL(hook) ((G_HOOK_FLAGS (hook) & \ + G_HOOK_FLAG_IN_CALL) != 0) +#define G_HOOK_IS_VALID(hook) (G_HOOK (hook)->hook_id != 0 && \ + (G_HOOK_FLAGS (hook) & \ + G_HOOK_FLAG_ACTIVE)) +#define G_HOOK_IS_UNLINKED(hook) (G_HOOK (hook)->next == NULL && \ + G_HOOK (hook)->prev == NULL && \ + G_HOOK (hook)->hook_id == 0 && \ + G_HOOK (hook)->ref_count == 0) + + +/* --- prototypes --- */ +/* callback maintenance functions */ +GLIB_AVAILABLE_IN_ALL +void g_hook_list_init (GHookList *hook_list, + guint hook_size); +GLIB_AVAILABLE_IN_ALL +void g_hook_list_clear (GHookList *hook_list); +GLIB_AVAILABLE_IN_ALL +GHook* g_hook_alloc (GHookList *hook_list); +GLIB_AVAILABLE_IN_ALL +void g_hook_free (GHookList *hook_list, + GHook *hook); +GLIB_AVAILABLE_IN_ALL +GHook * g_hook_ref (GHookList *hook_list, + GHook *hook); +GLIB_AVAILABLE_IN_ALL +void g_hook_unref (GHookList *hook_list, + GHook *hook); +GLIB_AVAILABLE_IN_ALL +gboolean g_hook_destroy (GHookList *hook_list, + gulong hook_id); +GLIB_AVAILABLE_IN_ALL +void g_hook_destroy_link (GHookList *hook_list, + GHook *hook); +GLIB_AVAILABLE_IN_ALL +void g_hook_prepend (GHookList *hook_list, + GHook *hook); +GLIB_AVAILABLE_IN_ALL +void g_hook_insert_before (GHookList *hook_list, + GHook *sibling, + GHook *hook); +GLIB_AVAILABLE_IN_ALL +void g_hook_insert_sorted (GHookList *hook_list, + GHook *hook, + GHookCompareFunc func); +GLIB_AVAILABLE_IN_ALL +GHook* g_hook_get (GHookList *hook_list, + gulong hook_id); +GLIB_AVAILABLE_IN_ALL +GHook* g_hook_find (GHookList *hook_list, + gboolean need_valids, + GHookFindFunc func, + gpointer data); +GLIB_AVAILABLE_IN_ALL +GHook* g_hook_find_data (GHookList *hook_list, + gboolean need_valids, + gpointer data); +GLIB_AVAILABLE_IN_ALL +GHook* g_hook_find_func (GHookList *hook_list, + gboolean need_valids, + gpointer func); +GLIB_AVAILABLE_IN_ALL +GHook* g_hook_find_func_data (GHookList *hook_list, + gboolean need_valids, + gpointer func, + gpointer data); +/* return the first valid hook, and increment its reference count */ +GLIB_AVAILABLE_IN_ALL +GHook* g_hook_first_valid (GHookList *hook_list, + gboolean may_be_in_call); +/* return the next valid hook with incremented reference count, and + * decrement the reference count of the original hook + */ +GLIB_AVAILABLE_IN_ALL +GHook* g_hook_next_valid (GHookList *hook_list, + GHook *hook, + gboolean may_be_in_call); +/* GHookCompareFunc implementation to insert hooks sorted by their id */ +GLIB_AVAILABLE_IN_ALL +gint g_hook_compare_ids (GHook *new_hook, + GHook *sibling); +/* convenience macros */ +#define g_hook_append( hook_list, hook ) \ + g_hook_insert_before ((hook_list), NULL, (hook)) +/* invoke all valid hooks with the (*GHookFunc) signature. + */ +GLIB_AVAILABLE_IN_ALL +void g_hook_list_invoke (GHookList *hook_list, + gboolean may_recurse); +/* invoke all valid hooks with the (*GHookCheckFunc) signature, + * and destroy the hook if FALSE is returned. + */ +GLIB_AVAILABLE_IN_ALL +void g_hook_list_invoke_check (GHookList *hook_list, + gboolean may_recurse); +/* invoke a marshaller on all valid hooks. + */ +GLIB_AVAILABLE_IN_ALL +void g_hook_list_marshal (GHookList *hook_list, + gboolean may_recurse, + GHookMarshaller marshaller, + gpointer marshal_data); +GLIB_AVAILABLE_IN_ALL +void g_hook_list_marshal_check (GHookList *hook_list, + gboolean may_recurse, + GHookCheckMarshaller marshaller, + gpointer marshal_data); + +G_END_DECLS + +#endif /* __G_HOOK_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/ghostutils.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/ghostutils.h new file mode 100644 index 0000000..6f35097 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/ghostutils.h @@ -0,0 +1,45 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 2008 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_HOST_UTILS_H__ +#define __G_HOST_UTILS_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +GLIB_AVAILABLE_IN_ALL +gboolean g_hostname_is_non_ascii (const gchar *hostname); +GLIB_AVAILABLE_IN_ALL +gboolean g_hostname_is_ascii_encoded (const gchar *hostname); +GLIB_AVAILABLE_IN_ALL +gboolean g_hostname_is_ip_address (const gchar *hostname); + +GLIB_AVAILABLE_IN_ALL +gchar *g_hostname_to_ascii (const gchar *hostname); +GLIB_AVAILABLE_IN_ALL +gchar *g_hostname_to_unicode (const gchar *hostname); + +G_END_DECLS + +#endif /* __G_HOST_UTILS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gi18n-lib.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gi18n-lib.h new file mode 100644 index 0000000..fe9e79d --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gi18n-lib.h @@ -0,0 +1,38 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997, 2002 Peter Mattis, Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef __G_I18N_LIB_H__ +#define __G_I18N_LIB_H__ + +#include + +#include +#include + +#ifndef GETTEXT_PACKAGE +#error You must define GETTEXT_PACKAGE before including gi18n-lib.h. Did you forget to include config.h? +#endif + +#define _(String) ((char *) g_dgettext (GETTEXT_PACKAGE, String)) +#define Q_(String) g_dpgettext (GETTEXT_PACKAGE, String, 0) +#define N_(String) (String) +#define C_(Context,String) g_dpgettext (GETTEXT_PACKAGE, Context "\004" String, strlen (Context) + 1) +#define NC_(Context, String) (String) + +#endif /* __G_I18N_LIB_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gi18n.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gi18n.h new file mode 100644 index 0000000..dbb2cb3 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gi18n.h @@ -0,0 +1,34 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997, 2002 Peter Mattis, Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef __G_I18N_H__ +#define __G_I18N_H__ + +#include + +#include +#include + +#define _(String) gettext (String) +#define Q_(String) g_dpgettext (NULL, String, 0) +#define N_(String) (String) +#define C_(Context,String) g_dpgettext (NULL, Context "\004" String, strlen (Context) + 1) +#define NC_(Context, String) (String) + +#endif /* __G_I18N_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/giochannel.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/giochannel.h new file mode 100644 index 0000000..913019c --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/giochannel.h @@ -0,0 +1,407 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_IOCHANNEL_H__ +#define __G_IOCHANNEL_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include + +G_BEGIN_DECLS + +/* GIOChannel + */ + +typedef struct _GIOChannel GIOChannel; +typedef struct _GIOFuncs GIOFuncs; + +typedef enum +{ + G_IO_ERROR_NONE, + G_IO_ERROR_AGAIN, + G_IO_ERROR_INVAL, + G_IO_ERROR_UNKNOWN +} GIOError; + +#define G_IO_CHANNEL_ERROR g_io_channel_error_quark() + +typedef enum +{ + /* Derived from errno */ + G_IO_CHANNEL_ERROR_FBIG, + G_IO_CHANNEL_ERROR_INVAL, + G_IO_CHANNEL_ERROR_IO, + G_IO_CHANNEL_ERROR_ISDIR, + G_IO_CHANNEL_ERROR_NOSPC, + G_IO_CHANNEL_ERROR_NXIO, + G_IO_CHANNEL_ERROR_OVERFLOW, + G_IO_CHANNEL_ERROR_PIPE, + /* Other */ + G_IO_CHANNEL_ERROR_FAILED +} GIOChannelError; + +typedef enum +{ + G_IO_STATUS_ERROR, + G_IO_STATUS_NORMAL, + G_IO_STATUS_EOF, + G_IO_STATUS_AGAIN +} GIOStatus; + +typedef enum +{ + G_SEEK_CUR, + G_SEEK_SET, + G_SEEK_END +} GSeekType; + +typedef enum +{ + G_IO_FLAG_NONE GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 0, + G_IO_FLAG_APPEND = 1 << 0, + G_IO_FLAG_NONBLOCK = 1 << 1, + G_IO_FLAG_IS_READABLE = 1 << 2, /* Read only flag */ + G_IO_FLAG_IS_WRITABLE = 1 << 3, /* Read only flag */ + G_IO_FLAG_IS_WRITEABLE = 1 << 3, /* Misspelling in 2.29.10 and earlier */ + G_IO_FLAG_IS_SEEKABLE = 1 << 4, /* Read only flag */ + G_IO_FLAG_MASK = (1 << 5) - 1, + G_IO_FLAG_GET_MASK = G_IO_FLAG_MASK, + G_IO_FLAG_SET_MASK = G_IO_FLAG_APPEND | G_IO_FLAG_NONBLOCK +} GIOFlags; + +struct _GIOChannel +{ + /*< private >*/ + gint ref_count; + GIOFuncs *funcs; + + gchar *encoding; + GIConv read_cd; + GIConv write_cd; + gchar *line_term; /* String which indicates the end of a line of text */ + guint line_term_len; /* So we can have null in the line term */ + + gsize buf_size; + GString *read_buf; /* Raw data from the channel */ + GString *encoded_read_buf; /* Channel data converted to UTF-8 */ + GString *write_buf; /* Data ready to be written to the file */ + gchar partial_write_buf[6]; /* UTF-8 partial characters, null terminated */ + + /* Group the flags together, immediately after partial_write_buf, to save memory */ + + guint use_buffer : 1; /* The encoding uses the buffers */ + guint do_encode : 1; /* The encoding uses the GIConv coverters */ + guint close_on_unref : 1; /* Close the channel on final unref */ + guint is_readable : 1; /* Cached GIOFlag */ + guint is_writeable : 1; /* ditto */ + guint is_seekable : 1; /* ditto */ + + gpointer reserved1; + gpointer reserved2; +}; + +typedef gboolean (*GIOFunc) (GIOChannel *source, + GIOCondition condition, + gpointer data); +struct _GIOFuncs +{ + GIOStatus (*io_read) (GIOChannel *channel, + gchar *buf, + gsize count, + gsize *bytes_read, + GError **err); + GIOStatus (*io_write) (GIOChannel *channel, + const gchar *buf, + gsize count, + gsize *bytes_written, + GError **err); + GIOStatus (*io_seek) (GIOChannel *channel, + gint64 offset, + GSeekType type, + GError **err); + GIOStatus (*io_close) (GIOChannel *channel, + GError **err); + GSource* (*io_create_watch) (GIOChannel *channel, + GIOCondition condition); + void (*io_free) (GIOChannel *channel); + GIOStatus (*io_set_flags) (GIOChannel *channel, + GIOFlags flags, + GError **err); + GIOFlags (*io_get_flags) (GIOChannel *channel); +}; + +GLIB_AVAILABLE_IN_ALL +void g_io_channel_init (GIOChannel *channel); +GLIB_AVAILABLE_IN_ALL +GIOChannel *g_io_channel_ref (GIOChannel *channel); +GLIB_AVAILABLE_IN_ALL +void g_io_channel_unref (GIOChannel *channel); + +GLIB_DEPRECATED_FOR(g_io_channel_read_chars) +GIOError g_io_channel_read (GIOChannel *channel, + gchar *buf, + gsize count, + gsize *bytes_read); + +GLIB_DEPRECATED_FOR(g_io_channel_write_chars) +GIOError g_io_channel_write (GIOChannel *channel, + const gchar *buf, + gsize count, + gsize *bytes_written); + +GLIB_DEPRECATED_FOR(g_io_channel_seek_position) +GIOError g_io_channel_seek (GIOChannel *channel, + gint64 offset, + GSeekType type); + +GLIB_DEPRECATED_FOR(g_io_channel_shutdown) +void g_io_channel_close (GIOChannel *channel); + +GLIB_AVAILABLE_IN_ALL +GIOStatus g_io_channel_shutdown (GIOChannel *channel, + gboolean flush, + GError **err); +GLIB_AVAILABLE_IN_ALL +guint g_io_add_watch_full (GIOChannel *channel, + gint priority, + GIOCondition condition, + GIOFunc func, + gpointer user_data, + GDestroyNotify notify); +GLIB_AVAILABLE_IN_ALL +GSource * g_io_create_watch (GIOChannel *channel, + GIOCondition condition); +GLIB_AVAILABLE_IN_ALL +guint g_io_add_watch (GIOChannel *channel, + GIOCondition condition, + GIOFunc func, + gpointer user_data); + +/* character encoding conversion involved functions. + */ + +GLIB_AVAILABLE_IN_ALL +void g_io_channel_set_buffer_size (GIOChannel *channel, + gsize size); +GLIB_AVAILABLE_IN_ALL +gsize g_io_channel_get_buffer_size (GIOChannel *channel); +GLIB_AVAILABLE_IN_ALL +GIOCondition g_io_channel_get_buffer_condition (GIOChannel *channel); +GLIB_AVAILABLE_IN_ALL +GIOStatus g_io_channel_set_flags (GIOChannel *channel, + GIOFlags flags, + GError **error); +GLIB_AVAILABLE_IN_ALL +GIOFlags g_io_channel_get_flags (GIOChannel *channel); +GLIB_AVAILABLE_IN_ALL +void g_io_channel_set_line_term (GIOChannel *channel, + const gchar *line_term, + gint length); +GLIB_AVAILABLE_IN_ALL +const gchar * g_io_channel_get_line_term (GIOChannel *channel, + gint *length); +GLIB_AVAILABLE_IN_ALL +void g_io_channel_set_buffered (GIOChannel *channel, + gboolean buffered); +GLIB_AVAILABLE_IN_ALL +gboolean g_io_channel_get_buffered (GIOChannel *channel); +GLIB_AVAILABLE_IN_ALL +GIOStatus g_io_channel_set_encoding (GIOChannel *channel, + const gchar *encoding, + GError **error); +GLIB_AVAILABLE_IN_ALL +const gchar * g_io_channel_get_encoding (GIOChannel *channel); +GLIB_AVAILABLE_IN_ALL +void g_io_channel_set_close_on_unref (GIOChannel *channel, + gboolean do_close); +GLIB_AVAILABLE_IN_ALL +gboolean g_io_channel_get_close_on_unref (GIOChannel *channel); + + +GLIB_AVAILABLE_IN_ALL +GIOStatus g_io_channel_flush (GIOChannel *channel, + GError **error); +GLIB_AVAILABLE_IN_ALL +GIOStatus g_io_channel_read_line (GIOChannel *channel, + gchar **str_return, + gsize *length, + gsize *terminator_pos, + GError **error); +GLIB_AVAILABLE_IN_ALL +GIOStatus g_io_channel_read_line_string (GIOChannel *channel, + GString *buffer, + gsize *terminator_pos, + GError **error); +GLIB_AVAILABLE_IN_ALL +GIOStatus g_io_channel_read_to_end (GIOChannel *channel, + gchar **str_return, + gsize *length, + GError **error); +GLIB_AVAILABLE_IN_ALL +GIOStatus g_io_channel_read_chars (GIOChannel *channel, + gchar *buf, + gsize count, + gsize *bytes_read, + GError **error); +GLIB_AVAILABLE_IN_ALL +GIOStatus g_io_channel_read_unichar (GIOChannel *channel, + gunichar *thechar, + GError **error); +GLIB_AVAILABLE_IN_ALL +GIOStatus g_io_channel_write_chars (GIOChannel *channel, + const gchar *buf, + gssize count, + gsize *bytes_written, + GError **error); +GLIB_AVAILABLE_IN_ALL +GIOStatus g_io_channel_write_unichar (GIOChannel *channel, + gunichar thechar, + GError **error); +GLIB_AVAILABLE_IN_ALL +GIOStatus g_io_channel_seek_position (GIOChannel *channel, + gint64 offset, + GSeekType type, + GError **error); +GLIB_AVAILABLE_IN_ALL +GIOChannel* g_io_channel_new_file (const gchar *filename, + const gchar *mode, + GError **error); + +/* Error handling */ + +GLIB_AVAILABLE_IN_ALL +GQuark g_io_channel_error_quark (void); +GLIB_AVAILABLE_IN_ALL +GIOChannelError g_io_channel_error_from_errno (gint en); + +/* On Unix, IO channels created with this function for any file + * descriptor or socket. + * + * On Win32, this can be used either for files opened with the MSVCRT + * (the Microsoft run-time C library) _open() or _pipe, including file + * descriptors 0, 1 and 2 (corresponding to stdin, stdout and stderr), + * or for Winsock SOCKETs. If the parameter is a legal file + * descriptor, it is assumed to be such, otherwise it should be a + * SOCKET. This relies on SOCKETs and file descriptors not + * overlapping. If you want to be certain, call either + * g_io_channel_win32_new_fd() or g_io_channel_win32_new_socket() + * instead as appropriate. + * + * The term file descriptor as used in the context of Win32 refers to + * the emulated Unix-like file descriptors MSVCRT provides. The native + * corresponding concept is file HANDLE. There isn't as of yet a way to + * get GIOChannels for Win32 file HANDLEs. + */ +GLIB_AVAILABLE_IN_ALL +GIOChannel* g_io_channel_unix_new (int fd); +GLIB_AVAILABLE_IN_ALL +gint g_io_channel_unix_get_fd (GIOChannel *channel); + + +/* Hook for GClosure / GSource integration. Don't touch */ +GLIB_VAR GSourceFuncs g_io_watch_funcs; + +#ifdef G_OS_WIN32 + +/* You can use this "pseudo file descriptor" in a GPollFD to add + * polling for Windows messages. GTK applications should not do that. + */ + +#define G_WIN32_MSG_HANDLE 19981206 + +/* Use this to get a GPollFD from a GIOChannel, so that you can call + * g_io_channel_win32_poll(). After calling this you should only use + * g_io_channel_read() to read from the GIOChannel, i.e. never read() + * from the underlying file descriptor. For SOCKETs, it is possible to call + * recv(). + */ +GLIB_AVAILABLE_IN_ALL +void g_io_channel_win32_make_pollfd (GIOChannel *channel, + GIOCondition condition, + GPollFD *fd); + +/* This can be used to wait until at least one of the channels is readable. + * On Unix you would do a select() on the file descriptors of the channels. + */ +GLIB_AVAILABLE_IN_ALL +gint g_io_channel_win32_poll (GPollFD *fds, + gint n_fds, + gint timeout_); + +/* Create an IO channel for Windows messages for window handle hwnd. */ +#if GLIB_SIZEOF_VOID_P == 8 +/* We use gsize here so that it is still an integer type and not a + * pointer, like the guint in the traditional prototype. We can't use + * intptr_t as that is not portable enough. + */ +GLIB_AVAILABLE_IN_ALL +GIOChannel *g_io_channel_win32_new_messages (gsize hwnd); +#else +GLIB_AVAILABLE_IN_ALL +GIOChannel *g_io_channel_win32_new_messages (guint hwnd); +#endif + +/* Create an IO channel for C runtime (emulated Unix-like) file + * descriptors. After calling g_io_add_watch() on a IO channel + * returned by this function, you shouldn't call read() on the file + * descriptor. This is because adding polling for a file descriptor is + * implemented on Win32 by starting a thread that sits blocked in a + * read() from the file descriptor most of the time. All reads from + * the file descriptor should be done by this internal GLib + * thread. Your code should call only g_io_channel_read_chars(). + */ +GLIB_AVAILABLE_IN_ALL +GIOChannel* g_io_channel_win32_new_fd (gint fd); + +/* Get the C runtime file descriptor of a channel. */ +GLIB_AVAILABLE_IN_ALL +gint g_io_channel_win32_get_fd (GIOChannel *channel); + +/* Create an IO channel for a winsock socket. The parameter should be + * a SOCKET. Contrary to IO channels for file descriptors (on *Win32), + * you can use normal recv() or recvfrom() on sockets even if GLib + * is polling them. + */ +GLIB_AVAILABLE_IN_ALL +GIOChannel *g_io_channel_win32_new_socket (gint socket); + +GLIB_DEPRECATED_FOR(g_io_channel_win32_new_socket) +GIOChannel *g_io_channel_win32_new_stream_socket (gint socket); + +GLIB_AVAILABLE_IN_ALL +void g_io_channel_win32_set_debug (GIOChannel *channel, + gboolean flag); + +#endif + +G_END_DECLS + +#endif /* __G_IOCHANNEL_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gkeyfile.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gkeyfile.h new file mode 100644 index 0000000..9d026d6 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gkeyfile.h @@ -0,0 +1,332 @@ +/* gkeyfile.h - desktop entry file parser + * + * Copyright 2004 Red Hat, Inc. + * + * Ray Strode + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef __G_KEY_FILE_H__ +#define __G_KEY_FILE_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +typedef enum +{ + G_KEY_FILE_ERROR_UNKNOWN_ENCODING, + G_KEY_FILE_ERROR_PARSE, + G_KEY_FILE_ERROR_NOT_FOUND, + G_KEY_FILE_ERROR_KEY_NOT_FOUND, + G_KEY_FILE_ERROR_GROUP_NOT_FOUND, + G_KEY_FILE_ERROR_INVALID_VALUE +} GKeyFileError; + +#define G_KEY_FILE_ERROR g_key_file_error_quark() + +GLIB_AVAILABLE_IN_ALL +GQuark g_key_file_error_quark (void); + +typedef struct _GKeyFile GKeyFile; + +typedef enum +{ + G_KEY_FILE_NONE = 0, + G_KEY_FILE_KEEP_COMMENTS = 1 << 0, + G_KEY_FILE_KEEP_TRANSLATIONS = 1 << 1 +} GKeyFileFlags; + +GLIB_AVAILABLE_IN_ALL +GKeyFile *g_key_file_new (void); +GLIB_AVAILABLE_IN_ALL +GKeyFile *g_key_file_ref (GKeyFile *key_file); +GLIB_AVAILABLE_IN_ALL +void g_key_file_unref (GKeyFile *key_file); +GLIB_AVAILABLE_IN_ALL +void g_key_file_free (GKeyFile *key_file); +GLIB_AVAILABLE_IN_ALL +void g_key_file_set_list_separator (GKeyFile *key_file, + gchar separator); +GLIB_AVAILABLE_IN_ALL +gboolean g_key_file_load_from_file (GKeyFile *key_file, + const gchar *file, + GKeyFileFlags flags, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_key_file_load_from_data (GKeyFile *key_file, + const gchar *data, + gsize length, + GKeyFileFlags flags, + GError **error); +GLIB_AVAILABLE_IN_2_50 +gboolean g_key_file_load_from_bytes (GKeyFile *key_file, + GBytes *bytes, + GKeyFileFlags flags, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_key_file_load_from_dirs (GKeyFile *key_file, + const gchar *file, + const gchar **search_dirs, + gchar **full_path, + GKeyFileFlags flags, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_key_file_load_from_data_dirs (GKeyFile *key_file, + const gchar *file, + gchar **full_path, + GKeyFileFlags flags, + GError **error); +GLIB_AVAILABLE_IN_ALL +gchar *g_key_file_to_data (GKeyFile *key_file, + gsize *length, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_2_40 +gboolean g_key_file_save_to_file (GKeyFile *key_file, + const gchar *filename, + GError **error); +GLIB_AVAILABLE_IN_ALL +gchar *g_key_file_get_start_group (GKeyFile *key_file) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar **g_key_file_get_groups (GKeyFile *key_file, + gsize *length); +GLIB_AVAILABLE_IN_ALL +gchar **g_key_file_get_keys (GKeyFile *key_file, + const gchar *group_name, + gsize *length, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_key_file_has_group (GKeyFile *key_file, + const gchar *group_name); +GLIB_AVAILABLE_IN_ALL +gboolean g_key_file_has_key (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error); +GLIB_AVAILABLE_IN_ALL +gchar *g_key_file_get_value (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +void g_key_file_set_value (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + const gchar *value); +GLIB_AVAILABLE_IN_ALL +gchar *g_key_file_get_string (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +void g_key_file_set_string (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + const gchar *string); +GLIB_AVAILABLE_IN_ALL +gchar *g_key_file_get_locale_string (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + const gchar *locale, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_2_56 +gchar *g_key_file_get_locale_for_key (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + const gchar *locale) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +void g_key_file_set_locale_string (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + const gchar *locale, + const gchar *string); +GLIB_AVAILABLE_IN_ALL +gboolean g_key_file_get_boolean (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_key_file_set_boolean (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gboolean value); +GLIB_AVAILABLE_IN_ALL +gint g_key_file_get_integer (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_key_file_set_integer (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gint value); +GLIB_AVAILABLE_IN_ALL +gint64 g_key_file_get_int64 (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_key_file_set_int64 (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gint64 value); +GLIB_AVAILABLE_IN_ALL +guint64 g_key_file_get_uint64 (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_key_file_set_uint64 (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + guint64 value); +GLIB_AVAILABLE_IN_ALL +gdouble g_key_file_get_double (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_key_file_set_double (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gdouble value); +GLIB_AVAILABLE_IN_ALL +gchar **g_key_file_get_string_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gsize *length, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_key_file_set_string_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + const gchar * const list[], + gsize length); +GLIB_AVAILABLE_IN_ALL +gchar **g_key_file_get_locale_string_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + const gchar *locale, + gsize *length, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_key_file_set_locale_string_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + const gchar *locale, + const gchar * const list[], + gsize length); +GLIB_AVAILABLE_IN_ALL +gboolean *g_key_file_get_boolean_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gsize *length, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +void g_key_file_set_boolean_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gboolean list[], + gsize length); +GLIB_AVAILABLE_IN_ALL +gint *g_key_file_get_integer_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gsize *length, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +void g_key_file_set_double_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gdouble list[], + gsize length); +GLIB_AVAILABLE_IN_ALL +gdouble *g_key_file_get_double_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gsize *length, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +void g_key_file_set_integer_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gint list[], + gsize length); +GLIB_AVAILABLE_IN_ALL +gboolean g_key_file_set_comment (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + const gchar *comment, + GError **error); +GLIB_AVAILABLE_IN_ALL +gchar *g_key_file_get_comment (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error) G_GNUC_MALLOC; + +GLIB_AVAILABLE_IN_ALL +gboolean g_key_file_remove_comment (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_key_file_remove_key (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_key_file_remove_group (GKeyFile *key_file, + const gchar *group_name, + GError **error); + +/* Defines for handling freedesktop.org Desktop files */ +#define G_KEY_FILE_DESKTOP_GROUP "Desktop Entry" + +#define G_KEY_FILE_DESKTOP_KEY_TYPE "Type" +#define G_KEY_FILE_DESKTOP_KEY_VERSION "Version" +#define G_KEY_FILE_DESKTOP_KEY_NAME "Name" +#define G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME "GenericName" +#define G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY "NoDisplay" +#define G_KEY_FILE_DESKTOP_KEY_COMMENT "Comment" +#define G_KEY_FILE_DESKTOP_KEY_ICON "Icon" +#define G_KEY_FILE_DESKTOP_KEY_HIDDEN "Hidden" +#define G_KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN "OnlyShowIn" +#define G_KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN "NotShowIn" +#define G_KEY_FILE_DESKTOP_KEY_TRY_EXEC "TryExec" +#define G_KEY_FILE_DESKTOP_KEY_EXEC "Exec" +#define G_KEY_FILE_DESKTOP_KEY_PATH "Path" +#define G_KEY_FILE_DESKTOP_KEY_TERMINAL "Terminal" +#define G_KEY_FILE_DESKTOP_KEY_MIME_TYPE "MimeType" +#define G_KEY_FILE_DESKTOP_KEY_CATEGORIES "Categories" +#define G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY "StartupNotify" +#define G_KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS "StartupWMClass" +#define G_KEY_FILE_DESKTOP_KEY_URL "URL" +#define G_KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE "DBusActivatable" +#define G_KEY_FILE_DESKTOP_KEY_ACTIONS "Actions" + +#define G_KEY_FILE_DESKTOP_TYPE_APPLICATION "Application" +#define G_KEY_FILE_DESKTOP_TYPE_LINK "Link" +#define G_KEY_FILE_DESKTOP_TYPE_DIRECTORY "Directory" + +G_END_DECLS + +#endif /* __G_KEY_FILE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/glib-autocleanups.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/glib-autocleanups.h new file mode 100644 index 0000000..6adf232 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/glib-autocleanups.h @@ -0,0 +1,107 @@ +/* + * Copyright © 2015 Canonical Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + * + * Author: Ryan Lortie + */ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +static inline void +g_autoptr_cleanup_generic_gfree (void *p) +{ + void **pp = (void**)p; + g_free (*pp); +} + +static inline void +g_autoptr_cleanup_gstring_free (GString *string) +{ + if (string) + g_string_free (string, TRUE); +} + +/* Ignore deprecations in case we refer to a type which was added in a more + * recent GLib version than the user’s #GLIB_VERSION_MAX_ALLOWED definition. */ +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + +/* If adding a cleanup here, please also add a test case to + * glib/tests/autoptr.c + */ +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GAsyncQueue, g_async_queue_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GBookmarkFile, g_bookmark_file_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GBytes, g_bytes_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GChecksum, g_checksum_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDateTime, g_date_time_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDate, g_date_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDir, g_dir_close) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GError, g_error_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GHashTable, g_hash_table_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GHmac, g_hmac_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GIOChannel, g_io_channel_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GKeyFile, g_key_file_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GList, g_list_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GArray, g_array_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GPtrArray, g_ptr_array_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GByteArray, g_byte_array_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMainContext, g_main_context_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMainContextPusher, g_main_context_pusher_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMainLoop, g_main_loop_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSource, g_source_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMappedFile, g_mapped_file_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMarkupParseContext, g_markup_parse_context_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GNode, g_node_destroy) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GOptionContext, g_option_context_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GOptionGroup, g_option_group_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GPatternSpec, g_pattern_spec_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GQueue, g_queue_free) +G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GQueue, g_queue_clear) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GRand, g_rand_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GRegex, g_regex_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMatchInfo, g_match_info_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GScanner, g_scanner_destroy) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSequence, g_sequence_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GSList, g_slist_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GString, g_autoptr_cleanup_gstring_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GStringChunk, g_string_chunk_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GStrvBuilder, g_strv_builder_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GThread, g_thread_unref) +G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GMutex, g_mutex_clear) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GMutexLocker, g_mutex_locker_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GRecMutexLocker, g_rec_mutex_locker_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GRWLockWriterLocker, g_rw_lock_writer_locker_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GRWLockReaderLocker, g_rw_lock_reader_locker_free) +G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GCond, g_cond_clear) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTimer, g_timer_destroy) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTimeZone, g_time_zone_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTree, g_tree_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVariant, g_variant_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVariantBuilder, g_variant_builder_unref) +G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GVariantBuilder, g_variant_builder_clear) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVariantIter, g_variant_iter_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVariantDict, g_variant_dict_unref) +G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GVariantDict, g_variant_dict_clear) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVariantType, g_variant_type_free) +G_DEFINE_AUTO_CLEANUP_FREE_FUNC(GStrv, g_strfreev, NULL) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GRefString, g_ref_string_release) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GUri, g_uri_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC (GPathBuf, g_path_buf_free) +G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (GPathBuf, g_path_buf_clear) + +G_GNUC_END_IGNORE_DEPRECATIONS diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/glib-typeof.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/glib-typeof.h new file mode 100644 index 0000000..c3519fa --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/glib-typeof.h @@ -0,0 +1,47 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 2021 Iain Lane, Xavier Claessens + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef __GLIB_TYPEOF_H__ +#define __GLIB_TYPEOF_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +/* + * We can only use __typeof__ on GCC >= 4.8, and not when compiling C++. Since + * __typeof__ is used in a few places in GLib, provide a pre-processor symbol + * to factor the check out from callers. + * + * This symbol is private. + */ +#undef glib_typeof +#if !G_CXX_STD_CHECK_VERSION (11) && \ + (G_GNUC_CHECK_VERSION(4, 8) || defined(__clang__)) +#define glib_typeof(t) __typeof__ (t) +#elif G_CXX_STD_CHECK_VERSION (11) && \ + GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_68 +/* C++11 decltype() is close enough for our usage */ +#include +#define glib_typeof(t) typename std::remove_reference::type +#endif + +#endif /* __GLIB_TYPEOF_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/glib-visibility.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/glib-visibility.h new file mode 100644 index 0000000..296c9ab --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/glib-visibility.h @@ -0,0 +1,952 @@ +#pragma once + +#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(GLIB_STATIC_COMPILATION) +# define _GLIB_EXPORT __declspec(dllexport) +# define _GLIB_IMPORT __declspec(dllimport) +#elif __GNUC__ >= 4 +# define _GLIB_EXPORT __attribute__((visibility("default"))) +# define _GLIB_IMPORT +#else +# define _GLIB_EXPORT +# define _GLIB_IMPORT +#endif +#ifdef GLIB_COMPILATION +# define _GLIB_API _GLIB_EXPORT +#else +# define _GLIB_API _GLIB_IMPORT +#endif + +#define _GLIB_EXTERN _GLIB_API extern + +#define GLIB_VAR _GLIB_EXTERN +#define GLIB_AVAILABLE_IN_ALL _GLIB_EXTERN + +#ifdef GLIB_DISABLE_DEPRECATION_WARNINGS +#define GLIB_DEPRECATED _GLIB_EXTERN +#define GLIB_DEPRECATED_FOR(f) _GLIB_EXTERN +#define GLIB_UNAVAILABLE(maj,min) _GLIB_EXTERN +#define GLIB_UNAVAILABLE_STATIC_INLINE(maj,min) +#else +#define GLIB_DEPRECATED G_DEPRECATED _GLIB_EXTERN +#define GLIB_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f) _GLIB_EXTERN +#define GLIB_UNAVAILABLE(maj,min) G_UNAVAILABLE(maj,min) _GLIB_EXTERN +#define GLIB_UNAVAILABLE_STATIC_INLINE(maj,min) G_UNAVAILABLE(maj,min) +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_26 +#define GLIB_DEPRECATED_IN_2_26 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_26_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_26 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_26_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_26 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_26_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_26 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_26_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_26 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_26_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_26 +#define GLIB_DEPRECATED_MACRO_IN_2_26_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_26 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_26_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_26 +#define GLIB_DEPRECATED_TYPE_IN_2_26_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_26 +#define GLIB_AVAILABLE_IN_2_26 GLIB_UNAVAILABLE (2, 26) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_26 GLIB_UNAVAILABLE_STATIC_INLINE (2, 26) +#define GLIB_AVAILABLE_MACRO_IN_2_26 GLIB_UNAVAILABLE_MACRO (2, 26) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_26 GLIB_UNAVAILABLE_ENUMERATOR (2, 26) +#define GLIB_AVAILABLE_TYPE_IN_2_26 GLIB_UNAVAILABLE_TYPE (2, 26) +#else +#define GLIB_AVAILABLE_IN_2_26 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_26 +#define GLIB_AVAILABLE_MACRO_IN_2_26 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_26 +#define GLIB_AVAILABLE_TYPE_IN_2_26 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_28 +#define GLIB_DEPRECATED_IN_2_28 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_28_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_28 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_28_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_28 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_28_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_28 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_28_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_28 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_28_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_28 +#define GLIB_DEPRECATED_MACRO_IN_2_28_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_28 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_28_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_28 +#define GLIB_DEPRECATED_TYPE_IN_2_28_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_28 +#define GLIB_AVAILABLE_IN_2_28 GLIB_UNAVAILABLE (2, 28) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_28 GLIB_UNAVAILABLE_STATIC_INLINE (2, 28) +#define GLIB_AVAILABLE_MACRO_IN_2_28 GLIB_UNAVAILABLE_MACRO (2, 28) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_28 GLIB_UNAVAILABLE_ENUMERATOR (2, 28) +#define GLIB_AVAILABLE_TYPE_IN_2_28 GLIB_UNAVAILABLE_TYPE (2, 28) +#else +#define GLIB_AVAILABLE_IN_2_28 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_28 +#define GLIB_AVAILABLE_MACRO_IN_2_28 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_28 +#define GLIB_AVAILABLE_TYPE_IN_2_28 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_30 +#define GLIB_DEPRECATED_IN_2_30 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_30_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_30 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_30_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_30 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_30_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_30 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_30_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_30 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_30_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_30 +#define GLIB_DEPRECATED_MACRO_IN_2_30_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_30 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_30_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_30 +#define GLIB_DEPRECATED_TYPE_IN_2_30_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_30 +#define GLIB_AVAILABLE_IN_2_30 GLIB_UNAVAILABLE (2, 30) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_30 GLIB_UNAVAILABLE_STATIC_INLINE (2, 30) +#define GLIB_AVAILABLE_MACRO_IN_2_30 GLIB_UNAVAILABLE_MACRO (2, 30) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_30 GLIB_UNAVAILABLE_ENUMERATOR (2, 30) +#define GLIB_AVAILABLE_TYPE_IN_2_30 GLIB_UNAVAILABLE_TYPE (2, 30) +#else +#define GLIB_AVAILABLE_IN_2_30 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_30 +#define GLIB_AVAILABLE_MACRO_IN_2_30 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_30 +#define GLIB_AVAILABLE_TYPE_IN_2_30 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_32 +#define GLIB_DEPRECATED_IN_2_32 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_32_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_32 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_32_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_32 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_32_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_32 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_32_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_32 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_32_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_32 +#define GLIB_DEPRECATED_MACRO_IN_2_32_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_32 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_32_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_32 +#define GLIB_DEPRECATED_TYPE_IN_2_32_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_32 +#define GLIB_AVAILABLE_IN_2_32 GLIB_UNAVAILABLE (2, 32) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_32 GLIB_UNAVAILABLE_STATIC_INLINE (2, 32) +#define GLIB_AVAILABLE_MACRO_IN_2_32 GLIB_UNAVAILABLE_MACRO (2, 32) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_32 GLIB_UNAVAILABLE_ENUMERATOR (2, 32) +#define GLIB_AVAILABLE_TYPE_IN_2_32 GLIB_UNAVAILABLE_TYPE (2, 32) +#else +#define GLIB_AVAILABLE_IN_2_32 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_32 +#define GLIB_AVAILABLE_MACRO_IN_2_32 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_32 +#define GLIB_AVAILABLE_TYPE_IN_2_32 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_34 +#define GLIB_DEPRECATED_IN_2_34 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_34_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_34 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_34_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_34 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_34_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_34 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_34_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_34 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_34_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_34 +#define GLIB_DEPRECATED_MACRO_IN_2_34_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_34 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_34_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_34 +#define GLIB_DEPRECATED_TYPE_IN_2_34_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_34 +#define GLIB_AVAILABLE_IN_2_34 GLIB_UNAVAILABLE (2, 34) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_34 GLIB_UNAVAILABLE_STATIC_INLINE (2, 34) +#define GLIB_AVAILABLE_MACRO_IN_2_34 GLIB_UNAVAILABLE_MACRO (2, 34) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_34 GLIB_UNAVAILABLE_ENUMERATOR (2, 34) +#define GLIB_AVAILABLE_TYPE_IN_2_34 GLIB_UNAVAILABLE_TYPE (2, 34) +#else +#define GLIB_AVAILABLE_IN_2_34 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_34 +#define GLIB_AVAILABLE_MACRO_IN_2_34 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_34 +#define GLIB_AVAILABLE_TYPE_IN_2_34 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_36 +#define GLIB_DEPRECATED_IN_2_36 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_36_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_36 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_36_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_36 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_36_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_36 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_36_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_36 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_36_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_36 +#define GLIB_DEPRECATED_MACRO_IN_2_36_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_36 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_36_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_36 +#define GLIB_DEPRECATED_TYPE_IN_2_36_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_36 +#define GLIB_AVAILABLE_IN_2_36 GLIB_UNAVAILABLE (2, 36) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_36 GLIB_UNAVAILABLE_STATIC_INLINE (2, 36) +#define GLIB_AVAILABLE_MACRO_IN_2_36 GLIB_UNAVAILABLE_MACRO (2, 36) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_36 GLIB_UNAVAILABLE_ENUMERATOR (2, 36) +#define GLIB_AVAILABLE_TYPE_IN_2_36 GLIB_UNAVAILABLE_TYPE (2, 36) +#else +#define GLIB_AVAILABLE_IN_2_36 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_36 +#define GLIB_AVAILABLE_MACRO_IN_2_36 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_36 +#define GLIB_AVAILABLE_TYPE_IN_2_36 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_38 +#define GLIB_DEPRECATED_IN_2_38 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_38_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_38 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_38_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_38 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_38_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_38 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_38_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_38 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_38_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_38 +#define GLIB_DEPRECATED_MACRO_IN_2_38_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_38 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_38_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_38 +#define GLIB_DEPRECATED_TYPE_IN_2_38_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38 +#define GLIB_AVAILABLE_IN_2_38 GLIB_UNAVAILABLE (2, 38) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_38 GLIB_UNAVAILABLE_STATIC_INLINE (2, 38) +#define GLIB_AVAILABLE_MACRO_IN_2_38 GLIB_UNAVAILABLE_MACRO (2, 38) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_38 GLIB_UNAVAILABLE_ENUMERATOR (2, 38) +#define GLIB_AVAILABLE_TYPE_IN_2_38 GLIB_UNAVAILABLE_TYPE (2, 38) +#else +#define GLIB_AVAILABLE_IN_2_38 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_38 +#define GLIB_AVAILABLE_MACRO_IN_2_38 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_38 +#define GLIB_AVAILABLE_TYPE_IN_2_38 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_40 +#define GLIB_DEPRECATED_IN_2_40 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_40_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_40 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_40_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_40 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_40_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_40 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_40_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_40 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_40_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_40 +#define GLIB_DEPRECATED_MACRO_IN_2_40_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_40 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_40_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_40 +#define GLIB_DEPRECATED_TYPE_IN_2_40_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_40 +#define GLIB_AVAILABLE_IN_2_40 GLIB_UNAVAILABLE (2, 40) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_40 GLIB_UNAVAILABLE_STATIC_INLINE (2, 40) +#define GLIB_AVAILABLE_MACRO_IN_2_40 GLIB_UNAVAILABLE_MACRO (2, 40) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_40 GLIB_UNAVAILABLE_ENUMERATOR (2, 40) +#define GLIB_AVAILABLE_TYPE_IN_2_40 GLIB_UNAVAILABLE_TYPE (2, 40) +#else +#define GLIB_AVAILABLE_IN_2_40 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_40 +#define GLIB_AVAILABLE_MACRO_IN_2_40 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_40 +#define GLIB_AVAILABLE_TYPE_IN_2_40 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_42 +#define GLIB_DEPRECATED_IN_2_42 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_42_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_42 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_42_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_42 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_42_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_42 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_42_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_42 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_42_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_42 +#define GLIB_DEPRECATED_MACRO_IN_2_42_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_42 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_42_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_42 +#define GLIB_DEPRECATED_TYPE_IN_2_42_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_42 +#define GLIB_AVAILABLE_IN_2_42 GLIB_UNAVAILABLE (2, 42) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_42 GLIB_UNAVAILABLE_STATIC_INLINE (2, 42) +#define GLIB_AVAILABLE_MACRO_IN_2_42 GLIB_UNAVAILABLE_MACRO (2, 42) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_42 GLIB_UNAVAILABLE_ENUMERATOR (2, 42) +#define GLIB_AVAILABLE_TYPE_IN_2_42 GLIB_UNAVAILABLE_TYPE (2, 42) +#else +#define GLIB_AVAILABLE_IN_2_42 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_42 +#define GLIB_AVAILABLE_MACRO_IN_2_42 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_42 +#define GLIB_AVAILABLE_TYPE_IN_2_42 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_44 +#define GLIB_DEPRECATED_IN_2_44 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_44_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_44 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_44_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_44 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_44_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_44 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_44_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_44 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_44_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_44 +#define GLIB_DEPRECATED_MACRO_IN_2_44_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_44 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_44_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_44 +#define GLIB_DEPRECATED_TYPE_IN_2_44_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_44 +#define GLIB_AVAILABLE_IN_2_44 GLIB_UNAVAILABLE (2, 44) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_44 GLIB_UNAVAILABLE_STATIC_INLINE (2, 44) +#define GLIB_AVAILABLE_MACRO_IN_2_44 GLIB_UNAVAILABLE_MACRO (2, 44) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_44 GLIB_UNAVAILABLE_ENUMERATOR (2, 44) +#define GLIB_AVAILABLE_TYPE_IN_2_44 GLIB_UNAVAILABLE_TYPE (2, 44) +#else +#define GLIB_AVAILABLE_IN_2_44 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_44 +#define GLIB_AVAILABLE_MACRO_IN_2_44 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_44 +#define GLIB_AVAILABLE_TYPE_IN_2_44 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_46 +#define GLIB_DEPRECATED_IN_2_46 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_46_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_46 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_46_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_46 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_46_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_46 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_46_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_46 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_46_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_46 +#define GLIB_DEPRECATED_MACRO_IN_2_46_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_46 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_46_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_46 +#define GLIB_DEPRECATED_TYPE_IN_2_46_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_46 +#define GLIB_AVAILABLE_IN_2_46 GLIB_UNAVAILABLE (2, 46) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_46 GLIB_UNAVAILABLE_STATIC_INLINE (2, 46) +#define GLIB_AVAILABLE_MACRO_IN_2_46 GLIB_UNAVAILABLE_MACRO (2, 46) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_46 GLIB_UNAVAILABLE_ENUMERATOR (2, 46) +#define GLIB_AVAILABLE_TYPE_IN_2_46 GLIB_UNAVAILABLE_TYPE (2, 46) +#else +#define GLIB_AVAILABLE_IN_2_46 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_46 +#define GLIB_AVAILABLE_MACRO_IN_2_46 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_46 +#define GLIB_AVAILABLE_TYPE_IN_2_46 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_48 +#define GLIB_DEPRECATED_IN_2_48 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_48_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_48 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_48_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_48 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_48_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_48 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_48_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_48 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_48_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_48 +#define GLIB_DEPRECATED_MACRO_IN_2_48_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_48 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_48_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_48 +#define GLIB_DEPRECATED_TYPE_IN_2_48_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_48 +#define GLIB_AVAILABLE_IN_2_48 GLIB_UNAVAILABLE (2, 48) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_48 GLIB_UNAVAILABLE_STATIC_INLINE (2, 48) +#define GLIB_AVAILABLE_MACRO_IN_2_48 GLIB_UNAVAILABLE_MACRO (2, 48) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_48 GLIB_UNAVAILABLE_ENUMERATOR (2, 48) +#define GLIB_AVAILABLE_TYPE_IN_2_48 GLIB_UNAVAILABLE_TYPE (2, 48) +#else +#define GLIB_AVAILABLE_IN_2_48 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_48 +#define GLIB_AVAILABLE_MACRO_IN_2_48 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_48 +#define GLIB_AVAILABLE_TYPE_IN_2_48 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_50 +#define GLIB_DEPRECATED_IN_2_50 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_50_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_50 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_50_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_50 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_50_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_50 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_50_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_50 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_50_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_50 +#define GLIB_DEPRECATED_MACRO_IN_2_50_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_50 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_50_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_50 +#define GLIB_DEPRECATED_TYPE_IN_2_50_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_50 +#define GLIB_AVAILABLE_IN_2_50 GLIB_UNAVAILABLE (2, 50) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_50 GLIB_UNAVAILABLE_STATIC_INLINE (2, 50) +#define GLIB_AVAILABLE_MACRO_IN_2_50 GLIB_UNAVAILABLE_MACRO (2, 50) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_50 GLIB_UNAVAILABLE_ENUMERATOR (2, 50) +#define GLIB_AVAILABLE_TYPE_IN_2_50 GLIB_UNAVAILABLE_TYPE (2, 50) +#else +#define GLIB_AVAILABLE_IN_2_50 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_50 +#define GLIB_AVAILABLE_MACRO_IN_2_50 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_50 +#define GLIB_AVAILABLE_TYPE_IN_2_50 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_52 +#define GLIB_DEPRECATED_IN_2_52 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_52_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_52 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_52_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_52 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_52_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_52 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_52_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_52 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_52_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_52 +#define GLIB_DEPRECATED_MACRO_IN_2_52_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_52 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_52_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_52 +#define GLIB_DEPRECATED_TYPE_IN_2_52_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_52 +#define GLIB_AVAILABLE_IN_2_52 GLIB_UNAVAILABLE (2, 52) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_52 GLIB_UNAVAILABLE_STATIC_INLINE (2, 52) +#define GLIB_AVAILABLE_MACRO_IN_2_52 GLIB_UNAVAILABLE_MACRO (2, 52) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_52 GLIB_UNAVAILABLE_ENUMERATOR (2, 52) +#define GLIB_AVAILABLE_TYPE_IN_2_52 GLIB_UNAVAILABLE_TYPE (2, 52) +#else +#define GLIB_AVAILABLE_IN_2_52 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_52 +#define GLIB_AVAILABLE_MACRO_IN_2_52 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_52 +#define GLIB_AVAILABLE_TYPE_IN_2_52 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_54 +#define GLIB_DEPRECATED_IN_2_54 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_54_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_54 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_54_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_54 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_54_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_54 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_54_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_54 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_54_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_54 +#define GLIB_DEPRECATED_MACRO_IN_2_54_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_54 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_54_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_54 +#define GLIB_DEPRECATED_TYPE_IN_2_54_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_54 +#define GLIB_AVAILABLE_IN_2_54 GLIB_UNAVAILABLE (2, 54) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_54 GLIB_UNAVAILABLE_STATIC_INLINE (2, 54) +#define GLIB_AVAILABLE_MACRO_IN_2_54 GLIB_UNAVAILABLE_MACRO (2, 54) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_54 GLIB_UNAVAILABLE_ENUMERATOR (2, 54) +#define GLIB_AVAILABLE_TYPE_IN_2_54 GLIB_UNAVAILABLE_TYPE (2, 54) +#else +#define GLIB_AVAILABLE_IN_2_54 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_54 +#define GLIB_AVAILABLE_MACRO_IN_2_54 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_54 +#define GLIB_AVAILABLE_TYPE_IN_2_54 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_56 +#define GLIB_DEPRECATED_IN_2_56 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_56_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_56 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_56_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_56 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_56_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_56 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_56_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_56 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_56_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_56 +#define GLIB_DEPRECATED_MACRO_IN_2_56_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_56 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_56_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_56 +#define GLIB_DEPRECATED_TYPE_IN_2_56_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_56 +#define GLIB_AVAILABLE_IN_2_56 GLIB_UNAVAILABLE (2, 56) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_56 GLIB_UNAVAILABLE_STATIC_INLINE (2, 56) +#define GLIB_AVAILABLE_MACRO_IN_2_56 GLIB_UNAVAILABLE_MACRO (2, 56) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_56 GLIB_UNAVAILABLE_ENUMERATOR (2, 56) +#define GLIB_AVAILABLE_TYPE_IN_2_56 GLIB_UNAVAILABLE_TYPE (2, 56) +#else +#define GLIB_AVAILABLE_IN_2_56 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_56 +#define GLIB_AVAILABLE_MACRO_IN_2_56 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_56 +#define GLIB_AVAILABLE_TYPE_IN_2_56 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_58 +#define GLIB_DEPRECATED_IN_2_58 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_58_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_58 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_58_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_58 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_58_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_58 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_58_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_58 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_58_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_58 +#define GLIB_DEPRECATED_MACRO_IN_2_58_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_58 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_58_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_58 +#define GLIB_DEPRECATED_TYPE_IN_2_58_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_58 +#define GLIB_AVAILABLE_IN_2_58 GLIB_UNAVAILABLE (2, 58) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_58 GLIB_UNAVAILABLE_STATIC_INLINE (2, 58) +#define GLIB_AVAILABLE_MACRO_IN_2_58 GLIB_UNAVAILABLE_MACRO (2, 58) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_58 GLIB_UNAVAILABLE_ENUMERATOR (2, 58) +#define GLIB_AVAILABLE_TYPE_IN_2_58 GLIB_UNAVAILABLE_TYPE (2, 58) +#else +#define GLIB_AVAILABLE_IN_2_58 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_58 +#define GLIB_AVAILABLE_MACRO_IN_2_58 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_58 +#define GLIB_AVAILABLE_TYPE_IN_2_58 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_60 +#define GLIB_DEPRECATED_IN_2_60 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_60_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_60 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_60_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_60 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_60_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_60 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_60_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_60 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_60_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_60 +#define GLIB_DEPRECATED_MACRO_IN_2_60_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_60 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_60_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_60 +#define GLIB_DEPRECATED_TYPE_IN_2_60_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_60 +#define GLIB_AVAILABLE_IN_2_60 GLIB_UNAVAILABLE (2, 60) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_60 GLIB_UNAVAILABLE_STATIC_INLINE (2, 60) +#define GLIB_AVAILABLE_MACRO_IN_2_60 GLIB_UNAVAILABLE_MACRO (2, 60) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_60 GLIB_UNAVAILABLE_ENUMERATOR (2, 60) +#define GLIB_AVAILABLE_TYPE_IN_2_60 GLIB_UNAVAILABLE_TYPE (2, 60) +#else +#define GLIB_AVAILABLE_IN_2_60 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_60 +#define GLIB_AVAILABLE_MACRO_IN_2_60 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_60 +#define GLIB_AVAILABLE_TYPE_IN_2_60 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_62 +#define GLIB_DEPRECATED_IN_2_62 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_62_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_62 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_62_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_62 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_62_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_62 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_62_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_62 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_62_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_62 +#define GLIB_DEPRECATED_MACRO_IN_2_62_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_62 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_62_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_62 +#define GLIB_DEPRECATED_TYPE_IN_2_62_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_62 +#define GLIB_AVAILABLE_IN_2_62 GLIB_UNAVAILABLE (2, 62) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_62 GLIB_UNAVAILABLE_STATIC_INLINE (2, 62) +#define GLIB_AVAILABLE_MACRO_IN_2_62 GLIB_UNAVAILABLE_MACRO (2, 62) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_62 GLIB_UNAVAILABLE_ENUMERATOR (2, 62) +#define GLIB_AVAILABLE_TYPE_IN_2_62 GLIB_UNAVAILABLE_TYPE (2, 62) +#else +#define GLIB_AVAILABLE_IN_2_62 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_62 +#define GLIB_AVAILABLE_MACRO_IN_2_62 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_62 +#define GLIB_AVAILABLE_TYPE_IN_2_62 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_64 +#define GLIB_DEPRECATED_IN_2_64 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_64_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_64 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_64_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_64 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_64_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_64 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_64_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_64 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_64_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_64 +#define GLIB_DEPRECATED_MACRO_IN_2_64_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_64 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_64_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_64 +#define GLIB_DEPRECATED_TYPE_IN_2_64_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_64 +#define GLIB_AVAILABLE_IN_2_64 GLIB_UNAVAILABLE (2, 64) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_64 GLIB_UNAVAILABLE_STATIC_INLINE (2, 64) +#define GLIB_AVAILABLE_MACRO_IN_2_64 GLIB_UNAVAILABLE_MACRO (2, 64) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_64 GLIB_UNAVAILABLE_ENUMERATOR (2, 64) +#define GLIB_AVAILABLE_TYPE_IN_2_64 GLIB_UNAVAILABLE_TYPE (2, 64) +#else +#define GLIB_AVAILABLE_IN_2_64 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_64 +#define GLIB_AVAILABLE_MACRO_IN_2_64 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_64 +#define GLIB_AVAILABLE_TYPE_IN_2_64 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_66 +#define GLIB_DEPRECATED_IN_2_66 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_66_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_66 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_66_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_66 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_66_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_66 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_66_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_66 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_66_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_66 +#define GLIB_DEPRECATED_MACRO_IN_2_66_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_66 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_66_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_66 +#define GLIB_DEPRECATED_TYPE_IN_2_66_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_66 +#define GLIB_AVAILABLE_IN_2_66 GLIB_UNAVAILABLE (2, 66) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_66 GLIB_UNAVAILABLE_STATIC_INLINE (2, 66) +#define GLIB_AVAILABLE_MACRO_IN_2_66 GLIB_UNAVAILABLE_MACRO (2, 66) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_66 GLIB_UNAVAILABLE_ENUMERATOR (2, 66) +#define GLIB_AVAILABLE_TYPE_IN_2_66 GLIB_UNAVAILABLE_TYPE (2, 66) +#else +#define GLIB_AVAILABLE_IN_2_66 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_66 +#define GLIB_AVAILABLE_MACRO_IN_2_66 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_66 +#define GLIB_AVAILABLE_TYPE_IN_2_66 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_68 +#define GLIB_DEPRECATED_IN_2_68 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_68_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_68 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_68_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_68 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_68_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_68 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_68_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_68 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_68_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_68 +#define GLIB_DEPRECATED_MACRO_IN_2_68_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_68 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_68_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_68 +#define GLIB_DEPRECATED_TYPE_IN_2_68_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_68 +#define GLIB_AVAILABLE_IN_2_68 GLIB_UNAVAILABLE (2, 68) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_68 GLIB_UNAVAILABLE_STATIC_INLINE (2, 68) +#define GLIB_AVAILABLE_MACRO_IN_2_68 GLIB_UNAVAILABLE_MACRO (2, 68) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_68 GLIB_UNAVAILABLE_ENUMERATOR (2, 68) +#define GLIB_AVAILABLE_TYPE_IN_2_68 GLIB_UNAVAILABLE_TYPE (2, 68) +#else +#define GLIB_AVAILABLE_IN_2_68 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_68 +#define GLIB_AVAILABLE_MACRO_IN_2_68 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_68 +#define GLIB_AVAILABLE_TYPE_IN_2_68 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_70 +#define GLIB_DEPRECATED_IN_2_70 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_70_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_70 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_70_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_70 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_70_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_70 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_70_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_70 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_70_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_70 +#define GLIB_DEPRECATED_MACRO_IN_2_70_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_70 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_70_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_70 +#define GLIB_DEPRECATED_TYPE_IN_2_70_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_70 +#define GLIB_AVAILABLE_IN_2_70 GLIB_UNAVAILABLE (2, 70) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_70 GLIB_UNAVAILABLE_STATIC_INLINE (2, 70) +#define GLIB_AVAILABLE_MACRO_IN_2_70 GLIB_UNAVAILABLE_MACRO (2, 70) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_70 GLIB_UNAVAILABLE_ENUMERATOR (2, 70) +#define GLIB_AVAILABLE_TYPE_IN_2_70 GLIB_UNAVAILABLE_TYPE (2, 70) +#else +#define GLIB_AVAILABLE_IN_2_70 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_70 +#define GLIB_AVAILABLE_MACRO_IN_2_70 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_70 +#define GLIB_AVAILABLE_TYPE_IN_2_70 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_72 +#define GLIB_DEPRECATED_IN_2_72 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_72_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_72 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_72_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_72 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_72_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_72 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_72_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_72 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_72_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_72 +#define GLIB_DEPRECATED_MACRO_IN_2_72_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_72 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_72_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_72 +#define GLIB_DEPRECATED_TYPE_IN_2_72_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_72 +#define GLIB_AVAILABLE_IN_2_72 GLIB_UNAVAILABLE (2, 72) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_72 GLIB_UNAVAILABLE_STATIC_INLINE (2, 72) +#define GLIB_AVAILABLE_MACRO_IN_2_72 GLIB_UNAVAILABLE_MACRO (2, 72) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_72 GLIB_UNAVAILABLE_ENUMERATOR (2, 72) +#define GLIB_AVAILABLE_TYPE_IN_2_72 GLIB_UNAVAILABLE_TYPE (2, 72) +#else +#define GLIB_AVAILABLE_IN_2_72 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_72 +#define GLIB_AVAILABLE_MACRO_IN_2_72 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_72 +#define GLIB_AVAILABLE_TYPE_IN_2_72 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_74 +#define GLIB_DEPRECATED_IN_2_74 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_74_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_74 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_74_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_74 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_74_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_74 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_74_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_74 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_74_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_74 +#define GLIB_DEPRECATED_MACRO_IN_2_74_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_74 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_74_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_74 +#define GLIB_DEPRECATED_TYPE_IN_2_74_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_74 +#define GLIB_AVAILABLE_IN_2_74 GLIB_UNAVAILABLE (2, 74) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_74 GLIB_UNAVAILABLE_STATIC_INLINE (2, 74) +#define GLIB_AVAILABLE_MACRO_IN_2_74 GLIB_UNAVAILABLE_MACRO (2, 74) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_74 GLIB_UNAVAILABLE_ENUMERATOR (2, 74) +#define GLIB_AVAILABLE_TYPE_IN_2_74 GLIB_UNAVAILABLE_TYPE (2, 74) +#else +#define GLIB_AVAILABLE_IN_2_74 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_74 +#define GLIB_AVAILABLE_MACRO_IN_2_74 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_74 +#define GLIB_AVAILABLE_TYPE_IN_2_74 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_76 +#define GLIB_DEPRECATED_IN_2_76 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_76_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_76 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_76_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_76 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_76_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_76 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_76_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_76 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_76_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_76 +#define GLIB_DEPRECATED_MACRO_IN_2_76_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_76 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_76_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_76 +#define GLIB_DEPRECATED_TYPE_IN_2_76_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_76 +#define GLIB_AVAILABLE_IN_2_76 GLIB_UNAVAILABLE (2, 76) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_76 GLIB_UNAVAILABLE_STATIC_INLINE (2, 76) +#define GLIB_AVAILABLE_MACRO_IN_2_76 GLIB_UNAVAILABLE_MACRO (2, 76) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_76 GLIB_UNAVAILABLE_ENUMERATOR (2, 76) +#define GLIB_AVAILABLE_TYPE_IN_2_76 GLIB_UNAVAILABLE_TYPE (2, 76) +#else +#define GLIB_AVAILABLE_IN_2_76 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_76 +#define GLIB_AVAILABLE_MACRO_IN_2_76 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_76 +#define GLIB_AVAILABLE_TYPE_IN_2_76 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_78 +#define GLIB_DEPRECATED_IN_2_78 GLIB_DEPRECATED +#define GLIB_DEPRECATED_IN_2_78_FOR(f) GLIB_DEPRECATED_FOR (f) +#define GLIB_DEPRECATED_MACRO_IN_2_78 GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_IN_2_78_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_78 GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_78_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GLIB_DEPRECATED_TYPE_IN_2_78 GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_IN_2_78_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GLIB_DEPRECATED_IN_2_78 _GLIB_EXTERN +#define GLIB_DEPRECATED_IN_2_78_FOR(f) _GLIB_EXTERN +#define GLIB_DEPRECATED_MACRO_IN_2_78 +#define GLIB_DEPRECATED_MACRO_IN_2_78_FOR(f) +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_78 +#define GLIB_DEPRECATED_ENUMERATOR_IN_2_78_FOR(f) +#define GLIB_DEPRECATED_TYPE_IN_2_78 +#define GLIB_DEPRECATED_TYPE_IN_2_78_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_78 +#define GLIB_AVAILABLE_IN_2_78 GLIB_UNAVAILABLE (2, 78) +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_78 GLIB_UNAVAILABLE_STATIC_INLINE (2, 78) +#define GLIB_AVAILABLE_MACRO_IN_2_78 GLIB_UNAVAILABLE_MACRO (2, 78) +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_78 GLIB_UNAVAILABLE_ENUMERATOR (2, 78) +#define GLIB_AVAILABLE_TYPE_IN_2_78 GLIB_UNAVAILABLE_TYPE (2, 78) +#else +#define GLIB_AVAILABLE_IN_2_78 _GLIB_EXTERN +#define GLIB_AVAILABLE_STATIC_INLINE_IN_2_78 +#define GLIB_AVAILABLE_MACRO_IN_2_78 +#define GLIB_AVAILABLE_ENUMERATOR_IN_2_78 +#define GLIB_AVAILABLE_TYPE_IN_2_78 +#endif diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/glist.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/glist.h new file mode 100644 index 0000000..2a453b7 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/glist.h @@ -0,0 +1,179 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_LIST_H__ +#define __G_LIST_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +typedef struct _GList GList; + +struct _GList +{ + gpointer data; + GList *next; + GList *prev; +}; + +/* Doubly linked lists + */ +GLIB_AVAILABLE_IN_ALL +GList* g_list_alloc (void) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +void g_list_free (GList *list); +GLIB_AVAILABLE_IN_ALL +void g_list_free_1 (GList *list); +#define g_list_free1 g_list_free_1 +GLIB_AVAILABLE_IN_ALL +void g_list_free_full (GList *list, + GDestroyNotify free_func); +GLIB_AVAILABLE_IN_ALL +GList* g_list_append (GList *list, + gpointer data) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GList* g_list_prepend (GList *list, + gpointer data) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GList* g_list_insert (GList *list, + gpointer data, + gint position) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GList* g_list_insert_sorted (GList *list, + gpointer data, + GCompareFunc func) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GList* g_list_insert_sorted_with_data (GList *list, + gpointer data, + GCompareDataFunc func, + gpointer user_data) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GList* g_list_insert_before (GList *list, + GList *sibling, + gpointer data) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_2_62 +GList* g_list_insert_before_link (GList *list, + GList *sibling, + GList *link_) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GList* g_list_concat (GList *list1, + GList *list2) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GList* g_list_remove (GList *list, + gconstpointer data) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GList* g_list_remove_all (GList *list, + gconstpointer data) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GList* g_list_remove_link (GList *list, + GList *llink) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GList* g_list_delete_link (GList *list, + GList *link_) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GList* g_list_reverse (GList *list) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GList* g_list_copy (GList *list) G_GNUC_WARN_UNUSED_RESULT; + +GLIB_AVAILABLE_IN_2_34 +GList* g_list_copy_deep (GList *list, + GCopyFunc func, + gpointer user_data) G_GNUC_WARN_UNUSED_RESULT; + +GLIB_AVAILABLE_IN_ALL +GList* g_list_nth (GList *list, + guint n); +GLIB_AVAILABLE_IN_ALL +GList* g_list_nth_prev (GList *list, + guint n); +GLIB_AVAILABLE_IN_ALL +GList* g_list_find (GList *list, + gconstpointer data); +GLIB_AVAILABLE_IN_ALL +GList* g_list_find_custom (GList *list, + gconstpointer data, + GCompareFunc func); +GLIB_AVAILABLE_IN_ALL +gint g_list_position (GList *list, + GList *llink); +GLIB_AVAILABLE_IN_ALL +gint g_list_index (GList *list, + gconstpointer data); +GLIB_AVAILABLE_IN_ALL +GList* g_list_last (GList *list); +GLIB_AVAILABLE_IN_ALL +GList* g_list_first (GList *list); +GLIB_AVAILABLE_IN_ALL +guint g_list_length (GList *list); +GLIB_AVAILABLE_IN_ALL +void g_list_foreach (GList *list, + GFunc func, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +GList* g_list_sort (GList *list, + GCompareFunc compare_func) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GList* g_list_sort_with_data (GList *list, + GCompareDataFunc compare_func, + gpointer user_data) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +gpointer g_list_nth_data (GList *list, + guint n); + +GLIB_AVAILABLE_IN_2_64 +void g_clear_list (GList **list_ptr, + GDestroyNotify destroy); + +#define g_clear_list(list_ptr, destroy) \ + G_STMT_START { \ + GList *_list; \ + \ + _list = *(list_ptr); \ + if (_list) \ + { \ + *list_ptr = NULL; \ + \ + if ((destroy) != NULL) \ + g_list_free_full (_list, (destroy)); \ + else \ + g_list_free (_list); \ + } \ + } G_STMT_END \ + GLIB_AVAILABLE_MACRO_IN_2_64 + + +#define g_list_previous(list) ((list) ? (((GList *)(list))->prev) : NULL) +#define g_list_next(list) ((list) ? (((GList *)(list))->next) : NULL) + +G_END_DECLS + +#endif /* __G_LIST_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gmacros.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gmacros.h new file mode 100644 index 0000000..1be50a4 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gmacros.h @@ -0,0 +1,1425 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +/* This file must not include any other glib header file and must thus + * not refer to variables from glibconfig.h + */ + +#ifndef __G_MACROS_H__ +#define __G_MACROS_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +/* We include stddef.h to get the system's definition of NULL + */ +#include + +/* + * Note: Clang (but not clang-cl) defines __GNUC__ and __GNUC_MINOR__. + * Both Clang 11.1 on current Arch Linux and Apple's Clang 12.0 define + * __GNUC__ = 4 and __GNUC_MINOR__ = 2. So G_GNUC_CHECK_VERSION(4, 2) on + * current Clang will be 1. + */ +#ifdef __GNUC__ +#define G_GNUC_CHECK_VERSION(major, minor) \ + ((__GNUC__ > (major)) || \ + ((__GNUC__ == (major)) && \ + (__GNUC_MINOR__ >= (minor)))) +#else +#define G_GNUC_CHECK_VERSION(major, minor) 0 +#endif + +/* Here we provide G_GNUC_EXTENSION as an alias for __extension__, + * where this is valid. This allows for warningless compilation of + * "long long" types even in the presence of '-ansi -pedantic'. + */ +#if G_GNUC_CHECK_VERSION(2, 8) +#define G_GNUC_EXTENSION __extension__ +#else +#define G_GNUC_EXTENSION +#endif + +#if !defined (__cplusplus) + +# undef G_CXX_STD_VERSION +# define G_CXX_STD_CHECK_VERSION(version) (0) + +# if defined (__STDC_VERSION__) +# define G_C_STD_VERSION __STDC_VERSION__ +# else +# define G_C_STD_VERSION 199000L +# endif /* defined (__STDC_VERSION__) */ + +# define G_C_STD_CHECK_VERSION(version) ( \ + ((version) >= 199000L && (version) <= G_C_STD_VERSION) || \ + ((version) == 89 && G_C_STD_VERSION >= 199000L) || \ + ((version) == 90 && G_C_STD_VERSION >= 199000L) || \ + ((version) == 99 && G_C_STD_VERSION >= 199901L) || \ + ((version) == 11 && G_C_STD_VERSION >= 201112L) || \ + ((version) == 17 && G_C_STD_VERSION >= 201710L) || \ + 0) + +#else /* defined (__cplusplus) */ + +# undef G_C_STD_VERSION +# define G_C_STD_CHECK_VERSION(version) (0) + +# if defined (_MSVC_LANG) +# define G_CXX_STD_VERSION (_MSVC_LANG > __cplusplus ? _MSVC_LANG : __cplusplus) +# else +# define G_CXX_STD_VERSION __cplusplus +# endif /* defined(_MSVC_LANG) */ + +# define G_CXX_STD_CHECK_VERSION(version) ( \ + ((version) >= 199711L && (version) <= G_CXX_STD_VERSION) || \ + ((version) == 98 && G_CXX_STD_VERSION >= 199711L) || \ + ((version) == 03 && G_CXX_STD_VERSION >= 199711L) || \ + ((version) == 11 && G_CXX_STD_VERSION >= 201103L) || \ + ((version) == 14 && G_CXX_STD_VERSION >= 201402L) || \ + ((version) == 17 && G_CXX_STD_VERSION >= 201703L) || \ + ((version) == 20 && G_CXX_STD_VERSION >= 202002L) || \ + 0) + +#endif /* !defined (__cplusplus) */ + +/* Every compiler that we target supports inlining, but some of them may + * complain about it if we don't say "__inline". If we have C99, or if + * we are using C++, then we can use "inline" directly. + * Otherwise, we say "__inline" to avoid the warning. + * Unfortunately Visual Studio does not define __STDC_VERSION__ (if not + * using /std:cXX) so we need to check whether we are on Visual Studio 2013 + * or earlier to see whether we need to say "__inline" in C mode. + */ +#define G_CAN_INLINE +#ifdef G_C_STD_VERSION +# ifdef _MSC_VER +# if (_MSC_VER < 1900) +# define G_INLINE_DEFINE_NEEDED +# endif +# elif !G_C_STD_CHECK_VERSION (99) +# define G_INLINE_DEFINE_NEEDED +# endif +#endif + +#ifdef G_INLINE_DEFINE_NEEDED +# undef inline +# define inline __inline +#endif + +#undef G_INLINE_DEFINE_NEEDED + +/** + * G_INLINE_FUNC: + * + * This macro used to be used to conditionally define inline functions + * in a compatible way before this feature was supported in all + * compilers. These days, GLib requires inlining support from the + * compiler, so your GLib-using programs can safely assume that the + * "inline" keyword works properly. + * + * Never use this macro anymore. Just say "static inline". + * + * Deprecated: 2.48: Use "static inline" instead + */ + +/* For historical reasons we need to continue to support those who + * define G_IMPLEMENT_INLINES to mean "don't implement this here". + */ +#ifdef G_IMPLEMENT_INLINES +# define G_INLINE_FUNC extern GLIB_DEPRECATED_MACRO_IN_2_48_FOR(static inline) +# undef G_CAN_INLINE +#else +# define G_INLINE_FUNC static inline GLIB_DEPRECATED_MACRO_IN_2_48_FOR(static inline) +#endif /* G_IMPLEMENT_INLINES */ + +/* + * Attribute support detection. Works on clang and GCC >= 5 + * https://clang.llvm.org/docs/LanguageExtensions.html#has-attribute + * https://gcc.gnu.org/onlinedocs/cpp/_005f_005fhas_005fattribute.html + */ + +#ifdef __has_attribute +#define g_macro__has_attribute __has_attribute +#else + +/* + * Fallback for GCC < 5 and other compilers not supporting __has_attribute. + */ +#define g_macro__has_attribute(x) g_macro__has_attribute_##x + +#define g_macro__has_attribute___alloc_size__ G_GNUC_CHECK_VERSION (4, 3) +#define g_macro__has_attribute___always_inline__ G_GNUC_CHECK_VERSION (2, 0) +#define g_macro__has_attribute___const__ G_GNUC_CHECK_VERSION (2, 4) +#define g_macro__has_attribute___deprecated__ G_GNUC_CHECK_VERSION (3, 1) +#define g_macro__has_attribute___format__ G_GNUC_CHECK_VERSION (2, 4) +#define g_macro__has_attribute___format_arg__ G_GNUC_CHECK_VERSION (2, 4) +#define g_macro__has_attribute___malloc__ G_GNUC_CHECK_VERSION (2, 96) +#define g_macro__has_attribute___no_instrument_function__ G_GNUC_CHECK_VERSION (2, 4) +#define g_macro__has_attribute___noinline__ G_GNUC_CHECK_VERSION (2, 96) +#define g_macro__has_attribute___noreturn__ (G_GNUC_CHECK_VERSION (2, 8) || (0x5110 <= __SUNPRO_C)) +#define g_macro__has_attribute___pure__ G_GNUC_CHECK_VERSION (2, 96) +#define g_macro__has_attribute___sentinel__ G_GNUC_CHECK_VERSION (4, 0) +#define g_macro__has_attribute___unused__ G_GNUC_CHECK_VERSION (2, 4) +#define g_macro__has_attribute_cleanup G_GNUC_CHECK_VERSION (3, 3) +#define g_macro__has_attribute_fallthrough G_GNUC_CHECK_VERSION (6, 0) +#define g_macro__has_attribute_may_alias G_GNUC_CHECK_VERSION (3, 3) +#define g_macro__has_attribute_warn_unused_result G_GNUC_CHECK_VERSION (3, 4) + +#endif + +/* Provide macros to feature the GCC function attribute. + */ + +/** + * G_GNUC_PURE: + * + * Expands to the GNU C `pure` function attribute if the compiler is gcc. + * Declaring a function as `pure` enables better optimization of calls to + * the function. A `pure` function has no effects except its return value + * and the return value depends only on the parameters and/or global + * variables. + * + * Place the attribute after the declaration, just before the semicolon. + * + * |[ + * gboolean g_type_check_value (const GValue *value) G_GNUC_PURE; + * ]| + * + * See the [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-pure-function-attribute) for more details. + */ + +/** + * G_GNUC_MALLOC: + * + * Expands to the + * [GNU C `malloc` function attribute](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-functions-that-behave-like-malloc) + * if the compiler is gcc. + * Declaring a function as `malloc` enables better optimization of the function, + * but must only be done if the allocation behaviour of the function is fully + * understood, otherwise miscompilation can result. + * + * A function can have the `malloc` attribute if it returns a pointer which is + * guaranteed to not alias with any other pointer valid when the function + * returns, and moreover no pointers to valid objects occur in any storage + * addressed by the returned pointer. + * + * In practice, this means that `G_GNUC_MALLOC` can be used with any function + * which returns unallocated or zeroed-out memory, but not with functions which + * return initialised structures containing other pointers, or with functions + * that reallocate memory. This definition changed in GLib 2.58 to match the + * stricter definition introduced around GCC 5. + * + * Place the attribute after the declaration, just before the semicolon. + * + * |[ + * gpointer g_malloc (gsize n_bytes) G_GNUC_MALLOC G_GNUC_ALLOC_SIZE(1); + * ]| + * + * See the + * [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-functions-that-behave-like-malloc) + * for more details. + * + * Since: 2.6 + */ + +/** + * G_GNUC_NO_INLINE: + * + * Expands to the GNU C `noinline` function attribute if the compiler is gcc. + * If the compiler is not gcc, this macro expands to nothing. + * + * Declaring a function as `noinline` prevents the function from being + * considered for inlining. + * + * This macro is provided for retro-compatibility and will be eventually + * deprecated, but %G_NO_INLINE should be used instead. + * + * The attribute may be placed before the declaration or definition, + * right before the `static` keyword. + * + * |[ + * G_GNUC_NO_INLINE + * static int + * do_not_inline_this (void) + * { + * ... + * } + * ]| + * + * See the + * [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-noinline-function-attribute) + * for more details. + * + * See also: %G_NO_INLINE, %G_ALWAYS_INLINE. + * + * Since: 2.58 + */ + +#if g_macro__has_attribute(__pure__) +#define G_GNUC_PURE __attribute__((__pure__)) +#else +#define G_GNUC_PURE +#endif + +#if g_macro__has_attribute(__malloc__) +#define G_GNUC_MALLOC __attribute__ ((__malloc__)) +#else +#define G_GNUC_MALLOC +#endif + +#if g_macro__has_attribute(__noinline__) +#define G_GNUC_NO_INLINE __attribute__ ((__noinline__)) \ + GLIB_AVAILABLE_MACRO_IN_2_58 +#else +#define G_GNUC_NO_INLINE \ + GLIB_AVAILABLE_MACRO_IN_2_58 +#endif + +/** + * G_GNUC_NULL_TERMINATED: + * + * Expands to the GNU C `sentinel` function attribute if the compiler is gcc. + * This function attribute only applies to variadic functions and instructs + * the compiler to check that the argument list is terminated with an + * explicit %NULL. + * + * Place the attribute after the declaration, just before the semicolon. + * + * |[ + * gchar *g_strconcat (const gchar *string1, + * ...) G_GNUC_NULL_TERMINATED; + * ]| + * + * See the [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-sentinel-function-attribute) for more details. + * + * Since: 2.8 + */ +#if g_macro__has_attribute(__sentinel__) +#define G_GNUC_NULL_TERMINATED __attribute__((__sentinel__)) +#else +#define G_GNUC_NULL_TERMINATED +#endif + +/* + * Clang feature detection: http://clang.llvm.org/docs/LanguageExtensions.html + * These are not available on GCC, but since the pre-processor doesn't do + * operator short-circuiting, we can't use it in a statement or we'll get: + * + * error: missing binary operator before token "(" + * + * So we define it to 0 to satisfy the pre-processor. + */ + +#ifdef __has_feature +#define g_macro__has_feature __has_feature +#else +#define g_macro__has_feature(x) 0 +#endif + +#ifdef __has_builtin +#define g_macro__has_builtin __has_builtin +#else +#define g_macro__has_builtin(x) 0 +#endif + +#ifdef __has_extension +#define g_macro__has_extension __has_extension +#else +#define g_macro__has_extension(x) 0 +#endif + +/** + * G_GNUC_ALLOC_SIZE: + * @x: the index of the argument specifying the allocation size + * + * Expands to the GNU C `alloc_size` function attribute if the compiler + * is a new enough gcc. This attribute tells the compiler that the + * function returns a pointer to memory of a size that is specified + * by the @xth function parameter. + * + * Place the attribute after the function declaration, just before the + * semicolon. + * + * |[ + * gpointer g_malloc (gsize n_bytes) G_GNUC_MALLOC G_GNUC_ALLOC_SIZE(1); + * ]| + * + * See the [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-alloc_005fsize-function-attribute) for more details. + * + * Since: 2.18 + */ + +/** + * G_GNUC_ALLOC_SIZE2: + * @x: the index of the argument specifying one factor of the allocation size + * @y: the index of the argument specifying the second factor of the allocation size + * + * Expands to the GNU C `alloc_size` function attribute if the compiler is a + * new enough gcc. This attribute tells the compiler that the function returns + * a pointer to memory of a size that is specified by the product of two + * function parameters. + * + * Place the attribute after the function declaration, just before the + * semicolon. + * + * |[ + * gpointer g_malloc_n (gsize n_blocks, + * gsize n_block_bytes) G_GNUC_MALLOC G_GNUC_ALLOC_SIZE2(1, 2); + * ]| + * + * See the [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-alloc_005fsize-function-attribute) for more details. + * + * Since: 2.18 + */ +#if g_macro__has_attribute(__alloc_size__) +#define G_GNUC_ALLOC_SIZE(x) __attribute__((__alloc_size__(x))) +#define G_GNUC_ALLOC_SIZE2(x,y) __attribute__((__alloc_size__(x,y))) +#else +#define G_GNUC_ALLOC_SIZE(x) +#define G_GNUC_ALLOC_SIZE2(x,y) +#endif + +/** + * G_GNUC_PRINTF: + * @format_idx: the index of the argument corresponding to the + * format string (the arguments are numbered from 1) + * @arg_idx: the index of the first of the format arguments, or 0 if + * there are no format arguments + * + * Expands to the GNU C `format` function attribute if the compiler is gcc. + * This is used for declaring functions which take a variable number of + * arguments, with the same syntax as `printf()`. It allows the compiler + * to type-check the arguments passed to the function. + * + * Place the attribute after the function declaration, just before the + * semicolon. + * + * See the + * [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-Wformat-3288) + * for more details. + * + * |[ + * gint g_snprintf (gchar *string, + * gulong n, + * gchar const *format, + * ...) G_GNUC_PRINTF (3, 4); + * ]| + */ + +/** + * G_GNUC_SCANF: + * @format_idx: the index of the argument corresponding to + * the format string (the arguments are numbered from 1) + * @arg_idx: the index of the first of the format arguments, or 0 if + * there are no format arguments + * + * Expands to the GNU C `format` function attribute if the compiler is gcc. + * This is used for declaring functions which take a variable number of + * arguments, with the same syntax as `scanf()`. It allows the compiler + * to type-check the arguments passed to the function. + * + * |[ + * int my_scanf (MyStream *stream, + * const char *format, + * ...) G_GNUC_SCANF (2, 3); + * int my_vscanf (MyStream *stream, + * const char *format, + * va_list ap) G_GNUC_SCANF (2, 0); + * ]| + * + * See the + * [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-Wformat-3288) + * for details. + */ + +/** + * G_GNUC_STRFTIME: + * @format_idx: the index of the argument corresponding to + * the format string (the arguments are numbered from 1) + * + * Expands to the GNU C `strftime` format function attribute if the compiler + * is gcc. This is used for declaring functions which take a format argument + * which is passed to `strftime()` or an API implementing its formats. It allows + * the compiler check the format passed to the function. + * + * |[ + * gsize my_strftime (MyBuffer *buffer, + * const char *format, + * const struct tm *tm) G_GNUC_STRFTIME (2); + * ]| + * + * See the + * [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-Wformat-3288) + * for details. + * + * Since: 2.60 + */ + +/** + * G_GNUC_FORMAT: + * @arg_idx: the index of the argument + * + * Expands to the GNU C `format_arg` function attribute if the compiler + * is gcc. This function attribute specifies that a function takes a + * format string for a `printf()`, `scanf()`, `strftime()` or `strfmon()` style + * function and modifies it, so that the result can be passed to a `printf()`, + * `scanf()`, `strftime()` or `strfmon()` style function (with the remaining + * arguments to the format function the same as they would have been + * for the unmodified string). + * + * Place the attribute after the function declaration, just before the + * semicolon. + * + * See the [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-Wformat-nonliteral-1) for more details. + * + * |[ + * gchar *g_dgettext (gchar *domain_name, gchar *msgid) G_GNUC_FORMAT (2); + * ]| + */ + +/** + * G_GNUC_NORETURN: + * + * Expands to the GNU C `noreturn` function attribute if the compiler is gcc. + * It is used for declaring functions which never return. It enables + * optimization of the function, and avoids possible compiler warnings. + * + * Since 2.68, it is recommended that code uses %G_NORETURN instead of + * %G_GNUC_NORETURN, as that works on more platforms and compilers (in + * particular, MSVC and C++11) than %G_GNUC_NORETURN, which works with GCC and + * Clang only. %G_GNUC_NORETURN continues to work, so has not been deprecated + * yet. + * + * Place the attribute after the declaration, just before the semicolon. + * + * |[ + * void g_abort (void) G_GNUC_NORETURN; + * ]| + * + * See the [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-noreturn-function-attribute) for more details. + */ + +/** + * G_GNUC_CONST: + * + * Expands to the GNU C `const` function attribute if the compiler is gcc. + * Declaring a function as `const` enables better optimization of calls to + * the function. A `const` function doesn't examine any values except its + * parameters, and has no effects except its return value. + * + * Place the attribute after the declaration, just before the semicolon. + * + * |[ + * gchar g_ascii_tolower (gchar c) G_GNUC_CONST; + * ]| + * + * See the [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-const-function-attribute) for more details. + * + * A function that has pointer arguments and examines the data pointed to + * must not be declared `const`. Likewise, a function that calls a non-`const` + * function usually must not be `const`. It doesn't make sense for a `const` + * function to return `void`. + */ + +/** + * G_GNUC_UNUSED: + * + * Expands to the GNU C `unused` function attribute if the compiler is gcc. + * It is used for declaring functions and arguments which may never be used. + * It avoids possible compiler warnings. + * + * For functions, place the attribute after the declaration, just before the + * semicolon. For arguments, place the attribute at the beginning of the + * argument declaration. + * + * |[ + * void my_unused_function (G_GNUC_UNUSED gint unused_argument, + * gint other_argument) G_GNUC_UNUSED; + * ]| + * + * See the [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-unused-function-attribute) for more details. + */ + +/** + * G_GNUC_NO_INSTRUMENT: + * + * Expands to the GNU C `no_instrument_function` function attribute if the + * compiler is gcc. Functions with this attribute will not be instrumented + * for profiling, when the compiler is called with the + * `-finstrument-functions` option. + * + * Place the attribute after the declaration, just before the semicolon. + * + * |[ + * int do_uninteresting_things (void) G_GNUC_NO_INSTRUMENT; + * ]| + * + * See the [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-no_005finstrument_005ffunction-function-attribute) for more details. + */ + +#if g_macro__has_attribute(__format__) + +#if !defined (__clang__) && G_GNUC_CHECK_VERSION (4, 4) +#define G_GNUC_PRINTF( format_idx, arg_idx ) \ + __attribute__((__format__ (gnu_printf, format_idx, arg_idx))) +#define G_GNUC_SCANF( format_idx, arg_idx ) \ + __attribute__((__format__ (gnu_scanf, format_idx, arg_idx))) +#define G_GNUC_STRFTIME( format_idx ) \ + __attribute__((__format__ (gnu_strftime, format_idx, 0))) \ + GLIB_AVAILABLE_MACRO_IN_2_60 +#else +#define G_GNUC_PRINTF( format_idx, arg_idx ) \ + __attribute__((__format__ (__printf__, format_idx, arg_idx))) +#define G_GNUC_SCANF( format_idx, arg_idx ) \ + __attribute__((__format__ (__scanf__, format_idx, arg_idx))) +#define G_GNUC_STRFTIME( format_idx ) \ + __attribute__((__format__ (__strftime__, format_idx, 0))) \ + GLIB_AVAILABLE_MACRO_IN_2_60 +#endif + +#else + +#define G_GNUC_PRINTF( format_idx, arg_idx ) +#define G_GNUC_SCANF( format_idx, arg_idx ) +#define G_GNUC_STRFTIME( format_idx ) \ + GLIB_AVAILABLE_MACRO_IN_2_60 + +#endif + +#if g_macro__has_attribute(__format_arg__) +#define G_GNUC_FORMAT(arg_idx) \ + __attribute__ ((__format_arg__ (arg_idx))) +#else +#define G_GNUC_FORMAT( arg_idx ) +#endif + +#if g_macro__has_attribute(__noreturn__) +#define G_GNUC_NORETURN \ + __attribute__ ((__noreturn__)) +#else +/* NOTE: MSVC has __declspec(noreturn) but unlike GCC __attribute__, + * __declspec can only be placed at the start of the function prototype + * and not at the end, so we can't use it without breaking API. + */ +#define G_GNUC_NORETURN +#endif + +#if g_macro__has_attribute(__const__) +#define G_GNUC_CONST \ + __attribute__ ((__const__)) +#else +#define G_GNUC_CONST +#endif + +#if g_macro__has_attribute(__unused__) +#define G_GNUC_UNUSED \ + __attribute__ ((__unused__)) +#else +#define G_GNUC_UNUSED +#endif + +#if g_macro__has_attribute(__no_instrument_function__) +#define G_GNUC_NO_INSTRUMENT \ + __attribute__ ((__no_instrument_function__)) +#else +#define G_GNUC_NO_INSTRUMENT +#endif + +/** + * G_GNUC_FALLTHROUGH: + * + * Expands to the GNU C `fallthrough` statement attribute if the compiler supports it. + * This allows declaring case statement to explicitly fall through in switch + * statements. To enable this feature, use `-Wimplicit-fallthrough` during + * compilation. + * + * Put the attribute right before the case statement you want to fall through + * to. + * + * |[ + * switch (foo) + * { + * case 1: + * g_message ("it's 1"); + * G_GNUC_FALLTHROUGH; + * case 2: + * g_message ("it's either 1 or 2"); + * break; + * } + * ]| + * + * + * See the [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Statement-Attributes.html#index-fallthrough-statement-attribute) for more details. + * + * Since: 2.60 + */ +#if g_macro__has_attribute(fallthrough) +#define G_GNUC_FALLTHROUGH __attribute__((fallthrough)) \ + GLIB_AVAILABLE_MACRO_IN_2_60 +#else +#define G_GNUC_FALLTHROUGH \ + GLIB_AVAILABLE_MACRO_IN_2_60 +#endif + +/** + * G_GNUC_DEPRECATED: + * + * Expands to the GNU C `deprecated` attribute if the compiler is gcc. + * It can be used to mark `typedef`s, variables and functions as deprecated. + * When called with the `-Wdeprecated-declarations` option, + * gcc will generate warnings when deprecated interfaces are used. + * + * Place the attribute after the declaration, just before the semicolon. + * + * |[ + * int my_mistake (void) G_GNUC_DEPRECATED; + * ]| + * + * See the [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-deprecated-function-attribute) for more details. + * + * Since: 2.2 + */ +#if g_macro__has_attribute(__deprecated__) +#define G_GNUC_DEPRECATED __attribute__((__deprecated__)) +#else +#define G_GNUC_DEPRECATED +#endif /* __GNUC__ */ + +/** + * G_GNUC_DEPRECATED_FOR: + * @f: the intended replacement for the deprecated symbol, + * such as the name of a function + * + * Like %G_GNUC_DEPRECATED, but names the intended replacement for the + * deprecated symbol if the version of gcc in use is new enough to support + * custom deprecation messages. + * + * Place the attribute after the declaration, just before the semicolon. + * + * |[ + * int my_mistake (void) G_GNUC_DEPRECATED_FOR(my_replacement); + * ]| + * + * See the [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-deprecated-function-attribute) for more details. + * + * Note that if @f is a macro, it will be expanded in the warning message. + * You can enclose it in quotes to prevent this. (The quotes will show up + * in the warning, but it's better than showing the macro expansion.) + * + * Since: 2.26 + */ +#if G_GNUC_CHECK_VERSION(4, 5) || defined(__clang__) +#define G_GNUC_DEPRECATED_FOR(f) \ + __attribute__((deprecated("Use " #f " instead"))) \ + GLIB_AVAILABLE_MACRO_IN_2_26 +#else +#define G_GNUC_DEPRECATED_FOR(f) G_GNUC_DEPRECATED \ + GLIB_AVAILABLE_MACRO_IN_2_26 +#endif /* __GNUC__ */ + +#ifdef __ICC +#define G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ + _Pragma ("warning (push)") \ + _Pragma ("warning (disable:1478)") +#define G_GNUC_END_IGNORE_DEPRECATIONS \ + _Pragma ("warning (pop)") +#elif G_GNUC_CHECK_VERSION(4, 6) +#define G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#define G_GNUC_END_IGNORE_DEPRECATIONS \ + _Pragma ("GCC diagnostic pop") +#elif defined (_MSC_VER) && (_MSC_VER >= 1500) && !defined (__clang__) +#define G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ + __pragma (warning (push)) \ + __pragma (warning (disable : 4996)) +#define G_GNUC_END_IGNORE_DEPRECATIONS \ + __pragma (warning (pop)) +#elif defined (__clang__) +#define G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") +#define G_GNUC_END_IGNORE_DEPRECATIONS \ + _Pragma("clang diagnostic pop") +#else +#define G_GNUC_BEGIN_IGNORE_DEPRECATIONS +#define G_GNUC_END_IGNORE_DEPRECATIONS +#define GLIB_CANNOT_IGNORE_DEPRECATIONS +#endif + +/** + * G_GNUC_MAY_ALIAS: + * + * Expands to the GNU C `may_alias` type attribute if the compiler is gcc. + * Types with this attribute will not be subjected to type-based alias + * analysis, but are assumed to alias with any other type, just like `char`. + * + * See the [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Type-Attributes.html#index-may_005falias-type-attribute) for details. + * + * Since: 2.14 + */ +#if g_macro__has_attribute(may_alias) +#define G_GNUC_MAY_ALIAS __attribute__((may_alias)) +#else +#define G_GNUC_MAY_ALIAS +#endif + +/** + * G_GNUC_WARN_UNUSED_RESULT: + * + * Expands to the GNU C `warn_unused_result` function attribute if the compiler + * is gcc. This function attribute makes the compiler emit a warning if the + * result of a function call is ignored. + * + * Place the attribute after the declaration, just before the semicolon. + * + * |[ + * GList *g_list_append (GList *list, + * gpointer data) G_GNUC_WARN_UNUSED_RESULT; + * ]| + * + * See the [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-warn_005funused_005fresult-function-attribute) for more details. + * + * Since: 2.10 + */ +#if g_macro__has_attribute(warn_unused_result) +#define G_GNUC_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +#else +#define G_GNUC_WARN_UNUSED_RESULT +#endif /* __GNUC__ */ + +/** + * G_GNUC_FUNCTION: + * + * Expands to "" on all modern compilers, and to __FUNCTION__ on gcc + * version 2.x. Don't use it. + * + * Deprecated: 2.16: Use G_STRFUNC() instead + */ + +/** + * G_GNUC_PRETTY_FUNCTION: + * + * Expands to "" on all modern compilers, and to __PRETTY_FUNCTION__ + * on gcc version 2.x. Don't use it. + * + * Deprecated: 2.16: Use G_STRFUNC() instead + */ + +/* Wrap the gcc __PRETTY_FUNCTION__ and __FUNCTION__ variables with + * macros, so we can refer to them as strings unconditionally. + * usage not-recommended since gcc-3.0 + * + * Mark them as deprecated since 2.26, since that’s when version macros were + * introduced. + */ +#if defined (__GNUC__) && (__GNUC__ < 3) +#define G_GNUC_FUNCTION __FUNCTION__ GLIB_DEPRECATED_MACRO_IN_2_26_FOR(G_STRFUNC) +#define G_GNUC_PRETTY_FUNCTION __PRETTY_FUNCTION__ GLIB_DEPRECATED_MACRO_IN_2_26_FOR(G_STRFUNC) +#else /* !__GNUC__ */ +#define G_GNUC_FUNCTION "" GLIB_DEPRECATED_MACRO_IN_2_26_FOR(G_STRFUNC) +#define G_GNUC_PRETTY_FUNCTION "" GLIB_DEPRECATED_MACRO_IN_2_26_FOR(G_STRFUNC) +#endif /* !__GNUC__ */ + +#if g_macro__has_feature(attribute_analyzer_noreturn) && defined(__clang_analyzer__) +#define G_ANALYZER_ANALYZING 1 +#define G_ANALYZER_NORETURN __attribute__((analyzer_noreturn)) +#elif defined(__COVERITY__) +#define G_ANALYZER_ANALYZING 1 +#define G_ANALYZER_NORETURN __attribute__((noreturn)) +#else +#define G_ANALYZER_ANALYZING 0 +#define G_ANALYZER_NORETURN +#endif + +#define G_STRINGIFY(macro_or_string) G_STRINGIFY_ARG (macro_or_string) +#define G_STRINGIFY_ARG(contents) #contents + +#ifndef __GI_SCANNER__ /* The static assert macro really confuses the introspection parser */ +#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2 +#define G_PASTE(identifier1,identifier2) G_PASTE_ARGS (identifier1, identifier2) +#if G_CXX_STD_CHECK_VERSION (11) +#define G_STATIC_ASSERT(expr) static_assert (expr, "Expression evaluates to false") +#elif (G_C_STD_CHECK_VERSION (11) || \ + g_macro__has_feature(c_static_assert) || g_macro__has_extension(c_static_assert)) +#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false") +#else +#ifdef __COUNTER__ +#define G_STATIC_ASSERT(expr) typedef char G_PASTE (_GStaticAssertCompileTimeAssertion_, __COUNTER__)[(expr) ? 1 : -1] G_GNUC_UNUSED +#else +#define G_STATIC_ASSERT(expr) typedef char G_PASTE (_GStaticAssertCompileTimeAssertion_, __LINE__)[(expr) ? 1 : -1] G_GNUC_UNUSED +#endif +#endif /* G_CXX_STD_CHECK_VERSION (11) */ +#define G_STATIC_ASSERT_EXPR(expr) ((void) sizeof (char[(expr) ? 1 : -1])) +#endif /* !__GI_SCANNER__ */ + +/* Provide a string identifying the current code position */ +#if defined (__GNUC__) && (__GNUC__ < 3) && !defined (G_CXX_STD_VERSION) +#define G_STRLOC __FILE__ ":" G_STRINGIFY (__LINE__) ":" __PRETTY_FUNCTION__ "()" +#else +#define G_STRLOC __FILE__ ":" G_STRINGIFY (__LINE__) +#endif + +/* Provide a string identifying the current function, non-concatenatable */ +#if defined (__GNUC__) && defined (G_CXX_STD_VERSION) +#define G_STRFUNC ((const char*) (__PRETTY_FUNCTION__)) +#elif G_C_STD_CHECK_VERSION (99) +#define G_STRFUNC ((const char*) (__func__)) +#elif defined (__GNUC__) || (defined(_MSC_VER) && (_MSC_VER > 1300)) +#define G_STRFUNC ((const char*) (__FUNCTION__)) +#else +#define G_STRFUNC ((const char*) ("???")) +#endif + +/* Guard C code in headers, while including them from C++ */ +#ifdef G_CXX_STD_VERSION +#define G_BEGIN_DECLS extern "C" { +#define G_END_DECLS } +#else +#define G_BEGIN_DECLS +#define G_END_DECLS +#endif + +/* Provide definitions for some commonly used macros. + * Some of them are only provided if they haven't already + * been defined. It is assumed that if they are already + * defined then the current definition is correct. + */ +#ifndef NULL +# if G_CXX_STD_CHECK_VERSION (11) +# define NULL (nullptr) +# elif defined (G_CXX_STD_VERSION) +# define NULL (0L) +# else +# define NULL ((void*) 0) +# endif /* G_CXX_STD_CHECK_VERSION (11) */ +#endif + +#ifndef FALSE +#define FALSE (0) +#endif + +#ifndef TRUE +#define TRUE (!FALSE) +#endif + +#undef MAX +#define MAX(a, b) (((a) > (b)) ? (a) : (b)) + +#undef MIN +#define MIN(a, b) (((a) < (b)) ? (a) : (b)) + +#undef ABS +#define ABS(a) (((a) < 0) ? -(a) : (a)) + +#undef CLAMP +#define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) + +#define G_APPROX_VALUE(a, b, epsilon) \ + (((a) > (b) ? (a) - (b) : (b) - (a)) < (epsilon)) + +/* Count the number of elements in an array. The array must be defined + * as such; using this with a dynamically allocated array will give + * incorrect results. + */ +#define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) + +/* Macros by analogy to GINT_TO_POINTER, GPOINTER_TO_INT + */ +#define GPOINTER_TO_SIZE(p) ((gsize) (p)) +#define GSIZE_TO_POINTER(s) ((gpointer) (guintptr) (gsize) (s)) + +/* Provide convenience macros for handling structure + * fields through their offsets. + */ + +#if G_GNUC_CHECK_VERSION(4, 0) || defined(_MSC_VER) +#define G_STRUCT_OFFSET(struct_type, member) \ + ((glong) offsetof (struct_type, member)) +#else +#define G_STRUCT_OFFSET(struct_type, member) \ + ((glong) ((guint8*) &((struct_type*) 0)->member)) +#endif + +#define G_STRUCT_MEMBER_P(struct_p, struct_offset) \ + ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset))) +#define G_STRUCT_MEMBER(member_type, struct_p, struct_offset) \ + (*(member_type*) G_STRUCT_MEMBER_P ((struct_p), (struct_offset))) + +/* Provide simple macro statement wrappers: + * G_STMT_START { statements; } G_STMT_END; + * This can be used as a single statement, like: + * if (x) G_STMT_START { ... } G_STMT_END; else ... + * This intentionally does not use compiler extensions like GCC's '({...})' to + * avoid portability issue or side effects when compiled with different compilers. + * MSVC complains about "while(0)": C4127: "Conditional expression is constant", + * so we use __pragma to avoid the warning since the use here is intentional. + */ +#if !(defined (G_STMT_START) && defined (G_STMT_END)) +#define G_STMT_START do +#if defined (_MSC_VER) && (_MSC_VER >= 1500) +#define G_STMT_END \ + __pragma(warning(push)) \ + __pragma(warning(disable:4127)) \ + while(0) \ + __pragma(warning(pop)) +#else +#define G_STMT_END while (0) +#endif +#endif + +/* Provide G_ALIGNOF alignment macro. + * + * Note we cannot use the gcc __alignof__ operator here, as that returns the + * preferred alignment rather than the minimal alignment. See + * https://gitlab.gnome.org/GNOME/glib/merge_requests/538/diffs#note_390790. + */ + +/** + * G_ALIGNOF + * @type: a type-name + * + * Return the minimal alignment required by the platform ABI for values of the given + * type. The address of a variable or struct member of the given type must always be + * a multiple of this alignment. For example, most platforms require int variables + * to be aligned at a 4-byte boundary, so `G_ALIGNOF (int)` is 4 on most platforms. + * + * Note this is not necessarily the same as the value returned by GCC’s + * `__alignof__` operator, which returns the preferred alignment for a type. + * The preferred alignment may be a stricter alignment than the minimal + * alignment. + * + * Since: 2.60 + */ +#if G_C_STD_CHECK_VERSION (11) +#define G_ALIGNOF(type) _Alignof (type) \ + GLIB_AVAILABLE_MACRO_IN_2_60 +#else +#define G_ALIGNOF(type) (G_STRUCT_OFFSET (struct { char a; type b; }, b)) \ + GLIB_AVAILABLE_MACRO_IN_2_60 +#endif + +/** + * G_CONST_RETURN: + * + * If %G_DISABLE_CONST_RETURNS is defined, this macro expands + * to nothing. By default, the macro expands to const. The macro + * can be used in place of const for functions that return a value + * that should not be modified. The purpose of this macro is to allow + * us to turn on const for returned constant strings by default, while + * allowing programmers who find that annoying to turn it off. This macro + * should only be used for return values and for "out" parameters, it + * doesn't make sense for "in" parameters. + * + * Deprecated: 2.30: API providers should replace all existing uses with + * const and API consumers should adjust their code accordingly + */ +#ifdef G_DISABLE_CONST_RETURNS +#define G_CONST_RETURN GLIB_DEPRECATED_MACRO_IN_2_30_FOR(const) +#else +#define G_CONST_RETURN const GLIB_DEPRECATED_MACRO_IN_2_30_FOR(const) +#endif + +/** + * G_NORETURN: + * + * Expands to the GNU C or MSVC `noreturn` function attribute depending on + * the compiler. It is used for declaring functions which never return. + * Enables optimization of the function, and avoids possible compiler warnings. + * + * Note that %G_NORETURN supersedes the previous %G_GNUC_NORETURN macro, which + * will eventually be deprecated. %G_NORETURN supports more platforms. + * + * Place the attribute before the function declaration as follows: + * + * |[ + * G_NORETURN void g_abort (void); + * ]| + * + * Since: 2.68 + */ +/* Note: We can’t annotate this with GLIB_AVAILABLE_MACRO_IN_2_68 because it’s + * used within the GLib headers in function declarations which are always + * evaluated when a header is included. This results in warnings in third party + * code which includes glib.h, even if the third party code doesn’t use the new + * macro itself. */ +#if G_CXX_STD_CHECK_VERSION (11) + /* Use ISO C++11 syntax when the compiler supports it. */ +# define G_NORETURN [[noreturn]] +#elif g_macro__has_attribute(__noreturn__) + /* For compatibility with G_NORETURN_FUNCPTR on clang, use + __attribute__((__noreturn__)), not _Noreturn. */ +# define G_NORETURN __attribute__ ((__noreturn__)) +#elif defined (_MSC_VER) && (1200 <= _MSC_VER) + /* Use MSVC specific syntax. */ +# define G_NORETURN __declspec (noreturn) + /* Use ISO C11 syntax when the compiler supports it. */ +#elif G_C_STD_CHECK_VERSION (11) +# define G_NORETURN _Noreturn +#else +# define G_NORETURN /* empty */ +#endif + +/** + * G_NORETURN_FUNCPTR: + * + * Expands to the GNU C or MSVC `noreturn` function attribute depending on + * the compiler. It is used for declaring function pointers which never return. + * Enables optimization of the function, and avoids possible compiler warnings. + * + * Place the attribute before the function declaration as follows: + * + * |[ + * G_NORETURN_FUNCPTR void (*funcptr) (void); + * ]| + * + * Note that if the function is not a function pointer, you can simply use + * the %G_NORETURN macro as follows: + * + * |[ + * G_NORETURN void g_abort (void); + * ]| + * + * Since: 2.68 + */ +#if g_macro__has_attribute(__noreturn__) +# define G_NORETURN_FUNCPTR __attribute__ ((__noreturn__)) \ + GLIB_AVAILABLE_MACRO_IN_2_68 +#else +# define G_NORETURN_FUNCPTR /* empty */ \ + GLIB_AVAILABLE_MACRO_IN_2_68 +#endif + +/** + * G_ALWAYS_INLINE: + * + * Expands to the GNU C `always_inline` or MSVC `__forceinline` function + * attribute depending on the compiler. It is used for declaring functions + * as always inlined, ignoring the compiler optimization levels. + * + * The attribute may be placed before the declaration or definition, + * right before the `static` keyword. + * + * |[ + * G_ALWAYS_INLINE + * static int + * do_inline_this (void) + * { + * ... + * } + * ]| + * + * See the + * [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-always_005finline-function-attribute) + * and the + * [MSVC documentation](https://docs.microsoft.com/en-us/visualstudio/misc/inline-inline-forceinline) + * + * Since: 2.74 + */ +/* Note: We can’t annotate this with GLIB_AVAILABLE_MACRO_IN_2_74 because it’s + * used within the GLib headers in function declarations which are always + * evaluated when a header is included. This results in warnings in third party + * code which includes glib.h, even if the third party code doesn’t use the new + * macro itself. */ +#if g_macro__has_attribute(__always_inline__) +# if G_CXX_STD_CHECK_VERSION (11) + /* Use ISO C++11 syntax when the compiler supports it. */ +# define G_ALWAYS_INLINE [[gnu::always_inline]] +# else +# define G_ALWAYS_INLINE __attribute__ ((__always_inline__)) +# endif +#elif defined (_MSC_VER) + /* Use MSVC specific syntax. */ +# if G_CXX_STD_CHECK_VERSION (20) && _MSC_VER >= 1927 +# define G_ALWAYS_INLINE [[msvc::forceinline]] +# else +# define G_ALWAYS_INLINE __forceinline +# endif +#else +# define G_ALWAYS_INLINE /* empty */ +#endif + +/** + * G_NO_INLINE: + * + * Expands to the GNU C or MSVC `noinline` function attribute + * depending on the compiler. It is used for declaring functions + * preventing from being considered for inlining. + * + * Note that %G_NO_INLINE supersedes the previous %G_GNUC_NO_INLINE + * macro, which will eventually be deprecated. + * %G_NO_INLINE supports more platforms. + * + * The attribute may be placed before the declaration or definition, + * right before the `static` keyword. + * + * |[ + * G_NO_INLINE + * static int + * do_not_inline_this (void) + * { + * ... + * } + * ]| + * + * Since: 2.74 + */ +/* Note: We can’t annotate this with GLIB_AVAILABLE_MACRO_IN_2_74 because it’s + * used within the GLib headers in function declarations which are always + * evaluated when a header is included. This results in warnings in third party + * code which includes glib.h, even if the third party code doesn’t use the new + * macro itself. */ +#if g_macro__has_attribute(__noinline__) +# if G_CXX_STD_CHECK_VERSION (11) + /* Use ISO C++11 syntax when the compiler supports it. */ +# if defined (__GNUC__) +# define G_NO_INLINE [[gnu::noinline]] +# elif defined (_MSC_VER) +# if G_CXX_STD_CHECK_VERSION (20) && _MSC_VER >= 1927 +# define G_NO_INLINE [[msvc::noinline]] +# else +# define G_NO_INLINE __declspec (noinline) +# endif +# endif +# else +# define G_NO_INLINE __attribute__ ((__noinline__)) +# endif +#elif defined (_MSC_VER) && (1200 <= _MSC_VER) + /* Use MSVC specific syntax. */ + /* Use ISO C++11 syntax when the compiler supports it. */ +# if G_CXX_STD_CHECK_VERSION (20) && _MSC_VER >= 1927 +# define G_NO_INLINE [[msvc::noinline]] +# else +# define G_NO_INLINE __declspec (noinline) +# endif +#else +# define G_NO_INLINE /* empty */ +#endif + +/* + * The G_LIKELY and G_UNLIKELY macros let the programmer give hints to + * the compiler about the expected result of an expression. Some compilers + * can use this information for optimizations. + * + * The _G_BOOLEAN_EXPR macro is intended to trigger a gcc warning when + * putting assignments in g_return_if_fail (). + */ +#if G_GNUC_CHECK_VERSION(2, 0) && defined(__OPTIMIZE__) +#define _G_BOOLEAN_EXPR_IMPL(uniq, expr) \ + G_GNUC_EXTENSION ({ \ + int G_PASTE (_g_boolean_var_, uniq); \ + if (expr) \ + G_PASTE (_g_boolean_var_, uniq) = 1; \ + else \ + G_PASTE (_g_boolean_var_, uniq) = 0; \ + G_PASTE (_g_boolean_var_, uniq); \ +}) +#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr) +#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1)) +#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0)) +#else +#define G_LIKELY(expr) (expr) +#define G_UNLIKELY(expr) (expr) +#endif + +#if __GNUC__ >= 4 && !defined(_WIN32) && !defined(__CYGWIN__) +#define G_HAVE_GNUC_VISIBILITY 1 +#endif + +/* GLIB_CANNOT_IGNORE_DEPRECATIONS is defined above for compilers that do not + * have a way to temporarily suppress deprecation warnings. In these cases, + * suppress the deprecated attribute altogether (otherwise a simple #include + * will emit a barrage of warnings). + */ +#if defined(GLIB_CANNOT_IGNORE_DEPRECATIONS) +#define G_DEPRECATED +#elif G_GNUC_CHECK_VERSION(3, 1) || defined(__clang__) +#define G_DEPRECATED __attribute__((__deprecated__)) +#elif defined(_MSC_VER) && (_MSC_VER >= 1300) +#define G_DEPRECATED __declspec(deprecated) +#else +#define G_DEPRECATED +#endif + +#if defined(GLIB_CANNOT_IGNORE_DEPRECATIONS) +#define G_DEPRECATED_FOR(f) G_DEPRECATED +#elif G_GNUC_CHECK_VERSION(4, 5) || defined(__clang__) +#define G_DEPRECATED_FOR(f) __attribute__((__deprecated__("Use '" #f "' instead"))) +#elif defined(_MSC_FULL_VER) && (_MSC_FULL_VER > 140050320) +#define G_DEPRECATED_FOR(f) __declspec(deprecated("is deprecated. Use '" #f "' instead")) +#else +#define G_DEPRECATED_FOR(f) G_DEPRECATED +#endif + +#if G_GNUC_CHECK_VERSION(4, 5) || defined(__clang__) +#define G_UNAVAILABLE(maj,min) __attribute__((deprecated("Not available before " #maj "." #min))) +#elif defined(_MSC_FULL_VER) && (_MSC_FULL_VER > 140050320) +#define G_UNAVAILABLE(maj,min) __declspec(deprecated("is not available before " #maj "." #min)) +#else +#define G_UNAVAILABLE(maj,min) G_DEPRECATED +#endif + +/* These macros are used to mark deprecated symbols in GLib headers, + * and thus have to be exposed in installed headers. But please + * do *not* use them in other projects. Instead, use G_DEPRECATED + * or define your own wrappers around it. + */ + +#if !defined(GLIB_DISABLE_DEPRECATION_WARNINGS) && \ + (G_GNUC_CHECK_VERSION(4, 6) || \ + __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4)) +#define _GLIB_GNUC_DO_PRAGMA(x) _Pragma(G_STRINGIFY (x)) +#define GLIB_DEPRECATED_MACRO _GLIB_GNUC_DO_PRAGMA(GCC warning "Deprecated pre-processor symbol") +#define GLIB_DEPRECATED_MACRO_FOR(f) \ + _GLIB_GNUC_DO_PRAGMA(GCC warning G_STRINGIFY (Deprecated pre-processor symbol: replace with #f)) +#define GLIB_UNAVAILABLE_MACRO(maj,min) \ + _GLIB_GNUC_DO_PRAGMA(GCC warning G_STRINGIFY (Not available before maj.min)) +#else +#define GLIB_DEPRECATED_MACRO +#define GLIB_DEPRECATED_MACRO_FOR(f) +#define GLIB_UNAVAILABLE_MACRO(maj,min) +#endif + +#if !defined(GLIB_DISABLE_DEPRECATION_WARNINGS) && \ + (G_GNUC_CHECK_VERSION(6, 1) || \ + (defined (__clang_major__) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 0)))) +#define GLIB_DEPRECATED_ENUMERATOR G_DEPRECATED +#define GLIB_DEPRECATED_ENUMERATOR_FOR(f) G_DEPRECATED_FOR(f) +#define GLIB_UNAVAILABLE_ENUMERATOR(maj,min) G_UNAVAILABLE(maj,min) +#else +#define GLIB_DEPRECATED_ENUMERATOR +#define GLIB_DEPRECATED_ENUMERATOR_FOR(f) +#define GLIB_UNAVAILABLE_ENUMERATOR(maj,min) +#endif + +#if !defined(GLIB_DISABLE_DEPRECATION_WARNINGS) && \ + (G_GNUC_CHECK_VERSION(3, 1) || \ + (defined (__clang_major__) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 0)))) +#define GLIB_DEPRECATED_TYPE G_DEPRECATED +#define GLIB_DEPRECATED_TYPE_FOR(f) G_DEPRECATED_FOR(f) +#define GLIB_UNAVAILABLE_TYPE(maj,min) G_UNAVAILABLE(maj,min) +#else +#define GLIB_DEPRECATED_TYPE +#define GLIB_DEPRECATED_TYPE_FOR(f) +#define GLIB_UNAVAILABLE_TYPE(maj,min) +#endif + +#ifndef __GI_SCANNER__ + +#if g_macro__has_attribute(cleanup) + +/* these macros are private; note that gstdio.h also uses _GLIB_CLEANUP */ +#define _GLIB_AUTOPTR_FUNC_NAME(TypeName) glib_autoptr_cleanup_##TypeName +#define _GLIB_AUTOPTR_CLEAR_FUNC_NAME(TypeName) glib_autoptr_clear_##TypeName +#define _GLIB_AUTOPTR_TYPENAME(TypeName) TypeName##_autoptr +#define _GLIB_AUTOPTR_LIST_FUNC_NAME(TypeName) glib_listautoptr_cleanup_##TypeName +#define _GLIB_AUTOPTR_LIST_TYPENAME(TypeName) TypeName##_listautoptr +#define _GLIB_AUTOPTR_SLIST_FUNC_NAME(TypeName) glib_slistautoptr_cleanup_##TypeName +#define _GLIB_AUTOPTR_SLIST_TYPENAME(TypeName) TypeName##_slistautoptr +#define _GLIB_AUTOPTR_QUEUE_FUNC_NAME(TypeName) glib_queueautoptr_cleanup_##TypeName +#define _GLIB_AUTOPTR_QUEUE_TYPENAME(TypeName) TypeName##_queueautoptr +#define _GLIB_AUTO_FUNC_NAME(TypeName) glib_auto_cleanup_##TypeName +#define _GLIB_CLEANUP(func) __attribute__((cleanup(func))) +#define _GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS(TypeName, ParentName, cleanup) \ + typedef TypeName *_GLIB_AUTOPTR_TYPENAME(TypeName); \ + typedef GList *_GLIB_AUTOPTR_LIST_TYPENAME(TypeName); \ + typedef GSList *_GLIB_AUTOPTR_SLIST_TYPENAME(TypeName); \ + typedef GQueue *_GLIB_AUTOPTR_QUEUE_TYPENAME(TypeName); \ + G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ + static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_CLEAR_FUNC_NAME(TypeName) (TypeName *_ptr) \ + { if (_ptr) (cleanup) ((ParentName *) _ptr); } \ + static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_FUNC_NAME(TypeName) (TypeName **_ptr) \ + { _GLIB_AUTOPTR_CLEAR_FUNC_NAME(TypeName) (*_ptr); } \ + static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_LIST_FUNC_NAME(TypeName) (GList **_l) \ + { g_list_free_full (*_l, (GDestroyNotify) (void(*)(void)) cleanup); } \ + static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_SLIST_FUNC_NAME(TypeName) (GSList **_l) \ + { g_slist_free_full (*_l, (GDestroyNotify) (void(*)(void)) cleanup); } \ + static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_QUEUE_FUNC_NAME(TypeName) (GQueue **_q) \ + { if (*_q) g_queue_free_full (*_q, (GDestroyNotify) (void(*)(void)) cleanup); } \ + G_GNUC_END_IGNORE_DEPRECATIONS +#define _GLIB_DEFINE_AUTOPTR_CHAINUP(ModuleObjName, ParentName) \ + _GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS(ModuleObjName, ParentName, _GLIB_AUTOPTR_CLEAR_FUNC_NAME(ParentName)) + + +/* these macros are API */ +#define G_DEFINE_AUTOPTR_CLEANUP_FUNC(TypeName, func) \ + _GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS(TypeName, TypeName, func) +#define G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(TypeName, func) \ + G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ + static G_GNUC_UNUSED inline void _GLIB_AUTO_FUNC_NAME(TypeName) (TypeName *_ptr) { (func) (_ptr); } \ + G_GNUC_END_IGNORE_DEPRECATIONS +#define G_DEFINE_AUTO_CLEANUP_FREE_FUNC(TypeName, func, none) \ + G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ + static G_GNUC_UNUSED inline void _GLIB_AUTO_FUNC_NAME(TypeName) (TypeName *_ptr) { if (*_ptr != none) (func) (*_ptr); } \ + G_GNUC_END_IGNORE_DEPRECATIONS +#define g_autoptr(TypeName) _GLIB_CLEANUP(_GLIB_AUTOPTR_FUNC_NAME(TypeName)) _GLIB_AUTOPTR_TYPENAME(TypeName) +#define g_autolist(TypeName) _GLIB_CLEANUP(_GLIB_AUTOPTR_LIST_FUNC_NAME(TypeName)) _GLIB_AUTOPTR_LIST_TYPENAME(TypeName) +#define g_autoslist(TypeName) _GLIB_CLEANUP(_GLIB_AUTOPTR_SLIST_FUNC_NAME(TypeName)) _GLIB_AUTOPTR_SLIST_TYPENAME(TypeName) +#define g_autoqueue(TypeName) _GLIB_CLEANUP(_GLIB_AUTOPTR_QUEUE_FUNC_NAME(TypeName)) _GLIB_AUTOPTR_QUEUE_TYPENAME(TypeName) +#define g_auto(TypeName) _GLIB_CLEANUP(_GLIB_AUTO_FUNC_NAME(TypeName)) TypeName +#define g_autofree _GLIB_CLEANUP(g_autoptr_cleanup_generic_gfree) + +#else /* not GNU C */ +/* this (dummy) macro is private */ +#define _GLIB_DEFINE_AUTOPTR_CHAINUP(ModuleObjName, ParentName) + +/* these (dummy) macros are API */ +#define G_DEFINE_AUTOPTR_CLEANUP_FUNC(TypeName, func) +#define G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(TypeName, func) +#define G_DEFINE_AUTO_CLEANUP_FREE_FUNC(TypeName, func, none) + +/* no declaration of g_auto() or g_autoptr() here */ +#endif /* __GNUC__ */ + +#else + +#define _GLIB_DEFINE_AUTOPTR_CHAINUP(ModuleObjName, ParentName) + +#define G_DEFINE_AUTOPTR_CLEANUP_FUNC(TypeName, func) +#define G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(TypeName, func) +#define G_DEFINE_AUTO_CLEANUP_FREE_FUNC(TypeName, func, none) + +#endif /* __GI_SCANNER__ */ + +/** + * G_SIZEOF_MEMBER: + * @struct_type: a structure type, e.g. #GOutputVector + * @member: a field in the structure, e.g. `size` + * + * Returns the size of @member in the struct definition without having a + * declared instance of @struct_type. + * + * Returns: the size of @member in bytes. + * + * Since: 2.64 + */ +#define G_SIZEOF_MEMBER(struct_type, member) \ + GLIB_AVAILABLE_MACRO_IN_2_64 \ + sizeof (((struct_type *) 0)->member) + +#endif /* __G_MACROS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gmain.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gmain.h new file mode 100644 index 0000000..14a1d2b --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gmain.h @@ -0,0 +1,862 @@ +/* gmain.h - the GLib Main loop + * Copyright (C) 1998-2000 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef __G_MAIN_H__ +#define __G_MAIN_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include + +G_BEGIN_DECLS + +typedef enum /*< flags >*/ +{ + G_IO_IN GLIB_SYSDEF_POLLIN, + G_IO_OUT GLIB_SYSDEF_POLLOUT, + G_IO_PRI GLIB_SYSDEF_POLLPRI, + G_IO_ERR GLIB_SYSDEF_POLLERR, + G_IO_HUP GLIB_SYSDEF_POLLHUP, + G_IO_NVAL GLIB_SYSDEF_POLLNVAL +} GIOCondition; + +/** + * GMainContextFlags: + * @G_MAIN_CONTEXT_FLAGS_NONE: Default behaviour. + * @G_MAIN_CONTEXT_FLAGS_OWNERLESS_POLLING: Assume that polling for events will + * free the thread to process other jobs. That's useful if you're using + * `g_main_context_{prepare,query,check,dispatch}` to integrate GMainContext in + * other event loops. + * + * Flags to pass to g_main_context_new_with_flags() which affect the behaviour + * of a #GMainContext. + * + * Since: 2.72 + */ +GLIB_AVAILABLE_TYPE_IN_2_72 +typedef enum /*< flags >*/ +{ + G_MAIN_CONTEXT_FLAGS_NONE = 0, + G_MAIN_CONTEXT_FLAGS_OWNERLESS_POLLING = 1 +} GMainContextFlags; + + +/** + * GMainContext: + * + * The `GMainContext` struct is an opaque data + * type representing a set of sources to be handled in a main loop. + */ +typedef struct _GMainContext GMainContext; + +/** + * GMainLoop: + * + * The `GMainLoop` struct is an opaque data type + * representing the main event loop of a GLib or GTK application. + */ +typedef struct _GMainLoop GMainLoop; + +/** + * GSource: + * + * The `GSource` struct is an opaque data type + * representing an event source. + */ +typedef struct _GSource GSource; +typedef struct _GSourcePrivate GSourcePrivate; + +/** + * GSourceCallbackFuncs: + * @ref: Called when a reference is added to the callback object + * @unref: Called when a reference to the callback object is dropped + * @get: Called to extract the callback function and data from the + * callback object. + * + * The `GSourceCallbackFuncs` struct contains + * functions for managing callback objects. + */ +typedef struct _GSourceCallbackFuncs GSourceCallbackFuncs; + +/** + * GSourceFuncs: + * @prepare: Called before all the file descriptors are polled. If the + * source can determine that it is ready here (without waiting for the + * results of the poll() call) it should return %TRUE. It can also return + * a @timeout_ value which should be the maximum timeout (in milliseconds) + * which should be passed to the poll() call. The actual timeout used will + * be -1 if all sources returned -1, or it will be the minimum of all + * the @timeout_ values returned which were >= 0. Since 2.36 this may + * be %NULL, in which case the effect is as if the function always returns + * %FALSE with a timeout of -1. If @prepare returns a + * timeout and the source also has a ready time set, then the + * lower of the two will be used. + * @check: Called after all the file descriptors are polled. The source + * should return %TRUE if it is ready to be dispatched. Note that some + * time may have passed since the previous prepare function was called, + * so the source should be checked again here. Since 2.36 this may + * be %NULL, in which case the effect is as if the function always returns + * %FALSE. + * @dispatch: Called to dispatch the event source, after it has returned + * %TRUE in either its @prepare or its @check function, or if a ready time + * has been reached. The @dispatch function receives a callback function and + * user data. The callback function may be %NULL if the source was never + * connected to a callback using g_source_set_callback(). The @dispatch + * function should call the callback function with @user_data and whatever + * additional parameters are needed for this type of event source. The + * return value of the @dispatch function should be %G_SOURCE_REMOVE if the + * source should be removed or %G_SOURCE_CONTINUE to keep it. + * @finalize: Called when the source is finalized. At this point, the source + * will have been destroyed, had its callback cleared, and have been removed + * from its #GMainContext, but it will still have its final reference count, + * so methods can be called on it from within this function. + * + * The `GSourceFuncs` struct contains a table of + * functions used to handle event sources in a generic manner. + * + * For idle sources, the prepare and check functions always return %TRUE + * to indicate that the source is always ready to be processed. The prepare + * function also returns a timeout value of 0 to ensure that the poll() call + * doesn't block (since that would be time wasted which could have been spent + * running the idle function). + * + * For timeout sources, the prepare and check functions both return %TRUE + * if the timeout interval has expired. The prepare function also returns + * a timeout value to ensure that the poll() call doesn't block too long + * and miss the next timeout. + * + * For file descriptor sources, the prepare function typically returns %FALSE, + * since it must wait until poll() has been called before it knows whether + * any events need to be processed. It sets the returned timeout to -1 to + * indicate that it doesn't mind how long the poll() call blocks. In the + * check function, it tests the results of the poll() call to see if the + * required condition has been met, and returns %TRUE if so. + */ +typedef struct _GSourceFuncs GSourceFuncs; + +/** + * GPid: + * + * A type which is used to hold a process identification. + * + * On UNIX, processes are identified by a process id (an integer), + * while Windows uses process handles (which are pointers). + * + * GPid is used in GLib only for descendant processes spawned with + * the g_spawn functions. + */ +/* defined in glibconfig.h */ + +/** + * G_PID_FORMAT: + * + * A format specifier that can be used in printf()-style format strings + * when printing a #GPid. + * + * Since: 2.50 + */ +/* defined in glibconfig.h */ + +/** + * GSourceFunc: + * @user_data: data passed to the function, set when the source was + * created with one of the above functions + * + * Specifies the type of function passed to g_timeout_add(), + * g_timeout_add_full(), g_idle_add(), and g_idle_add_full(). + * + * When calling g_source_set_callback(), you may need to cast a function of a + * different type to this type. Use G_SOURCE_FUNC() to avoid warnings about + * incompatible function types. + * + * Returns: %FALSE if the source should be removed. %G_SOURCE_CONTINUE and + * %G_SOURCE_REMOVE are more memorable names for the return value. + */ +typedef gboolean (*GSourceFunc) (gpointer user_data); + +/** + * GSourceOnceFunc: + * @user_data: data passed to the function, set when the source was + * created + * + * A source function that is only called once before being removed from the main + * context automatically. + * + * See: g_idle_add_once(), g_timeout_add_once() + * + * Since: 2.74 + */ +typedef void (* GSourceOnceFunc) (gpointer user_data); + +/** + * G_SOURCE_FUNC: + * @f: a function pointer. + * + * Cast a function pointer to a #GSourceFunc, suppressing warnings from GCC 8 + * onwards with `-Wextra` or `-Wcast-function-type` enabled about the function + * types being incompatible. + * + * For example, the correct type of callback for a source created by + * g_child_watch_source_new() is #GChildWatchFunc, which accepts more arguments + * than #GSourceFunc. Casting the function with `(GSourceFunc)` to call + * g_source_set_callback() will trigger a warning, even though it will be cast + * back to the correct type before it is called by the source. + * + * Since: 2.58 + */ +#define G_SOURCE_FUNC(f) ((GSourceFunc) (void (*)(void)) (f)) GLIB_AVAILABLE_MACRO_IN_2_58 + +/** + * GChildWatchFunc: + * @pid: the process id of the child process + * @wait_status: Status information about the child process, encoded + * in a platform-specific manner + * @user_data: user data passed to g_child_watch_add() + * + * Prototype of a #GChildWatchSource callback, called when a child + * process has exited. + * + * To interpret @wait_status, see the documentation + * for g_spawn_check_wait_status(). In particular, + * on Unix platforms, note that it is usually not equal + * to the integer passed to `exit()` or returned from `main()`. + */ +typedef void (*GChildWatchFunc) (GPid pid, + gint wait_status, + gpointer user_data); + + +/** + * GSourceDisposeFunc: + * @source: #GSource that is currently being disposed + * + * Dispose function for @source. See g_source_set_dispose_function() for + * details. + * + * Since: 2.64 + */ +GLIB_AVAILABLE_TYPE_IN_2_64 +typedef void (*GSourceDisposeFunc) (GSource *source); + +struct _GSource +{ + /*< private >*/ + gpointer callback_data; + GSourceCallbackFuncs *callback_funcs; + + const GSourceFuncs *source_funcs; + guint ref_count; + + GMainContext *context; + + gint priority; + guint flags; + guint source_id; + + GSList *poll_fds; + + GSource *prev; + GSource *next; + + char *name; + + GSourcePrivate *priv; +}; + +struct _GSourceCallbackFuncs +{ + void (*ref) (gpointer cb_data); + void (*unref) (gpointer cb_data); + void (*get) (gpointer cb_data, + GSource *source, + GSourceFunc *func, + gpointer *data); +}; + +/** + * GSourceDummyMarshal: + * + * This is just a placeholder for #GClosureMarshal, + * which cannot be used here for dependency reasons. + */ +typedef void (*GSourceDummyMarshal) (void); + +struct _GSourceFuncs +{ + gboolean (*prepare) (GSource *source, + gint *timeout_);/* Can be NULL */ + gboolean (*check) (GSource *source);/* Can be NULL */ + gboolean (*dispatch) (GSource *source, + GSourceFunc callback, + gpointer user_data); + void (*finalize) (GSource *source); /* Can be NULL */ + + /*< private >*/ + /* For use by g_source_set_closure */ + GSourceFunc closure_callback; + GSourceDummyMarshal closure_marshal; /* Really is of type GClosureMarshal */ +}; + +/* Standard priorities */ + +/** + * G_PRIORITY_HIGH: + * + * Use this for high priority event sources. + * + * It is not used within GLib or GTK. + */ +#define G_PRIORITY_HIGH -100 + +/** + * G_PRIORITY_DEFAULT: + * + * Use this for default priority event sources. + * + * In GLib this priority is used when adding timeout functions + * with g_timeout_add(). In GDK this priority is used for events + * from the X server. + */ +#define G_PRIORITY_DEFAULT 0 + +/** + * G_PRIORITY_HIGH_IDLE: + * + * Use this for high priority idle functions. + * + * GTK uses %G_PRIORITY_HIGH_IDLE + 10 for resizing operations, + * and %G_PRIORITY_HIGH_IDLE + 20 for redrawing operations. (This is + * done to ensure that any pending resizes are processed before any + * pending redraws, so that widgets are not redrawn twice unnecessarily.) + */ +#define G_PRIORITY_HIGH_IDLE 100 + +/** + * G_PRIORITY_DEFAULT_IDLE: + * + * Use this for default priority idle functions. + * + * In GLib this priority is used when adding idle functions with + * g_idle_add(). + */ +#define G_PRIORITY_DEFAULT_IDLE 200 + +/** + * G_PRIORITY_LOW: + * + * Use this for very low priority background tasks. + * + * It is not used within GLib or GTK. + */ +#define G_PRIORITY_LOW 300 + +/** + * G_SOURCE_REMOVE: + * + * Use this macro as the return value of a #GSourceFunc to remove + * the #GSource from the main loop. + * + * Since: 2.32 + */ +#define G_SOURCE_REMOVE FALSE + +/** + * G_SOURCE_CONTINUE: + * + * Use this macro as the return value of a #GSourceFunc to leave + * the #GSource in the main loop. + * + * Since: 2.32 + */ +#define G_SOURCE_CONTINUE TRUE + +/* GMainContext: */ + +GLIB_AVAILABLE_IN_ALL +GMainContext *g_main_context_new (void); +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_AVAILABLE_IN_2_72 +GMainContext *g_main_context_new_with_flags (GMainContextFlags flags); +G_GNUC_END_IGNORE_DEPRECATIONS +GLIB_AVAILABLE_IN_ALL +GMainContext *g_main_context_ref (GMainContext *context); +GLIB_AVAILABLE_IN_ALL +void g_main_context_unref (GMainContext *context); +GLIB_AVAILABLE_IN_ALL +GMainContext *g_main_context_default (void); + +GLIB_AVAILABLE_IN_ALL +gboolean g_main_context_iteration (GMainContext *context, + gboolean may_block); +GLIB_AVAILABLE_IN_ALL +gboolean g_main_context_pending (GMainContext *context); + +/* For implementation of legacy interfaces + */ +GLIB_AVAILABLE_IN_ALL +GSource *g_main_context_find_source_by_id (GMainContext *context, + guint source_id); +GLIB_AVAILABLE_IN_ALL +GSource *g_main_context_find_source_by_user_data (GMainContext *context, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +GSource *g_main_context_find_source_by_funcs_user_data (GMainContext *context, + GSourceFuncs *funcs, + gpointer user_data); + +/* Low level functions for implementing custom main loops. + */ +GLIB_AVAILABLE_IN_ALL +void g_main_context_wakeup (GMainContext *context); +GLIB_AVAILABLE_IN_ALL +gboolean g_main_context_acquire (GMainContext *context); +GLIB_AVAILABLE_IN_ALL +void g_main_context_release (GMainContext *context); +GLIB_AVAILABLE_IN_ALL +gboolean g_main_context_is_owner (GMainContext *context); +GLIB_DEPRECATED_IN_2_58_FOR(g_main_context_is_owner) +gboolean g_main_context_wait (GMainContext *context, + GCond *cond, + GMutex *mutex); + +GLIB_AVAILABLE_IN_ALL +gboolean g_main_context_prepare (GMainContext *context, + gint *priority); +GLIB_AVAILABLE_IN_ALL +gint g_main_context_query (GMainContext *context, + gint max_priority, + gint *timeout_, + GPollFD *fds, + gint n_fds); +GLIB_AVAILABLE_IN_ALL +gboolean g_main_context_check (GMainContext *context, + gint max_priority, + GPollFD *fds, + gint n_fds); +GLIB_AVAILABLE_IN_ALL +void g_main_context_dispatch (GMainContext *context); + +GLIB_AVAILABLE_IN_ALL +void g_main_context_set_poll_func (GMainContext *context, + GPollFunc func); +GLIB_AVAILABLE_IN_ALL +GPollFunc g_main_context_get_poll_func (GMainContext *context); + +/* Low level functions for use by source implementations + */ +GLIB_AVAILABLE_IN_ALL +void g_main_context_add_poll (GMainContext *context, + GPollFD *fd, + gint priority); +GLIB_AVAILABLE_IN_ALL +void g_main_context_remove_poll (GMainContext *context, + GPollFD *fd); + +GLIB_AVAILABLE_IN_ALL +gint g_main_depth (void); +GLIB_AVAILABLE_IN_ALL +GSource *g_main_current_source (void); + +/* GMainContexts for other threads + */ +GLIB_AVAILABLE_IN_ALL +void g_main_context_push_thread_default (GMainContext *context); +GLIB_AVAILABLE_IN_ALL +void g_main_context_pop_thread_default (GMainContext *context); +GLIB_AVAILABLE_IN_ALL +GMainContext *g_main_context_get_thread_default (void); +GLIB_AVAILABLE_IN_ALL +GMainContext *g_main_context_ref_thread_default (void); + +/** + * GMainContextPusher: + * + * Opaque type. See g_main_context_pusher_new() for details. + * + * Since: 2.64 + */ +typedef void GMainContextPusher GLIB_AVAILABLE_TYPE_IN_2_64; + +/** + * g_main_context_pusher_new: + * @main_context: (transfer none): a main context to push + * + * Push @main_context as the new thread-default main context for the current + * thread, using g_main_context_push_thread_default(), and return a new + * #GMainContextPusher. Pop with g_main_context_pusher_free(). Using + * g_main_context_pop_thread_default() on @main_context while a + * #GMainContextPusher exists for it can lead to undefined behaviour. + * + * Using two #GMainContextPushers in the same scope is not allowed, as it leads + * to an undefined pop order. + * + * This is intended to be used with g_autoptr(). Note that g_autoptr() + * is only available when using GCC or clang, so the following example + * will only work with those compilers: + * |[ + * typedef struct + * { + * ... + * GMainContext *context; + * ... + * } MyObject; + * + * static void + * my_object_do_stuff (MyObject *self) + * { + * g_autoptr(GMainContextPusher) pusher = g_main_context_pusher_new (self->context); + * + * // Code with main context as the thread default here + * + * if (cond) + * // No need to pop + * return; + * + * // Optionally early pop + * g_clear_pointer (&pusher, g_main_context_pusher_free); + * + * // Code with main context no longer the thread default here + * } + * ]| + * + * Returns: (transfer full): a #GMainContextPusher + * Since: 2.64 + */ +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_AVAILABLE_STATIC_INLINE_IN_2_64 +static inline GMainContextPusher * +g_main_context_pusher_new (GMainContext *main_context) +{ + g_main_context_push_thread_default (main_context); + return (GMainContextPusher *) main_context; +} +G_GNUC_END_IGNORE_DEPRECATIONS + +/** + * g_main_context_pusher_free: + * @pusher: (transfer full): a #GMainContextPusher + * + * Pop @pusher’s main context as the thread default main context. + * See g_main_context_pusher_new() for details. + * + * This will pop the #GMainContext as the current thread-default main context, + * but will not call g_main_context_unref() on it. + * + * Since: 2.64 + */ +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_AVAILABLE_STATIC_INLINE_IN_2_64 +static inline void +g_main_context_pusher_free (GMainContextPusher *pusher) +{ + g_main_context_pop_thread_default ((GMainContext *) pusher); +} +G_GNUC_END_IGNORE_DEPRECATIONS + +/* GMainLoop: */ + +GLIB_AVAILABLE_IN_ALL +GMainLoop *g_main_loop_new (GMainContext *context, + gboolean is_running); +GLIB_AVAILABLE_IN_ALL +void g_main_loop_run (GMainLoop *loop); +GLIB_AVAILABLE_IN_ALL +void g_main_loop_quit (GMainLoop *loop); +GLIB_AVAILABLE_IN_ALL +GMainLoop *g_main_loop_ref (GMainLoop *loop); +GLIB_AVAILABLE_IN_ALL +void g_main_loop_unref (GMainLoop *loop); +GLIB_AVAILABLE_IN_ALL +gboolean g_main_loop_is_running (GMainLoop *loop); +GLIB_AVAILABLE_IN_ALL +GMainContext *g_main_loop_get_context (GMainLoop *loop); + +/* GSource: */ + +GLIB_AVAILABLE_IN_ALL +GSource *g_source_new (GSourceFuncs *source_funcs, + guint struct_size); + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_AVAILABLE_IN_2_64 +void g_source_set_dispose_function (GSource *source, + GSourceDisposeFunc dispose); +G_GNUC_END_IGNORE_DEPRECATIONS + +GLIB_AVAILABLE_IN_ALL +GSource *g_source_ref (GSource *source); +GLIB_AVAILABLE_IN_ALL +void g_source_unref (GSource *source); + +GLIB_AVAILABLE_IN_ALL +guint g_source_attach (GSource *source, + GMainContext *context); +GLIB_AVAILABLE_IN_ALL +void g_source_destroy (GSource *source); + +GLIB_AVAILABLE_IN_ALL +void g_source_set_priority (GSource *source, + gint priority); +GLIB_AVAILABLE_IN_ALL +gint g_source_get_priority (GSource *source); +GLIB_AVAILABLE_IN_ALL +void g_source_set_can_recurse (GSource *source, + gboolean can_recurse); +GLIB_AVAILABLE_IN_ALL +gboolean g_source_get_can_recurse (GSource *source); +GLIB_AVAILABLE_IN_ALL +guint g_source_get_id (GSource *source); + +GLIB_AVAILABLE_IN_ALL +GMainContext *g_source_get_context (GSource *source); + +GLIB_AVAILABLE_IN_ALL +void g_source_set_callback (GSource *source, + GSourceFunc func, + gpointer data, + GDestroyNotify notify); + +GLIB_AVAILABLE_IN_ALL +void g_source_set_funcs (GSource *source, + GSourceFuncs *funcs); +GLIB_AVAILABLE_IN_ALL +gboolean g_source_is_destroyed (GSource *source); + +GLIB_AVAILABLE_IN_ALL +void g_source_set_name (GSource *source, + const char *name); +GLIB_AVAILABLE_IN_2_70 +void g_source_set_static_name (GSource *source, + const char *name); +GLIB_AVAILABLE_IN_ALL +const char * g_source_get_name (GSource *source); +GLIB_AVAILABLE_IN_ALL +void g_source_set_name_by_id (guint tag, + const char *name); + +GLIB_AVAILABLE_IN_2_36 +void g_source_set_ready_time (GSource *source, + gint64 ready_time); +GLIB_AVAILABLE_IN_2_36 +gint64 g_source_get_ready_time (GSource *source); + +#ifdef G_OS_UNIX +GLIB_AVAILABLE_IN_2_36 +gpointer g_source_add_unix_fd (GSource *source, + gint fd, + GIOCondition events); +GLIB_AVAILABLE_IN_2_36 +void g_source_modify_unix_fd (GSource *source, + gpointer tag, + GIOCondition new_events); +GLIB_AVAILABLE_IN_2_36 +void g_source_remove_unix_fd (GSource *source, + gpointer tag); +GLIB_AVAILABLE_IN_2_36 +GIOCondition g_source_query_unix_fd (GSource *source, + gpointer tag); +#endif + +/* Used to implement g_source_connect_closure and internally*/ +GLIB_AVAILABLE_IN_ALL +void g_source_set_callback_indirect (GSource *source, + gpointer callback_data, + GSourceCallbackFuncs *callback_funcs); + +GLIB_AVAILABLE_IN_ALL +void g_source_add_poll (GSource *source, + GPollFD *fd); +GLIB_AVAILABLE_IN_ALL +void g_source_remove_poll (GSource *source, + GPollFD *fd); + +GLIB_AVAILABLE_IN_ALL +void g_source_add_child_source (GSource *source, + GSource *child_source); +GLIB_AVAILABLE_IN_ALL +void g_source_remove_child_source (GSource *source, + GSource *child_source); + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_DEPRECATED_IN_2_28_FOR(g_source_get_time) +void g_source_get_current_time (GSource *source, + GTimeVal *timeval); +G_GNUC_END_IGNORE_DEPRECATIONS + +GLIB_AVAILABLE_IN_ALL +gint64 g_source_get_time (GSource *source); + + /* void g_source_connect_closure (GSource *source, + GClosure *closure); + */ + +/* Specific source types + */ +GLIB_AVAILABLE_IN_ALL +GSource *g_idle_source_new (void); +GLIB_AVAILABLE_IN_ALL +GSource *g_child_watch_source_new (GPid pid); +GLIB_AVAILABLE_IN_ALL +GSource *g_timeout_source_new (guint interval); +GLIB_AVAILABLE_IN_ALL +GSource *g_timeout_source_new_seconds (guint interval); + +/* Miscellaneous functions + */ +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_DEPRECATED_IN_2_62_FOR(g_get_real_time) +void g_get_current_time (GTimeVal *result); +G_GNUC_END_IGNORE_DEPRECATIONS + +GLIB_AVAILABLE_IN_ALL +gint64 g_get_monotonic_time (void); +GLIB_AVAILABLE_IN_ALL +gint64 g_get_real_time (void); + + +/* Source manipulation by ID */ +GLIB_AVAILABLE_IN_ALL +gboolean g_source_remove (guint tag); +GLIB_AVAILABLE_IN_ALL +gboolean g_source_remove_by_user_data (gpointer user_data); +GLIB_AVAILABLE_IN_ALL +gboolean g_source_remove_by_funcs_user_data (GSourceFuncs *funcs, + gpointer user_data); + +/** + * GClearHandleFunc: + * @handle_id: the handle ID to clear + * + * Specifies the type of function passed to g_clear_handle_id(). + * The implementation is expected to free the resource identified + * by @handle_id; for instance, if @handle_id is a #GSource ID, + * g_source_remove() can be used. + * + * Since: 2.56 + */ +typedef void (* GClearHandleFunc) (guint handle_id); + +GLIB_AVAILABLE_IN_2_56 +void g_clear_handle_id (guint *tag_ptr, + GClearHandleFunc clear_func); + +#define g_clear_handle_id(tag_ptr, clear_func) \ + G_STMT_START { \ + G_STATIC_ASSERT (sizeof *(tag_ptr) == sizeof (guint)); \ + guint *_tag_ptr = (guint *) (tag_ptr); \ + guint _handle_id; \ + \ + _handle_id = *_tag_ptr; \ + if (_handle_id > 0) \ + { \ + *_tag_ptr = 0; \ + clear_func (_handle_id); \ + } \ + } G_STMT_END \ + GLIB_AVAILABLE_MACRO_IN_2_56 + +/* Idles, child watchers and timeouts */ +GLIB_AVAILABLE_IN_ALL +guint g_timeout_add_full (gint priority, + guint interval, + GSourceFunc function, + gpointer data, + GDestroyNotify notify); +GLIB_AVAILABLE_IN_ALL +guint g_timeout_add (guint interval, + GSourceFunc function, + gpointer data); +GLIB_AVAILABLE_IN_2_74 +guint g_timeout_add_once (guint interval, + GSourceOnceFunc function, + gpointer data); +GLIB_AVAILABLE_IN_ALL +guint g_timeout_add_seconds_full (gint priority, + guint interval, + GSourceFunc function, + gpointer data, + GDestroyNotify notify); +GLIB_AVAILABLE_IN_ALL +guint g_timeout_add_seconds (guint interval, + GSourceFunc function, + gpointer data); +GLIB_AVAILABLE_IN_2_78 +guint g_timeout_add_seconds_once (guint interval, + GSourceOnceFunc function, + gpointer data); +GLIB_AVAILABLE_IN_ALL +guint g_child_watch_add_full (gint priority, + GPid pid, + GChildWatchFunc function, + gpointer data, + GDestroyNotify notify); +GLIB_AVAILABLE_IN_ALL +guint g_child_watch_add (GPid pid, + GChildWatchFunc function, + gpointer data); +GLIB_AVAILABLE_IN_ALL +guint g_idle_add (GSourceFunc function, + gpointer data); +GLIB_AVAILABLE_IN_ALL +guint g_idle_add_full (gint priority, + GSourceFunc function, + gpointer data, + GDestroyNotify notify); +GLIB_AVAILABLE_IN_2_74 +guint g_idle_add_once (GSourceOnceFunc function, + gpointer data); +GLIB_AVAILABLE_IN_ALL +gboolean g_idle_remove_by_data (gpointer data); + +GLIB_AVAILABLE_IN_ALL +void g_main_context_invoke_full (GMainContext *context, + gint priority, + GSourceFunc function, + gpointer data, + GDestroyNotify notify); +GLIB_AVAILABLE_IN_ALL +void g_main_context_invoke (GMainContext *context, + GSourceFunc function, + gpointer data); + +GLIB_AVAILABLE_STATIC_INLINE_IN_2_70 +static inline int +g_steal_fd (int *fd_ptr) +{ + int fd = *fd_ptr; + *fd_ptr = -1; + return fd; +} + +/* Hook for GClosure / GSource integration. Don't touch */ +GLIB_VAR GSourceFuncs g_timeout_funcs; +GLIB_VAR GSourceFuncs g_child_watch_funcs; +GLIB_VAR GSourceFuncs g_idle_funcs; +#ifdef G_OS_UNIX +GLIB_VAR GSourceFuncs g_unix_signal_funcs; +GLIB_VAR GSourceFuncs g_unix_fd_source_funcs; +#endif + +G_END_DECLS + +#endif /* __G_MAIN_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gmappedfile.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gmappedfile.h new file mode 100644 index 0000000..4f5f698 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gmappedfile.h @@ -0,0 +1,60 @@ +/* GLIB - Library of useful routines for C programming + * gmappedfile.h: Simplified wrapper around the mmap function + * + * Copyright 2005 Matthias Clasen + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef __G_MAPPED_FILE_H__ +#define __G_MAPPED_FILE_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +typedef struct _GMappedFile GMappedFile; + +GLIB_AVAILABLE_IN_ALL +GMappedFile *g_mapped_file_new (const gchar *filename, + gboolean writable, + GError **error); +GLIB_AVAILABLE_IN_ALL +GMappedFile *g_mapped_file_new_from_fd (gint fd, + gboolean writable, + GError **error); +GLIB_AVAILABLE_IN_ALL +gsize g_mapped_file_get_length (GMappedFile *file); +GLIB_AVAILABLE_IN_ALL +gchar *g_mapped_file_get_contents (GMappedFile *file); +GLIB_AVAILABLE_IN_2_34 +GBytes * g_mapped_file_get_bytes (GMappedFile *file); +GLIB_AVAILABLE_IN_ALL +GMappedFile *g_mapped_file_ref (GMappedFile *file); +GLIB_AVAILABLE_IN_ALL +void g_mapped_file_unref (GMappedFile *file); + +GLIB_DEPRECATED_FOR(g_mapped_file_unref) +void g_mapped_file_free (GMappedFile *file); + +G_END_DECLS + +#endif /* __G_MAPPED_FILE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gmarkup.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gmarkup.h new file mode 100644 index 0000000..5b57813 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gmarkup.h @@ -0,0 +1,265 @@ +/* gmarkup.h - Simple XML-like string parser/writer + * + * Copyright 2000 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef __G_MARKUP_H__ +#define __G_MARKUP_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +#include +#include + +G_BEGIN_DECLS + +/** + * GMarkupError: + * @G_MARKUP_ERROR_BAD_UTF8: text being parsed was not valid UTF-8 + * @G_MARKUP_ERROR_EMPTY: document contained nothing, or only whitespace + * @G_MARKUP_ERROR_PARSE: document was ill-formed + * @G_MARKUP_ERROR_UNKNOWN_ELEMENT: error should be set by #GMarkupParser + * functions; element wasn't known + * @G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE: error should be set by #GMarkupParser + * functions; attribute wasn't known + * @G_MARKUP_ERROR_INVALID_CONTENT: error should be set by #GMarkupParser + * functions; content was invalid + * @G_MARKUP_ERROR_MISSING_ATTRIBUTE: error should be set by #GMarkupParser + * functions; a required attribute was missing + * + * Error codes returned by markup parsing. + */ +typedef enum +{ + G_MARKUP_ERROR_BAD_UTF8, + G_MARKUP_ERROR_EMPTY, + G_MARKUP_ERROR_PARSE, + /* The following are primarily intended for specific GMarkupParser + * implementations to set. + */ + G_MARKUP_ERROR_UNKNOWN_ELEMENT, + G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE, + G_MARKUP_ERROR_INVALID_CONTENT, + G_MARKUP_ERROR_MISSING_ATTRIBUTE +} GMarkupError; + +/** + * G_MARKUP_ERROR: + * + * Error domain for markup parsing. + * Errors in this domain will be from the #GMarkupError enumeration. + * See #GError for information on error domains. + */ +#define G_MARKUP_ERROR g_markup_error_quark () + +GLIB_AVAILABLE_IN_ALL +GQuark g_markup_error_quark (void); + +/** + * GMarkupParseFlags: + * @G_MARKUP_DEFAULT_FLAGS: No special behaviour. Since: 2.74 + * @G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG: flag you should not use + * @G_MARKUP_TREAT_CDATA_AS_TEXT: When this flag is set, CDATA marked + * sections are not passed literally to the @passthrough function of + * the parser. Instead, the content of the section (without the + * ``) is + * passed to the @text function. This flag was added in GLib 2.12 + * @G_MARKUP_PREFIX_ERROR_POSITION: Normally errors caught by GMarkup + * itself have line/column information prefixed to them to let the + * caller know the location of the error. When this flag is set the + * location information is also prefixed to errors generated by the + * #GMarkupParser implementation functions + * @G_MARKUP_IGNORE_QUALIFIED: Ignore (don't report) qualified + * attributes and tags, along with their contents. A qualified + * attribute or tag is one that contains ':' in its name (ie: is in + * another namespace). Since: 2.40. + * + * Flags that affect the behaviour of the parser. + */ +typedef enum +{ + G_MARKUP_DEFAULT_FLAGS GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 0, + G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG = 1 << 0, + G_MARKUP_TREAT_CDATA_AS_TEXT = 1 << 1, + G_MARKUP_PREFIX_ERROR_POSITION = 1 << 2, + G_MARKUP_IGNORE_QUALIFIED = 1 << 3 +} GMarkupParseFlags; + +/** + * GMarkupParseContext: + * + * A parse context is used to parse a stream of bytes that + * you expect to contain marked-up text. + * + * See g_markup_parse_context_new(), #GMarkupParser, and so + * on for more details. + */ +typedef struct _GMarkupParseContext GMarkupParseContext; +typedef struct _GMarkupParser GMarkupParser; + +/** + * GMarkupParser: + * @start_element: Callback to invoke when the opening tag of an element + * is seen. The callback's @attribute_names and @attribute_values parameters + * are %NULL-terminated. + * @end_element: Callback to invoke when the closing tag of an element + * is seen. Note that this is also called for empty tags like + * ``. + * @text: Callback to invoke when some text is seen (text is always + * inside an element). Note that the text of an element may be spread + * over multiple calls of this function. If the + * %G_MARKUP_TREAT_CDATA_AS_TEXT flag is set, this function is also + * called for the content of CDATA marked sections. + * @passthrough: Callback to invoke for comments, processing instructions + * and doctype declarations; if you're re-writing the parsed document, + * write the passthrough text back out in the same position. If the + * %G_MARKUP_TREAT_CDATA_AS_TEXT flag is not set, this function is also + * called for CDATA marked sections. + * @error: Callback to invoke when an error occurs. + * + * Any of the fields in #GMarkupParser can be %NULL, in which case they + * will be ignored. Except for the @error function, any of these callbacks + * can set an error; in particular the %G_MARKUP_ERROR_UNKNOWN_ELEMENT, + * %G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE, and %G_MARKUP_ERROR_INVALID_CONTENT + * errors are intended to be set from these callbacks. If you set an error + * from a callback, g_markup_parse_context_parse() will report that error + * back to its caller. + */ +struct _GMarkupParser +{ + /* Called for open tags */ + void (*start_element) (GMarkupParseContext *context, + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + gpointer user_data, + GError **error); + + /* Called for close tags */ + void (*end_element) (GMarkupParseContext *context, + const gchar *element_name, + gpointer user_data, + GError **error); + + /* Called for character data */ + /* text is not nul-terminated */ + void (*text) (GMarkupParseContext *context, + const gchar *text, + gsize text_len, + gpointer user_data, + GError **error); + + /* Called for strings that should be re-saved verbatim in this same + * position, but are not otherwise interpretable. At the moment + * this includes comments and processing instructions. + */ + /* text is not nul-terminated. */ + void (*passthrough) (GMarkupParseContext *context, + const gchar *passthrough_text, + gsize text_len, + gpointer user_data, + GError **error); + + /* Called on error, including one set by other + * methods in the vtable. The GError should not be freed. + */ + void (*error) (GMarkupParseContext *context, + GError *error, + gpointer user_data); +}; + +GLIB_AVAILABLE_IN_ALL +GMarkupParseContext *g_markup_parse_context_new (const GMarkupParser *parser, + GMarkupParseFlags flags, + gpointer user_data, + GDestroyNotify user_data_dnotify); +GLIB_AVAILABLE_IN_2_36 +GMarkupParseContext *g_markup_parse_context_ref (GMarkupParseContext *context); +GLIB_AVAILABLE_IN_2_36 +void g_markup_parse_context_unref (GMarkupParseContext *context); +GLIB_AVAILABLE_IN_ALL +void g_markup_parse_context_free (GMarkupParseContext *context); +GLIB_AVAILABLE_IN_ALL +gboolean g_markup_parse_context_parse (GMarkupParseContext *context, + const gchar *text, + gssize text_len, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_markup_parse_context_push (GMarkupParseContext *context, + const GMarkupParser *parser, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +gpointer g_markup_parse_context_pop (GMarkupParseContext *context); + +GLIB_AVAILABLE_IN_ALL +gboolean g_markup_parse_context_end_parse (GMarkupParseContext *context, + GError **error); +GLIB_AVAILABLE_IN_ALL +const gchar * g_markup_parse_context_get_element (GMarkupParseContext *context); +GLIB_AVAILABLE_IN_ALL +const GSList * g_markup_parse_context_get_element_stack (GMarkupParseContext *context); + +/* For user-constructed error messages, has no precise semantics */ +GLIB_AVAILABLE_IN_ALL +void g_markup_parse_context_get_position (GMarkupParseContext *context, + gint *line_number, + gint *char_number); +GLIB_AVAILABLE_IN_ALL +gpointer g_markup_parse_context_get_user_data (GMarkupParseContext *context); + +/* useful when saving */ +GLIB_AVAILABLE_IN_ALL +gchar* g_markup_escape_text (const gchar *text, + gssize length); + +GLIB_AVAILABLE_IN_ALL +gchar *g_markup_printf_escaped (const char *format, + ...) G_GNUC_PRINTF (1, 2); +GLIB_AVAILABLE_IN_ALL +gchar *g_markup_vprintf_escaped (const char *format, + va_list args) G_GNUC_PRINTF(1, 0); + +typedef enum +{ + G_MARKUP_COLLECT_INVALID, + G_MARKUP_COLLECT_STRING, + G_MARKUP_COLLECT_STRDUP, + G_MARKUP_COLLECT_BOOLEAN, + G_MARKUP_COLLECT_TRISTATE, + + G_MARKUP_COLLECT_OPTIONAL = (1 << 16) +} GMarkupCollectType; + + +/* useful from start_element */ +GLIB_AVAILABLE_IN_ALL +gboolean g_markup_collect_attributes (const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + GError **error, + GMarkupCollectType first_type, + const gchar *first_attr, + ...); + +G_END_DECLS + +#endif /* __G_MARKUP_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gmem.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gmem.h new file mode 100644 index 0000000..9f3d427 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gmem.h @@ -0,0 +1,425 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_MEM_H__ +#define __G_MEM_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +/** + * GMemVTable: + * @malloc: function to use for allocating memory. + * @realloc: function to use for reallocating memory. + * @free: function to use to free memory. + * @calloc: function to use for allocating zero-filled memory. + * @try_malloc: function to use for allocating memory without a default error handler. + * @try_realloc: function to use for reallocating memory without a default error handler. + * + * A set of functions used to perform memory allocation. The same #GMemVTable must + * be used for all allocations in the same program; a call to g_mem_set_vtable(), + * if it exists, should be prior to any use of GLib. + * + * This functions related to this has been deprecated in 2.46, and no longer work. + */ +typedef struct _GMemVTable GMemVTable; + + +#if GLIB_SIZEOF_VOID_P > GLIB_SIZEOF_LONG +/** + * G_MEM_ALIGN: + * + * Indicates the number of bytes to which memory will be aligned on the + * current platform. + */ +# define G_MEM_ALIGN GLIB_SIZEOF_VOID_P +#else /* GLIB_SIZEOF_VOID_P <= GLIB_SIZEOF_LONG */ +# define G_MEM_ALIGN GLIB_SIZEOF_LONG +#endif /* GLIB_SIZEOF_VOID_P <= GLIB_SIZEOF_LONG */ + + +/* Memory allocation functions + */ + +GLIB_AVAILABLE_IN_ALL +void (g_free) (gpointer mem); +GLIB_AVAILABLE_IN_2_76 +void g_free_sized (gpointer mem, + size_t size); + +GLIB_AVAILABLE_IN_2_34 +void g_clear_pointer (gpointer *pp, + GDestroyNotify destroy); + +GLIB_AVAILABLE_IN_ALL +gpointer g_malloc (gsize n_bytes) G_GNUC_MALLOC G_GNUC_ALLOC_SIZE(1); +GLIB_AVAILABLE_IN_ALL +gpointer g_malloc0 (gsize n_bytes) G_GNUC_MALLOC G_GNUC_ALLOC_SIZE(1); +GLIB_AVAILABLE_IN_ALL +gpointer g_realloc (gpointer mem, + gsize n_bytes) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +gpointer g_try_malloc (gsize n_bytes) G_GNUC_MALLOC G_GNUC_ALLOC_SIZE(1); +GLIB_AVAILABLE_IN_ALL +gpointer g_try_malloc0 (gsize n_bytes) G_GNUC_MALLOC G_GNUC_ALLOC_SIZE(1); +GLIB_AVAILABLE_IN_ALL +gpointer g_try_realloc (gpointer mem, + gsize n_bytes) G_GNUC_WARN_UNUSED_RESULT; + +GLIB_AVAILABLE_IN_ALL +gpointer g_malloc_n (gsize n_blocks, + gsize n_block_bytes) G_GNUC_MALLOC G_GNUC_ALLOC_SIZE2(1,2); +GLIB_AVAILABLE_IN_ALL +gpointer g_malloc0_n (gsize n_blocks, + gsize n_block_bytes) G_GNUC_MALLOC G_GNUC_ALLOC_SIZE2(1,2); +GLIB_AVAILABLE_IN_ALL +gpointer g_realloc_n (gpointer mem, + gsize n_blocks, + gsize n_block_bytes) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +gpointer g_try_malloc_n (gsize n_blocks, + gsize n_block_bytes) G_GNUC_MALLOC G_GNUC_ALLOC_SIZE2(1,2); +GLIB_AVAILABLE_IN_ALL +gpointer g_try_malloc0_n (gsize n_blocks, + gsize n_block_bytes) G_GNUC_MALLOC G_GNUC_ALLOC_SIZE2(1,2); +GLIB_AVAILABLE_IN_ALL +gpointer g_try_realloc_n (gpointer mem, + gsize n_blocks, + gsize n_block_bytes) G_GNUC_WARN_UNUSED_RESULT; + +GLIB_AVAILABLE_IN_2_72 +gpointer g_aligned_alloc (gsize n_blocks, + gsize n_block_bytes, + gsize alignment) G_GNUC_WARN_UNUSED_RESULT G_GNUC_ALLOC_SIZE2(1,2); +GLIB_AVAILABLE_IN_2_72 +gpointer g_aligned_alloc0 (gsize n_blocks, + gsize n_block_bytes, + gsize alignment) G_GNUC_WARN_UNUSED_RESULT G_GNUC_ALLOC_SIZE2(1,2); +GLIB_AVAILABLE_IN_2_72 +void g_aligned_free (gpointer mem); +GLIB_AVAILABLE_IN_2_76 +void g_aligned_free_sized (gpointer mem, + size_t alignment, + size_t size); + +#if defined(glib_typeof) && GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_58 +#define g_clear_pointer(pp, destroy) \ + G_STMT_START \ + { \ + G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \ + glib_typeof ((pp)) _pp = (pp); \ + glib_typeof (*(pp)) _ptr = *_pp; \ + *_pp = NULL; \ + if (_ptr) \ + (destroy) (_ptr); \ + } \ + G_STMT_END \ + GLIB_AVAILABLE_MACRO_IN_2_34 +#else /* __GNUC__ */ +#define g_clear_pointer(pp, destroy) \ + G_STMT_START { \ + G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \ + /* Only one access, please; work around type aliasing */ \ + union { char *in; gpointer *out; } _pp; \ + gpointer _p; \ + /* This assignment is needed to avoid a gcc warning */ \ + GDestroyNotify _destroy = (GDestroyNotify) (destroy); \ + \ + _pp.in = (char *) (pp); \ + _p = *_pp.out; \ + if (_p) \ + { \ + *_pp.out = NULL; \ + _destroy (_p); \ + } \ + } G_STMT_END \ + GLIB_AVAILABLE_MACRO_IN_2_34 +#endif /* __GNUC__ */ + + +#if G_GNUC_CHECK_VERSION (4, 1) && GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_78 && defined(G_HAVE_FREE_SIZED) + +#define g_free(mem) \ + (__builtin_object_size ((mem), 0) != ((size_t) - 1)) ? \ + g_free_sized (mem, __builtin_object_size ((mem), 0)) : (g_free) (mem) + +#endif /* G_GNUC_CHECK_VERSION (4, 1) && && GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_78 && defined(G_HAVE_FREE_SIZED) */ + +/** + * g_steal_pointer: + * @pp: (not nullable): a pointer to a pointer + * + * Sets @pp to %NULL, returning the value that was there before. + * + * Conceptually, this transfers the ownership of the pointer from the + * referenced variable to the "caller" of the macro (ie: "steals" the + * reference). + * + * The return value will be properly typed, according to the type of + * @pp. + * + * This can be very useful when combined with g_autoptr() to prevent the + * return value of a function from being automatically freed. Consider + * the following example (which only works on GCC and clang): + * + * |[ + * GObject * + * create_object (void) + * { + * g_autoptr(GObject) obj = g_object_new (G_TYPE_OBJECT, NULL); + * + * if (early_error_case) + * return NULL; + * + * return g_steal_pointer (&obj); + * } + * ]| + * + * It can also be used in similar ways for 'out' parameters and is + * particularly useful for dealing with optional out parameters: + * + * |[ + * gboolean + * get_object (GObject **obj_out) + * { + * g_autoptr(GObject) obj = g_object_new (G_TYPE_OBJECT, NULL); + * + * if (early_error_case) + * return FALSE; + * + * if (obj_out) + * *obj_out = g_steal_pointer (&obj); + * + * return TRUE; + * } + * ]| + * + * In the above example, the object will be automatically freed in the + * early error case and also in the case that %NULL was given for + * @obj_out. + * + * Since: 2.44 + */ +GLIB_AVAILABLE_STATIC_INLINE_IN_2_44 +static inline gpointer +g_steal_pointer (gpointer pp) +{ + gpointer *ptr = (gpointer *) pp; + gpointer ref; + + ref = *ptr; + *ptr = NULL; + + return ref; +} + +/* type safety */ +#if defined(glib_typeof) && GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_58 +#define g_steal_pointer(pp) ((glib_typeof (*pp)) (g_steal_pointer) (pp)) +#else /* __GNUC__ */ +/* This version does not depend on gcc extensions, but gcc does not warn + * about incompatible-pointer-types: */ +#define g_steal_pointer(pp) \ + (0 ? (*(pp)) : (g_steal_pointer) (pp)) +#endif /* __GNUC__ */ + +/* Optimise: avoid the call to the (slower) _n function if we can + * determine at compile-time that no overflow happens. + */ +#if defined (__GNUC__) && (__GNUC__ >= 2) && defined (__OPTIMIZE__) +# define _G_NEW(struct_type, n_structs, func) \ + (struct_type *) (G_GNUC_EXTENSION ({ \ + gsize __n = (gsize) (n_structs); \ + gsize __s = sizeof (struct_type); \ + gpointer __p; \ + if (__s == 1) \ + __p = g_##func (__n); \ + else if (__builtin_constant_p (__n) && \ + (__s == 0 || __n <= G_MAXSIZE / __s)) \ + __p = g_##func (__n * __s); \ + else \ + __p = g_##func##_n (__n, __s); \ + __p; \ + })) +# define _G_RENEW(struct_type, mem, n_structs, func) \ + (struct_type *) (G_GNUC_EXTENSION ({ \ + gsize __n = (gsize) (n_structs); \ + gsize __s = sizeof (struct_type); \ + gpointer __p = (gpointer) (mem); \ + if (__s == 1) \ + __p = g_##func (__p, __n); \ + else if (__builtin_constant_p (__n) && \ + (__s == 0 || __n <= G_MAXSIZE / __s)) \ + __p = g_##func (__p, __n * __s); \ + else \ + __p = g_##func##_n (__p, __n, __s); \ + __p; \ + })) + +#else + +/* Unoptimised version: always call the _n() function. */ + +#define _G_NEW(struct_type, n_structs, func) \ + ((struct_type *) g_##func##_n ((n_structs), sizeof (struct_type))) +#define _G_RENEW(struct_type, mem, n_structs, func) \ + ((struct_type *) g_##func##_n (mem, (n_structs), sizeof (struct_type))) + +#endif + +/** + * g_new: + * @struct_type: the type of the elements to allocate + * @n_structs: the number of elements to allocate + * + * Allocates @n_structs elements of type @struct_type. + * The returned pointer is cast to a pointer to the given type. + * If @n_structs is 0 it returns %NULL. + * Care is taken to avoid overflow when calculating the size of the allocated block. + * + * Since the returned pointer is already casted to the right type, + * it is normally unnecessary to cast it explicitly, and doing + * so might hide memory allocation errors. + * + * Returns: a pointer to the allocated memory, cast to a pointer to @struct_type + */ +#define g_new(struct_type, n_structs) _G_NEW (struct_type, n_structs, malloc) +/** + * g_new0: + * @struct_type: the type of the elements to allocate. + * @n_structs: the number of elements to allocate. + * + * Allocates @n_structs elements of type @struct_type, initialized to 0's. + * The returned pointer is cast to a pointer to the given type. + * If @n_structs is 0 it returns %NULL. + * Care is taken to avoid overflow when calculating the size of the allocated block. + * + * Since the returned pointer is already casted to the right type, + * it is normally unnecessary to cast it explicitly, and doing + * so might hide memory allocation errors. + * + * Returns: a pointer to the allocated memory, cast to a pointer to @struct_type. + */ +#define g_new0(struct_type, n_structs) _G_NEW (struct_type, n_structs, malloc0) +/** + * g_renew: + * @struct_type: the type of the elements to allocate + * @mem: the currently allocated memory + * @n_structs: the number of elements to allocate + * + * Reallocates the memory pointed to by @mem, so that it now has space for + * @n_structs elements of type @struct_type. It returns the new address of + * the memory, which may have been moved. + * Care is taken to avoid overflow when calculating the size of the allocated block. + * + * Returns: a pointer to the new allocated memory, cast to a pointer to @struct_type + */ +#define g_renew(struct_type, mem, n_structs) _G_RENEW (struct_type, mem, n_structs, realloc) +/** + * g_try_new: + * @struct_type: the type of the elements to allocate + * @n_structs: the number of elements to allocate + * + * Attempts to allocate @n_structs elements of type @struct_type, and returns + * %NULL on failure. Contrast with g_new(), which aborts the program on failure. + * The returned pointer is cast to a pointer to the given type. + * The function returns %NULL when @n_structs is 0 of if an overflow occurs. + * + * Since: 2.8 + * Returns: a pointer to the allocated memory, cast to a pointer to @struct_type + */ +#define g_try_new(struct_type, n_structs) _G_NEW (struct_type, n_structs, try_malloc) +/** + * g_try_new0: + * @struct_type: the type of the elements to allocate + * @n_structs: the number of elements to allocate + * + * Attempts to allocate @n_structs elements of type @struct_type, initialized + * to 0's, and returns %NULL on failure. Contrast with g_new0(), which aborts + * the program on failure. + * The returned pointer is cast to a pointer to the given type. + * The function returns %NULL when @n_structs is 0 or if an overflow occurs. + * + * Since: 2.8 + * Returns: a pointer to the allocated memory, cast to a pointer to @struct_type + */ +#define g_try_new0(struct_type, n_structs) _G_NEW (struct_type, n_structs, try_malloc0) +/** + * g_try_renew: + * @struct_type: the type of the elements to allocate + * @mem: the currently allocated memory + * @n_structs: the number of elements to allocate + * + * Attempts to reallocate the memory pointed to by @mem, so that it now has + * space for @n_structs elements of type @struct_type, and returns %NULL on + * failure. Contrast with g_renew(), which aborts the program on failure. + * It returns the new address of the memory, which may have been moved. + * The function returns %NULL if an overflow occurs. + * + * Since: 2.8 + * Returns: a pointer to the new allocated memory, cast to a pointer to @struct_type + */ +#define g_try_renew(struct_type, mem, n_structs) _G_RENEW (struct_type, mem, n_structs, try_realloc) + + +/* Memory allocation virtualization for debugging purposes + * g_mem_set_vtable() has to be the very first GLib function called + * if being used + */ +struct _GMemVTable { + gpointer (*malloc) (gsize n_bytes); + gpointer (*realloc) (gpointer mem, + gsize n_bytes); + void (*free) (gpointer mem); + /* optional; set to NULL if not used ! */ + gpointer (*calloc) (gsize n_blocks, + gsize n_block_bytes); + gpointer (*try_malloc) (gsize n_bytes); + gpointer (*try_realloc) (gpointer mem, + gsize n_bytes); +}; +GLIB_DEPRECATED_IN_2_46 +void g_mem_set_vtable (GMemVTable *vtable); +GLIB_DEPRECATED_IN_2_46 +gboolean g_mem_is_system_malloc (void); + +GLIB_VAR gboolean g_mem_gc_friendly; + +/* Memory profiler and checker, has to be enabled via g_mem_set_vtable() + */ +GLIB_VAR GMemVTable *glib_mem_profiler_table; +GLIB_DEPRECATED_IN_2_46 +void g_mem_profile (void); + +G_END_DECLS + +#endif /* __G_MEM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gmessages.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gmessages.h new file mode 100644 index 0000000..eab6d06 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gmessages.h @@ -0,0 +1,690 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_MESSAGES_H__ +#define __G_MESSAGES_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include +#include +#include + +G_BEGIN_DECLS + +/* calculate a string size, guaranteed to fit format + args. + */ +GLIB_AVAILABLE_IN_ALL +gsize g_printf_string_upper_bound (const gchar* format, + va_list args) G_GNUC_PRINTF(1, 0); + +/* Log level shift offset for user defined + * log levels (0-7 are used by GLib). + */ +#define G_LOG_LEVEL_USER_SHIFT (8) + +/* Glib log levels and flags. + */ +typedef enum +{ + /* log flags */ + G_LOG_FLAG_RECURSION = 1 << 0, + G_LOG_FLAG_FATAL = 1 << 1, + + /* GLib log levels */ + G_LOG_LEVEL_ERROR = 1 << 2, /* always fatal */ + G_LOG_LEVEL_CRITICAL = 1 << 3, + G_LOG_LEVEL_WARNING = 1 << 4, + G_LOG_LEVEL_MESSAGE = 1 << 5, + G_LOG_LEVEL_INFO = 1 << 6, + G_LOG_LEVEL_DEBUG = 1 << 7, + + G_LOG_LEVEL_MASK = ~(G_LOG_FLAG_RECURSION | G_LOG_FLAG_FATAL) +} GLogLevelFlags; + +/* GLib log levels that are considered fatal by default */ +#define G_LOG_FATAL_MASK (G_LOG_FLAG_RECURSION | G_LOG_LEVEL_ERROR) + +typedef void (*GLogFunc) (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *message, + gpointer user_data); + +/* Logging mechanism + */ +GLIB_AVAILABLE_IN_ALL +guint g_log_set_handler (const gchar *log_domain, + GLogLevelFlags log_levels, + GLogFunc log_func, + gpointer user_data); +GLIB_AVAILABLE_IN_2_46 +guint g_log_set_handler_full (const gchar *log_domain, + GLogLevelFlags log_levels, + GLogFunc log_func, + gpointer user_data, + GDestroyNotify destroy); +GLIB_AVAILABLE_IN_ALL +void g_log_remove_handler (const gchar *log_domain, + guint handler_id); +GLIB_AVAILABLE_IN_ALL +void g_log_default_handler (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *message, + gpointer unused_data); +GLIB_AVAILABLE_IN_ALL +GLogFunc g_log_set_default_handler (GLogFunc log_func, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +void g_log (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *format, + ...) G_GNUC_PRINTF (3, 4); +GLIB_AVAILABLE_IN_ALL +void g_logv (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *format, + va_list args) G_GNUC_PRINTF(3, 0); +GLIB_AVAILABLE_IN_ALL +GLogLevelFlags g_log_set_fatal_mask (const gchar *log_domain, + GLogLevelFlags fatal_mask); +GLIB_AVAILABLE_IN_ALL +GLogLevelFlags g_log_set_always_fatal (GLogLevelFlags fatal_mask); + +/* Structured logging mechanism. */ + +/** + * GLogWriterOutput: + * @G_LOG_WRITER_HANDLED: Log writer has handled the log entry. + * @G_LOG_WRITER_UNHANDLED: Log writer could not handle the log entry. + * + * Return values from #GLogWriterFuncs to indicate whether the given log entry + * was successfully handled by the writer, or whether there was an error in + * handling it (and hence a fallback writer should be used). + * + * If a #GLogWriterFunc ignores a log entry, it should return + * %G_LOG_WRITER_HANDLED. + * + * Since: 2.50 + */ +typedef enum +{ + G_LOG_WRITER_HANDLED = 1, + G_LOG_WRITER_UNHANDLED = 0, +} GLogWriterOutput; + +/** + * GLogField: + * @key: field name (UTF-8 string) + * @value: field value (arbitrary bytes) + * @length: length of @value, in bytes, or -1 if it is nul-terminated + * + * Structure representing a single field in a structured log entry. See + * g_log_structured() for details. + * + * Log fields may contain arbitrary values, including binary with embedded nul + * bytes. If the field contains a string, the string must be UTF-8 encoded and + * have a trailing nul byte. Otherwise, @length must be set to a non-negative + * value. + * + * Since: 2.50 + */ +typedef struct _GLogField GLogField; +struct _GLogField +{ + const gchar *key; + gconstpointer value; + gssize length; +}; + +/** + * GLogWriterFunc: + * @log_level: log level of the message + * @fields: (array length=n_fields): fields forming the message + * @n_fields: number of @fields + * @user_data: user data passed to g_log_set_writer_func() + * + * Writer function for log entries. A log entry is a collection of one or more + * #GLogFields, using the standard [field names from journal + * specification](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html). + * See g_log_structured() for more information. + * + * Writer functions must ignore fields which they do not recognise, unless they + * can write arbitrary binary output, as field values may be arbitrary binary. + * + * @log_level is guaranteed to be included in @fields as the `PRIORITY` field, + * but is provided separately for convenience of deciding whether or where to + * output the log entry. + * + * Writer functions should return %G_LOG_WRITER_HANDLED if they handled the log + * message successfully or if they deliberately ignored it. If there was an + * error handling the message (for example, if the writer function is meant to + * send messages to a remote logging server and there is a network error), it + * should return %G_LOG_WRITER_UNHANDLED. This allows writer functions to be + * chained and fall back to simpler handlers in case of failure. + * + * Returns: %G_LOG_WRITER_HANDLED if the log entry was handled successfully; + * %G_LOG_WRITER_UNHANDLED otherwise + * + * Since: 2.50 + */ +typedef GLogWriterOutput (*GLogWriterFunc) (GLogLevelFlags log_level, + const GLogField *fields, + gsize n_fields, + gpointer user_data); + +GLIB_AVAILABLE_IN_2_50 +void g_log_structured (const gchar *log_domain, + GLogLevelFlags log_level, + ...); +GLIB_AVAILABLE_IN_2_50 +void g_log_structured_array (GLogLevelFlags log_level, + const GLogField *fields, + gsize n_fields); + +GLIB_AVAILABLE_IN_2_50 +void g_log_variant (const gchar *log_domain, + GLogLevelFlags log_level, + GVariant *fields); + +GLIB_AVAILABLE_IN_2_50 +void g_log_set_writer_func (GLogWriterFunc func, + gpointer user_data, + GDestroyNotify user_data_free); + +GLIB_AVAILABLE_IN_2_50 +gboolean g_log_writer_supports_color (gint output_fd); +GLIB_AVAILABLE_IN_2_50 +gboolean g_log_writer_is_journald (gint output_fd); + +GLIB_AVAILABLE_IN_2_50 +gchar *g_log_writer_format_fields (GLogLevelFlags log_level, + const GLogField *fields, + gsize n_fields, + gboolean use_color); + +GLIB_AVAILABLE_IN_2_50 +GLogWriterOutput g_log_writer_journald (GLogLevelFlags log_level, + const GLogField *fields, + gsize n_fields, + gpointer user_data); +GLIB_AVAILABLE_IN_2_50 +GLogWriterOutput g_log_writer_standard_streams (GLogLevelFlags log_level, + const GLogField *fields, + gsize n_fields, + gpointer user_data); +GLIB_AVAILABLE_IN_2_50 +GLogWriterOutput g_log_writer_default (GLogLevelFlags log_level, + const GLogField *fields, + gsize n_fields, + gpointer user_data); + +GLIB_AVAILABLE_IN_2_68 +void g_log_writer_default_set_use_stderr (gboolean use_stderr); +GLIB_AVAILABLE_IN_2_68 +gboolean g_log_writer_default_would_drop (GLogLevelFlags log_level, + const char *log_domain); + +/* G_MESSAGES_DEBUG enablement */ +GLIB_AVAILABLE_IN_2_72 +gboolean g_log_get_debug_enabled (void); +GLIB_AVAILABLE_IN_2_72 +void g_log_set_debug_enabled (gboolean enabled); + +/** + * G_DEBUG_HERE: + * + * A convenience form of g_log_structured(), recommended to be added to + * functions when debugging. It prints the current monotonic time and the code + * location using %G_STRLOC. + * + * Since: 2.50 + */ +#define G_DEBUG_HERE() \ + g_log_structured (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, \ + "CODE_FILE", __FILE__, \ + "CODE_LINE", G_STRINGIFY (__LINE__), \ + "CODE_FUNC", G_STRFUNC, \ + "MESSAGE", "%" G_GINT64_FORMAT ": %s", \ + g_get_monotonic_time (), G_STRLOC) + +/* internal */ +void _g_log_fallback_handler (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *message, + gpointer unused_data); + +/* Internal functions, used to implement the following macros */ +GLIB_AVAILABLE_IN_ALL +void g_return_if_fail_warning (const char *log_domain, + const char *pretty_function, + const char *expression) G_ANALYZER_NORETURN; +GLIB_AVAILABLE_IN_ALL +void g_warn_message (const char *domain, + const char *file, + int line, + const char *func, + const char *warnexpr) G_ANALYZER_NORETURN; +G_NORETURN +GLIB_DEPRECATED +void g_assert_warning (const char *log_domain, + const char *file, + const int line, + const char *pretty_function, + const char *expression); + +GLIB_AVAILABLE_IN_2_56 +void g_log_structured_standard (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *file, + const gchar *line, + const gchar *func, + const gchar *message_format, + ...) G_GNUC_PRINTF (6, 7); + +#ifndef G_LOG_DOMAIN +#define G_LOG_DOMAIN ((gchar*) 0) +#endif /* G_LOG_DOMAIN */ + +#if defined(G_HAVE_ISO_VARARGS) && !G_ANALYZER_ANALYZING +#if defined(G_LOG_USE_STRUCTURED) && GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_56 +#define g_error(...) G_STMT_START { \ + g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, \ + __FILE__, G_STRINGIFY (__LINE__), \ + G_STRFUNC, __VA_ARGS__); \ + for (;;) ; \ + } G_STMT_END +#define g_message(...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, \ + __FILE__, G_STRINGIFY (__LINE__), \ + G_STRFUNC, __VA_ARGS__) +#define g_critical(...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, \ + __FILE__, G_STRINGIFY (__LINE__), \ + G_STRFUNC, __VA_ARGS__) +#define g_warning(...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, \ + __FILE__, G_STRINGIFY (__LINE__), \ + G_STRFUNC, __VA_ARGS__) +#define g_info(...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, \ + __FILE__, G_STRINGIFY (__LINE__), \ + G_STRFUNC, __VA_ARGS__) +#define g_debug(...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, \ + __FILE__, G_STRINGIFY (__LINE__), \ + G_STRFUNC, __VA_ARGS__) +#else +/* for(;;) ; so that GCC knows that control doesn't go past g_error(). + * Put space before ending semicolon to avoid C++ build warnings. + */ +#define g_error(...) G_STMT_START { \ + g_log (G_LOG_DOMAIN, \ + G_LOG_LEVEL_ERROR, \ + __VA_ARGS__); \ + for (;;) ; \ + } G_STMT_END +#define g_message(...) g_log (G_LOG_DOMAIN, \ + G_LOG_LEVEL_MESSAGE, \ + __VA_ARGS__) +#define g_critical(...) g_log (G_LOG_DOMAIN, \ + G_LOG_LEVEL_CRITICAL, \ + __VA_ARGS__) +#define g_warning(...) g_log (G_LOG_DOMAIN, \ + G_LOG_LEVEL_WARNING, \ + __VA_ARGS__) +#define g_info(...) g_log (G_LOG_DOMAIN, \ + G_LOG_LEVEL_INFO, \ + __VA_ARGS__) +#define g_debug(...) g_log (G_LOG_DOMAIN, \ + G_LOG_LEVEL_DEBUG, \ + __VA_ARGS__) +#endif +#elif defined(G_HAVE_GNUC_VARARGS) && !G_ANALYZER_ANALYZING +#if defined(G_LOG_USE_STRUCTURED) && GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_56 +#define g_error(format...) G_STMT_START { \ + g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, \ + __FILE__, G_STRINGIFY (__LINE__), \ + G_STRFUNC, format); \ + for (;;) ; \ + } G_STMT_END +#define g_message(format...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, \ + __FILE__, G_STRINGIFY (__LINE__), \ + G_STRFUNC, format) +#define g_critical(format...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, \ + __FILE__, G_STRINGIFY (__LINE__), \ + G_STRFUNC, format) +#define g_warning(format...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, \ + __FILE__, G_STRINGIFY (__LINE__), \ + G_STRFUNC, format) +#define g_info(format...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, \ + __FILE__, G_STRINGIFY (__LINE__), \ + G_STRFUNC, format) +#define g_debug(format...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, \ + __FILE__, G_STRINGIFY (__LINE__), \ + G_STRFUNC, format) +#else +#define g_error(format...) G_STMT_START { \ + g_log (G_LOG_DOMAIN, \ + G_LOG_LEVEL_ERROR, \ + format); \ + for (;;) ; \ + } G_STMT_END + +#define g_message(format...) g_log (G_LOG_DOMAIN, \ + G_LOG_LEVEL_MESSAGE, \ + format) +#define g_critical(format...) g_log (G_LOG_DOMAIN, \ + G_LOG_LEVEL_CRITICAL, \ + format) +#define g_warning(format...) g_log (G_LOG_DOMAIN, \ + G_LOG_LEVEL_WARNING, \ + format) +#define g_info(format...) g_log (G_LOG_DOMAIN, \ + G_LOG_LEVEL_INFO, \ + format) +#define g_debug(format...) g_log (G_LOG_DOMAIN, \ + G_LOG_LEVEL_DEBUG, \ + format) +#endif +#else /* no varargs macros */ +G_NORETURN static void g_error (const gchar *format, ...) G_ANALYZER_NORETURN; +static void g_critical (const gchar *format, ...) G_ANALYZER_NORETURN; + +static inline void +g_error (const gchar *format, + ...) +{ + va_list args; + va_start (args, format); + g_logv (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, format, args); + va_end (args); + + for(;;) ; +} +static inline void +g_message (const gchar *format, + ...) +{ + va_list args; + va_start (args, format); + g_logv (G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, format, args); + va_end (args); +} +static inline void +g_critical (const gchar *format, + ...) +{ + va_list args; + va_start (args, format); + g_logv (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, format, args); + va_end (args); +} +static inline void +g_warning (const gchar *format, + ...) +{ + va_list args; + va_start (args, format); + g_logv (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, format, args); + va_end (args); +} +static inline void +g_info (const gchar *format, + ...) +{ + va_list args; + va_start (args, format); + g_logv (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, format, args); + va_end (args); +} +static inline void +g_debug (const gchar *format, + ...) +{ + va_list args; + va_start (args, format); + g_logv (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, format, args); + va_end (args); +} +#endif /* !__GNUC__ */ + +/** + * g_warning_once: + * @...: format string, followed by parameters to insert + * into the format string (as with printf()) + * + * Logs a warning only once. + * + * g_warning_once() calls g_warning() with the passed message the first time + * the statement is executed; subsequent times it is a no-op. + * + * Note! On platforms where the compiler doesn't support variadic macros, the + * warning is printed each time instead of only once. + * + * Since: 2.64 + */ +#if defined(G_HAVE_ISO_VARARGS) && !G_ANALYZER_ANALYZING +#define g_warning_once(...) \ + G_STMT_START { \ + static int G_PASTE (_GWarningOnceBoolean, __LINE__) = 0; /* (atomic) */ \ + if (g_atomic_int_compare_and_exchange (&G_PASTE (_GWarningOnceBoolean, __LINE__), \ + 0, 1)) \ + g_warning (__VA_ARGS__); \ + } G_STMT_END \ + GLIB_AVAILABLE_MACRO_IN_2_64 +#elif defined(G_HAVE_GNUC_VARARGS) && !G_ANALYZER_ANALYZING +#define g_warning_once(format...) \ + G_STMT_START { \ + static int G_PASTE (_GWarningOnceBoolean, __LINE__) = 0; /* (atomic) */ \ + if (g_atomic_int_compare_and_exchange (&G_PASTE (_GWarningOnceBoolean, __LINE__), \ + 0, 1)) \ + g_warning (format); \ + } G_STMT_END \ + GLIB_AVAILABLE_MACRO_IN_2_64 +#else +#define g_warning_once g_warning +#endif + +/** + * GPrintFunc: + * @string: the message to output + * + * Specifies the type of the print handler functions. + * These are called with the complete formatted string to output. + */ +typedef void (*GPrintFunc) (const gchar *string); +GLIB_AVAILABLE_IN_ALL +void g_print (const gchar *format, + ...) G_GNUC_PRINTF (1, 2); +GLIB_AVAILABLE_IN_ALL +GPrintFunc g_set_print_handler (GPrintFunc func); +GLIB_AVAILABLE_IN_ALL +void g_printerr (const gchar *format, + ...) G_GNUC_PRINTF (1, 2); +GLIB_AVAILABLE_IN_ALL +GPrintFunc g_set_printerr_handler (GPrintFunc func); + +/** + * g_warn_if_reached: + * + * Logs a warning. + * + * Since: 2.16 + */ +#define g_warn_if_reached() \ + do { \ + g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, NULL); \ + } while (0) + +/** + * g_warn_if_fail: + * @expr: the expression to check + * + * Logs a warning if the expression is not true. + * + * Since: 2.16 + */ +#define g_warn_if_fail(expr) \ + do { \ + if G_LIKELY (expr) ; \ + else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, #expr); \ + } while (0) + +#ifdef G_DISABLE_CHECKS + +/** + * g_return_if_fail: + * @expr: the expression to check + * + * Verifies that the expression @expr, usually representing a precondition, + * evaluates to %TRUE. If the function returns a value, use + * g_return_val_if_fail() instead. + * + * If @expr evaluates to %FALSE, the current function should be considered to + * have undefined behaviour (a programmer error). The only correct solution + * to such an error is to change the module that is calling the current + * function, so that it avoids this incorrect call. + * + * To make this undefined behaviour visible, if @expr evaluates to %FALSE, + * the result is usually that a critical message is logged and the current + * function returns. + * + * If `G_DISABLE_CHECKS` is defined then the check is not performed. You + * should therefore not depend on any side effects of @expr. + * + * To debug failure of a g_return_if_fail() check, run the code under a debugger + * with `G_DEBUG=fatal-criticals` or `G_DEBUG=fatal-warnings` defined in the + * environment (see [Running GLib Applications](glib-running.html)): + * + * |[ + * G_DEBUG=fatal-warnings gdb ./my-program + * ]| + * + * Any unrelated failures can be skipped over in + * [gdb](https://www.gnu.org/software/gdb/) using the `continue` command. + */ +#define g_return_if_fail(expr) G_STMT_START{ (void)0; }G_STMT_END + +/** + * g_return_val_if_fail: + * @expr: the expression to check + * @val: the value to return from the current function + * if the expression is not true + * + * Verifies that the expression @expr, usually representing a precondition, + * evaluates to %TRUE. If the function does not return a value, use + * g_return_if_fail() instead. + * + * If @expr evaluates to %FALSE, the current function should be considered to + * have undefined behaviour (a programmer error). The only correct solution + * to such an error is to change the module that is calling the current + * function, so that it avoids this incorrect call. + * + * To make this undefined behaviour visible, if @expr evaluates to %FALSE, + * the result is usually that a critical message is logged and @val is + * returned from the current function. + * + * If `G_DISABLE_CHECKS` is defined then the check is not performed. You + * should therefore not depend on any side effects of @expr. + * + * See g_return_if_fail() for guidance on how to debug failure of this check. + */ +#define g_return_val_if_fail(expr,val) G_STMT_START{ (void)0; }G_STMT_END + +/** + * g_return_if_reached: + * + * Logs a critical message and returns from the current function. + * This can only be used in functions which do not return a value. + * + * See g_return_if_fail() for guidance on how to debug failure of this check. + */ +#define g_return_if_reached() G_STMT_START{ return; }G_STMT_END + +/** + * g_return_val_if_reached: + * @val: the value to return from the current function + * + * Logs a critical message and returns @val. + * + * See g_return_if_fail() for guidance on how to debug failure of this check. + */ +#define g_return_val_if_reached(val) G_STMT_START{ return (val); }G_STMT_END + +#else /* !G_DISABLE_CHECKS */ + +#define g_return_if_fail(expr) \ + G_STMT_START { \ + if (G_LIKELY (expr)) \ + { } \ + else \ + { \ + g_return_if_fail_warning (G_LOG_DOMAIN, \ + G_STRFUNC, \ + #expr); \ + return; \ + } \ + } G_STMT_END + +#define g_return_val_if_fail(expr, val) \ + G_STMT_START { \ + if (G_LIKELY (expr)) \ + { } \ + else \ + { \ + g_return_if_fail_warning (G_LOG_DOMAIN, \ + G_STRFUNC, \ + #expr); \ + return (val); \ + } \ + } G_STMT_END + +#define g_return_if_reached() \ + G_STMT_START { \ + g_log (G_LOG_DOMAIN, \ + G_LOG_LEVEL_CRITICAL, \ + "file %s: line %d (%s): should not be reached", \ + __FILE__, \ + __LINE__, \ + G_STRFUNC); \ + return; \ + } G_STMT_END + +#define g_return_val_if_reached(val) \ + G_STMT_START { \ + g_log (G_LOG_DOMAIN, \ + G_LOG_LEVEL_CRITICAL, \ + "file %s: line %d (%s): should not be reached", \ + __FILE__, \ + __LINE__, \ + G_STRFUNC); \ + return (val); \ + } G_STMT_END + +#endif /* !G_DISABLE_CHECKS */ + +G_END_DECLS + +#endif /* __G_MESSAGES_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gnode.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gnode.h new file mode 100644 index 0000000..94ab996 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gnode.h @@ -0,0 +1,309 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_NODE_H__ +#define __G_NODE_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +typedef struct _GNode GNode; + +/* Tree traverse flags */ +typedef enum +{ + G_TRAVERSE_LEAVES = 1 << 0, + G_TRAVERSE_NON_LEAVES = 1 << 1, + G_TRAVERSE_ALL = G_TRAVERSE_LEAVES | G_TRAVERSE_NON_LEAVES, + G_TRAVERSE_MASK = 0x03, + G_TRAVERSE_LEAFS = G_TRAVERSE_LEAVES, + G_TRAVERSE_NON_LEAFS = G_TRAVERSE_NON_LEAVES +} GTraverseFlags; + +/* Tree traverse orders */ +typedef enum +{ + G_IN_ORDER, + G_PRE_ORDER, + G_POST_ORDER, + G_LEVEL_ORDER +} GTraverseType; + +typedef gboolean (*GNodeTraverseFunc) (GNode *node, + gpointer data); +typedef void (*GNodeForeachFunc) (GNode *node, + gpointer data); + +/* N-way tree implementation + */ +struct _GNode +{ + gpointer data; + GNode *next; + GNode *prev; + GNode *parent; + GNode *children; +}; + +/** + * G_NODE_IS_ROOT: + * @node: a #GNode + * + * Returns %TRUE if a #GNode is the root of a tree. + * + * Returns: %TRUE if the #GNode is the root of a tree + * (i.e. it has no parent or siblings) + */ +#define G_NODE_IS_ROOT(node) (((GNode*) (node))->parent == NULL && \ + ((GNode*) (node))->prev == NULL && \ + ((GNode*) (node))->next == NULL) + +/** + * G_NODE_IS_LEAF: + * @node: a #GNode + * + * Returns %TRUE if a #GNode is a leaf node. + * + * Returns: %TRUE if the #GNode is a leaf node + * (i.e. it has no children) + */ +#define G_NODE_IS_LEAF(node) (((GNode*) (node))->children == NULL) + +GLIB_AVAILABLE_IN_ALL +GNode* g_node_new (gpointer data); +GLIB_AVAILABLE_IN_ALL +void g_node_destroy (GNode *root); +GLIB_AVAILABLE_IN_ALL +void g_node_unlink (GNode *node); +GLIB_AVAILABLE_IN_ALL +GNode* g_node_copy_deep (GNode *node, + GCopyFunc copy_func, + gpointer data); +GLIB_AVAILABLE_IN_ALL +GNode* g_node_copy (GNode *node); +GLIB_AVAILABLE_IN_ALL +GNode* g_node_insert (GNode *parent, + gint position, + GNode *node); +GLIB_AVAILABLE_IN_ALL +GNode* g_node_insert_before (GNode *parent, + GNode *sibling, + GNode *node); +GLIB_AVAILABLE_IN_ALL +GNode* g_node_insert_after (GNode *parent, + GNode *sibling, + GNode *node); +GLIB_AVAILABLE_IN_ALL +GNode* g_node_prepend (GNode *parent, + GNode *node); +GLIB_AVAILABLE_IN_ALL +guint g_node_n_nodes (GNode *root, + GTraverseFlags flags); +GLIB_AVAILABLE_IN_ALL +GNode* g_node_get_root (GNode *node); +GLIB_AVAILABLE_IN_ALL +gboolean g_node_is_ancestor (GNode *node, + GNode *descendant); +GLIB_AVAILABLE_IN_ALL +guint g_node_depth (GNode *node); +GLIB_AVAILABLE_IN_ALL +GNode* g_node_find (GNode *root, + GTraverseType order, + GTraverseFlags flags, + gpointer data); + +/* convenience macros */ +/** + * g_node_append: + * @parent: the #GNode to place the new #GNode under + * @node: the #GNode to insert + * + * Inserts a #GNode as the last child of the given parent. + * + * Returns: the inserted #GNode + */ +#define g_node_append(parent, node) \ + g_node_insert_before ((parent), NULL, (node)) + +/** + * g_node_insert_data: + * @parent: the #GNode to place the new #GNode under + * @position: the position to place the new #GNode at. If position is -1, + * the new #GNode is inserted as the last child of @parent + * @data: the data for the new #GNode + * + * Inserts a new #GNode at the given position. + * + * Returns: the new #GNode + */ +#define g_node_insert_data(parent, position, data) \ + g_node_insert ((parent), (position), g_node_new (data)) + +/** + * g_node_insert_data_after: + * @parent: the #GNode to place the new #GNode under + * @sibling: the sibling #GNode to place the new #GNode after + * @data: the data for the new #GNode + * + * Inserts a new #GNode after the given sibling. + * + * Returns: the new #GNode + */ + +#define g_node_insert_data_after(parent, sibling, data) \ + g_node_insert_after ((parent), (sibling), g_node_new (data)) +/** + * g_node_insert_data_before: + * @parent: the #GNode to place the new #GNode under + * @sibling: the sibling #GNode to place the new #GNode before + * @data: the data for the new #GNode + * + * Inserts a new #GNode before the given sibling. + * + * Returns: the new #GNode + */ +#define g_node_insert_data_before(parent, sibling, data) \ + g_node_insert_before ((parent), (sibling), g_node_new (data)) + +/** + * g_node_prepend_data: + * @parent: the #GNode to place the new #GNode under + * @data: the data for the new #GNode + * + * Inserts a new #GNode as the first child of the given parent. + * + * Returns: the new #GNode + */ +#define g_node_prepend_data(parent, data) \ + g_node_prepend ((parent), g_node_new (data)) + +/** + * g_node_append_data: + * @parent: the #GNode to place the new #GNode under + * @data: the data for the new #GNode + * + * Inserts a new #GNode as the last child of the given parent. + * + * Returns: the new #GNode + */ +#define g_node_append_data(parent, data) \ + g_node_insert_before ((parent), NULL, g_node_new (data)) + +/* traversal function, assumes that 'node' is root + * (only traverses 'node' and its subtree). + * this function is just a high level interface to + * low level traversal functions, optimized for speed. + */ +GLIB_AVAILABLE_IN_ALL +void g_node_traverse (GNode *root, + GTraverseType order, + GTraverseFlags flags, + gint max_depth, + GNodeTraverseFunc func, + gpointer data); + +/* return the maximum tree height starting with 'node', this is an expensive + * operation, since we need to visit all nodes. this could be shortened by + * adding 'guint height' to struct _GNode, but then again, this is not very + * often needed, and would make g_node_insert() more time consuming. + */ +GLIB_AVAILABLE_IN_ALL +guint g_node_max_height (GNode *root); + +GLIB_AVAILABLE_IN_ALL +void g_node_children_foreach (GNode *node, + GTraverseFlags flags, + GNodeForeachFunc func, + gpointer data); +GLIB_AVAILABLE_IN_ALL +void g_node_reverse_children (GNode *node); +GLIB_AVAILABLE_IN_ALL +guint g_node_n_children (GNode *node); +GLIB_AVAILABLE_IN_ALL +GNode* g_node_nth_child (GNode *node, + guint n); +GLIB_AVAILABLE_IN_ALL +GNode* g_node_last_child (GNode *node); +GLIB_AVAILABLE_IN_ALL +GNode* g_node_find_child (GNode *node, + GTraverseFlags flags, + gpointer data); +GLIB_AVAILABLE_IN_ALL +gint g_node_child_position (GNode *node, + GNode *child); +GLIB_AVAILABLE_IN_ALL +gint g_node_child_index (GNode *node, + gpointer data); + +GLIB_AVAILABLE_IN_ALL +GNode* g_node_first_sibling (GNode *node); +GLIB_AVAILABLE_IN_ALL +GNode* g_node_last_sibling (GNode *node); + +/** + * g_node_prev_sibling: + * @node: a #GNode + * + * Gets the previous sibling of a #GNode. + * + * Returns: the previous sibling of @node, or %NULL if @node is the first + * node or %NULL + */ +#define g_node_prev_sibling(node) ((node) ? \ + ((GNode*) (node))->prev : NULL) + +/** + * g_node_next_sibling: + * @node: a #GNode + * + * Gets the next sibling of a #GNode. + * + * Returns: the next sibling of @node, or %NULL if @node is the last node + * or %NULL + */ +#define g_node_next_sibling(node) ((node) ? \ + ((GNode*) (node))->next : NULL) + +/** + * g_node_first_child: + * @node: a #GNode + * + * Gets the first child of a #GNode. + * + * Returns: the first child of @node, or %NULL if @node is %NULL + * or has no children + */ +#define g_node_first_child(node) ((node) ? \ + ((GNode*) (node))->children : NULL) + +G_END_DECLS + +#endif /* __G_NODE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/goption.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/goption.h new file mode 100644 index 0000000..dcb0e55 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/goption.h @@ -0,0 +1,409 @@ +/* goption.h - Option parser + * + * Copyright (C) 2004 Anders Carlsson + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef __G_OPTION_H__ +#define __G_OPTION_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +/** + * GOptionContext: + * + * A `GOptionContext` struct defines which options + * are accepted by the commandline option parser. The struct has only private + * fields and should not be directly accessed. + */ +typedef struct _GOptionContext GOptionContext; + +/** + * GOptionGroup: + * + * A `GOptionGroup` struct defines the options in a single + * group. The struct has only private fields and should not be directly accessed. + * + * All options in a group share the same translation function. Libraries which + * need to parse commandline options are expected to provide a function for + * getting a `GOptionGroup` holding their options, which + * the application can then add to its #GOptionContext. + */ +typedef struct _GOptionGroup GOptionGroup; +typedef struct _GOptionEntry GOptionEntry; + +/** + * GOptionFlags: + * @G_OPTION_FLAG_NONE: No flags. Since: 2.42. + * @G_OPTION_FLAG_HIDDEN: The option doesn't appear in `--help` output. + * @G_OPTION_FLAG_IN_MAIN: The option appears in the main section of the + * `--help` output, even if it is defined in a group. + * @G_OPTION_FLAG_REVERSE: For options of the %G_OPTION_ARG_NONE kind, this + * flag indicates that the sense of the option is reversed. i.e. %FALSE will + * be stored into the argument rather than %TRUE. + * @G_OPTION_FLAG_NO_ARG: For options of the %G_OPTION_ARG_CALLBACK kind, + * this flag indicates that the callback does not take any argument + * (like a %G_OPTION_ARG_NONE option). Since 2.8 + * @G_OPTION_FLAG_FILENAME: For options of the %G_OPTION_ARG_CALLBACK + * kind, this flag indicates that the argument should be passed to the + * callback in the GLib filename encoding rather than UTF-8. Since 2.8 + * @G_OPTION_FLAG_OPTIONAL_ARG: For options of the %G_OPTION_ARG_CALLBACK + * kind, this flag indicates that the argument supply is optional. + * If no argument is given then data of %GOptionParseFunc will be + * set to NULL. Since 2.8 + * @G_OPTION_FLAG_NOALIAS: This flag turns off the automatic conflict + * resolution which prefixes long option names with `groupname-` if + * there is a conflict. This option should only be used in situations + * where aliasing is necessary to model some legacy commandline interface. + * It is not safe to use this option, unless all option groups are under + * your direct control. Since 2.8. + * + * Flags which modify individual options. + */ +typedef enum +{ + G_OPTION_FLAG_NONE = 0, + G_OPTION_FLAG_HIDDEN = 1 << 0, + G_OPTION_FLAG_IN_MAIN = 1 << 1, + G_OPTION_FLAG_REVERSE = 1 << 2, + G_OPTION_FLAG_NO_ARG = 1 << 3, + G_OPTION_FLAG_FILENAME = 1 << 4, + G_OPTION_FLAG_OPTIONAL_ARG = 1 << 5, + G_OPTION_FLAG_NOALIAS = 1 << 6 +} GOptionFlags; + +/** + * GOptionArg: + * @G_OPTION_ARG_NONE: No extra argument. This is useful for simple flags or booleans. + * @G_OPTION_ARG_STRING: The option takes a UTF-8 string argument. + * @G_OPTION_ARG_INT: The option takes an integer argument. + * @G_OPTION_ARG_CALLBACK: The option provides a callback (of type + * #GOptionArgFunc) to parse the extra argument. + * @G_OPTION_ARG_FILENAME: The option takes a filename as argument, which will + be in the GLib filename encoding rather than UTF-8. + * @G_OPTION_ARG_STRING_ARRAY: The option takes a string argument, multiple + * uses of the option are collected into an array of strings. + * @G_OPTION_ARG_FILENAME_ARRAY: The option takes a filename as argument, + * multiple uses of the option are collected into an array of strings. + * @G_OPTION_ARG_DOUBLE: The option takes a double argument. The argument + * can be formatted either for the user's locale or for the "C" locale. + * Since 2.12 + * @G_OPTION_ARG_INT64: The option takes a 64-bit integer. Like + * %G_OPTION_ARG_INT but for larger numbers. The number can be in + * decimal base, or in hexadecimal (when prefixed with `0x`, for + * example, `0xffffffff`). Since 2.12 + * + * The #GOptionArg enum values determine which type of extra argument the + * options expect to find. If an option expects an extra argument, it can + * be specified in several ways; with a short option: `-x arg`, with a long + * option: `--name arg` or combined in a single argument: `--name=arg`. + */ +typedef enum +{ + G_OPTION_ARG_NONE, + G_OPTION_ARG_STRING, + G_OPTION_ARG_INT, + G_OPTION_ARG_CALLBACK, + G_OPTION_ARG_FILENAME, + G_OPTION_ARG_STRING_ARRAY, + G_OPTION_ARG_FILENAME_ARRAY, + G_OPTION_ARG_DOUBLE, + G_OPTION_ARG_INT64 +} GOptionArg; + +/** + * GOptionArgFunc: + * @option_name: The name of the option being parsed. This will be either a + * single dash followed by a single letter (for a short name) or two dashes + * followed by a long option name. + * @value: The value to be parsed. + * @data: User data added to the #GOptionGroup containing the option when it + * was created with g_option_group_new() + * @error: A return location for errors. The error code %G_OPTION_ERROR_FAILED + * is intended to be used for errors in #GOptionArgFunc callbacks. + * + * The type of function to be passed as callback for %G_OPTION_ARG_CALLBACK + * options. + * + * Returns: %TRUE if the option was successfully parsed, %FALSE if an error + * occurred, in which case @error should be set with g_set_error() + */ +typedef gboolean (*GOptionArgFunc) (const gchar *option_name, + const gchar *value, + gpointer data, + GError **error); + +/** + * GOptionParseFunc: + * @context: The active #GOptionContext + * @group: The group to which the function belongs + * @data: User data added to the #GOptionGroup containing the option when it + * was created with g_option_group_new() + * @error: A return location for error details + * + * The type of function that can be called before and after parsing. + * + * Returns: %TRUE if the function completed successfully, %FALSE if an error + * occurred, in which case @error should be set with g_set_error() + */ +typedef gboolean (*GOptionParseFunc) (GOptionContext *context, + GOptionGroup *group, + gpointer data, + GError **error); + +/** + * GOptionErrorFunc: + * @context: The active #GOptionContext + * @group: The group to which the function belongs + * @data: User data added to the #GOptionGroup containing the option when it + * was created with g_option_group_new() + * @error: The #GError containing details about the parse error + * + * The type of function to be used as callback when a parse error occurs. + */ +typedef void (*GOptionErrorFunc) (GOptionContext *context, + GOptionGroup *group, + gpointer data, + GError **error); + +/** + * G_OPTION_ERROR: + * + * Error domain for option parsing. Errors in this domain will + * be from the #GOptionError enumeration. See #GError for information on + * error domains. + */ +#define G_OPTION_ERROR (g_option_error_quark ()) + +/** + * GOptionError: + * @G_OPTION_ERROR_UNKNOWN_OPTION: An option was not known to the parser. + * This error will only be reported, if the parser hasn't been instructed + * to ignore unknown options, see g_option_context_set_ignore_unknown_options(). + * @G_OPTION_ERROR_BAD_VALUE: A value couldn't be parsed. + * @G_OPTION_ERROR_FAILED: A #GOptionArgFunc callback failed. + * + * Error codes returned by option parsing. + */ +typedef enum +{ + G_OPTION_ERROR_UNKNOWN_OPTION, + G_OPTION_ERROR_BAD_VALUE, + G_OPTION_ERROR_FAILED +} GOptionError; + +GLIB_AVAILABLE_IN_ALL +GQuark g_option_error_quark (void); + +/** + * GOptionEntry: + * @long_name: The long name of an option can be used to specify it + * in a commandline as `--long_name`. Every option must have a + * long name. To resolve conflicts if multiple option groups contain + * the same long name, it is also possible to specify the option as + * `--groupname-long_name`. + * @short_name: If an option has a short name, it can be specified + * `-short_name` in a commandline. @short_name must be a printable + * ASCII character different from '-', or zero if the option has no + * short name. + * @flags: Flags from #GOptionFlags + * @arg: The type of the option, as a #GOptionArg + * @arg_data: If the @arg type is %G_OPTION_ARG_CALLBACK, then @arg_data + * must point to a #GOptionArgFunc callback function, which will be + * called to handle the extra argument. Otherwise, @arg_data is a + * pointer to a location to store the value, the required type of + * the location depends on the @arg type: + * - %G_OPTION_ARG_NONE: %gboolean + * - %G_OPTION_ARG_STRING: %gchar* + * - %G_OPTION_ARG_INT: %gint + * - %G_OPTION_ARG_FILENAME: %gchar* + * - %G_OPTION_ARG_STRING_ARRAY: %gchar** + * - %G_OPTION_ARG_FILENAME_ARRAY: %gchar** + * - %G_OPTION_ARG_DOUBLE: %gdouble + * If @arg type is %G_OPTION_ARG_STRING or %G_OPTION_ARG_FILENAME, + * the location will contain a newly allocated string if the option + * was given. That string needs to be freed by the callee using g_free(). + * Likewise if @arg type is %G_OPTION_ARG_STRING_ARRAY or + * %G_OPTION_ARG_FILENAME_ARRAY, the data should be freed using g_strfreev(). + * @description: the description for the option in `--help` + * output. The @description is translated using the @translate_func + * of the group, see g_option_group_set_translation_domain(). + * @arg_description: The placeholder to use for the extra argument parsed + * by the option in `--help` output. The @arg_description is translated + * using the @translate_func of the group, see + * g_option_group_set_translation_domain(). + * + * A GOptionEntry struct defines a single option. To have an effect, they + * must be added to a #GOptionGroup with g_option_context_add_main_entries() + * or g_option_group_add_entries(). + */ +struct _GOptionEntry +{ + const gchar *long_name; + gchar short_name; + gint flags; + + GOptionArg arg; + gpointer arg_data; + + const gchar *description; + const gchar *arg_description; +}; + +/** + * G_OPTION_REMAINING: + * + * If a long option in the main group has this name, it is not treated as a + * regular option. Instead it collects all non-option arguments which would + * otherwise be left in `argv`. The option must be of type + * %G_OPTION_ARG_CALLBACK, %G_OPTION_ARG_STRING_ARRAY + * or %G_OPTION_ARG_FILENAME_ARRAY. + * + * + * Using %G_OPTION_REMAINING instead of simply scanning `argv` + * for leftover arguments has the advantage that GOption takes care of + * necessary encoding conversions for strings or filenames. + * + * Since: 2.6 + */ +#define G_OPTION_REMAINING "" + +/** + * G_OPTION_ENTRY_NULL: + * + * A #GOptionEntry array requires a %NULL terminator, this macro can + * be used as terminator instead of an explicit `{ 0 }` but it cannot + * be assigned to a variable. + * + * |[ + * GOptionEntry option[] = { G_OPTION_ENTRY_NULL }; + * ]| + * + * Since: 2.70 + */ +#define G_OPTION_ENTRY_NULL \ + GLIB_AVAILABLE_MACRO_IN_2_70 \ + { NULL, 0, 0, 0, NULL, NULL, NULL } + + +GLIB_AVAILABLE_IN_ALL +GOptionContext *g_option_context_new (const gchar *parameter_string); +GLIB_AVAILABLE_IN_ALL +void g_option_context_set_summary (GOptionContext *context, + const gchar *summary); +GLIB_AVAILABLE_IN_ALL +const gchar * g_option_context_get_summary (GOptionContext *context); +GLIB_AVAILABLE_IN_ALL +void g_option_context_set_description (GOptionContext *context, + const gchar *description); +GLIB_AVAILABLE_IN_ALL +const gchar * g_option_context_get_description (GOptionContext *context); +GLIB_AVAILABLE_IN_ALL +void g_option_context_free (GOptionContext *context); +GLIB_AVAILABLE_IN_ALL +void g_option_context_set_help_enabled (GOptionContext *context, + gboolean help_enabled); +GLIB_AVAILABLE_IN_ALL +gboolean g_option_context_get_help_enabled (GOptionContext *context); +GLIB_AVAILABLE_IN_ALL +void g_option_context_set_ignore_unknown_options (GOptionContext *context, + gboolean ignore_unknown); +GLIB_AVAILABLE_IN_ALL +gboolean g_option_context_get_ignore_unknown_options (GOptionContext *context); + +GLIB_AVAILABLE_IN_2_44 +void g_option_context_set_strict_posix (GOptionContext *context, + gboolean strict_posix); +GLIB_AVAILABLE_IN_2_44 +gboolean g_option_context_get_strict_posix (GOptionContext *context); + +GLIB_AVAILABLE_IN_ALL +void g_option_context_add_main_entries (GOptionContext *context, + const GOptionEntry *entries, + const gchar *translation_domain); +GLIB_AVAILABLE_IN_ALL +gboolean g_option_context_parse (GOptionContext *context, + gint *argc, + gchar ***argv, + GError **error); +GLIB_AVAILABLE_IN_2_40 +gboolean g_option_context_parse_strv (GOptionContext *context, + gchar ***arguments, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_option_context_set_translate_func (GOptionContext *context, + GTranslateFunc func, + gpointer data, + GDestroyNotify destroy_notify); +GLIB_AVAILABLE_IN_ALL +void g_option_context_set_translation_domain (GOptionContext *context, + const gchar *domain); + +GLIB_AVAILABLE_IN_ALL +void g_option_context_add_group (GOptionContext *context, + GOptionGroup *group); +GLIB_AVAILABLE_IN_ALL +void g_option_context_set_main_group (GOptionContext *context, + GOptionGroup *group); +GLIB_AVAILABLE_IN_ALL +GOptionGroup *g_option_context_get_main_group (GOptionContext *context); +GLIB_AVAILABLE_IN_ALL +gchar *g_option_context_get_help (GOptionContext *context, + gboolean main_help, + GOptionGroup *group); + +GLIB_AVAILABLE_IN_ALL +GOptionGroup *g_option_group_new (const gchar *name, + const gchar *description, + const gchar *help_description, + gpointer user_data, + GDestroyNotify destroy); +GLIB_AVAILABLE_IN_ALL +void g_option_group_set_parse_hooks (GOptionGroup *group, + GOptionParseFunc pre_parse_func, + GOptionParseFunc post_parse_func); +GLIB_AVAILABLE_IN_ALL +void g_option_group_set_error_hook (GOptionGroup *group, + GOptionErrorFunc error_func); +GLIB_DEPRECATED_IN_2_44 +void g_option_group_free (GOptionGroup *group); +GLIB_AVAILABLE_IN_2_44 +GOptionGroup *g_option_group_ref (GOptionGroup *group); +GLIB_AVAILABLE_IN_2_44 +void g_option_group_unref (GOptionGroup *group); +GLIB_AVAILABLE_IN_ALL +void g_option_group_add_entries (GOptionGroup *group, + const GOptionEntry *entries); +GLIB_AVAILABLE_IN_ALL +void g_option_group_set_translate_func (GOptionGroup *group, + GTranslateFunc func, + gpointer data, + GDestroyNotify destroy_notify); +GLIB_AVAILABLE_IN_ALL +void g_option_group_set_translation_domain (GOptionGroup *group, + const gchar *domain); + +G_END_DECLS + +#endif /* __G_OPTION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gpathbuf.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gpathbuf.h new file mode 100644 index 0000000..b423419 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gpathbuf.h @@ -0,0 +1,90 @@ +/* gpathbuf.h: A mutable path builder + * + * SPDX-FileCopyrightText: 2023 Emmanuele Bassi + * SPDX-License-Identifier: LGPL-2.1-or-later + */ + +#pragma once + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +typedef struct _GPathBuf GPathBuf; + +/** + * GPathBuf: (copy-func g_path_buf_copy) (free-func g_path_buf_free) + * + * A mutable path builder. + * + * Since: 2.76 + */ +struct _GPathBuf +{ + /*< private >*/ + gpointer dummy[8]; +}; + +/** + * G_PATH_BUF_INIT: + * + * Initializes a #GPathBuf on the stack. + * + * A stack-allocated `GPathBuf` must be initialized if it is used + * together with g_auto() to avoid warnings and crashes if the + * function returns before calling g_path_buf_init(). + * + * |[ + * g_auto (GPathBuf) buf = G_PATH_BUF_INIT; + * ]| + * + * Since: 2.76 + */ +#define G_PATH_BUF_INIT { { NULL, } } \ + GLIB_AVAILABLE_MACRO_IN_2_76 + +GLIB_AVAILABLE_IN_2_76 +GPathBuf * g_path_buf_new (void); +GLIB_AVAILABLE_IN_2_76 +GPathBuf * g_path_buf_new_from_path (const char *path); +GLIB_AVAILABLE_IN_2_76 +GPathBuf * g_path_buf_init (GPathBuf *buf); +GLIB_AVAILABLE_IN_2_76 +GPathBuf * g_path_buf_init_from_path (GPathBuf *buf, + const char *path); +GLIB_AVAILABLE_IN_2_76 +void g_path_buf_clear (GPathBuf *buf); +GLIB_AVAILABLE_IN_2_76 +char * g_path_buf_clear_to_path (GPathBuf *buf) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_2_76 +void g_path_buf_free (GPathBuf *buf); +GLIB_AVAILABLE_IN_2_76 +char * g_path_buf_free_to_path (GPathBuf *buf) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_2_76 +GPathBuf * g_path_buf_copy (GPathBuf *buf); + +GLIB_AVAILABLE_IN_2_76 +GPathBuf * g_path_buf_push (GPathBuf *buf, + const char *path); +GLIB_AVAILABLE_IN_2_76 +gboolean g_path_buf_pop (GPathBuf *buf); + +GLIB_AVAILABLE_IN_2_76 +gboolean g_path_buf_set_filename (GPathBuf *buf, + const char *file_name); +GLIB_AVAILABLE_IN_2_76 +gboolean g_path_buf_set_extension (GPathBuf *buf, + const char *extension); + +GLIB_AVAILABLE_IN_2_76 +char * g_path_buf_to_path (GPathBuf *buf) G_GNUC_WARN_UNUSED_RESULT; + +GLIB_AVAILABLE_IN_2_76 +gboolean g_path_buf_equal (gconstpointer v1, + gconstpointer v2); + +G_END_DECLS diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gpattern.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gpattern.h new file mode 100644 index 0000000..c8ceb84 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gpattern.h @@ -0,0 +1,65 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997, 1999 Peter Mattis, Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef __G_PATTERN_H__ +#define __G_PATTERN_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + + +typedef struct _GPatternSpec GPatternSpec; + +GLIB_AVAILABLE_IN_ALL +GPatternSpec* g_pattern_spec_new (const gchar *pattern); +GLIB_AVAILABLE_IN_ALL +void g_pattern_spec_free (GPatternSpec *pspec); +GLIB_AVAILABLE_IN_2_70 +GPatternSpec *g_pattern_spec_copy (GPatternSpec *pspec); +GLIB_AVAILABLE_IN_ALL +gboolean g_pattern_spec_equal (GPatternSpec *pspec1, + GPatternSpec *pspec2); +GLIB_AVAILABLE_IN_2_70 +gboolean g_pattern_spec_match (GPatternSpec *pspec, + gsize string_length, + const gchar *string, + const gchar *string_reversed); +GLIB_AVAILABLE_IN_2_70 +gboolean g_pattern_spec_match_string (GPatternSpec *pspec, + const gchar *string); +GLIB_DEPRECATED_IN_2_70_FOR (g_pattern_spec_match) +gboolean g_pattern_match (GPatternSpec *pspec, + guint string_length, + const gchar *string, + const gchar *string_reversed); +GLIB_DEPRECATED_IN_2_70_FOR (g_pattern_spec_match_string) +gboolean g_pattern_match_string (GPatternSpec *pspec, + const gchar *string); +GLIB_AVAILABLE_IN_ALL +gboolean g_pattern_match_simple (const gchar *pattern, + const gchar *string); + +G_END_DECLS + +#endif /* __G_PATTERN_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gpoll.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gpoll.h new file mode 100644 index 0000000..bd72bc4 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gpoll.h @@ -0,0 +1,122 @@ +/* gpoll.h - poll(2) support + * Copyright (C) 2008 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef __G_POLL_H__ +#define __G_POLL_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (__G_MAIN_H__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +/* Any definitions using GPollFD or GPollFunc are primarily + * for Unix and not guaranteed to be the compatible on all + * operating systems on which GLib runs. Right now, the + * GLib does use these functions on Win32 as well, but interprets + * them in a fairly different way than on Unix. If you use + * these definitions, you are should be prepared to recode + * for different operating systems. + * + * Note that on systems with a working poll(2), that function is used + * in place of g_poll(). Thus g_poll() must have the same signature as + * poll(), meaning GPollFD must have the same layout as struct pollfd. + * + * On Win32, the fd in a GPollFD should be Win32 HANDLE (*not* a file + * descriptor as provided by the C runtime) that can be used by + * MsgWaitForMultipleObjects. This does *not* include file handles + * from CreateFile, SOCKETs, nor pipe handles. (But you can use + * WSAEventSelect to signal events when a SOCKET is readable). + * + * On Win32, fd can also be the special value G_WIN32_MSG_HANDLE to + * indicate polling for messages. + * + * But note that G_WIN32_MSG_HANDLE GPollFDs should not be used by GDK + * (GTK) programs, as GDK itself wants to read messages and convert them + * to GDK events. + * + * So, unless you really know what you are doing, it's best not to try + * to use the main loop polling stuff for your own needs on + * Windows. + */ +typedef struct _GPollFD GPollFD; + +/** + * GPollFunc: + * @ufds: an array of #GPollFD elements + * @nfsd: the number of elements in @ufds + * @timeout_: the maximum time to wait for an event of the file descriptors. + * A negative value indicates an infinite timeout. + * + * Specifies the type of function passed to g_main_context_set_poll_func(). + * The semantics of the function should match those of the poll() system call. + * + * Returns: the number of #GPollFD elements which have events or errors + * reported, or -1 if an error occurred. + */ +typedef gint (*GPollFunc) (GPollFD *ufds, + guint nfsd, + gint timeout_); + +/** + * GPollFD: + * @fd: the file descriptor to poll (or a HANDLE on Win32) + * @events: a bitwise combination from #GIOCondition, specifying which + * events should be polled for. Typically for reading from a file + * descriptor you would use %G_IO_IN | %G_IO_HUP | %G_IO_ERR, and + * for writing you would use %G_IO_OUT | %G_IO_ERR. + * @revents: a bitwise combination of flags from #GIOCondition, returned + * from the poll() function to indicate which events occurred. + * + * Represents a file descriptor, which events to poll for, and which events + * occurred. + */ +struct _GPollFD +{ +#if defined (G_OS_WIN32) && GLIB_SIZEOF_VOID_P == 8 +#ifndef __GTK_DOC_IGNORE__ + gint64 fd; +#endif +#else + gint fd; +#endif + gushort events; + gushort revents; +}; + +/** + * G_POLLFD_FORMAT: + * + * A format specifier that can be used in printf()-style format strings + * when printing the @fd member of a #GPollFD. + */ +/* defined in glibconfig.h */ + +GLIB_AVAILABLE_IN_ALL +gint +g_poll (GPollFD *fds, + guint nfds, + gint timeout); + +G_END_DECLS + +#endif /* __G_POLL_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gprimes.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gprimes.h new file mode 100644 index 0000000..f35b5fd --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gprimes.h @@ -0,0 +1,52 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_PRIMES_H__ +#define __G_PRIMES_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/* Prime numbers. + */ + +/* This function returns prime numbers spaced by approximately 1.5-2.0 + * and is for use in resizing data structures which prefer + * prime-valued sizes. The closest spaced prime function returns the + * next largest prime, or the highest it knows about which is about + * MAXINT/4. + */ +GLIB_AVAILABLE_IN_ALL +guint g_spaced_primes_closest (guint num) G_GNUC_CONST; + +G_END_DECLS + +#endif /* __G_PRIMES_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gprintf.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gprintf.h new file mode 100644 index 0000000..78b2520 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gprintf.h @@ -0,0 +1,59 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997, 2002 Peter Mattis, Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef __G_PRINTF_H__ +#define __G_PRINTF_H__ + +#include +#include +#include + +G_BEGIN_DECLS + +GLIB_AVAILABLE_IN_ALL +gint g_printf (gchar const *format, + ...) G_GNUC_PRINTF (1, 2); +GLIB_AVAILABLE_IN_ALL +gint g_fprintf (FILE *file, + gchar const *format, + ...) G_GNUC_PRINTF (2, 3); +GLIB_AVAILABLE_IN_ALL +gint g_sprintf (gchar *string, + gchar const *format, + ...) G_GNUC_PRINTF (2, 3); + +GLIB_AVAILABLE_IN_ALL +gint g_vprintf (gchar const *format, + va_list args) G_GNUC_PRINTF(1, 0); +GLIB_AVAILABLE_IN_ALL +gint g_vfprintf (FILE *file, + gchar const *format, + va_list args) G_GNUC_PRINTF(2, 0); +GLIB_AVAILABLE_IN_ALL +gint g_vsprintf (gchar *string, + gchar const *format, + va_list args) G_GNUC_PRINTF(2, 0); +GLIB_AVAILABLE_IN_ALL +gint g_vasprintf (gchar **string, + gchar const *format, + va_list args) G_GNUC_PRINTF(2, 0); + +G_END_DECLS + +#endif /* __G_PRINTF_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gqsort.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gqsort.h new file mode 100644 index 0000000..c04c038 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gqsort.h @@ -0,0 +1,47 @@ + /* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_QSORT_H__ +#define __G_QSORT_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +GLIB_AVAILABLE_IN_ALL +void g_qsort_with_data (gconstpointer pbase, + gint total_elems, + gsize size, + GCompareDataFunc compare_func, + gpointer user_data); + +G_END_DECLS + +#endif /* __G_QSORT_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gquark.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gquark.h new file mode 100644 index 0000000..d0c4403 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gquark.h @@ -0,0 +1,70 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_QUARK_H__ +#define __G_QUARK_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +typedef guint32 GQuark; + +/* Quarks (string<->id association) + */ +GLIB_AVAILABLE_IN_ALL +GQuark g_quark_try_string (const gchar *string); +GLIB_AVAILABLE_IN_ALL +GQuark g_quark_from_static_string (const gchar *string); +GLIB_AVAILABLE_IN_ALL +GQuark g_quark_from_string (const gchar *string); +GLIB_AVAILABLE_IN_ALL +const gchar * g_quark_to_string (GQuark quark) G_GNUC_CONST; + +#define G_DEFINE_QUARK(QN, q_n) \ +GQuark \ +q_n##_quark (void) \ +{ \ + static GQuark q; \ + \ + if G_UNLIKELY (q == 0) \ + q = g_quark_from_static_string (#QN); \ + \ + return q; \ +} + +GLIB_AVAILABLE_IN_ALL +const gchar * g_intern_string (const gchar *string); +GLIB_AVAILABLE_IN_ALL +const gchar * g_intern_static_string (const gchar *string); + +G_END_DECLS + +#endif /* __G_QUARK_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gqueue.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gqueue.h new file mode 100644 index 0000000..c3a28c8 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gqueue.h @@ -0,0 +1,205 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_QUEUE_H__ +#define __G_QUEUE_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +typedef struct _GQueue GQueue; + +/** + * GQueue: + * @head: a pointer to the first element of the queue + * @tail: a pointer to the last element of the queue + * @length: the number of elements in the queue + * + * Contains the public fields of a + * [Queue][glib-Double-ended-Queues]. + */ +struct _GQueue +{ + GList *head; + GList *tail; + guint length; +}; + +/** + * G_QUEUE_INIT: + * + * A statically-allocated #GQueue must be initialized with this + * macro before it can be used. This macro can be used to initialize + * a variable, but it cannot be assigned to a variable. In that case + * you have to use g_queue_init(). + * + * |[ + * GQueue my_queue = G_QUEUE_INIT; + * ]| + * + * Since: 2.14 + */ +#define G_QUEUE_INIT { NULL, NULL, 0 } + +/* Queues + */ +GLIB_AVAILABLE_IN_ALL +GQueue* g_queue_new (void); +GLIB_AVAILABLE_IN_ALL +void g_queue_free (GQueue *queue); +GLIB_AVAILABLE_IN_ALL +void g_queue_free_full (GQueue *queue, + GDestroyNotify free_func); +GLIB_AVAILABLE_IN_ALL +void g_queue_init (GQueue *queue); +GLIB_AVAILABLE_IN_ALL +void g_queue_clear (GQueue *queue); +GLIB_AVAILABLE_IN_ALL +gboolean g_queue_is_empty (GQueue *queue); +GLIB_AVAILABLE_IN_2_60 +void g_queue_clear_full (GQueue *queue, + GDestroyNotify free_func); +GLIB_AVAILABLE_IN_ALL +guint g_queue_get_length (GQueue *queue); +GLIB_AVAILABLE_IN_ALL +void g_queue_reverse (GQueue *queue); +GLIB_AVAILABLE_IN_ALL +GQueue * g_queue_copy (GQueue *queue); +GLIB_AVAILABLE_IN_ALL +void g_queue_foreach (GQueue *queue, + GFunc func, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +GList * g_queue_find (GQueue *queue, + gconstpointer data); +GLIB_AVAILABLE_IN_ALL +GList * g_queue_find_custom (GQueue *queue, + gconstpointer data, + GCompareFunc func); +GLIB_AVAILABLE_IN_ALL +void g_queue_sort (GQueue *queue, + GCompareDataFunc compare_func, + gpointer user_data); + +GLIB_AVAILABLE_IN_ALL +void g_queue_push_head (GQueue *queue, + gpointer data); +GLIB_AVAILABLE_IN_ALL +void g_queue_push_tail (GQueue *queue, + gpointer data); +GLIB_AVAILABLE_IN_ALL +void g_queue_push_nth (GQueue *queue, + gpointer data, + gint n); +GLIB_AVAILABLE_IN_ALL +gpointer g_queue_pop_head (GQueue *queue); +GLIB_AVAILABLE_IN_ALL +gpointer g_queue_pop_tail (GQueue *queue); +GLIB_AVAILABLE_IN_ALL +gpointer g_queue_pop_nth (GQueue *queue, + guint n); +GLIB_AVAILABLE_IN_ALL +gpointer g_queue_peek_head (GQueue *queue); +GLIB_AVAILABLE_IN_ALL +gpointer g_queue_peek_tail (GQueue *queue); +GLIB_AVAILABLE_IN_ALL +gpointer g_queue_peek_nth (GQueue *queue, + guint n); +GLIB_AVAILABLE_IN_ALL +gint g_queue_index (GQueue *queue, + gconstpointer data); +GLIB_AVAILABLE_IN_ALL +gboolean g_queue_remove (GQueue *queue, + gconstpointer data); +GLIB_AVAILABLE_IN_ALL +guint g_queue_remove_all (GQueue *queue, + gconstpointer data); +GLIB_AVAILABLE_IN_ALL +void g_queue_insert_before (GQueue *queue, + GList *sibling, + gpointer data); +GLIB_AVAILABLE_IN_2_62 +void g_queue_insert_before_link + (GQueue *queue, + GList *sibling, + GList *link_); +GLIB_AVAILABLE_IN_ALL +void g_queue_insert_after (GQueue *queue, + GList *sibling, + gpointer data); +GLIB_AVAILABLE_IN_2_62 +void g_queue_insert_after_link + (GQueue *queue, + GList *sibling, + GList *link_); +GLIB_AVAILABLE_IN_ALL +void g_queue_insert_sorted (GQueue *queue, + gpointer data, + GCompareDataFunc func, + gpointer user_data); + +GLIB_AVAILABLE_IN_ALL +void g_queue_push_head_link (GQueue *queue, + GList *link_); +GLIB_AVAILABLE_IN_ALL +void g_queue_push_tail_link (GQueue *queue, + GList *link_); +GLIB_AVAILABLE_IN_ALL +void g_queue_push_nth_link (GQueue *queue, + gint n, + GList *link_); +GLIB_AVAILABLE_IN_ALL +GList* g_queue_pop_head_link (GQueue *queue); +GLIB_AVAILABLE_IN_ALL +GList* g_queue_pop_tail_link (GQueue *queue); +GLIB_AVAILABLE_IN_ALL +GList* g_queue_pop_nth_link (GQueue *queue, + guint n); +GLIB_AVAILABLE_IN_ALL +GList* g_queue_peek_head_link (GQueue *queue); +GLIB_AVAILABLE_IN_ALL +GList* g_queue_peek_tail_link (GQueue *queue); +GLIB_AVAILABLE_IN_ALL +GList* g_queue_peek_nth_link (GQueue *queue, + guint n); +GLIB_AVAILABLE_IN_ALL +gint g_queue_link_index (GQueue *queue, + GList *link_); +GLIB_AVAILABLE_IN_ALL +void g_queue_unlink (GQueue *queue, + GList *link_); +GLIB_AVAILABLE_IN_ALL +void g_queue_delete_link (GQueue *queue, + GList *link_); + +G_END_DECLS + +#endif /* __G_QUEUE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/grand.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/grand.h new file mode 100644 index 0000000..c4ae956 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/grand.h @@ -0,0 +1,101 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_RAND_H__ +#define __G_RAND_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +typedef struct _GRand GRand; + +/* GRand - a good and fast random number generator: Mersenne Twister + * see http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html for more info. + * The range functions return a value in the interval [begin, end). + * int -> [0..2^32-1] + * int_range -> [begin..end-1] + * double -> [0..1) + * double_range -> [begin..end) + */ + +GLIB_AVAILABLE_IN_ALL +GRand* g_rand_new_with_seed (guint32 seed); +GLIB_AVAILABLE_IN_ALL +GRand* g_rand_new_with_seed_array (const guint32 *seed, + guint seed_length); +GLIB_AVAILABLE_IN_ALL +GRand* g_rand_new (void); +GLIB_AVAILABLE_IN_ALL +void g_rand_free (GRand *rand_); +GLIB_AVAILABLE_IN_ALL +GRand* g_rand_copy (GRand *rand_); +GLIB_AVAILABLE_IN_ALL +void g_rand_set_seed (GRand *rand_, + guint32 seed); +GLIB_AVAILABLE_IN_ALL +void g_rand_set_seed_array (GRand *rand_, + const guint32 *seed, + guint seed_length); + +#define g_rand_boolean(rand_) ((g_rand_int (rand_) & (1 << 15)) != 0) + +GLIB_AVAILABLE_IN_ALL +guint32 g_rand_int (GRand *rand_); +GLIB_AVAILABLE_IN_ALL +gint32 g_rand_int_range (GRand *rand_, + gint32 begin, + gint32 end); +GLIB_AVAILABLE_IN_ALL +gdouble g_rand_double (GRand *rand_); +GLIB_AVAILABLE_IN_ALL +gdouble g_rand_double_range (GRand *rand_, + gdouble begin, + gdouble end); +GLIB_AVAILABLE_IN_ALL +void g_random_set_seed (guint32 seed); + +#define g_random_boolean() ((g_random_int () & (1 << 15)) != 0) + +GLIB_AVAILABLE_IN_ALL +guint32 g_random_int (void); +GLIB_AVAILABLE_IN_ALL +gint32 g_random_int_range (gint32 begin, + gint32 end); +GLIB_AVAILABLE_IN_ALL +gdouble g_random_double (void); +GLIB_AVAILABLE_IN_ALL +gdouble g_random_double_range (gdouble begin, + gdouble end); + + +G_END_DECLS + +#endif /* __G_RAND_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/grcbox.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/grcbox.h new file mode 100644 index 0000000..f101e43 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/grcbox.h @@ -0,0 +1,91 @@ +/* grcbox.h: Reference counted data + * + * Copyright 2018 Emmanuele Bassi + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#pragma once + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +GLIB_AVAILABLE_IN_2_58 +gpointer g_rc_box_alloc (gsize block_size) G_GNUC_MALLOC G_GNUC_ALLOC_SIZE(1); +GLIB_AVAILABLE_IN_2_58 +gpointer g_rc_box_alloc0 (gsize block_size) G_GNUC_MALLOC G_GNUC_ALLOC_SIZE(1); +GLIB_AVAILABLE_IN_2_58 +gpointer g_rc_box_dup (gsize block_size, + gconstpointer mem_block) G_GNUC_ALLOC_SIZE(1); +GLIB_AVAILABLE_IN_2_58 +gpointer g_rc_box_acquire (gpointer mem_block); +GLIB_AVAILABLE_IN_2_58 +void g_rc_box_release (gpointer mem_block); +GLIB_AVAILABLE_IN_2_58 +void g_rc_box_release_full (gpointer mem_block, + GDestroyNotify clear_func); + +GLIB_AVAILABLE_IN_2_58 +gsize g_rc_box_get_size (gpointer mem_block); + +GLIB_AVAILABLE_IN_2_58 +gpointer g_atomic_rc_box_alloc (gsize block_size) G_GNUC_MALLOC G_GNUC_ALLOC_SIZE(1); +GLIB_AVAILABLE_IN_2_58 +gpointer g_atomic_rc_box_alloc0 (gsize block_size) G_GNUC_MALLOC G_GNUC_ALLOC_SIZE(1); +GLIB_AVAILABLE_IN_2_58 +gpointer g_atomic_rc_box_dup (gsize block_size, + gconstpointer mem_block) G_GNUC_ALLOC_SIZE(1); +GLIB_AVAILABLE_IN_2_58 +gpointer g_atomic_rc_box_acquire (gpointer mem_block); +GLIB_AVAILABLE_IN_2_58 +void g_atomic_rc_box_release (gpointer mem_block); +GLIB_AVAILABLE_IN_2_58 +void g_atomic_rc_box_release_full (gpointer mem_block, + GDestroyNotify clear_func); + +GLIB_AVAILABLE_IN_2_58 +gsize g_atomic_rc_box_get_size (gpointer mem_block); + +#define g_rc_box_new(type) \ + ((type *) g_rc_box_alloc (sizeof (type))) +#define g_rc_box_new0(type) \ + ((type *) g_rc_box_alloc0 (sizeof (type))) +#define g_atomic_rc_box_new(type) \ + ((type *) g_atomic_rc_box_alloc (sizeof (type))) +#define g_atomic_rc_box_new0(type) \ + ((type *) g_atomic_rc_box_alloc0 (sizeof (type))) + +#if defined(glib_typeof) +/* Type check to avoid assigning references to different types */ +#define g_rc_box_acquire(mem_block) \ + ((glib_typeof (mem_block)) (g_rc_box_acquire) (mem_block)) +#define g_atomic_rc_box_acquire(mem_block) \ + ((glib_typeof (mem_block)) (g_atomic_rc_box_acquire) (mem_block)) + +/* Type check to avoid duplicating data to different types */ +#define g_rc_box_dup(block_size, mem_block) \ + ((glib_typeof (mem_block)) (g_rc_box_dup) (block_size, mem_block)) +#define g_atomic_rc_box_dup(block_size, mem_block) \ + ((glib_typeof (mem_block)) (g_atomic_rc_box_dup) (block_size, mem_block)) +#endif + +G_END_DECLS diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/grefcount.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/grefcount.h new file mode 100644 index 0000000..53b9693 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/grefcount.h @@ -0,0 +1,179 @@ +/* grefcount.h: Reference counting + * + * Copyright 2018 Emmanuele Bassi + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef __GREFCOUNT_H__ +#define __GREFCOUNT_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +GLIB_AVAILABLE_IN_2_58 +void g_ref_count_init (grefcount *rc); +GLIB_AVAILABLE_IN_2_58 +void g_ref_count_inc (grefcount *rc); +GLIB_AVAILABLE_IN_2_58 +gboolean g_ref_count_dec (grefcount *rc); +GLIB_AVAILABLE_IN_2_58 +gboolean g_ref_count_compare (grefcount *rc, + gint val); + +GLIB_AVAILABLE_IN_2_58 +void g_atomic_ref_count_init (gatomicrefcount *arc); +GLIB_AVAILABLE_IN_2_58 +void g_atomic_ref_count_inc (gatomicrefcount *arc); +GLIB_AVAILABLE_IN_2_58 +gboolean g_atomic_ref_count_dec (gatomicrefcount *arc); +GLIB_AVAILABLE_IN_2_58 +gboolean g_atomic_ref_count_compare (gatomicrefcount *arc, + gint val); + +/** + * G_REF_COUNT_INIT: + * + * Evaluates to the initial reference count for `grefcount`. + * + * This macro is useful for initializing `grefcount` fields inside + * structures, for instance: + * + * |[ + * typedef struct { + * grefcount ref_count; + * char *name; + * char *address; + * } Person; + * + * static const Person default_person = { + * .ref_count = G_REF_COUNT_INIT, + * .name = "Default name", + * .address = "Default address", + * }; + * ]| + * + * Since: 2.78 + */ +#define G_REF_COUNT_INIT -1 \ + GLIB_AVAILABLE_MACRO_IN_2_78 + +/** + * G_ATOMIC_REF_COUNT_INIT: + * + * Evaluates to the initial reference count for `gatomicrefcount`. + * + * This macro is useful for initializing `gatomicrefcount` fields inside + * structures, for instance: + * + * |[ + * typedef struct { + * gatomicrefcount ref_count; + * char *name; + * char *address; + * } Person; + * + * static const Person default_person = { + * .ref_count = G_ATOMIC_REF_COUNT_INIT, + * .name = "Default name", + * .address = "Default address", + * }; + * ]| + * + * Since: 2.78 + */ +#define G_ATOMIC_REF_COUNT_INIT 1 \ + GLIB_AVAILABLE_MACRO_IN_2_78 + +/* On GCC we can use __extension__ to inline the API without using + * ancillary functions; we only do this when disabling checks, as + * it disables warnings when saturating the reference counters + */ +#if defined(__GNUC__) && defined(G_DISABLE_CHECKS) + +# define g_ref_count_init(rc) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(rc) == sizeof (grefcount)); \ + (void) (0 ? *(rc) ^ *(rc) : 1); \ + *(rc) = -1; \ + })) + +# define g_ref_count_inc(rc) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(rc) == sizeof (grefcount)); \ + (void) (0 ? *(rc) ^ *(rc) : 1); \ + if (*(rc) == G_MININT) ; else { \ + *(rc) -= 1; \ + } \ + })) + +# define g_ref_count_dec(rc) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(rc) == sizeof (grefcount)); \ + grefcount __rc = *(rc); \ + __rc += 1; \ + if (__rc == 0) ; else { \ + *(rc) = __rc; \ + } \ + (gboolean) (__rc == 0); \ + })) + +# define g_ref_count_compare(rc,val) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(rc) == sizeof (grefcount)); \ + (void) (0 ? *(rc) ^ (val) : 1); \ + (gboolean) (*(rc) == -(val)); \ + })) + +# define g_atomic_ref_count_init(rc) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(rc) == sizeof (gatomicrefcount)); \ + (void) (0 ? *(rc) ^ *(rc) : 1); \ + *(rc) = 1; \ + })) + +# define g_atomic_ref_count_inc(rc) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(rc) == sizeof (gatomicrefcount)); \ + (void) (0 ? *(rc) ^ *(rc) : 1); \ + (void) (g_atomic_int_get (rc) == G_MAXINT ? 0 : g_atomic_int_inc ((rc))); \ + })) + +# define g_atomic_ref_count_dec(rc) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(rc) == sizeof (gatomicrefcount)); \ + (void) (0 ? *(rc) ^ *(rc) : 1); \ + g_atomic_int_dec_and_test ((rc)); \ + })) + +# define g_atomic_ref_count_compare(rc,val) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(rc) == sizeof (gatomicrefcount)); \ + (void) (0 ? *(rc) ^ (val) : 1); \ + (gboolean) (g_atomic_int_get (rc) == (val)); \ + })) + +#endif /* __GNUC__ && G_DISABLE_CHECKS */ + +G_END_DECLS + +#endif /* __GREFCOUNT_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/grefstring.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/grefstring.h new file mode 100644 index 0000000..ae7d173 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/grefstring.h @@ -0,0 +1,59 @@ +/* grefstring.h: Reference counted strings + * + * Copyright 2018 Emmanuele Bassi + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#pragma once + +#include "gmem.h" +#include "gmacros.h" + +G_BEGIN_DECLS + +GLIB_AVAILABLE_IN_2_58 +char * g_ref_string_new (const char *str); +GLIB_AVAILABLE_IN_2_58 +char * g_ref_string_new_len (const char *str, + gssize len); +GLIB_AVAILABLE_IN_2_58 +char * g_ref_string_new_intern (const char *str); + +GLIB_AVAILABLE_IN_2_58 +char * g_ref_string_acquire (char *str); +GLIB_AVAILABLE_IN_2_58 +void g_ref_string_release (char *str); + +GLIB_AVAILABLE_IN_2_58 +gsize g_ref_string_length (char *str); + +/** + * GRefString: + * + * A typedef for a reference-counted string. A pointer to a #GRefString can be + * treated like a standard `char*` array by all code, but can additionally have + * `g_ref_string_*()` methods called on it. `g_ref_string_*()` methods cannot be + * called on `char*` arrays not allocated using g_ref_string_new(). + * + * If using #GRefString with autocleanups, g_autoptr() must be used rather than + * g_autofree(), so that the reference counting metadata is also freed. + * + * Since: 2.58 + */ +typedef char GRefString; + +G_END_DECLS diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gregex.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gregex.h new file mode 100644 index 0000000..30eb387 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gregex.h @@ -0,0 +1,620 @@ +/* GRegex -- regular expression API wrapper around PCRE. + * + * Copyright (C) 1999, 2000 Scott Wimer + * Copyright (C) 2004, Matthias Clasen + * Copyright (C) 2005 - 2007, Marco Barisione + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef __G_REGEX_H__ +#define __G_REGEX_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +/** + * GRegexError: + * @G_REGEX_ERROR_COMPILE: Compilation of the regular expression failed. + * @G_REGEX_ERROR_OPTIMIZE: Optimization of the regular expression failed. + * @G_REGEX_ERROR_REPLACE: Replacement failed due to an ill-formed replacement + * string. + * @G_REGEX_ERROR_MATCH: The match process failed. + * @G_REGEX_ERROR_INTERNAL: Internal error of the regular expression engine. + * Since 2.16 + * @G_REGEX_ERROR_STRAY_BACKSLASH: "\\" at end of pattern. Since 2.16 + * @G_REGEX_ERROR_MISSING_CONTROL_CHAR: "\\c" at end of pattern. Since 2.16 + * @G_REGEX_ERROR_UNRECOGNIZED_ESCAPE: Unrecognized character follows "\\". + * Since 2.16 + * @G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER: Numbers out of order in "{}" + * quantifier. Since 2.16 + * @G_REGEX_ERROR_QUANTIFIER_TOO_BIG: Number too big in "{}" quantifier. + * Since 2.16 + * @G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS: Missing terminating "]" for + * character class. Since 2.16 + * @G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS: Invalid escape sequence + * in character class. Since 2.16 + * @G_REGEX_ERROR_RANGE_OUT_OF_ORDER: Range out of order in character class. + * Since 2.16 + * @G_REGEX_ERROR_NOTHING_TO_REPEAT: Nothing to repeat. Since 2.16 + * @G_REGEX_ERROR_UNRECOGNIZED_CHARACTER: Unrecognized character after "(?", + * "(?<" or "(?P". Since 2.16 + * @G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS: POSIX named classes are + * supported only within a class. Since 2.16 + * @G_REGEX_ERROR_UNMATCHED_PARENTHESIS: Missing terminating ")" or ")" + * without opening "(". Since 2.16 + * @G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE: Reference to non-existent + * subpattern. Since 2.16 + * @G_REGEX_ERROR_UNTERMINATED_COMMENT: Missing terminating ")" after comment. + * Since 2.16 + * @G_REGEX_ERROR_EXPRESSION_TOO_LARGE: Regular expression too large. + * Since 2.16 + * @G_REGEX_ERROR_MEMORY_ERROR: Failed to get memory. Since 2.16 + * @G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND: Lookbehind assertion is not + * fixed length. Since 2.16 + * @G_REGEX_ERROR_MALFORMED_CONDITION: Malformed number or name after "(?(". + * Since 2.16 + * @G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES: Conditional group contains + * more than two branches. Since 2.16 + * @G_REGEX_ERROR_ASSERTION_EXPECTED: Assertion expected after "(?(". + * Since 2.16 + * @G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME: Unknown POSIX class name. + * Since 2.16 + * @G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED: POSIX collating + * elements are not supported. Since 2.16 + * @G_REGEX_ERROR_HEX_CODE_TOO_LARGE: Character value in "\\x{...}" sequence + * is too large. Since 2.16 + * @G_REGEX_ERROR_INVALID_CONDITION: Invalid condition "(?(0)". Since 2.16 + * @G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND: \\C not allowed in + * lookbehind assertion. Since 2.16 + * @G_REGEX_ERROR_INFINITE_LOOP: Recursive call could loop indefinitely. + * Since 2.16 + * @G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR: Missing terminator + * in subpattern name. Since 2.16 + * @G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME: Two named subpatterns have + * the same name. Since 2.16 + * @G_REGEX_ERROR_MALFORMED_PROPERTY: Malformed "\\P" or "\\p" sequence. + * Since 2.16 + * @G_REGEX_ERROR_UNKNOWN_PROPERTY: Unknown property name after "\\P" or + * "\\p". Since 2.16 + * @G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG: Subpattern name is too long + * (maximum 32 characters). Since 2.16 + * @G_REGEX_ERROR_TOO_MANY_SUBPATTERNS: Too many named subpatterns (maximum + * 10,000). Since 2.16 + * @G_REGEX_ERROR_INVALID_OCTAL_VALUE: Octal value is greater than "\\377". + * Since 2.16 + * @G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE: "DEFINE" group contains more + * than one branch. Since 2.16 + * @G_REGEX_ERROR_DEFINE_REPETION: Repeating a "DEFINE" group is not allowed. + * This error is never raised. Since: 2.16 Deprecated: 2.34 + * @G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS: Inconsistent newline options. + * Since 2.16 + * @G_REGEX_ERROR_MISSING_BACK_REFERENCE: "\\g" is not followed by a braced, + * angle-bracketed, or quoted name or number, or by a plain number. Since: 2.16 + * @G_REGEX_ERROR_INVALID_RELATIVE_REFERENCE: relative reference must not be zero. Since: 2.34 + * @G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_FORBIDDEN: the backtracing + * control verb used does not allow an argument. Since: 2.34 + * @G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB: unknown backtracing + * control verb. Since: 2.34 + * @G_REGEX_ERROR_NUMBER_TOO_BIG: number is too big in escape sequence. Since: 2.34 + * @G_REGEX_ERROR_MISSING_SUBPATTERN_NAME: Missing subpattern name. Since: 2.34 + * @G_REGEX_ERROR_MISSING_DIGIT: Missing digit. Since 2.34 + * @G_REGEX_ERROR_INVALID_DATA_CHARACTER: In JavaScript compatibility mode, + * "[" is an invalid data character. Since: 2.34 + * @G_REGEX_ERROR_EXTRA_SUBPATTERN_NAME: different names for subpatterns of the + * same number are not allowed. Since: 2.34 + * @G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_REQUIRED: the backtracing control + * verb requires an argument. Since: 2.34 + * @G_REGEX_ERROR_INVALID_CONTROL_CHAR: "\\c" must be followed by an ASCII + * character. Since: 2.34 + * @G_REGEX_ERROR_MISSING_NAME: "\\k" is not followed by a braced, angle-bracketed, or + * quoted name. Since: 2.34 + * @G_REGEX_ERROR_NOT_SUPPORTED_IN_CLASS: "\\N" is not supported in a class. Since: 2.34 + * @G_REGEX_ERROR_TOO_MANY_FORWARD_REFERENCES: too many forward references. Since: 2.34 + * @G_REGEX_ERROR_NAME_TOO_LONG: the name is too long in "(*MARK)", "(*PRUNE)", + * "(*SKIP)", or "(*THEN)". Since: 2.34 + * @G_REGEX_ERROR_CHARACTER_VALUE_TOO_LARGE: the character value in the \\u sequence is + * too large. Since: 2.34 + * + * Error codes returned by regular expressions functions. + * + * Since: 2.14 + */ +typedef enum +{ + G_REGEX_ERROR_COMPILE, + G_REGEX_ERROR_OPTIMIZE, + G_REGEX_ERROR_REPLACE, + G_REGEX_ERROR_MATCH, + G_REGEX_ERROR_INTERNAL, + + /* These are the error codes from PCRE + 100 */ + G_REGEX_ERROR_STRAY_BACKSLASH = 101, + G_REGEX_ERROR_MISSING_CONTROL_CHAR = 102, + G_REGEX_ERROR_UNRECOGNIZED_ESCAPE = 103, + G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER = 104, + G_REGEX_ERROR_QUANTIFIER_TOO_BIG = 105, + G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS = 106, + G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS = 107, + G_REGEX_ERROR_RANGE_OUT_OF_ORDER = 108, + G_REGEX_ERROR_NOTHING_TO_REPEAT = 109, + G_REGEX_ERROR_UNRECOGNIZED_CHARACTER = 112, + G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS = 113, + G_REGEX_ERROR_UNMATCHED_PARENTHESIS = 114, + G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE = 115, + G_REGEX_ERROR_UNTERMINATED_COMMENT = 118, + G_REGEX_ERROR_EXPRESSION_TOO_LARGE = 120, + G_REGEX_ERROR_MEMORY_ERROR = 121, + G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND = 125, + G_REGEX_ERROR_MALFORMED_CONDITION = 126, + G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES = 127, + G_REGEX_ERROR_ASSERTION_EXPECTED = 128, + G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME = 130, + G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED = 131, + G_REGEX_ERROR_HEX_CODE_TOO_LARGE = 134, + G_REGEX_ERROR_INVALID_CONDITION = 135, + G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND = 136, + G_REGEX_ERROR_INFINITE_LOOP = 140, + G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR = 142, + G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME = 143, + G_REGEX_ERROR_MALFORMED_PROPERTY = 146, + G_REGEX_ERROR_UNKNOWN_PROPERTY = 147, + G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG = 148, + G_REGEX_ERROR_TOO_MANY_SUBPATTERNS = 149, + G_REGEX_ERROR_INVALID_OCTAL_VALUE = 151, + G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE = 154, + G_REGEX_ERROR_DEFINE_REPETION = 155, + G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS = 156, + G_REGEX_ERROR_MISSING_BACK_REFERENCE = 157, + G_REGEX_ERROR_INVALID_RELATIVE_REFERENCE = 158, + G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_FORBIDDEN = 159, + G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB = 160, + G_REGEX_ERROR_NUMBER_TOO_BIG = 161, + G_REGEX_ERROR_MISSING_SUBPATTERN_NAME = 162, + G_REGEX_ERROR_MISSING_DIGIT = 163, + G_REGEX_ERROR_INVALID_DATA_CHARACTER = 164, + G_REGEX_ERROR_EXTRA_SUBPATTERN_NAME = 165, + G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_REQUIRED = 166, + G_REGEX_ERROR_INVALID_CONTROL_CHAR = 168, + G_REGEX_ERROR_MISSING_NAME = 169, + G_REGEX_ERROR_NOT_SUPPORTED_IN_CLASS = 171, + G_REGEX_ERROR_TOO_MANY_FORWARD_REFERENCES = 172, + G_REGEX_ERROR_NAME_TOO_LONG = 175, + G_REGEX_ERROR_CHARACTER_VALUE_TOO_LARGE = 176 +} GRegexError; + +/** + * G_REGEX_ERROR: + * + * Error domain for regular expressions. Errors in this domain will be + * from the #GRegexError enumeration. See #GError for information on + * error domains. + * + * Since: 2.14 + */ +#define G_REGEX_ERROR g_regex_error_quark () + +GLIB_AVAILABLE_IN_ALL +GQuark g_regex_error_quark (void); + +/** + * GRegexCompileFlags: + * @G_REGEX_DEFAULT: No special options set. Since: 2.74 + * @G_REGEX_CASELESS: Letters in the pattern match both upper- and + * lowercase letters. This option can be changed within a pattern + * by a "(?i)" option setting. + * @G_REGEX_MULTILINE: By default, GRegex treats the strings as consisting + * of a single line of characters (even if it actually contains + * newlines). The "start of line" metacharacter ("^") matches only + * at the start of the string, while the "end of line" metacharacter + * ("$") matches only at the end of the string, or before a terminating + * newline (unless %G_REGEX_DOLLAR_ENDONLY is set). When + * %G_REGEX_MULTILINE is set, the "start of line" and "end of line" + * constructs match immediately following or immediately before any + * newline in the string, respectively, as well as at the very start + * and end. This can be changed within a pattern by a "(?m)" option + * setting. + * @G_REGEX_DOTALL: A dot metacharacter (".") in the pattern matches all + * characters, including newlines. Without it, newlines are excluded. + * This option can be changed within a pattern by a ("?s") option setting. + * @G_REGEX_EXTENDED: Whitespace data characters in the pattern are + * totally ignored except when escaped or inside a character class. + * Whitespace does not include the VT character (code 11). In addition, + * characters between an unescaped "#" outside a character class and + * the next newline character, inclusive, are also ignored. This can + * be changed within a pattern by a "(?x)" option setting. + * @G_REGEX_ANCHORED: The pattern is forced to be "anchored", that is, + * it is constrained to match only at the first matching point in the + * string that is being searched. This effect can also be achieved by + * appropriate constructs in the pattern itself such as the "^" + * metacharacter. + * @G_REGEX_DOLLAR_ENDONLY: A dollar metacharacter ("$") in the pattern + * matches only at the end of the string. Without this option, a + * dollar also matches immediately before the final character if + * it is a newline (but not before any other newlines). This option + * is ignored if %G_REGEX_MULTILINE is set. + * @G_REGEX_UNGREEDY: Inverts the "greediness" of the quantifiers so that + * they are not greedy by default, but become greedy if followed by "?". + * It can also be set by a "(?U)" option setting within the pattern. + * @G_REGEX_RAW: Usually strings must be valid UTF-8 strings, using this + * flag they are considered as a raw sequence of bytes. + * @G_REGEX_NO_AUTO_CAPTURE: Disables the use of numbered capturing + * parentheses in the pattern. Any opening parenthesis that is not + * followed by "?" behaves as if it were followed by "?:" but named + * parentheses can still be used for capturing (and they acquire numbers + * in the usual way). + * @G_REGEX_OPTIMIZE: Since 2.74 and the port to pcre2, requests JIT + * compilation, which, if the just-in-time compiler is available, further + * processes a compiled pattern into machine code that executes much + * faster. However, it comes at the cost of extra processing before the + * match is performed, so it is most beneficial to use this when the same + * compiled pattern is used for matching many times. Before 2.74 this + * option used the built-in non-JIT optimizations in pcre1. + * @G_REGEX_FIRSTLINE: Limits an unanchored pattern to match before (or at) the + * first newline. Since: 2.34 + * @G_REGEX_DUPNAMES: Names used to identify capturing subpatterns need not + * be unique. This can be helpful for certain types of pattern when it + * is known that only one instance of the named subpattern can ever be + * matched. + * @G_REGEX_NEWLINE_CR: Usually any newline character or character sequence is + * recognized. If this option is set, the only recognized newline character + * is '\r'. + * @G_REGEX_NEWLINE_LF: Usually any newline character or character sequence is + * recognized. If this option is set, the only recognized newline character + * is '\n'. + * @G_REGEX_NEWLINE_CRLF: Usually any newline character or character sequence is + * recognized. If this option is set, the only recognized newline character + * sequence is '\r\n'. + * @G_REGEX_NEWLINE_ANYCRLF: Usually any newline character or character sequence + * is recognized. If this option is set, the only recognized newline character + * sequences are '\r', '\n', and '\r\n'. Since: 2.34 + * @G_REGEX_BSR_ANYCRLF: Usually any newline character or character sequence + * is recognised. If this option is set, then "\R" only recognizes the newline + * characters '\r', '\n' and '\r\n'. Since: 2.34 + * @G_REGEX_JAVASCRIPT_COMPAT: Changes behaviour so that it is compatible with + * JavaScript rather than PCRE. Since GLib 2.74 this is no longer supported, + * as libpcre2 does not support it. Since: 2.34 Deprecated: 2.74 + * + * Flags specifying compile-time options. + * + * Since: 2.14 + */ +/* Remember to update G_REGEX_COMPILE_MASK in gregex.c after + * adding a new flag. + */ +typedef enum +{ + G_REGEX_DEFAULT GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 0, + G_REGEX_CASELESS = 1 << 0, + G_REGEX_MULTILINE = 1 << 1, + G_REGEX_DOTALL = 1 << 2, + G_REGEX_EXTENDED = 1 << 3, + G_REGEX_ANCHORED = 1 << 4, + G_REGEX_DOLLAR_ENDONLY = 1 << 5, + G_REGEX_UNGREEDY = 1 << 9, + G_REGEX_RAW = 1 << 11, + G_REGEX_NO_AUTO_CAPTURE = 1 << 12, + G_REGEX_OPTIMIZE = 1 << 13, + G_REGEX_FIRSTLINE = 1 << 18, + G_REGEX_DUPNAMES = 1 << 19, + G_REGEX_NEWLINE_CR = 1 << 20, + G_REGEX_NEWLINE_LF = 1 << 21, + G_REGEX_NEWLINE_CRLF = G_REGEX_NEWLINE_CR | G_REGEX_NEWLINE_LF, + G_REGEX_NEWLINE_ANYCRLF = G_REGEX_NEWLINE_CR | 1 << 22, + G_REGEX_BSR_ANYCRLF = 1 << 23, + G_REGEX_JAVASCRIPT_COMPAT GLIB_DEPRECATED_ENUMERATOR_IN_2_74 = 1 << 25 +} GRegexCompileFlags; + +/** + * GRegexMatchFlags: + * @G_REGEX_MATCH_DEFAULT: No special options set. Since: 2.74 + * @G_REGEX_MATCH_ANCHORED: The pattern is forced to be "anchored", that is, + * it is constrained to match only at the first matching point in the + * string that is being searched. This effect can also be achieved by + * appropriate constructs in the pattern itself such as the "^" + * metacharacter. + * @G_REGEX_MATCH_NOTBOL: Specifies that first character of the string is + * not the beginning of a line, so the circumflex metacharacter should + * not match before it. Setting this without %G_REGEX_MULTILINE (at + * compile time) causes circumflex never to match. This option affects + * only the behaviour of the circumflex metacharacter, it does not + * affect "\A". + * @G_REGEX_MATCH_NOTEOL: Specifies that the end of the subject string is + * not the end of a line, so the dollar metacharacter should not match + * it nor (except in multiline mode) a newline immediately before it. + * Setting this without %G_REGEX_MULTILINE (at compile time) causes + * dollar never to match. This option affects only the behaviour of + * the dollar metacharacter, it does not affect "\Z" or "\z". + * @G_REGEX_MATCH_NOTEMPTY: An empty string is not considered to be a valid + * match if this option is set. If there are alternatives in the pattern, + * they are tried. If all the alternatives match the empty string, the + * entire match fails. For example, if the pattern "a?b?" is applied to + * a string not beginning with "a" or "b", it matches the empty string + * at the start of the string. With this flag set, this match is not + * valid, so GRegex searches further into the string for occurrences + * of "a" or "b". + * @G_REGEX_MATCH_PARTIAL: Turns on the partial matching feature, for more + * documentation on partial matching see g_match_info_is_partial_match(). + * @G_REGEX_MATCH_NEWLINE_CR: Overrides the newline definition set when + * creating a new #GRegex, setting the '\r' character as line terminator. + * @G_REGEX_MATCH_NEWLINE_LF: Overrides the newline definition set when + * creating a new #GRegex, setting the '\n' character as line terminator. + * @G_REGEX_MATCH_NEWLINE_CRLF: Overrides the newline definition set when + * creating a new #GRegex, setting the '\r\n' characters sequence as line terminator. + * @G_REGEX_MATCH_NEWLINE_ANY: Overrides the newline definition set when + * creating a new #GRegex, any Unicode newline sequence + * is recognised as a newline. These are '\r', '\n' and '\rn', and the + * single characters U+000B LINE TABULATION, U+000C FORM FEED (FF), + * U+0085 NEXT LINE (NEL), U+2028 LINE SEPARATOR and + * U+2029 PARAGRAPH SEPARATOR. + * @G_REGEX_MATCH_NEWLINE_ANYCRLF: Overrides the newline definition set when + * creating a new #GRegex; any '\r', '\n', or '\r\n' character sequence + * is recognized as a newline. Since: 2.34 + * @G_REGEX_MATCH_BSR_ANYCRLF: Overrides the newline definition for "\R" set when + * creating a new #GRegex; only '\r', '\n', or '\r\n' character sequences + * are recognized as a newline by "\R". Since: 2.34 + * @G_REGEX_MATCH_BSR_ANY: Overrides the newline definition for "\R" set when + * creating a new #GRegex; any Unicode newline character or character sequence + * are recognized as a newline by "\R". These are '\r', '\n' and '\rn', and the + * single characters U+000B LINE TABULATION, U+000C FORM FEED (FF), + * U+0085 NEXT LINE (NEL), U+2028 LINE SEPARATOR and + * U+2029 PARAGRAPH SEPARATOR. Since: 2.34 + * @G_REGEX_MATCH_PARTIAL_SOFT: An alias for %G_REGEX_MATCH_PARTIAL. Since: 2.34 + * @G_REGEX_MATCH_PARTIAL_HARD: Turns on the partial matching feature. In contrast to + * to %G_REGEX_MATCH_PARTIAL_SOFT, this stops matching as soon as a partial match + * is found, without continuing to search for a possible complete match. See + * g_match_info_is_partial_match() for more information. Since: 2.34 + * @G_REGEX_MATCH_NOTEMPTY_ATSTART: Like %G_REGEX_MATCH_NOTEMPTY, but only applied to + * the start of the matched string. For anchored + * patterns this can only happen for pattern containing "\K". Since: 2.34 + * + * Flags specifying match-time options. + * + * Since: 2.14 + */ +/* Remember to update G_REGEX_MATCH_MASK in gregex.c after + * adding a new flag. */ +typedef enum +{ + G_REGEX_MATCH_DEFAULT GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 0, + G_REGEX_MATCH_ANCHORED = 1 << 4, + G_REGEX_MATCH_NOTBOL = 1 << 7, + G_REGEX_MATCH_NOTEOL = 1 << 8, + G_REGEX_MATCH_NOTEMPTY = 1 << 10, + G_REGEX_MATCH_PARTIAL = 1 << 15, + G_REGEX_MATCH_NEWLINE_CR = 1 << 20, + G_REGEX_MATCH_NEWLINE_LF = 1 << 21, + G_REGEX_MATCH_NEWLINE_CRLF = G_REGEX_MATCH_NEWLINE_CR | G_REGEX_MATCH_NEWLINE_LF, + G_REGEX_MATCH_NEWLINE_ANY = 1 << 22, + G_REGEX_MATCH_NEWLINE_ANYCRLF = G_REGEX_MATCH_NEWLINE_CR | G_REGEX_MATCH_NEWLINE_ANY, + G_REGEX_MATCH_BSR_ANYCRLF = 1 << 23, + G_REGEX_MATCH_BSR_ANY = 1 << 24, + G_REGEX_MATCH_PARTIAL_SOFT = G_REGEX_MATCH_PARTIAL, + G_REGEX_MATCH_PARTIAL_HARD = 1 << 27, + G_REGEX_MATCH_NOTEMPTY_ATSTART = 1 << 28 +} GRegexMatchFlags; + +/** + * GRegex: + * + * A GRegex is the "compiled" form of a regular expression pattern. + * This structure is opaque and its fields cannot be accessed directly. + * + * Since: 2.14 + */ +typedef struct _GRegex GRegex; + + +/** + * GMatchInfo: + * + * A GMatchInfo is an opaque struct used to return information about + * matches. + */ +typedef struct _GMatchInfo GMatchInfo; + +/** + * GRegexEvalCallback: + * @match_info: the #GMatchInfo generated by the match. + * Use g_match_info_get_regex() and g_match_info_get_string() if you + * need the #GRegex or the matched string. + * @result: a #GString containing the new string + * @user_data: user data passed to g_regex_replace_eval() + * + * Specifies the type of the function passed to g_regex_replace_eval(). + * It is called for each occurrence of the pattern in the string passed + * to g_regex_replace_eval(), and it should append the replacement to + * @result. + * + * Returns: %FALSE to continue the replacement process, %TRUE to stop it + * + * Since: 2.14 + */ +typedef gboolean (*GRegexEvalCallback) (const GMatchInfo *match_info, + GString *result, + gpointer user_data); + + +GLIB_AVAILABLE_IN_ALL +GRegex *g_regex_new (const gchar *pattern, + GRegexCompileFlags compile_options, + GRegexMatchFlags match_options, + GError **error); +GLIB_AVAILABLE_IN_ALL +GRegex *g_regex_ref (GRegex *regex); +GLIB_AVAILABLE_IN_ALL +void g_regex_unref (GRegex *regex); +GLIB_AVAILABLE_IN_ALL +const gchar *g_regex_get_pattern (const GRegex *regex); +GLIB_AVAILABLE_IN_ALL +gint g_regex_get_max_backref (const GRegex *regex); +GLIB_AVAILABLE_IN_ALL +gint g_regex_get_capture_count (const GRegex *regex); +GLIB_AVAILABLE_IN_ALL +gboolean g_regex_get_has_cr_or_lf (const GRegex *regex); +GLIB_AVAILABLE_IN_2_38 +gint g_regex_get_max_lookbehind (const GRegex *regex); +GLIB_AVAILABLE_IN_ALL +gint g_regex_get_string_number (const GRegex *regex, + const gchar *name); +GLIB_AVAILABLE_IN_ALL +gchar *g_regex_escape_string (const gchar *string, + gint length); +GLIB_AVAILABLE_IN_ALL +gchar *g_regex_escape_nul (const gchar *string, + gint length); + +GLIB_AVAILABLE_IN_ALL +GRegexCompileFlags g_regex_get_compile_flags (const GRegex *regex); +GLIB_AVAILABLE_IN_ALL +GRegexMatchFlags g_regex_get_match_flags (const GRegex *regex); + +/* Matching. */ +GLIB_AVAILABLE_IN_ALL +gboolean g_regex_match_simple (const gchar *pattern, + const gchar *string, + GRegexCompileFlags compile_options, + GRegexMatchFlags match_options); +GLIB_AVAILABLE_IN_ALL +gboolean g_regex_match (const GRegex *regex, + const gchar *string, + GRegexMatchFlags match_options, + GMatchInfo **match_info); +GLIB_AVAILABLE_IN_ALL +gboolean g_regex_match_full (const GRegex *regex, + const gchar *string, + gssize string_len, + gint start_position, + GRegexMatchFlags match_options, + GMatchInfo **match_info, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_regex_match_all (const GRegex *regex, + const gchar *string, + GRegexMatchFlags match_options, + GMatchInfo **match_info); +GLIB_AVAILABLE_IN_ALL +gboolean g_regex_match_all_full (const GRegex *regex, + const gchar *string, + gssize string_len, + gint start_position, + GRegexMatchFlags match_options, + GMatchInfo **match_info, + GError **error); + +/* String splitting. */ +GLIB_AVAILABLE_IN_ALL +gchar **g_regex_split_simple (const gchar *pattern, + const gchar *string, + GRegexCompileFlags compile_options, + GRegexMatchFlags match_options); +GLIB_AVAILABLE_IN_ALL +gchar **g_regex_split (const GRegex *regex, + const gchar *string, + GRegexMatchFlags match_options); +GLIB_AVAILABLE_IN_ALL +gchar **g_regex_split_full (const GRegex *regex, + const gchar *string, + gssize string_len, + gint start_position, + GRegexMatchFlags match_options, + gint max_tokens, + GError **error); + +/* String replacement. */ +GLIB_AVAILABLE_IN_ALL +gchar *g_regex_replace (const GRegex *regex, + const gchar *string, + gssize string_len, + gint start_position, + const gchar *replacement, + GRegexMatchFlags match_options, + GError **error); +GLIB_AVAILABLE_IN_ALL +gchar *g_regex_replace_literal (const GRegex *regex, + const gchar *string, + gssize string_len, + gint start_position, + const gchar *replacement, + GRegexMatchFlags match_options, + GError **error); +GLIB_AVAILABLE_IN_ALL +gchar *g_regex_replace_eval (const GRegex *regex, + const gchar *string, + gssize string_len, + gint start_position, + GRegexMatchFlags match_options, + GRegexEvalCallback eval, + gpointer user_data, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_regex_check_replacement (const gchar *replacement, + gboolean *has_references, + GError **error); + +/* Match info */ +GLIB_AVAILABLE_IN_ALL +GRegex *g_match_info_get_regex (const GMatchInfo *match_info); +GLIB_AVAILABLE_IN_ALL +const gchar *g_match_info_get_string (const GMatchInfo *match_info); + +GLIB_AVAILABLE_IN_ALL +GMatchInfo *g_match_info_ref (GMatchInfo *match_info); +GLIB_AVAILABLE_IN_ALL +void g_match_info_unref (GMatchInfo *match_info); +GLIB_AVAILABLE_IN_ALL +void g_match_info_free (GMatchInfo *match_info); +GLIB_AVAILABLE_IN_ALL +gboolean g_match_info_next (GMatchInfo *match_info, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_match_info_matches (const GMatchInfo *match_info); +GLIB_AVAILABLE_IN_ALL +gint g_match_info_get_match_count (const GMatchInfo *match_info); +GLIB_AVAILABLE_IN_ALL +gboolean g_match_info_is_partial_match (const GMatchInfo *match_info); +GLIB_AVAILABLE_IN_ALL +gchar *g_match_info_expand_references(const GMatchInfo *match_info, + const gchar *string_to_expand, + GError **error); +GLIB_AVAILABLE_IN_ALL +gchar *g_match_info_fetch (const GMatchInfo *match_info, + gint match_num); +GLIB_AVAILABLE_IN_ALL +gboolean g_match_info_fetch_pos (const GMatchInfo *match_info, + gint match_num, + gint *start_pos, + gint *end_pos); +GLIB_AVAILABLE_IN_ALL +gchar *g_match_info_fetch_named (const GMatchInfo *match_info, + const gchar *name); +GLIB_AVAILABLE_IN_ALL +gboolean g_match_info_fetch_named_pos (const GMatchInfo *match_info, + const gchar *name, + gint *start_pos, + gint *end_pos); +GLIB_AVAILABLE_IN_ALL +gchar **g_match_info_fetch_all (const GMatchInfo *match_info); + +G_END_DECLS + +#endif /* __G_REGEX_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gscanner.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gscanner.h new file mode 100644 index 0000000..bbad353 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gscanner.h @@ -0,0 +1,301 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_SCANNER_H__ +#define __G_SCANNER_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +typedef struct _GScanner GScanner; +typedef struct _GScannerConfig GScannerConfig; +typedef union _GTokenValue GTokenValue; + +typedef void (*GScannerMsgFunc) (GScanner *scanner, + gchar *message, + gboolean error); + +/* GScanner: Flexible lexical scanner for general purpose. + */ + +/* Character sets */ +#define G_CSET_A_2_Z "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +#define G_CSET_a_2_z "abcdefghijklmnopqrstuvwxyz" +#define G_CSET_DIGITS "0123456789" +#define G_CSET_LATINC "\300\301\302\303\304\305\306"\ + "\307\310\311\312\313\314\315\316\317\320"\ + "\321\322\323\324\325\326"\ + "\330\331\332\333\334\335\336" +#define G_CSET_LATINS "\337\340\341\342\343\344\345\346"\ + "\347\350\351\352\353\354\355\356\357\360"\ + "\361\362\363\364\365\366"\ + "\370\371\372\373\374\375\376\377" + +/* Error types */ +typedef enum +{ + G_ERR_UNKNOWN, + G_ERR_UNEXP_EOF, + G_ERR_UNEXP_EOF_IN_STRING, + G_ERR_UNEXP_EOF_IN_COMMENT, + G_ERR_NON_DIGIT_IN_CONST, + G_ERR_DIGIT_RADIX, + G_ERR_FLOAT_RADIX, + G_ERR_FLOAT_MALFORMED +} GErrorType; + +/* Token types */ +typedef enum +{ + G_TOKEN_EOF = 0, + + G_TOKEN_LEFT_PAREN = '(', + G_TOKEN_RIGHT_PAREN = ')', + G_TOKEN_LEFT_CURLY = '{', + G_TOKEN_RIGHT_CURLY = '}', + G_TOKEN_LEFT_BRACE = '[', + G_TOKEN_RIGHT_BRACE = ']', + G_TOKEN_EQUAL_SIGN = '=', + G_TOKEN_COMMA = ',', + + G_TOKEN_NONE = 256, + + G_TOKEN_ERROR, + + G_TOKEN_CHAR, + G_TOKEN_BINARY, + G_TOKEN_OCTAL, + G_TOKEN_INT, + G_TOKEN_HEX, + G_TOKEN_FLOAT, + G_TOKEN_STRING, + + G_TOKEN_SYMBOL, + G_TOKEN_IDENTIFIER, + G_TOKEN_IDENTIFIER_NULL, + + G_TOKEN_COMMENT_SINGLE, + G_TOKEN_COMMENT_MULTI, + + /*< private >*/ + G_TOKEN_LAST +} GTokenType; + +union _GTokenValue +{ + gpointer v_symbol; + gchar *v_identifier; + gulong v_binary; + gulong v_octal; + gulong v_int; + guint64 v_int64; + gdouble v_float; + gulong v_hex; + gchar *v_string; + gchar *v_comment; + guchar v_char; + guint v_error; +}; + +struct _GScannerConfig +{ + /* Character sets + */ + gchar *cset_skip_characters; /* default: " \t\n" */ + gchar *cset_identifier_first; + gchar *cset_identifier_nth; + gchar *cpair_comment_single; /* default: "#\n" */ + + /* Should symbol lookup work case sensitive? + */ + guint case_sensitive : 1; + + /* Boolean values to be adjusted "on the fly" + * to configure scanning behaviour. + */ + guint skip_comment_multi : 1; /* C like comment */ + guint skip_comment_single : 1; /* single line comment */ + guint scan_comment_multi : 1; /* scan multi line comments? */ + guint scan_identifier : 1; + guint scan_identifier_1char : 1; + guint scan_identifier_NULL : 1; + guint scan_symbols : 1; + guint scan_binary : 1; + guint scan_octal : 1; + guint scan_float : 1; + guint scan_hex : 1; /* '0x0ff0' */ + guint scan_hex_dollar : 1; /* '$0ff0' */ + guint scan_string_sq : 1; /* string: 'anything' */ + guint scan_string_dq : 1; /* string: "\\-escapes!\n" */ + guint numbers_2_int : 1; /* bin, octal, hex => int */ + guint int_2_float : 1; /* int => G_TOKEN_FLOAT? */ + guint identifier_2_string : 1; + guint char_2_token : 1; /* return G_TOKEN_CHAR? */ + guint symbol_2_token : 1; + guint scope_0_fallback : 1; /* try scope 0 on lookups? */ + guint store_int64 : 1; /* use value.v_int64 rather than v_int */ + + /*< private >*/ + guint padding_dummy; +}; + +struct _GScanner +{ + /* unused fields */ + gpointer user_data; + guint max_parse_errors; + + /* g_scanner_error() increments this field */ + guint parse_errors; + + /* name of input stream, featured by the default message handler */ + const gchar *input_name; + + /* quarked data */ + GData *qdata; + + /* link into the scanner configuration */ + GScannerConfig *config; + + /* fields filled in after g_scanner_get_next_token() */ + GTokenType token; + GTokenValue value; + guint line; + guint position; + + /* fields filled in after g_scanner_peek_next_token() */ + GTokenType next_token; + GTokenValue next_value; + guint next_line; + guint next_position; + + /*< private >*/ + /* to be considered private */ + GHashTable *symbol_table; + gint input_fd; + const gchar *text; + const gchar *text_end; + gchar *buffer; + guint scope_id; + + /*< public >*/ + /* handler function for _warn and _error */ + GScannerMsgFunc msg_handler; +}; + +GLIB_AVAILABLE_IN_ALL +GScanner* g_scanner_new (const GScannerConfig *config_templ); +GLIB_AVAILABLE_IN_ALL +void g_scanner_destroy (GScanner *scanner); +GLIB_AVAILABLE_IN_ALL +void g_scanner_input_file (GScanner *scanner, + gint input_fd); +GLIB_AVAILABLE_IN_ALL +void g_scanner_sync_file_offset (GScanner *scanner); +GLIB_AVAILABLE_IN_ALL +void g_scanner_input_text (GScanner *scanner, + const gchar *text, + guint text_len); +GLIB_AVAILABLE_IN_ALL +GTokenType g_scanner_get_next_token (GScanner *scanner); +GLIB_AVAILABLE_IN_ALL +GTokenType g_scanner_peek_next_token (GScanner *scanner); +GLIB_AVAILABLE_IN_ALL +GTokenType g_scanner_cur_token (GScanner *scanner); +GLIB_AVAILABLE_IN_ALL +GTokenValue g_scanner_cur_value (GScanner *scanner); +GLIB_AVAILABLE_IN_ALL +guint g_scanner_cur_line (GScanner *scanner); +GLIB_AVAILABLE_IN_ALL +guint g_scanner_cur_position (GScanner *scanner); +GLIB_AVAILABLE_IN_ALL +gboolean g_scanner_eof (GScanner *scanner); +GLIB_AVAILABLE_IN_ALL +guint g_scanner_set_scope (GScanner *scanner, + guint scope_id); +GLIB_AVAILABLE_IN_ALL +void g_scanner_scope_add_symbol (GScanner *scanner, + guint scope_id, + const gchar *symbol, + gpointer value); +GLIB_AVAILABLE_IN_ALL +void g_scanner_scope_remove_symbol (GScanner *scanner, + guint scope_id, + const gchar *symbol); +GLIB_AVAILABLE_IN_ALL +gpointer g_scanner_scope_lookup_symbol (GScanner *scanner, + guint scope_id, + const gchar *symbol); +GLIB_AVAILABLE_IN_ALL +void g_scanner_scope_foreach_symbol (GScanner *scanner, + guint scope_id, + GHFunc func, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +gpointer g_scanner_lookup_symbol (GScanner *scanner, + const gchar *symbol); +GLIB_AVAILABLE_IN_ALL +void g_scanner_unexp_token (GScanner *scanner, + GTokenType expected_token, + const gchar *identifier_spec, + const gchar *symbol_spec, + const gchar *symbol_name, + const gchar *message, + gint is_error); +GLIB_AVAILABLE_IN_ALL +void g_scanner_error (GScanner *scanner, + const gchar *format, + ...) G_GNUC_PRINTF (2,3); +GLIB_AVAILABLE_IN_ALL +void g_scanner_warn (GScanner *scanner, + const gchar *format, + ...) G_GNUC_PRINTF (2,3); + +/* keep downward source compatibility */ +#define g_scanner_add_symbol( scanner, symbol, value ) G_STMT_START { \ + g_scanner_scope_add_symbol ((scanner), 0, (symbol), (value)); \ +} G_STMT_END GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_scanner_scope_add_symbol) +#define g_scanner_remove_symbol( scanner, symbol ) G_STMT_START { \ + g_scanner_scope_remove_symbol ((scanner), 0, (symbol)); \ +} G_STMT_END GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_scanner_scope_remove_symbol) +#define g_scanner_foreach_symbol( scanner, func, data ) G_STMT_START { \ + g_scanner_scope_foreach_symbol ((scanner), 0, (func), (data)); \ +} G_STMT_END GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_scanner_scope_foreach_symbol) + +/* The following two functions are deprecated and will be removed in + * the next major release. They do no good. */ +#define g_scanner_freeze_symbol_table(scanner) ((void)0) GLIB_DEPRECATED_MACRO_IN_2_26 +#define g_scanner_thaw_symbol_table(scanner) ((void)0) GLIB_DEPRECATED_MACRO_IN_2_26 + +G_END_DECLS + +#endif /* __G_SCANNER_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gsequence.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gsequence.h new file mode 100644 index 0000000..c1b3404 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gsequence.h @@ -0,0 +1,175 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 + * Soeren Sandmann (sandmann@daimi.au.dk) + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef __G_SEQUENCE_H__ +#define __G_SEQUENCE_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +typedef struct _GSequence GSequence; +typedef struct _GSequenceNode GSequenceIter; + +typedef gint (* GSequenceIterCompareFunc) (GSequenceIter *a, + GSequenceIter *b, + gpointer data); + + +/* GSequence */ +GLIB_AVAILABLE_IN_ALL +GSequence * g_sequence_new (GDestroyNotify data_destroy); +GLIB_AVAILABLE_IN_ALL +void g_sequence_free (GSequence *seq); +GLIB_AVAILABLE_IN_ALL +gint g_sequence_get_length (GSequence *seq); +GLIB_AVAILABLE_IN_ALL +void g_sequence_foreach (GSequence *seq, + GFunc func, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +void g_sequence_foreach_range (GSequenceIter *begin, + GSequenceIter *end, + GFunc func, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +void g_sequence_sort (GSequence *seq, + GCompareDataFunc cmp_func, + gpointer cmp_data); +GLIB_AVAILABLE_IN_ALL +void g_sequence_sort_iter (GSequence *seq, + GSequenceIterCompareFunc cmp_func, + gpointer cmp_data); +GLIB_AVAILABLE_IN_2_48 +gboolean g_sequence_is_empty (GSequence *seq); + + +/* Getting iters */ +GLIB_AVAILABLE_IN_ALL +GSequenceIter *g_sequence_get_begin_iter (GSequence *seq); +GLIB_AVAILABLE_IN_ALL +GSequenceIter *g_sequence_get_end_iter (GSequence *seq); +GLIB_AVAILABLE_IN_ALL +GSequenceIter *g_sequence_get_iter_at_pos (GSequence *seq, + gint pos); +GLIB_AVAILABLE_IN_ALL +GSequenceIter *g_sequence_append (GSequence *seq, + gpointer data); +GLIB_AVAILABLE_IN_ALL +GSequenceIter *g_sequence_prepend (GSequence *seq, + gpointer data); +GLIB_AVAILABLE_IN_ALL +GSequenceIter *g_sequence_insert_before (GSequenceIter *iter, + gpointer data); +GLIB_AVAILABLE_IN_ALL +void g_sequence_move (GSequenceIter *src, + GSequenceIter *dest); +GLIB_AVAILABLE_IN_ALL +void g_sequence_swap (GSequenceIter *a, + GSequenceIter *b); +GLIB_AVAILABLE_IN_ALL +GSequenceIter *g_sequence_insert_sorted (GSequence *seq, + gpointer data, + GCompareDataFunc cmp_func, + gpointer cmp_data); +GLIB_AVAILABLE_IN_ALL +GSequenceIter *g_sequence_insert_sorted_iter (GSequence *seq, + gpointer data, + GSequenceIterCompareFunc iter_cmp, + gpointer cmp_data); +GLIB_AVAILABLE_IN_ALL +void g_sequence_sort_changed (GSequenceIter *iter, + GCompareDataFunc cmp_func, + gpointer cmp_data); +GLIB_AVAILABLE_IN_ALL +void g_sequence_sort_changed_iter (GSequenceIter *iter, + GSequenceIterCompareFunc iter_cmp, + gpointer cmp_data); +GLIB_AVAILABLE_IN_ALL +void g_sequence_remove (GSequenceIter *iter); +GLIB_AVAILABLE_IN_ALL +void g_sequence_remove_range (GSequenceIter *begin, + GSequenceIter *end); +GLIB_AVAILABLE_IN_ALL +void g_sequence_move_range (GSequenceIter *dest, + GSequenceIter *begin, + GSequenceIter *end); +GLIB_AVAILABLE_IN_ALL +GSequenceIter *g_sequence_search (GSequence *seq, + gpointer data, + GCompareDataFunc cmp_func, + gpointer cmp_data); +GLIB_AVAILABLE_IN_ALL +GSequenceIter *g_sequence_search_iter (GSequence *seq, + gpointer data, + GSequenceIterCompareFunc iter_cmp, + gpointer cmp_data); +GLIB_AVAILABLE_IN_ALL +GSequenceIter *g_sequence_lookup (GSequence *seq, + gpointer data, + GCompareDataFunc cmp_func, + gpointer cmp_data); +GLIB_AVAILABLE_IN_ALL +GSequenceIter *g_sequence_lookup_iter (GSequence *seq, + gpointer data, + GSequenceIterCompareFunc iter_cmp, + gpointer cmp_data); + + +/* Dereferencing */ +GLIB_AVAILABLE_IN_ALL +gpointer g_sequence_get (GSequenceIter *iter); +GLIB_AVAILABLE_IN_ALL +void g_sequence_set (GSequenceIter *iter, + gpointer data); + +/* Operations on GSequenceIter * */ +GLIB_AVAILABLE_IN_ALL +gboolean g_sequence_iter_is_begin (GSequenceIter *iter); +GLIB_AVAILABLE_IN_ALL +gboolean g_sequence_iter_is_end (GSequenceIter *iter); +GLIB_AVAILABLE_IN_ALL +GSequenceIter *g_sequence_iter_next (GSequenceIter *iter); +GLIB_AVAILABLE_IN_ALL +GSequenceIter *g_sequence_iter_prev (GSequenceIter *iter); +GLIB_AVAILABLE_IN_ALL +gint g_sequence_iter_get_position (GSequenceIter *iter); +GLIB_AVAILABLE_IN_ALL +GSequenceIter *g_sequence_iter_move (GSequenceIter *iter, + gint delta); +GLIB_AVAILABLE_IN_ALL +GSequence * g_sequence_iter_get_sequence (GSequenceIter *iter); + + +/* Search */ +GLIB_AVAILABLE_IN_ALL +gint g_sequence_iter_compare (GSequenceIter *a, + GSequenceIter *b); +GLIB_AVAILABLE_IN_ALL +GSequenceIter *g_sequence_range_get_midpoint (GSequenceIter *begin, + GSequenceIter *end); + +G_END_DECLS + +#endif /* __G_SEQUENCE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gshell.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gshell.h new file mode 100644 index 0000000..4084b69 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gshell.h @@ -0,0 +1,59 @@ +/* gshell.h - Shell-related utilities + * + * Copyright 2000 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef __G_SHELL_H__ +#define __G_SHELL_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define G_SHELL_ERROR g_shell_error_quark () + +typedef enum +{ + /* mismatched or otherwise mangled quoting */ + G_SHELL_ERROR_BAD_QUOTING, + /* string to be parsed was empty */ + G_SHELL_ERROR_EMPTY_STRING, + G_SHELL_ERROR_FAILED +} GShellError; + +GLIB_AVAILABLE_IN_ALL +GQuark g_shell_error_quark (void); + +GLIB_AVAILABLE_IN_ALL +gchar* g_shell_quote (const gchar *unquoted_string); +GLIB_AVAILABLE_IN_ALL +gchar* g_shell_unquote (const gchar *quoted_string, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_shell_parse_argv (const gchar *command_line, + gint *argcp, + gchar ***argvp, + GError **error); + +G_END_DECLS + +#endif /* __G_SHELL_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gslice.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gslice.h new file mode 100644 index 0000000..eb67786 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gslice.h @@ -0,0 +1,117 @@ +/* GLIB sliced memory - fast threaded memory chunk allocator + * Copyright (C) 2005 Tim Janik + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef __G_SLICE_H__ +#define __G_SLICE_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +/* slices - fast allocation/release of small memory blocks + */ +GLIB_AVAILABLE_IN_ALL +gpointer g_slice_alloc (gsize block_size) G_GNUC_MALLOC G_GNUC_ALLOC_SIZE(1); +GLIB_AVAILABLE_IN_ALL +gpointer g_slice_alloc0 (gsize block_size) G_GNUC_MALLOC G_GNUC_ALLOC_SIZE(1); +GLIB_AVAILABLE_IN_ALL +gpointer g_slice_copy (gsize block_size, + gconstpointer mem_block) G_GNUC_ALLOC_SIZE(1); +GLIB_AVAILABLE_IN_ALL +void g_slice_free1 (gsize block_size, + gpointer mem_block); +GLIB_AVAILABLE_IN_ALL +void g_slice_free_chain_with_offset (gsize block_size, + gpointer mem_chain, + gsize next_offset); +#define g_slice_new(type) ((type*) g_slice_alloc (sizeof (type))) + +/* Allow the compiler to inline memset(). Since the size is a constant, this + * can significantly improve performance. */ +#if defined (__GNUC__) && (__GNUC__ >= 2) && defined (__OPTIMIZE__) +# define g_slice_new0(type) \ + (type *) (G_GNUC_EXTENSION ({ \ + gsize __s = sizeof (type); \ + gpointer __p; \ + __p = g_slice_alloc (__s); \ + memset (__p, 0, __s); \ + __p; \ + })) +#else +# define g_slice_new0(type) ((type*) g_slice_alloc0 (sizeof (type))) +#endif + +/* MemoryBlockType * + * g_slice_dup (MemoryBlockType, + * MemoryBlockType *mem_block); + * g_slice_free (MemoryBlockType, + * MemoryBlockType *mem_block); + * g_slice_free_chain (MemoryBlockType, + * MemoryBlockType *first_chain_block, + * memory_block_next_field); + * pseudo prototypes for the macro + * definitions following below. + */ + +/* we go through extra hoops to ensure type safety */ +#define g_slice_dup(type, mem) \ + (1 ? (type*) g_slice_copy (sizeof (type), (mem)) \ + : ((void) ((type*) 0 == (mem)), (type*) 0)) +#define g_slice_free(type, mem) \ +G_STMT_START { \ + if (1) g_slice_free1 (sizeof (type), (mem)); \ + else (void) ((type*) 0 == (mem)); \ +} G_STMT_END +#define g_slice_free_chain(type, mem_chain, next) \ +G_STMT_START { \ + if (1) g_slice_free_chain_with_offset (sizeof (type), \ + (mem_chain), G_STRUCT_OFFSET (type, next)); \ + else (void) ((type*) 0 == (mem_chain)); \ +} G_STMT_END + +/* --- internal debugging API --- */ +typedef enum { + G_SLICE_CONFIG_ALWAYS_MALLOC = 1, + G_SLICE_CONFIG_BYPASS_MAGAZINES, + G_SLICE_CONFIG_WORKING_SET_MSECS, + G_SLICE_CONFIG_COLOR_INCREMENT, + G_SLICE_CONFIG_CHUNK_SIZES, + G_SLICE_CONFIG_CONTENTION_COUNTER +} GSliceConfig; + +GLIB_DEPRECATED_IN_2_34 +void g_slice_set_config (GSliceConfig ckey, gint64 value); +GLIB_DEPRECATED_IN_2_34 +gint64 g_slice_get_config (GSliceConfig ckey); +GLIB_DEPRECATED_IN_2_34 +gint64* g_slice_get_config_state (GSliceConfig ckey, gint64 address, guint *n_values); + +#ifdef G_ENABLE_DEBUG +GLIB_AVAILABLE_IN_ALL +void g_slice_debug_tree_statistics (void); +#endif + +G_END_DECLS + +#endif /* __G_SLICE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gslist.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gslist.h new file mode 100644 index 0000000..c8e0cf2 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gslist.h @@ -0,0 +1,166 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_SLIST_H__ +#define __G_SLIST_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +typedef struct _GSList GSList; + +struct _GSList +{ + gpointer data; + GSList *next; +}; + +/* Singly linked lists + */ +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_alloc (void) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +void g_slist_free (GSList *list); +GLIB_AVAILABLE_IN_ALL +void g_slist_free_1 (GSList *list); +#define g_slist_free1 g_slist_free_1 +GLIB_AVAILABLE_IN_ALL +void g_slist_free_full (GSList *list, + GDestroyNotify free_func); +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_append (GSList *list, + gpointer data) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_prepend (GSList *list, + gpointer data) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_insert (GSList *list, + gpointer data, + gint position) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_insert_sorted (GSList *list, + gpointer data, + GCompareFunc func) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_insert_sorted_with_data (GSList *list, + gpointer data, + GCompareDataFunc func, + gpointer user_data) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_insert_before (GSList *slist, + GSList *sibling, + gpointer data) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_concat (GSList *list1, + GSList *list2) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_remove (GSList *list, + gconstpointer data) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_remove_all (GSList *list, + gconstpointer data) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_remove_link (GSList *list, + GSList *link_) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_delete_link (GSList *list, + GSList *link_) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_reverse (GSList *list) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_copy (GSList *list) G_GNUC_WARN_UNUSED_RESULT; + +GLIB_AVAILABLE_IN_2_34 +GSList* g_slist_copy_deep (GSList *list, + GCopyFunc func, + gpointer user_data) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_nth (GSList *list, + guint n); +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_find (GSList *list, + gconstpointer data); +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_find_custom (GSList *list, + gconstpointer data, + GCompareFunc func); +GLIB_AVAILABLE_IN_ALL +gint g_slist_position (GSList *list, + GSList *llink); +GLIB_AVAILABLE_IN_ALL +gint g_slist_index (GSList *list, + gconstpointer data); +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_last (GSList *list); +GLIB_AVAILABLE_IN_ALL +guint g_slist_length (GSList *list); +GLIB_AVAILABLE_IN_ALL +void g_slist_foreach (GSList *list, + GFunc func, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_sort (GSList *list, + GCompareFunc compare_func) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +GSList* g_slist_sort_with_data (GSList *list, + GCompareDataFunc compare_func, + gpointer user_data) G_GNUC_WARN_UNUSED_RESULT; +GLIB_AVAILABLE_IN_ALL +gpointer g_slist_nth_data (GSList *list, + guint n); + +GLIB_AVAILABLE_IN_2_64 +void g_clear_slist (GSList **slist_ptr, + GDestroyNotify destroy); + +#define g_clear_slist(slist_ptr, destroy) \ + G_STMT_START { \ + GSList *_slist; \ + \ + _slist = *(slist_ptr); \ + if (_slist) \ + { \ + *slist_ptr = NULL; \ + \ + if ((destroy) != NULL) \ + g_slist_free_full (_slist, (destroy)); \ + else \ + g_slist_free (_slist); \ + } \ + } G_STMT_END \ + GLIB_AVAILABLE_MACRO_IN_2_64 + +#define g_slist_next(slist) ((slist) ? (((GSList *)(slist))->next) : NULL) + +G_END_DECLS + +#endif /* __G_SLIST_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gspawn.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gspawn.h new file mode 100644 index 0000000..a3c4aca --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gspawn.h @@ -0,0 +1,323 @@ +/* gspawn.h - Process launching + * + * Copyright 2000 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef __G_SPAWN_H__ +#define __G_SPAWN_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + + +/* I'm not sure I remember our proposed naming convention here. */ +/** + * G_SPAWN_ERROR: + * + * Error domain for spawning processes. Errors in this domain will + * be from the #GSpawnError enumeration. See #GError for information on + * error domains. + */ +#define G_SPAWN_ERROR g_spawn_error_quark () + +/** + * GSpawnError: + * @G_SPAWN_ERROR_FORK: Fork failed due to lack of memory. + * @G_SPAWN_ERROR_READ: Read or select on pipes failed. + * @G_SPAWN_ERROR_CHDIR: Changing to working directory failed. + * @G_SPAWN_ERROR_ACCES: execv() returned `EACCES` + * @G_SPAWN_ERROR_PERM: execv() returned `EPERM` + * @G_SPAWN_ERROR_TOO_BIG: execv() returned `E2BIG` + * @G_SPAWN_ERROR_2BIG: deprecated alias for %G_SPAWN_ERROR_TOO_BIG (deprecated since GLib 2.32) + * @G_SPAWN_ERROR_NOEXEC: execv() returned `ENOEXEC` + * @G_SPAWN_ERROR_NAMETOOLONG: execv() returned `ENAMETOOLONG` + * @G_SPAWN_ERROR_NOENT: execv() returned `ENOENT` + * @G_SPAWN_ERROR_NOMEM: execv() returned `ENOMEM` + * @G_SPAWN_ERROR_NOTDIR: execv() returned `ENOTDIR` + * @G_SPAWN_ERROR_LOOP: execv() returned `ELOOP` + * @G_SPAWN_ERROR_TXTBUSY: execv() returned `ETXTBUSY` + * @G_SPAWN_ERROR_IO: execv() returned `EIO` + * @G_SPAWN_ERROR_NFILE: execv() returned `ENFILE` + * @G_SPAWN_ERROR_MFILE: execv() returned `EMFILE` + * @G_SPAWN_ERROR_INVAL: execv() returned `EINVAL` + * @G_SPAWN_ERROR_ISDIR: execv() returned `EISDIR` + * @G_SPAWN_ERROR_LIBBAD: execv() returned `ELIBBAD` + * @G_SPAWN_ERROR_FAILED: Some other fatal failure, + * `error->message` should explain. + * + * Error codes returned by spawning processes. + */ +typedef enum +{ + G_SPAWN_ERROR_FORK, /* fork failed due to lack of memory */ + G_SPAWN_ERROR_READ, /* read or select on pipes failed */ + G_SPAWN_ERROR_CHDIR, /* changing to working dir failed */ + G_SPAWN_ERROR_ACCES, /* execv() returned EACCES */ + G_SPAWN_ERROR_PERM, /* execv() returned EPERM */ + G_SPAWN_ERROR_TOO_BIG,/* execv() returned E2BIG */ + G_SPAWN_ERROR_2BIG GLIB_DEPRECATED_ENUMERATOR_IN_2_32_FOR(G_SPAWN_ERROR_TOO_BIG) = G_SPAWN_ERROR_TOO_BIG, + G_SPAWN_ERROR_NOEXEC, /* execv() returned ENOEXEC */ + G_SPAWN_ERROR_NAMETOOLONG, /* "" "" ENAMETOOLONG */ + G_SPAWN_ERROR_NOENT, /* "" "" ENOENT */ + G_SPAWN_ERROR_NOMEM, /* "" "" ENOMEM */ + G_SPAWN_ERROR_NOTDIR, /* "" "" ENOTDIR */ + G_SPAWN_ERROR_LOOP, /* "" "" ELOOP */ + G_SPAWN_ERROR_TXTBUSY, /* "" "" ETXTBUSY */ + G_SPAWN_ERROR_IO, /* "" "" EIO */ + G_SPAWN_ERROR_NFILE, /* "" "" ENFILE */ + G_SPAWN_ERROR_MFILE, /* "" "" EMFLE */ + G_SPAWN_ERROR_INVAL, /* "" "" EINVAL */ + G_SPAWN_ERROR_ISDIR, /* "" "" EISDIR */ + G_SPAWN_ERROR_LIBBAD, /* "" "" ELIBBAD */ + G_SPAWN_ERROR_FAILED /* other fatal failure, error->message + * should explain + */ +} GSpawnError; + +/** + * G_SPAWN_EXIT_ERROR: + * + * Error domain used by g_spawn_check_wait_status(). The code + * will be the program exit code. + */ +#define G_SPAWN_EXIT_ERROR g_spawn_exit_error_quark () + +/** + * GSpawnChildSetupFunc: + * @data: user data passed to the function. + * + * Specifies the type of the setup function passed to g_spawn_async(), + * g_spawn_sync() and g_spawn_async_with_pipes(), which can, in very + * limited ways, be used to affect the child's execution. + * + * On POSIX platforms, the function is called in the child after GLib + * has performed all the setup it plans to perform, but before calling + * exec(). Actions taken in this function will only affect the child, + * not the parent. + * + * On Windows, the function is called in the parent. Its usefulness on + * Windows is thus questionable. In many cases executing the child setup + * function in the parent can have ill effects, and you should be very + * careful when porting software to Windows that uses child setup + * functions. + * + * However, even on POSIX, you are extremely limited in what you can + * safely do from a #GSpawnChildSetupFunc, because any mutexes that were + * held by other threads in the parent process at the time of the fork() + * will still be locked in the child process, and they will never be + * unlocked (since the threads that held them don't exist in the child). + * POSIX allows only async-signal-safe functions (see signal(7)) to be + * called in the child between fork() and exec(), which drastically limits + * the usefulness of child setup functions. + * + * In particular, it is not safe to call any function which may + * call malloc(), which includes POSIX functions such as setenv(). + * If you need to set up the child environment differently from + * the parent, you should use g_get_environ(), g_environ_setenv(), + * and g_environ_unsetenv(), and then pass the complete environment + * list to the `g_spawn...` function. + */ +typedef void (* GSpawnChildSetupFunc) (gpointer data); + +/** + * GSpawnFlags: + * @G_SPAWN_DEFAULT: no flags, default behaviour + * @G_SPAWN_LEAVE_DESCRIPTORS_OPEN: the parent's open file descriptors will + * be inherited by the child; otherwise all descriptors except stdin, + * stdout and stderr will be closed before calling exec() in the child. + * @G_SPAWN_DO_NOT_REAP_CHILD: the child will not be automatically reaped; + * you must use g_child_watch_add() yourself (or call waitpid() or handle + * `SIGCHLD` yourself), or the child will become a zombie. + * @G_SPAWN_SEARCH_PATH: `argv[0]` need not be an absolute path, it will be + * looked for in the user's `PATH`. + * @G_SPAWN_STDOUT_TO_DEV_NULL: the child's standard output will be discarded, + * instead of going to the same location as the parent's standard output. + * @G_SPAWN_STDERR_TO_DEV_NULL: the child's standard error will be discarded. + * @G_SPAWN_CHILD_INHERITS_STDIN: the child will inherit the parent's standard + * input (by default, the child's standard input is attached to `/dev/null`). + * @G_SPAWN_FILE_AND_ARGV_ZERO: the first element of `argv` is the file to + * execute, while the remaining elements are the actual argument vector + * to pass to the file. Normally g_spawn_async_with_pipes() uses `argv[0]` + * as the file to execute, and passes all of `argv` to the child. + * @G_SPAWN_SEARCH_PATH_FROM_ENVP: if `argv[0]` is not an absolute path, + * it will be looked for in the `PATH` from the passed child environment. + * Since: 2.34 + * @G_SPAWN_CLOEXEC_PIPES: create all pipes with the `O_CLOEXEC` flag set. + * Since: 2.40 + * @G_SPAWN_CHILD_INHERITS_STDOUT: the child will inherit the parent's standard output. + * Since: 2.74 + * @G_SPAWN_CHILD_INHERITS_STDERR: the child will inherit the parent's standard error. + * Since: 2.74 + * @G_SPAWN_STDIN_FROM_DEV_NULL: the child's standard input is attached to `/dev/null`. + * Since: 2.74 + * + * Flags passed to g_spawn_sync(), g_spawn_async() and g_spawn_async_with_pipes(). + */ +typedef enum +{ + G_SPAWN_DEFAULT = 0, + G_SPAWN_LEAVE_DESCRIPTORS_OPEN = 1 << 0, + G_SPAWN_DO_NOT_REAP_CHILD = 1 << 1, + /* look for argv[0] in the path i.e. use execvp() */ + G_SPAWN_SEARCH_PATH = 1 << 2, + /* Dump output to /dev/null */ + G_SPAWN_STDOUT_TO_DEV_NULL = 1 << 3, + G_SPAWN_STDERR_TO_DEV_NULL = 1 << 4, + G_SPAWN_CHILD_INHERITS_STDIN = 1 << 5, + G_SPAWN_FILE_AND_ARGV_ZERO = 1 << 6, + G_SPAWN_SEARCH_PATH_FROM_ENVP = 1 << 7, + G_SPAWN_CLOEXEC_PIPES = 1 << 8, + + /** + * G_SPAWN_CHILD_INHERITS_STDOUT: + * + * The child will inherit the parent's standard output. + * + * Since: 2.74 + */ + G_SPAWN_CHILD_INHERITS_STDOUT = 1 << 9, + + /** + * G_SPAWN_CHILD_INHERITS_STDERR: + * + * The child will inherit the parent's standard error. + * + * Since: 2.74 + */ + G_SPAWN_CHILD_INHERITS_STDERR = 1 << 10, + + /** + * G_SPAWN_STDIN_FROM_DEV_NULL: + * + * The child's standard input is attached to `/dev/null`. + * + * Since: 2.74 + */ + G_SPAWN_STDIN_FROM_DEV_NULL = 1 << 11 +} GSpawnFlags; + +GLIB_AVAILABLE_IN_ALL +GQuark g_spawn_error_quark (void); +GLIB_AVAILABLE_IN_ALL +GQuark g_spawn_exit_error_quark (void); + +GLIB_AVAILABLE_IN_ALL +gboolean g_spawn_async (const gchar *working_directory, + gchar **argv, + gchar **envp, + GSpawnFlags flags, + GSpawnChildSetupFunc child_setup, + gpointer user_data, + GPid *child_pid, + GError **error); + + +/* Opens pipes for non-NULL standard_output, standard_input, standard_error, + * and returns the parent's end of the pipes. + */ +GLIB_AVAILABLE_IN_ALL +gboolean g_spawn_async_with_pipes (const gchar *working_directory, + gchar **argv, + gchar **envp, + GSpawnFlags flags, + GSpawnChildSetupFunc child_setup, + gpointer user_data, + GPid *child_pid, + gint *standard_input, + gint *standard_output, + gint *standard_error, + GError **error); + +GLIB_AVAILABLE_IN_2_68 +gboolean g_spawn_async_with_pipes_and_fds (const gchar *working_directory, + const gchar * const *argv, + const gchar * const *envp, + GSpawnFlags flags, + GSpawnChildSetupFunc child_setup, + gpointer user_data, + gint stdin_fd, + gint stdout_fd, + gint stderr_fd, + const gint *source_fds, + const gint *target_fds, + gsize n_fds, + GPid *child_pid_out, + gint *stdin_pipe_out, + gint *stdout_pipe_out, + gint *stderr_pipe_out, + GError **error); + +/* Lets you provide fds for stdin/stdout/stderr */ +GLIB_AVAILABLE_IN_2_58 +gboolean g_spawn_async_with_fds (const gchar *working_directory, + gchar **argv, + gchar **envp, + GSpawnFlags flags, + GSpawnChildSetupFunc child_setup, + gpointer user_data, + GPid *child_pid, + gint stdin_fd, + gint stdout_fd, + gint stderr_fd, + GError **error); + +/* If standard_output or standard_error are non-NULL, the full + * standard output or error of the command will be placed there. + */ + +GLIB_AVAILABLE_IN_ALL +gboolean g_spawn_sync (const gchar *working_directory, + gchar **argv, + gchar **envp, + GSpawnFlags flags, + GSpawnChildSetupFunc child_setup, + gpointer user_data, + gchar **standard_output, + gchar **standard_error, + gint *wait_status, + GError **error); + +GLIB_AVAILABLE_IN_ALL +gboolean g_spawn_command_line_sync (const gchar *command_line, + gchar **standard_output, + gchar **standard_error, + gint *wait_status, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_spawn_command_line_async (const gchar *command_line, + GError **error); + +GLIB_AVAILABLE_IN_2_70 +gboolean g_spawn_check_wait_status (gint wait_status, + GError **error); + +GLIB_DEPRECATED_IN_2_70_FOR(g_spawn_check_wait_status) +gboolean g_spawn_check_exit_status (gint wait_status, + GError **error); + +GLIB_AVAILABLE_IN_ALL +void g_spawn_close_pid (GPid pid); + +G_END_DECLS + +#endif /* __G_SPAWN_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gstdio.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gstdio.h new file mode 100644 index 0000000..7acdb9c --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gstdio.h @@ -0,0 +1,231 @@ +/* gstdio.h - GFilename wrappers for C library functions + * + * Copyright 2004 Tor Lillqvist + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef __G_STDIO_H__ +#define __G_STDIO_H__ + +#include + +#include +#include + +G_BEGIN_DECLS + +#if (defined (__MINGW64_VERSION_MAJOR) || defined (_MSC_VER)) && !defined(_WIN64) + +/* Make it clear that we mean the struct with 32-bit st_size and + * 32-bit st_*time fields as that is how the 32-bit GLib DLL normally + * has been compiled. If you get a compiler warning when calling + * g_stat(), do take it seriously and make sure that the type of + * struct stat the code in GLib fills in matches the struct the type + * of struct stat you pass to g_stat(). To avoid hassle, to get file + * attributes just use the GIO API instead which doesn't use struct + * stat. + * + * Sure, it would be nicer to use a struct with 64-bit st_size and + * 64-bit st_*time fields, but changing that now would break ABI. And + * in MinGW, a plain "struct stat" is the one with 32-bit st_size and + * st_*time fields. + */ + +typedef struct _stat32 GStatBuf; + +#elif defined(__MINGW64_VERSION_MAJOR) && defined(_WIN64) + +typedef struct _stat64 GStatBuf; + +#else + +typedef struct stat GStatBuf; + +#endif + +#if defined(G_OS_UNIX) && !defined(G_STDIO_WRAP_ON_UNIX) + +/* Just pass on to the system functions, so there's no potential for data + * format mismatches, especially with large file interfaces. + * A few functions can't be handled in this way, since they are not defined + * in a portable system header that we could include here. + * + * G_STDIO_WRAP_ON_UNIX is not public API and its behaviour is not guaranteed + * in future. + */ + +#ifndef __GTK_DOC_IGNORE__ +#define g_chmod chmod +#define g_open open +#define g_creat creat +#define g_rename rename +#define g_mkdir mkdir +#define g_stat stat +#define g_lstat lstat +#define g_remove remove +#define g_fopen fopen +#define g_freopen freopen +#define g_fsync fsync +#define g_utime utime +#endif + +GLIB_AVAILABLE_IN_ALL +int g_access (const gchar *filename, + int mode); + +GLIB_AVAILABLE_IN_ALL +int g_chdir (const gchar *path); + +GLIB_AVAILABLE_IN_ALL +int g_unlink (const gchar *filename); + +GLIB_AVAILABLE_IN_ALL +int g_rmdir (const gchar *filename); + +#else /* ! G_OS_UNIX */ + +/* Wrappers for C library functions that take pathname arguments. On + * Unix, the pathname is a file name as it literally is in the file + * system. On well-maintained systems with consistent users who know + * what they are doing and no exchange of files with others this would + * be a well-defined encoding, preferably UTF-8. On Windows, the + * pathname is always in UTF-8, even if that is not the on-disk + * encoding, and not the encoding accepted by the C library or Win32 + * API. + */ + +GLIB_AVAILABLE_IN_ALL +int g_access (const gchar *filename, + int mode); + +GLIB_AVAILABLE_IN_ALL +int g_chmod (const gchar *filename, + int mode); + +GLIB_AVAILABLE_IN_ALL +int g_open (const gchar *filename, + int flags, + int mode); + +GLIB_AVAILABLE_IN_ALL +int g_creat (const gchar *filename, + int mode); + +GLIB_AVAILABLE_IN_ALL +int g_rename (const gchar *oldfilename, + const gchar *newfilename); + +GLIB_AVAILABLE_IN_ALL +int g_mkdir (const gchar *filename, + int mode); + +GLIB_AVAILABLE_IN_ALL +int g_chdir (const gchar *path); + +GLIB_AVAILABLE_IN_ALL +int g_stat (const gchar *filename, + GStatBuf *buf); + +GLIB_AVAILABLE_IN_ALL +int g_lstat (const gchar *filename, + GStatBuf *buf); + +GLIB_AVAILABLE_IN_ALL +int g_unlink (const gchar *filename); + +GLIB_AVAILABLE_IN_ALL +int g_remove (const gchar *filename); + +GLIB_AVAILABLE_IN_ALL +int g_rmdir (const gchar *filename); + +GLIB_AVAILABLE_IN_ALL +FILE *g_fopen (const gchar *filename, + const gchar *mode); + +GLIB_AVAILABLE_IN_ALL +FILE *g_freopen (const gchar *filename, + const gchar *mode, + FILE *stream); + +GLIB_AVAILABLE_IN_2_64 +gint g_fsync (gint fd); + +struct utimbuf; /* Don't need the real definition of struct utimbuf when just + * including this header. + */ + +GLIB_AVAILABLE_IN_ALL +int g_utime (const gchar *filename, + struct utimbuf *utb); + +#endif /* G_OS_UNIX */ + +GLIB_AVAILABLE_IN_2_36 +gboolean g_close (gint fd, + GError **error); + +GLIB_AVAILABLE_STATIC_INLINE_IN_2_76 +static inline gboolean +g_clear_fd (int *fd_ptr, + GError **error) +{ + int fd = *fd_ptr; + + *fd_ptr = -1; + + if (fd < 0) + return TRUE; + + /* Suppress "Not available before" warning */ + G_GNUC_BEGIN_IGNORE_DEPRECATIONS + return g_close (fd, error); + G_GNUC_END_IGNORE_DEPRECATIONS +} + +/* g_autofd should be defined on the same compilers where g_autofree is + * This avoids duplicating the feature-detection here. */ +#ifdef g_autofree +#ifndef __GTK_DOC_IGNORE__ +/* Not public API */ +static inline void +_g_clear_fd_ignore_error (int *fd_ptr) +{ + /* Don't overwrite thread-local errno if closing the fd fails */ + int errsv = errno; + + /* Suppress "Not available before" warning */ + G_GNUC_BEGIN_IGNORE_DEPRECATIONS + + if (!g_clear_fd (fd_ptr, NULL)) + { + /* Do nothing: we ignore all errors, except for EBADF which + * is a programming error, checked for by g_close(). */ + } + + G_GNUC_END_IGNORE_DEPRECATIONS + + errno = errsv; +} +#endif + +#define g_autofd _GLIB_CLEANUP(_g_clear_fd_ignore_error) GLIB_AVAILABLE_MACRO_IN_2_76 +#endif + +G_END_DECLS + +#endif /* __G_STDIO_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gstrfuncs.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gstrfuncs.h new file mode 100644 index 0000000..cb021b6 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gstrfuncs.h @@ -0,0 +1,504 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_STRFUNCS_H__ +#define __G_STRFUNCS_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +#include +#include +#include +#include + +G_BEGIN_DECLS + +/* Functions like the ones in that are not affected by locale. */ +typedef enum { + G_ASCII_ALNUM = 1 << 0, + G_ASCII_ALPHA = 1 << 1, + G_ASCII_CNTRL = 1 << 2, + G_ASCII_DIGIT = 1 << 3, + G_ASCII_GRAPH = 1 << 4, + G_ASCII_LOWER = 1 << 5, + G_ASCII_PRINT = 1 << 6, + G_ASCII_PUNCT = 1 << 7, + G_ASCII_SPACE = 1 << 8, + G_ASCII_UPPER = 1 << 9, + G_ASCII_XDIGIT = 1 << 10 +} GAsciiType; + +GLIB_VAR const guint16 * const g_ascii_table; + +#define g_ascii_isalnum(c) \ + ((g_ascii_table[(guchar) (c)] & G_ASCII_ALNUM) != 0) + +#define g_ascii_isalpha(c) \ + ((g_ascii_table[(guchar) (c)] & G_ASCII_ALPHA) != 0) + +#define g_ascii_iscntrl(c) \ + ((g_ascii_table[(guchar) (c)] & G_ASCII_CNTRL) != 0) + +#define g_ascii_isdigit(c) \ + ((g_ascii_table[(guchar) (c)] & G_ASCII_DIGIT) != 0) + +#define g_ascii_isgraph(c) \ + ((g_ascii_table[(guchar) (c)] & G_ASCII_GRAPH) != 0) + +#define g_ascii_islower(c) \ + ((g_ascii_table[(guchar) (c)] & G_ASCII_LOWER) != 0) + +#define g_ascii_isprint(c) \ + ((g_ascii_table[(guchar) (c)] & G_ASCII_PRINT) != 0) + +#define g_ascii_ispunct(c) \ + ((g_ascii_table[(guchar) (c)] & G_ASCII_PUNCT) != 0) + +#define g_ascii_isspace(c) \ + ((g_ascii_table[(guchar) (c)] & G_ASCII_SPACE) != 0) + +#define g_ascii_isupper(c) \ + ((g_ascii_table[(guchar) (c)] & G_ASCII_UPPER) != 0) + +#define g_ascii_isxdigit(c) \ + ((g_ascii_table[(guchar) (c)] & G_ASCII_XDIGIT) != 0) + +GLIB_AVAILABLE_IN_ALL +gchar g_ascii_tolower (gchar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gchar g_ascii_toupper (gchar c) G_GNUC_CONST; + +GLIB_AVAILABLE_IN_ALL +gint g_ascii_digit_value (gchar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gint g_ascii_xdigit_value (gchar c) G_GNUC_CONST; + +/* String utility functions that modify a string argument or + * return a constant string that must not be freed. + */ +#define G_STR_DELIMITERS "_-|> <." +GLIB_AVAILABLE_IN_ALL +gchar* g_strdelimit (gchar *string, + const gchar *delimiters, + gchar new_delimiter); +GLIB_AVAILABLE_IN_ALL +gchar* g_strcanon (gchar *string, + const gchar *valid_chars, + gchar substitutor); +GLIB_AVAILABLE_IN_ALL +const gchar * g_strerror (gint errnum) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +const gchar * g_strsignal (gint signum) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gchar * g_strreverse (gchar *string); +GLIB_AVAILABLE_IN_ALL +gsize g_strlcpy (gchar *dest, + const gchar *src, + gsize dest_size); +GLIB_AVAILABLE_IN_ALL +gsize g_strlcat (gchar *dest, + const gchar *src, + gsize dest_size); +GLIB_AVAILABLE_IN_ALL +gchar * g_strstr_len (const gchar *haystack, + gssize haystack_len, + const gchar *needle); +GLIB_AVAILABLE_IN_ALL +gchar * g_strrstr (const gchar *haystack, + const gchar *needle); +GLIB_AVAILABLE_IN_ALL +gchar * g_strrstr_len (const gchar *haystack, + gssize haystack_len, + const gchar *needle); + +GLIB_AVAILABLE_IN_ALL +gboolean (g_str_has_suffix) (const gchar *str, + const gchar *suffix); +GLIB_AVAILABLE_IN_ALL +gboolean (g_str_has_prefix) (const gchar *str, + const gchar *prefix); + +#if G_GNUC_CHECK_VERSION (2, 0) +#ifndef __GTK_DOC_IGNORE__ +#ifndef __GI_SCANNER__ + +/* This macro is defeat a false -Wnonnull warning in GCC. + * Without it, it thinks strlen and memcmp may be getting passed NULL + * despite the explicit check for NULL right above the calls. + */ +#define _G_STR_NONNULL(x) ((x) + !(x)) + +#define g_str_has_prefix(STR, PREFIX) \ + (__builtin_constant_p (PREFIX)? \ + G_GNUC_EXTENSION ({ \ + const char * const __str = (STR); \ + const char * const __prefix = (PREFIX); \ + gboolean __result = FALSE; \ + \ + if G_UNLIKELY (__str == NULL || __prefix == NULL) \ + __result = (g_str_has_prefix) (__str, __prefix); \ + else \ + { \ + const size_t __str_len = strlen (_G_STR_NONNULL (__str)); \ + const size_t __prefix_len = strlen (_G_STR_NONNULL (__prefix)); \ + if (__str_len >= __prefix_len) \ + __result = memcmp (_G_STR_NONNULL (__str), \ + _G_STR_NONNULL (__prefix), \ + __prefix_len) == 0; \ + } \ + __result; \ + }) \ + : \ + (g_str_has_prefix) (STR, PREFIX) \ + ) + +#define g_str_has_suffix(STR, SUFFIX) \ + (__builtin_constant_p (SUFFIX)? \ + G_GNUC_EXTENSION ({ \ + const char * const __str = (STR); \ + const char * const __suffix = (SUFFIX); \ + gboolean __result = FALSE; \ + \ + if G_UNLIKELY (__str == NULL || __suffix == NULL) \ + __result = (g_str_has_suffix) (__str, __suffix); \ + else \ + { \ + const size_t __str_len = strlen (_G_STR_NONNULL (__str)); \ + const size_t __suffix_len = strlen (_G_STR_NONNULL (__suffix)); \ + if (__str_len >= __suffix_len) \ + __result = memcmp (__str + __str_len - __suffix_len, \ + _G_STR_NONNULL (__suffix), \ + __suffix_len) == 0; \ + } \ + __result; \ + }) \ + : \ + (g_str_has_suffix) (STR, SUFFIX) \ + ) + +#endif /* !defined (__GI_SCANNER__) */ +#endif /* !defined (__GTK_DOC_IGNORE__) */ +#endif /* G_GNUC_CHECK_VERSION (2, 0) */ + +/* String to/from double conversion functions */ + +GLIB_AVAILABLE_IN_ALL +gdouble g_strtod (const gchar *nptr, + gchar **endptr); +GLIB_AVAILABLE_IN_ALL +gdouble g_ascii_strtod (const gchar *nptr, + gchar **endptr); +GLIB_AVAILABLE_IN_ALL +guint64 g_ascii_strtoull (const gchar *nptr, + gchar **endptr, + guint base); +GLIB_AVAILABLE_IN_ALL +gint64 g_ascii_strtoll (const gchar *nptr, + gchar **endptr, + guint base); +/* 29 bytes should enough for all possible values that + * g_ascii_dtostr can produce. + * Then add 10 for good measure */ +#define G_ASCII_DTOSTR_BUF_SIZE (29 + 10) +GLIB_AVAILABLE_IN_ALL +gchar * g_ascii_dtostr (gchar *buffer, + gint buf_len, + gdouble d); +GLIB_AVAILABLE_IN_ALL +gchar * g_ascii_formatd (gchar *buffer, + gint buf_len, + const gchar *format, + gdouble d); + +/* removes leading spaces */ +GLIB_AVAILABLE_IN_ALL +gchar* g_strchug (gchar *string); +/* removes trailing spaces */ +GLIB_AVAILABLE_IN_ALL +gchar* g_strchomp (gchar *string); +/* removes leading & trailing spaces */ +#define g_strstrip( string ) g_strchomp (g_strchug (string)) + +GLIB_AVAILABLE_IN_ALL +gint g_ascii_strcasecmp (const gchar *s1, + const gchar *s2); +GLIB_AVAILABLE_IN_ALL +gint g_ascii_strncasecmp (const gchar *s1, + const gchar *s2, + gsize n); +GLIB_AVAILABLE_IN_ALL +gchar* g_ascii_strdown (const gchar *str, + gssize len) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar* g_ascii_strup (const gchar *str, + gssize len) G_GNUC_MALLOC; + +GLIB_AVAILABLE_IN_2_40 +gboolean g_str_is_ascii (const gchar *str); + +GLIB_DEPRECATED +gint g_strcasecmp (const gchar *s1, + const gchar *s2); +GLIB_DEPRECATED +gint g_strncasecmp (const gchar *s1, + const gchar *s2, + guint n); +GLIB_DEPRECATED +gchar* g_strdown (gchar *string); +GLIB_DEPRECATED +gchar* g_strup (gchar *string); + + +/* String utility functions that return a newly allocated string which + * ought to be freed with g_free from the caller at some point. + */ +GLIB_AVAILABLE_IN_ALL +gchar* (g_strdup) (const gchar *str) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar* g_strdup_printf (const gchar *format, + ...) G_GNUC_PRINTF (1, 2) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar* g_strdup_vprintf (const gchar *format, + va_list args) G_GNUC_PRINTF(1, 0) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar* g_strndup (const gchar *str, + gsize n) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar* g_strnfill (gsize length, + gchar fill_char) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar* g_strconcat (const gchar *string1, + ...) G_GNUC_MALLOC G_GNUC_NULL_TERMINATED; +GLIB_AVAILABLE_IN_ALL +gchar* g_strjoin (const gchar *separator, + ...) G_GNUC_MALLOC G_GNUC_NULL_TERMINATED; + +#if G_GNUC_CHECK_VERSION(2, 0) +#ifndef __GTK_DOC_IGNORE__ +#ifndef __GI_SCANNER__ + +G_ALWAYS_INLINE static inline char * +g_strdup_inline (const char *str) +{ + if (__builtin_constant_p (!str) && !str) + return NULL; + + if (__builtin_constant_p (!!str) && !!str && __builtin_constant_p (strlen (str))) + { + const size_t len = strlen (str) + 1; + char *dup_str = (char *) g_malloc (len); + return (char *) memcpy (dup_str, str, len); + } + + return g_strdup (str); +} + +#define g_strdup(x) g_strdup_inline (x) + +#endif /* !defined (__GI_SCANNER__) */ +#endif /* !defined (__GTK_DOC_IGNORE__) */ +#endif /* G_GNUC_CHECK_VERSION (2, 0) */ + +/* Make a copy of a string interpreting C string -style escape + * sequences. Inverse of g_strescape. The recognized sequences are \b + * \f \n \r \t \\ \" and the octal format. + */ +GLIB_AVAILABLE_IN_ALL +gchar* g_strcompress (const gchar *source) G_GNUC_MALLOC; + +/* Copy a string escaping nonprintable characters like in C strings. + * Inverse of g_strcompress. The exceptions parameter, if non-NULL, points + * to a string containing characters that are not to be escaped. + * + * Deprecated API: gchar* g_strescape (const gchar *source); + * Luckily this function wasn't used much, using NULL as second parameter + * provides mostly identical semantics. + */ +GLIB_AVAILABLE_IN_ALL +gchar* g_strescape (const gchar *source, + const gchar *exceptions) G_GNUC_MALLOC; + +GLIB_DEPRECATED_IN_2_68_FOR (g_memdup2) +gpointer g_memdup (gconstpointer mem, + guint byte_size) G_GNUC_ALLOC_SIZE(2); + +GLIB_AVAILABLE_IN_2_68 +gpointer g_memdup2 (gconstpointer mem, + gsize byte_size) G_GNUC_ALLOC_SIZE(2); + +/* NULL terminated string arrays. + * g_strsplit(), g_strsplit_set() split up string into max_tokens tokens + * at delim and return a newly allocated string array. + * g_strjoinv() concatenates all of str_array's strings, sliding in an + * optional separator, the returned string is newly allocated. + * g_strfreev() frees the array itself and all of its strings. + * g_strdupv() copies a NULL-terminated array of strings + * g_strv_length() returns the length of a NULL-terminated array of strings + */ +typedef gchar** GStrv; +GLIB_AVAILABLE_IN_ALL +gchar** g_strsplit (const gchar *string, + const gchar *delimiter, + gint max_tokens); +GLIB_AVAILABLE_IN_ALL +gchar ** g_strsplit_set (const gchar *string, + const gchar *delimiters, + gint max_tokens); +GLIB_AVAILABLE_IN_ALL +gchar* g_strjoinv (const gchar *separator, + gchar **str_array) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +void g_strfreev (gchar **str_array); +GLIB_AVAILABLE_IN_ALL +gchar** g_strdupv (gchar **str_array); +GLIB_AVAILABLE_IN_ALL +guint g_strv_length (gchar **str_array); + +GLIB_AVAILABLE_IN_ALL +gchar* g_stpcpy (gchar *dest, + const char *src); + +GLIB_AVAILABLE_IN_2_40 +gchar * g_str_to_ascii (const gchar *str, + const gchar *from_locale); + +GLIB_AVAILABLE_IN_2_40 +gchar ** g_str_tokenize_and_fold (const gchar *string, + const gchar *translit_locale, + gchar ***ascii_alternates); + +GLIB_AVAILABLE_IN_2_40 +gboolean g_str_match_string (const gchar *search_term, + const gchar *potential_hit, + gboolean accept_alternates); + +GLIB_AVAILABLE_IN_2_44 +gboolean g_strv_contains (const gchar * const *strv, + const gchar *str); + +GLIB_AVAILABLE_IN_2_60 +gboolean g_strv_equal (const gchar * const *strv1, + const gchar * const *strv2); + +/* Convenience ASCII string to number API */ + +/** + * GNumberParserError: + * @G_NUMBER_PARSER_ERROR_INVALID: String was not a valid number. + * @G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS: String was a number, but out of bounds. + * + * Error codes returned by functions converting a string to a number. + * + * Since: 2.54 + */ +typedef enum + { + G_NUMBER_PARSER_ERROR_INVALID, + G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS, + } GNumberParserError; + +/** + * G_NUMBER_PARSER_ERROR: + * + * Domain for errors returned by functions converting a string to a + * number. + * + * Since: 2.54 + */ +#define G_NUMBER_PARSER_ERROR (g_number_parser_error_quark ()) + +GLIB_AVAILABLE_IN_2_54 +GQuark g_number_parser_error_quark (void); + +GLIB_AVAILABLE_IN_2_54 +gboolean g_ascii_string_to_signed (const gchar *str, + guint base, + gint64 min, + gint64 max, + gint64 *out_num, + GError **error); + +GLIB_AVAILABLE_IN_2_54 +gboolean g_ascii_string_to_unsigned (const gchar *str, + guint base, + guint64 min, + guint64 max, + guint64 *out_num, + GError **error); + +/** + * g_set_str: (skip) + * @str_pointer: (inout) (not optional) (nullable): a pointer to either a string or %NULL + * @new_str: (nullable): a string to assign to @str_pointer, or %NULL + * + * Updates a pointer to a string to a copy of @new_str. The previous string + * pointed to by @str_pointer will be freed with g_free(). + * + * @str_pointer must not be %NULL, but can point to a %NULL value. + * + * One convenient usage of this function is in implementing property settings: + * |[ + * void + * foo_set_bar (Foo *foo, + * const char *new_bar) + * { + * g_return_if_fail (IS_FOO (foo)); + * + * if (g_set_str (&foo->bar, new_bar)) + * g_object_notify (foo, "bar"); + * } + * ]| + * + * Returns: %TRUE if the value of @str_pointer changed, %FALSE otherwise + * + * Since: 2.76 + */ +GLIB_AVAILABLE_STATIC_INLINE_IN_2_76 +static inline gboolean +g_set_str (char **str_pointer, + const char *new_str) +{ + char *copy; + + if (*str_pointer == new_str || + (*str_pointer && new_str && strcmp (*str_pointer, new_str) == 0)) + return FALSE; + + copy = g_strdup (new_str); + g_free (*str_pointer); + *str_pointer = copy; + + return TRUE; +} + +G_END_DECLS + +#endif /* __G_STRFUNCS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gstring.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gstring.h new file mode 100644 index 0000000..b4ccb34 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gstring.h @@ -0,0 +1,296 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_STRING_H__ +#define __G_STRING_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include +#include +#include /* for G_CAN_INLINE */ +#include + +G_BEGIN_DECLS + +typedef struct _GString GString; + +struct _GString +{ + gchar *str; + gsize len; + gsize allocated_len; +}; + +GLIB_AVAILABLE_IN_ALL +GString* g_string_new (const gchar *init); +GLIB_AVAILABLE_IN_2_78 +GString* g_string_new_take (gchar *init); +GLIB_AVAILABLE_IN_ALL +GString* g_string_new_len (const gchar *init, + gssize len); +GLIB_AVAILABLE_IN_ALL +GString* g_string_sized_new (gsize dfl_size); +GLIB_AVAILABLE_IN_ALL +gchar* (g_string_free) (GString *string, + gboolean free_segment); +GLIB_AVAILABLE_IN_2_76 +gchar* g_string_free_and_steal (GString *string) G_GNUC_WARN_UNUSED_RESULT; + +#if G_GNUC_CHECK_VERSION (2, 0) && (GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_76) + +#define g_string_free(str, free_segment) \ + (__builtin_constant_p (free_segment) ? \ + ((free_segment) ? \ + (g_string_free) ((str), (free_segment)) : \ + g_string_free_and_steal (str)) \ + : \ + (g_string_free) ((str), (free_segment))) + +#endif /* G_GNUC_CHECK_VERSION (2, 0) && (GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_76) */ + +GLIB_AVAILABLE_IN_2_34 +GBytes* g_string_free_to_bytes (GString *string); +GLIB_AVAILABLE_IN_ALL +gboolean g_string_equal (const GString *v, + const GString *v2); +GLIB_AVAILABLE_IN_ALL +guint g_string_hash (const GString *str); +GLIB_AVAILABLE_IN_ALL +GString* g_string_assign (GString *string, + const gchar *rval); +GLIB_AVAILABLE_IN_ALL +GString* g_string_truncate (GString *string, + gsize len); +GLIB_AVAILABLE_IN_ALL +GString* g_string_set_size (GString *string, + gsize len); +GLIB_AVAILABLE_IN_ALL +GString* g_string_insert_len (GString *string, + gssize pos, + const gchar *val, + gssize len); +GLIB_AVAILABLE_IN_ALL +GString* g_string_append (GString *string, + const gchar *val); +GLIB_AVAILABLE_IN_ALL +GString* g_string_append_len (GString *string, + const gchar *val, + gssize len); +GLIB_AVAILABLE_IN_ALL +GString* g_string_append_c (GString *string, + gchar c); +GLIB_AVAILABLE_IN_ALL +GString* g_string_append_unichar (GString *string, + gunichar wc); +GLIB_AVAILABLE_IN_ALL +GString* g_string_prepend (GString *string, + const gchar *val); +GLIB_AVAILABLE_IN_ALL +GString* g_string_prepend_c (GString *string, + gchar c); +GLIB_AVAILABLE_IN_ALL +GString* g_string_prepend_unichar (GString *string, + gunichar wc); +GLIB_AVAILABLE_IN_ALL +GString* g_string_prepend_len (GString *string, + const gchar *val, + gssize len); +GLIB_AVAILABLE_IN_ALL +GString* g_string_insert (GString *string, + gssize pos, + const gchar *val); +GLIB_AVAILABLE_IN_ALL +GString* g_string_insert_c (GString *string, + gssize pos, + gchar c); +GLIB_AVAILABLE_IN_ALL +GString* g_string_insert_unichar (GString *string, + gssize pos, + gunichar wc); +GLIB_AVAILABLE_IN_ALL +GString* g_string_overwrite (GString *string, + gsize pos, + const gchar *val); +GLIB_AVAILABLE_IN_ALL +GString* g_string_overwrite_len (GString *string, + gsize pos, + const gchar *val, + gssize len); +GLIB_AVAILABLE_IN_ALL +GString* g_string_erase (GString *string, + gssize pos, + gssize len); +GLIB_AVAILABLE_IN_2_68 +guint g_string_replace (GString *string, + const gchar *find, + const gchar *replace, + guint limit); +GLIB_AVAILABLE_IN_ALL +GString* g_string_ascii_down (GString *string); +GLIB_AVAILABLE_IN_ALL +GString* g_string_ascii_up (GString *string); +GLIB_AVAILABLE_IN_ALL +void g_string_vprintf (GString *string, + const gchar *format, + va_list args) + G_GNUC_PRINTF(2, 0); +GLIB_AVAILABLE_IN_ALL +void g_string_printf (GString *string, + const gchar *format, + ...) G_GNUC_PRINTF (2, 3); +GLIB_AVAILABLE_IN_ALL +void g_string_append_vprintf (GString *string, + const gchar *format, + va_list args) + G_GNUC_PRINTF(2, 0); +GLIB_AVAILABLE_IN_ALL +void g_string_append_printf (GString *string, + const gchar *format, + ...) G_GNUC_PRINTF (2, 3); +GLIB_AVAILABLE_IN_ALL +GString* g_string_append_uri_escaped (GString *string, + const gchar *unescaped, + const gchar *reserved_chars_allowed, + gboolean allow_utf8); + +#ifdef G_CAN_INLINE + +#if defined (_MSC_VER) && !defined (__clang__) +#pragma warning (push) +#pragma warning (disable : 4141) /* silence "warning C4141: 'inline' used more than once" */ +#endif + +#ifndef __GTK_DOC_IGNORE__ + +G_ALWAYS_INLINE +static inline GString* +g_string_append_c_inline (GString *gstring, + gchar c) +{ + if (G_LIKELY (gstring != NULL && + gstring->len + 1 < gstring->allocated_len)) + { + gstring->str[gstring->len++] = c; + gstring->str[gstring->len] = 0; + } + else + g_string_insert_c (gstring, -1, c); + return gstring; +} + +#define g_string_append_c(gstr,c) \ + g_string_append_c_inline (gstr, c) + +G_ALWAYS_INLINE +static inline GString * +g_string_append_len_inline (GString *gstring, + const char *val, + gssize len) +{ + gsize len_unsigned; + + if G_UNLIKELY (gstring == NULL) + return g_string_append_len (gstring, val, len); + + if G_UNLIKELY (val == NULL) + return (len != 0) ? g_string_append_len (gstring, val, len) : gstring; + + if (len < 0) + len_unsigned = strlen (val); + else + len_unsigned = (gsize) len; + + if (G_LIKELY (gstring->len + len_unsigned < gstring->allocated_len)) + { + char *end = gstring->str + gstring->len; + if (G_LIKELY (val + len_unsigned <= end || val > end + len_unsigned)) + memcpy (end, val, len_unsigned); + else + memmove (end, val, len_unsigned); + gstring->len += len_unsigned; + gstring->str[gstring->len] = 0; + return gstring; + } + else + return g_string_insert_len (gstring, -1, val, len); +} + +#define g_string_append_len(gstr, val, len) \ + g_string_append_len_inline (gstr, val, len) + +G_ALWAYS_INLINE +static inline GString * +g_string_truncate_inline (GString *gstring, + gsize len) +{ + gstring->len = MIN (len, gstring->len); + gstring->str[gstring->len] = '\0'; + return gstring; +} + +#define g_string_truncate(gstr, len) \ + g_string_truncate_inline (gstr, len) + +#if G_GNUC_CHECK_VERSION (2, 0) + +#define g_string_append(gstr, val) \ + (__builtin_constant_p (val) ? \ + G_GNUC_EXTENSION ({ \ + const char * const __val = (val); \ + g_string_append_len (gstr, __val, \ + G_LIKELY (__val != NULL) ? \ + (gssize) strlen (_G_STR_NONNULL (__val)) \ + : (gssize) -1); \ + }) \ + : \ + g_string_append_len (gstr, val, (gssize) -1)) + +#endif /* G_GNUC_CHECK_VERSION (2, 0) */ + +#endif /* __GTK_DOC_IGNORE__ */ + +#if defined (_MSC_VER) && !defined (__clang__) +#pragma warning (pop) /* #pragma warning (disable : 4141) */ +#endif + +#endif /* G_CAN_INLINE */ + +GLIB_DEPRECATED +GString *g_string_down (GString *string); +GLIB_DEPRECATED +GString *g_string_up (GString *string); + +#define g_string_sprintf g_string_printf GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_string_printf) +#define g_string_sprintfa g_string_append_printf GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_string_append_printf) + +G_END_DECLS + +#endif /* __G_STRING_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gstringchunk.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gstringchunk.h new file mode 100644 index 0000000..a79a4cb --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gstringchunk.h @@ -0,0 +1,59 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_STRINGCHUNK_H__ +#define __G_STRINGCHUNK_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +typedef struct _GStringChunk GStringChunk; + +GLIB_AVAILABLE_IN_ALL +GStringChunk* g_string_chunk_new (gsize size); +GLIB_AVAILABLE_IN_ALL +void g_string_chunk_free (GStringChunk *chunk); +GLIB_AVAILABLE_IN_ALL +void g_string_chunk_clear (GStringChunk *chunk); +GLIB_AVAILABLE_IN_ALL +gchar* g_string_chunk_insert (GStringChunk *chunk, + const gchar *string); +GLIB_AVAILABLE_IN_ALL +gchar* g_string_chunk_insert_len (GStringChunk *chunk, + const gchar *string, + gssize len); +GLIB_AVAILABLE_IN_ALL +gchar* g_string_chunk_insert_const (GStringChunk *chunk, + const gchar *string); + +G_END_DECLS + +#endif /* __G_STRING_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gstrvbuilder.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gstrvbuilder.h new file mode 100644 index 0000000..c8acbaa --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gstrvbuilder.h @@ -0,0 +1,69 @@ +/* + * Copyright © 2020 Canonical Ltd. + * Copyright © 2021 Alexandros Theodotou + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef __G_STRVBUILDER_H__ +#define __G_STRVBUILDER_H__ + +#if !defined(__GLIB_H_INSIDE__) && !defined(GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +/** + * GStrvBuilder: + * + * A helper object to build a %NULL-terminated string array + * by appending. See g_strv_builder_new(). + * + * Since: 2.68 + */ +typedef struct _GStrvBuilder GStrvBuilder; + +GLIB_AVAILABLE_IN_2_68 +GStrvBuilder *g_strv_builder_new (void); + +GLIB_AVAILABLE_IN_2_68 +void g_strv_builder_unref (GStrvBuilder *builder); + +GLIB_AVAILABLE_IN_2_68 +GStrvBuilder *g_strv_builder_ref (GStrvBuilder *builder); + +GLIB_AVAILABLE_IN_2_68 +void g_strv_builder_add (GStrvBuilder *builder, + const char *value); + +GLIB_AVAILABLE_IN_2_70 +void g_strv_builder_addv (GStrvBuilder *builder, + const char **value); + +GLIB_AVAILABLE_IN_2_70 +void g_strv_builder_add_many (GStrvBuilder *builder, + ...) G_GNUC_NULL_TERMINATED; + +GLIB_AVAILABLE_IN_2_68 +GStrv g_strv_builder_end (GStrvBuilder *builder); + +G_END_DECLS + +#endif /* __G_STRVBUILDER_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gtestutils.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gtestutils.h new file mode 100644 index 0000000..30ede25 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gtestutils.h @@ -0,0 +1,763 @@ +/* GLib testing utilities + * Copyright (C) 2007 Imendio AB + * Authors: Tim Janik + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef __G_TEST_UTILS_H__ +#define __G_TEST_UTILS_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include +#include +#include +#include +#include + +G_BEGIN_DECLS + +typedef struct GTestCase GTestCase; +typedef struct GTestSuite GTestSuite; +typedef void (*GTestFunc) (void); +typedef void (*GTestDataFunc) (gconstpointer user_data); +typedef void (*GTestFixtureFunc) (gpointer fixture, + gconstpointer user_data); + +/* assertion API */ +#define g_assert_cmpstr(s1, cmp, s2) G_STMT_START { \ + const char *__s1 = (s1), *__s2 = (s2); \ + if (g_strcmp0 (__s1, __s2) cmp 0) ; else \ + g_assertion_message_cmpstr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + #s1 " " #cmp " " #s2, __s1, #cmp, __s2); \ + } G_STMT_END +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_78 +#define g_assert_cmpint(n1, cmp, n2) G_STMT_START { \ + gint64 __n1 = (n1), __n2 = (n2); \ + if (__n1 cmp __n2) ; else \ + g_assertion_message_cmpint (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + #n1 " " #cmp " " #n2, (guint64)__n1, #cmp, (guint64)__n2, 'i'); \ + } G_STMT_END +#define g_assert_cmpuint(n1, cmp, n2) G_STMT_START { \ + guint64 __n1 = (n1), __n2 = (n2); \ + if (__n1 cmp __n2) ; else \ + g_assertion_message_cmpint (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + #n1 " " #cmp " " #n2, __n1, #cmp, __n2, 'u'); \ + } G_STMT_END +#define g_assert_cmphex(n1, cmp, n2) G_STMT_START { \ + guint64 __n1 = (n1), __n2 = (n2); \ + if (__n1 cmp __n2) ; else \ + g_assertion_message_cmpint (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + #n1 " " #cmp " " #n2, __n1, #cmp, __n2, 'x'); \ + } G_STMT_END +#else /* GLIB_VERSION_MIN_REQUIRED < GLIB_VERSION_2_78 */ +#define g_assert_cmpint(n1, cmp, n2) G_STMT_START { \ + gint64 __n1 = (n1), __n2 = (n2); \ + if (__n1 cmp __n2) ; else \ + g_assertion_message_cmpnum (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + #n1 " " #cmp " " #n2, (long double) __n1, #cmp, (long double) __n2, 'i'); \ + } G_STMT_END +#define g_assert_cmpuint(n1, cmp, n2) G_STMT_START { \ + guint64 __n1 = (n1), __n2 = (n2); \ + if (__n1 cmp __n2) ; else \ + g_assertion_message_cmpnum (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + #n1 " " #cmp " " #n2, (long double) __n1, #cmp, (long double) __n2, 'i'); \ + } G_STMT_END +#define g_assert_cmphex(n1, cmp, n2) G_STMT_START {\ + guint64 __n1 = (n1), __n2 = (n2); \ + if (__n1 cmp __n2) ; else \ + g_assertion_message_cmpnum (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + #n1 " " #cmp " " #n2, (long double) __n1, #cmp, (long double) __n2, 'x'); \ + } G_STMT_END +#endif /* GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_78 */ +#define g_assert_cmpfloat(n1,cmp,n2) G_STMT_START { \ + long double __n1 = (long double) (n1), __n2 = (long double) (n2); \ + if (__n1 cmp __n2) ; else \ + g_assertion_message_cmpnum (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + #n1 " " #cmp " " #n2, (long double) __n1, #cmp, (long double) __n2, 'f'); \ + } G_STMT_END +#define g_assert_cmpfloat_with_epsilon(n1,n2,epsilon) \ + G_STMT_START { \ + double __n1 = (n1), __n2 = (n2), __epsilon = (epsilon); \ + if (G_APPROX_VALUE (__n1, __n2, __epsilon)) ; else \ + g_assertion_message_cmpnum (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + #n1 " == " #n2 " (+/- " #epsilon ")", __n1, "==", __n2, 'f'); \ + } G_STMT_END +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_78 +#define g_assert_cmpmem(m1, l1, m2, l2) G_STMT_START {\ + gconstpointer __m1 = m1, __m2 = m2; \ + size_t __l1 = (size_t) l1, __l2 = (size_t) l2; \ + if (__l1 != 0 && __m1 == NULL) \ + g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + "assertion failed (" #l1 " == 0 || " #m1 " != NULL)"); \ + else if (__l2 != 0 && __m2 == NULL) \ + g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + "assertion failed (" #l2 " == 0 || " #m2 " != NULL)"); \ + else if (__l1 != __l2) \ + g_assertion_message_cmpint (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + #l1 " (len(" #m1 ")) == " #l2 " (len(" #m2 "))", \ + __l1, "==", __l2, 'u'); \ + else if (__l1 != 0 && __m2 != NULL && memcmp (__m1, __m2, __l1) != 0) \ + g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + "assertion failed (" #m1 " == " #m2 ")"); \ + } G_STMT_END +#else /* GLIB_VERSION_MIN_REQUIRED < GLIB_VERSION_2_78 */ +#define g_assert_cmpmem(m1, l1, m2, l2) G_STMT_START {\ + gconstpointer __m1 = m1, __m2 = m2; \ + size_t __l1 = (size_t) l1, __l2 = (size_t) l2; \ + if (__l1 != 0 && __m1 == NULL) \ + g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + "assertion failed (" #l1 " == 0 || " #m1 " != NULL)"); \ + else if (__l2 != 0 && __m2 == NULL) \ + g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + "assertion failed (" #l2 " == 0 || " #m2 " != NULL)"); \ + else if (__l1 != __l2) \ + g_assertion_message_cmpnum (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + #l1 " (len(" #m1 ")) == " #l2 " (len(" #m2 "))", \ + (long double) __l1, "==", (long double) __l2, 'i'); \ + else if (__l1 != 0 && __m2 != NULL && memcmp (__m1, __m2, __l1) != 0) \ + g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + "assertion failed (" #m1 " == " #m2 ")"); \ + } G_STMT_END +#endif /* GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_78 */ +#define g_assert_cmpvariant(v1, v2) \ + G_STMT_START \ + { \ + GVariant *__v1 = (v1), *__v2 = (v2); \ + if (!g_variant_equal (__v1, __v2)) \ + { \ + gchar *__s1, *__s2, *__msg; \ + __s1 = g_variant_print (__v1, TRUE); \ + __s2 = g_variant_print (__v2, TRUE); \ + __msg = g_strdup_printf ("assertion failed (" #v1 " == " #v2 "): %s does not equal %s", __s1, __s2); \ + g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, __msg); \ + g_free (__s1); \ + g_free (__s2); \ + g_free (__msg); \ + } \ + } \ + G_STMT_END +#define g_assert_cmpstrv(strv1, strv2) \ + G_STMT_START \ + { \ + const char * const *__strv1 = (const char * const *) (strv1); \ + const char * const *__strv2 = (const char * const *) (strv2); \ + if (!__strv1 || !__strv2) \ + { \ + if (__strv1) \ + { \ + g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + "assertion failed (" #strv1 " == " #strv2 "): " #strv2 " is NULL, but " #strv1 " is not"); \ + } \ + else if (__strv2) \ + { \ + g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + "assertion failed (" #strv1 " == " #strv2 "): " #strv1 " is NULL, but " #strv2 " is not"); \ + } \ + } \ + else \ + { \ + guint __l1 = g_strv_length ((char **) __strv1); \ + guint __l2 = g_strv_length ((char **) __strv2); \ + if (__l1 != __l2) \ + { \ + char *__msg; \ + __msg = g_strdup_printf ("assertion failed (" #strv1 " == " #strv2 "): length %u does not equal length %u", __l1, __l2); \ + g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, __msg); \ + g_free (__msg); \ + } \ + else \ + { \ + guint __i; \ + for (__i = 0; __i < __l1; __i++) \ + { \ + if (g_strcmp0 (__strv1[__i], __strv2[__i]) != 0) \ + { \ + g_assertion_message_cmpstrv (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + #strv1 " == " #strv2, \ + __strv1, __strv2, __i); \ + } \ + } \ + } \ + } \ + } \ + G_STMT_END +#define g_assert_no_errno(expr) G_STMT_START { \ + int __ret, __errsv; \ + errno = 0; \ + __ret = expr; \ + __errsv = errno; \ + if (__ret < 0) \ + { \ + gchar *__msg; \ + __msg = g_strdup_printf ("assertion failed (" #expr " >= 0): errno %i: %s", __errsv, g_strerror (__errsv)); \ + g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, __msg); \ + g_free (__msg); \ + } \ + } G_STMT_END \ + GLIB_AVAILABLE_MACRO_IN_2_66 +#define g_assert_no_error(err) G_STMT_START { \ + if (err) \ + g_assertion_message_error (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + #err, err, 0, 0); \ + } G_STMT_END +#define g_assert_error(err, dom, c) G_STMT_START { \ + if (!err || (err)->domain != dom || (err)->code != c) \ + g_assertion_message_error (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + #err, err, dom, c); \ + } G_STMT_END +#define g_assert_true(expr) G_STMT_START { \ + if G_LIKELY (expr) ; else \ + g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + "'" #expr "' should be TRUE"); \ + } G_STMT_END +#define g_assert_false(expr) G_STMT_START { \ + if G_LIKELY (!(expr)) ; else \ + g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + "'" #expr "' should be FALSE"); \ + } G_STMT_END + +/* Use nullptr in C++ to catch misuse of these macros. */ +#if G_CXX_STD_CHECK_VERSION (11) +#define g_assert_null(expr) G_STMT_START { if G_LIKELY ((expr) == nullptr) ; else \ + g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + "'" #expr "' should be nullptr"); \ + } G_STMT_END +#define g_assert_nonnull(expr) G_STMT_START { \ + if G_LIKELY ((expr) != nullptr) ; else \ + g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + "'" #expr "' should not be nullptr"); \ + } G_STMT_END +#else /* not C++ */ +#define g_assert_null(expr) G_STMT_START { if G_LIKELY ((expr) == NULL) ; else \ + g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + "'" #expr "' should be NULL"); \ + } G_STMT_END +#define g_assert_nonnull(expr) G_STMT_START { \ + if G_LIKELY ((expr) != NULL) ; else \ + g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + "'" #expr "' should not be NULL"); \ + } G_STMT_END +#endif + +#ifdef G_DISABLE_ASSERT +/* https://gcc.gnu.org/onlinedocs/gcc-8.3.0/gcc/Other-Builtins.html#index-_005f_005fbuiltin_005funreachable + * GCC 5 is not a strict lower bound for versions of GCC which provide __builtin_unreachable(). */ +#if __GNUC__ >= 5 || g_macro__has_builtin(__builtin_unreachable) +#define g_assert_not_reached() G_STMT_START { (void) 0; __builtin_unreachable (); } G_STMT_END +#elif defined (_MSC_VER) +#define g_assert_not_reached() G_STMT_START { (void) 0; __assume (0); } G_STMT_END +#else /* if __builtin_unreachable() is not supported: */ +#define g_assert_not_reached() G_STMT_START { (void) 0; } G_STMT_END +#endif + +#define g_assert(expr) G_STMT_START { (void) 0; } G_STMT_END +#else /* !G_DISABLE_ASSERT */ +#define g_assert_not_reached() G_STMT_START { g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, NULL); } G_STMT_END +#define g_assert(expr) G_STMT_START { \ + if G_LIKELY (expr) ; else \ + g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ + #expr); \ + } G_STMT_END +#endif /* !G_DISABLE_ASSERT */ + +GLIB_AVAILABLE_IN_ALL +int g_strcmp0 (const char *str1, + const char *str2); + +/* report performance results */ +GLIB_AVAILABLE_IN_ALL +void g_test_minimized_result (double minimized_quantity, + const char *format, + ...) G_GNUC_PRINTF (2, 3); +GLIB_AVAILABLE_IN_ALL +void g_test_maximized_result (double maximized_quantity, + const char *format, + ...) G_GNUC_PRINTF (2, 3); + +/* initialize testing framework */ +GLIB_AVAILABLE_IN_ALL +void g_test_init (int *argc, + char ***argv, + ...) G_GNUC_NULL_TERMINATED; + +/** + * G_TEST_OPTION_ISOLATE_DIRS: + * + * Creates a unique temporary directory for each unit test and uses + * g_set_user_dirs() to set XDG directories to point into subdirectories of it + * for the duration of the unit test. The directory tree is cleaned up after the + * test finishes successfully. Note that this doesn’t take effect until + * g_test_run() is called, so calls to (for example) g_get_user_home_dir() will + * return the system-wide value when made in a test program’s main() function. + * + * The following functions will return subdirectories of the temporary directory + * when this option is used. The specific subdirectory paths in use are not + * guaranteed to be stable API — always use a getter function to retrieve them. + * + * - g_get_home_dir() + * - g_get_user_cache_dir() + * - g_get_system_config_dirs() + * - g_get_user_config_dir() + * - g_get_system_data_dirs() + * - g_get_user_data_dir() + * - g_get_user_state_dir() + * - g_get_user_runtime_dir() + * + * The subdirectories may not be created by the test harness; as with normal + * calls to functions like g_get_user_cache_dir(), the caller must be prepared + * to create the directory if it doesn’t exist. + * + * Since: 2.60 + */ +#define G_TEST_OPTION_ISOLATE_DIRS "isolate_dirs" + +/* While we discourage its use, g_assert() is often used in unit tests + * (especially in legacy code). g_assert_*() should really be used instead. + * g_assert() can be disabled at client program compile time, which can render + * tests useless. Highlight that to the user. */ +#ifdef G_DISABLE_ASSERT +#if defined(G_HAVE_ISO_VARARGS) +#define g_test_init(argc, argv, ...) \ + G_STMT_START { \ + g_printerr ("Tests were compiled with G_DISABLE_ASSERT and are likely no-ops. Aborting.\n"); \ + exit (1); \ + } G_STMT_END +#elif defined(G_HAVE_GNUC_VARARGS) +#define g_test_init(argc, argv...) \ + G_STMT_START { \ + g_printerr ("Tests were compiled with G_DISABLE_ASSERT and are likely no-ops. Aborting.\n"); \ + exit (1); \ + } G_STMT_END +#else /* no varargs */ + /* do nothing */ +#endif /* varargs support */ +#endif /* G_DISABLE_ASSERT */ + +/* query testing framework config */ +#define g_test_initialized() (g_test_config_vars->test_initialized) +#define g_test_quick() (g_test_config_vars->test_quick) +#define g_test_slow() (!g_test_config_vars->test_quick) +#define g_test_thorough() (!g_test_config_vars->test_quick) +#define g_test_perf() (g_test_config_vars->test_perf) +#define g_test_verbose() (g_test_config_vars->test_verbose) +#define g_test_quiet() (g_test_config_vars->test_quiet) +#define g_test_undefined() (g_test_config_vars->test_undefined) +GLIB_AVAILABLE_IN_2_38 +gboolean g_test_subprocess (void); + +/* run all tests under toplevel suite (path: /) */ +GLIB_AVAILABLE_IN_ALL +int g_test_run (void); +/* hook up a test functions under test path */ +GLIB_AVAILABLE_IN_ALL +void g_test_add_func (const char *testpath, + GTestFunc test_func); + +GLIB_AVAILABLE_IN_ALL +void g_test_add_data_func (const char *testpath, + gconstpointer test_data, + GTestDataFunc test_func); + +GLIB_AVAILABLE_IN_2_34 +void g_test_add_data_func_full (const char *testpath, + gpointer test_data, + GTestDataFunc test_func, + GDestroyNotify data_free_func); + +/* tell about currently run test */ +GLIB_AVAILABLE_IN_2_68 +const char * g_test_get_path (void); + +/* tell about failure */ +GLIB_AVAILABLE_IN_2_30 +void g_test_fail (void); +GLIB_AVAILABLE_IN_2_70 +void g_test_fail_printf (const char *format, + ...) G_GNUC_PRINTF (1, 2); +GLIB_AVAILABLE_IN_2_38 +void g_test_incomplete (const gchar *msg); +GLIB_AVAILABLE_IN_2_70 +void g_test_incomplete_printf (const char *format, + ...) G_GNUC_PRINTF (1, 2); +GLIB_AVAILABLE_IN_2_38 +void g_test_skip (const gchar *msg); +GLIB_AVAILABLE_IN_2_70 +void g_test_skip_printf (const char *format, + ...) G_GNUC_PRINTF (1, 2); +GLIB_AVAILABLE_IN_2_38 +gboolean g_test_failed (void); +GLIB_AVAILABLE_IN_2_38 +void g_test_set_nonfatal_assertions (void); +GLIB_AVAILABLE_IN_2_78 +void g_test_disable_crash_reporting (void); + +/** + * g_test_add: + * @testpath: The test path for a new test case. + * @Fixture: The type of a fixture data structure. + * @tdata: Data argument for the test functions. + * @fsetup: The function to set up the fixture data. + * @ftest: The actual test function. + * @fteardown: The function to tear down the fixture data. + * + * Hook up a new test case at @testpath, similar to g_test_add_func(). + * A fixture data structure with setup and teardown functions may be provided, + * similar to g_test_create_case(). + * + * g_test_add() is implemented as a macro, so that the fsetup(), ftest() and + * fteardown() callbacks can expect a @Fixture pointer as their first argument + * in a type safe manner. They otherwise have type #GTestFixtureFunc. + * + * Since: 2.16 + */ +#define g_test_add(testpath, Fixture, tdata, fsetup, ftest, fteardown) \ + G_STMT_START { \ + void (*add_vtable) (const char*, \ + gsize, \ + gconstpointer, \ + void (*) (Fixture*, gconstpointer), \ + void (*) (Fixture*, gconstpointer), \ + void (*) (Fixture*, gconstpointer)) = (void (*) (const gchar *, gsize, gconstpointer, void (*) (Fixture*, gconstpointer), void (*) (Fixture*, gconstpointer), void (*) (Fixture*, gconstpointer))) g_test_add_vtable; \ + add_vtable \ + (testpath, sizeof (Fixture), tdata, fsetup, ftest, fteardown); \ + } G_STMT_END + +/* add test messages to the test report */ +GLIB_AVAILABLE_IN_ALL +void g_test_message (const char *format, + ...) G_GNUC_PRINTF (1, 2); +GLIB_AVAILABLE_IN_ALL +void g_test_bug_base (const char *uri_pattern); +GLIB_AVAILABLE_IN_ALL +void g_test_bug (const char *bug_uri_snippet); +GLIB_AVAILABLE_IN_2_62 +void g_test_summary (const char *summary); +/* measure test timings */ +GLIB_AVAILABLE_IN_ALL +void g_test_timer_start (void); +GLIB_AVAILABLE_IN_ALL +double g_test_timer_elapsed (void); /* elapsed seconds */ +GLIB_AVAILABLE_IN_ALL +double g_test_timer_last (void); /* repeat last elapsed() result */ + +/* automatically g_free or g_object_unref upon teardown */ +GLIB_AVAILABLE_IN_ALL +void g_test_queue_free (gpointer gfree_pointer); +GLIB_AVAILABLE_IN_ALL +void g_test_queue_destroy (GDestroyNotify destroy_func, + gpointer destroy_data); +#define g_test_queue_unref(gobject) g_test_queue_destroy (g_object_unref, gobject) + +/** + * GTestTrapFlags: + * @G_TEST_TRAP_DEFAULT: Default behaviour. Since: 2.74 + * @G_TEST_TRAP_SILENCE_STDOUT: Redirect stdout of the test child to + * `/dev/null` so it cannot be observed on the console during test + * runs. The actual output is still captured though to allow later + * tests with g_test_trap_assert_stdout(). + * @G_TEST_TRAP_SILENCE_STDERR: Redirect stderr of the test child to + * `/dev/null` so it cannot be observed on the console during test + * runs. The actual output is still captured though to allow later + * tests with g_test_trap_assert_stderr(). + * @G_TEST_TRAP_INHERIT_STDIN: If this flag is given, stdin of the + * child process is shared with stdin of its parent process. + * It is redirected to `/dev/null` otherwise. + * + * Test traps are guards around forked tests. + * These flags determine what traps to set. + * + * Deprecated: 2.38: #GTestTrapFlags is used only with g_test_trap_fork(), + * which is deprecated. g_test_trap_subprocess() uses + * #GTestSubprocessFlags. + */ +typedef enum { + G_TEST_TRAP_DEFAULT GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 0, + G_TEST_TRAP_SILENCE_STDOUT = 1 << 7, + G_TEST_TRAP_SILENCE_STDERR = 1 << 8, + G_TEST_TRAP_INHERIT_STDIN = 1 << 9 +} GTestTrapFlags GLIB_DEPRECATED_TYPE_IN_2_38_FOR(GTestSubprocessFlags); + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + +GLIB_DEPRECATED_IN_2_38_FOR (g_test_trap_subprocess) +gboolean g_test_trap_fork (guint64 usec_timeout, + GTestTrapFlags test_trap_flags); + +G_GNUC_END_IGNORE_DEPRECATIONS + +typedef enum { + G_TEST_SUBPROCESS_DEFAULT GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 0, + G_TEST_SUBPROCESS_INHERIT_STDIN = 1 << 0, + G_TEST_SUBPROCESS_INHERIT_STDOUT = 1 << 1, + G_TEST_SUBPROCESS_INHERIT_STDERR = 1 << 2 +} GTestSubprocessFlags; + +GLIB_AVAILABLE_IN_2_38 +void g_test_trap_subprocess (const char *test_path, + guint64 usec_timeout, + GTestSubprocessFlags test_flags); + +GLIB_AVAILABLE_IN_ALL +gboolean g_test_trap_has_passed (void); +GLIB_AVAILABLE_IN_ALL +gboolean g_test_trap_reached_timeout (void); +#define g_test_trap_assert_passed() g_test_trap_assertions (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 0, 0) +#define g_test_trap_assert_failed() g_test_trap_assertions (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 1, 0) +#define g_test_trap_assert_stdout(soutpattern) g_test_trap_assertions (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 2, soutpattern) +#define g_test_trap_assert_stdout_unmatched(soutpattern) g_test_trap_assertions (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 3, soutpattern) +#define g_test_trap_assert_stderr(serrpattern) g_test_trap_assertions (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 4, serrpattern) +#define g_test_trap_assert_stderr_unmatched(serrpattern) g_test_trap_assertions (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 5, serrpattern) + +/* provide seed-able random numbers for tests */ +#define g_test_rand_bit() (0 != (g_test_rand_int() & (1 << 15))) +GLIB_AVAILABLE_IN_ALL +gint32 g_test_rand_int (void); +GLIB_AVAILABLE_IN_ALL +gint32 g_test_rand_int_range (gint32 begin, + gint32 end); +GLIB_AVAILABLE_IN_ALL +double g_test_rand_double (void); +GLIB_AVAILABLE_IN_ALL +double g_test_rand_double_range (double range_start, + double range_end); + +/* + * semi-internal API: non-documented symbols with stable ABI. You + * should use the non-internal helper macros instead. However, for + * compatibility reason, you may use this semi-internal API. + */ +GLIB_AVAILABLE_IN_ALL +GTestCase* g_test_create_case (const char *test_name, + gsize data_size, + gconstpointer test_data, + GTestFixtureFunc data_setup, + GTestFixtureFunc data_test, + GTestFixtureFunc data_teardown); +GLIB_AVAILABLE_IN_ALL +GTestSuite* g_test_create_suite (const char *suite_name); +GLIB_AVAILABLE_IN_ALL +GTestSuite* g_test_get_root (void); +GLIB_AVAILABLE_IN_ALL +void g_test_suite_add (GTestSuite *suite, + GTestCase *test_case); +GLIB_AVAILABLE_IN_ALL +void g_test_suite_add_suite (GTestSuite *suite, + GTestSuite *nestedsuite); +GLIB_AVAILABLE_IN_ALL +int g_test_run_suite (GTestSuite *suite); + +GLIB_AVAILABLE_IN_2_70 +void g_test_case_free (GTestCase *test_case); + +GLIB_AVAILABLE_IN_2_70 +void g_test_suite_free (GTestSuite *suite); + +GLIB_AVAILABLE_IN_ALL +void g_test_trap_assertions (const char *domain, + const char *file, + int line, + const char *func, + guint64 assertion_flags, /* 0-pass, 1-fail, 2-outpattern, 4-errpattern */ + const char *pattern); +GLIB_AVAILABLE_IN_ALL +void g_assertion_message (const char *domain, + const char *file, + int line, + const char *func, + const char *message) G_ANALYZER_NORETURN; +G_NORETURN +GLIB_AVAILABLE_IN_ALL +void g_assertion_message_expr (const char *domain, + const char *file, + int line, + const char *func, + const char *expr); +GLIB_AVAILABLE_IN_ALL +void g_assertion_message_cmpstr (const char *domain, + const char *file, + int line, + const char *func, + const char *expr, + const char *arg1, + const char *cmp, + const char *arg2) G_ANALYZER_NORETURN; + +GLIB_AVAILABLE_IN_2_68 +void g_assertion_message_cmpstrv (const char *domain, + const char *file, + int line, + const char *func, + const char *expr, + const char * const *arg1, + const char * const *arg2, + gsize first_wrong_idx) G_ANALYZER_NORETURN; +GLIB_AVAILABLE_IN_2_78 +void g_assertion_message_cmpint (const char *domain, + const char *file, + int line, + const char *func, + const char *expr, + guint64 arg1, + const char *cmp, + guint64 arg2, + char numtype) G_ANALYZER_NORETURN; +GLIB_AVAILABLE_IN_ALL +void g_assertion_message_cmpnum (const char *domain, + const char *file, + int line, + const char *func, + const char *expr, + long double arg1, + const char *cmp, + long double arg2, + char numtype) G_ANALYZER_NORETURN; +GLIB_AVAILABLE_IN_ALL +void g_assertion_message_error (const char *domain, + const char *file, + int line, + const char *func, + const char *expr, + const GError *error, + GQuark error_domain, + int error_code) G_ANALYZER_NORETURN; +GLIB_AVAILABLE_IN_ALL +void g_test_add_vtable (const char *testpath, + gsize data_size, + gconstpointer test_data, + GTestFixtureFunc data_setup, + GTestFixtureFunc data_test, + GTestFixtureFunc data_teardown); +typedef struct { + gboolean test_initialized; + gboolean test_quick; /* disable thorough tests */ + gboolean test_perf; /* run performance tests */ + gboolean test_verbose; /* extra info */ + gboolean test_quiet; /* reduce output */ + gboolean test_undefined; /* run tests that are meant to assert */ +} GTestConfig; +GLIB_VAR const GTestConfig * const g_test_config_vars; + +/* internal logging API */ +typedef enum { + G_TEST_RUN_SUCCESS, + G_TEST_RUN_SKIPPED, + G_TEST_RUN_FAILURE, + G_TEST_RUN_INCOMPLETE +} GTestResult; + +typedef enum { + G_TEST_LOG_NONE, + G_TEST_LOG_ERROR, /* s:msg */ + G_TEST_LOG_START_BINARY, /* s:binaryname s:seed */ + G_TEST_LOG_LIST_CASE, /* s:testpath */ + G_TEST_LOG_SKIP_CASE, /* s:testpath */ + G_TEST_LOG_START_CASE, /* s:testpath */ + G_TEST_LOG_STOP_CASE, /* d:status d:nforks d:elapsed */ + G_TEST_LOG_MIN_RESULT, /* s:blurb d:result */ + G_TEST_LOG_MAX_RESULT, /* s:blurb d:result */ + G_TEST_LOG_MESSAGE, /* s:blurb */ + G_TEST_LOG_START_SUITE, + G_TEST_LOG_STOP_SUITE +} GTestLogType; + +typedef struct { + GTestLogType log_type; + guint n_strings; + gchar **strings; /* NULL terminated */ + guint n_nums; + long double *nums; +} GTestLogMsg; +typedef struct { + /*< private >*/ + GString *data; + GSList *msgs; +} GTestLogBuffer; + +GLIB_AVAILABLE_IN_ALL +const char* g_test_log_type_name (GTestLogType log_type); +GLIB_AVAILABLE_IN_ALL +GTestLogBuffer* g_test_log_buffer_new (void); +GLIB_AVAILABLE_IN_ALL +void g_test_log_buffer_free (GTestLogBuffer *tbuffer); +GLIB_AVAILABLE_IN_ALL +void g_test_log_buffer_push (GTestLogBuffer *tbuffer, + guint n_bytes, + const guint8 *bytes); +GLIB_AVAILABLE_IN_ALL +GTestLogMsg* g_test_log_buffer_pop (GTestLogBuffer *tbuffer); +GLIB_AVAILABLE_IN_ALL +void g_test_log_msg_free (GTestLogMsg *tmsg); + +/** + * GTestLogFatalFunc: + * @log_domain: the log domain of the message + * @log_level: the log level of the message (including the fatal and recursion flags) + * @message: the message to process + * @user_data: user data, set in g_test_log_set_fatal_handler() + * + * Specifies the prototype of fatal log handler functions. + * + * Returns: %TRUE if the program should abort, %FALSE otherwise + * + * Since: 2.22 + */ +typedef gboolean (*GTestLogFatalFunc) (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *message, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +void +g_test_log_set_fatal_handler (GTestLogFatalFunc log_func, + gpointer user_data); + +GLIB_AVAILABLE_IN_2_34 +void g_test_expect_message (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *pattern); +GLIB_AVAILABLE_IN_2_34 +void g_test_assert_expected_messages_internal (const char *domain, + const char *file, + int line, + const char *func); + +typedef enum +{ + G_TEST_DIST, + G_TEST_BUILT +} GTestFileType; + +GLIB_AVAILABLE_IN_2_38 +gchar * g_test_build_filename (GTestFileType file_type, + const gchar *first_path, + ...) G_GNUC_NULL_TERMINATED; +GLIB_AVAILABLE_IN_2_38 +const gchar *g_test_get_dir (GTestFileType file_type); +GLIB_AVAILABLE_IN_2_38 +const gchar *g_test_get_filename (GTestFileType file_type, + const gchar *first_path, + ...) G_GNUC_NULL_TERMINATED; + +#define g_test_assert_expected_messages() g_test_assert_expected_messages_internal (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC) + +G_END_DECLS + +#endif /* __G_TEST_UTILS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gthread.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gthread.h new file mode 100644 index 0000000..14bb5a0 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gthread.h @@ -0,0 +1,603 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_THREAD_H__ +#define __G_THREAD_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include + +G_BEGIN_DECLS + +#define G_THREAD_ERROR g_thread_error_quark () +GLIB_AVAILABLE_IN_ALL +GQuark g_thread_error_quark (void); + +typedef enum +{ + G_THREAD_ERROR_AGAIN /* Resource temporarily unavailable */ +} GThreadError; + +typedef gpointer (*GThreadFunc) (gpointer data); + +typedef struct _GThread GThread; + +typedef union _GMutex GMutex; +typedef struct _GRecMutex GRecMutex; +typedef struct _GRWLock GRWLock; +typedef struct _GCond GCond; +typedef struct _GPrivate GPrivate; +typedef struct _GOnce GOnce; + +union _GMutex +{ + /*< private >*/ + gpointer p; + guint i[2]; +}; + +struct _GRWLock +{ + /*< private >*/ + gpointer p; + guint i[2]; +}; + +struct _GCond +{ + /*< private >*/ + gpointer p; + guint i[2]; +}; + +struct _GRecMutex +{ + /*< private >*/ + gpointer p; + guint i[2]; +}; + +#define G_PRIVATE_INIT(notify) { NULL, (notify), { NULL, NULL } } +struct _GPrivate +{ + /*< private >*/ + gpointer p; + GDestroyNotify notify; + gpointer future[2]; +}; + +typedef enum +{ + G_ONCE_STATUS_NOTCALLED, + G_ONCE_STATUS_PROGRESS, + G_ONCE_STATUS_READY +} GOnceStatus; + +#define G_ONCE_INIT { G_ONCE_STATUS_NOTCALLED, NULL } +struct _GOnce +{ + volatile GOnceStatus status; + volatile gpointer retval; +}; + +#define G_LOCK_NAME(name) g__ ## name ## _lock +#define G_LOCK_DEFINE_STATIC(name) static G_LOCK_DEFINE (name) +#define G_LOCK_DEFINE(name) GMutex G_LOCK_NAME (name) +#define G_LOCK_EXTERN(name) extern GMutex G_LOCK_NAME (name) + +#ifdef G_DEBUG_LOCKS +# define G_LOCK(name) G_STMT_START{ \ + g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, \ + "file %s: line %d (%s): locking: %s ", \ + __FILE__, __LINE__, G_STRFUNC, \ + #name); \ + g_mutex_lock (&G_LOCK_NAME (name)); \ + }G_STMT_END +# define G_UNLOCK(name) G_STMT_START{ \ + g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, \ + "file %s: line %d (%s): unlocking: %s ", \ + __FILE__, __LINE__, G_STRFUNC, \ + #name); \ + g_mutex_unlock (&G_LOCK_NAME (name)); \ + }G_STMT_END +# define G_TRYLOCK(name) \ + (g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, \ + "file %s: line %d (%s): try locking: %s ", \ + __FILE__, __LINE__, G_STRFUNC, \ + #name), g_mutex_trylock (&G_LOCK_NAME (name))) +#else /* !G_DEBUG_LOCKS */ +# define G_LOCK(name) g_mutex_lock (&G_LOCK_NAME (name)) +# define G_UNLOCK(name) g_mutex_unlock (&G_LOCK_NAME (name)) +# define G_TRYLOCK(name) g_mutex_trylock (&G_LOCK_NAME (name)) +#endif /* !G_DEBUG_LOCKS */ + +GLIB_AVAILABLE_IN_2_32 +GThread * g_thread_ref (GThread *thread); +GLIB_AVAILABLE_IN_2_32 +void g_thread_unref (GThread *thread); +GLIB_AVAILABLE_IN_2_32 +GThread * g_thread_new (const gchar *name, + GThreadFunc func, + gpointer data); +GLIB_AVAILABLE_IN_2_32 +GThread * g_thread_try_new (const gchar *name, + GThreadFunc func, + gpointer data, + GError **error); +GLIB_AVAILABLE_IN_ALL +GThread * g_thread_self (void); +G_NORETURN GLIB_AVAILABLE_IN_ALL +void g_thread_exit (gpointer retval); +GLIB_AVAILABLE_IN_ALL +gpointer g_thread_join (GThread *thread); +GLIB_AVAILABLE_IN_ALL +void g_thread_yield (void); + + +GLIB_AVAILABLE_IN_2_32 +void g_mutex_init (GMutex *mutex); +GLIB_AVAILABLE_IN_2_32 +void g_mutex_clear (GMutex *mutex); +GLIB_AVAILABLE_IN_ALL +void g_mutex_lock (GMutex *mutex); +GLIB_AVAILABLE_IN_ALL +gboolean g_mutex_trylock (GMutex *mutex); +GLIB_AVAILABLE_IN_ALL +void g_mutex_unlock (GMutex *mutex); + +GLIB_AVAILABLE_IN_2_32 +void g_rw_lock_init (GRWLock *rw_lock); +GLIB_AVAILABLE_IN_2_32 +void g_rw_lock_clear (GRWLock *rw_lock); +GLIB_AVAILABLE_IN_2_32 +void g_rw_lock_writer_lock (GRWLock *rw_lock); +GLIB_AVAILABLE_IN_2_32 +gboolean g_rw_lock_writer_trylock (GRWLock *rw_lock); +GLIB_AVAILABLE_IN_2_32 +void g_rw_lock_writer_unlock (GRWLock *rw_lock); +GLIB_AVAILABLE_IN_2_32 +void g_rw_lock_reader_lock (GRWLock *rw_lock); +GLIB_AVAILABLE_IN_2_32 +gboolean g_rw_lock_reader_trylock (GRWLock *rw_lock); +GLIB_AVAILABLE_IN_2_32 +void g_rw_lock_reader_unlock (GRWLock *rw_lock); + +GLIB_AVAILABLE_IN_2_32 +void g_rec_mutex_init (GRecMutex *rec_mutex); +GLIB_AVAILABLE_IN_2_32 +void g_rec_mutex_clear (GRecMutex *rec_mutex); +GLIB_AVAILABLE_IN_2_32 +void g_rec_mutex_lock (GRecMutex *rec_mutex); +GLIB_AVAILABLE_IN_2_32 +gboolean g_rec_mutex_trylock (GRecMutex *rec_mutex); +GLIB_AVAILABLE_IN_2_32 +void g_rec_mutex_unlock (GRecMutex *rec_mutex); + +GLIB_AVAILABLE_IN_2_32 +void g_cond_init (GCond *cond); +GLIB_AVAILABLE_IN_2_32 +void g_cond_clear (GCond *cond); +GLIB_AVAILABLE_IN_ALL +void g_cond_wait (GCond *cond, + GMutex *mutex); +GLIB_AVAILABLE_IN_ALL +void g_cond_signal (GCond *cond); +GLIB_AVAILABLE_IN_ALL +void g_cond_broadcast (GCond *cond); +GLIB_AVAILABLE_IN_2_32 +gboolean g_cond_wait_until (GCond *cond, + GMutex *mutex, + gint64 end_time); + +GLIB_AVAILABLE_IN_ALL +gpointer g_private_get (GPrivate *key); +GLIB_AVAILABLE_IN_ALL +void g_private_set (GPrivate *key, + gpointer value); +GLIB_AVAILABLE_IN_2_32 +void g_private_replace (GPrivate *key, + gpointer value); + +GLIB_AVAILABLE_IN_ALL +gpointer g_once_impl (GOnce *once, + GThreadFunc func, + gpointer arg); +GLIB_AVAILABLE_IN_ALL +gboolean g_once_init_enter (volatile void *location); +GLIB_AVAILABLE_IN_ALL +void g_once_init_leave (volatile void *location, + gsize result); + +/* Use C11-style atomic extensions to check the fast path for status=ready. If + * they are not available, fall back to using a mutex and condition variable in + * g_once_impl(). + * + * On the C11-style codepath, only the load of once->status needs to be atomic, + * as the writes to it and once->retval in g_once_impl() are related by a + * happens-before relation. Release-acquire semantics are defined such that any + * atomic/non-atomic write which happens-before a store/release is guaranteed to + * be seen by the load/acquire of the same atomic variable. */ +#if defined(G_ATOMIC_LOCK_FREE) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) && defined(__ATOMIC_SEQ_CST) +# define g_once(once, func, arg) \ + ((__atomic_load_n (&(once)->status, __ATOMIC_ACQUIRE) == G_ONCE_STATUS_READY) ? \ + (once)->retval : \ + g_once_impl ((once), (func), (arg))) +#else +# define g_once(once, func, arg) g_once_impl ((once), (func), (arg)) +#endif + +#ifdef __GNUC__ +# define g_once_init_enter(location) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer)); \ + (void) (0 ? (gpointer) *(location) : NULL); \ + (!g_atomic_pointer_get (location) && \ + g_once_init_enter (location)); \ + })) +# define g_once_init_leave(location, result) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer)); \ + 0 ? (void) (*(location) = (result)) : (void) 0; \ + g_once_init_leave ((location), (gsize) (result)); \ + })) +#else +# define g_once_init_enter(location) \ + (g_once_init_enter((location))) +# define g_once_init_leave(location, result) \ + (g_once_init_leave((location), (gsize) (result))) +#endif + +GLIB_AVAILABLE_IN_2_36 +guint g_get_num_processors (void); + +/** + * GMutexLocker: + * + * Opaque type. See g_mutex_locker_new() for details. + * Since: 2.44 + */ +typedef void GMutexLocker; + +/** + * g_mutex_locker_new: + * @mutex: a mutex to lock + * + * Lock @mutex and return a new #GMutexLocker. Unlock with + * g_mutex_locker_free(). Using g_mutex_unlock() on @mutex + * while a #GMutexLocker exists can lead to undefined behaviour. + * + * No allocation is performed, it is equivalent to a g_mutex_lock() call. + * + * This is intended to be used with g_autoptr(). Note that g_autoptr() + * is only available when using GCC or clang, so the following example + * will only work with those compilers: + * |[ + * typedef struct + * { + * ... + * GMutex mutex; + * ... + * } MyObject; + * + * static void + * my_object_do_stuff (MyObject *self) + * { + * g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&self->mutex); + * + * // Code with mutex locked here + * + * if (cond) + * // No need to unlock + * return; + * + * // Optionally early unlock + * g_clear_pointer (&locker, g_mutex_locker_free); + * + * // Code with mutex unlocked here + * } + * ]| + * + * Returns: a #GMutexLocker + * Since: 2.44 + */ +GLIB_AVAILABLE_STATIC_INLINE_IN_2_44 +static inline GMutexLocker * +g_mutex_locker_new (GMutex *mutex) +{ + g_mutex_lock (mutex); + return (GMutexLocker *) mutex; +} + +/** + * g_mutex_locker_free: + * @locker: a GMutexLocker + * + * Unlock @locker's mutex. See g_mutex_locker_new() for details. + * + * No memory is freed, it is equivalent to a g_mutex_unlock() call. + * + * Since: 2.44 + */ +GLIB_AVAILABLE_STATIC_INLINE_IN_2_44 +static inline void +g_mutex_locker_free (GMutexLocker *locker) +{ + g_mutex_unlock ((GMutex *) locker); +} + +/** + * GRecMutexLocker: + * + * Opaque type. See g_rec_mutex_locker_new() for details. + * Since: 2.60 + */ +typedef void GRecMutexLocker; + +/** + * g_rec_mutex_locker_new: + * @rec_mutex: a recursive mutex to lock + * + * Lock @rec_mutex and return a new #GRecMutexLocker. Unlock with + * g_rec_mutex_locker_free(). Using g_rec_mutex_unlock() on @rec_mutex + * while a #GRecMutexLocker exists can lead to undefined behaviour. + * + * No allocation is performed, it is equivalent to a g_rec_mutex_lock() call. + * + * This is intended to be used with g_autoptr(). Note that g_autoptr() + * is only available when using GCC or clang, so the following example + * will only work with those compilers: + * |[ + * typedef struct + * { + * ... + * GRecMutex rec_mutex; + * ... + * } MyObject; + * + * static void + * my_object_do_stuff (MyObject *self) + * { + * g_autoptr(GRecMutexLocker) locker = g_rec_mutex_locker_new (&self->rec_mutex); + * + * // Code with rec_mutex locked here + * + * if (cond) + * // No need to unlock + * return; + * + * // Optionally early unlock + * g_clear_pointer (&locker, g_rec_mutex_locker_free); + * + * // Code with rec_mutex unlocked here + * } + * ]| + * + * Returns: a #GRecMutexLocker + * Since: 2.60 + */ +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_AVAILABLE_STATIC_INLINE_IN_2_60 +static inline GRecMutexLocker * +g_rec_mutex_locker_new (GRecMutex *rec_mutex) +{ + g_rec_mutex_lock (rec_mutex); + return (GRecMutexLocker *) rec_mutex; +} +G_GNUC_END_IGNORE_DEPRECATIONS + +/** + * g_rec_mutex_locker_free: + * @locker: a GRecMutexLocker + * + * Unlock @locker's recursive mutex. See g_rec_mutex_locker_new() for details. + * + * No memory is freed, it is equivalent to a g_rec_mutex_unlock() call. + * + * Since: 2.60 + */ +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_AVAILABLE_STATIC_INLINE_IN_2_60 +static inline void +g_rec_mutex_locker_free (GRecMutexLocker *locker) +{ + g_rec_mutex_unlock ((GRecMutex *) locker); +} +G_GNUC_END_IGNORE_DEPRECATIONS + +/** + * GRWLockWriterLocker: + * + * Opaque type. See g_rw_lock_writer_locker_new() for details. + * Since: 2.62 + */ +typedef void GRWLockWriterLocker; + +/** + * g_rw_lock_writer_locker_new: + * @rw_lock: a #GRWLock + * + * Obtain a write lock on @rw_lock and return a new #GRWLockWriterLocker. + * Unlock with g_rw_lock_writer_locker_free(). Using g_rw_lock_writer_unlock() + * on @rw_lock while a #GRWLockWriterLocker exists can lead to undefined + * behaviour. + * + * No allocation is performed, it is equivalent to a g_rw_lock_writer_lock() call. + * + * This is intended to be used with g_autoptr(). Note that g_autoptr() + * is only available when using GCC or clang, so the following example + * will only work with those compilers: + * |[ + * typedef struct + * { + * ... + * GRWLock rw_lock; + * GPtrArray *array; + * ... + * } MyObject; + * + * static gchar * + * my_object_get_data (MyObject *self, guint index) + * { + * g_autoptr(GRWLockReaderLocker) locker = g_rw_lock_reader_locker_new (&self->rw_lock); + * + * // Code with a read lock obtained on rw_lock here + * + * if (self->array == NULL) + * // No need to unlock + * return NULL; + * + * if (index < self->array->len) + * // No need to unlock + * return g_ptr_array_index (self->array, index); + * + * // Optionally early unlock + * g_clear_pointer (&locker, g_rw_lock_reader_locker_free); + * + * // Code with rw_lock unlocked here + * return NULL; + * } + * + * static void + * my_object_set_data (MyObject *self, guint index, gpointer data) + * { + * g_autoptr(GRWLockWriterLocker) locker = g_rw_lock_writer_locker_new (&self->rw_lock); + * + * // Code with a write lock obtained on rw_lock here + * + * if (self->array == NULL) + * self->array = g_ptr_array_new (); + * + * if (cond) + * // No need to unlock + * return; + * + * if (index >= self->array->len) + * g_ptr_array_set_size (self->array, index+1); + * g_ptr_array_index (self->array, index) = data; + * + * // Optionally early unlock + * g_clear_pointer (&locker, g_rw_lock_writer_locker_free); + * + * // Code with rw_lock unlocked here + * } + * ]| + * + * Returns: a #GRWLockWriterLocker + * Since: 2.62 + */ +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_AVAILABLE_STATIC_INLINE_IN_2_62 +static inline GRWLockWriterLocker * +g_rw_lock_writer_locker_new (GRWLock *rw_lock) +{ + g_rw_lock_writer_lock (rw_lock); + return (GRWLockWriterLocker *) rw_lock; +} +G_GNUC_END_IGNORE_DEPRECATIONS + +/** + * g_rw_lock_writer_locker_free: + * @locker: a GRWLockWriterLocker + * + * Release a write lock on @locker's read-write lock. See + * g_rw_lock_writer_locker_new() for details. + * + * No memory is freed, it is equivalent to a g_rw_lock_writer_unlock() call. + * + * Since: 2.62 + */ +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_AVAILABLE_STATIC_INLINE_IN_2_62 +static inline void +g_rw_lock_writer_locker_free (GRWLockWriterLocker *locker) +{ + g_rw_lock_writer_unlock ((GRWLock *) locker); +} +G_GNUC_END_IGNORE_DEPRECATIONS + +/** + * GRWLockReaderLocker: + * + * Opaque type. See g_rw_lock_reader_locker_new() for details. + * Since: 2.62 + */ +typedef void GRWLockReaderLocker; + +/** + * g_rw_lock_reader_locker_new: + * @rw_lock: a #GRWLock + * + * Obtain a read lock on @rw_lock and return a new #GRWLockReaderLocker. + * Unlock with g_rw_lock_reader_locker_free(). Using g_rw_lock_reader_unlock() + * on @rw_lock while a #GRWLockReaderLocker exists can lead to undefined + * behaviour. + * + * No allocation is performed, it is equivalent to a g_rw_lock_reader_lock() call. + * + * This is intended to be used with g_autoptr(). For a code sample, see + * g_rw_lock_writer_locker_new(). + * + * Returns: a #GRWLockReaderLocker + * Since: 2.62 + */ +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_AVAILABLE_STATIC_INLINE_IN_2_62 +static inline GRWLockReaderLocker * +g_rw_lock_reader_locker_new (GRWLock *rw_lock) +{ + g_rw_lock_reader_lock (rw_lock); + return (GRWLockReaderLocker *) rw_lock; +} +G_GNUC_END_IGNORE_DEPRECATIONS + +/** + * g_rw_lock_reader_locker_free: + * @locker: a GRWLockReaderLocker + * + * Release a read lock on @locker's read-write lock. See + * g_rw_lock_reader_locker_new() for details. + * + * No memory is freed, it is equivalent to a g_rw_lock_reader_unlock() call. + * + * Since: 2.62 + */ +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_AVAILABLE_STATIC_INLINE_IN_2_62 +static inline void +g_rw_lock_reader_locker_free (GRWLockReaderLocker *locker) +{ + g_rw_lock_reader_unlock ((GRWLock *) locker); +} +G_GNUC_END_IGNORE_DEPRECATIONS + +G_END_DECLS + +#endif /* __G_THREAD_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gthreadpool.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gthreadpool.h new file mode 100644 index 0000000..921bee4 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gthreadpool.h @@ -0,0 +1,105 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_THREADPOOL_H__ +#define __G_THREADPOOL_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +typedef struct _GThreadPool GThreadPool; + +/* Thread Pools + */ + +struct _GThreadPool +{ + GFunc func; + gpointer user_data; + gboolean exclusive; +}; + +GLIB_AVAILABLE_IN_ALL +GThreadPool * g_thread_pool_new (GFunc func, + gpointer user_data, + gint max_threads, + gboolean exclusive, + GError **error); +GLIB_AVAILABLE_IN_2_70 +GThreadPool * g_thread_pool_new_full (GFunc func, + gpointer user_data, + GDestroyNotify item_free_func, + gint max_threads, + gboolean exclusive, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_thread_pool_free (GThreadPool *pool, + gboolean immediate, + gboolean wait_); +GLIB_AVAILABLE_IN_ALL +gboolean g_thread_pool_push (GThreadPool *pool, + gpointer data, + GError **error); +GLIB_AVAILABLE_IN_ALL +guint g_thread_pool_unprocessed (GThreadPool *pool); +GLIB_AVAILABLE_IN_ALL +void g_thread_pool_set_sort_function (GThreadPool *pool, + GCompareDataFunc func, + gpointer user_data); +GLIB_AVAILABLE_IN_2_46 +gboolean g_thread_pool_move_to_front (GThreadPool *pool, + gpointer data); + +GLIB_AVAILABLE_IN_ALL +gboolean g_thread_pool_set_max_threads (GThreadPool *pool, + gint max_threads, + GError **error); +GLIB_AVAILABLE_IN_ALL +gint g_thread_pool_get_max_threads (GThreadPool *pool); +GLIB_AVAILABLE_IN_ALL +guint g_thread_pool_get_num_threads (GThreadPool *pool); + +GLIB_AVAILABLE_IN_ALL +void g_thread_pool_set_max_unused_threads (gint max_threads); +GLIB_AVAILABLE_IN_ALL +gint g_thread_pool_get_max_unused_threads (void); +GLIB_AVAILABLE_IN_ALL +guint g_thread_pool_get_num_unused_threads (void); +GLIB_AVAILABLE_IN_ALL +void g_thread_pool_stop_unused_threads (void); +GLIB_AVAILABLE_IN_ALL +void g_thread_pool_set_max_idle_time (guint interval); +GLIB_AVAILABLE_IN_ALL +guint g_thread_pool_get_max_idle_time (void); + +G_END_DECLS + +#endif /* __G_THREADPOOL_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gtimer.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gtimer.h new file mode 100644 index 0000000..439ffad --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gtimer.h @@ -0,0 +1,80 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_TIMER_H__ +#define __G_TIMER_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/* Timer + */ + +/* microseconds per second */ +typedef struct _GTimer GTimer; + +#define G_USEC_PER_SEC 1000000 + +GLIB_AVAILABLE_IN_ALL +GTimer* g_timer_new (void); +GLIB_AVAILABLE_IN_ALL +void g_timer_destroy (GTimer *timer); +GLIB_AVAILABLE_IN_ALL +void g_timer_start (GTimer *timer); +GLIB_AVAILABLE_IN_ALL +void g_timer_stop (GTimer *timer); +GLIB_AVAILABLE_IN_ALL +void g_timer_reset (GTimer *timer); +GLIB_AVAILABLE_IN_ALL +void g_timer_continue (GTimer *timer); +GLIB_AVAILABLE_IN_ALL +gdouble g_timer_elapsed (GTimer *timer, + gulong *microseconds); +GLIB_AVAILABLE_IN_2_62 +gboolean g_timer_is_active (GTimer *timer); + +GLIB_AVAILABLE_IN_ALL +void g_usleep (gulong microseconds); + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_DEPRECATED_IN_2_62 +void g_time_val_add (GTimeVal *time_, + glong microseconds); +GLIB_DEPRECATED_IN_2_62_FOR(g_date_time_new_from_iso8601) +gboolean g_time_val_from_iso8601 (const gchar *iso_date, + GTimeVal *time_); +GLIB_DEPRECATED_IN_2_62_FOR(g_date_time_format) +gchar* g_time_val_to_iso8601 (GTimeVal *time_) G_GNUC_MALLOC; +G_GNUC_END_IGNORE_DEPRECATIONS + +G_END_DECLS + +#endif /* __G_TIMER_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gtimezone.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gtimezone.h new file mode 100644 index 0000000..679ed4e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gtimezone.h @@ -0,0 +1,98 @@ +/* + * Copyright © 2010 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + * + * Author: Ryan Lortie + */ + +#ifndef __G_TIME_ZONE_H__ +#define __G_TIME_ZONE_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +typedef struct _GTimeZone GTimeZone; + +/** + * GTimeType: + * @G_TIME_TYPE_STANDARD: the time is in local standard time + * @G_TIME_TYPE_DAYLIGHT: the time is in local daylight time + * @G_TIME_TYPE_UNIVERSAL: the time is in UTC + * + * Disambiguates a given time in two ways. + * + * First, specifies if the given time is in universal or local time. + * + * Second, if the time is in local time, specifies if it is local + * standard time or local daylight time. This is important for the case + * where the same local time occurs twice (during daylight savings time + * transitions, for example). + */ +typedef enum +{ + G_TIME_TYPE_STANDARD, + G_TIME_TYPE_DAYLIGHT, + G_TIME_TYPE_UNIVERSAL +} GTimeType; + +GLIB_DEPRECATED_IN_2_68_FOR (g_time_zone_new_identifier) +GTimeZone * g_time_zone_new (const gchar *identifier); +GLIB_AVAILABLE_IN_2_68 +GTimeZone * g_time_zone_new_identifier (const gchar *identifier); +GLIB_AVAILABLE_IN_ALL +GTimeZone * g_time_zone_new_utc (void); +GLIB_AVAILABLE_IN_ALL +GTimeZone * g_time_zone_new_local (void); +GLIB_AVAILABLE_IN_2_58 +GTimeZone * g_time_zone_new_offset (gint32 seconds); + +GLIB_AVAILABLE_IN_ALL +GTimeZone * g_time_zone_ref (GTimeZone *tz); +GLIB_AVAILABLE_IN_ALL +void g_time_zone_unref (GTimeZone *tz); + +GLIB_AVAILABLE_IN_ALL +gint g_time_zone_find_interval (GTimeZone *tz, + GTimeType type, + gint64 time_); + +GLIB_AVAILABLE_IN_ALL +gint g_time_zone_adjust_time (GTimeZone *tz, + GTimeType type, + gint64 *time_); + +GLIB_AVAILABLE_IN_ALL +const gchar * g_time_zone_get_abbreviation (GTimeZone *tz, + gint interval); +GLIB_AVAILABLE_IN_ALL +gint32 g_time_zone_get_offset (GTimeZone *tz, + gint interval); +GLIB_AVAILABLE_IN_ALL +gboolean g_time_zone_is_dst (GTimeZone *tz, + gint interval); +GLIB_AVAILABLE_IN_2_58 +const gchar * g_time_zone_get_identifier (GTimeZone *tz); + +G_END_DECLS + +#endif /* __G_TIME_ZONE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gtrashstack.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gtrashstack.h new file mode 100644 index 0000000..81456d3 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gtrashstack.h @@ -0,0 +1,60 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_TRASH_STACK_H__ +#define __G_TRASH_STACK_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + +typedef struct _GTrashStack GTrashStack GLIB_DEPRECATED_TYPE_IN_2_48; +struct _GTrashStack +{ + GTrashStack *next; +} GLIB_DEPRECATED_TYPE_IN_2_48; + +GLIB_DEPRECATED_IN_2_48 +void g_trash_stack_push (GTrashStack **stack_p, + gpointer data_p); +GLIB_DEPRECATED_IN_2_48 +gpointer g_trash_stack_pop (GTrashStack **stack_p); +GLIB_DEPRECATED_IN_2_48 +gpointer g_trash_stack_peek (GTrashStack **stack_p); +GLIB_DEPRECATED_IN_2_48 +guint g_trash_stack_height (GTrashStack **stack_p); + +G_GNUC_END_IGNORE_DEPRECATIONS + +G_END_DECLS + +#endif /* __G_TRASH_STACK_H_ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gtree.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gtree.h new file mode 100644 index 0000000..74ab9ce --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gtree.h @@ -0,0 +1,181 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_TREE_H__ +#define __G_TREE_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#undef G_TREE_DEBUG + +typedef struct _GTree GTree; + +/** + * GTreeNode: + * + * An opaque type which identifies a specific node in a #GTree. + * + * Since: 2.68 + */ +typedef struct _GTreeNode GTreeNode; + +typedef gboolean (*GTraverseFunc) (gpointer key, + gpointer value, + gpointer data); + +/** + * GTraverseNodeFunc: + * @node: a #GTreeNode + * @data: user data passed to g_tree_foreach_node() + * + * Specifies the type of function passed to g_tree_foreach_node(). It is + * passed each node, together with the @user_data parameter passed to + * g_tree_foreach_node(). If the function returns %TRUE, the traversal is + * stopped. + * + * Returns: %TRUE to stop the traversal + * Since: 2.68 + */ +typedef gboolean (*GTraverseNodeFunc) (GTreeNode *node, + gpointer data); + +/* Balanced binary trees + */ +GLIB_AVAILABLE_IN_ALL +GTree* g_tree_new (GCompareFunc key_compare_func); +GLIB_AVAILABLE_IN_ALL +GTree* g_tree_new_with_data (GCompareDataFunc key_compare_func, + gpointer key_compare_data); +GLIB_AVAILABLE_IN_ALL +GTree* g_tree_new_full (GCompareDataFunc key_compare_func, + gpointer key_compare_data, + GDestroyNotify key_destroy_func, + GDestroyNotify value_destroy_func); +GLIB_AVAILABLE_IN_2_68 +GTreeNode *g_tree_node_first (GTree *tree); +GLIB_AVAILABLE_IN_2_68 +GTreeNode *g_tree_node_last (GTree *tree); +GLIB_AVAILABLE_IN_2_68 +GTreeNode *g_tree_node_previous (GTreeNode *node); +GLIB_AVAILABLE_IN_2_68 +GTreeNode *g_tree_node_next (GTreeNode *node); +GLIB_AVAILABLE_IN_ALL +GTree* g_tree_ref (GTree *tree); +GLIB_AVAILABLE_IN_ALL +void g_tree_unref (GTree *tree); +GLIB_AVAILABLE_IN_ALL +void g_tree_destroy (GTree *tree); +GLIB_AVAILABLE_IN_2_68 +GTreeNode *g_tree_insert_node (GTree *tree, + gpointer key, + gpointer value); +GLIB_AVAILABLE_IN_ALL +void g_tree_insert (GTree *tree, + gpointer key, + gpointer value); +GLIB_AVAILABLE_IN_2_68 +GTreeNode *g_tree_replace_node (GTree *tree, + gpointer key, + gpointer value); +GLIB_AVAILABLE_IN_ALL +void g_tree_replace (GTree *tree, + gpointer key, + gpointer value); +GLIB_AVAILABLE_IN_ALL +gboolean g_tree_remove (GTree *tree, + gconstpointer key); + +GLIB_AVAILABLE_IN_2_70 +void g_tree_remove_all (GTree *tree); + +GLIB_AVAILABLE_IN_ALL +gboolean g_tree_steal (GTree *tree, + gconstpointer key); +GLIB_AVAILABLE_IN_2_68 +gpointer g_tree_node_key (GTreeNode *node); +GLIB_AVAILABLE_IN_2_68 +gpointer g_tree_node_value (GTreeNode *node); +GLIB_AVAILABLE_IN_2_68 +GTreeNode *g_tree_lookup_node (GTree *tree, + gconstpointer key); +GLIB_AVAILABLE_IN_ALL +gpointer g_tree_lookup (GTree *tree, + gconstpointer key); +GLIB_AVAILABLE_IN_ALL +gboolean g_tree_lookup_extended (GTree *tree, + gconstpointer lookup_key, + gpointer *orig_key, + gpointer *value); +GLIB_AVAILABLE_IN_ALL +void g_tree_foreach (GTree *tree, + GTraverseFunc func, + gpointer user_data); +GLIB_AVAILABLE_IN_2_68 +void g_tree_foreach_node (GTree *tree, + GTraverseNodeFunc func, + gpointer user_data); + +GLIB_DEPRECATED +void g_tree_traverse (GTree *tree, + GTraverseFunc traverse_func, + GTraverseType traverse_type, + gpointer user_data); + +GLIB_AVAILABLE_IN_2_68 +GTreeNode *g_tree_search_node (GTree *tree, + GCompareFunc search_func, + gconstpointer user_data); +GLIB_AVAILABLE_IN_ALL +gpointer g_tree_search (GTree *tree, + GCompareFunc search_func, + gconstpointer user_data); +GLIB_AVAILABLE_IN_2_68 +GTreeNode *g_tree_lower_bound (GTree *tree, + gconstpointer key); +GLIB_AVAILABLE_IN_2_68 +GTreeNode *g_tree_upper_bound (GTree *tree, + gconstpointer key); +GLIB_AVAILABLE_IN_ALL +gint g_tree_height (GTree *tree); +GLIB_AVAILABLE_IN_ALL +gint g_tree_nnodes (GTree *tree); + +#ifdef G_TREE_DEBUG +/*< private >*/ +#ifndef __GTK_DOC_IGNORE__ +void g_tree_dump (GTree *tree); +#endif /* !__GTK_DOC_IGNORE__ */ +#endif /* G_TREE_DEBUG */ + +G_END_DECLS + +#endif /* __G_TREE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gtypes.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gtypes.h new file mode 100644 index 0000000..9d912d5 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gtypes.h @@ -0,0 +1,591 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_TYPES_H__ +#define __G_TYPES_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include + +/* Must be included after the 3 headers above */ +#include + +#include + +G_BEGIN_DECLS + +/* Provide type definitions for commonly used types. + * These are useful because a "gint8" can be adjusted + * to be 1 byte (8 bits) on all platforms. Similarly and + * more importantly, "gint32" can be adjusted to be + * 4 bytes (32 bits) on all platforms. + */ + +typedef char gchar; +typedef short gshort; +typedef long glong; +typedef int gint; +typedef gint gboolean; + +typedef unsigned char guchar; +typedef unsigned short gushort; +typedef unsigned long gulong; +typedef unsigned int guint; + +typedef float gfloat; +typedef double gdouble; + +/* Define min and max constants for the fixed size numerical types */ +/** + * G_MININT8: (value -128) + * + * The minimum value which can be held in a #gint8. + * + * Since: 2.4 + */ +#define G_MININT8 ((gint8) (-G_MAXINT8 - 1)) +#define G_MAXINT8 ((gint8) 0x7f) +#define G_MAXUINT8 ((guint8) 0xff) + +/** + * G_MININT16: (value -32768) + * + * The minimum value which can be held in a #gint16. + * + * Since: 2.4 + */ +#define G_MININT16 ((gint16) (-G_MAXINT16 - 1)) +#define G_MAXINT16 ((gint16) 0x7fff) +#define G_MAXUINT16 ((guint16) 0xffff) + +/** + * G_MININT32: (value -2147483648) + * + * The minimum value which can be held in a #gint32. + * + * Since: 2.4 + */ +#define G_MININT32 ((gint32) (-G_MAXINT32 - 1)) +#define G_MAXINT32 ((gint32) 0x7fffffff) +#define G_MAXUINT32 ((guint32) 0xffffffff) + +/** + * G_MININT64: (value -9223372036854775808) + * + * The minimum value which can be held in a #gint64. + */ +#define G_MININT64 ((gint64) (-G_MAXINT64 - G_GINT64_CONSTANT(1))) +#define G_MAXINT64 G_GINT64_CONSTANT(0x7fffffffffffffff) +#define G_MAXUINT64 G_GUINT64_CONSTANT(0xffffffffffffffff) + +typedef void* gpointer; +typedef const void *gconstpointer; + +typedef gint (*GCompareFunc) (gconstpointer a, + gconstpointer b); +typedef gint (*GCompareDataFunc) (gconstpointer a, + gconstpointer b, + gpointer user_data); +typedef gboolean (*GEqualFunc) (gconstpointer a, + gconstpointer b); + +/** + * GEqualFuncFull: + * @a: a value + * @b: a value to compare with + * @user_data: user data provided by the caller + * + * Specifies the type of a function used to test two values for + * equality. The function should return %TRUE if both values are equal + * and %FALSE otherwise. + * + * This is a version of #GEqualFunc which provides a @user_data closure from + * the caller. + * + * Returns: %TRUE if @a = @b; %FALSE otherwise + * Since: 2.74 + */ +typedef gboolean (*GEqualFuncFull) (gconstpointer a, + gconstpointer b, + gpointer user_data); + +typedef void (*GDestroyNotify) (gpointer data); +typedef void (*GFunc) (gpointer data, + gpointer user_data); +typedef guint (*GHashFunc) (gconstpointer key); +typedef void (*GHFunc) (gpointer key, + gpointer value, + gpointer user_data); + +/** + * GCopyFunc: + * @src: (not nullable): A pointer to the data which should be copied + * @data: Additional data + * + * A function of this signature is used to copy the node data + * when doing a deep-copy of a tree. + * + * Returns: (not nullable): A pointer to the copy + * + * Since: 2.4 + */ +typedef gpointer (*GCopyFunc) (gconstpointer src, + gpointer data); +/** + * GFreeFunc: + * @data: a data pointer + * + * Declares a type of function which takes an arbitrary + * data pointer argument and has no return value. It is + * not currently used in GLib or GTK. + */ +typedef void (*GFreeFunc) (gpointer data); + +/** + * GTranslateFunc: + * @str: the untranslated string + * @data: user data specified when installing the function, e.g. + * in g_option_group_set_translate_func() + * + * The type of functions which are used to translate user-visible + * strings, for output. + * + * Returns: a translation of the string for the current locale. + * The returned string is owned by GLib and must not be freed. + */ +typedef const gchar * (*GTranslateFunc) (const gchar *str, + gpointer data); + + +/* Define some mathematical constants that aren't available + * symbolically in some strict ISO C implementations. + * + * Note that the large number of digits used in these definitions + * doesn't imply that GLib or current computers in general would be + * able to handle floating point numbers with an accuracy like this. + * It's mostly an exercise in futility and future proofing. For + * extended precision floating point support, look somewhere else + * than GLib. + */ +#define G_E 2.7182818284590452353602874713526624977572470937000 +#define G_LN2 0.69314718055994530941723212145817656807550013436026 +#define G_LN10 2.3025850929940456840179914546843642076011014886288 +#define G_PI 3.1415926535897932384626433832795028841971693993751 +#define G_PI_2 1.5707963267948966192313216916397514420985846996876 +#define G_PI_4 0.78539816339744830961566084581987572104929234984378 +#define G_SQRT2 1.4142135623730950488016887242096980785696718753769 + +/* Portable endian checks and conversions + * + * glibconfig.h defines G_BYTE_ORDER which expands to one of + * the below macros. + */ +#define G_LITTLE_ENDIAN 1234 +#define G_BIG_ENDIAN 4321 +#define G_PDP_ENDIAN 3412 /* unused, need specific PDP check */ + + +/* Basic bit swapping functions + */ +#define GUINT16_SWAP_LE_BE_CONSTANT(val) ((guint16) ( \ + (guint16) ((guint16) (val) >> 8) | \ + (guint16) ((guint16) (val) << 8))) + +#define GUINT32_SWAP_LE_BE_CONSTANT(val) ((guint32) ( \ + (((guint32) (val) & (guint32) 0x000000ffU) << 24) | \ + (((guint32) (val) & (guint32) 0x0000ff00U) << 8) | \ + (((guint32) (val) & (guint32) 0x00ff0000U) >> 8) | \ + (((guint32) (val) & (guint32) 0xff000000U) >> 24))) + +#define GUINT64_SWAP_LE_BE_CONSTANT(val) ((guint64) ( \ + (((guint64) (val) & \ + (guint64) G_GINT64_CONSTANT (0x00000000000000ffU)) << 56) | \ + (((guint64) (val) & \ + (guint64) G_GINT64_CONSTANT (0x000000000000ff00U)) << 40) | \ + (((guint64) (val) & \ + (guint64) G_GINT64_CONSTANT (0x0000000000ff0000U)) << 24) | \ + (((guint64) (val) & \ + (guint64) G_GINT64_CONSTANT (0x00000000ff000000U)) << 8) | \ + (((guint64) (val) & \ + (guint64) G_GINT64_CONSTANT (0x000000ff00000000U)) >> 8) | \ + (((guint64) (val) & \ + (guint64) G_GINT64_CONSTANT (0x0000ff0000000000U)) >> 24) | \ + (((guint64) (val) & \ + (guint64) G_GINT64_CONSTANT (0x00ff000000000000U)) >> 40) | \ + (((guint64) (val) & \ + (guint64) G_GINT64_CONSTANT (0xff00000000000000U)) >> 56))) + +/* Arch specific stuff for speed + */ +#if defined (__GNUC__) && (__GNUC__ >= 2) && defined (__OPTIMIZE__) + +# if __GNUC__ >= 4 && defined (__GNUC_MINOR__) && __GNUC_MINOR__ >= 3 +# define GUINT32_SWAP_LE_BE(val) ((guint32) __builtin_bswap32 ((guint32) (val))) +# define GUINT64_SWAP_LE_BE(val) ((guint64) __builtin_bswap64 ((guint64) (val))) +# endif + +# if defined (__i386__) +# define GUINT16_SWAP_LE_BE_IA32(val) \ + (G_GNUC_EXTENSION \ + ({ guint16 __v, __x = ((guint16) (val)); \ + if (__builtin_constant_p (__x)) \ + __v = GUINT16_SWAP_LE_BE_CONSTANT (__x); \ + else \ + __asm__ ("rorw $8, %w0" \ + : "=r" (__v) \ + : "0" (__x) \ + : "cc"); \ + __v; })) +# if !defined (__i486__) && !defined (__i586__) \ + && !defined (__pentium__) && !defined (__i686__) \ + && !defined (__pentiumpro__) && !defined (__pentium4__) +# define GUINT32_SWAP_LE_BE_IA32(val) \ + (G_GNUC_EXTENSION \ + ({ guint32 __v, __x = ((guint32) (val)); \ + if (__builtin_constant_p (__x)) \ + __v = GUINT32_SWAP_LE_BE_CONSTANT (__x); \ + else \ + __asm__ ("rorw $8, %w0\n\t" \ + "rorl $16, %0\n\t" \ + "rorw $8, %w0" \ + : "=r" (__v) \ + : "0" (__x) \ + : "cc"); \ + __v; })) +# else /* 486 and higher has bswap */ +# define GUINT32_SWAP_LE_BE_IA32(val) \ + (G_GNUC_EXTENSION \ + ({ guint32 __v, __x = ((guint32) (val)); \ + if (__builtin_constant_p (__x)) \ + __v = GUINT32_SWAP_LE_BE_CONSTANT (__x); \ + else \ + __asm__ ("bswap %0" \ + : "=r" (__v) \ + : "0" (__x)); \ + __v; })) +# endif /* processor specific 32-bit stuff */ +# define GUINT64_SWAP_LE_BE_IA32(val) \ + (G_GNUC_EXTENSION \ + ({ union { guint64 __ll; \ + guint32 __l[2]; } __w, __r; \ + __w.__ll = ((guint64) (val)); \ + if (__builtin_constant_p (__w.__ll)) \ + __r.__ll = GUINT64_SWAP_LE_BE_CONSTANT (__w.__ll); \ + else \ + { \ + __r.__l[0] = GUINT32_SWAP_LE_BE (__w.__l[1]); \ + __r.__l[1] = GUINT32_SWAP_LE_BE (__w.__l[0]); \ + } \ + __r.__ll; })) + /* Possibly just use the constant version and let gcc figure it out? */ +# define GUINT16_SWAP_LE_BE(val) (GUINT16_SWAP_LE_BE_IA32 (val)) +# ifndef GUINT32_SWAP_LE_BE +# define GUINT32_SWAP_LE_BE(val) (GUINT32_SWAP_LE_BE_IA32 (val)) +# endif +# ifndef GUINT64_SWAP_LE_BE +# define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_IA32 (val)) +# endif +# elif defined (__ia64__) +# define GUINT16_SWAP_LE_BE_IA64(val) \ + (G_GNUC_EXTENSION \ + ({ guint16 __v, __x = ((guint16) (val)); \ + if (__builtin_constant_p (__x)) \ + __v = GUINT16_SWAP_LE_BE_CONSTANT (__x); \ + else \ + __asm__ __volatile__ ("shl %0 = %1, 48 ;;" \ + "mux1 %0 = %0, @rev ;;" \ + : "=r" (__v) \ + : "r" (__x)); \ + __v; })) +# define GUINT32_SWAP_LE_BE_IA64(val) \ + (G_GNUC_EXTENSION \ + ({ guint32 __v, __x = ((guint32) (val)); \ + if (__builtin_constant_p (__x)) \ + __v = GUINT32_SWAP_LE_BE_CONSTANT (__x); \ + else \ + __asm__ __volatile__ ("shl %0 = %1, 32 ;;" \ + "mux1 %0 = %0, @rev ;;" \ + : "=r" (__v) \ + : "r" (__x)); \ + __v; })) +# define GUINT64_SWAP_LE_BE_IA64(val) \ + (G_GNUC_EXTENSION \ + ({ guint64 __v, __x = ((guint64) (val)); \ + if (__builtin_constant_p (__x)) \ + __v = GUINT64_SWAP_LE_BE_CONSTANT (__x); \ + else \ + __asm__ __volatile__ ("mux1 %0 = %1, @rev ;;" \ + : "=r" (__v) \ + : "r" (__x)); \ + __v; })) +# define GUINT16_SWAP_LE_BE(val) (GUINT16_SWAP_LE_BE_IA64 (val)) +# ifndef GUINT32_SWAP_LE_BE +# define GUINT32_SWAP_LE_BE(val) (GUINT32_SWAP_LE_BE_IA64 (val)) +# endif +# ifndef GUINT64_SWAP_LE_BE +# define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_IA64 (val)) +# endif +# elif defined (__x86_64__) +# define GUINT32_SWAP_LE_BE_X86_64(val) \ + (G_GNUC_EXTENSION \ + ({ guint32 __v, __x = ((guint32) (val)); \ + if (__builtin_constant_p (__x)) \ + __v = GUINT32_SWAP_LE_BE_CONSTANT (__x); \ + else \ + __asm__ ("bswapl %0" \ + : "=r" (__v) \ + : "0" (__x)); \ + __v; })) +# define GUINT64_SWAP_LE_BE_X86_64(val) \ + (G_GNUC_EXTENSION \ + ({ guint64 __v, __x = ((guint64) (val)); \ + if (__builtin_constant_p (__x)) \ + __v = GUINT64_SWAP_LE_BE_CONSTANT (__x); \ + else \ + __asm__ ("bswapq %0" \ + : "=r" (__v) \ + : "0" (__x)); \ + __v; })) + /* gcc seems to figure out optimal code for this on its own */ +# define GUINT16_SWAP_LE_BE(val) (GUINT16_SWAP_LE_BE_CONSTANT (val)) +# ifndef GUINT32_SWAP_LE_BE +# define GUINT32_SWAP_LE_BE(val) (GUINT32_SWAP_LE_BE_X86_64 (val)) +# endif +# ifndef GUINT64_SWAP_LE_BE +# define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_X86_64 (val)) +# endif +# else /* generic gcc */ +# define GUINT16_SWAP_LE_BE(val) (GUINT16_SWAP_LE_BE_CONSTANT (val)) +# ifndef GUINT32_SWAP_LE_BE +# define GUINT32_SWAP_LE_BE(val) (GUINT32_SWAP_LE_BE_CONSTANT (val)) +# endif +# ifndef GUINT64_SWAP_LE_BE +# define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_CONSTANT (val)) +# endif +# endif +#else /* generic */ +# define GUINT16_SWAP_LE_BE(val) (GUINT16_SWAP_LE_BE_CONSTANT (val)) +# define GUINT32_SWAP_LE_BE(val) (GUINT32_SWAP_LE_BE_CONSTANT (val)) +# define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_CONSTANT (val)) +#endif /* generic */ + +#define GUINT16_SWAP_LE_PDP(val) ((guint16) (val)) +#define GUINT16_SWAP_BE_PDP(val) (GUINT16_SWAP_LE_BE (val)) +#define GUINT32_SWAP_LE_PDP(val) ((guint32) ( \ + (((guint32) (val) & (guint32) 0x0000ffffU) << 16) | \ + (((guint32) (val) & (guint32) 0xffff0000U) >> 16))) +#define GUINT32_SWAP_BE_PDP(val) ((guint32) ( \ + (((guint32) (val) & (guint32) 0x00ff00ffU) << 8) | \ + (((guint32) (val) & (guint32) 0xff00ff00U) >> 8))) + +/* The G*_TO_?E() macros are defined in glibconfig.h. + * The transformation is symmetric, so the FROM just maps to the TO. + */ +#define GINT16_FROM_LE(val) (GINT16_TO_LE (val)) +#define GUINT16_FROM_LE(val) (GUINT16_TO_LE (val)) +#define GINT16_FROM_BE(val) (GINT16_TO_BE (val)) +#define GUINT16_FROM_BE(val) (GUINT16_TO_BE (val)) +#define GINT32_FROM_LE(val) (GINT32_TO_LE (val)) +#define GUINT32_FROM_LE(val) (GUINT32_TO_LE (val)) +#define GINT32_FROM_BE(val) (GINT32_TO_BE (val)) +#define GUINT32_FROM_BE(val) (GUINT32_TO_BE (val)) + +#define GINT64_FROM_LE(val) (GINT64_TO_LE (val)) +#define GUINT64_FROM_LE(val) (GUINT64_TO_LE (val)) +#define GINT64_FROM_BE(val) (GINT64_TO_BE (val)) +#define GUINT64_FROM_BE(val) (GUINT64_TO_BE (val)) + +#define GLONG_FROM_LE(val) (GLONG_TO_LE (val)) +#define GULONG_FROM_LE(val) (GULONG_TO_LE (val)) +#define GLONG_FROM_BE(val) (GLONG_TO_BE (val)) +#define GULONG_FROM_BE(val) (GULONG_TO_BE (val)) + +#define GINT_FROM_LE(val) (GINT_TO_LE (val)) +#define GUINT_FROM_LE(val) (GUINT_TO_LE (val)) +#define GINT_FROM_BE(val) (GINT_TO_BE (val)) +#define GUINT_FROM_BE(val) (GUINT_TO_BE (val)) + +#define GSIZE_FROM_LE(val) (GSIZE_TO_LE (val)) +#define GSSIZE_FROM_LE(val) (GSSIZE_TO_LE (val)) +#define GSIZE_FROM_BE(val) (GSIZE_TO_BE (val)) +#define GSSIZE_FROM_BE(val) (GSSIZE_TO_BE (val)) + +/* Portable versions of host-network order stuff + */ +#define g_ntohl(val) (GUINT32_FROM_BE (val)) +#define g_ntohs(val) (GUINT16_FROM_BE (val)) +#define g_htonl(val) (GUINT32_TO_BE (val)) +#define g_htons(val) (GUINT16_TO_BE (val)) + +/* Overflow-checked unsigned integer arithmetic + */ +#ifndef _GLIB_TEST_OVERFLOW_FALLBACK +/* https://bugzilla.gnome.org/show_bug.cgi?id=769104 */ +#if __GNUC__ >= 5 && !defined(__INTEL_COMPILER) +#define _GLIB_HAVE_BUILTIN_OVERFLOW_CHECKS +#elif g_macro__has_builtin(__builtin_add_overflow) +#define _GLIB_HAVE_BUILTIN_OVERFLOW_CHECKS +#endif +#endif + +#ifdef _GLIB_HAVE_BUILTIN_OVERFLOW_CHECKS + +#define g_uint_checked_add(dest, a, b) \ + (!__builtin_add_overflow(a, b, dest)) +#define g_uint_checked_mul(dest, a, b) \ + (!__builtin_mul_overflow(a, b, dest)) + +#define g_uint64_checked_add(dest, a, b) \ + (!__builtin_add_overflow(a, b, dest)) +#define g_uint64_checked_mul(dest, a, b) \ + (!__builtin_mul_overflow(a, b, dest)) + +#define g_size_checked_add(dest, a, b) \ + (!__builtin_add_overflow(a, b, dest)) +#define g_size_checked_mul(dest, a, b) \ + (!__builtin_mul_overflow(a, b, dest)) + +#else /* !_GLIB_HAVE_BUILTIN_OVERFLOW_CHECKS */ + +/* The names of the following inlines are private. Use the macro + * definitions above. + */ +static inline gboolean _GLIB_CHECKED_ADD_UINT (guint *dest, guint a, guint b) { + *dest = a + b; return *dest >= a; } +static inline gboolean _GLIB_CHECKED_MUL_UINT (guint *dest, guint a, guint b) { + *dest = a * b; return !a || *dest / a == b; } +static inline gboolean _GLIB_CHECKED_ADD_UINT64 (guint64 *dest, guint64 a, guint64 b) { + *dest = a + b; return *dest >= a; } +static inline gboolean _GLIB_CHECKED_MUL_UINT64 (guint64 *dest, guint64 a, guint64 b) { + *dest = a * b; return !a || *dest / a == b; } +static inline gboolean _GLIB_CHECKED_ADD_SIZE (gsize *dest, gsize a, gsize b) { + *dest = a + b; return *dest >= a; } +static inline gboolean _GLIB_CHECKED_MUL_SIZE (gsize *dest, gsize a, gsize b) { + *dest = a * b; return !a || *dest / a == b; } + +#define g_uint_checked_add(dest, a, b) \ + _GLIB_CHECKED_ADD_UINT(dest, a, b) +#define g_uint_checked_mul(dest, a, b) \ + _GLIB_CHECKED_MUL_UINT(dest, a, b) + +#define g_uint64_checked_add(dest, a, b) \ + _GLIB_CHECKED_ADD_UINT64(dest, a, b) +#define g_uint64_checked_mul(dest, a, b) \ + _GLIB_CHECKED_MUL_UINT64(dest, a, b) + +#define g_size_checked_add(dest, a, b) \ + _GLIB_CHECKED_ADD_SIZE(dest, a, b) +#define g_size_checked_mul(dest, a, b) \ + _GLIB_CHECKED_MUL_SIZE(dest, a, b) + +#endif /* !_GLIB_HAVE_BUILTIN_OVERFLOW_CHECKS */ + +/* IEEE Standard 754 Single Precision Storage Format (gfloat): + * + * 31 30 23 22 0 + * +--------+---------------+---------------+ + * | s 1bit | e[30:23] 8bit | f[22:0] 23bit | + * +--------+---------------+---------------+ + * B0------------------->B1------->B2-->B3--> + * + * IEEE Standard 754 Double Precision Storage Format (gdouble): + * + * 63 62 52 51 32 31 0 + * +--------+----------------+----------------+ +---------------+ + * | s 1bit | e[62:52] 11bit | f[51:32] 20bit | | f[31:0] 32bit | + * +--------+----------------+----------------+ +---------------+ + * B0--------------->B1---------->B2--->B3----> B4->B5->B6->B7-> + */ +/* subtract from biased_exponent to form base2 exponent (normal numbers) */ +typedef union _GDoubleIEEE754 GDoubleIEEE754; +typedef union _GFloatIEEE754 GFloatIEEE754; +#define G_IEEE754_FLOAT_BIAS (127) +#define G_IEEE754_DOUBLE_BIAS (1023) +/* multiply with base2 exponent to get base10 exponent (normal numbers) */ +#define G_LOG_2_BASE_10 (0.30102999566398119521) +#if G_BYTE_ORDER == G_LITTLE_ENDIAN +union _GFloatIEEE754 +{ + gfloat v_float; + struct { + guint mantissa : 23; + guint biased_exponent : 8; + guint sign : 1; + } mpn; +}; +union _GDoubleIEEE754 +{ + gdouble v_double; + struct { + guint mantissa_low : 32; + guint mantissa_high : 20; + guint biased_exponent : 11; + guint sign : 1; + } mpn; +}; +#elif G_BYTE_ORDER == G_BIG_ENDIAN +union _GFloatIEEE754 +{ + gfloat v_float; + struct { + guint sign : 1; + guint biased_exponent : 8; + guint mantissa : 23; + } mpn; +}; +union _GDoubleIEEE754 +{ + gdouble v_double; + struct { + guint sign : 1; + guint biased_exponent : 11; + guint mantissa_high : 20; + guint mantissa_low : 32; + } mpn; +}; +#else /* !G_LITTLE_ENDIAN && !G_BIG_ENDIAN */ +#error unknown ENDIAN type +#endif /* !G_LITTLE_ENDIAN && !G_BIG_ENDIAN */ + +typedef struct _GTimeVal GTimeVal GLIB_DEPRECATED_TYPE_IN_2_62_FOR(GDateTime); + +struct _GTimeVal +{ + glong tv_sec; + glong tv_usec; +} GLIB_DEPRECATED_TYPE_IN_2_62_FOR(GDateTime); + +typedef gint grefcount; +typedef gint gatomicrefcount; /* should be accessed only using atomics */ + +G_END_DECLS + +#endif /* __G_TYPES_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gunicode.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gunicode.h new file mode 100644 index 0000000..85b3e09 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gunicode.h @@ -0,0 +1,974 @@ +/* gunicode.h - Unicode manipulation functions + * + * Copyright (C) 1999, 2000 Tom Tromey + * Copyright 2000, 2005 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef __G_UNICODE_H__ +#define __G_UNICODE_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +/** + * gunichar: + * + * A type which can hold any UTF-32 or UCS-4 character code, + * also known as a Unicode code point. + * + * If you want to produce the UTF-8 representation of a #gunichar, + * use g_ucs4_to_utf8(). See also g_utf8_to_ucs4() for the reverse + * process. + * + * To print/scan values of this type as integer, use + * %G_GINT32_MODIFIER and/or %G_GUINT32_FORMAT. + * + * The notation to express a Unicode code point in running text is + * as a hexadecimal number with four to six digits and uppercase + * letters, prefixed by the string "U+". Leading zeros are omitted, + * unless the code point would have fewer than four hexadecimal digits. + * For example, "U+0041 LATIN CAPITAL LETTER A". To print a code point + * in the U+-notation, use the format string "U+\%04"G_GINT32_FORMAT"X". + * To scan, use the format string "U+\%06"G_GINT32_FORMAT"X". + * + * |[ + * gunichar c; + * sscanf ("U+0041", "U+%06"G_GINT32_FORMAT"X", &c) + * g_print ("Read U+%04"G_GINT32_FORMAT"X", c); + * ]| + */ +typedef guint32 gunichar; + +/** + * gunichar2: + * + * A type which can hold any UTF-16 code + * pointUTF-16 also has so called + * surrogate pairs to encode characters beyond + * the BMP as pairs of 16bit numbers. Surrogate pairs cannot be stored + * in a single gunichar2 field, but all GLib functions accepting gunichar2 + * arrays will correctly interpret surrogate pairs.. + * + * To print/scan values of this type to/from text you need to convert + * to/from UTF-8, using g_utf16_to_utf8()/g_utf8_to_utf16(). + * + * To print/scan values of this type as integer, use + * %G_GINT16_MODIFIER and/or %G_GUINT16_FORMAT. + */ +typedef guint16 gunichar2; + +/** + * GUnicodeType: + * @G_UNICODE_CONTROL: General category "Other, Control" (Cc) + * @G_UNICODE_FORMAT: General category "Other, Format" (Cf) + * @G_UNICODE_UNASSIGNED: General category "Other, Not Assigned" (Cn) + * @G_UNICODE_PRIVATE_USE: General category "Other, Private Use" (Co) + * @G_UNICODE_SURROGATE: General category "Other, Surrogate" (Cs) + * @G_UNICODE_LOWERCASE_LETTER: General category "Letter, Lowercase" (Ll) + * @G_UNICODE_MODIFIER_LETTER: General category "Letter, Modifier" (Lm) + * @G_UNICODE_OTHER_LETTER: General category "Letter, Other" (Lo) + * @G_UNICODE_TITLECASE_LETTER: General category "Letter, Titlecase" (Lt) + * @G_UNICODE_UPPERCASE_LETTER: General category "Letter, Uppercase" (Lu) + * @G_UNICODE_SPACING_MARK: General category "Mark, Spacing" (Mc) + * @G_UNICODE_ENCLOSING_MARK: General category "Mark, Enclosing" (Me) + * @G_UNICODE_NON_SPACING_MARK: General category "Mark, Nonspacing" (Mn) + * @G_UNICODE_DECIMAL_NUMBER: General category "Number, Decimal Digit" (Nd) + * @G_UNICODE_LETTER_NUMBER: General category "Number, Letter" (Nl) + * @G_UNICODE_OTHER_NUMBER: General category "Number, Other" (No) + * @G_UNICODE_CONNECT_PUNCTUATION: General category "Punctuation, Connector" (Pc) + * @G_UNICODE_DASH_PUNCTUATION: General category "Punctuation, Dash" (Pd) + * @G_UNICODE_CLOSE_PUNCTUATION: General category "Punctuation, Close" (Pe) + * @G_UNICODE_FINAL_PUNCTUATION: General category "Punctuation, Final quote" (Pf) + * @G_UNICODE_INITIAL_PUNCTUATION: General category "Punctuation, Initial quote" (Pi) + * @G_UNICODE_OTHER_PUNCTUATION: General category "Punctuation, Other" (Po) + * @G_UNICODE_OPEN_PUNCTUATION: General category "Punctuation, Open" (Ps) + * @G_UNICODE_CURRENCY_SYMBOL: General category "Symbol, Currency" (Sc) + * @G_UNICODE_MODIFIER_SYMBOL: General category "Symbol, Modifier" (Sk) + * @G_UNICODE_MATH_SYMBOL: General category "Symbol, Math" (Sm) + * @G_UNICODE_OTHER_SYMBOL: General category "Symbol, Other" (So) + * @G_UNICODE_LINE_SEPARATOR: General category "Separator, Line" (Zl) + * @G_UNICODE_PARAGRAPH_SEPARATOR: General category "Separator, Paragraph" (Zp) + * @G_UNICODE_SPACE_SEPARATOR: General category "Separator, Space" (Zs) + * + * These are the possible character classifications from the + * Unicode specification. + * See [Unicode Character Database](http://www.unicode.org/reports/tr44/#General_Category_Values). + */ +typedef enum +{ + G_UNICODE_CONTROL, + G_UNICODE_FORMAT, + G_UNICODE_UNASSIGNED, + G_UNICODE_PRIVATE_USE, + G_UNICODE_SURROGATE, + G_UNICODE_LOWERCASE_LETTER, + G_UNICODE_MODIFIER_LETTER, + G_UNICODE_OTHER_LETTER, + G_UNICODE_TITLECASE_LETTER, + G_UNICODE_UPPERCASE_LETTER, + G_UNICODE_SPACING_MARK, + G_UNICODE_ENCLOSING_MARK, + G_UNICODE_NON_SPACING_MARK, + G_UNICODE_DECIMAL_NUMBER, + G_UNICODE_LETTER_NUMBER, + G_UNICODE_OTHER_NUMBER, + G_UNICODE_CONNECT_PUNCTUATION, + G_UNICODE_DASH_PUNCTUATION, + G_UNICODE_CLOSE_PUNCTUATION, + G_UNICODE_FINAL_PUNCTUATION, + G_UNICODE_INITIAL_PUNCTUATION, + G_UNICODE_OTHER_PUNCTUATION, + G_UNICODE_OPEN_PUNCTUATION, + G_UNICODE_CURRENCY_SYMBOL, + G_UNICODE_MODIFIER_SYMBOL, + G_UNICODE_MATH_SYMBOL, + G_UNICODE_OTHER_SYMBOL, + G_UNICODE_LINE_SEPARATOR, + G_UNICODE_PARAGRAPH_SEPARATOR, + G_UNICODE_SPACE_SEPARATOR +} GUnicodeType; + +/** + * G_UNICODE_COMBINING_MARK: + * + * Older name for %G_UNICODE_SPACING_MARK. + * + * Deprecated: 2.30: Use %G_UNICODE_SPACING_MARK. + */ +#define G_UNICODE_COMBINING_MARK G_UNICODE_SPACING_MARK GLIB_DEPRECATED_MACRO_IN_2_30_FOR(G_UNICODE_SPACING_MARK) + +/** + * GUnicodeBreakType: + * @G_UNICODE_BREAK_MANDATORY: Mandatory Break (BK) + * @G_UNICODE_BREAK_CARRIAGE_RETURN: Carriage Return (CR) + * @G_UNICODE_BREAK_LINE_FEED: Line Feed (LF) + * @G_UNICODE_BREAK_COMBINING_MARK: Attached Characters and Combining Marks (CM) + * @G_UNICODE_BREAK_SURROGATE: Surrogates (SG) + * @G_UNICODE_BREAK_ZERO_WIDTH_SPACE: Zero Width Space (ZW) + * @G_UNICODE_BREAK_INSEPARABLE: Inseparable (IN) + * @G_UNICODE_BREAK_NON_BREAKING_GLUE: Non-breaking ("Glue") (GL) + * @G_UNICODE_BREAK_CONTINGENT: Contingent Break Opportunity (CB) + * @G_UNICODE_BREAK_SPACE: Space (SP) + * @G_UNICODE_BREAK_AFTER: Break Opportunity After (BA) + * @G_UNICODE_BREAK_BEFORE: Break Opportunity Before (BB) + * @G_UNICODE_BREAK_BEFORE_AND_AFTER: Break Opportunity Before and After (B2) + * @G_UNICODE_BREAK_HYPHEN: Hyphen (HY) + * @G_UNICODE_BREAK_NON_STARTER: Nonstarter (NS) + * @G_UNICODE_BREAK_OPEN_PUNCTUATION: Opening Punctuation (OP) + * @G_UNICODE_BREAK_CLOSE_PUNCTUATION: Closing Punctuation (CL) + * @G_UNICODE_BREAK_QUOTATION: Ambiguous Quotation (QU) + * @G_UNICODE_BREAK_EXCLAMATION: Exclamation/Interrogation (EX) + * @G_UNICODE_BREAK_IDEOGRAPHIC: Ideographic (ID) + * @G_UNICODE_BREAK_NUMERIC: Numeric (NU) + * @G_UNICODE_BREAK_INFIX_SEPARATOR: Infix Separator (Numeric) (IS) + * @G_UNICODE_BREAK_SYMBOL: Symbols Allowing Break After (SY) + * @G_UNICODE_BREAK_ALPHABETIC: Ordinary Alphabetic and Symbol Characters (AL) + * @G_UNICODE_BREAK_PREFIX: Prefix (Numeric) (PR) + * @G_UNICODE_BREAK_POSTFIX: Postfix (Numeric) (PO) + * @G_UNICODE_BREAK_COMPLEX_CONTEXT: Complex Content Dependent (South East Asian) (SA) + * @G_UNICODE_BREAK_AMBIGUOUS: Ambiguous (Alphabetic or Ideographic) (AI) + * @G_UNICODE_BREAK_UNKNOWN: Unknown (XX) + * @G_UNICODE_BREAK_NEXT_LINE: Next Line (NL) + * @G_UNICODE_BREAK_WORD_JOINER: Word Joiner (WJ) + * @G_UNICODE_BREAK_HANGUL_L_JAMO: Hangul L Jamo (JL) + * @G_UNICODE_BREAK_HANGUL_V_JAMO: Hangul V Jamo (JV) + * @G_UNICODE_BREAK_HANGUL_T_JAMO: Hangul T Jamo (JT) + * @G_UNICODE_BREAK_HANGUL_LV_SYLLABLE: Hangul LV Syllable (H2) + * @G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE: Hangul LVT Syllable (H3) + * @G_UNICODE_BREAK_CLOSE_PARANTHESIS: Closing Parenthesis (CP). Since 2.28. Deprecated: 2.70: Use %G_UNICODE_BREAK_CLOSE_PARENTHESIS instead. + * @G_UNICODE_BREAK_CLOSE_PARENTHESIS: Closing Parenthesis (CP). Since 2.70 + * @G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER: Conditional Japanese Starter (CJ). Since: 2.32 + * @G_UNICODE_BREAK_HEBREW_LETTER: Hebrew Letter (HL). Since: 2.32 + * @G_UNICODE_BREAK_REGIONAL_INDICATOR: Regional Indicator (RI). Since: 2.36 + * @G_UNICODE_BREAK_EMOJI_BASE: Emoji Base (EB). Since: 2.50 + * @G_UNICODE_BREAK_EMOJI_MODIFIER: Emoji Modifier (EM). Since: 2.50 + * @G_UNICODE_BREAK_ZERO_WIDTH_JOINER: Zero Width Joiner (ZWJ). Since: 2.50 + * + * These are the possible line break classifications. + * + * Since new unicode versions may add new types here, applications should be ready + * to handle unknown values. They may be regarded as %G_UNICODE_BREAK_UNKNOWN. + * + * See [Unicode Line Breaking Algorithm](https://www.unicode.org/reports/tr14/). + */ +typedef enum +{ + G_UNICODE_BREAK_MANDATORY, + G_UNICODE_BREAK_CARRIAGE_RETURN, + G_UNICODE_BREAK_LINE_FEED, + G_UNICODE_BREAK_COMBINING_MARK, + G_UNICODE_BREAK_SURROGATE, + G_UNICODE_BREAK_ZERO_WIDTH_SPACE, + G_UNICODE_BREAK_INSEPARABLE, + G_UNICODE_BREAK_NON_BREAKING_GLUE, + G_UNICODE_BREAK_CONTINGENT, + G_UNICODE_BREAK_SPACE, + G_UNICODE_BREAK_AFTER, + G_UNICODE_BREAK_BEFORE, + G_UNICODE_BREAK_BEFORE_AND_AFTER, + G_UNICODE_BREAK_HYPHEN, + G_UNICODE_BREAK_NON_STARTER, + G_UNICODE_BREAK_OPEN_PUNCTUATION, + G_UNICODE_BREAK_CLOSE_PUNCTUATION, + G_UNICODE_BREAK_QUOTATION, + G_UNICODE_BREAK_EXCLAMATION, + G_UNICODE_BREAK_IDEOGRAPHIC, + G_UNICODE_BREAK_NUMERIC, + G_UNICODE_BREAK_INFIX_SEPARATOR, + G_UNICODE_BREAK_SYMBOL, + G_UNICODE_BREAK_ALPHABETIC, + G_UNICODE_BREAK_PREFIX, + G_UNICODE_BREAK_POSTFIX, + G_UNICODE_BREAK_COMPLEX_CONTEXT, + G_UNICODE_BREAK_AMBIGUOUS, + G_UNICODE_BREAK_UNKNOWN, + G_UNICODE_BREAK_NEXT_LINE, + G_UNICODE_BREAK_WORD_JOINER, + G_UNICODE_BREAK_HANGUL_L_JAMO, + G_UNICODE_BREAK_HANGUL_V_JAMO, + G_UNICODE_BREAK_HANGUL_T_JAMO, + G_UNICODE_BREAK_HANGUL_LV_SYLLABLE, + G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE, + G_UNICODE_BREAK_CLOSE_PARANTHESIS, + G_UNICODE_BREAK_CLOSE_PARENTHESIS GLIB_AVAILABLE_ENUMERATOR_IN_2_70 = G_UNICODE_BREAK_CLOSE_PARANTHESIS, + G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER, + G_UNICODE_BREAK_HEBREW_LETTER, + G_UNICODE_BREAK_REGIONAL_INDICATOR, + G_UNICODE_BREAK_EMOJI_BASE, + G_UNICODE_BREAK_EMOJI_MODIFIER, + G_UNICODE_BREAK_ZERO_WIDTH_JOINER +} GUnicodeBreakType; + +/** + * GUnicodeScript: + * @G_UNICODE_SCRIPT_INVALID_CODE: + * a value never returned from g_unichar_get_script() + * @G_UNICODE_SCRIPT_COMMON: a character used by multiple different scripts + * @G_UNICODE_SCRIPT_INHERITED: a mark glyph that takes its script from the + * base glyph to which it is attached + * @G_UNICODE_SCRIPT_ARABIC: Arabic + * @G_UNICODE_SCRIPT_ARMENIAN: Armenian + * @G_UNICODE_SCRIPT_BENGALI: Bengali + * @G_UNICODE_SCRIPT_BOPOMOFO: Bopomofo + * @G_UNICODE_SCRIPT_CHEROKEE: Cherokee + * @G_UNICODE_SCRIPT_COPTIC: Coptic + * @G_UNICODE_SCRIPT_CYRILLIC: Cyrillic + * @G_UNICODE_SCRIPT_DESERET: Deseret + * @G_UNICODE_SCRIPT_DEVANAGARI: Devanagari + * @G_UNICODE_SCRIPT_ETHIOPIC: Ethiopic + * @G_UNICODE_SCRIPT_GEORGIAN: Georgian + * @G_UNICODE_SCRIPT_GOTHIC: Gothic + * @G_UNICODE_SCRIPT_GREEK: Greek + * @G_UNICODE_SCRIPT_GUJARATI: Gujarati + * @G_UNICODE_SCRIPT_GURMUKHI: Gurmukhi + * @G_UNICODE_SCRIPT_HAN: Han + * @G_UNICODE_SCRIPT_HANGUL: Hangul + * @G_UNICODE_SCRIPT_HEBREW: Hebrew + * @G_UNICODE_SCRIPT_HIRAGANA: Hiragana + * @G_UNICODE_SCRIPT_KANNADA: Kannada + * @G_UNICODE_SCRIPT_KATAKANA: Katakana + * @G_UNICODE_SCRIPT_KHMER: Khmer + * @G_UNICODE_SCRIPT_LAO: Lao + * @G_UNICODE_SCRIPT_LATIN: Latin + * @G_UNICODE_SCRIPT_MALAYALAM: Malayalam + * @G_UNICODE_SCRIPT_MONGOLIAN: Mongolian + * @G_UNICODE_SCRIPT_MYANMAR: Myanmar + * @G_UNICODE_SCRIPT_OGHAM: Ogham + * @G_UNICODE_SCRIPT_OLD_ITALIC: Old Italic + * @G_UNICODE_SCRIPT_ORIYA: Oriya + * @G_UNICODE_SCRIPT_RUNIC: Runic + * @G_UNICODE_SCRIPT_SINHALA: Sinhala + * @G_UNICODE_SCRIPT_SYRIAC: Syriac + * @G_UNICODE_SCRIPT_TAMIL: Tamil + * @G_UNICODE_SCRIPT_TELUGU: Telugu + * @G_UNICODE_SCRIPT_THAANA: Thaana + * @G_UNICODE_SCRIPT_THAI: Thai + * @G_UNICODE_SCRIPT_TIBETAN: Tibetan + * @G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL: + * Canadian Aboriginal + * @G_UNICODE_SCRIPT_YI: Yi + * @G_UNICODE_SCRIPT_TAGALOG: Tagalog + * @G_UNICODE_SCRIPT_HANUNOO: Hanunoo + * @G_UNICODE_SCRIPT_BUHID: Buhid + * @G_UNICODE_SCRIPT_TAGBANWA: Tagbanwa + * @G_UNICODE_SCRIPT_BRAILLE: Braille + * @G_UNICODE_SCRIPT_CYPRIOT: Cypriot + * @G_UNICODE_SCRIPT_LIMBU: Limbu + * @G_UNICODE_SCRIPT_OSMANYA: Osmanya + * @G_UNICODE_SCRIPT_SHAVIAN: Shavian + * @G_UNICODE_SCRIPT_LINEAR_B: Linear B + * @G_UNICODE_SCRIPT_TAI_LE: Tai Le + * @G_UNICODE_SCRIPT_UGARITIC: Ugaritic + * @G_UNICODE_SCRIPT_NEW_TAI_LUE: + * New Tai Lue + * @G_UNICODE_SCRIPT_BUGINESE: Buginese + * @G_UNICODE_SCRIPT_GLAGOLITIC: Glagolitic + * @G_UNICODE_SCRIPT_TIFINAGH: Tifinagh + * @G_UNICODE_SCRIPT_SYLOTI_NAGRI: + * Syloti Nagri + * @G_UNICODE_SCRIPT_OLD_PERSIAN: + * Old Persian + * @G_UNICODE_SCRIPT_KHAROSHTHI: Kharoshthi + * @G_UNICODE_SCRIPT_UNKNOWN: an unassigned code point + * @G_UNICODE_SCRIPT_BALINESE: Balinese + * @G_UNICODE_SCRIPT_CUNEIFORM: Cuneiform + * @G_UNICODE_SCRIPT_PHOENICIAN: Phoenician + * @G_UNICODE_SCRIPT_PHAGS_PA: Phags-pa + * @G_UNICODE_SCRIPT_NKO: N'Ko + * @G_UNICODE_SCRIPT_KAYAH_LI: Kayah Li. Since 2.16.3 + * @G_UNICODE_SCRIPT_LEPCHA: Lepcha. Since 2.16.3 + * @G_UNICODE_SCRIPT_REJANG: Rejang. Since 2.16.3 + * @G_UNICODE_SCRIPT_SUNDANESE: Sundanese. Since 2.16.3 + * @G_UNICODE_SCRIPT_SAURASHTRA: Saurashtra. Since 2.16.3 + * @G_UNICODE_SCRIPT_CHAM: Cham. Since 2.16.3 + * @G_UNICODE_SCRIPT_OL_CHIKI: Ol Chiki. Since 2.16.3 + * @G_UNICODE_SCRIPT_VAI: Vai. Since 2.16.3 + * @G_UNICODE_SCRIPT_CARIAN: Carian. Since 2.16.3 + * @G_UNICODE_SCRIPT_LYCIAN: Lycian. Since 2.16.3 + * @G_UNICODE_SCRIPT_LYDIAN: Lydian. Since 2.16.3 + * @G_UNICODE_SCRIPT_AVESTAN: Avestan. Since 2.26 + * @G_UNICODE_SCRIPT_BAMUM: Bamum. Since 2.26 + * @G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS: + * Egyptian Hieroglpyhs. Since 2.26 + * @G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC: + * Imperial Aramaic. Since 2.26 + * @G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI: + * Inscriptional Pahlavi. Since 2.26 + * @G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN: + * Inscriptional Parthian. Since 2.26 + * @G_UNICODE_SCRIPT_JAVANESE: Javanese. Since 2.26 + * @G_UNICODE_SCRIPT_KAITHI: Kaithi. Since 2.26 + * @G_UNICODE_SCRIPT_LISU: Lisu. Since 2.26 + * @G_UNICODE_SCRIPT_MEETEI_MAYEK: + * Meetei Mayek. Since 2.26 + * @G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN: + * Old South Arabian. Since 2.26 + * @G_UNICODE_SCRIPT_OLD_TURKIC: Old Turkic. Since 2.28 + * @G_UNICODE_SCRIPT_SAMARITAN: Samaritan. Since 2.26 + * @G_UNICODE_SCRIPT_TAI_THAM: Tai Tham. Since 2.26 + * @G_UNICODE_SCRIPT_TAI_VIET: Tai Viet. Since 2.26 + * @G_UNICODE_SCRIPT_BATAK: Batak. Since 2.28 + * @G_UNICODE_SCRIPT_BRAHMI: Brahmi. Since 2.28 + * @G_UNICODE_SCRIPT_MANDAIC: Mandaic. Since 2.28 + * @G_UNICODE_SCRIPT_CHAKMA: Chakma. Since: 2.32 + * @G_UNICODE_SCRIPT_MEROITIC_CURSIVE: Meroitic Cursive. Since: 2.32 + * @G_UNICODE_SCRIPT_MEROITIC_HIEROGLYPHS: Meroitic Hieroglyphs. Since: 2.32 + * @G_UNICODE_SCRIPT_MIAO: Miao. Since: 2.32 + * @G_UNICODE_SCRIPT_SHARADA: Sharada. Since: 2.32 + * @G_UNICODE_SCRIPT_SORA_SOMPENG: Sora Sompeng. Since: 2.32 + * @G_UNICODE_SCRIPT_TAKRI: Takri. Since: 2.32 + * @G_UNICODE_SCRIPT_BASSA_VAH: Bassa. Since: 2.42 + * @G_UNICODE_SCRIPT_CAUCASIAN_ALBANIAN: Caucasian Albanian. Since: 2.42 + * @G_UNICODE_SCRIPT_DUPLOYAN: Duployan. Since: 2.42 + * @G_UNICODE_SCRIPT_ELBASAN: Elbasan. Since: 2.42 + * @G_UNICODE_SCRIPT_GRANTHA: Grantha. Since: 2.42 + * @G_UNICODE_SCRIPT_KHOJKI: Kjohki. Since: 2.42 + * @G_UNICODE_SCRIPT_KHUDAWADI: Khudawadi, Sindhi. Since: 2.42 + * @G_UNICODE_SCRIPT_LINEAR_A: Linear A. Since: 2.42 + * @G_UNICODE_SCRIPT_MAHAJANI: Mahajani. Since: 2.42 + * @G_UNICODE_SCRIPT_MANICHAEAN: Manichaean. Since: 2.42 + * @G_UNICODE_SCRIPT_MENDE_KIKAKUI: Mende Kikakui. Since: 2.42 + * @G_UNICODE_SCRIPT_MODI: Modi. Since: 2.42 + * @G_UNICODE_SCRIPT_MRO: Mro. Since: 2.42 + * @G_UNICODE_SCRIPT_NABATAEAN: Nabataean. Since: 2.42 + * @G_UNICODE_SCRIPT_OLD_NORTH_ARABIAN: Old North Arabian. Since: 2.42 + * @G_UNICODE_SCRIPT_OLD_PERMIC: Old Permic. Since: 2.42 + * @G_UNICODE_SCRIPT_PAHAWH_HMONG: Pahawh Hmong. Since: 2.42 + * @G_UNICODE_SCRIPT_PALMYRENE: Palmyrene. Since: 2.42 + * @G_UNICODE_SCRIPT_PAU_CIN_HAU: Pau Cin Hau. Since: 2.42 + * @G_UNICODE_SCRIPT_PSALTER_PAHLAVI: Psalter Pahlavi. Since: 2.42 + * @G_UNICODE_SCRIPT_SIDDHAM: Siddham. Since: 2.42 + * @G_UNICODE_SCRIPT_TIRHUTA: Tirhuta. Since: 2.42 + * @G_UNICODE_SCRIPT_WARANG_CITI: Warang Citi. Since: 2.42 + * @G_UNICODE_SCRIPT_AHOM: Ahom. Since: 2.48 + * @G_UNICODE_SCRIPT_ANATOLIAN_HIEROGLYPHS: Anatolian Hieroglyphs. Since: 2.48 + * @G_UNICODE_SCRIPT_HATRAN: Hatran. Since: 2.48 + * @G_UNICODE_SCRIPT_MULTANI: Multani. Since: 2.48 + * @G_UNICODE_SCRIPT_OLD_HUNGARIAN: Old Hungarian. Since: 2.48 + * @G_UNICODE_SCRIPT_SIGNWRITING: Signwriting. Since: 2.48 + * @G_UNICODE_SCRIPT_ADLAM: Adlam. Since: 2.50 + * @G_UNICODE_SCRIPT_BHAIKSUKI: Bhaiksuki. Since: 2.50 + * @G_UNICODE_SCRIPT_MARCHEN: Marchen. Since: 2.50 + * @G_UNICODE_SCRIPT_NEWA: Newa. Since: 2.50 + * @G_UNICODE_SCRIPT_OSAGE: Osage. Since: 2.50 + * @G_UNICODE_SCRIPT_TANGUT: Tangut. Since: 2.50 + * @G_UNICODE_SCRIPT_MASARAM_GONDI: Masaram Gondi. Since: 2.54 + * @G_UNICODE_SCRIPT_NUSHU: Nushu. Since: 2.54 + * @G_UNICODE_SCRIPT_SOYOMBO: Soyombo. Since: 2.54 + * @G_UNICODE_SCRIPT_ZANABAZAR_SQUARE: Zanabazar Square. Since: 2.54 + * @G_UNICODE_SCRIPT_DOGRA: Dogra. Since: 2.58 + * @G_UNICODE_SCRIPT_GUNJALA_GONDI: Gunjala Gondi. Since: 2.58 + * @G_UNICODE_SCRIPT_HANIFI_ROHINGYA: Hanifi Rohingya. Since: 2.58 + * @G_UNICODE_SCRIPT_MAKASAR: Makasar. Since: 2.58 + * @G_UNICODE_SCRIPT_MEDEFAIDRIN: Medefaidrin. Since: 2.58 + * @G_UNICODE_SCRIPT_OLD_SOGDIAN: Old Sogdian. Since: 2.58 + * @G_UNICODE_SCRIPT_SOGDIAN: Sogdian. Since: 2.58 + * @G_UNICODE_SCRIPT_ELYMAIC: Elym. Since: 2.62 + * @G_UNICODE_SCRIPT_NANDINAGARI: Nand. Since: 2.62 + * @G_UNICODE_SCRIPT_NYIAKENG_PUACHUE_HMONG: Rohg. Since: 2.62 + * @G_UNICODE_SCRIPT_WANCHO: Wcho. Since: 2.62 + * @G_UNICODE_SCRIPT_CHORASMIAN: Chorasmian. Since: 2.66 + * @G_UNICODE_SCRIPT_DIVES_AKURU: Dives Akuru. Since: 2.66 + * @G_UNICODE_SCRIPT_KHITAN_SMALL_SCRIPT: Khitan small script. Since: 2.66 + * @G_UNICODE_SCRIPT_YEZIDI: Yezidi. Since: 2.66 + * @G_UNICODE_SCRIPT_CYPRO_MINOAN: Cypro-Minoan. Since: 2.72 + * @G_UNICODE_SCRIPT_OLD_UYGHUR: Old Uyghur. Since: 2.72 + * @G_UNICODE_SCRIPT_TANGSA: Tangsa. Since: 2.72 + * @G_UNICODE_SCRIPT_TOTO: Toto. Since: 2.72 + * @G_UNICODE_SCRIPT_VITHKUQI: Vithkuqi. Since: 2.72 + * @G_UNICODE_SCRIPT_MATH: Mathematical notation. Since: 2.72 + * @G_UNICODE_SCRIPT_KAWI: Kawi. Since 2.74 + * @G_UNICODE_SCRIPT_NAG_MUNDARI: Nag Mundari. Since 2.74 + * + * The #GUnicodeScript enumeration identifies different writing + * systems. The values correspond to the names as defined in the + * Unicode standard. The enumeration has been added in GLib 2.14, + * and is interchangeable with #PangoScript. + * + * Note that new types may be added in the future. Applications + * should be ready to handle unknown values. + * See [Unicode Standard Annex #24: Script names](http://www.unicode.org/reports/tr24/). + */ +typedef enum +{ /* ISO 15924 code */ + G_UNICODE_SCRIPT_INVALID_CODE = -1, + G_UNICODE_SCRIPT_COMMON = 0, /* Zyyy */ + G_UNICODE_SCRIPT_INHERITED, /* Zinh (Qaai) */ + G_UNICODE_SCRIPT_ARABIC, /* Arab */ + G_UNICODE_SCRIPT_ARMENIAN, /* Armn */ + G_UNICODE_SCRIPT_BENGALI, /* Beng */ + G_UNICODE_SCRIPT_BOPOMOFO, /* Bopo */ + G_UNICODE_SCRIPT_CHEROKEE, /* Cher */ + G_UNICODE_SCRIPT_COPTIC, /* Copt (Qaac) */ + G_UNICODE_SCRIPT_CYRILLIC, /* Cyrl (Cyrs) */ + G_UNICODE_SCRIPT_DESERET, /* Dsrt */ + G_UNICODE_SCRIPT_DEVANAGARI, /* Deva */ + G_UNICODE_SCRIPT_ETHIOPIC, /* Ethi */ + G_UNICODE_SCRIPT_GEORGIAN, /* Geor (Geon, Geoa) */ + G_UNICODE_SCRIPT_GOTHIC, /* Goth */ + G_UNICODE_SCRIPT_GREEK, /* Grek */ + G_UNICODE_SCRIPT_GUJARATI, /* Gujr */ + G_UNICODE_SCRIPT_GURMUKHI, /* Guru */ + G_UNICODE_SCRIPT_HAN, /* Hani */ + G_UNICODE_SCRIPT_HANGUL, /* Hang */ + G_UNICODE_SCRIPT_HEBREW, /* Hebr */ + G_UNICODE_SCRIPT_HIRAGANA, /* Hira */ + G_UNICODE_SCRIPT_KANNADA, /* Knda */ + G_UNICODE_SCRIPT_KATAKANA, /* Kana */ + G_UNICODE_SCRIPT_KHMER, /* Khmr */ + G_UNICODE_SCRIPT_LAO, /* Laoo */ + G_UNICODE_SCRIPT_LATIN, /* Latn (Latf, Latg) */ + G_UNICODE_SCRIPT_MALAYALAM, /* Mlym */ + G_UNICODE_SCRIPT_MONGOLIAN, /* Mong */ + G_UNICODE_SCRIPT_MYANMAR, /* Mymr */ + G_UNICODE_SCRIPT_OGHAM, /* Ogam */ + G_UNICODE_SCRIPT_OLD_ITALIC, /* Ital */ + G_UNICODE_SCRIPT_ORIYA, /* Orya */ + G_UNICODE_SCRIPT_RUNIC, /* Runr */ + G_UNICODE_SCRIPT_SINHALA, /* Sinh */ + G_UNICODE_SCRIPT_SYRIAC, /* Syrc (Syrj, Syrn, Syre) */ + G_UNICODE_SCRIPT_TAMIL, /* Taml */ + G_UNICODE_SCRIPT_TELUGU, /* Telu */ + G_UNICODE_SCRIPT_THAANA, /* Thaa */ + G_UNICODE_SCRIPT_THAI, /* Thai */ + G_UNICODE_SCRIPT_TIBETAN, /* Tibt */ + G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL, /* Cans */ + G_UNICODE_SCRIPT_YI, /* Yiii */ + G_UNICODE_SCRIPT_TAGALOG, /* Tglg */ + G_UNICODE_SCRIPT_HANUNOO, /* Hano */ + G_UNICODE_SCRIPT_BUHID, /* Buhd */ + G_UNICODE_SCRIPT_TAGBANWA, /* Tagb */ + + /* Unicode-4.0 additions */ + G_UNICODE_SCRIPT_BRAILLE, /* Brai */ + G_UNICODE_SCRIPT_CYPRIOT, /* Cprt */ + G_UNICODE_SCRIPT_LIMBU, /* Limb */ + G_UNICODE_SCRIPT_OSMANYA, /* Osma */ + G_UNICODE_SCRIPT_SHAVIAN, /* Shaw */ + G_UNICODE_SCRIPT_LINEAR_B, /* Linb */ + G_UNICODE_SCRIPT_TAI_LE, /* Tale */ + G_UNICODE_SCRIPT_UGARITIC, /* Ugar */ + + /* Unicode-4.1 additions */ + G_UNICODE_SCRIPT_NEW_TAI_LUE, /* Talu */ + G_UNICODE_SCRIPT_BUGINESE, /* Bugi */ + G_UNICODE_SCRIPT_GLAGOLITIC, /* Glag */ + G_UNICODE_SCRIPT_TIFINAGH, /* Tfng */ + G_UNICODE_SCRIPT_SYLOTI_NAGRI, /* Sylo */ + G_UNICODE_SCRIPT_OLD_PERSIAN, /* Xpeo */ + G_UNICODE_SCRIPT_KHAROSHTHI, /* Khar */ + + /* Unicode-5.0 additions */ + G_UNICODE_SCRIPT_UNKNOWN, /* Zzzz */ + G_UNICODE_SCRIPT_BALINESE, /* Bali */ + G_UNICODE_SCRIPT_CUNEIFORM, /* Xsux */ + G_UNICODE_SCRIPT_PHOENICIAN, /* Phnx */ + G_UNICODE_SCRIPT_PHAGS_PA, /* Phag */ + G_UNICODE_SCRIPT_NKO, /* Nkoo */ + + /* Unicode-5.1 additions */ + G_UNICODE_SCRIPT_KAYAH_LI, /* Kali */ + G_UNICODE_SCRIPT_LEPCHA, /* Lepc */ + G_UNICODE_SCRIPT_REJANG, /* Rjng */ + G_UNICODE_SCRIPT_SUNDANESE, /* Sund */ + G_UNICODE_SCRIPT_SAURASHTRA, /* Saur */ + G_UNICODE_SCRIPT_CHAM, /* Cham */ + G_UNICODE_SCRIPT_OL_CHIKI, /* Olck */ + G_UNICODE_SCRIPT_VAI, /* Vaii */ + G_UNICODE_SCRIPT_CARIAN, /* Cari */ + G_UNICODE_SCRIPT_LYCIAN, /* Lyci */ + G_UNICODE_SCRIPT_LYDIAN, /* Lydi */ + + /* Unicode-5.2 additions */ + G_UNICODE_SCRIPT_AVESTAN, /* Avst */ + G_UNICODE_SCRIPT_BAMUM, /* Bamu */ + G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS, /* Egyp */ + G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC, /* Armi */ + G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI, /* Phli */ + G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN, /* Prti */ + G_UNICODE_SCRIPT_JAVANESE, /* Java */ + G_UNICODE_SCRIPT_KAITHI, /* Kthi */ + G_UNICODE_SCRIPT_LISU, /* Lisu */ + G_UNICODE_SCRIPT_MEETEI_MAYEK, /* Mtei */ + G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN, /* Sarb */ + G_UNICODE_SCRIPT_OLD_TURKIC, /* Orkh */ + G_UNICODE_SCRIPT_SAMARITAN, /* Samr */ + G_UNICODE_SCRIPT_TAI_THAM, /* Lana */ + G_UNICODE_SCRIPT_TAI_VIET, /* Tavt */ + + /* Unicode-6.0 additions */ + G_UNICODE_SCRIPT_BATAK, /* Batk */ + G_UNICODE_SCRIPT_BRAHMI, /* Brah */ + G_UNICODE_SCRIPT_MANDAIC, /* Mand */ + + /* Unicode-6.1 additions */ + G_UNICODE_SCRIPT_CHAKMA, /* Cakm */ + G_UNICODE_SCRIPT_MEROITIC_CURSIVE, /* Merc */ + G_UNICODE_SCRIPT_MEROITIC_HIEROGLYPHS, /* Mero */ + G_UNICODE_SCRIPT_MIAO, /* Plrd */ + G_UNICODE_SCRIPT_SHARADA, /* Shrd */ + G_UNICODE_SCRIPT_SORA_SOMPENG, /* Sora */ + G_UNICODE_SCRIPT_TAKRI, /* Takr */ + + /* Unicode 7.0 additions */ + G_UNICODE_SCRIPT_BASSA_VAH, /* Bass */ + G_UNICODE_SCRIPT_CAUCASIAN_ALBANIAN, /* Aghb */ + G_UNICODE_SCRIPT_DUPLOYAN, /* Dupl */ + G_UNICODE_SCRIPT_ELBASAN, /* Elba */ + G_UNICODE_SCRIPT_GRANTHA, /* Gran */ + G_UNICODE_SCRIPT_KHOJKI, /* Khoj */ + G_UNICODE_SCRIPT_KHUDAWADI, /* Sind */ + G_UNICODE_SCRIPT_LINEAR_A, /* Lina */ + G_UNICODE_SCRIPT_MAHAJANI, /* Mahj */ + G_UNICODE_SCRIPT_MANICHAEAN, /* Mani */ + G_UNICODE_SCRIPT_MENDE_KIKAKUI, /* Mend */ + G_UNICODE_SCRIPT_MODI, /* Modi */ + G_UNICODE_SCRIPT_MRO, /* Mroo */ + G_UNICODE_SCRIPT_NABATAEAN, /* Nbat */ + G_UNICODE_SCRIPT_OLD_NORTH_ARABIAN, /* Narb */ + G_UNICODE_SCRIPT_OLD_PERMIC, /* Perm */ + G_UNICODE_SCRIPT_PAHAWH_HMONG, /* Hmng */ + G_UNICODE_SCRIPT_PALMYRENE, /* Palm */ + G_UNICODE_SCRIPT_PAU_CIN_HAU, /* Pauc */ + G_UNICODE_SCRIPT_PSALTER_PAHLAVI, /* Phlp */ + G_UNICODE_SCRIPT_SIDDHAM, /* Sidd */ + G_UNICODE_SCRIPT_TIRHUTA, /* Tirh */ + G_UNICODE_SCRIPT_WARANG_CITI, /* Wara */ + + /* Unicode 8.0 additions */ + G_UNICODE_SCRIPT_AHOM, /* Ahom */ + G_UNICODE_SCRIPT_ANATOLIAN_HIEROGLYPHS, /* Hluw */ + G_UNICODE_SCRIPT_HATRAN, /* Hatr */ + G_UNICODE_SCRIPT_MULTANI, /* Mult */ + G_UNICODE_SCRIPT_OLD_HUNGARIAN, /* Hung */ + G_UNICODE_SCRIPT_SIGNWRITING, /* Sgnw */ + + /* Unicode 9.0 additions */ + G_UNICODE_SCRIPT_ADLAM, /* Adlm */ + G_UNICODE_SCRIPT_BHAIKSUKI, /* Bhks */ + G_UNICODE_SCRIPT_MARCHEN, /* Marc */ + G_UNICODE_SCRIPT_NEWA, /* Newa */ + G_UNICODE_SCRIPT_OSAGE, /* Osge */ + G_UNICODE_SCRIPT_TANGUT, /* Tang */ + + /* Unicode 10.0 additions */ + G_UNICODE_SCRIPT_MASARAM_GONDI, /* Gonm */ + G_UNICODE_SCRIPT_NUSHU, /* Nshu */ + G_UNICODE_SCRIPT_SOYOMBO, /* Soyo */ + G_UNICODE_SCRIPT_ZANABAZAR_SQUARE, /* Zanb */ + + /* Unicode 11.0 additions */ + G_UNICODE_SCRIPT_DOGRA, /* Dogr */ + G_UNICODE_SCRIPT_GUNJALA_GONDI, /* Gong */ + G_UNICODE_SCRIPT_HANIFI_ROHINGYA, /* Rohg */ + G_UNICODE_SCRIPT_MAKASAR, /* Maka */ + G_UNICODE_SCRIPT_MEDEFAIDRIN, /* Medf */ + G_UNICODE_SCRIPT_OLD_SOGDIAN, /* Sogo */ + G_UNICODE_SCRIPT_SOGDIAN, /* Sogd */ + + /* Unicode 12.0 additions */ + G_UNICODE_SCRIPT_ELYMAIC, /* Elym */ + G_UNICODE_SCRIPT_NANDINAGARI, /* Nand */ + G_UNICODE_SCRIPT_NYIAKENG_PUACHUE_HMONG, /* Rohg */ + G_UNICODE_SCRIPT_WANCHO, /* Wcho */ + + /* Unicode 13.0 additions */ + G_UNICODE_SCRIPT_CHORASMIAN, /* Chrs */ + G_UNICODE_SCRIPT_DIVES_AKURU, /* Diak */ + G_UNICODE_SCRIPT_KHITAN_SMALL_SCRIPT, /* Kits */ + G_UNICODE_SCRIPT_YEZIDI, /* Yezi */ + + /* Unicode 14.0 additions */ + G_UNICODE_SCRIPT_CYPRO_MINOAN, /* Cpmn */ + G_UNICODE_SCRIPT_OLD_UYGHUR, /* Ougr */ + G_UNICODE_SCRIPT_TANGSA, /* Tnsa */ + G_UNICODE_SCRIPT_TOTO, /* Toto */ + G_UNICODE_SCRIPT_VITHKUQI, /* Vith */ + + /* not really a Unicode script, but part of ISO 15924 */ + G_UNICODE_SCRIPT_MATH, /* Zmth */ + + /* Unicode 15.0 additions */ + G_UNICODE_SCRIPT_KAWI GLIB_AVAILABLE_ENUMERATOR_IN_2_74, /* Kawi */ + G_UNICODE_SCRIPT_NAG_MUNDARI GLIB_AVAILABLE_ENUMERATOR_IN_2_74, /* Nag Mundari */ +} GUnicodeScript; + +GLIB_AVAILABLE_IN_ALL +guint32 g_unicode_script_to_iso15924 (GUnicodeScript script); +GLIB_AVAILABLE_IN_ALL +GUnicodeScript g_unicode_script_from_iso15924 (guint32 iso15924); + +/* These are all analogs of the functions. + */ +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_isalnum (gunichar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_isalpha (gunichar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_iscntrl (gunichar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_isdigit (gunichar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_isgraph (gunichar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_islower (gunichar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_isprint (gunichar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_ispunct (gunichar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_isspace (gunichar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_isupper (gunichar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_isxdigit (gunichar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_istitle (gunichar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_isdefined (gunichar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_iswide (gunichar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_iswide_cjk(gunichar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_iszerowidth(gunichar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_ismark (gunichar c) G_GNUC_CONST; + +/* More functions. These convert between the three cases. + * See the Unicode book to understand title case. */ +GLIB_AVAILABLE_IN_ALL +gunichar g_unichar_toupper (gunichar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gunichar g_unichar_tolower (gunichar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +gunichar g_unichar_totitle (gunichar c) G_GNUC_CONST; + +/* If C is a digit (according to 'g_unichar_isdigit'), then return its + numeric value. Otherwise return -1. */ +GLIB_AVAILABLE_IN_ALL +gint g_unichar_digit_value (gunichar c) G_GNUC_CONST; + +GLIB_AVAILABLE_IN_ALL +gint g_unichar_xdigit_value (gunichar c) G_GNUC_CONST; + +/* Return the Unicode character type of a given character. */ +GLIB_AVAILABLE_IN_ALL +GUnicodeType g_unichar_type (gunichar c) G_GNUC_CONST; + +/* Return the line break property for a given character */ +GLIB_AVAILABLE_IN_ALL +GUnicodeBreakType g_unichar_break_type (gunichar c) G_GNUC_CONST; + +/* Returns the combining class for a given character */ +GLIB_AVAILABLE_IN_ALL +gint g_unichar_combining_class (gunichar uc) G_GNUC_CONST; + +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_get_mirror_char (gunichar ch, + gunichar *mirrored_ch); + +GLIB_AVAILABLE_IN_ALL +GUnicodeScript g_unichar_get_script (gunichar ch) G_GNUC_CONST; + +/* Validate a Unicode character */ +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_validate (gunichar ch) G_GNUC_CONST; + +/* Pairwise canonical compose/decompose */ +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_compose (gunichar a, + gunichar b, + gunichar *ch); +GLIB_AVAILABLE_IN_ALL +gboolean g_unichar_decompose (gunichar ch, + gunichar *a, + gunichar *b); + +GLIB_AVAILABLE_IN_ALL +gsize g_unichar_fully_decompose (gunichar ch, + gboolean compat, + gunichar *result, + gsize result_len); + +/** + * G_UNICHAR_MAX_DECOMPOSITION_LENGTH: + * + * The maximum length (in codepoints) of a compatibility or canonical + * decomposition of a single Unicode character. + * + * This is as defined by Unicode 6.1. + * + * Since: 2.32 + */ +#define G_UNICHAR_MAX_DECOMPOSITION_LENGTH 18 /* codepoints */ + +/* Compute canonical ordering of a string in-place. This rearranges + decomposed characters in the string according to their combining + classes. See the Unicode manual for more information. */ +GLIB_AVAILABLE_IN_ALL +void g_unicode_canonical_ordering (gunichar *string, + gsize len); + + +GLIB_DEPRECATED_IN_2_30 +gunichar *g_unicode_canonical_decomposition (gunichar ch, + gsize *result_len) G_GNUC_MALLOC; + +/* Array of skip-bytes-per-initial character. + */ +GLIB_VAR const gchar * const g_utf8_skip; + +/** + * g_utf8_next_char: + * @p: Pointer to the start of a valid UTF-8 character + * + * Skips to the next character in a UTF-8 string. + * + * The string must be valid; this macro is as fast as possible, and has + * no error-checking. + * + * You would use this macro to iterate over a string character by character. + * + * The macro returns the start of the next UTF-8 character. + * + * Before using this macro, use g_utf8_validate() to validate strings + * that may contain invalid UTF-8. + */ +#define g_utf8_next_char(p) (char *)((p) + g_utf8_skip[*(const guchar *)(p)]) + +GLIB_AVAILABLE_IN_ALL +gunichar g_utf8_get_char (const gchar *p) G_GNUC_PURE; +GLIB_AVAILABLE_IN_ALL +gunichar g_utf8_get_char_validated (const gchar *p, + gssize max_len) G_GNUC_PURE; + +GLIB_AVAILABLE_IN_ALL +gchar* g_utf8_offset_to_pointer (const gchar *str, + glong offset) G_GNUC_PURE; +GLIB_AVAILABLE_IN_ALL +glong g_utf8_pointer_to_offset (const gchar *str, + const gchar *pos) G_GNUC_PURE; +GLIB_AVAILABLE_IN_ALL +gchar* g_utf8_prev_char (const gchar *p) G_GNUC_PURE; +GLIB_AVAILABLE_IN_ALL +gchar* g_utf8_find_next_char (const gchar *p, + const gchar *end) G_GNUC_PURE; +GLIB_AVAILABLE_IN_ALL +gchar* g_utf8_find_prev_char (const gchar *str, + const gchar *p) G_GNUC_PURE; + +GLIB_AVAILABLE_IN_ALL +glong g_utf8_strlen (const gchar *p, + gssize max) G_GNUC_PURE; + +GLIB_AVAILABLE_IN_2_30 +gchar *g_utf8_substring (const gchar *str, + glong start_pos, + glong end_pos) G_GNUC_MALLOC; + +GLIB_AVAILABLE_IN_ALL +gchar *g_utf8_strncpy (gchar *dest, + const gchar *src, + gsize n); + +GLIB_AVAILABLE_IN_2_78 +gchar *g_utf8_truncate_middle (const gchar *string, + gsize truncate_length); + +/* Find the UTF-8 character corresponding to ch, in string p. These + functions are equivalants to strchr and strrchr */ +GLIB_AVAILABLE_IN_ALL +gchar* g_utf8_strchr (const gchar *p, + gssize len, + gunichar c); +GLIB_AVAILABLE_IN_ALL +gchar* g_utf8_strrchr (const gchar *p, + gssize len, + gunichar c); +GLIB_AVAILABLE_IN_ALL +gchar* g_utf8_strreverse (const gchar *str, + gssize len); + +GLIB_AVAILABLE_IN_ALL +gunichar2 *g_utf8_to_utf16 (const gchar *str, + glong len, + glong *items_read, + glong *items_written, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gunichar * g_utf8_to_ucs4 (const gchar *str, + glong len, + glong *items_read, + glong *items_written, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gunichar * g_utf8_to_ucs4_fast (const gchar *str, + glong len, + glong *items_written) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gunichar * g_utf16_to_ucs4 (const gunichar2 *str, + glong len, + glong *items_read, + glong *items_written, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar* g_utf16_to_utf8 (const gunichar2 *str, + glong len, + glong *items_read, + glong *items_written, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gunichar2 *g_ucs4_to_utf16 (const gunichar *str, + glong len, + glong *items_read, + glong *items_written, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar* g_ucs4_to_utf8 (const gunichar *str, + glong len, + glong *items_read, + glong *items_written, + GError **error) G_GNUC_MALLOC; + +GLIB_AVAILABLE_IN_ALL +gint g_unichar_to_utf8 (gunichar c, + gchar *outbuf); + +GLIB_AVAILABLE_IN_ALL +gboolean g_utf8_validate (const gchar *str, + gssize max_len, + const gchar **end); +GLIB_AVAILABLE_IN_2_60 +gboolean g_utf8_validate_len (const gchar *str, + gsize max_len, + const gchar **end); + +GLIB_AVAILABLE_IN_ALL +gchar *g_utf8_strup (const gchar *str, + gssize len) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar *g_utf8_strdown (const gchar *str, + gssize len) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar *g_utf8_casefold (const gchar *str, + gssize len) G_GNUC_MALLOC; + +/** + * GNormalizeMode: + * @G_NORMALIZE_DEFAULT: standardize differences that do not affect the + * text content, such as the above-mentioned accent representation + * @G_NORMALIZE_NFD: another name for %G_NORMALIZE_DEFAULT + * @G_NORMALIZE_DEFAULT_COMPOSE: like %G_NORMALIZE_DEFAULT, but with + * composed forms rather than a maximally decomposed form + * @G_NORMALIZE_NFC: another name for %G_NORMALIZE_DEFAULT_COMPOSE + * @G_NORMALIZE_ALL: beyond %G_NORMALIZE_DEFAULT also standardize the + * "compatibility" characters in Unicode, such as SUPERSCRIPT THREE + * to the standard forms (in this case DIGIT THREE). Formatting + * information may be lost but for most text operations such + * characters should be considered the same + * @G_NORMALIZE_NFKD: another name for %G_NORMALIZE_ALL + * @G_NORMALIZE_ALL_COMPOSE: like %G_NORMALIZE_ALL, but with composed + * forms rather than a maximally decomposed form + * @G_NORMALIZE_NFKC: another name for %G_NORMALIZE_ALL_COMPOSE + * + * Defines how a Unicode string is transformed in a canonical + * form, standardizing such issues as whether a character with + * an accent is represented as a base character and combining + * accent or as a single precomposed character. Unicode strings + * should generally be normalized before comparing them. + */ +typedef enum { + G_NORMALIZE_DEFAULT, + G_NORMALIZE_NFD = G_NORMALIZE_DEFAULT, + G_NORMALIZE_DEFAULT_COMPOSE, + G_NORMALIZE_NFC = G_NORMALIZE_DEFAULT_COMPOSE, + G_NORMALIZE_ALL, + G_NORMALIZE_NFKD = G_NORMALIZE_ALL, + G_NORMALIZE_ALL_COMPOSE, + G_NORMALIZE_NFKC = G_NORMALIZE_ALL_COMPOSE +} GNormalizeMode; + +GLIB_AVAILABLE_IN_ALL +gchar *g_utf8_normalize (const gchar *str, + gssize len, + GNormalizeMode mode) G_GNUC_MALLOC; + +GLIB_AVAILABLE_IN_ALL +gint g_utf8_collate (const gchar *str1, + const gchar *str2) G_GNUC_PURE; +GLIB_AVAILABLE_IN_ALL +gchar *g_utf8_collate_key (const gchar *str, + gssize len) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar *g_utf8_collate_key_for_filename (const gchar *str, + gssize len) G_GNUC_MALLOC; + +GLIB_AVAILABLE_IN_2_52 +gchar *g_utf8_make_valid (const gchar *str, + gssize len) G_GNUC_MALLOC; + +G_END_DECLS + +#endif /* __G_UNICODE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/guri.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/guri.h new file mode 100644 index 0000000..5989eab --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/guri.h @@ -0,0 +1,420 @@ +/* GLIB - Library of useful routines for C programming + * Copyright © 2020 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see + * . + */ + +#pragma once + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + +typedef struct _GUri GUri; + +GLIB_AVAILABLE_IN_2_66 +GUri * g_uri_ref (GUri *uri); +GLIB_AVAILABLE_IN_2_66 +void g_uri_unref (GUri *uri); + +/** + * GUriFlags: + * @G_URI_FLAGS_NONE: No flags set. + * @G_URI_FLAGS_PARSE_RELAXED: Parse the URI more relaxedly than the + * [RFC 3986](https://tools.ietf.org/html/rfc3986) grammar specifies, + * fixing up or ignoring common mistakes in URIs coming from external + * sources. This is also needed for some obscure URI schemes where `;` + * separates the host from the path. Don’t use this flag unless you need to. + * @G_URI_FLAGS_HAS_PASSWORD: The userinfo field may contain a password, + * which will be separated from the username by `:`. + * @G_URI_FLAGS_HAS_AUTH_PARAMS: The userinfo may contain additional + * authentication-related parameters, which will be separated from + * the username and/or password by `;`. + * @G_URI_FLAGS_NON_DNS: The host component should not be assumed to be a + * DNS hostname or IP address (for example, for `smb` URIs with NetBIOS + * hostnames). + * @G_URI_FLAGS_ENCODED: When parsing a URI, this indicates that `%`-encoded + * characters in the userinfo, path, query, and fragment fields + * should not be decoded. (And likewise the host field if + * %G_URI_FLAGS_NON_DNS is also set.) When building a URI, it indicates + * that you have already `%`-encoded the components, and so #GUri + * should not do any encoding itself. + * @G_URI_FLAGS_ENCODED_QUERY: Same as %G_URI_FLAGS_ENCODED, for the query + * field only. + * @G_URI_FLAGS_ENCODED_PATH: Same as %G_URI_FLAGS_ENCODED, for the path only. + * @G_URI_FLAGS_ENCODED_FRAGMENT: Same as %G_URI_FLAGS_ENCODED, for the + * fragment only. + * @G_URI_FLAGS_SCHEME_NORMALIZE: A scheme-based normalization will be applied. + * For example, when parsing an HTTP URI changing omitted path to `/` and + * omitted port to `80`; and when building a URI, changing empty path to `/` + * and default port `80`). This only supports a subset of known schemes. (Since: 2.68) + * + * Flags that describe a URI. + * + * When parsing a URI, if you need to choose different flags based on + * the type of URI, you can use g_uri_peek_scheme() on the URI string + * to check the scheme first, and use that to decide what flags to + * parse it with. + * + * Since: 2.66 + */ +GLIB_AVAILABLE_TYPE_IN_2_66 +typedef enum { + G_URI_FLAGS_NONE = 0, + G_URI_FLAGS_PARSE_RELAXED = 1 << 0, + G_URI_FLAGS_HAS_PASSWORD = 1 << 1, + G_URI_FLAGS_HAS_AUTH_PARAMS = 1 << 2, + G_URI_FLAGS_ENCODED = 1 << 3, + G_URI_FLAGS_NON_DNS = 1 << 4, + G_URI_FLAGS_ENCODED_QUERY = 1 << 5, + G_URI_FLAGS_ENCODED_PATH = 1 << 6, + G_URI_FLAGS_ENCODED_FRAGMENT = 1 << 7, + G_URI_FLAGS_SCHEME_NORMALIZE GLIB_AVAILABLE_ENUMERATOR_IN_2_68 = 1 << 8, +} GUriFlags; + +GLIB_AVAILABLE_IN_2_66 +gboolean g_uri_split (const gchar *uri_ref, + GUriFlags flags, + gchar **scheme, + gchar **userinfo, + gchar **host, + gint *port, + gchar **path, + gchar **query, + gchar **fragment, + GError **error); +GLIB_AVAILABLE_IN_2_66 +gboolean g_uri_split_with_user (const gchar *uri_ref, + GUriFlags flags, + gchar **scheme, + gchar **user, + gchar **password, + gchar **auth_params, + gchar **host, + gint *port, + gchar **path, + gchar **query, + gchar **fragment, + GError **error); +GLIB_AVAILABLE_IN_2_66 +gboolean g_uri_split_network (const gchar *uri_string, + GUriFlags flags, + gchar **scheme, + gchar **host, + gint *port, + GError **error); + +GLIB_AVAILABLE_IN_2_66 +gboolean g_uri_is_valid (const gchar *uri_string, + GUriFlags flags, + GError **error); + +GLIB_AVAILABLE_IN_2_66 +gchar * g_uri_join (GUriFlags flags, + const gchar *scheme, + const gchar *userinfo, + const gchar *host, + gint port, + const gchar *path, + const gchar *query, + const gchar *fragment); +GLIB_AVAILABLE_IN_2_66 +gchar * g_uri_join_with_user (GUriFlags flags, + const gchar *scheme, + const gchar *user, + const gchar *password, + const gchar *auth_params, + const gchar *host, + gint port, + const gchar *path, + const gchar *query, + const gchar *fragment); + +GLIB_AVAILABLE_IN_2_66 +GUri * g_uri_parse (const gchar *uri_string, + GUriFlags flags, + GError **error); +GLIB_AVAILABLE_IN_2_66 +GUri * g_uri_parse_relative (GUri *base_uri, + const gchar *uri_ref, + GUriFlags flags, + GError **error); + +GLIB_AVAILABLE_IN_2_66 +gchar * g_uri_resolve_relative (const gchar *base_uri_string, + const gchar *uri_ref, + GUriFlags flags, + GError **error); + +GLIB_AVAILABLE_IN_2_66 +GUri * g_uri_build (GUriFlags flags, + const gchar *scheme, + const gchar *userinfo, + const gchar *host, + gint port, + const gchar *path, + const gchar *query, + const gchar *fragment); +GLIB_AVAILABLE_IN_2_66 +GUri * g_uri_build_with_user (GUriFlags flags, + const gchar *scheme, + const gchar *user, + const gchar *password, + const gchar *auth_params, + const gchar *host, + gint port, + const gchar *path, + const gchar *query, + const gchar *fragment); + +/** + * GUriHideFlags: + * @G_URI_HIDE_NONE: No flags set. + * @G_URI_HIDE_USERINFO: Hide the userinfo. + * @G_URI_HIDE_PASSWORD: Hide the password. + * @G_URI_HIDE_AUTH_PARAMS: Hide the auth_params. + * @G_URI_HIDE_QUERY: Hide the query. + * @G_URI_HIDE_FRAGMENT: Hide the fragment. + * + * Flags describing what parts of the URI to hide in + * g_uri_to_string_partial(). Note that %G_URI_HIDE_PASSWORD and + * %G_URI_HIDE_AUTH_PARAMS will only work if the #GUri was parsed with + * the corresponding flags. + * + * Since: 2.66 + */ +GLIB_AVAILABLE_TYPE_IN_2_66 +typedef enum { + G_URI_HIDE_NONE = 0, + G_URI_HIDE_USERINFO = 1 << 0, + G_URI_HIDE_PASSWORD = 1 << 1, + G_URI_HIDE_AUTH_PARAMS = 1 << 2, + G_URI_HIDE_QUERY = 1 << 3, + G_URI_HIDE_FRAGMENT = 1 << 4, +} GUriHideFlags; + +GLIB_AVAILABLE_IN_2_66 +char * g_uri_to_string (GUri *uri); +GLIB_AVAILABLE_IN_2_66 +char * g_uri_to_string_partial (GUri *uri, + GUriHideFlags flags); + +GLIB_AVAILABLE_IN_2_66 +const gchar *g_uri_get_scheme (GUri *uri); +GLIB_AVAILABLE_IN_2_66 +const gchar *g_uri_get_userinfo (GUri *uri); +GLIB_AVAILABLE_IN_2_66 +const gchar *g_uri_get_user (GUri *uri); +GLIB_AVAILABLE_IN_2_66 +const gchar *g_uri_get_password (GUri *uri); +GLIB_AVAILABLE_IN_2_66 +const gchar *g_uri_get_auth_params (GUri *uri); +GLIB_AVAILABLE_IN_2_66 +const gchar *g_uri_get_host (GUri *uri); +GLIB_AVAILABLE_IN_2_66 +gint g_uri_get_port (GUri *uri); +GLIB_AVAILABLE_IN_2_66 +const gchar *g_uri_get_path (GUri *uri); +GLIB_AVAILABLE_IN_2_66 +const gchar *g_uri_get_query (GUri *uri); +GLIB_AVAILABLE_IN_2_66 +const gchar *g_uri_get_fragment (GUri *uri); +GLIB_AVAILABLE_IN_2_66 +GUriFlags g_uri_get_flags (GUri *uri); + +/** + * GUriParamsFlags: + * @G_URI_PARAMS_NONE: No flags set. + * @G_URI_PARAMS_CASE_INSENSITIVE: Parameter names are case insensitive. + * @G_URI_PARAMS_WWW_FORM: Replace `+` with space character. Only useful for + * URLs on the web, using the `https` or `http` schemas. + * @G_URI_PARAMS_PARSE_RELAXED: See %G_URI_FLAGS_PARSE_RELAXED. + * + * Flags modifying the way parameters are handled by g_uri_parse_params() and + * #GUriParamsIter. + * + * Since: 2.66 + */ +GLIB_AVAILABLE_TYPE_IN_2_66 +typedef enum { + G_URI_PARAMS_NONE = 0, + G_URI_PARAMS_CASE_INSENSITIVE = 1 << 0, + G_URI_PARAMS_WWW_FORM = 1 << 1, + G_URI_PARAMS_PARSE_RELAXED = 1 << 2, +} GUriParamsFlags; + +GLIB_AVAILABLE_IN_2_66 +GHashTable *g_uri_parse_params (const gchar *params, + gssize length, + const gchar *separators, + GUriParamsFlags flags, + GError **error); + +typedef struct _GUriParamsIter GUriParamsIter; + +struct _GUriParamsIter +{ + /*< private >*/ + gint dummy0; + gpointer dummy1; + gpointer dummy2; + guint8 dummy3[256]; +}; + +GLIB_AVAILABLE_IN_2_66 +void g_uri_params_iter_init (GUriParamsIter *iter, + const gchar *params, + gssize length, + const gchar *separators, + GUriParamsFlags flags); + +GLIB_AVAILABLE_IN_2_66 +gboolean g_uri_params_iter_next (GUriParamsIter *iter, + gchar **attribute, + gchar **value, + GError **error); + +/** + * G_URI_ERROR: + * + * Error domain for URI methods. Errors in this domain will be from + * the #GUriError enumeration. See #GError for information on error + * domains. + * + * Since: 2.66 + */ +#define G_URI_ERROR (g_uri_error_quark ()) GLIB_AVAILABLE_MACRO_IN_2_66 +GLIB_AVAILABLE_IN_2_66 +GQuark g_uri_error_quark (void); + +/** + * GUriError: + * @G_URI_ERROR_FAILED: Generic error if no more specific error is available. + * See the error message for details. + * @G_URI_ERROR_BAD_SCHEME: The scheme of a URI could not be parsed. + * @G_URI_ERROR_BAD_USER: The user/userinfo of a URI could not be parsed. + * @G_URI_ERROR_BAD_PASSWORD: The password of a URI could not be parsed. + * @G_URI_ERROR_BAD_AUTH_PARAMS: The authentication parameters of a URI could not be parsed. + * @G_URI_ERROR_BAD_HOST: The host of a URI could not be parsed. + * @G_URI_ERROR_BAD_PORT: The port of a URI could not be parsed. + * @G_URI_ERROR_BAD_PATH: The path of a URI could not be parsed. + * @G_URI_ERROR_BAD_QUERY: The query of a URI could not be parsed. + * @G_URI_ERROR_BAD_FRAGMENT: The fragment of a URI could not be parsed. + * + * Error codes returned by #GUri methods. + * + * Since: 2.66 + */ +typedef enum { + G_URI_ERROR_FAILED, + G_URI_ERROR_BAD_SCHEME, + G_URI_ERROR_BAD_USER, + G_URI_ERROR_BAD_PASSWORD, + G_URI_ERROR_BAD_AUTH_PARAMS, + G_URI_ERROR_BAD_HOST, + G_URI_ERROR_BAD_PORT, + G_URI_ERROR_BAD_PATH, + G_URI_ERROR_BAD_QUERY, + G_URI_ERROR_BAD_FRAGMENT, +} GUriError; + +/** + * G_URI_RESERVED_CHARS_GENERIC_DELIMITERS: + * + * Generic delimiters characters as defined in + * [RFC 3986](https://tools.ietf.org/html/rfc3986). Includes `:/?#[]@`. + * + * Since: 2.16 + **/ +#define G_URI_RESERVED_CHARS_GENERIC_DELIMITERS ":/?#[]@" + +/** + * G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS: + * + * Subcomponent delimiter characters as defined in + * [RFC 3986](https://tools.ietf.org/html/rfc3986). Includes `!$&'()*+,;=`. + * + * Since: 2.16 + **/ +#define G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS "!$&'()*+,;=" + +/** + * G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT: + * + * Allowed characters in path elements. Includes `!$&'()*+,;=:@`. + * + * Since: 2.16 + **/ +#define G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS ":@" + +/** + * G_URI_RESERVED_CHARS_ALLOWED_IN_PATH: + * + * Allowed characters in a path. Includes `!$&'()*+,;=:@/`. + * + * Since: 2.16 + **/ +#define G_URI_RESERVED_CHARS_ALLOWED_IN_PATH G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT "/" + +/** + * G_URI_RESERVED_CHARS_ALLOWED_IN_USERINFO: + * + * Allowed characters in userinfo as defined in + * [RFC 3986](https://tools.ietf.org/html/rfc3986). Includes `!$&'()*+,;=:`. + * + * Since: 2.16 + **/ +#define G_URI_RESERVED_CHARS_ALLOWED_IN_USERINFO G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS ":" + +GLIB_AVAILABLE_IN_ALL +char * g_uri_unescape_string (const char *escaped_string, + const char *illegal_characters); +GLIB_AVAILABLE_IN_ALL +char * g_uri_unescape_segment (const char *escaped_string, + const char *escaped_string_end, + const char *illegal_characters); + +GLIB_AVAILABLE_IN_ALL +char * g_uri_parse_scheme (const char *uri); +GLIB_AVAILABLE_IN_2_66 +const char *g_uri_peek_scheme (const char *uri); + +GLIB_AVAILABLE_IN_ALL +char * g_uri_escape_string (const char *unescaped, + const char *reserved_chars_allowed, + gboolean allow_utf8); + +GLIB_AVAILABLE_IN_2_66 +GBytes * g_uri_unescape_bytes (const char *escaped_string, + gssize length, + const char *illegal_characters, + GError **error); + +GLIB_AVAILABLE_IN_2_66 +char * g_uri_escape_bytes (const guint8 *unescaped, + gsize length, + const char *reserved_chars_allowed); + +G_GNUC_END_IGNORE_DEPRECATIONS + +G_END_DECLS diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gutils.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gutils.h new file mode 100644 index 0000000..efc6914 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gutils.h @@ -0,0 +1,479 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_UTILS_H__ +#define __G_UTILS_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +GLIB_AVAILABLE_IN_ALL +const gchar * g_get_user_name (void); +GLIB_AVAILABLE_IN_ALL +const gchar * g_get_real_name (void); +GLIB_AVAILABLE_IN_ALL +const gchar * g_get_home_dir (void); +GLIB_AVAILABLE_IN_ALL +const gchar * g_get_tmp_dir (void); +GLIB_AVAILABLE_IN_ALL +const gchar * g_get_host_name (void); +GLIB_AVAILABLE_IN_ALL +const gchar * g_get_prgname (void); +GLIB_AVAILABLE_IN_ALL +void g_set_prgname (const gchar *prgname); +GLIB_AVAILABLE_IN_ALL +const gchar * g_get_application_name (void); +GLIB_AVAILABLE_IN_ALL +void g_set_application_name (const gchar *application_name); +GLIB_AVAILABLE_IN_2_64 +gchar * g_get_os_info (const gchar *key_name); + +/** + * G_OS_INFO_KEY_NAME: + * + * A key to get the name of the operating system excluding version information suitable for presentation to the user, e.g. "YoYoOS" + * + * Since: 2.64 + */ +#define G_OS_INFO_KEY_NAME \ + GLIB_AVAILABLE_MACRO_IN_2_64 \ + "NAME" + +/** + * G_OS_INFO_KEY_PRETTY_NAME: + * + * A key to get the name of the operating system in a format suitable for presentation to the user, e.g. "YoYoOS Foo" + * + * Since: 2.64 + */ +#define G_OS_INFO_KEY_PRETTY_NAME \ + GLIB_AVAILABLE_MACRO_IN_2_64 \ + "PRETTY_NAME" + +/** + * G_OS_INFO_KEY_VERSION: + * + * A key to get the operating system version suitable for presentation to the user, e.g. "42 (Foo)" + * + * Since: 2.64 + */ +#define G_OS_INFO_KEY_VERSION \ + GLIB_AVAILABLE_MACRO_IN_2_64 \ + "VERSION" + +/** + * G_OS_INFO_KEY_VERSION_CODENAME: + * + * A key to get a codename identifying the operating system release suitable for processing by scripts or usage in generated filenames, e.g. "foo" + * + * Since: 2.64 + */ +#define G_OS_INFO_KEY_VERSION_CODENAME \ + GLIB_AVAILABLE_MACRO_IN_2_64 \ + "VERSION_CODENAME" + +/** + * G_OS_INFO_KEY_VERSION_ID: + * + * A key to get the version of the operating system suitable for processing by scripts or usage in generated filenames, e.g. "42" + * + * Since: 2.64 + */ +#define G_OS_INFO_KEY_VERSION_ID \ + GLIB_AVAILABLE_MACRO_IN_2_64 \ + "VERSION_ID" + +/** + * G_OS_INFO_KEY_ID: + * + * A key to get an ID identifying the operating system suitable for processing by scripts or usage in generated filenames, e.g. "yoyoos" + * + * Since: 2.64 + */ +#define G_OS_INFO_KEY_ID \ + GLIB_AVAILABLE_MACRO_IN_2_64 \ + "ID" + +/** + * G_OS_INFO_KEY_HOME_URL: + * + * A key to get the homepage for the operating system, e.g. "https://www.yoyo-os.com/" + * + * Since: 2.64 + */ +#define G_OS_INFO_KEY_HOME_URL \ + GLIB_AVAILABLE_MACRO_IN_2_64 \ + "HOME_URL" + +/** + * G_OS_INFO_KEY_DOCUMENTATION_URL: + * + * A key to get the documentation page for the operating system, e.g. "https://docs.yoyo-os.com/" + * + * Since: 2.64 + */ +#define G_OS_INFO_KEY_DOCUMENTATION_URL \ + GLIB_AVAILABLE_MACRO_IN_2_64 \ + "DOCUMENTATION_URL" + +/** + * G_OS_INFO_KEY_SUPPORT_URL: + * + * A key to get the support page for the operating system, e.g. "https://support.yoyo-os.com/" + * + * Since: 2.64 + */ +#define G_OS_INFO_KEY_SUPPORT_URL \ + GLIB_AVAILABLE_MACRO_IN_2_64 \ + "SUPPORT_URL" + +/** + * G_OS_INFO_KEY_BUG_REPORT_URL: + * + * A key to get the bug reporting page for the operating system, e.g. "https://bugs.yoyo-os.com/" + * + * Since: 2.64 + */ +#define G_OS_INFO_KEY_BUG_REPORT_URL \ + GLIB_AVAILABLE_MACRO_IN_2_64 \ + "BUG_REPORT_URL" + +/** + * G_OS_INFO_KEY_PRIVACY_POLICY_URL: + * + * A key to get the privacy policy for the operating system, e.g. "https://privacy.yoyo-os.com/" + * + * Since: 2.64 + */ +#define G_OS_INFO_KEY_PRIVACY_POLICY_URL \ + GLIB_AVAILABLE_MACRO_IN_2_64 \ + "PRIVACY_POLICY_URL" + +GLIB_AVAILABLE_IN_ALL +void g_reload_user_special_dirs_cache (void); +GLIB_AVAILABLE_IN_ALL +const gchar * g_get_user_data_dir (void); +GLIB_AVAILABLE_IN_ALL +const gchar * g_get_user_config_dir (void); +GLIB_AVAILABLE_IN_ALL +const gchar * g_get_user_cache_dir (void); +GLIB_AVAILABLE_IN_2_72 +const gchar * g_get_user_state_dir (void); +GLIB_AVAILABLE_IN_ALL +const gchar * const * g_get_system_data_dirs (void); + +#ifdef G_OS_WIN32 +/* This function is not part of the public GLib API */ +GLIB_AVAILABLE_IN_ALL +const gchar * const * g_win32_get_system_data_dirs_for_module (void (*address_of_function)(void)); +#endif + +#if defined (G_OS_WIN32) && defined (G_CAN_INLINE) +/* This function is not part of the public GLib API either. Just call + * g_get_system_data_dirs() in your code, never mind that that is + * actually a macro and you will in fact call this inline function. + */ +static inline const gchar * const * +_g_win32_get_system_data_dirs (void) +{ + return g_win32_get_system_data_dirs_for_module ((void (*)(void)) &_g_win32_get_system_data_dirs); +} +#define g_get_system_data_dirs _g_win32_get_system_data_dirs +#endif + +GLIB_AVAILABLE_IN_ALL +const gchar * const * g_get_system_config_dirs (void); + +GLIB_AVAILABLE_IN_ALL +const gchar * g_get_user_runtime_dir (void); + +/** + * GUserDirectory: + * @G_USER_DIRECTORY_DESKTOP: the user's Desktop directory + * @G_USER_DIRECTORY_DOCUMENTS: the user's Documents directory + * @G_USER_DIRECTORY_DOWNLOAD: the user's Downloads directory + * @G_USER_DIRECTORY_MUSIC: the user's Music directory + * @G_USER_DIRECTORY_PICTURES: the user's Pictures directory + * @G_USER_DIRECTORY_PUBLIC_SHARE: the user's shared directory + * @G_USER_DIRECTORY_TEMPLATES: the user's Templates directory + * @G_USER_DIRECTORY_VIDEOS: the user's Movies directory + * @G_USER_N_DIRECTORIES: the number of enum values + * + * These are logical ids for special directories which are defined + * depending on the platform used. You should use g_get_user_special_dir() + * to retrieve the full path associated to the logical id. + * + * The #GUserDirectory enumeration can be extended at later date. Not + * every platform has a directory for every logical id in this + * enumeration. + * + * Since: 2.14 + */ +typedef enum { + G_USER_DIRECTORY_DESKTOP, + G_USER_DIRECTORY_DOCUMENTS, + G_USER_DIRECTORY_DOWNLOAD, + G_USER_DIRECTORY_MUSIC, + G_USER_DIRECTORY_PICTURES, + G_USER_DIRECTORY_PUBLIC_SHARE, + G_USER_DIRECTORY_TEMPLATES, + G_USER_DIRECTORY_VIDEOS, + + G_USER_N_DIRECTORIES +} GUserDirectory; + +GLIB_AVAILABLE_IN_ALL +const gchar * g_get_user_special_dir (GUserDirectory directory); + +/** + * GDebugKey: + * @key: the string + * @value: the flag + * + * Associates a string with a bit flag. + * Used in g_parse_debug_string(). + */ +typedef struct _GDebugKey GDebugKey; +struct _GDebugKey +{ + const gchar *key; + guint value; +}; + +/* Miscellaneous utility functions + */ +GLIB_AVAILABLE_IN_ALL +guint g_parse_debug_string (const gchar *string, + const GDebugKey *keys, + guint nkeys); + +GLIB_AVAILABLE_IN_ALL +gint g_snprintf (gchar *string, + gulong n, + gchar const *format, + ...) G_GNUC_PRINTF (3, 4); +GLIB_AVAILABLE_IN_ALL +gint g_vsnprintf (gchar *string, + gulong n, + gchar const *format, + va_list args) + G_GNUC_PRINTF(3, 0); + +GLIB_AVAILABLE_IN_ALL +void g_nullify_pointer (gpointer *nullify_location); + +typedef enum +{ + G_FORMAT_SIZE_DEFAULT = 0, + G_FORMAT_SIZE_LONG_FORMAT = 1 << 0, + G_FORMAT_SIZE_IEC_UNITS = 1 << 1, + G_FORMAT_SIZE_BITS = 1 << 2, + G_FORMAT_SIZE_ONLY_VALUE GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 1 << 3, + G_FORMAT_SIZE_ONLY_UNIT GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 1 << 4 +} GFormatSizeFlags; + +GLIB_AVAILABLE_IN_2_30 +gchar *g_format_size_full (guint64 size, + GFormatSizeFlags flags); +GLIB_AVAILABLE_IN_2_30 +gchar *g_format_size (guint64 size); + +GLIB_DEPRECATED_IN_2_30_FOR(g_format_size) +gchar *g_format_size_for_display (goffset size); + +#define g_ATEXIT(proc) (atexit (proc)) GLIB_DEPRECATED_MACRO_IN_2_32 +#define g_memmove(dest,src,len) \ + G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END GLIB_DEPRECATED_MACRO_IN_2_40_FOR(memmove) + +/** + * GVoidFunc: + * + * Declares a type of function which takes no arguments + * and has no return value. It is used to specify the type + * function passed to g_atexit(). + */ +typedef void (*GVoidFunc) (void) GLIB_DEPRECATED_TYPE_IN_2_32; +#define ATEXIT(proc) g_ATEXIT(proc) GLIB_DEPRECATED_MACRO_IN_2_32 + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GLIB_DEPRECATED +void g_atexit (GVoidFunc func); +G_GNUC_END_IGNORE_DEPRECATIONS + +#ifdef G_OS_WIN32 +/* It's a bad idea to wrap atexit() on Windows. If the GLib DLL calls + * atexit(), the function will be called when the GLib DLL is detached + * from the program, which is not what the caller wants. The caller + * wants the function to be called when it *itself* exits (or is + * detached, in case the caller, too, is a DLL). + */ +#if (defined(__MINGW_H) && !defined(_STDLIB_H_)) || (defined(_MSC_VER) && !defined(_INC_STDLIB)) +int atexit (void (*)(void)); +#endif +#define g_atexit(func) atexit(func) GLIB_DEPRECATED_MACRO_IN_2_32 +#endif + + +/* Look for an executable in PATH, following execvp() rules */ +GLIB_AVAILABLE_IN_ALL +gchar* g_find_program_in_path (const gchar *program); + +/* Bit tests + * + * These are defined in a convoluted way because we want the compiler to + * be able to inline the code for performance reasons, but for + * historical reasons, we must continue to provide non-inline versions + * on our ABI. + * + * We define these as functions in gutils.c which are just implemented + * as calls to the _impl() versions in order to preserve the ABI. + */ + +#define g_bit_nth_lsf(mask, nth_bit) g_bit_nth_lsf_impl(mask, nth_bit) +#define g_bit_nth_msf(mask, nth_bit) g_bit_nth_msf_impl(mask, nth_bit) +#define g_bit_storage(number) g_bit_storage_impl(number) + +GLIB_AVAILABLE_IN_ALL +gint (g_bit_nth_lsf) (gulong mask, + gint nth_bit); +GLIB_AVAILABLE_IN_ALL +gint (g_bit_nth_msf) (gulong mask, + gint nth_bit); +GLIB_AVAILABLE_IN_ALL +guint (g_bit_storage) (gulong number); + +static inline gint +g_bit_nth_lsf_impl (gulong mask, + gint nth_bit) +{ + if (G_UNLIKELY (nth_bit < -1)) + nth_bit = -1; + while (nth_bit < ((GLIB_SIZEOF_LONG * 8) - 1)) + { + nth_bit++; + if (mask & (1UL << nth_bit)) + return nth_bit; + } + return -1; +} + +static inline gint +g_bit_nth_msf_impl (gulong mask, + gint nth_bit) +{ + if (nth_bit < 0 || G_UNLIKELY (nth_bit > GLIB_SIZEOF_LONG * 8)) + nth_bit = GLIB_SIZEOF_LONG * 8; + while (nth_bit > 0) + { + nth_bit--; + if (mask & (1UL << nth_bit)) + return nth_bit; + } + return -1; +} + +static inline guint +g_bit_storage_impl (gulong number) +{ +#if defined(__GNUC__) && (__GNUC__ >= 4) && defined(__OPTIMIZE__) + return G_LIKELY (number) ? + ((GLIB_SIZEOF_LONG * 8U - 1) ^ (guint) __builtin_clzl(number)) + 1 : 1; +#else + guint n_bits = 0; + + do + { + n_bits++; + number >>= 1; + } + while (number); + return n_bits; +#endif +} + +/* Crashes the program. */ +#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_50 +#ifndef G_OS_WIN32 +# include +# define g_abort() abort () +#else +G_NORETURN GLIB_AVAILABLE_IN_2_50 void g_abort (void) G_ANALYZER_NORETURN; +#endif +#endif + +/* + * This macro is deprecated. This DllMain() is too complex. It is + * recommended to write an explicit minimal DLlMain() that just saves + * the handle to the DLL and then use that handle instead, for + * instance passing it to + * g_win32_get_package_installation_directory_of_module(). + * + * On Windows, this macro defines a DllMain function that stores the + * actual DLL name that the code being compiled will be included in. + * STATIC should be empty or 'static'. DLL_NAME is the name of the + * (pointer to the) char array where the DLL name will be stored. If + * this is used, you must also include . If you need a more complex + * DLL entry point function, you cannot use this. + * + * On non-Windows platforms, expands to nothing. + */ + +#ifndef G_PLATFORM_WIN32 +# define G_WIN32_DLLMAIN_FOR_DLL_NAME(static, dll_name) GLIB_DEPRECATED_MACRO_IN_2_26 +#else +# define G_WIN32_DLLMAIN_FOR_DLL_NAME(static, dll_name) \ +static char *dll_name; \ + \ +BOOL WINAPI \ +DllMain (HINSTANCE hinstDLL, \ + DWORD fdwReason, \ + LPVOID lpvReserved) \ +{ \ + wchar_t wcbfr[1000]; \ + char *tem; \ + switch (fdwReason) \ + { \ + case DLL_PROCESS_ATTACH: \ + GetModuleFileNameW ((HMODULE) hinstDLL, wcbfr, G_N_ELEMENTS (wcbfr)); \ + tem = g_utf16_to_utf8 (wcbfr, -1, NULL, NULL, NULL); \ + dll_name = g_path_get_basename (tem); \ + g_free (tem); \ + break; \ + } \ + \ + return TRUE; \ +} GLIB_DEPRECATED_MACRO_IN_2_26 +#endif /* G_PLATFORM_WIN32 */ + +G_END_DECLS + +#endif /* __G_UTILS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/guuid.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/guuid.h new file mode 100644 index 0000000..c653188 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/guuid.h @@ -0,0 +1,42 @@ +/* guuid.h - UUID functions + * + * Copyright (C) 2013-2015, 2017 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of the + * licence, or (at your option) any later version. + * + * This is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 + * USA. + * + * Authors: Marc-André Lureau + */ + +#ifndef __G_UUID_H__ +#define __G_UUID_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +GLIB_AVAILABLE_IN_2_52 +gboolean g_uuid_string_is_valid (const gchar *str); + +GLIB_AVAILABLE_IN_2_52 +gchar * g_uuid_string_random (void); + +G_END_DECLS + +#endif /* __G_UUID_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gvariant.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gvariant.h new file mode 100644 index 0000000..bdc3795 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gvariant.h @@ -0,0 +1,541 @@ +/* + * Copyright © 2007, 2008 Ryan Lortie + * Copyright © 2009, 2010 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + * + * Author: Ryan Lortie + */ + +#ifndef __G_VARIANT_H__ +#define __G_VARIANT_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include + +G_BEGIN_DECLS + +typedef struct _GVariant GVariant; + +typedef enum +{ + G_VARIANT_CLASS_BOOLEAN = 'b', + G_VARIANT_CLASS_BYTE = 'y', + G_VARIANT_CLASS_INT16 = 'n', + G_VARIANT_CLASS_UINT16 = 'q', + G_VARIANT_CLASS_INT32 = 'i', + G_VARIANT_CLASS_UINT32 = 'u', + G_VARIANT_CLASS_INT64 = 'x', + G_VARIANT_CLASS_UINT64 = 't', + G_VARIANT_CLASS_HANDLE = 'h', + G_VARIANT_CLASS_DOUBLE = 'd', + G_VARIANT_CLASS_STRING = 's', + G_VARIANT_CLASS_OBJECT_PATH = 'o', + G_VARIANT_CLASS_SIGNATURE = 'g', + G_VARIANT_CLASS_VARIANT = 'v', + G_VARIANT_CLASS_MAYBE = 'm', + G_VARIANT_CLASS_ARRAY = 'a', + G_VARIANT_CLASS_TUPLE = '(', + G_VARIANT_CLASS_DICT_ENTRY = '{' +} GVariantClass; + +GLIB_AVAILABLE_IN_ALL +void g_variant_unref (GVariant *value); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_ref (GVariant *value); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_ref_sink (GVariant *value); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_is_floating (GVariant *value); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_take_ref (GVariant *value); + +GLIB_AVAILABLE_IN_ALL +const GVariantType * g_variant_get_type (GVariant *value); +GLIB_AVAILABLE_IN_ALL +const gchar * g_variant_get_type_string (GVariant *value); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_is_of_type (GVariant *value, + const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_is_container (GVariant *value); +GLIB_AVAILABLE_IN_ALL +GVariantClass g_variant_classify (GVariant *value); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_boolean (gboolean value); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_byte (guint8 value); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_int16 (gint16 value); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_uint16 (guint16 value); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_int32 (gint32 value); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_uint32 (guint32 value); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_int64 (gint64 value); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_uint64 (guint64 value); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_handle (gint32 value); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_double (gdouble value); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_string (const gchar *string); +GLIB_AVAILABLE_IN_2_38 +GVariant * g_variant_new_take_string (gchar *string); +GLIB_AVAILABLE_IN_2_38 +GVariant * g_variant_new_printf (const gchar *format_string, + ...) G_GNUC_PRINTF (1, 2); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_object_path (const gchar *object_path); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_is_object_path (const gchar *string); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_signature (const gchar *signature); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_is_signature (const gchar *string); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_variant (GVariant *value); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_strv (const gchar * const *strv, + gssize length); +GLIB_AVAILABLE_IN_2_30 +GVariant * g_variant_new_objv (const gchar * const *strv, + gssize length); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_bytestring (const gchar *string); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_bytestring_array (const gchar * const *strv, + gssize length); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_fixed_array (const GVariantType *element_type, + gconstpointer elements, + gsize n_elements, + gsize element_size); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_get_boolean (GVariant *value); +GLIB_AVAILABLE_IN_ALL +guint8 g_variant_get_byte (GVariant *value); +GLIB_AVAILABLE_IN_ALL +gint16 g_variant_get_int16 (GVariant *value); +GLIB_AVAILABLE_IN_ALL +guint16 g_variant_get_uint16 (GVariant *value); +GLIB_AVAILABLE_IN_ALL +gint32 g_variant_get_int32 (GVariant *value); +GLIB_AVAILABLE_IN_ALL +guint32 g_variant_get_uint32 (GVariant *value); +GLIB_AVAILABLE_IN_ALL +gint64 g_variant_get_int64 (GVariant *value); +GLIB_AVAILABLE_IN_ALL +guint64 g_variant_get_uint64 (GVariant *value); +GLIB_AVAILABLE_IN_ALL +gint32 g_variant_get_handle (GVariant *value); +GLIB_AVAILABLE_IN_ALL +gdouble g_variant_get_double (GVariant *value); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_get_variant (GVariant *value); +GLIB_AVAILABLE_IN_ALL +const gchar * g_variant_get_string (GVariant *value, + gsize *length); +GLIB_AVAILABLE_IN_ALL +gchar * g_variant_dup_string (GVariant *value, + gsize *length); +GLIB_AVAILABLE_IN_ALL +const gchar ** g_variant_get_strv (GVariant *value, + gsize *length); +GLIB_AVAILABLE_IN_ALL +gchar ** g_variant_dup_strv (GVariant *value, + gsize *length); +GLIB_AVAILABLE_IN_2_30 +const gchar ** g_variant_get_objv (GVariant *value, + gsize *length); +GLIB_AVAILABLE_IN_ALL +gchar ** g_variant_dup_objv (GVariant *value, + gsize *length); +GLIB_AVAILABLE_IN_ALL +const gchar * g_variant_get_bytestring (GVariant *value); +GLIB_AVAILABLE_IN_ALL +gchar * g_variant_dup_bytestring (GVariant *value, + gsize *length); +GLIB_AVAILABLE_IN_ALL +const gchar ** g_variant_get_bytestring_array (GVariant *value, + gsize *length); +GLIB_AVAILABLE_IN_ALL +gchar ** g_variant_dup_bytestring_array (GVariant *value, + gsize *length); + +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_maybe (const GVariantType *child_type, + GVariant *child); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_array (const GVariantType *child_type, + GVariant * const *children, + gsize n_children); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_tuple (GVariant * const *children, + gsize n_children); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_dict_entry (GVariant *key, + GVariant *value); + +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_get_maybe (GVariant *value); +GLIB_AVAILABLE_IN_ALL +gsize g_variant_n_children (GVariant *value); +GLIB_AVAILABLE_IN_ALL +void g_variant_get_child (GVariant *value, + gsize index_, + const gchar *format_string, + ...); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_get_child_value (GVariant *value, + gsize index_); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_lookup (GVariant *dictionary, + const gchar *key, + const gchar *format_string, + ...); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_lookup_value (GVariant *dictionary, + const gchar *key, + const GVariantType *expected_type); +GLIB_AVAILABLE_IN_ALL +gconstpointer g_variant_get_fixed_array (GVariant *value, + gsize *n_elements, + gsize element_size); + +GLIB_AVAILABLE_IN_ALL +gsize g_variant_get_size (GVariant *value); +GLIB_AVAILABLE_IN_ALL +gconstpointer g_variant_get_data (GVariant *value); +GLIB_AVAILABLE_IN_2_36 +GBytes * g_variant_get_data_as_bytes (GVariant *value); +GLIB_AVAILABLE_IN_ALL +void g_variant_store (GVariant *value, + gpointer data); + +GLIB_AVAILABLE_IN_ALL +gchar * g_variant_print (GVariant *value, + gboolean type_annotate); +GLIB_AVAILABLE_IN_ALL +GString * g_variant_print_string (GVariant *value, + GString *string, + gboolean type_annotate); + +GLIB_AVAILABLE_IN_ALL +guint g_variant_hash (gconstpointer value); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_equal (gconstpointer one, + gconstpointer two); + +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_get_normal_form (GVariant *value); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_is_normal_form (GVariant *value); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_byteswap (GVariant *value); + +GLIB_AVAILABLE_IN_2_36 +GVariant * g_variant_new_from_bytes (const GVariantType *type, + GBytes *bytes, + gboolean trusted); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_from_data (const GVariantType *type, + gconstpointer data, + gsize size, + gboolean trusted, + GDestroyNotify notify, + gpointer user_data); + +typedef struct _GVariantIter GVariantIter; +struct _GVariantIter { + /*< private >*/ + guintptr x[16]; +}; + +GLIB_AVAILABLE_IN_ALL +GVariantIter * g_variant_iter_new (GVariant *value); +GLIB_AVAILABLE_IN_ALL +gsize g_variant_iter_init (GVariantIter *iter, + GVariant *value); +GLIB_AVAILABLE_IN_ALL +GVariantIter * g_variant_iter_copy (GVariantIter *iter); +GLIB_AVAILABLE_IN_ALL +gsize g_variant_iter_n_children (GVariantIter *iter); +GLIB_AVAILABLE_IN_ALL +void g_variant_iter_free (GVariantIter *iter); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_iter_next_value (GVariantIter *iter); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_iter_next (GVariantIter *iter, + const gchar *format_string, + ...); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_iter_loop (GVariantIter *iter, + const gchar *format_string, + ...); + + +typedef struct _GVariantBuilder GVariantBuilder; +struct _GVariantBuilder { + /*< private >*/ + union + { + struct { + gsize partial_magic; + const GVariantType *type; + guintptr y[14]; + } s; + guintptr x[16]; + } u; +}; + +typedef enum +{ + G_VARIANT_PARSE_ERROR_FAILED, + G_VARIANT_PARSE_ERROR_BASIC_TYPE_EXPECTED, + G_VARIANT_PARSE_ERROR_CANNOT_INFER_TYPE, + G_VARIANT_PARSE_ERROR_DEFINITE_TYPE_EXPECTED, + G_VARIANT_PARSE_ERROR_INPUT_NOT_AT_END, + G_VARIANT_PARSE_ERROR_INVALID_CHARACTER, + G_VARIANT_PARSE_ERROR_INVALID_FORMAT_STRING, + G_VARIANT_PARSE_ERROR_INVALID_OBJECT_PATH, + G_VARIANT_PARSE_ERROR_INVALID_SIGNATURE, + G_VARIANT_PARSE_ERROR_INVALID_TYPE_STRING, + G_VARIANT_PARSE_ERROR_NO_COMMON_TYPE, + G_VARIANT_PARSE_ERROR_NUMBER_OUT_OF_RANGE, + G_VARIANT_PARSE_ERROR_NUMBER_TOO_BIG, + G_VARIANT_PARSE_ERROR_TYPE_ERROR, + G_VARIANT_PARSE_ERROR_UNEXPECTED_TOKEN, + G_VARIANT_PARSE_ERROR_UNKNOWN_KEYWORD, + G_VARIANT_PARSE_ERROR_UNTERMINATED_STRING_CONSTANT, + G_VARIANT_PARSE_ERROR_VALUE_EXPECTED, + G_VARIANT_PARSE_ERROR_RECURSION +} GVariantParseError; +#define G_VARIANT_PARSE_ERROR (g_variant_parse_error_quark ()) + +GLIB_DEPRECATED_IN_2_38_FOR(g_variant_parse_error_quark) +GQuark g_variant_parser_get_error_quark (void); + +GLIB_AVAILABLE_IN_ALL +GQuark g_variant_parse_error_quark (void); + +/** + * G_VARIANT_BUILDER_INIT: + * @variant_type: a const GVariantType* + * + * A stack-allocated #GVariantBuilder must be initialized if it is + * used together with g_auto() to avoid warnings or crashes if + * function returns before g_variant_builder_init() is called on the + * builder. + * + * This macro can be used as initializer instead of an + * explicit zeroing a variable when declaring it and a following + * g_variant_builder_init(), but it cannot be assigned to a variable. + * + * The passed @variant_type should be a static GVariantType to avoid + * lifetime issues, as copying the @variant_type does not happen in + * the G_VARIANT_BUILDER_INIT() call, but rather in functions that + * make sure that #GVariantBuilder is valid. + * + * |[ + * g_auto(GVariantBuilder) builder = G_VARIANT_BUILDER_INIT (G_VARIANT_TYPE_BYTESTRING); + * ]| + * + * Since: 2.50 + */ +#define G_VARIANT_BUILDER_INIT(variant_type) \ + { \ + { \ + { \ + 2942751021u /* == GVSB_MAGIC_PARTIAL, see gvariant.c */, variant_type, { 0, } \ + } \ + } \ + } + +GLIB_AVAILABLE_IN_ALL +GVariantBuilder * g_variant_builder_new (const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +void g_variant_builder_unref (GVariantBuilder *builder); +GLIB_AVAILABLE_IN_ALL +GVariantBuilder * g_variant_builder_ref (GVariantBuilder *builder); +GLIB_AVAILABLE_IN_ALL +void g_variant_builder_init (GVariantBuilder *builder, + const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_builder_end (GVariantBuilder *builder); +GLIB_AVAILABLE_IN_ALL +void g_variant_builder_clear (GVariantBuilder *builder); +GLIB_AVAILABLE_IN_ALL +void g_variant_builder_open (GVariantBuilder *builder, + const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +void g_variant_builder_close (GVariantBuilder *builder); +GLIB_AVAILABLE_IN_ALL +void g_variant_builder_add_value (GVariantBuilder *builder, + GVariant *value); +GLIB_AVAILABLE_IN_ALL +void g_variant_builder_add (GVariantBuilder *builder, + const gchar *format_string, + ...); +GLIB_AVAILABLE_IN_ALL +void g_variant_builder_add_parsed (GVariantBuilder *builder, + const gchar *format, + ...); + +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new (const gchar *format_string, + ...); +GLIB_AVAILABLE_IN_ALL +void g_variant_get (GVariant *value, + const gchar *format_string, + ...); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_va (const gchar *format_string, + const gchar **endptr, + va_list *app); +GLIB_AVAILABLE_IN_ALL +void g_variant_get_va (GVariant *value, + const gchar *format_string, + const gchar **endptr, + va_list *app); +GLIB_AVAILABLE_IN_2_34 +gboolean g_variant_check_format_string (GVariant *value, + const gchar *format_string, + gboolean copy_only); + +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_parse (const GVariantType *type, + const gchar *text, + const gchar *limit, + const gchar **endptr, + GError **error); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_parsed (const gchar *format, + ...); +GLIB_AVAILABLE_IN_ALL +GVariant * g_variant_new_parsed_va (const gchar *format, + va_list *app); + +GLIB_AVAILABLE_IN_2_40 +gchar * g_variant_parse_error_print_context (GError *error, + const gchar *source_str); + +GLIB_AVAILABLE_IN_ALL +gint g_variant_compare (gconstpointer one, + gconstpointer two); + +typedef struct _GVariantDict GVariantDict; +struct _GVariantDict { + /*< private >*/ + union + { + struct { + GVariant *asv; + gsize partial_magic; + guintptr y[14]; + } s; + guintptr x[16]; + } u; +}; + +/** + * G_VARIANT_DICT_INIT: + * @asv: (nullable): a GVariant* + * + * A stack-allocated #GVariantDict must be initialized if it is used + * together with g_auto() to avoid warnings or crashes if function + * returns before g_variant_dict_init() is called on the builder. + * + * This macro can be used as initializer instead of an explicit + * zeroing a variable when declaring it and a following + * g_variant_dict_init(), but it cannot be assigned to a variable. + * + * The passed @asv has to live long enough for #GVariantDict to gather + * the entries from, as the gathering does not happen in the + * G_VARIANT_DICT_INIT() call, but rather in functions that make sure + * that #GVariantDict is valid. In context where the initialization + * value has to be a constant expression, the only possible value of + * @asv is %NULL. It is still possible to call g_variant_dict_init() + * safely with a different @asv right after the variable was + * initialized with G_VARIANT_DICT_INIT(). + * + * |[ + * g_autoptr(GVariant) variant = get_asv_variant (); + * g_auto(GVariantDict) dict = G_VARIANT_DICT_INIT (variant); + * ]| + * + * Since: 2.50 + */ +#define G_VARIANT_DICT_INIT(asv) \ + { \ + { \ + { \ + asv, 3488698669u /* == GVSD_MAGIC_PARTIAL, see gvariant.c */, { 0, } \ + } \ + } \ + } + +GLIB_AVAILABLE_IN_2_40 +GVariantDict * g_variant_dict_new (GVariant *from_asv); + +GLIB_AVAILABLE_IN_2_40 +void g_variant_dict_init (GVariantDict *dict, + GVariant *from_asv); + +GLIB_AVAILABLE_IN_2_40 +gboolean g_variant_dict_lookup (GVariantDict *dict, + const gchar *key, + const gchar *format_string, + ...); +GLIB_AVAILABLE_IN_2_40 +GVariant * g_variant_dict_lookup_value (GVariantDict *dict, + const gchar *key, + const GVariantType *expected_type); +GLIB_AVAILABLE_IN_2_40 +gboolean g_variant_dict_contains (GVariantDict *dict, + const gchar *key); +GLIB_AVAILABLE_IN_2_40 +void g_variant_dict_insert (GVariantDict *dict, + const gchar *key, + const gchar *format_string, + ...); +GLIB_AVAILABLE_IN_2_40 +void g_variant_dict_insert_value (GVariantDict *dict, + const gchar *key, + GVariant *value); +GLIB_AVAILABLE_IN_2_40 +gboolean g_variant_dict_remove (GVariantDict *dict, + const gchar *key); +GLIB_AVAILABLE_IN_2_40 +void g_variant_dict_clear (GVariantDict *dict); +GLIB_AVAILABLE_IN_2_40 +GVariant * g_variant_dict_end (GVariantDict *dict); +GLIB_AVAILABLE_IN_2_40 +GVariantDict * g_variant_dict_ref (GVariantDict *dict); +GLIB_AVAILABLE_IN_2_40 +void g_variant_dict_unref (GVariantDict *dict); + +G_END_DECLS + +#endif /* __G_VARIANT_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gvarianttype.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gvarianttype.h new file mode 100644 index 0000000..6374957 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gvarianttype.h @@ -0,0 +1,384 @@ +/* + * Copyright © 2007, 2008 Ryan Lortie + * Copyright © 2009, 2010 Codethink Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + * + * Author: Ryan Lortie + */ + +#ifndef __G_VARIANT_TYPE_H__ +#define __G_VARIANT_TYPE_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/** + * GVariantType: + * + * A type in the GVariant type system. + * + * Two types may not be compared by value; use g_variant_type_equal() or + * g_variant_type_is_subtype_of(). May be copied using + * g_variant_type_copy() and freed using g_variant_type_free(). + **/ +typedef struct _GVariantType GVariantType; + +/** + * G_VARIANT_TYPE_BOOLEAN: + * + * The type of a value that can be either %TRUE or %FALSE. + **/ +#define G_VARIANT_TYPE_BOOLEAN ((const GVariantType *) "b") + +/** + * G_VARIANT_TYPE_BYTE: + * + * The type of an integer value that can range from 0 to 255. + **/ +#define G_VARIANT_TYPE_BYTE ((const GVariantType *) "y") + +/** + * G_VARIANT_TYPE_INT16: + * + * The type of an integer value that can range from -32768 to 32767. + **/ +#define G_VARIANT_TYPE_INT16 ((const GVariantType *) "n") + +/** + * G_VARIANT_TYPE_UINT16: + * + * The type of an integer value that can range from 0 to 65535. + * There were about this many people living in Toronto in the 1870s. + **/ +#define G_VARIANT_TYPE_UINT16 ((const GVariantType *) "q") + +/** + * G_VARIANT_TYPE_INT32: + * + * The type of an integer value that can range from -2147483648 to + * 2147483647. + **/ +#define G_VARIANT_TYPE_INT32 ((const GVariantType *) "i") + +/** + * G_VARIANT_TYPE_UINT32: + * + * The type of an integer value that can range from 0 to 4294967295. + * That's one number for everyone who was around in the late 1970s. + **/ +#define G_VARIANT_TYPE_UINT32 ((const GVariantType *) "u") + +/** + * G_VARIANT_TYPE_INT64: + * + * The type of an integer value that can range from + * -9223372036854775808 to 9223372036854775807. + **/ +#define G_VARIANT_TYPE_INT64 ((const GVariantType *) "x") + +/** + * G_VARIANT_TYPE_UINT64: + * + * The type of an integer value that can range from 0 + * to 18446744073709551615 (inclusive). That's a really big number, + * but a Rubik's cube can have a bit more than twice as many possible + * positions. + **/ +#define G_VARIANT_TYPE_UINT64 ((const GVariantType *) "t") + +/** + * G_VARIANT_TYPE_DOUBLE: + * + * The type of a double precision IEEE754 floating point number. + * These guys go up to about 1.80e308 (plus and minus) but miss out on + * some numbers in between. In any case, that's far greater than the + * estimated number of fundamental particles in the observable + * universe. + **/ +#define G_VARIANT_TYPE_DOUBLE ((const GVariantType *) "d") + +/** + * G_VARIANT_TYPE_STRING: + * + * The type of a string. "" is a string. %NULL is not a string. + **/ +#define G_VARIANT_TYPE_STRING ((const GVariantType *) "s") + +/** + * G_VARIANT_TYPE_OBJECT_PATH: + * + * The type of a D-Bus object reference. These are strings of a + * specific format used to identify objects at a given destination on + * the bus. + * + * If you are not interacting with D-Bus, then there is no reason to make + * use of this type. If you are, then the D-Bus specification contains a + * precise description of valid object paths. + **/ +#define G_VARIANT_TYPE_OBJECT_PATH ((const GVariantType *) "o") + +/** + * G_VARIANT_TYPE_SIGNATURE: + * + * The type of a D-Bus type signature. These are strings of a specific + * format used as type signatures for D-Bus methods and messages. + * + * If you are not interacting with D-Bus, then there is no reason to make + * use of this type. If you are, then the D-Bus specification contains a + * precise description of valid signature strings. + **/ +#define G_VARIANT_TYPE_SIGNATURE ((const GVariantType *) "g") + +/** + * G_VARIANT_TYPE_VARIANT: + * + * The type of a box that contains any other value (including another + * variant). + **/ +#define G_VARIANT_TYPE_VARIANT ((const GVariantType *) "v") + +/** + * G_VARIANT_TYPE_HANDLE: + * + * The type of a 32bit signed integer value, that by convention, is used + * as an index into an array of file descriptors that are sent alongside + * a D-Bus message. + * + * If you are not interacting with D-Bus, then there is no reason to make + * use of this type. + **/ +#define G_VARIANT_TYPE_HANDLE ((const GVariantType *) "h") + +/** + * G_VARIANT_TYPE_UNIT: + * + * The empty tuple type. Has only one instance. Known also as "triv" + * or "void". + **/ +#define G_VARIANT_TYPE_UNIT ((const GVariantType *) "()") + +/** + * G_VARIANT_TYPE_ANY: + * + * An indefinite type that is a supertype of every type (including + * itself). + **/ +#define G_VARIANT_TYPE_ANY ((const GVariantType *) "*") + +/** + * G_VARIANT_TYPE_BASIC: + * + * An indefinite type that is a supertype of every basic (ie: + * non-container) type. + **/ +#define G_VARIANT_TYPE_BASIC ((const GVariantType *) "?") + +/** + * G_VARIANT_TYPE_MAYBE: + * + * An indefinite type that is a supertype of every maybe type. + **/ +#define G_VARIANT_TYPE_MAYBE ((const GVariantType *) "m*") + +/** + * G_VARIANT_TYPE_ARRAY: + * + * An indefinite type that is a supertype of every array type. + **/ +#define G_VARIANT_TYPE_ARRAY ((const GVariantType *) "a*") + +/** + * G_VARIANT_TYPE_TUPLE: + * + * An indefinite type that is a supertype of every tuple type, + * regardless of the number of items in the tuple. + **/ +#define G_VARIANT_TYPE_TUPLE ((const GVariantType *) "r") + +/** + * G_VARIANT_TYPE_DICT_ENTRY: + * + * An indefinite type that is a supertype of every dictionary entry + * type. + **/ +#define G_VARIANT_TYPE_DICT_ENTRY ((const GVariantType *) "{?*}") + +/** + * G_VARIANT_TYPE_DICTIONARY: + * + * An indefinite type that is a supertype of every dictionary type -- + * that is, any array type that has an element type equal to any + * dictionary entry type. + **/ +#define G_VARIANT_TYPE_DICTIONARY ((const GVariantType *) "a{?*}") + +/** + * G_VARIANT_TYPE_STRING_ARRAY: + * + * The type of an array of strings. + **/ +#define G_VARIANT_TYPE_STRING_ARRAY ((const GVariantType *) "as") + +/** + * G_VARIANT_TYPE_OBJECT_PATH_ARRAY: + * + * The type of an array of object paths. + **/ +#define G_VARIANT_TYPE_OBJECT_PATH_ARRAY ((const GVariantType *) "ao") + +/** + * G_VARIANT_TYPE_BYTESTRING: + * + * The type of an array of bytes. This type is commonly used to pass + * around strings that may not be valid utf8. In that case, the + * convention is that the nul terminator character should be included as + * the last character in the array. + **/ +#define G_VARIANT_TYPE_BYTESTRING ((const GVariantType *) "ay") + +/** + * G_VARIANT_TYPE_BYTESTRING_ARRAY: + * + * The type of an array of byte strings (an array of arrays of bytes). + **/ +#define G_VARIANT_TYPE_BYTESTRING_ARRAY ((const GVariantType *) "aay") + +/** + * G_VARIANT_TYPE_VARDICT: + * + * The type of a dictionary mapping strings to variants (the ubiquitous + * "a{sv}" type). + * + * Since: 2.30 + **/ +#define G_VARIANT_TYPE_VARDICT ((const GVariantType *) "a{sv}") + + +/** + * G_VARIANT_TYPE: + * @type_string: a well-formed #GVariantType type string + * + * Converts a string to a const #GVariantType. Depending on the + * current debugging level, this function may perform a runtime check + * to ensure that @string is a valid GVariant type string. + * + * It is always a programmer error to use this macro with an invalid + * type string. If in doubt, use g_variant_type_string_is_valid() to + * check if the string is valid. + * + * Since 2.24 + **/ +#ifndef G_DISABLE_CHECKS +# define G_VARIANT_TYPE(type_string) (g_variant_type_checked_ ((type_string))) +#else +# define G_VARIANT_TYPE(type_string) ((const GVariantType *) (type_string)) +#endif + +/* type string checking */ +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_type_string_is_valid (const gchar *type_string); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_type_string_scan (const gchar *string, + const gchar *limit, + const gchar **endptr); + +/* create/destroy */ +GLIB_AVAILABLE_IN_ALL +void g_variant_type_free (GVariantType *type); +GLIB_AVAILABLE_IN_ALL +GVariantType * g_variant_type_copy (const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +GVariantType * g_variant_type_new (const gchar *type_string); + +/* getters */ +GLIB_AVAILABLE_IN_ALL +gsize g_variant_type_get_string_length (const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +const gchar * g_variant_type_peek_string (const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +gchar * g_variant_type_dup_string (const GVariantType *type); + +/* classification */ +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_type_is_definite (const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_type_is_container (const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_type_is_basic (const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_type_is_maybe (const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_type_is_array (const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_type_is_tuple (const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_type_is_dict_entry (const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_type_is_variant (const GVariantType *type); + +/* for hash tables */ +GLIB_AVAILABLE_IN_ALL +guint g_variant_type_hash (gconstpointer type); +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_type_equal (gconstpointer type1, + gconstpointer type2); + +/* subtypes */ +GLIB_AVAILABLE_IN_ALL +gboolean g_variant_type_is_subtype_of (const GVariantType *type, + const GVariantType *supertype); + +/* type iterator interface */ +GLIB_AVAILABLE_IN_ALL +const GVariantType * g_variant_type_element (const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +const GVariantType * g_variant_type_first (const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +const GVariantType * g_variant_type_next (const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +gsize g_variant_type_n_items (const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +const GVariantType * g_variant_type_key (const GVariantType *type); +GLIB_AVAILABLE_IN_ALL +const GVariantType * g_variant_type_value (const GVariantType *type); + +/* constructors */ +GLIB_AVAILABLE_IN_ALL +GVariantType * g_variant_type_new_array (const GVariantType *element); +GLIB_AVAILABLE_IN_ALL +GVariantType * g_variant_type_new_maybe (const GVariantType *element); +GLIB_AVAILABLE_IN_ALL +GVariantType * g_variant_type_new_tuple (const GVariantType * const *items, + gint length); +GLIB_AVAILABLE_IN_ALL +GVariantType * g_variant_type_new_dict_entry (const GVariantType *key, + const GVariantType *value); + +/*< private >*/ +GLIB_AVAILABLE_IN_ALL +const GVariantType * g_variant_type_checked_ (const gchar *); +GLIB_AVAILABLE_IN_2_60 +gsize g_variant_type_string_get_depth_ (const gchar *type_string); + +G_END_DECLS + +#endif /* __G_VARIANT_TYPE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gversion.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gversion.h new file mode 100644 index 0000000..d15f548 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gversion.h @@ -0,0 +1,57 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_VERSION_H__ +#define __G_VERSION_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +GLIB_VAR const guint glib_major_version; +GLIB_VAR const guint glib_minor_version; +GLIB_VAR const guint glib_micro_version; +GLIB_VAR const guint glib_interface_age; +GLIB_VAR const guint glib_binary_age; + +GLIB_AVAILABLE_IN_ALL +const gchar * glib_check_version (guint required_major, + guint required_minor, + guint required_micro); + +#define GLIB_CHECK_VERSION(major,minor,micro) \ + (GLIB_MAJOR_VERSION > (major) || \ + (GLIB_MAJOR_VERSION == (major) && GLIB_MINOR_VERSION > (minor)) || \ + (GLIB_MAJOR_VERSION == (major) && GLIB_MINOR_VERSION == (minor) && \ + GLIB_MICRO_VERSION >= (micro))) + +G_END_DECLS + +#endif /* __G_VERSION_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gversionmacros.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gversionmacros.h new file mode 100644 index 0000000..2900178 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gversionmacros.h @@ -0,0 +1,490 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_VERSION_MACROS_H__ +#define __G_VERSION_MACROS_H__ + +#if !defined(__GLIB_H_INSIDE__) && !defined(GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +/* Version boundaries checks */ + +#define G_ENCODE_VERSION(major, minor) ((major) << 16 | (minor) << 8) + +/** +* GLIB_VERSION_2_2: +* +* A macro that evaluates to the 2.2 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.32 +*/ +#define GLIB_VERSION_2_2 (G_ENCODE_VERSION (2, 2)) +/** +* GLIB_VERSION_2_4: +* +* A macro that evaluates to the 2.4 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.32 +*/ +#define GLIB_VERSION_2_4 (G_ENCODE_VERSION (2, 4)) +/** +* GLIB_VERSION_2_6: +* +* A macro that evaluates to the 2.6 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.32 +*/ +#define GLIB_VERSION_2_6 (G_ENCODE_VERSION (2, 6)) +/** +* GLIB_VERSION_2_8: +* +* A macro that evaluates to the 2.8 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.32 +*/ +#define GLIB_VERSION_2_8 (G_ENCODE_VERSION (2, 8)) +/** +* GLIB_VERSION_2_10: +* +* A macro that evaluates to the 2.10 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.32 +*/ +#define GLIB_VERSION_2_10 (G_ENCODE_VERSION (2, 10)) +/** +* GLIB_VERSION_2_12: +* +* A macro that evaluates to the 2.12 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.32 +*/ +#define GLIB_VERSION_2_12 (G_ENCODE_VERSION (2, 12)) +/** +* GLIB_VERSION_2_14: +* +* A macro that evaluates to the 2.14 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.32 +*/ +#define GLIB_VERSION_2_14 (G_ENCODE_VERSION (2, 14)) +/** +* GLIB_VERSION_2_16: +* +* A macro that evaluates to the 2.16 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.32 +*/ +#define GLIB_VERSION_2_16 (G_ENCODE_VERSION (2, 16)) +/** +* GLIB_VERSION_2_18: +* +* A macro that evaluates to the 2.18 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.32 +*/ +#define GLIB_VERSION_2_18 (G_ENCODE_VERSION (2, 18)) +/** +* GLIB_VERSION_2_20: +* +* A macro that evaluates to the 2.20 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.32 +*/ +#define GLIB_VERSION_2_20 (G_ENCODE_VERSION (2, 20)) +/** +* GLIB_VERSION_2_22: +* +* A macro that evaluates to the 2.22 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.32 +*/ +#define GLIB_VERSION_2_22 (G_ENCODE_VERSION (2, 22)) +/** +* GLIB_VERSION_2_24: +* +* A macro that evaluates to the 2.24 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.32 +*/ +#define GLIB_VERSION_2_24 (G_ENCODE_VERSION (2, 24)) +/** +* GLIB_VERSION_2_26: +* +* A macro that evaluates to the 2.26 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.32 +*/ +#define GLIB_VERSION_2_26 (G_ENCODE_VERSION (2, 26)) +/** +* GLIB_VERSION_2_28: +* +* A macro that evaluates to the 2.28 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.32 +*/ +#define GLIB_VERSION_2_28 (G_ENCODE_VERSION (2, 28)) +/** +* GLIB_VERSION_2_30: +* +* A macro that evaluates to the 2.30 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.32 +*/ +#define GLIB_VERSION_2_30 (G_ENCODE_VERSION (2, 30)) +/** +* GLIB_VERSION_2_32: +* +* A macro that evaluates to the 2.32 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.32 +*/ +#define GLIB_VERSION_2_32 (G_ENCODE_VERSION (2, 32)) +/** +* GLIB_VERSION_2_34: +* +* A macro that evaluates to the 2.34 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.34 +*/ +#define GLIB_VERSION_2_34 (G_ENCODE_VERSION (2, 34)) +/** +* GLIB_VERSION_2_36: +* +* A macro that evaluates to the 2.36 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.36 +*/ +#define GLIB_VERSION_2_36 (G_ENCODE_VERSION (2, 36)) +/** +* GLIB_VERSION_2_38: +* +* A macro that evaluates to the 2.38 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.38 +*/ +#define GLIB_VERSION_2_38 (G_ENCODE_VERSION (2, 38)) +/** +* GLIB_VERSION_2_40: +* +* A macro that evaluates to the 2.40 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.40 +*/ +#define GLIB_VERSION_2_40 (G_ENCODE_VERSION (2, 40)) +/** +* GLIB_VERSION_2_42: +* +* A macro that evaluates to the 2.42 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.42 +*/ +#define GLIB_VERSION_2_42 (G_ENCODE_VERSION (2, 42)) +/** +* GLIB_VERSION_2_44: +* +* A macro that evaluates to the 2.44 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.44 +*/ +#define GLIB_VERSION_2_44 (G_ENCODE_VERSION (2, 44)) +/** +* GLIB_VERSION_2_46: +* +* A macro that evaluates to the 2.46 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.46 +*/ +#define GLIB_VERSION_2_46 (G_ENCODE_VERSION (2, 46)) +/** +* GLIB_VERSION_2_48: +* +* A macro that evaluates to the 2.48 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.48 +*/ +#define GLIB_VERSION_2_48 (G_ENCODE_VERSION (2, 48)) +/** +* GLIB_VERSION_2_50: +* +* A macro that evaluates to the 2.50 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.50 +*/ +#define GLIB_VERSION_2_50 (G_ENCODE_VERSION (2, 50)) +/** +* GLIB_VERSION_2_52: +* +* A macro that evaluates to the 2.52 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.52 +*/ +#define GLIB_VERSION_2_52 (G_ENCODE_VERSION (2, 52)) +/** +* GLIB_VERSION_2_54: +* +* A macro that evaluates to the 2.54 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.54 +*/ +#define GLIB_VERSION_2_54 (G_ENCODE_VERSION (2, 54)) +/** +* GLIB_VERSION_2_56: +* +* A macro that evaluates to the 2.56 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.56 +*/ +#define GLIB_VERSION_2_56 (G_ENCODE_VERSION (2, 56)) +/** +* GLIB_VERSION_2_58: +* +* A macro that evaluates to the 2.58 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.58 +*/ +#define GLIB_VERSION_2_58 (G_ENCODE_VERSION (2, 58)) +/** +* GLIB_VERSION_2_60: +* +* A macro that evaluates to the 2.60 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.60 +*/ +#define GLIB_VERSION_2_60 (G_ENCODE_VERSION (2, 60)) +/** +* GLIB_VERSION_2_62: +* +* A macro that evaluates to the 2.62 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.62 +*/ +#define GLIB_VERSION_2_62 (G_ENCODE_VERSION (2, 62)) +/** +* GLIB_VERSION_2_64: +* +* A macro that evaluates to the 2.64 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.64 +*/ +#define GLIB_VERSION_2_64 (G_ENCODE_VERSION (2, 64)) +/** +* GLIB_VERSION_2_66: +* +* A macro that evaluates to the 2.66 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.66 +*/ +#define GLIB_VERSION_2_66 (G_ENCODE_VERSION (2, 66)) +/** +* GLIB_VERSION_2_68: +* +* A macro that evaluates to the 2.68 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.68 +*/ +#define GLIB_VERSION_2_68 (G_ENCODE_VERSION (2, 68)) +/** +* GLIB_VERSION_2_70: +* +* A macro that evaluates to the 2.70 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.70 +*/ +#define GLIB_VERSION_2_70 (G_ENCODE_VERSION (2, 70)) +/** +* GLIB_VERSION_2_72: +* +* A macro that evaluates to the 2.72 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.72 +*/ +#define GLIB_VERSION_2_72 (G_ENCODE_VERSION (2, 72)) +/** +* GLIB_VERSION_2_74: +* +* A macro that evaluates to the 2.74 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.74 +*/ +#define GLIB_VERSION_2_74 (G_ENCODE_VERSION (2, 74)) +/** +* GLIB_VERSION_2_76: +* +* A macro that evaluates to the 2.76 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.76 +*/ +#define GLIB_VERSION_2_76 (G_ENCODE_VERSION (2, 76)) +/** +* GLIB_VERSION_2_78: +* +* A macro that evaluates to the 2.78 version of GLib, in a format +* that can be used by the C pre-processor. +* +* Since: 2.78 +*/ +#define GLIB_VERSION_2_78 (G_ENCODE_VERSION (2, 78)) + +/** + * GLIB_VERSION_CUR_STABLE: + * + * A macro that evaluates to the current stable version of GLib, in a format + * that can be used by the C pre-processor. + * + * During an unstable development cycle, this evaluates to the next stable + * (unreleased) version which will be the result of the development cycle. + * + * Since: 2.32 + */ +#if (GLIB_MINOR_VERSION % 2) +#define GLIB_VERSION_CUR_STABLE (G_ENCODE_VERSION (GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION + 1)) +#else +#define GLIB_VERSION_CUR_STABLE (G_ENCODE_VERSION (GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION)) +#endif + +/** + * GLIB_VERSION_PREV_STABLE: + * + * A macro that evaluates to the previous stable version of GLib, in a format + * that can be used by the C pre-processor. + * + * During an unstable development cycle, this evaluates to the most recent + * released stable release, which preceded this development cycle. + * + * Since: 2.32 + */ +#if (GLIB_MINOR_VERSION % 2) +#define GLIB_VERSION_PREV_STABLE (G_ENCODE_VERSION (GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION - 1)) +#else +#define GLIB_VERSION_PREV_STABLE (G_ENCODE_VERSION (GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION - 2)) +#endif + +/** + * GLIB_VERSION_MIN_REQUIRED: + * + * A macro that should be defined by the user prior to including + * the glib.h header. + * The definition should be one of the predefined GLib version + * macros: %GLIB_VERSION_2_26, %GLIB_VERSION_2_28,... + * + * This macro defines the earliest version of GLib that the package is + * required to be able to compile against. + * + * If the compiler is configured to warn about the use of deprecated + * functions, then using functions that were deprecated in version + * %GLIB_VERSION_MIN_REQUIRED or earlier will cause warnings (but + * using functions deprecated in later releases will not). + * + * Since: 2.32 + */ +/* If the package sets GLIB_VERSION_MIN_REQUIRED to some future + * GLIB_VERSION_X_Y value that we don't know about, it will compare as + * 0 in preprocessor tests. + */ +#ifndef GLIB_VERSION_MIN_REQUIRED +#define GLIB_VERSION_MIN_REQUIRED (GLIB_VERSION_CUR_STABLE) +#elif GLIB_VERSION_MIN_REQUIRED == 0 +#undef GLIB_VERSION_MIN_REQUIRED +#define GLIB_VERSION_MIN_REQUIRED (GLIB_VERSION_CUR_STABLE + 2) +#endif + +/** + * GLIB_VERSION_MAX_ALLOWED: + * + * A macro that should be defined by the user prior to including + * the glib.h header. + * The definition should be one of the predefined GLib version + * macros: %GLIB_VERSION_2_26, %GLIB_VERSION_2_28,... + * + * This macro defines the latest version of the GLib API that the + * package is allowed to make use of. + * + * If the compiler is configured to warn about the use of deprecated + * functions, then using functions added after version + * %GLIB_VERSION_MAX_ALLOWED will cause warnings. + * + * Unless you are using GLIB_CHECK_VERSION() or the like to compile + * different code depending on the GLib version, then this should be + * set to the same value as %GLIB_VERSION_MIN_REQUIRED. + * + * Since: 2.32 + */ +#if !defined(GLIB_VERSION_MAX_ALLOWED) || (GLIB_VERSION_MAX_ALLOWED == 0) +#undef GLIB_VERSION_MAX_ALLOWED +#define GLIB_VERSION_MAX_ALLOWED (GLIB_VERSION_CUR_STABLE) +#endif + +/* sanity checks */ +#if GLIB_VERSION_MIN_REQUIRED > GLIB_VERSION_CUR_STABLE +#error "GLIB_VERSION_MIN_REQUIRED must be <= GLIB_VERSION_CUR_STABLE" +#endif +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_MIN_REQUIRED +#error "GLIB_VERSION_MAX_ALLOWED must be >= GLIB_VERSION_MIN_REQUIRED" +#endif +#if GLIB_VERSION_MIN_REQUIRED < GLIB_VERSION_2_26 +#error "GLIB_VERSION_MIN_REQUIRED must be >= GLIB_VERSION_2_26" +#endif + +#endif /* __G_VERSION_MACROS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/glib/gwin32.h b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gwin32.h new file mode 100644 index 0000000..e38a7f9 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/glib/gwin32.h @@ -0,0 +1,142 @@ +/* GLIB - Library of useful routines for C programming + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __G_WIN32_H__ +#define __G_WIN32_H__ + +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +#ifdef G_PLATFORM_WIN32 + +G_BEGIN_DECLS + +#ifndef MAXPATHLEN +#define MAXPATHLEN 1024 +#endif + +#ifdef G_OS_WIN32 + +/* + * To get prototypes for the following POSIXish functions, you have to + * include the indicated non-POSIX headers. The functions are defined + * in OLDNAMES.LIB (MSVC) or -lmoldname-msvc (mingw32). But note that + * for POSIX functions that take or return file names in the system + * codepage, in many cases you would want to use the GLib wrappers in + * gstdio.h and UTF-8 instead. + * + * getcwd: (MSVC), (mingw32) + * getpid: + * access: + * unlink: or + * open, read, write, lseek, close: + * rmdir: + * pipe: (actually, _pipe()) + */ + +/* For some POSIX functions that are not provided by the MS runtime, + * we provide emulation functions in glib, which are prefixed with + * g_win32_. Or that was the idea at some time, but there is just one + * of those: + */ +GLIB_AVAILABLE_IN_ALL +gint g_win32_ftruncate (gint f, + guint size); +#endif /* G_OS_WIN32 */ + +/* The MS setlocale uses locale names of the form "English_United + * States.1252" etc. We want the Unixish standard form "en", "zh_TW" + * etc. This function gets the current thread locale from Windows and + * returns it as a string of the above form for use in forming file + * names etc. The returned string should be deallocated with g_free(). + */ +GLIB_AVAILABLE_IN_ALL +gchar* g_win32_getlocale (void); + +/* Translate a Win32 error code (as returned by GetLastError()) into + * the corresponding message. The returned string should be deallocated + * with g_free(). + */ +GLIB_AVAILABLE_IN_ALL +gchar* g_win32_error_message (gint error); + +GLIB_DEPRECATED +gchar* g_win32_get_package_installation_directory (const gchar *package, + const gchar *dll_name); + +GLIB_DEPRECATED +gchar* g_win32_get_package_installation_subdirectory (const gchar *package, + const gchar *dll_name, + const gchar *subdir); + +GLIB_AVAILABLE_IN_ALL +gchar* g_win32_get_package_installation_directory_of_module (gpointer hmodule); + +GLIB_DEPRECATED_IN_2_44_FOR(g_win32_check_windows_version) +guint g_win32_get_windows_version (void); + +GLIB_AVAILABLE_IN_ALL +gchar* g_win32_locale_filename_from_utf8 (const gchar *utf8filename); + +GLIB_AVAILABLE_IN_2_40 +gchar ** g_win32_get_command_line (void); + +/* As of GLib 2.14 we only support NT-based Windows */ +#define G_WIN32_IS_NT_BASED() TRUE +#define G_WIN32_HAVE_WIDECHAR_API() TRUE + +/** + * GWin32OSType: + * @G_WIN32_OS_ANY: The running system can be a workstation or a server edition of + * Windows. The type of the running system is therefore not checked. + * @G_WIN32_OS_WORKSTATION: The running system is a workstation edition of Windows, + * such as Windows 7 Professional. + * @G_WIN32_OS_SERVER: The running system is a server edition of Windows, such as + * Windows Server 2008 R2. + * + * Type of Windows edition to check for at run-time. + **/ +typedef enum +{ + G_WIN32_OS_ANY, + G_WIN32_OS_WORKSTATION, + G_WIN32_OS_SERVER, +} GWin32OSType; + +GLIB_AVAILABLE_IN_2_44 +gboolean g_win32_check_windows_version (const gint major, + const gint minor, + const gint spver, + const GWin32OSType os_type); + +G_END_DECLS + +#endif /* G_PLATFORM_WIN32 */ + +#endif /* __G_WIN32_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gmodule.h b/vcpkg/installed/x64-osx/include/glib-2.0/gmodule.h new file mode 100644 index 0000000..5330a08 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gmodule.h @@ -0,0 +1,147 @@ +/* GMODULE - GLIB wrapper code for dynamic module loading + * Copyright (C) 1998 Tim Janik + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __GMODULE_H__ +#define __GMODULE_H__ + +#include +#include + +G_BEGIN_DECLS + +/* exporting and importing functions, this is special cased + * to feature Windows dll stubs. + */ +#if defined(_WIN32) || defined(__CYGWIN__) +# define G_MODULE_EXPORT __declspec(dllexport) +# define G_MODULE_IMPORT __declspec(dllimport) extern +#elif __GNUC__ >= 4 +# define G_MODULE_EXPORT __attribute__((visibility("default"))) +# define G_MODULE_IMPORT extern +#else /* !defined(_WIN32) && !defined(__CYGWIN__) && __GNUC__ < 4 */ +# define G_MODULE_EXPORT +# define G_MODULE_IMPORT extern +#endif + +/** + * GModuleFlags: + * @G_MODULE_BIND_LAZY: specifies that symbols are only resolved when + * needed. The default action is to bind all symbols when the module + * is loaded. + * @G_MODULE_BIND_LOCAL: specifies that symbols in the module should + * not be added to the global name space. The default action on most + * platforms is to place symbols in the module in the global name space, + * which may cause conflicts with existing symbols. + * @G_MODULE_BIND_MASK: mask for all flags. + * + * Flags passed to g_module_open(). + * Note that these flags are not supported on all platforms. + */ +typedef enum +{ + G_MODULE_BIND_LAZY = 1 << 0, + G_MODULE_BIND_LOCAL = 1 << 1, + G_MODULE_BIND_MASK = 0x03 +} GModuleFlags; + +typedef struct _GModule GModule; +typedef const gchar* (*GModuleCheckInit) (GModule *module); +typedef void (*GModuleUnload) (GModule *module); + +#define G_MODULE_ERROR g_module_error_quark () GMODULE_AVAILABLE_MACRO_IN_2_70 +GMODULE_AVAILABLE_IN_2_70 +GQuark g_module_error_quark (void); + +/** + * GModuleError: + * @G_MODULE_ERROR_FAILED: there was an error loading or opening a module file + * @G_MODULE_ERROR_CHECK_FAILED: a module returned an error from its `g_module_check_init()` function + * + * Errors returned by g_module_open_full(). + * + * Since: 2.70 + */ +typedef enum +{ + G_MODULE_ERROR_FAILED, + G_MODULE_ERROR_CHECK_FAILED, +} GModuleError +GMODULE_AVAILABLE_ENUMERATOR_IN_2_70; + +/* return TRUE if dynamic module loading is supported */ +GMODULE_AVAILABLE_IN_ALL +gboolean g_module_supported (void) G_GNUC_CONST; + +/* open a module 'file_name' and return handle, which is NULL on error */ +GMODULE_AVAILABLE_IN_ALL +GModule* g_module_open (const gchar *file_name, + GModuleFlags flags); + +GMODULE_AVAILABLE_IN_2_70 +GModule *g_module_open_full (const gchar *file_name, + GModuleFlags flags, + GError **error); + +/* close a previously opened module, returns TRUE on success */ +GMODULE_AVAILABLE_IN_ALL +gboolean g_module_close (GModule *module); + +/* make a module resident so g_module_close on it will be ignored */ +GMODULE_AVAILABLE_IN_ALL +void g_module_make_resident (GModule *module); + +/* query the last module error as a string */ +GMODULE_AVAILABLE_IN_ALL +const gchar * g_module_error (void); + +/* retrieve a symbol pointer from 'module', returns TRUE on success */ +GMODULE_AVAILABLE_IN_ALL +gboolean g_module_symbol (GModule *module, + const gchar *symbol_name, + gpointer *symbol); + +/* retrieve the file name from an existing module */ +GMODULE_AVAILABLE_IN_ALL +const gchar * g_module_name (GModule *module); + +/* Build the actual file name containing a module. 'directory' is the + * directory where the module file is supposed to be, or NULL or empty + * in which case it should either be in the current directory or, on + * some operating systems, in some standard place, for instance on the + * PATH. Hence, to be absolutely sure to get the correct module, + * always pass in a directory. The file name consists of the directory, + * if supplied, and 'module_name' suitably decorated according to + * the operating system's conventions (for instance lib*.so or *.dll). + * + * No checks are made that the file exists, or is of correct type. + */ +GMODULE_DEPRECATED_IN_2_76 +gchar* g_module_build_path (const gchar *directory, + const gchar *module_name); + +G_END_DECLS + +#endif /* __GMODULE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gmodule/gmodule-visibility.h b/vcpkg/installed/x64-osx/include/glib-2.0/gmodule/gmodule-visibility.h new file mode 100644 index 0000000..796d1ee --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gmodule/gmodule-visibility.h @@ -0,0 +1,952 @@ +#pragma once + +#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(GMODULE_STATIC_COMPILATION) +# define _GMODULE_EXPORT __declspec(dllexport) +# define _GMODULE_IMPORT __declspec(dllimport) +#elif __GNUC__ >= 4 +# define _GMODULE_EXPORT __attribute__((visibility("default"))) +# define _GMODULE_IMPORT +#else +# define _GMODULE_EXPORT +# define _GMODULE_IMPORT +#endif +#ifdef GMODULE_COMPILATION +# define _GMODULE_API _GMODULE_EXPORT +#else +# define _GMODULE_API _GMODULE_IMPORT +#endif + +#define _GMODULE_EXTERN _GMODULE_API extern + +#define GMODULE_VAR _GMODULE_EXTERN +#define GMODULE_AVAILABLE_IN_ALL _GMODULE_EXTERN + +#ifdef GLIB_DISABLE_DEPRECATION_WARNINGS +#define GMODULE_DEPRECATED _GMODULE_EXTERN +#define GMODULE_DEPRECATED_FOR(f) _GMODULE_EXTERN +#define GMODULE_UNAVAILABLE(maj,min) _GMODULE_EXTERN +#define GMODULE_UNAVAILABLE_STATIC_INLINE(maj,min) +#else +#define GMODULE_DEPRECATED G_DEPRECATED _GMODULE_EXTERN +#define GMODULE_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f) _GMODULE_EXTERN +#define GMODULE_UNAVAILABLE(maj,min) G_UNAVAILABLE(maj,min) _GMODULE_EXTERN +#define GMODULE_UNAVAILABLE_STATIC_INLINE(maj,min) G_UNAVAILABLE(maj,min) +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_26 +#define GMODULE_DEPRECATED_IN_2_26 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_26_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_26 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_26_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_26 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_26_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_26 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_26_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_26 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_26_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_26 +#define GMODULE_DEPRECATED_MACRO_IN_2_26_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_26 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_26_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_26 +#define GMODULE_DEPRECATED_TYPE_IN_2_26_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_26 +#define GMODULE_AVAILABLE_IN_2_26 GMODULE_UNAVAILABLE (2, 26) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_26 GLIB_UNAVAILABLE_STATIC_INLINE (2, 26) +#define GMODULE_AVAILABLE_MACRO_IN_2_26 GLIB_UNAVAILABLE_MACRO (2, 26) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_26 GLIB_UNAVAILABLE_ENUMERATOR (2, 26) +#define GMODULE_AVAILABLE_TYPE_IN_2_26 GLIB_UNAVAILABLE_TYPE (2, 26) +#else +#define GMODULE_AVAILABLE_IN_2_26 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_26 +#define GMODULE_AVAILABLE_MACRO_IN_2_26 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_26 +#define GMODULE_AVAILABLE_TYPE_IN_2_26 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_28 +#define GMODULE_DEPRECATED_IN_2_28 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_28_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_28 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_28_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_28 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_28_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_28 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_28_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_28 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_28_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_28 +#define GMODULE_DEPRECATED_MACRO_IN_2_28_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_28 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_28_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_28 +#define GMODULE_DEPRECATED_TYPE_IN_2_28_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_28 +#define GMODULE_AVAILABLE_IN_2_28 GMODULE_UNAVAILABLE (2, 28) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_28 GLIB_UNAVAILABLE_STATIC_INLINE (2, 28) +#define GMODULE_AVAILABLE_MACRO_IN_2_28 GLIB_UNAVAILABLE_MACRO (2, 28) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_28 GLIB_UNAVAILABLE_ENUMERATOR (2, 28) +#define GMODULE_AVAILABLE_TYPE_IN_2_28 GLIB_UNAVAILABLE_TYPE (2, 28) +#else +#define GMODULE_AVAILABLE_IN_2_28 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_28 +#define GMODULE_AVAILABLE_MACRO_IN_2_28 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_28 +#define GMODULE_AVAILABLE_TYPE_IN_2_28 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_30 +#define GMODULE_DEPRECATED_IN_2_30 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_30_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_30 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_30_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_30 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_30_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_30 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_30_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_30 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_30_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_30 +#define GMODULE_DEPRECATED_MACRO_IN_2_30_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_30 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_30_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_30 +#define GMODULE_DEPRECATED_TYPE_IN_2_30_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_30 +#define GMODULE_AVAILABLE_IN_2_30 GMODULE_UNAVAILABLE (2, 30) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_30 GLIB_UNAVAILABLE_STATIC_INLINE (2, 30) +#define GMODULE_AVAILABLE_MACRO_IN_2_30 GLIB_UNAVAILABLE_MACRO (2, 30) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_30 GLIB_UNAVAILABLE_ENUMERATOR (2, 30) +#define GMODULE_AVAILABLE_TYPE_IN_2_30 GLIB_UNAVAILABLE_TYPE (2, 30) +#else +#define GMODULE_AVAILABLE_IN_2_30 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_30 +#define GMODULE_AVAILABLE_MACRO_IN_2_30 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_30 +#define GMODULE_AVAILABLE_TYPE_IN_2_30 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_32 +#define GMODULE_DEPRECATED_IN_2_32 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_32_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_32 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_32_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_32 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_32_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_32 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_32_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_32 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_32_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_32 +#define GMODULE_DEPRECATED_MACRO_IN_2_32_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_32 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_32_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_32 +#define GMODULE_DEPRECATED_TYPE_IN_2_32_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_32 +#define GMODULE_AVAILABLE_IN_2_32 GMODULE_UNAVAILABLE (2, 32) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_32 GLIB_UNAVAILABLE_STATIC_INLINE (2, 32) +#define GMODULE_AVAILABLE_MACRO_IN_2_32 GLIB_UNAVAILABLE_MACRO (2, 32) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_32 GLIB_UNAVAILABLE_ENUMERATOR (2, 32) +#define GMODULE_AVAILABLE_TYPE_IN_2_32 GLIB_UNAVAILABLE_TYPE (2, 32) +#else +#define GMODULE_AVAILABLE_IN_2_32 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_32 +#define GMODULE_AVAILABLE_MACRO_IN_2_32 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_32 +#define GMODULE_AVAILABLE_TYPE_IN_2_32 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_34 +#define GMODULE_DEPRECATED_IN_2_34 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_34_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_34 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_34_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_34 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_34_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_34 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_34_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_34 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_34_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_34 +#define GMODULE_DEPRECATED_MACRO_IN_2_34_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_34 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_34_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_34 +#define GMODULE_DEPRECATED_TYPE_IN_2_34_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_34 +#define GMODULE_AVAILABLE_IN_2_34 GMODULE_UNAVAILABLE (2, 34) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_34 GLIB_UNAVAILABLE_STATIC_INLINE (2, 34) +#define GMODULE_AVAILABLE_MACRO_IN_2_34 GLIB_UNAVAILABLE_MACRO (2, 34) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_34 GLIB_UNAVAILABLE_ENUMERATOR (2, 34) +#define GMODULE_AVAILABLE_TYPE_IN_2_34 GLIB_UNAVAILABLE_TYPE (2, 34) +#else +#define GMODULE_AVAILABLE_IN_2_34 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_34 +#define GMODULE_AVAILABLE_MACRO_IN_2_34 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_34 +#define GMODULE_AVAILABLE_TYPE_IN_2_34 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_36 +#define GMODULE_DEPRECATED_IN_2_36 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_36_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_36 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_36_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_36 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_36_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_36 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_36_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_36 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_36_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_36 +#define GMODULE_DEPRECATED_MACRO_IN_2_36_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_36 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_36_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_36 +#define GMODULE_DEPRECATED_TYPE_IN_2_36_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_36 +#define GMODULE_AVAILABLE_IN_2_36 GMODULE_UNAVAILABLE (2, 36) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_36 GLIB_UNAVAILABLE_STATIC_INLINE (2, 36) +#define GMODULE_AVAILABLE_MACRO_IN_2_36 GLIB_UNAVAILABLE_MACRO (2, 36) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_36 GLIB_UNAVAILABLE_ENUMERATOR (2, 36) +#define GMODULE_AVAILABLE_TYPE_IN_2_36 GLIB_UNAVAILABLE_TYPE (2, 36) +#else +#define GMODULE_AVAILABLE_IN_2_36 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_36 +#define GMODULE_AVAILABLE_MACRO_IN_2_36 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_36 +#define GMODULE_AVAILABLE_TYPE_IN_2_36 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_38 +#define GMODULE_DEPRECATED_IN_2_38 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_38_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_38 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_38_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_38 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_38_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_38 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_38_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_38 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_38_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_38 +#define GMODULE_DEPRECATED_MACRO_IN_2_38_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_38 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_38_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_38 +#define GMODULE_DEPRECATED_TYPE_IN_2_38_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38 +#define GMODULE_AVAILABLE_IN_2_38 GMODULE_UNAVAILABLE (2, 38) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_38 GLIB_UNAVAILABLE_STATIC_INLINE (2, 38) +#define GMODULE_AVAILABLE_MACRO_IN_2_38 GLIB_UNAVAILABLE_MACRO (2, 38) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_38 GLIB_UNAVAILABLE_ENUMERATOR (2, 38) +#define GMODULE_AVAILABLE_TYPE_IN_2_38 GLIB_UNAVAILABLE_TYPE (2, 38) +#else +#define GMODULE_AVAILABLE_IN_2_38 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_38 +#define GMODULE_AVAILABLE_MACRO_IN_2_38 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_38 +#define GMODULE_AVAILABLE_TYPE_IN_2_38 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_40 +#define GMODULE_DEPRECATED_IN_2_40 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_40_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_40 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_40_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_40 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_40_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_40 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_40_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_40 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_40_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_40 +#define GMODULE_DEPRECATED_MACRO_IN_2_40_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_40 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_40_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_40 +#define GMODULE_DEPRECATED_TYPE_IN_2_40_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_40 +#define GMODULE_AVAILABLE_IN_2_40 GMODULE_UNAVAILABLE (2, 40) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_40 GLIB_UNAVAILABLE_STATIC_INLINE (2, 40) +#define GMODULE_AVAILABLE_MACRO_IN_2_40 GLIB_UNAVAILABLE_MACRO (2, 40) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_40 GLIB_UNAVAILABLE_ENUMERATOR (2, 40) +#define GMODULE_AVAILABLE_TYPE_IN_2_40 GLIB_UNAVAILABLE_TYPE (2, 40) +#else +#define GMODULE_AVAILABLE_IN_2_40 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_40 +#define GMODULE_AVAILABLE_MACRO_IN_2_40 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_40 +#define GMODULE_AVAILABLE_TYPE_IN_2_40 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_42 +#define GMODULE_DEPRECATED_IN_2_42 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_42_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_42 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_42_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_42 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_42_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_42 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_42_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_42 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_42_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_42 +#define GMODULE_DEPRECATED_MACRO_IN_2_42_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_42 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_42_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_42 +#define GMODULE_DEPRECATED_TYPE_IN_2_42_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_42 +#define GMODULE_AVAILABLE_IN_2_42 GMODULE_UNAVAILABLE (2, 42) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_42 GLIB_UNAVAILABLE_STATIC_INLINE (2, 42) +#define GMODULE_AVAILABLE_MACRO_IN_2_42 GLIB_UNAVAILABLE_MACRO (2, 42) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_42 GLIB_UNAVAILABLE_ENUMERATOR (2, 42) +#define GMODULE_AVAILABLE_TYPE_IN_2_42 GLIB_UNAVAILABLE_TYPE (2, 42) +#else +#define GMODULE_AVAILABLE_IN_2_42 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_42 +#define GMODULE_AVAILABLE_MACRO_IN_2_42 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_42 +#define GMODULE_AVAILABLE_TYPE_IN_2_42 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_44 +#define GMODULE_DEPRECATED_IN_2_44 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_44_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_44 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_44_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_44 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_44_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_44 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_44_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_44 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_44_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_44 +#define GMODULE_DEPRECATED_MACRO_IN_2_44_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_44 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_44_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_44 +#define GMODULE_DEPRECATED_TYPE_IN_2_44_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_44 +#define GMODULE_AVAILABLE_IN_2_44 GMODULE_UNAVAILABLE (2, 44) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_44 GLIB_UNAVAILABLE_STATIC_INLINE (2, 44) +#define GMODULE_AVAILABLE_MACRO_IN_2_44 GLIB_UNAVAILABLE_MACRO (2, 44) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_44 GLIB_UNAVAILABLE_ENUMERATOR (2, 44) +#define GMODULE_AVAILABLE_TYPE_IN_2_44 GLIB_UNAVAILABLE_TYPE (2, 44) +#else +#define GMODULE_AVAILABLE_IN_2_44 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_44 +#define GMODULE_AVAILABLE_MACRO_IN_2_44 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_44 +#define GMODULE_AVAILABLE_TYPE_IN_2_44 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_46 +#define GMODULE_DEPRECATED_IN_2_46 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_46_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_46 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_46_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_46 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_46_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_46 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_46_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_46 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_46_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_46 +#define GMODULE_DEPRECATED_MACRO_IN_2_46_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_46 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_46_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_46 +#define GMODULE_DEPRECATED_TYPE_IN_2_46_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_46 +#define GMODULE_AVAILABLE_IN_2_46 GMODULE_UNAVAILABLE (2, 46) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_46 GLIB_UNAVAILABLE_STATIC_INLINE (2, 46) +#define GMODULE_AVAILABLE_MACRO_IN_2_46 GLIB_UNAVAILABLE_MACRO (2, 46) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_46 GLIB_UNAVAILABLE_ENUMERATOR (2, 46) +#define GMODULE_AVAILABLE_TYPE_IN_2_46 GLIB_UNAVAILABLE_TYPE (2, 46) +#else +#define GMODULE_AVAILABLE_IN_2_46 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_46 +#define GMODULE_AVAILABLE_MACRO_IN_2_46 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_46 +#define GMODULE_AVAILABLE_TYPE_IN_2_46 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_48 +#define GMODULE_DEPRECATED_IN_2_48 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_48_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_48 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_48_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_48 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_48_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_48 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_48_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_48 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_48_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_48 +#define GMODULE_DEPRECATED_MACRO_IN_2_48_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_48 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_48_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_48 +#define GMODULE_DEPRECATED_TYPE_IN_2_48_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_48 +#define GMODULE_AVAILABLE_IN_2_48 GMODULE_UNAVAILABLE (2, 48) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_48 GLIB_UNAVAILABLE_STATIC_INLINE (2, 48) +#define GMODULE_AVAILABLE_MACRO_IN_2_48 GLIB_UNAVAILABLE_MACRO (2, 48) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_48 GLIB_UNAVAILABLE_ENUMERATOR (2, 48) +#define GMODULE_AVAILABLE_TYPE_IN_2_48 GLIB_UNAVAILABLE_TYPE (2, 48) +#else +#define GMODULE_AVAILABLE_IN_2_48 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_48 +#define GMODULE_AVAILABLE_MACRO_IN_2_48 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_48 +#define GMODULE_AVAILABLE_TYPE_IN_2_48 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_50 +#define GMODULE_DEPRECATED_IN_2_50 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_50_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_50 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_50_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_50 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_50_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_50 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_50_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_50 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_50_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_50 +#define GMODULE_DEPRECATED_MACRO_IN_2_50_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_50 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_50_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_50 +#define GMODULE_DEPRECATED_TYPE_IN_2_50_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_50 +#define GMODULE_AVAILABLE_IN_2_50 GMODULE_UNAVAILABLE (2, 50) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_50 GLIB_UNAVAILABLE_STATIC_INLINE (2, 50) +#define GMODULE_AVAILABLE_MACRO_IN_2_50 GLIB_UNAVAILABLE_MACRO (2, 50) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_50 GLIB_UNAVAILABLE_ENUMERATOR (2, 50) +#define GMODULE_AVAILABLE_TYPE_IN_2_50 GLIB_UNAVAILABLE_TYPE (2, 50) +#else +#define GMODULE_AVAILABLE_IN_2_50 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_50 +#define GMODULE_AVAILABLE_MACRO_IN_2_50 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_50 +#define GMODULE_AVAILABLE_TYPE_IN_2_50 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_52 +#define GMODULE_DEPRECATED_IN_2_52 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_52_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_52 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_52_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_52 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_52_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_52 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_52_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_52 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_52_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_52 +#define GMODULE_DEPRECATED_MACRO_IN_2_52_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_52 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_52_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_52 +#define GMODULE_DEPRECATED_TYPE_IN_2_52_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_52 +#define GMODULE_AVAILABLE_IN_2_52 GMODULE_UNAVAILABLE (2, 52) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_52 GLIB_UNAVAILABLE_STATIC_INLINE (2, 52) +#define GMODULE_AVAILABLE_MACRO_IN_2_52 GLIB_UNAVAILABLE_MACRO (2, 52) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_52 GLIB_UNAVAILABLE_ENUMERATOR (2, 52) +#define GMODULE_AVAILABLE_TYPE_IN_2_52 GLIB_UNAVAILABLE_TYPE (2, 52) +#else +#define GMODULE_AVAILABLE_IN_2_52 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_52 +#define GMODULE_AVAILABLE_MACRO_IN_2_52 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_52 +#define GMODULE_AVAILABLE_TYPE_IN_2_52 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_54 +#define GMODULE_DEPRECATED_IN_2_54 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_54_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_54 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_54_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_54 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_54_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_54 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_54_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_54 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_54_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_54 +#define GMODULE_DEPRECATED_MACRO_IN_2_54_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_54 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_54_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_54 +#define GMODULE_DEPRECATED_TYPE_IN_2_54_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_54 +#define GMODULE_AVAILABLE_IN_2_54 GMODULE_UNAVAILABLE (2, 54) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_54 GLIB_UNAVAILABLE_STATIC_INLINE (2, 54) +#define GMODULE_AVAILABLE_MACRO_IN_2_54 GLIB_UNAVAILABLE_MACRO (2, 54) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_54 GLIB_UNAVAILABLE_ENUMERATOR (2, 54) +#define GMODULE_AVAILABLE_TYPE_IN_2_54 GLIB_UNAVAILABLE_TYPE (2, 54) +#else +#define GMODULE_AVAILABLE_IN_2_54 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_54 +#define GMODULE_AVAILABLE_MACRO_IN_2_54 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_54 +#define GMODULE_AVAILABLE_TYPE_IN_2_54 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_56 +#define GMODULE_DEPRECATED_IN_2_56 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_56_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_56 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_56_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_56 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_56_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_56 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_56_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_56 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_56_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_56 +#define GMODULE_DEPRECATED_MACRO_IN_2_56_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_56 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_56_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_56 +#define GMODULE_DEPRECATED_TYPE_IN_2_56_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_56 +#define GMODULE_AVAILABLE_IN_2_56 GMODULE_UNAVAILABLE (2, 56) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_56 GLIB_UNAVAILABLE_STATIC_INLINE (2, 56) +#define GMODULE_AVAILABLE_MACRO_IN_2_56 GLIB_UNAVAILABLE_MACRO (2, 56) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_56 GLIB_UNAVAILABLE_ENUMERATOR (2, 56) +#define GMODULE_AVAILABLE_TYPE_IN_2_56 GLIB_UNAVAILABLE_TYPE (2, 56) +#else +#define GMODULE_AVAILABLE_IN_2_56 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_56 +#define GMODULE_AVAILABLE_MACRO_IN_2_56 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_56 +#define GMODULE_AVAILABLE_TYPE_IN_2_56 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_58 +#define GMODULE_DEPRECATED_IN_2_58 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_58_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_58 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_58_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_58 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_58_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_58 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_58_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_58 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_58_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_58 +#define GMODULE_DEPRECATED_MACRO_IN_2_58_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_58 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_58_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_58 +#define GMODULE_DEPRECATED_TYPE_IN_2_58_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_58 +#define GMODULE_AVAILABLE_IN_2_58 GMODULE_UNAVAILABLE (2, 58) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_58 GLIB_UNAVAILABLE_STATIC_INLINE (2, 58) +#define GMODULE_AVAILABLE_MACRO_IN_2_58 GLIB_UNAVAILABLE_MACRO (2, 58) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_58 GLIB_UNAVAILABLE_ENUMERATOR (2, 58) +#define GMODULE_AVAILABLE_TYPE_IN_2_58 GLIB_UNAVAILABLE_TYPE (2, 58) +#else +#define GMODULE_AVAILABLE_IN_2_58 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_58 +#define GMODULE_AVAILABLE_MACRO_IN_2_58 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_58 +#define GMODULE_AVAILABLE_TYPE_IN_2_58 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_60 +#define GMODULE_DEPRECATED_IN_2_60 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_60_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_60 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_60_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_60 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_60_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_60 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_60_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_60 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_60_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_60 +#define GMODULE_DEPRECATED_MACRO_IN_2_60_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_60 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_60_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_60 +#define GMODULE_DEPRECATED_TYPE_IN_2_60_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_60 +#define GMODULE_AVAILABLE_IN_2_60 GMODULE_UNAVAILABLE (2, 60) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_60 GLIB_UNAVAILABLE_STATIC_INLINE (2, 60) +#define GMODULE_AVAILABLE_MACRO_IN_2_60 GLIB_UNAVAILABLE_MACRO (2, 60) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_60 GLIB_UNAVAILABLE_ENUMERATOR (2, 60) +#define GMODULE_AVAILABLE_TYPE_IN_2_60 GLIB_UNAVAILABLE_TYPE (2, 60) +#else +#define GMODULE_AVAILABLE_IN_2_60 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_60 +#define GMODULE_AVAILABLE_MACRO_IN_2_60 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_60 +#define GMODULE_AVAILABLE_TYPE_IN_2_60 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_62 +#define GMODULE_DEPRECATED_IN_2_62 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_62_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_62 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_62_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_62 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_62_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_62 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_62_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_62 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_62_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_62 +#define GMODULE_DEPRECATED_MACRO_IN_2_62_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_62 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_62_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_62 +#define GMODULE_DEPRECATED_TYPE_IN_2_62_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_62 +#define GMODULE_AVAILABLE_IN_2_62 GMODULE_UNAVAILABLE (2, 62) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_62 GLIB_UNAVAILABLE_STATIC_INLINE (2, 62) +#define GMODULE_AVAILABLE_MACRO_IN_2_62 GLIB_UNAVAILABLE_MACRO (2, 62) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_62 GLIB_UNAVAILABLE_ENUMERATOR (2, 62) +#define GMODULE_AVAILABLE_TYPE_IN_2_62 GLIB_UNAVAILABLE_TYPE (2, 62) +#else +#define GMODULE_AVAILABLE_IN_2_62 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_62 +#define GMODULE_AVAILABLE_MACRO_IN_2_62 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_62 +#define GMODULE_AVAILABLE_TYPE_IN_2_62 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_64 +#define GMODULE_DEPRECATED_IN_2_64 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_64_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_64 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_64_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_64 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_64_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_64 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_64_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_64 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_64_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_64 +#define GMODULE_DEPRECATED_MACRO_IN_2_64_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_64 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_64_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_64 +#define GMODULE_DEPRECATED_TYPE_IN_2_64_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_64 +#define GMODULE_AVAILABLE_IN_2_64 GMODULE_UNAVAILABLE (2, 64) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_64 GLIB_UNAVAILABLE_STATIC_INLINE (2, 64) +#define GMODULE_AVAILABLE_MACRO_IN_2_64 GLIB_UNAVAILABLE_MACRO (2, 64) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_64 GLIB_UNAVAILABLE_ENUMERATOR (2, 64) +#define GMODULE_AVAILABLE_TYPE_IN_2_64 GLIB_UNAVAILABLE_TYPE (2, 64) +#else +#define GMODULE_AVAILABLE_IN_2_64 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_64 +#define GMODULE_AVAILABLE_MACRO_IN_2_64 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_64 +#define GMODULE_AVAILABLE_TYPE_IN_2_64 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_66 +#define GMODULE_DEPRECATED_IN_2_66 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_66_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_66 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_66_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_66 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_66_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_66 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_66_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_66 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_66_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_66 +#define GMODULE_DEPRECATED_MACRO_IN_2_66_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_66 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_66_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_66 +#define GMODULE_DEPRECATED_TYPE_IN_2_66_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_66 +#define GMODULE_AVAILABLE_IN_2_66 GMODULE_UNAVAILABLE (2, 66) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_66 GLIB_UNAVAILABLE_STATIC_INLINE (2, 66) +#define GMODULE_AVAILABLE_MACRO_IN_2_66 GLIB_UNAVAILABLE_MACRO (2, 66) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_66 GLIB_UNAVAILABLE_ENUMERATOR (2, 66) +#define GMODULE_AVAILABLE_TYPE_IN_2_66 GLIB_UNAVAILABLE_TYPE (2, 66) +#else +#define GMODULE_AVAILABLE_IN_2_66 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_66 +#define GMODULE_AVAILABLE_MACRO_IN_2_66 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_66 +#define GMODULE_AVAILABLE_TYPE_IN_2_66 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_68 +#define GMODULE_DEPRECATED_IN_2_68 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_68_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_68 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_68_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_68 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_68_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_68 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_68_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_68 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_68_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_68 +#define GMODULE_DEPRECATED_MACRO_IN_2_68_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_68 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_68_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_68 +#define GMODULE_DEPRECATED_TYPE_IN_2_68_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_68 +#define GMODULE_AVAILABLE_IN_2_68 GMODULE_UNAVAILABLE (2, 68) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_68 GLIB_UNAVAILABLE_STATIC_INLINE (2, 68) +#define GMODULE_AVAILABLE_MACRO_IN_2_68 GLIB_UNAVAILABLE_MACRO (2, 68) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_68 GLIB_UNAVAILABLE_ENUMERATOR (2, 68) +#define GMODULE_AVAILABLE_TYPE_IN_2_68 GLIB_UNAVAILABLE_TYPE (2, 68) +#else +#define GMODULE_AVAILABLE_IN_2_68 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_68 +#define GMODULE_AVAILABLE_MACRO_IN_2_68 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_68 +#define GMODULE_AVAILABLE_TYPE_IN_2_68 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_70 +#define GMODULE_DEPRECATED_IN_2_70 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_70_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_70 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_70_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_70 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_70_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_70 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_70_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_70 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_70_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_70 +#define GMODULE_DEPRECATED_MACRO_IN_2_70_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_70 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_70_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_70 +#define GMODULE_DEPRECATED_TYPE_IN_2_70_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_70 +#define GMODULE_AVAILABLE_IN_2_70 GMODULE_UNAVAILABLE (2, 70) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_70 GLIB_UNAVAILABLE_STATIC_INLINE (2, 70) +#define GMODULE_AVAILABLE_MACRO_IN_2_70 GLIB_UNAVAILABLE_MACRO (2, 70) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_70 GLIB_UNAVAILABLE_ENUMERATOR (2, 70) +#define GMODULE_AVAILABLE_TYPE_IN_2_70 GLIB_UNAVAILABLE_TYPE (2, 70) +#else +#define GMODULE_AVAILABLE_IN_2_70 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_70 +#define GMODULE_AVAILABLE_MACRO_IN_2_70 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_70 +#define GMODULE_AVAILABLE_TYPE_IN_2_70 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_72 +#define GMODULE_DEPRECATED_IN_2_72 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_72_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_72 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_72_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_72 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_72_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_72 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_72_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_72 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_72_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_72 +#define GMODULE_DEPRECATED_MACRO_IN_2_72_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_72 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_72_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_72 +#define GMODULE_DEPRECATED_TYPE_IN_2_72_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_72 +#define GMODULE_AVAILABLE_IN_2_72 GMODULE_UNAVAILABLE (2, 72) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_72 GLIB_UNAVAILABLE_STATIC_INLINE (2, 72) +#define GMODULE_AVAILABLE_MACRO_IN_2_72 GLIB_UNAVAILABLE_MACRO (2, 72) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_72 GLIB_UNAVAILABLE_ENUMERATOR (2, 72) +#define GMODULE_AVAILABLE_TYPE_IN_2_72 GLIB_UNAVAILABLE_TYPE (2, 72) +#else +#define GMODULE_AVAILABLE_IN_2_72 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_72 +#define GMODULE_AVAILABLE_MACRO_IN_2_72 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_72 +#define GMODULE_AVAILABLE_TYPE_IN_2_72 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_74 +#define GMODULE_DEPRECATED_IN_2_74 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_74_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_74 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_74_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_74 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_74_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_74 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_74_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_74 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_74_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_74 +#define GMODULE_DEPRECATED_MACRO_IN_2_74_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_74 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_74_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_74 +#define GMODULE_DEPRECATED_TYPE_IN_2_74_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_74 +#define GMODULE_AVAILABLE_IN_2_74 GMODULE_UNAVAILABLE (2, 74) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_74 GLIB_UNAVAILABLE_STATIC_INLINE (2, 74) +#define GMODULE_AVAILABLE_MACRO_IN_2_74 GLIB_UNAVAILABLE_MACRO (2, 74) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_74 GLIB_UNAVAILABLE_ENUMERATOR (2, 74) +#define GMODULE_AVAILABLE_TYPE_IN_2_74 GLIB_UNAVAILABLE_TYPE (2, 74) +#else +#define GMODULE_AVAILABLE_IN_2_74 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_74 +#define GMODULE_AVAILABLE_MACRO_IN_2_74 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_74 +#define GMODULE_AVAILABLE_TYPE_IN_2_74 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_76 +#define GMODULE_DEPRECATED_IN_2_76 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_76_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_76 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_76_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_76 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_76_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_76 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_76_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_76 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_76_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_76 +#define GMODULE_DEPRECATED_MACRO_IN_2_76_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_76 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_76_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_76 +#define GMODULE_DEPRECATED_TYPE_IN_2_76_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_76 +#define GMODULE_AVAILABLE_IN_2_76 GMODULE_UNAVAILABLE (2, 76) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_76 GLIB_UNAVAILABLE_STATIC_INLINE (2, 76) +#define GMODULE_AVAILABLE_MACRO_IN_2_76 GLIB_UNAVAILABLE_MACRO (2, 76) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_76 GLIB_UNAVAILABLE_ENUMERATOR (2, 76) +#define GMODULE_AVAILABLE_TYPE_IN_2_76 GLIB_UNAVAILABLE_TYPE (2, 76) +#else +#define GMODULE_AVAILABLE_IN_2_76 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_76 +#define GMODULE_AVAILABLE_MACRO_IN_2_76 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_76 +#define GMODULE_AVAILABLE_TYPE_IN_2_76 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_78 +#define GMODULE_DEPRECATED_IN_2_78 GMODULE_DEPRECATED +#define GMODULE_DEPRECATED_IN_2_78_FOR(f) GMODULE_DEPRECATED_FOR (f) +#define GMODULE_DEPRECATED_MACRO_IN_2_78 GLIB_DEPRECATED_MACRO +#define GMODULE_DEPRECATED_MACRO_IN_2_78_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_78 GLIB_DEPRECATED_ENUMERATOR +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_78_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GMODULE_DEPRECATED_TYPE_IN_2_78 GLIB_DEPRECATED_TYPE +#define GMODULE_DEPRECATED_TYPE_IN_2_78_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GMODULE_DEPRECATED_IN_2_78 _GMODULE_EXTERN +#define GMODULE_DEPRECATED_IN_2_78_FOR(f) _GMODULE_EXTERN +#define GMODULE_DEPRECATED_MACRO_IN_2_78 +#define GMODULE_DEPRECATED_MACRO_IN_2_78_FOR(f) +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_78 +#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_78_FOR(f) +#define GMODULE_DEPRECATED_TYPE_IN_2_78 +#define GMODULE_DEPRECATED_TYPE_IN_2_78_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_78 +#define GMODULE_AVAILABLE_IN_2_78 GMODULE_UNAVAILABLE (2, 78) +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_78 GLIB_UNAVAILABLE_STATIC_INLINE (2, 78) +#define GMODULE_AVAILABLE_MACRO_IN_2_78 GLIB_UNAVAILABLE_MACRO (2, 78) +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_78 GLIB_UNAVAILABLE_ENUMERATOR (2, 78) +#define GMODULE_AVAILABLE_TYPE_IN_2_78 GLIB_UNAVAILABLE_TYPE (2, 78) +#else +#define GMODULE_AVAILABLE_IN_2_78 _GMODULE_EXTERN +#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_78 +#define GMODULE_AVAILABLE_MACRO_IN_2_78 +#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_78 +#define GMODULE_AVAILABLE_TYPE_IN_2_78 +#endif diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gbinding.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gbinding.h new file mode 100644 index 0000000..8504de2 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gbinding.h @@ -0,0 +1,156 @@ +/* gbinding.h: Binding for object properties + * + * Copyright (C) 2010 Intel Corp. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * Author: Emmanuele Bassi + */ + +#ifndef __G_BINDING_H__ +#define __G_BINDING_H__ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +#define G_TYPE_BINDING_FLAGS (g_binding_flags_get_type ()) + +#define G_TYPE_BINDING (g_binding_get_type ()) +#define G_BINDING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_BINDING, GBinding)) +#define G_IS_BINDING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_BINDING)) + +/** + * GBinding: + * + * GBinding is an opaque structure whose members + * cannot be accessed directly. + * + * Since: 2.26 + */ +typedef struct _GBinding GBinding; + +/** + * GBindingTransformFunc: + * @binding: a #GBinding + * @from_value: the #GValue containing the value to transform + * @to_value: the #GValue in which to store the transformed value + * @user_data: data passed to the transform function + * + * A function to be called to transform @from_value to @to_value. + * + * If this is the @transform_to function of a binding, then @from_value + * is the @source_property on the @source object, and @to_value is the + * @target_property on the @target object. If this is the + * @transform_from function of a %G_BINDING_BIDIRECTIONAL binding, + * then those roles are reversed. + * + * Returns: %TRUE if the transformation was successful, and %FALSE + * otherwise + * + * Since: 2.26 + */ +typedef gboolean (* GBindingTransformFunc) (GBinding *binding, + const GValue *from_value, + GValue *to_value, + gpointer user_data); + +/** + * GBindingFlags: + * @G_BINDING_DEFAULT: The default binding; if the source property + * changes, the target property is updated with its value. + * @G_BINDING_BIDIRECTIONAL: Bidirectional binding; if either the + * property of the source or the property of the target changes, + * the other is updated. + * @G_BINDING_SYNC_CREATE: Synchronize the values of the source and + * target properties when creating the binding; the direction of + * the synchronization is always from the source to the target. + * @G_BINDING_INVERT_BOOLEAN: If the two properties being bound are + * booleans, setting one to %TRUE will result in the other being + * set to %FALSE and vice versa. This flag will only work for + * boolean properties, and cannot be used when passing custom + * transformation functions to g_object_bind_property_full(). + * + * Flags to be passed to g_object_bind_property() or + * g_object_bind_property_full(). + * + * This enumeration can be extended at later date. + * + * Since: 2.26 + */ +typedef enum { /*< prefix=G_BINDING >*/ + G_BINDING_DEFAULT = 0, + + G_BINDING_BIDIRECTIONAL = 1 << 0, + G_BINDING_SYNC_CREATE = 1 << 1, + G_BINDING_INVERT_BOOLEAN = 1 << 2 +} GBindingFlags; + +GOBJECT_AVAILABLE_IN_ALL +GType g_binding_flags_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +GType g_binding_get_type (void) G_GNUC_CONST; + +GOBJECT_AVAILABLE_IN_ALL +GBindingFlags g_binding_get_flags (GBinding *binding); +GOBJECT_DEPRECATED_IN_2_68_FOR(g_binding_dup_source) +GObject * g_binding_get_source (GBinding *binding); +GOBJECT_AVAILABLE_IN_2_68 +GObject * g_binding_dup_source (GBinding *binding); +GOBJECT_DEPRECATED_IN_2_68_FOR(g_binding_dup_target) +GObject * g_binding_get_target (GBinding *binding); +GOBJECT_AVAILABLE_IN_2_68 +GObject * g_binding_dup_target (GBinding *binding); +GOBJECT_AVAILABLE_IN_ALL +const gchar * g_binding_get_source_property (GBinding *binding); +GOBJECT_AVAILABLE_IN_ALL +const gchar * g_binding_get_target_property (GBinding *binding); +GOBJECT_AVAILABLE_IN_2_38 +void g_binding_unbind (GBinding *binding); + +GOBJECT_AVAILABLE_IN_ALL +GBinding *g_object_bind_property (gpointer source, + const gchar *source_property, + gpointer target, + const gchar *target_property, + GBindingFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GBinding *g_object_bind_property_full (gpointer source, + const gchar *source_property, + gpointer target, + const gchar *target_property, + GBindingFlags flags, + GBindingTransformFunc transform_to, + GBindingTransformFunc transform_from, + gpointer user_data, + GDestroyNotify notify); +GOBJECT_AVAILABLE_IN_ALL +GBinding *g_object_bind_property_with_closures (gpointer source, + const gchar *source_property, + gpointer target, + const gchar *target_property, + GBindingFlags flags, + GClosure *transform_to, + GClosure *transform_from); + +G_END_DECLS + +#endif /* __G_BINDING_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gbindinggroup.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gbindinggroup.h new file mode 100644 index 0000000..4cbdfe4 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gbindinggroup.h @@ -0,0 +1,85 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * + * Copyright (C) 2015-2022 Christian Hergert + * Copyright (C) 2015 Garrett Regier + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * SPDX-License-Identifier: LGPL-2.1-or-later + */ + +#ifndef __G_BINDING_GROUP_H__ +#define __G_BINDING_GROUP_H__ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include + +G_BEGIN_DECLS + +#define G_BINDING_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_BINDING_GROUP, GBindingGroup)) +#define G_IS_BINDING_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_BINDING_GROUP)) +#define G_TYPE_BINDING_GROUP (g_binding_group_get_type()) + +/** + * GBindingGroup: + * + * GBindingGroup is an opaque structure whose members + * cannot be accessed directly. + * + * Since: 2.72 + */ +typedef struct _GBindingGroup GBindingGroup; + +GOBJECT_AVAILABLE_IN_2_72 +GType g_binding_group_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_2_72 +GBindingGroup *g_binding_group_new (void); +GOBJECT_AVAILABLE_IN_2_72 +gpointer g_binding_group_dup_source (GBindingGroup *self); +GOBJECT_AVAILABLE_IN_2_72 +void g_binding_group_set_source (GBindingGroup *self, + gpointer source); +GOBJECT_AVAILABLE_IN_2_72 +void g_binding_group_bind (GBindingGroup *self, + const gchar *source_property, + gpointer target, + const gchar *target_property, + GBindingFlags flags); +GOBJECT_AVAILABLE_IN_2_72 +void g_binding_group_bind_full (GBindingGroup *self, + const gchar *source_property, + gpointer target, + const gchar *target_property, + GBindingFlags flags, + GBindingTransformFunc transform_to, + GBindingTransformFunc transform_from, + gpointer user_data, + GDestroyNotify user_data_destroy); +GOBJECT_AVAILABLE_IN_2_72 +void g_binding_group_bind_with_closures (GBindingGroup *self, + const gchar *source_property, + gpointer target, + const gchar *target_property, + GBindingFlags flags, + GClosure *transform_to, + GClosure *transform_from); + +G_END_DECLS + +#endif /* __G_BINDING_GROUP_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gboxed.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gboxed.h new file mode 100644 index 0000000..d7b3d4e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gboxed.h @@ -0,0 +1,124 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * Copyright (C) 2000-2001 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ +#ifndef __G_BOXED_H__ +#define __G_BOXED_H__ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +#ifndef __GI_SCANNER__ +#include +#endif + +G_BEGIN_DECLS + +/* --- type macros --- */ +#define G_TYPE_IS_BOXED(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_BOXED) +/** + * G_VALUE_HOLDS_BOXED: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values derived + * from type %G_TYPE_BOXED. + * + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_BOXED(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_BOXED)) + + +/* --- typedefs --- */ +/** + * GBoxedCopyFunc: + * @boxed: (not nullable): The boxed structure to be copied. + * + * This function is provided by the user and should produce a copy + * of the passed in boxed structure. + * + * Returns: (not nullable): The newly created copy of the boxed structure. + */ +typedef gpointer (*GBoxedCopyFunc) (gpointer boxed); + +/** + * GBoxedFreeFunc: + * @boxed: (not nullable): The boxed structure to be freed. + * + * This function is provided by the user and should free the boxed + * structure passed. + */ +typedef void (*GBoxedFreeFunc) (gpointer boxed); + + +/* --- prototypes --- */ +GOBJECT_AVAILABLE_IN_ALL +gpointer g_boxed_copy (GType boxed_type, + gconstpointer src_boxed); +GOBJECT_AVAILABLE_IN_ALL +void g_boxed_free (GType boxed_type, + gpointer boxed); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_boxed (GValue *value, + gconstpointer v_boxed); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_static_boxed (GValue *value, + gconstpointer v_boxed); +GOBJECT_AVAILABLE_IN_ALL +void g_value_take_boxed (GValue *value, + gconstpointer v_boxed); +GOBJECT_DEPRECATED_FOR(g_value_take_boxed) +void g_value_set_boxed_take_ownership (GValue *value, + gconstpointer v_boxed); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_value_get_boxed (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_value_dup_boxed (const GValue *value); + + +/* --- convenience --- */ +GOBJECT_AVAILABLE_IN_ALL +GType g_boxed_type_register_static (const gchar *name, + GBoxedCopyFunc boxed_copy, + GBoxedFreeFunc boxed_free); + +/* --- GObject boxed types --- */ +/** + * G_TYPE_CLOSURE: + * + * The #GType for #GClosure. + */ +#define G_TYPE_CLOSURE (g_closure_get_type ()) + +/** + * G_TYPE_VALUE: + * + * The type ID of the "GValue" type which is a boxed type, + * used to pass around pointers to GValues. + */ +#define G_TYPE_VALUE (g_value_get_type ()) + +GOBJECT_AVAILABLE_IN_ALL +GType g_closure_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +GType g_value_get_type (void) G_GNUC_CONST; + +G_END_DECLS + +#endif /* __G_BOXED_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gclosure.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gclosure.h new file mode 100644 index 0000000..3b139b0 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gclosure.h @@ -0,0 +1,323 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * Copyright (C) 2000-2001 Red Hat, Inc. + * Copyright (C) 2005 Imendio AB + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ +#ifndef __G_CLOSURE_H__ +#define __G_CLOSURE_H__ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/* --- defines --- */ +/** + * G_CLOSURE_NEEDS_MARSHAL: + * @closure: a #GClosure + * + * Check if the closure still needs a marshaller. See g_closure_set_marshal(). + * + * Returns: %TRUE if a #GClosureMarshal marshaller has not yet been set on + * @closure. + */ +#define G_CLOSURE_NEEDS_MARSHAL(closure) (((GClosure*) (closure))->marshal == NULL) +/** + * G_CLOSURE_N_NOTIFIERS: + * @cl: a #GClosure + * + * Get the total number of notifiers connected with the closure @cl. + * + * The count includes the meta marshaller, the finalize and invalidate notifiers + * and the marshal guards. Note that each guard counts as two notifiers. + * See g_closure_set_meta_marshal(), g_closure_add_finalize_notifier(), + * g_closure_add_invalidate_notifier() and g_closure_add_marshal_guards(). + * + * Returns: number of notifiers + */ +#define G_CLOSURE_N_NOTIFIERS(cl) (((cl)->n_guards << 1L) + \ + (cl)->n_fnotifiers + (cl)->n_inotifiers) +/** + * G_CCLOSURE_SWAP_DATA: + * @cclosure: a #GCClosure + * + * Checks whether the user data of the #GCClosure should be passed as the + * first parameter to the callback. See g_cclosure_new_swap(). + * + * Returns: %TRUE if data has to be swapped. + */ +#define G_CCLOSURE_SWAP_DATA(cclosure) (((GClosure*) (cclosure))->derivative_flag) +/** + * G_CALLBACK: + * @f: a function pointer. + * + * Cast a function pointer to a #GCallback. + */ +#define G_CALLBACK(f) ((GCallback) (f)) + + +/* -- typedefs --- */ +typedef struct _GClosure GClosure; +typedef struct _GClosureNotifyData GClosureNotifyData; + +/** + * GCallback: + * + * The type used for callback functions in structure definitions and function + * signatures. + * + * This doesn't mean that all callback functions must take no parameters and + * return void. The required signature of a callback function is determined by + * the context in which is used (e.g. the signal to which it is connected). + * + * Use G_CALLBACK() to cast the callback function to a #GCallback. + */ +typedef void (*GCallback) (void); +/** + * GClosureNotify: + * @data: data specified when registering the notification callback + * @closure: the #GClosure on which the notification is emitted + * + * The type used for the various notification callbacks which can be registered + * on closures. + */ +typedef void (*GClosureNotify) (gpointer data, + GClosure *closure); +/** + * GClosureMarshal: + * @closure: the #GClosure to which the marshaller belongs + * @return_value: (nullable): a #GValue to store the return + * value. May be %NULL if the callback of @closure doesn't return a + * value. + * @n_param_values: the length of the @param_values array + * @param_values: (array length=n_param_values): an array of + * #GValues holding the arguments on which to invoke the + * callback of @closure + * @invocation_hint: (nullable): the invocation hint given as the + * last argument to g_closure_invoke() + * @marshal_data: (nullable): additional data specified when + * registering the marshaller, see g_closure_set_marshal() and + * g_closure_set_meta_marshal() + * + * The type used for marshaller functions. + */ +typedef void (*GClosureMarshal) (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); + +/** + * GVaClosureMarshal: + * @closure: the #GClosure to which the marshaller belongs + * @return_value: (nullable): a #GValue to store the return + * value. May be %NULL if the callback of @closure doesn't return a + * value. + * @instance: (type GObject.TypeInstance): the instance on which the closure is + * invoked. + * @args: va_list of arguments to be passed to the closure. + * @marshal_data: (nullable): additional data specified when + * registering the marshaller, see g_closure_set_marshal() and + * g_closure_set_meta_marshal() + * @n_params: the length of the @param_types array + * @param_types: (array length=n_params): the #GType of each argument from + * @args. + * + * This is the signature of va_list marshaller functions, an optional + * marshaller that can be used in some situations to avoid + * marshalling the signal argument into GValues. + */ +typedef void (* GVaClosureMarshal) (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/** + * GCClosure: + * @closure: the #GClosure + * @callback: the callback function + * + * A #GCClosure is a specialization of #GClosure for C function callbacks. + */ +typedef struct _GCClosure GCClosure; + + +/* --- structures --- */ +struct _GClosureNotifyData +{ + gpointer data; + GClosureNotify notify; +}; +/** + * GClosure: + * @in_marshal: Indicates whether the closure is currently being invoked with + * g_closure_invoke() + * @is_invalid: Indicates whether the closure has been invalidated by + * g_closure_invalidate() + * + * A #GClosure represents a callback supplied by the programmer. + */ +struct _GClosure +{ + /*< private >*/ + guint ref_count : 15; /* (atomic) */ + /* meta_marshal is not used anymore but must be zero for historical reasons + as it was exposed in the G_CLOSURE_N_NOTIFIERS macro */ + guint meta_marshal_nouse : 1; /* (atomic) */ + guint n_guards : 1; /* (atomic) */ + guint n_fnotifiers : 2; /* finalization notifiers (atomic) */ + guint n_inotifiers : 8; /* invalidation notifiers (atomic) */ + guint in_inotify : 1; /* (atomic) */ + guint floating : 1; /* (atomic) */ + /*< protected >*/ + guint derivative_flag : 1; /* (atomic) */ + /*< public >*/ + guint in_marshal : 1; /* (atomic) */ + guint is_invalid : 1; /* (atomic) */ + + /*< private >*/ void (*marshal) (GClosure *closure, + GValue /*out*/ *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); + /*< protected >*/ gpointer data; + + /*< private >*/ GClosureNotifyData *notifiers; + + /* invariants/constraints: + * - ->marshal and ->data are _invalid_ as soon as ->is_invalid==TRUE + * - invocation of all inotifiers occurs prior to fnotifiers + * - order of inotifiers is random + * inotifiers may _not_ free/invalidate parameter values (e.g. ->data) + * - order of fnotifiers is random + * - each notifier may only be removed before or during its invocation + * - reference counting may only happen prior to fnotify invocation + * (in that sense, fnotifiers are really finalization handlers) + */ +}; +/* closure for C function calls, callback() is the user function + */ +struct _GCClosure +{ + GClosure closure; + gpointer callback; +}; + + +/* --- prototypes --- */ +GOBJECT_AVAILABLE_IN_ALL +GClosure* g_cclosure_new (GCallback callback_func, + gpointer user_data, + GClosureNotify destroy_data); +GOBJECT_AVAILABLE_IN_ALL +GClosure* g_cclosure_new_swap (GCallback callback_func, + gpointer user_data, + GClosureNotify destroy_data); +GOBJECT_AVAILABLE_IN_ALL +GClosure* g_signal_type_cclosure_new (GType itype, + guint struct_offset); + + +/* --- prototypes --- */ +GOBJECT_AVAILABLE_IN_ALL +GClosure* g_closure_ref (GClosure *closure); +GOBJECT_AVAILABLE_IN_ALL +void g_closure_sink (GClosure *closure); +GOBJECT_AVAILABLE_IN_ALL +void g_closure_unref (GClosure *closure); +/* intimidating */ +GOBJECT_AVAILABLE_IN_ALL +GClosure* g_closure_new_simple (guint sizeof_closure, + gpointer data); +GOBJECT_AVAILABLE_IN_ALL +void g_closure_add_finalize_notifier (GClosure *closure, + gpointer notify_data, + GClosureNotify notify_func); +GOBJECT_AVAILABLE_IN_ALL +void g_closure_remove_finalize_notifier (GClosure *closure, + gpointer notify_data, + GClosureNotify notify_func); +GOBJECT_AVAILABLE_IN_ALL +void g_closure_add_invalidate_notifier (GClosure *closure, + gpointer notify_data, + GClosureNotify notify_func); +GOBJECT_AVAILABLE_IN_ALL +void g_closure_remove_invalidate_notifier (GClosure *closure, + gpointer notify_data, + GClosureNotify notify_func); +GOBJECT_AVAILABLE_IN_ALL +void g_closure_add_marshal_guards (GClosure *closure, + gpointer pre_marshal_data, + GClosureNotify pre_marshal_notify, + gpointer post_marshal_data, + GClosureNotify post_marshal_notify); +GOBJECT_AVAILABLE_IN_ALL +void g_closure_set_marshal (GClosure *closure, + GClosureMarshal marshal); +GOBJECT_AVAILABLE_IN_ALL +void g_closure_set_meta_marshal (GClosure *closure, + gpointer marshal_data, + GClosureMarshal meta_marshal); +GOBJECT_AVAILABLE_IN_ALL +void g_closure_invalidate (GClosure *closure); +GOBJECT_AVAILABLE_IN_ALL +void g_closure_invoke (GClosure *closure, + GValue /*out*/ *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint); + +/* FIXME: + OK: data_object::destroy -> closure_invalidate(); + MIS: closure_invalidate() -> disconnect(closure); + MIS: disconnect(closure) -> (unlink) closure_unref(); + OK: closure_finalize() -> g_free (data_string); + + random remarks: + - need marshaller repo with decent aliasing to base types + - provide marshaller collection, virtually covering anything out there +*/ + +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_generic (GClosure *closure, + GValue *return_gvalue, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); + +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_generic_va (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args_list, + gpointer marshal_data, + int n_params, + GType *param_types); + + +G_END_DECLS + +#endif /* __G_CLOSURE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/genums.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/genums.h new file mode 100644 index 0000000..d253b15 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/genums.h @@ -0,0 +1,381 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * Copyright (C) 1998-1999, 2000-2001 Tim Janik and Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ +#ifndef __G_ENUMS_H__ +#define __G_ENUMS_H__ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/* --- type macros --- */ +/** + * G_TYPE_IS_ENUM: + * @type: a #GType ID. + * + * Checks whether @type "is a" %G_TYPE_ENUM. + * + * Returns: %TRUE if @type "is a" %G_TYPE_ENUM. + */ +#define G_TYPE_IS_ENUM(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_ENUM) +/** + * G_ENUM_CLASS: + * @class: a valid #GEnumClass + * + * Casts a derived #GEnumClass structure into a #GEnumClass structure. + */ +#define G_ENUM_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_ENUM, GEnumClass)) +/** + * G_IS_ENUM_CLASS: + * @class: a #GEnumClass + * + * Checks whether @class "is a" valid #GEnumClass structure of type %G_TYPE_ENUM + * or derived. + */ +#define G_IS_ENUM_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_ENUM)) +/** + * G_ENUM_CLASS_TYPE: + * @class: a #GEnumClass + * + * Get the type identifier from a given #GEnumClass structure. + * + * Returns: the #GType + */ +#define G_ENUM_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class)) +/** + * G_ENUM_CLASS_TYPE_NAME: + * @class: a #GEnumClass + * + * Get the static type name from a given #GEnumClass structure. + * + * Returns: the type name. + */ +#define G_ENUM_CLASS_TYPE_NAME(class) (g_type_name (G_ENUM_CLASS_TYPE (class))) + + +/** + * G_TYPE_IS_FLAGS: + * @type: a #GType ID. + * + * Checks whether @type "is a" %G_TYPE_FLAGS. + * + * Returns: %TRUE if @type "is a" %G_TYPE_FLAGS. + */ +#define G_TYPE_IS_FLAGS(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_FLAGS) +/** + * G_FLAGS_CLASS: + * @class: a valid #GFlagsClass + * + * Casts a derived #GFlagsClass structure into a #GFlagsClass structure. + */ +#define G_FLAGS_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_FLAGS, GFlagsClass)) +/** + * G_IS_FLAGS_CLASS: + * @class: a #GFlagsClass + * + * Checks whether @class "is a" valid #GFlagsClass structure of type %G_TYPE_FLAGS + * or derived. + */ +#define G_IS_FLAGS_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_FLAGS)) +/** + * G_FLAGS_CLASS_TYPE: + * @class: a #GFlagsClass + * + * Get the type identifier from a given #GFlagsClass structure. + * + * Returns: the #GType + */ +#define G_FLAGS_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class)) +/** + * G_FLAGS_CLASS_TYPE_NAME: + * @class: a #GFlagsClass + * + * Get the static type name from a given #GFlagsClass structure. + * + * Returns: the type name. + */ +#define G_FLAGS_CLASS_TYPE_NAME(class) (g_type_name (G_FLAGS_CLASS_TYPE (class))) + + +/** + * G_VALUE_HOLDS_ENUM: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values derived from type %G_TYPE_ENUM. + * + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_ENUM(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_ENUM)) +/** + * G_VALUE_HOLDS_FLAGS: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values derived from type %G_TYPE_FLAGS. + * + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_FLAGS(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_FLAGS)) + + +/* --- enum/flag values & classes --- */ +typedef struct _GEnumClass GEnumClass; +typedef struct _GFlagsClass GFlagsClass; +typedef struct _GEnumValue GEnumValue; +typedef struct _GFlagsValue GFlagsValue; + +/** + * GEnumClass: + * @g_type_class: the parent class + * @minimum: the smallest possible value. + * @maximum: the largest possible value. + * @n_values: the number of possible values. + * @values: an array of #GEnumValue structs describing the + * individual values. + * + * The class of an enumeration type holds information about its + * possible values. + */ +struct _GEnumClass +{ + GTypeClass g_type_class; + + /*< public >*/ + gint minimum; + gint maximum; + guint n_values; + GEnumValue *values; +}; +/** + * GFlagsClass: + * @g_type_class: the parent class + * @mask: a mask covering all possible values. + * @n_values: the number of possible values. + * @values: an array of #GFlagsValue structs describing the + * individual values. + * + * The class of a flags type holds information about its + * possible values. + */ +struct _GFlagsClass +{ + GTypeClass g_type_class; + + /*< public >*/ + guint mask; + guint n_values; + GFlagsValue *values; +}; +/** + * GEnumValue: + * @value: the enum value + * @value_name: the name of the value + * @value_nick: the nickname of the value + * + * A structure which contains a single enum value, its name, and its + * nickname. + */ +struct _GEnumValue +{ + gint value; + const gchar *value_name; + const gchar *value_nick; +}; +/** + * GFlagsValue: + * @value: the flags value + * @value_name: the name of the value + * @value_nick: the nickname of the value + * + * A structure which contains a single flags value, its name, and its + * nickname. + */ +struct _GFlagsValue +{ + guint value; + const gchar *value_name; + const gchar *value_nick; +}; + + +/* --- prototypes --- */ +GOBJECT_AVAILABLE_IN_ALL +GEnumValue* g_enum_get_value (GEnumClass *enum_class, + gint value); +GOBJECT_AVAILABLE_IN_ALL +GEnumValue* g_enum_get_value_by_name (GEnumClass *enum_class, + const gchar *name); +GOBJECT_AVAILABLE_IN_ALL +GEnumValue* g_enum_get_value_by_nick (GEnumClass *enum_class, + const gchar *nick); +GOBJECT_AVAILABLE_IN_ALL +GFlagsValue* g_flags_get_first_value (GFlagsClass *flags_class, + guint value); +GOBJECT_AVAILABLE_IN_ALL +GFlagsValue* g_flags_get_value_by_name (GFlagsClass *flags_class, + const gchar *name); +GOBJECT_AVAILABLE_IN_ALL +GFlagsValue* g_flags_get_value_by_nick (GFlagsClass *flags_class, + const gchar *nick); +GOBJECT_AVAILABLE_IN_2_54 +gchar *g_enum_to_string (GType g_enum_type, + gint value); +GOBJECT_AVAILABLE_IN_2_54 +gchar *g_flags_to_string (GType flags_type, + guint value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_enum (GValue *value, + gint v_enum); +GOBJECT_AVAILABLE_IN_ALL +gint g_value_get_enum (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_flags (GValue *value, + guint v_flags); +GOBJECT_AVAILABLE_IN_ALL +guint g_value_get_flags (const GValue *value); + + + +/* --- registration functions --- */ +/* const_static_values is a NULL terminated array of enum/flags + * values that is taken over! + */ +GOBJECT_AVAILABLE_IN_ALL +GType g_enum_register_static (const gchar *name, + const GEnumValue *const_static_values); +GOBJECT_AVAILABLE_IN_ALL +GType g_flags_register_static (const gchar *name, + const GFlagsValue *const_static_values); +/* functions to complete the type information + * for enums/flags implemented by plugins + */ +GOBJECT_AVAILABLE_IN_ALL +void g_enum_complete_type_info (GType g_enum_type, + GTypeInfo *info, + const GEnumValue *const_values); +GOBJECT_AVAILABLE_IN_ALL +void g_flags_complete_type_info (GType g_flags_type, + GTypeInfo *info, + const GFlagsValue *const_values); + +/* {{{ Macros */ + +/** + * G_DEFINE_ENUM_VALUE: + * @EnumValue: an enumeration value + * @EnumNick: a short string representing the enumeration value + * + * Defines an enumeration value, and maps it to a "nickname". + * + * This macro can only be used with G_DEFINE_ENUM_TYPE() and + * G_DEFINE_FLAGS_TYPE(). + * + * Since: 2.74 + */ +#define G_DEFINE_ENUM_VALUE(EnumValue, EnumNick) \ + { EnumValue, #EnumValue, EnumNick } \ + GOBJECT_AVAILABLE_MACRO_IN_2_74 + +/** + * G_DEFINE_ENUM_TYPE: + * @TypeName: the enumeration type, in `CamelCase` + * @type_name: the enumeration type prefixed, in `snake_case` + * @...: a list of enumeration values, defined using G_DEFINE_ENUM_VALUE() + * + * A convenience macro for defining enumeration types. + * + * This macro will generate a `*_get_type()` function for the + * given @TypeName, using @type_name as the function prefix. + * + * |[ + * G_DEFINE_ENUM_TYPE (GtkOrientation, gtk_orientation, + * G_DEFINE_ENUM_VALUE (GTK_ORIENTATION_HORIZONTAL, "horizontal"), + * G_DEFINE_ENUM_VALUE (GTK_ORIENTATION_VERTICAL, "vertical")) + * ]| + * + * For projects that have multiple enumeration types, or enumeration + * types with many values, you should consider using glib-mkenums to + * generate the type function. + * + * Since: 2.74 + */ +#define G_DEFINE_ENUM_TYPE(TypeName, type_name, ...) \ +GType \ +type_name ## _get_type (void) { \ + static gsize g_define_type__static = 0; \ + if (g_once_init_enter (&g_define_type__static)) { \ + static const GEnumValue enum_values[] = { \ + __VA_ARGS__ , \ + { 0, NULL, NULL }, \ + }; \ + GType g_define_type = g_enum_register_static (g_intern_static_string (#TypeName), enum_values); \ + g_once_init_leave (&g_define_type__static, g_define_type); \ + } \ + return g_define_type__static; \ +} \ + GOBJECT_AVAILABLE_MACRO_IN_2_74 + +/** + * G_DEFINE_FLAGS_TYPE: + * @TypeName: the enumeration type, in `CamelCase` + * @type_name: the enumeration type prefixed, in `snake_case` + * @...: a list of enumeration values, defined using G_DEFINE_ENUM_VALUE() + * + * A convenience macro for defining flag types. + * + * This macro will generate a `*_get_type()` function for the + * given @TypeName, using @type_name as the function prefix. + * + * |[ + * G_DEFINE_FLAGS_TYPE (GSettingsBindFlags, g_settings_bind_flags, + * G_DEFINE_ENUM_VALUE (G_SETTINGS_BIND_DEFAULT, "default"), + * G_DEFINE_ENUM_VALUE (G_SETTINGS_BIND_GET, "get"), + * G_DEFINE_ENUM_VALUE (G_SETTINGS_BIND_SET, "set"), + * G_DEFINE_ENUM_VALUE (G_SETTINGS_BIND_NO_SENSITIVITY, "no-sensitivity"), + * G_DEFINE_ENUM_VALUE (G_SETTINGS_BIND_GET_NO_CHANGES, "get-no-changes"), + * G_DEFINE_ENUM_VALUE (G_SETTINGS_BIND_INVERT_BOOLEAN, "invert-boolean")) + * ]| + * + * For projects that have multiple enumeration types, or enumeration + * types with many values, you should consider using glib-mkenums to + * generate the type function. + * + * Since: 2.74 + */ +#define G_DEFINE_FLAGS_TYPE(TypeName, type_name, ...) \ +GType \ +type_name ## _get_type (void) { \ + static gsize g_define_type__static = 0; \ + if (g_once_init_enter (&g_define_type__static)) { \ + static const GFlagsValue flags_values[] = { \ + __VA_ARGS__ , \ + { 0, NULL, NULL }, \ + }; \ + GType g_define_type = g_flags_register_static (g_intern_static_string (#TypeName), flags_values); \ + g_once_init_leave (&g_define_type__static, g_define_type); \ + } \ + return g_define_type__static; \ +} \ + GOBJECT_AVAILABLE_MACRO_IN_2_74 + +G_END_DECLS + +#endif /* __G_ENUMS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/glib-enumtypes.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/glib-enumtypes.h new file mode 100644 index 0000000..a2c47a8 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/glib-enumtypes.h @@ -0,0 +1,25 @@ + +/* This file is generated by glib-mkenums, do not modify it. This code is licensed under the same license as the containing project. Note that it links to GLib, so must comply with the LGPL linking clauses. */ + +#ifndef __GOBJECT_ENUM_TYPES_H__ +#define __GOBJECT_ENUM_TYPES_H__ + +#include + +G_BEGIN_DECLS + +/* enumerations from "../src/glib-2-322e03f702.clean/gobject/../glib/gunicode.h" */ +GOBJECT_AVAILABLE_IN_2_60 GType g_unicode_type_get_type (void) G_GNUC_CONST; +#define G_TYPE_UNICODE_TYPE (g_unicode_type_get_type ()) +GOBJECT_AVAILABLE_IN_2_60 GType g_unicode_break_type_get_type (void) G_GNUC_CONST; +#define G_TYPE_UNICODE_BREAK_TYPE (g_unicode_break_type_get_type ()) +GOBJECT_AVAILABLE_IN_2_60 GType g_unicode_script_get_type (void) G_GNUC_CONST; +#define G_TYPE_UNICODE_SCRIPT (g_unicode_script_get_type ()) +GOBJECT_AVAILABLE_IN_2_60 GType g_normalize_mode_get_type (void) G_GNUC_CONST; +#define G_TYPE_NORMALIZE_MODE (g_normalize_mode_get_type ()) +G_END_DECLS + +#endif /* __GOBJECT_ENUM_TYPES_H__ */ + +/* Generated data ends here */ + diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/glib-types.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/glib-types.h new file mode 100644 index 0000000..87065b9 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/glib-types.h @@ -0,0 +1,409 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * Copyright (C) 2000-2001 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ +#ifndef __GLIB_TYPES_H__ +#define __GLIB_TYPES_H__ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) && !defined(GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +/* A hack necesssary to preprocess this file with g-ir-scanner */ +#ifdef __GI_SCANNER__ +typedef gsize GType; +#endif + +/* --- GLib boxed types --- */ +/** + * G_TYPE_DATE: + * + * The #GType for #GDate. + */ +#define G_TYPE_DATE (g_date_get_type ()) + +/** + * G_TYPE_STRV: + * + * The #GType for a boxed type holding a %NULL-terminated array of strings. + * + * The code fragments in the following example show the use of a property of + * type %G_TYPE_STRV with g_object_class_install_property(), g_object_set() + * and g_object_get(). + * + * |[ + * g_object_class_install_property (object_class, + * PROP_AUTHORS, + * g_param_spec_boxed ("authors", + * _("Authors"), + * _("List of authors"), + * G_TYPE_STRV, + * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + * + * gchar *authors[] = { "Owen", "Tim", NULL }; + * g_object_set (obj, "authors", authors, NULL); + * + * gchar *writers[]; + * g_object_get (obj, "authors", &writers, NULL); + * /* do something with writers */ + * g_strfreev (writers); + * ]| + * + * Since: 2.4 + */ +#define G_TYPE_STRV (g_strv_get_type ()) + +/** + * G_TYPE_GSTRING: + * + * The #GType for #GString. + */ +#define G_TYPE_GSTRING (g_gstring_get_type ()) + +/** + * G_TYPE_HASH_TABLE: + * + * The #GType for a boxed type holding a #GHashTable reference. + * + * Since: 2.10 + */ +#define G_TYPE_HASH_TABLE (g_hash_table_get_type ()) + +/** + * G_TYPE_REGEX: + * + * The #GType for a boxed type holding a #GRegex reference. + * + * Since: 2.14 + */ +#define G_TYPE_REGEX (g_regex_get_type ()) + +/** + * G_TYPE_MATCH_INFO: + * + * The #GType for a boxed type holding a #GMatchInfo reference. + * + * Since: 2.30 + */ +#define G_TYPE_MATCH_INFO (g_match_info_get_type ()) + +/** + * G_TYPE_ARRAY: + * + * The #GType for a boxed type holding a #GArray reference. + * + * Since: 2.22 + */ +#define G_TYPE_ARRAY (g_array_get_type ()) + +/** + * G_TYPE_BYTE_ARRAY: + * + * The #GType for a boxed type holding a #GByteArray reference. + * + * Since: 2.22 + */ +#define G_TYPE_BYTE_ARRAY (g_byte_array_get_type ()) + +/** + * G_TYPE_PTR_ARRAY: + * + * The #GType for a boxed type holding a #GPtrArray reference. + * + * Since: 2.22 + */ +#define G_TYPE_PTR_ARRAY (g_ptr_array_get_type ()) + +/** + * G_TYPE_BYTES: + * + * The #GType for #GBytes. + * + * Since: 2.32 + */ +#define G_TYPE_BYTES (g_bytes_get_type ()) + +/** + * G_TYPE_VARIANT_TYPE: + * + * The #GType for a boxed type holding a #GVariantType. + * + * Since: 2.24 + */ +#define G_TYPE_VARIANT_TYPE (g_variant_type_get_gtype ()) + +/** + * G_TYPE_ERROR: + * + * The #GType for a boxed type holding a #GError. + * + * Since: 2.26 + */ +#define G_TYPE_ERROR (g_error_get_type ()) + +/** + * G_TYPE_DATE_TIME: + * + * The #GType for a boxed type holding a #GDateTime. + * + * Since: 2.26 + */ +#define G_TYPE_DATE_TIME (g_date_time_get_type ()) + +/** + * G_TYPE_TIME_ZONE: + * + * The #GType for a boxed type holding a #GTimeZone. + * + * Since: 2.34 + */ +#define G_TYPE_TIME_ZONE (g_time_zone_get_type ()) + +/** + * G_TYPE_IO_CHANNEL: + * + * The #GType for #GIOChannel. + */ +#define G_TYPE_IO_CHANNEL (g_io_channel_get_type ()) + +/** + * G_TYPE_IO_CONDITION: + * + * The #GType for #GIOCondition. + */ +#define G_TYPE_IO_CONDITION (g_io_condition_get_type ()) + +/** + * G_TYPE_VARIANT_BUILDER: + * + * The #GType for a boxed type holding a #GVariantBuilder. + * + * Since: 2.30 + */ +#define G_TYPE_VARIANT_BUILDER (g_variant_builder_get_type ()) + +/** + * G_TYPE_VARIANT_DICT: + * + * The #GType for a boxed type holding a #GVariantDict. + * + * Since: 2.40 + */ +#define G_TYPE_VARIANT_DICT (g_variant_dict_get_type ()) + +/** + * G_TYPE_MAIN_LOOP: + * + * The #GType for a boxed type holding a #GMainLoop. + * + * Since: 2.30 + */ +#define G_TYPE_MAIN_LOOP (g_main_loop_get_type ()) + +/** + * G_TYPE_MAIN_CONTEXT: + * + * The #GType for a boxed type holding a #GMainContext. + * + * Since: 2.30 + */ +#define G_TYPE_MAIN_CONTEXT (g_main_context_get_type ()) + +/** + * G_TYPE_SOURCE: + * + * The #GType for a boxed type holding a #GSource. + * + * Since: 2.30 + */ +#define G_TYPE_SOURCE (g_source_get_type ()) + +/** + * G_TYPE_POLLFD: + * + * The #GType for a boxed type holding a #GPollFD. + * + * Since: 2.36 + */ +#define G_TYPE_POLLFD (g_pollfd_get_type ()) + +/** + * G_TYPE_MARKUP_PARSE_CONTEXT: + * + * The #GType for a boxed type holding a #GMarkupParseContext. + * + * Since: 2.36 + */ +#define G_TYPE_MARKUP_PARSE_CONTEXT (g_markup_parse_context_get_type ()) + +/** + * G_TYPE_KEY_FILE: + * + * The #GType for a boxed type holding a #GKeyFile. + * + * Since: 2.32 + */ +#define G_TYPE_KEY_FILE (g_key_file_get_type ()) + +/** + * G_TYPE_MAPPED_FILE: + * + * The #GType for a boxed type holding a #GMappedFile. + * + * Since: 2.40 + */ +#define G_TYPE_MAPPED_FILE (g_mapped_file_get_type ()) + +/** + * G_TYPE_THREAD: + * + * The #GType for a boxed type holding a #GThread. + * + * Since: 2.36 + */ +#define G_TYPE_THREAD (g_thread_get_type ()) + +/** + * G_TYPE_CHECKSUM: + * + * The #GType for a boxed type holding a #GChecksum. + * + * Since: 2.36 + */ +#define G_TYPE_CHECKSUM (g_checksum_get_type ()) + +/** + * G_TYPE_OPTION_GROUP: + * + * The #GType for a boxed type holding a #GOptionGroup. + * + * Since: 2.44 + */ +#define G_TYPE_OPTION_GROUP (g_option_group_get_type ()) + +/** + * G_TYPE_URI: + * + * The #GType for a boxed type holding a #GUri. + * + * Since: 2.66 + */ +#define G_TYPE_URI (g_uri_get_type ()) + +/** + * G_TYPE_TREE: + * + * The #GType for #GTree. + * + * Since: 2.68 + */ +#define G_TYPE_TREE (g_tree_get_type ()) + +/** + * G_TYPE_PATTERN_SPEC: + * + * The #GType for #GPatternSpec. + * + * Since: 2.70 + */ +#define G_TYPE_PATTERN_SPEC (g_pattern_spec_get_type ()) + +/** + * G_TYPE_BOOKMARK_FILE: + * + * The #GType for a boxed type holding a #GBookmarkFile. + * + * Since: 2.76 + */ +#define G_TYPE_BOOKMARK_FILE (g_bookmark_file_get_type ()) + +GOBJECT_AVAILABLE_IN_ALL +GType g_date_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +GType g_strv_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +GType g_gstring_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +GType g_hash_table_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +GType g_array_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +GType g_byte_array_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +GType g_ptr_array_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +GType g_bytes_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +GType g_variant_type_get_gtype (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +GType g_regex_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_2_30 +GType g_match_info_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +GType g_error_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +GType g_date_time_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +GType g_time_zone_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +GType g_io_channel_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +GType g_io_condition_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +GType g_variant_builder_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_2_40 +GType g_variant_dict_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +GType g_key_file_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_2_30 +GType g_main_loop_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_2_30 +GType g_main_context_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_2_30 +GType g_source_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_2_36 +GType g_pollfd_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_2_36 +GType g_thread_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_2_36 +GType g_checksum_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_2_36 +GType g_markup_parse_context_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_2_40 +GType g_mapped_file_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_2_44 +GType g_option_group_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_2_66 +GType g_uri_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_2_68 +GType g_tree_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_2_70 +GType g_pattern_spec_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_2_76 +GType g_bookmark_file_get_type (void) G_GNUC_CONST; + +GOBJECT_DEPRECATED_FOR('G_TYPE_VARIANT') +GType g_variant_get_gtype (void) G_GNUC_CONST; + +G_END_DECLS + +#endif /* __GLIB_TYPES_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gmarshal.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gmarshal.h new file mode 100644 index 0000000..96c7c4e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gmarshal.h @@ -0,0 +1,434 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +#ifndef __G_MARSHAL_H__ +#define __G_MARSHAL_H__ + +G_BEGIN_DECLS + +/* VOID:VOID */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__VOID (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__VOIDv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* VOID:BOOLEAN */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__BOOLEAN (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__BOOLEANv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* VOID:CHAR */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__CHAR (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__CHARv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* VOID:UCHAR */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__UCHAR (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__UCHARv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* VOID:INT */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__INT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__INTv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* VOID:UINT */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__UINT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__UINTv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* VOID:LONG */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__LONG (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__LONGv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* VOID:ULONG */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__ULONG (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__ULONGv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* VOID:ENUM */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__ENUM (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__ENUMv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* VOID:FLAGS */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__FLAGS (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__FLAGSv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* VOID:FLOAT */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__FLOAT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__FLOATv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* VOID:DOUBLE */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__DOUBLE (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__DOUBLEv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* VOID:STRING */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__STRING (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__STRINGv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* VOID:PARAM */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__PARAM (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__PARAMv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* VOID:BOXED */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__BOXED (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__BOXEDv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* VOID:POINTER */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__POINTER (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__POINTERv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* VOID:OBJECT */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__OBJECT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__OBJECTv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* VOID:VARIANT */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__VARIANT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__VARIANTv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* VOID:UINT,POINTER */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__UINT_POINTER (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_VOID__UINT_POINTERv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* BOOL:FLAGS */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_BOOLEAN__FLAGS (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_BOOLEAN__FLAGSv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/** + * g_cclosure_marshal_BOOL__FLAGS: + * @closure: A #GClosure. + * @return_value: A #GValue to store the return value. May be %NULL + * if the callback of closure doesn't return a value. + * @n_param_values: The length of the @param_values array. + * @param_values: An array of #GValues holding the arguments + * on which to invoke the callback of closure. + * @invocation_hint: The invocation hint given as the last argument to + * g_closure_invoke(). + * @marshal_data: Additional data specified when registering the + * marshaller, see g_closure_set_marshal() and + * g_closure_set_meta_marshal() + * + * An old alias for g_cclosure_marshal_BOOLEAN__FLAGS(). + */ +#define g_cclosure_marshal_BOOL__FLAGS g_cclosure_marshal_BOOLEAN__FLAGS + +/* STRING:OBJECT,POINTER */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_STRING__OBJECT_POINTER (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_STRING__OBJECT_POINTERv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/* BOOL:BOXED,BOXED */ +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_BOOLEAN__BOXED_BOXED (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +GOBJECT_AVAILABLE_IN_ALL +void g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); + +/** + * g_cclosure_marshal_BOOL__BOXED_BOXED: + * @closure: A #GClosure. + * @return_value: A #GValue to store the return value. May be %NULL + * if the callback of closure doesn't return a value. + * @n_param_values: The length of the @param_values array. + * @param_values: An array of #GValues holding the arguments + * on which to invoke the callback of closure. + * @invocation_hint: The invocation hint given as the last argument to + * g_closure_invoke(). + * @marshal_data: Additional data specified when registering the + * marshaller, see g_closure_set_marshal() and + * g_closure_set_meta_marshal() + * + * An old alias for g_cclosure_marshal_BOOLEAN__BOXED_BOXED(). + */ +#define g_cclosure_marshal_BOOL__BOXED_BOXED g_cclosure_marshal_BOOLEAN__BOXED_BOXED + +G_END_DECLS + +#endif /* __G_MARSHAL_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gobject-autocleanups.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gobject-autocleanups.h new file mode 100644 index 0000000..bddb3f2 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gobject-autocleanups.h @@ -0,0 +1,33 @@ +/* + * Copyright © 2015 Canonical Limited + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + * + * Author: Ryan Lortie + */ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) +#error "Only can be included directly." +#endif + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GClosure, g_closure_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GEnumClass, g_type_class_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GFlagsClass, g_type_class_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GObject, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GInitiallyUnowned, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GParamSpec, g_param_spec_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTypeClass, g_type_class_unref) +G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GValue, g_value_unset) diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gobject-visibility.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gobject-visibility.h new file mode 100644 index 0000000..08c9c54 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gobject-visibility.h @@ -0,0 +1,952 @@ +#pragma once + +#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(GOBJECT_STATIC_COMPILATION) +# define _GOBJECT_EXPORT __declspec(dllexport) +# define _GOBJECT_IMPORT __declspec(dllimport) +#elif __GNUC__ >= 4 +# define _GOBJECT_EXPORT __attribute__((visibility("default"))) +# define _GOBJECT_IMPORT +#else +# define _GOBJECT_EXPORT +# define _GOBJECT_IMPORT +#endif +#ifdef GOBJECT_COMPILATION +# define _GOBJECT_API _GOBJECT_EXPORT +#else +# define _GOBJECT_API _GOBJECT_IMPORT +#endif + +#define _GOBJECT_EXTERN _GOBJECT_API extern + +#define GOBJECT_VAR _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_IN_ALL _GOBJECT_EXTERN + +#ifdef GLIB_DISABLE_DEPRECATION_WARNINGS +#define GOBJECT_DEPRECATED _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_UNAVAILABLE(maj,min) _GOBJECT_EXTERN +#define GOBJECT_UNAVAILABLE_STATIC_INLINE(maj,min) +#else +#define GOBJECT_DEPRECATED G_DEPRECATED _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_UNAVAILABLE(maj,min) G_UNAVAILABLE(maj,min) _GOBJECT_EXTERN +#define GOBJECT_UNAVAILABLE_STATIC_INLINE(maj,min) G_UNAVAILABLE(maj,min) +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_26 +#define GOBJECT_DEPRECATED_IN_2_26 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_26_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_26 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_26_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_26 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_26_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_26 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_26_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_26 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_26_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_26 +#define GOBJECT_DEPRECATED_MACRO_IN_2_26_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_26 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_26_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_26 +#define GOBJECT_DEPRECATED_TYPE_IN_2_26_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_26 +#define GOBJECT_AVAILABLE_IN_2_26 GOBJECT_UNAVAILABLE (2, 26) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_26 GLIB_UNAVAILABLE_STATIC_INLINE (2, 26) +#define GOBJECT_AVAILABLE_MACRO_IN_2_26 GLIB_UNAVAILABLE_MACRO (2, 26) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_26 GLIB_UNAVAILABLE_ENUMERATOR (2, 26) +#define GOBJECT_AVAILABLE_TYPE_IN_2_26 GLIB_UNAVAILABLE_TYPE (2, 26) +#else +#define GOBJECT_AVAILABLE_IN_2_26 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_26 +#define GOBJECT_AVAILABLE_MACRO_IN_2_26 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_26 +#define GOBJECT_AVAILABLE_TYPE_IN_2_26 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_28 +#define GOBJECT_DEPRECATED_IN_2_28 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_28_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_28 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_28_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_28 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_28_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_28 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_28_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_28 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_28_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_28 +#define GOBJECT_DEPRECATED_MACRO_IN_2_28_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_28 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_28_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_28 +#define GOBJECT_DEPRECATED_TYPE_IN_2_28_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_28 +#define GOBJECT_AVAILABLE_IN_2_28 GOBJECT_UNAVAILABLE (2, 28) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_28 GLIB_UNAVAILABLE_STATIC_INLINE (2, 28) +#define GOBJECT_AVAILABLE_MACRO_IN_2_28 GLIB_UNAVAILABLE_MACRO (2, 28) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_28 GLIB_UNAVAILABLE_ENUMERATOR (2, 28) +#define GOBJECT_AVAILABLE_TYPE_IN_2_28 GLIB_UNAVAILABLE_TYPE (2, 28) +#else +#define GOBJECT_AVAILABLE_IN_2_28 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_28 +#define GOBJECT_AVAILABLE_MACRO_IN_2_28 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_28 +#define GOBJECT_AVAILABLE_TYPE_IN_2_28 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_30 +#define GOBJECT_DEPRECATED_IN_2_30 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_30_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_30 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_30_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_30 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_30_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_30 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_30_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_30 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_30_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_30 +#define GOBJECT_DEPRECATED_MACRO_IN_2_30_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_30 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_30_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_30 +#define GOBJECT_DEPRECATED_TYPE_IN_2_30_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_30 +#define GOBJECT_AVAILABLE_IN_2_30 GOBJECT_UNAVAILABLE (2, 30) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_30 GLIB_UNAVAILABLE_STATIC_INLINE (2, 30) +#define GOBJECT_AVAILABLE_MACRO_IN_2_30 GLIB_UNAVAILABLE_MACRO (2, 30) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_30 GLIB_UNAVAILABLE_ENUMERATOR (2, 30) +#define GOBJECT_AVAILABLE_TYPE_IN_2_30 GLIB_UNAVAILABLE_TYPE (2, 30) +#else +#define GOBJECT_AVAILABLE_IN_2_30 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_30 +#define GOBJECT_AVAILABLE_MACRO_IN_2_30 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_30 +#define GOBJECT_AVAILABLE_TYPE_IN_2_30 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_32 +#define GOBJECT_DEPRECATED_IN_2_32 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_32_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_32 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_32_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_32 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_32_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_32 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_32_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_32 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_32_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_32 +#define GOBJECT_DEPRECATED_MACRO_IN_2_32_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_32 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_32_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_32 +#define GOBJECT_DEPRECATED_TYPE_IN_2_32_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_32 +#define GOBJECT_AVAILABLE_IN_2_32 GOBJECT_UNAVAILABLE (2, 32) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_32 GLIB_UNAVAILABLE_STATIC_INLINE (2, 32) +#define GOBJECT_AVAILABLE_MACRO_IN_2_32 GLIB_UNAVAILABLE_MACRO (2, 32) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_32 GLIB_UNAVAILABLE_ENUMERATOR (2, 32) +#define GOBJECT_AVAILABLE_TYPE_IN_2_32 GLIB_UNAVAILABLE_TYPE (2, 32) +#else +#define GOBJECT_AVAILABLE_IN_2_32 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_32 +#define GOBJECT_AVAILABLE_MACRO_IN_2_32 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_32 +#define GOBJECT_AVAILABLE_TYPE_IN_2_32 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_34 +#define GOBJECT_DEPRECATED_IN_2_34 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_34_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_34 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_34_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_34 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_34_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_34 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_34_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_34 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_34_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_34 +#define GOBJECT_DEPRECATED_MACRO_IN_2_34_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_34 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_34_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_34 +#define GOBJECT_DEPRECATED_TYPE_IN_2_34_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_34 +#define GOBJECT_AVAILABLE_IN_2_34 GOBJECT_UNAVAILABLE (2, 34) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_34 GLIB_UNAVAILABLE_STATIC_INLINE (2, 34) +#define GOBJECT_AVAILABLE_MACRO_IN_2_34 GLIB_UNAVAILABLE_MACRO (2, 34) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_34 GLIB_UNAVAILABLE_ENUMERATOR (2, 34) +#define GOBJECT_AVAILABLE_TYPE_IN_2_34 GLIB_UNAVAILABLE_TYPE (2, 34) +#else +#define GOBJECT_AVAILABLE_IN_2_34 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_34 +#define GOBJECT_AVAILABLE_MACRO_IN_2_34 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_34 +#define GOBJECT_AVAILABLE_TYPE_IN_2_34 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_36 +#define GOBJECT_DEPRECATED_IN_2_36 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_36_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_36 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_36_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_36 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_36_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_36 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_36_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_36 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_36_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_36 +#define GOBJECT_DEPRECATED_MACRO_IN_2_36_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_36 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_36_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_36 +#define GOBJECT_DEPRECATED_TYPE_IN_2_36_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_36 +#define GOBJECT_AVAILABLE_IN_2_36 GOBJECT_UNAVAILABLE (2, 36) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_36 GLIB_UNAVAILABLE_STATIC_INLINE (2, 36) +#define GOBJECT_AVAILABLE_MACRO_IN_2_36 GLIB_UNAVAILABLE_MACRO (2, 36) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_36 GLIB_UNAVAILABLE_ENUMERATOR (2, 36) +#define GOBJECT_AVAILABLE_TYPE_IN_2_36 GLIB_UNAVAILABLE_TYPE (2, 36) +#else +#define GOBJECT_AVAILABLE_IN_2_36 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_36 +#define GOBJECT_AVAILABLE_MACRO_IN_2_36 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_36 +#define GOBJECT_AVAILABLE_TYPE_IN_2_36 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_38 +#define GOBJECT_DEPRECATED_IN_2_38 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_38_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_38 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_38_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_38 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_38_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_38 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_38_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_38 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_38_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_38 +#define GOBJECT_DEPRECATED_MACRO_IN_2_38_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_38 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_38_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_38 +#define GOBJECT_DEPRECATED_TYPE_IN_2_38_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38 +#define GOBJECT_AVAILABLE_IN_2_38 GOBJECT_UNAVAILABLE (2, 38) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_38 GLIB_UNAVAILABLE_STATIC_INLINE (2, 38) +#define GOBJECT_AVAILABLE_MACRO_IN_2_38 GLIB_UNAVAILABLE_MACRO (2, 38) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_38 GLIB_UNAVAILABLE_ENUMERATOR (2, 38) +#define GOBJECT_AVAILABLE_TYPE_IN_2_38 GLIB_UNAVAILABLE_TYPE (2, 38) +#else +#define GOBJECT_AVAILABLE_IN_2_38 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_38 +#define GOBJECT_AVAILABLE_MACRO_IN_2_38 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_38 +#define GOBJECT_AVAILABLE_TYPE_IN_2_38 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_40 +#define GOBJECT_DEPRECATED_IN_2_40 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_40_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_40 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_40_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_40 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_40_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_40 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_40_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_40 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_40_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_40 +#define GOBJECT_DEPRECATED_MACRO_IN_2_40_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_40 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_40_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_40 +#define GOBJECT_DEPRECATED_TYPE_IN_2_40_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_40 +#define GOBJECT_AVAILABLE_IN_2_40 GOBJECT_UNAVAILABLE (2, 40) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_40 GLIB_UNAVAILABLE_STATIC_INLINE (2, 40) +#define GOBJECT_AVAILABLE_MACRO_IN_2_40 GLIB_UNAVAILABLE_MACRO (2, 40) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_40 GLIB_UNAVAILABLE_ENUMERATOR (2, 40) +#define GOBJECT_AVAILABLE_TYPE_IN_2_40 GLIB_UNAVAILABLE_TYPE (2, 40) +#else +#define GOBJECT_AVAILABLE_IN_2_40 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_40 +#define GOBJECT_AVAILABLE_MACRO_IN_2_40 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_40 +#define GOBJECT_AVAILABLE_TYPE_IN_2_40 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_42 +#define GOBJECT_DEPRECATED_IN_2_42 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_42_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_42 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_42_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_42 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_42_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_42 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_42_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_42 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_42_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_42 +#define GOBJECT_DEPRECATED_MACRO_IN_2_42_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_42 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_42_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_42 +#define GOBJECT_DEPRECATED_TYPE_IN_2_42_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_42 +#define GOBJECT_AVAILABLE_IN_2_42 GOBJECT_UNAVAILABLE (2, 42) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_42 GLIB_UNAVAILABLE_STATIC_INLINE (2, 42) +#define GOBJECT_AVAILABLE_MACRO_IN_2_42 GLIB_UNAVAILABLE_MACRO (2, 42) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_42 GLIB_UNAVAILABLE_ENUMERATOR (2, 42) +#define GOBJECT_AVAILABLE_TYPE_IN_2_42 GLIB_UNAVAILABLE_TYPE (2, 42) +#else +#define GOBJECT_AVAILABLE_IN_2_42 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_42 +#define GOBJECT_AVAILABLE_MACRO_IN_2_42 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_42 +#define GOBJECT_AVAILABLE_TYPE_IN_2_42 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_44 +#define GOBJECT_DEPRECATED_IN_2_44 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_44_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_44 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_44_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_44 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_44_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_44 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_44_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_44 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_44_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_44 +#define GOBJECT_DEPRECATED_MACRO_IN_2_44_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_44 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_44_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_44 +#define GOBJECT_DEPRECATED_TYPE_IN_2_44_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_44 +#define GOBJECT_AVAILABLE_IN_2_44 GOBJECT_UNAVAILABLE (2, 44) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_44 GLIB_UNAVAILABLE_STATIC_INLINE (2, 44) +#define GOBJECT_AVAILABLE_MACRO_IN_2_44 GLIB_UNAVAILABLE_MACRO (2, 44) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_44 GLIB_UNAVAILABLE_ENUMERATOR (2, 44) +#define GOBJECT_AVAILABLE_TYPE_IN_2_44 GLIB_UNAVAILABLE_TYPE (2, 44) +#else +#define GOBJECT_AVAILABLE_IN_2_44 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_44 +#define GOBJECT_AVAILABLE_MACRO_IN_2_44 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_44 +#define GOBJECT_AVAILABLE_TYPE_IN_2_44 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_46 +#define GOBJECT_DEPRECATED_IN_2_46 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_46_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_46 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_46_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_46 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_46_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_46 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_46_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_46 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_46_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_46 +#define GOBJECT_DEPRECATED_MACRO_IN_2_46_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_46 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_46_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_46 +#define GOBJECT_DEPRECATED_TYPE_IN_2_46_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_46 +#define GOBJECT_AVAILABLE_IN_2_46 GOBJECT_UNAVAILABLE (2, 46) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_46 GLIB_UNAVAILABLE_STATIC_INLINE (2, 46) +#define GOBJECT_AVAILABLE_MACRO_IN_2_46 GLIB_UNAVAILABLE_MACRO (2, 46) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_46 GLIB_UNAVAILABLE_ENUMERATOR (2, 46) +#define GOBJECT_AVAILABLE_TYPE_IN_2_46 GLIB_UNAVAILABLE_TYPE (2, 46) +#else +#define GOBJECT_AVAILABLE_IN_2_46 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_46 +#define GOBJECT_AVAILABLE_MACRO_IN_2_46 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_46 +#define GOBJECT_AVAILABLE_TYPE_IN_2_46 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_48 +#define GOBJECT_DEPRECATED_IN_2_48 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_48_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_48 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_48_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_48 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_48_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_48 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_48_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_48 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_48_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_48 +#define GOBJECT_DEPRECATED_MACRO_IN_2_48_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_48 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_48_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_48 +#define GOBJECT_DEPRECATED_TYPE_IN_2_48_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_48 +#define GOBJECT_AVAILABLE_IN_2_48 GOBJECT_UNAVAILABLE (2, 48) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_48 GLIB_UNAVAILABLE_STATIC_INLINE (2, 48) +#define GOBJECT_AVAILABLE_MACRO_IN_2_48 GLIB_UNAVAILABLE_MACRO (2, 48) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_48 GLIB_UNAVAILABLE_ENUMERATOR (2, 48) +#define GOBJECT_AVAILABLE_TYPE_IN_2_48 GLIB_UNAVAILABLE_TYPE (2, 48) +#else +#define GOBJECT_AVAILABLE_IN_2_48 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_48 +#define GOBJECT_AVAILABLE_MACRO_IN_2_48 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_48 +#define GOBJECT_AVAILABLE_TYPE_IN_2_48 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_50 +#define GOBJECT_DEPRECATED_IN_2_50 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_50_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_50 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_50_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_50 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_50_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_50 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_50_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_50 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_50_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_50 +#define GOBJECT_DEPRECATED_MACRO_IN_2_50_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_50 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_50_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_50 +#define GOBJECT_DEPRECATED_TYPE_IN_2_50_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_50 +#define GOBJECT_AVAILABLE_IN_2_50 GOBJECT_UNAVAILABLE (2, 50) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_50 GLIB_UNAVAILABLE_STATIC_INLINE (2, 50) +#define GOBJECT_AVAILABLE_MACRO_IN_2_50 GLIB_UNAVAILABLE_MACRO (2, 50) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_50 GLIB_UNAVAILABLE_ENUMERATOR (2, 50) +#define GOBJECT_AVAILABLE_TYPE_IN_2_50 GLIB_UNAVAILABLE_TYPE (2, 50) +#else +#define GOBJECT_AVAILABLE_IN_2_50 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_50 +#define GOBJECT_AVAILABLE_MACRO_IN_2_50 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_50 +#define GOBJECT_AVAILABLE_TYPE_IN_2_50 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_52 +#define GOBJECT_DEPRECATED_IN_2_52 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_52_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_52 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_52_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_52 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_52_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_52 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_52_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_52 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_52_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_52 +#define GOBJECT_DEPRECATED_MACRO_IN_2_52_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_52 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_52_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_52 +#define GOBJECT_DEPRECATED_TYPE_IN_2_52_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_52 +#define GOBJECT_AVAILABLE_IN_2_52 GOBJECT_UNAVAILABLE (2, 52) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_52 GLIB_UNAVAILABLE_STATIC_INLINE (2, 52) +#define GOBJECT_AVAILABLE_MACRO_IN_2_52 GLIB_UNAVAILABLE_MACRO (2, 52) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_52 GLIB_UNAVAILABLE_ENUMERATOR (2, 52) +#define GOBJECT_AVAILABLE_TYPE_IN_2_52 GLIB_UNAVAILABLE_TYPE (2, 52) +#else +#define GOBJECT_AVAILABLE_IN_2_52 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_52 +#define GOBJECT_AVAILABLE_MACRO_IN_2_52 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_52 +#define GOBJECT_AVAILABLE_TYPE_IN_2_52 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_54 +#define GOBJECT_DEPRECATED_IN_2_54 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_54_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_54 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_54_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_54 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_54_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_54 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_54_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_54 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_54_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_54 +#define GOBJECT_DEPRECATED_MACRO_IN_2_54_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_54 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_54_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_54 +#define GOBJECT_DEPRECATED_TYPE_IN_2_54_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_54 +#define GOBJECT_AVAILABLE_IN_2_54 GOBJECT_UNAVAILABLE (2, 54) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_54 GLIB_UNAVAILABLE_STATIC_INLINE (2, 54) +#define GOBJECT_AVAILABLE_MACRO_IN_2_54 GLIB_UNAVAILABLE_MACRO (2, 54) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_54 GLIB_UNAVAILABLE_ENUMERATOR (2, 54) +#define GOBJECT_AVAILABLE_TYPE_IN_2_54 GLIB_UNAVAILABLE_TYPE (2, 54) +#else +#define GOBJECT_AVAILABLE_IN_2_54 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_54 +#define GOBJECT_AVAILABLE_MACRO_IN_2_54 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_54 +#define GOBJECT_AVAILABLE_TYPE_IN_2_54 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_56 +#define GOBJECT_DEPRECATED_IN_2_56 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_56_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_56 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_56_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_56 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_56_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_56 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_56_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_56 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_56_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_56 +#define GOBJECT_DEPRECATED_MACRO_IN_2_56_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_56 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_56_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_56 +#define GOBJECT_DEPRECATED_TYPE_IN_2_56_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_56 +#define GOBJECT_AVAILABLE_IN_2_56 GOBJECT_UNAVAILABLE (2, 56) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_56 GLIB_UNAVAILABLE_STATIC_INLINE (2, 56) +#define GOBJECT_AVAILABLE_MACRO_IN_2_56 GLIB_UNAVAILABLE_MACRO (2, 56) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_56 GLIB_UNAVAILABLE_ENUMERATOR (2, 56) +#define GOBJECT_AVAILABLE_TYPE_IN_2_56 GLIB_UNAVAILABLE_TYPE (2, 56) +#else +#define GOBJECT_AVAILABLE_IN_2_56 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_56 +#define GOBJECT_AVAILABLE_MACRO_IN_2_56 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_56 +#define GOBJECT_AVAILABLE_TYPE_IN_2_56 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_58 +#define GOBJECT_DEPRECATED_IN_2_58 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_58_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_58 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_58_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_58 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_58_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_58 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_58_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_58 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_58_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_58 +#define GOBJECT_DEPRECATED_MACRO_IN_2_58_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_58 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_58_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_58 +#define GOBJECT_DEPRECATED_TYPE_IN_2_58_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_58 +#define GOBJECT_AVAILABLE_IN_2_58 GOBJECT_UNAVAILABLE (2, 58) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_58 GLIB_UNAVAILABLE_STATIC_INLINE (2, 58) +#define GOBJECT_AVAILABLE_MACRO_IN_2_58 GLIB_UNAVAILABLE_MACRO (2, 58) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_58 GLIB_UNAVAILABLE_ENUMERATOR (2, 58) +#define GOBJECT_AVAILABLE_TYPE_IN_2_58 GLIB_UNAVAILABLE_TYPE (2, 58) +#else +#define GOBJECT_AVAILABLE_IN_2_58 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_58 +#define GOBJECT_AVAILABLE_MACRO_IN_2_58 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_58 +#define GOBJECT_AVAILABLE_TYPE_IN_2_58 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_60 +#define GOBJECT_DEPRECATED_IN_2_60 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_60_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_60 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_60_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_60 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_60_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_60 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_60_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_60 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_60_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_60 +#define GOBJECT_DEPRECATED_MACRO_IN_2_60_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_60 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_60_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_60 +#define GOBJECT_DEPRECATED_TYPE_IN_2_60_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_60 +#define GOBJECT_AVAILABLE_IN_2_60 GOBJECT_UNAVAILABLE (2, 60) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_60 GLIB_UNAVAILABLE_STATIC_INLINE (2, 60) +#define GOBJECT_AVAILABLE_MACRO_IN_2_60 GLIB_UNAVAILABLE_MACRO (2, 60) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_60 GLIB_UNAVAILABLE_ENUMERATOR (2, 60) +#define GOBJECT_AVAILABLE_TYPE_IN_2_60 GLIB_UNAVAILABLE_TYPE (2, 60) +#else +#define GOBJECT_AVAILABLE_IN_2_60 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_60 +#define GOBJECT_AVAILABLE_MACRO_IN_2_60 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_60 +#define GOBJECT_AVAILABLE_TYPE_IN_2_60 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_62 +#define GOBJECT_DEPRECATED_IN_2_62 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_62_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_62 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_62_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_62 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_62_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_62 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_62_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_62 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_62_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_62 +#define GOBJECT_DEPRECATED_MACRO_IN_2_62_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_62 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_62_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_62 +#define GOBJECT_DEPRECATED_TYPE_IN_2_62_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_62 +#define GOBJECT_AVAILABLE_IN_2_62 GOBJECT_UNAVAILABLE (2, 62) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_62 GLIB_UNAVAILABLE_STATIC_INLINE (2, 62) +#define GOBJECT_AVAILABLE_MACRO_IN_2_62 GLIB_UNAVAILABLE_MACRO (2, 62) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_62 GLIB_UNAVAILABLE_ENUMERATOR (2, 62) +#define GOBJECT_AVAILABLE_TYPE_IN_2_62 GLIB_UNAVAILABLE_TYPE (2, 62) +#else +#define GOBJECT_AVAILABLE_IN_2_62 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_62 +#define GOBJECT_AVAILABLE_MACRO_IN_2_62 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_62 +#define GOBJECT_AVAILABLE_TYPE_IN_2_62 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_64 +#define GOBJECT_DEPRECATED_IN_2_64 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_64_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_64 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_64_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_64 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_64_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_64 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_64_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_64 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_64_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_64 +#define GOBJECT_DEPRECATED_MACRO_IN_2_64_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_64 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_64_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_64 +#define GOBJECT_DEPRECATED_TYPE_IN_2_64_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_64 +#define GOBJECT_AVAILABLE_IN_2_64 GOBJECT_UNAVAILABLE (2, 64) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_64 GLIB_UNAVAILABLE_STATIC_INLINE (2, 64) +#define GOBJECT_AVAILABLE_MACRO_IN_2_64 GLIB_UNAVAILABLE_MACRO (2, 64) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_64 GLIB_UNAVAILABLE_ENUMERATOR (2, 64) +#define GOBJECT_AVAILABLE_TYPE_IN_2_64 GLIB_UNAVAILABLE_TYPE (2, 64) +#else +#define GOBJECT_AVAILABLE_IN_2_64 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_64 +#define GOBJECT_AVAILABLE_MACRO_IN_2_64 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_64 +#define GOBJECT_AVAILABLE_TYPE_IN_2_64 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_66 +#define GOBJECT_DEPRECATED_IN_2_66 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_66_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_66 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_66_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_66 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_66_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_66 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_66_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_66 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_66_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_66 +#define GOBJECT_DEPRECATED_MACRO_IN_2_66_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_66 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_66_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_66 +#define GOBJECT_DEPRECATED_TYPE_IN_2_66_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_66 +#define GOBJECT_AVAILABLE_IN_2_66 GOBJECT_UNAVAILABLE (2, 66) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_66 GLIB_UNAVAILABLE_STATIC_INLINE (2, 66) +#define GOBJECT_AVAILABLE_MACRO_IN_2_66 GLIB_UNAVAILABLE_MACRO (2, 66) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_66 GLIB_UNAVAILABLE_ENUMERATOR (2, 66) +#define GOBJECT_AVAILABLE_TYPE_IN_2_66 GLIB_UNAVAILABLE_TYPE (2, 66) +#else +#define GOBJECT_AVAILABLE_IN_2_66 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_66 +#define GOBJECT_AVAILABLE_MACRO_IN_2_66 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_66 +#define GOBJECT_AVAILABLE_TYPE_IN_2_66 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_68 +#define GOBJECT_DEPRECATED_IN_2_68 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_68_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_68 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_68_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_68 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_68_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_68 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_68_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_68 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_68_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_68 +#define GOBJECT_DEPRECATED_MACRO_IN_2_68_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_68 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_68_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_68 +#define GOBJECT_DEPRECATED_TYPE_IN_2_68_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_68 +#define GOBJECT_AVAILABLE_IN_2_68 GOBJECT_UNAVAILABLE (2, 68) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_68 GLIB_UNAVAILABLE_STATIC_INLINE (2, 68) +#define GOBJECT_AVAILABLE_MACRO_IN_2_68 GLIB_UNAVAILABLE_MACRO (2, 68) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_68 GLIB_UNAVAILABLE_ENUMERATOR (2, 68) +#define GOBJECT_AVAILABLE_TYPE_IN_2_68 GLIB_UNAVAILABLE_TYPE (2, 68) +#else +#define GOBJECT_AVAILABLE_IN_2_68 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_68 +#define GOBJECT_AVAILABLE_MACRO_IN_2_68 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_68 +#define GOBJECT_AVAILABLE_TYPE_IN_2_68 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_70 +#define GOBJECT_DEPRECATED_IN_2_70 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_70_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_70 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_70_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_70 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_70_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_70 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_70_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_70 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_70_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_70 +#define GOBJECT_DEPRECATED_MACRO_IN_2_70_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_70 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_70_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_70 +#define GOBJECT_DEPRECATED_TYPE_IN_2_70_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_70 +#define GOBJECT_AVAILABLE_IN_2_70 GOBJECT_UNAVAILABLE (2, 70) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_70 GLIB_UNAVAILABLE_STATIC_INLINE (2, 70) +#define GOBJECT_AVAILABLE_MACRO_IN_2_70 GLIB_UNAVAILABLE_MACRO (2, 70) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_70 GLIB_UNAVAILABLE_ENUMERATOR (2, 70) +#define GOBJECT_AVAILABLE_TYPE_IN_2_70 GLIB_UNAVAILABLE_TYPE (2, 70) +#else +#define GOBJECT_AVAILABLE_IN_2_70 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_70 +#define GOBJECT_AVAILABLE_MACRO_IN_2_70 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_70 +#define GOBJECT_AVAILABLE_TYPE_IN_2_70 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_72 +#define GOBJECT_DEPRECATED_IN_2_72 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_72_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_72 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_72_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_72 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_72_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_72 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_72_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_72 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_72_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_72 +#define GOBJECT_DEPRECATED_MACRO_IN_2_72_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_72 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_72_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_72 +#define GOBJECT_DEPRECATED_TYPE_IN_2_72_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_72 +#define GOBJECT_AVAILABLE_IN_2_72 GOBJECT_UNAVAILABLE (2, 72) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_72 GLIB_UNAVAILABLE_STATIC_INLINE (2, 72) +#define GOBJECT_AVAILABLE_MACRO_IN_2_72 GLIB_UNAVAILABLE_MACRO (2, 72) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_72 GLIB_UNAVAILABLE_ENUMERATOR (2, 72) +#define GOBJECT_AVAILABLE_TYPE_IN_2_72 GLIB_UNAVAILABLE_TYPE (2, 72) +#else +#define GOBJECT_AVAILABLE_IN_2_72 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_72 +#define GOBJECT_AVAILABLE_MACRO_IN_2_72 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_72 +#define GOBJECT_AVAILABLE_TYPE_IN_2_72 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_74 +#define GOBJECT_DEPRECATED_IN_2_74 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_74_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_74 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_74_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_74 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_74_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_74 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_74_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_74 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_74_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_74 +#define GOBJECT_DEPRECATED_MACRO_IN_2_74_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_74 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_74_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_74 +#define GOBJECT_DEPRECATED_TYPE_IN_2_74_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_74 +#define GOBJECT_AVAILABLE_IN_2_74 GOBJECT_UNAVAILABLE (2, 74) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_74 GLIB_UNAVAILABLE_STATIC_INLINE (2, 74) +#define GOBJECT_AVAILABLE_MACRO_IN_2_74 GLIB_UNAVAILABLE_MACRO (2, 74) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_74 GLIB_UNAVAILABLE_ENUMERATOR (2, 74) +#define GOBJECT_AVAILABLE_TYPE_IN_2_74 GLIB_UNAVAILABLE_TYPE (2, 74) +#else +#define GOBJECT_AVAILABLE_IN_2_74 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_74 +#define GOBJECT_AVAILABLE_MACRO_IN_2_74 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_74 +#define GOBJECT_AVAILABLE_TYPE_IN_2_74 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_76 +#define GOBJECT_DEPRECATED_IN_2_76 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_76_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_76 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_76_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_76 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_76_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_76 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_76_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_76 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_76_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_76 +#define GOBJECT_DEPRECATED_MACRO_IN_2_76_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_76 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_76_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_76 +#define GOBJECT_DEPRECATED_TYPE_IN_2_76_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_76 +#define GOBJECT_AVAILABLE_IN_2_76 GOBJECT_UNAVAILABLE (2, 76) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_76 GLIB_UNAVAILABLE_STATIC_INLINE (2, 76) +#define GOBJECT_AVAILABLE_MACRO_IN_2_76 GLIB_UNAVAILABLE_MACRO (2, 76) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_76 GLIB_UNAVAILABLE_ENUMERATOR (2, 76) +#define GOBJECT_AVAILABLE_TYPE_IN_2_76 GLIB_UNAVAILABLE_TYPE (2, 76) +#else +#define GOBJECT_AVAILABLE_IN_2_76 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_76 +#define GOBJECT_AVAILABLE_MACRO_IN_2_76 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_76 +#define GOBJECT_AVAILABLE_TYPE_IN_2_76 +#endif + +#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_78 +#define GOBJECT_DEPRECATED_IN_2_78 GOBJECT_DEPRECATED +#define GOBJECT_DEPRECATED_IN_2_78_FOR(f) GOBJECT_DEPRECATED_FOR (f) +#define GOBJECT_DEPRECATED_MACRO_IN_2_78 GLIB_DEPRECATED_MACRO +#define GOBJECT_DEPRECATED_MACRO_IN_2_78_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_78 GLIB_DEPRECATED_ENUMERATOR +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_78_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_78 GLIB_DEPRECATED_TYPE +#define GOBJECT_DEPRECATED_TYPE_IN_2_78_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f) +#else +#define GOBJECT_DEPRECATED_IN_2_78 _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_IN_2_78_FOR(f) _GOBJECT_EXTERN +#define GOBJECT_DEPRECATED_MACRO_IN_2_78 +#define GOBJECT_DEPRECATED_MACRO_IN_2_78_FOR(f) +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_78 +#define GOBJECT_DEPRECATED_ENUMERATOR_IN_2_78_FOR(f) +#define GOBJECT_DEPRECATED_TYPE_IN_2_78 +#define GOBJECT_DEPRECATED_TYPE_IN_2_78_FOR(f) +#endif + +#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_78 +#define GOBJECT_AVAILABLE_IN_2_78 GOBJECT_UNAVAILABLE (2, 78) +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_78 GLIB_UNAVAILABLE_STATIC_INLINE (2, 78) +#define GOBJECT_AVAILABLE_MACRO_IN_2_78 GLIB_UNAVAILABLE_MACRO (2, 78) +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_78 GLIB_UNAVAILABLE_ENUMERATOR (2, 78) +#define GOBJECT_AVAILABLE_TYPE_IN_2_78 GLIB_UNAVAILABLE_TYPE (2, 78) +#else +#define GOBJECT_AVAILABLE_IN_2_78 _GOBJECT_EXTERN +#define GOBJECT_AVAILABLE_STATIC_INLINE_IN_2_78 +#define GOBJECT_AVAILABLE_MACRO_IN_2_78 +#define GOBJECT_AVAILABLE_ENUMERATOR_IN_2_78 +#define GOBJECT_AVAILABLE_TYPE_IN_2_78 +#endif diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gobject.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gobject.h new file mode 100644 index 0000000..ea0157c --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gobject.h @@ -0,0 +1,953 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * Copyright (C) 1998-1999, 2000-2001 Tim Janik and Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ +#ifndef __G_OBJECT_H__ +#define __G_OBJECT_H__ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include +#include +#include +#include + +G_BEGIN_DECLS + +/* --- type macros --- */ +/** + * G_TYPE_IS_OBJECT: + * @type: Type id to check + * + * Check if the passed in type id is a %G_TYPE_OBJECT or derived from it. + * + * Returns: %FALSE or %TRUE, indicating whether @type is a %G_TYPE_OBJECT. + */ +#define G_TYPE_IS_OBJECT(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_OBJECT) +/** + * G_OBJECT: + * @object: Object which is subject to casting. + * + * Casts a #GObject or derived pointer into a (GObject*) pointer. + * + * Depending on the current debugging level, this function may invoke + * certain runtime checks to identify invalid casts. + */ +#define G_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_OBJECT, GObject)) +/** + * G_OBJECT_CLASS: + * @class: a valid #GObjectClass + * + * Casts a derived #GObjectClass structure into a #GObjectClass structure. + */ +#define G_OBJECT_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass)) +/** + * G_IS_OBJECT: + * @object: Instance to check for being a %G_TYPE_OBJECT. + * + * Checks whether a valid #GTypeInstance pointer is of type %G_TYPE_OBJECT. + */ +#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_42 +#define G_IS_OBJECT(object) (G_TYPE_CHECK_INSTANCE_FUNDAMENTAL_TYPE ((object), G_TYPE_OBJECT)) +#else +#define G_IS_OBJECT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), G_TYPE_OBJECT)) +#endif +/** + * G_IS_OBJECT_CLASS: + * @class: a #GObjectClass + * + * Checks whether @class "is a" valid #GObjectClass structure of type + * %G_TYPE_OBJECT or derived. + */ +#define G_IS_OBJECT_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_OBJECT)) +/** + * G_OBJECT_GET_CLASS: + * @object: a #GObject instance. + * + * Get the class structure associated to a #GObject instance. + * + * Returns: pointer to object class structure. + */ +#define G_OBJECT_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), G_TYPE_OBJECT, GObjectClass)) +/** + * G_OBJECT_TYPE: + * @object: Object to return the type id for. + * + * Get the type id of an object. + * + * Returns: Type id of @object. + */ +#define G_OBJECT_TYPE(object) (G_TYPE_FROM_INSTANCE (object)) +/** + * G_OBJECT_TYPE_NAME: + * @object: Object to return the type name for. + * + * Get the name of an object's type. + * + * Returns: Type name of @object. The string is owned by the type system and + * should not be freed. + */ +#define G_OBJECT_TYPE_NAME(object) (g_type_name (G_OBJECT_TYPE (object))) +/** + * G_OBJECT_CLASS_TYPE: + * @class: a valid #GObjectClass + * + * Get the type id of a class structure. + * + * Returns: Type id of @class. + */ +#define G_OBJECT_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class)) +/** + * G_OBJECT_CLASS_NAME: + * @class: a valid #GObjectClass + * + * Return the name of a class structure's type. + * + * Returns: Type name of @class. The string is owned by the type system and + * should not be freed. + */ +#define G_OBJECT_CLASS_NAME(class) (g_type_name (G_OBJECT_CLASS_TYPE (class))) +/** + * G_VALUE_HOLDS_OBJECT: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values derived from type %G_TYPE_OBJECT. + * + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_OBJECT(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_OBJECT)) + +/* --- type macros --- */ +/** + * G_TYPE_INITIALLY_UNOWNED: + * + * The type for #GInitiallyUnowned. + */ +#define G_TYPE_INITIALLY_UNOWNED (g_initially_unowned_get_type()) +/** + * G_INITIALLY_UNOWNED: + * @object: Object which is subject to casting. + * + * Casts a #GInitiallyUnowned or derived pointer into a (GInitiallyUnowned*) + * pointer. + * + * Depending on the current debugging level, this function may invoke + * certain runtime checks to identify invalid casts. + */ +#define G_INITIALLY_UNOWNED(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_INITIALLY_UNOWNED, GInitiallyUnowned)) +/** + * G_INITIALLY_UNOWNED_CLASS: + * @class: a valid #GInitiallyUnownedClass + * + * Casts a derived #GInitiallyUnownedClass structure into a + * #GInitiallyUnownedClass structure. + */ +#define G_INITIALLY_UNOWNED_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_INITIALLY_UNOWNED, GInitiallyUnownedClass)) +/** + * G_IS_INITIALLY_UNOWNED: + * @object: Instance to check for being a %G_TYPE_INITIALLY_UNOWNED. + * + * Checks whether a valid #GTypeInstance pointer is of type %G_TYPE_INITIALLY_UNOWNED. + */ +#define G_IS_INITIALLY_UNOWNED(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), G_TYPE_INITIALLY_UNOWNED)) +/** + * G_IS_INITIALLY_UNOWNED_CLASS: + * @class: a #GInitiallyUnownedClass + * + * Checks whether @class "is a" valid #GInitiallyUnownedClass structure of type + * %G_TYPE_INITIALLY_UNOWNED or derived. + */ +#define G_IS_INITIALLY_UNOWNED_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_INITIALLY_UNOWNED)) +/** + * G_INITIALLY_UNOWNED_GET_CLASS: + * @object: a #GInitiallyUnowned instance. + * + * Get the class structure associated to a #GInitiallyUnowned instance. + * + * Returns: pointer to object class structure. + */ +#define G_INITIALLY_UNOWNED_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), G_TYPE_INITIALLY_UNOWNED, GInitiallyUnownedClass)) +/* GInitiallyUnowned ia a GObject with initially floating reference count */ + + +/* --- typedefs & structures --- */ +typedef struct _GObject GObject; +typedef struct _GObjectClass GObjectClass; +typedef struct _GObject GInitiallyUnowned; +typedef struct _GObjectClass GInitiallyUnownedClass; +typedef struct _GObjectConstructParam GObjectConstructParam; +/** + * GObjectGetPropertyFunc: + * @object: a #GObject + * @property_id: the numeric id under which the property was registered with + * g_object_class_install_property(). + * @value: a #GValue to return the property value in + * @pspec: the #GParamSpec describing the property + * + * The type of the @get_property function of #GObjectClass. + */ +typedef void (*GObjectGetPropertyFunc) (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec); +/** + * GObjectSetPropertyFunc: + * @object: a #GObject + * @property_id: the numeric id under which the property was registered with + * g_object_class_install_property(). + * @value: the new value for the property + * @pspec: the #GParamSpec describing the property + * + * The type of the @set_property function of #GObjectClass. + */ +typedef void (*GObjectSetPropertyFunc) (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec); +/** + * GObjectFinalizeFunc: + * @object: the #GObject being finalized + * + * The type of the @finalize function of #GObjectClass. + */ +typedef void (*GObjectFinalizeFunc) (GObject *object); +/** + * GWeakNotify: + * @data: data that was provided when the weak reference was established + * @where_the_object_was: the object being disposed + * + * A #GWeakNotify function can be added to an object as a callback that gets + * triggered when the object is finalized. + * + * Since the object is already being disposed when the #GWeakNotify is called, + * there's not much you could do with the object, apart from e.g. using its + * address as hash-index or the like. + * + * In particular, this means it’s invalid to call g_object_ref(), + * g_weak_ref_init(), g_weak_ref_set(), g_object_add_toggle_ref(), + * g_object_weak_ref(), g_object_add_weak_pointer() or any function which calls + * them on the object from this callback. + */ +typedef void (*GWeakNotify) (gpointer data, + GObject *where_the_object_was); +/** + * GObject: + * + * The base object type. + * + * All the fields in the `GObject` structure are private to the implementation + * and should never be accessed directly. + * + * Since GLib 2.72, all #GObjects are guaranteed to be aligned to at least the + * alignment of the largest basic GLib type (typically this is #guint64 or + * #gdouble). If you need larger alignment for an element in a #GObject, you + * should allocate it on the heap (aligned), or arrange for your #GObject to be + * appropriately padded. This guarantee applies to the #GObject (or derived) + * struct, the #GObjectClass (or derived) struct, and any private data allocated + * by G_ADD_PRIVATE(). + */ +struct _GObject +{ + GTypeInstance g_type_instance; + + /*< private >*/ + guint ref_count; /* (atomic) */ + GData *qdata; +}; +/** + * GObjectClass: + * @g_type_class: the parent class + * @constructor: the @constructor function is called by g_object_new () to + * complete the object initialization after all the construction properties are + * set. The first thing a @constructor implementation must do is chain up to the + * @constructor of the parent class. Overriding @constructor should be rarely + * needed, e.g. to handle construct properties, or to implement singletons. + * @set_property: the generic setter for all properties of this type. Should be + * overridden for every type with properties. If implementations of + * @set_property don't emit property change notification explicitly, this will + * be done implicitly by the type system. However, if the notify signal is + * emitted explicitly, the type system will not emit it a second time. + * @get_property: the generic getter for all properties of this type. Should be + * overridden for every type with properties. + * @dispose: the @dispose function is supposed to drop all references to other + * objects, but keep the instance otherwise intact, so that client method + * invocations still work. It may be run multiple times (due to reference + * loops). Before returning, @dispose should chain up to the @dispose method + * of the parent class. + * @finalize: instance finalization function, should finish the finalization of + * the instance begun in @dispose and chain up to the @finalize method of the + * parent class. + * @dispatch_properties_changed: emits property change notification for a bunch + * of properties. Overriding @dispatch_properties_changed should be rarely + * needed. + * @notify: the class closure for the notify signal + * @constructed: the @constructed function is called by g_object_new() as the + * final step of the object creation process. At the point of the call, all + * construction properties have been set on the object. The purpose of this + * call is to allow for object initialisation steps that can only be performed + * after construction properties have been set. @constructed implementors + * should chain up to the @constructed call of their parent class to allow it + * to complete its initialisation. + * + * The class structure for the GObject type. + * + * |[ + * // Example of implementing a singleton using a constructor. + * static MySingleton *the_singleton = NULL; + * + * static GObject* + * my_singleton_constructor (GType type, + * guint n_construct_params, + * GObjectConstructParam *construct_params) + * { + * GObject *object; + * + * if (!the_singleton) + * { + * object = G_OBJECT_CLASS (parent_class)->constructor (type, + * n_construct_params, + * construct_params); + * the_singleton = MY_SINGLETON (object); + * } + * else + * object = g_object_ref (G_OBJECT (the_singleton)); + * + * return object; + * } + * ]| + */ +struct _GObjectClass +{ + GTypeClass g_type_class; + + /*< private >*/ + GSList *construct_properties; + + /*< public >*/ + /* seldom overridden */ + GObject* (*constructor) (GType type, + guint n_construct_properties, + GObjectConstructParam *construct_properties); + /* overridable methods */ + void (*set_property) (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec); + void (*get_property) (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec); + void (*dispose) (GObject *object); + void (*finalize) (GObject *object); + /* seldom overridden */ + void (*dispatch_properties_changed) (GObject *object, + guint n_pspecs, + GParamSpec **pspecs); + /* signals */ + void (*notify) (GObject *object, + GParamSpec *pspec); + + /* called when done constructing */ + void (*constructed) (GObject *object); + + /*< private >*/ + gsize flags; + + gsize n_construct_properties; + + gpointer pspecs; + gsize n_pspecs; + + /* padding */ + gpointer pdummy[3]; +}; + +/** + * GObjectConstructParam: + * @pspec: the #GParamSpec of the construct parameter + * @value: the value to set the parameter to + * + * The GObjectConstructParam struct is an auxiliary structure used to hand + * #GParamSpec/#GValue pairs to the @constructor of a #GObjectClass. + */ +struct _GObjectConstructParam +{ + GParamSpec *pspec; + GValue *value; +}; + +/** + * GInitiallyUnowned: + * + * A type for objects that have an initially floating reference. + * + * All the fields in the `GInitiallyUnowned` structure are private to the + * implementation and should never be accessed directly. + */ +/** + * GInitiallyUnownedClass: + * + * The class structure for the GInitiallyUnowned type. + */ + + +/* --- prototypes --- */ +GOBJECT_AVAILABLE_IN_ALL +GType g_initially_unowned_get_type (void); +GOBJECT_AVAILABLE_IN_ALL +void g_object_class_install_property (GObjectClass *oclass, + guint property_id, + GParamSpec *pspec); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_object_class_find_property (GObjectClass *oclass, + const gchar *property_name); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec**g_object_class_list_properties (GObjectClass *oclass, + guint *n_properties); +GOBJECT_AVAILABLE_IN_ALL +void g_object_class_override_property (GObjectClass *oclass, + guint property_id, + const gchar *name); +GOBJECT_AVAILABLE_IN_ALL +void g_object_class_install_properties (GObjectClass *oclass, + guint n_pspecs, + GParamSpec **pspecs); + +GOBJECT_AVAILABLE_IN_ALL +void g_object_interface_install_property (gpointer g_iface, + GParamSpec *pspec); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_object_interface_find_property (gpointer g_iface, + const gchar *property_name); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec**g_object_interface_list_properties (gpointer g_iface, + guint *n_properties_p); + +GOBJECT_AVAILABLE_IN_ALL +GType g_object_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +gpointer g_object_new (GType object_type, + const gchar *first_property_name, + ...); +GOBJECT_AVAILABLE_IN_2_54 +GObject* g_object_new_with_properties (GType object_type, + guint n_properties, + const char *names[], + const GValue values[]); + +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + +GOBJECT_DEPRECATED_IN_2_54_FOR(g_object_new_with_properties) +gpointer g_object_newv (GType object_type, + guint n_parameters, + GParameter *parameters); + +G_GNUC_END_IGNORE_DEPRECATIONS + +GOBJECT_AVAILABLE_IN_ALL +GObject* g_object_new_valist (GType object_type, + const gchar *first_property_name, + va_list var_args); +GOBJECT_AVAILABLE_IN_ALL +void g_object_set (gpointer object, + const gchar *first_property_name, + ...) G_GNUC_NULL_TERMINATED; +GOBJECT_AVAILABLE_IN_ALL +void g_object_get (gpointer object, + const gchar *first_property_name, + ...) G_GNUC_NULL_TERMINATED; +GOBJECT_AVAILABLE_IN_ALL +gpointer g_object_connect (gpointer object, + const gchar *signal_spec, + ...) G_GNUC_NULL_TERMINATED; +GOBJECT_AVAILABLE_IN_ALL +void g_object_disconnect (gpointer object, + const gchar *signal_spec, + ...) G_GNUC_NULL_TERMINATED; +GOBJECT_AVAILABLE_IN_2_54 +void g_object_setv (GObject *object, + guint n_properties, + const gchar *names[], + const GValue values[]); +GOBJECT_AVAILABLE_IN_ALL +void g_object_set_valist (GObject *object, + const gchar *first_property_name, + va_list var_args); +GOBJECT_AVAILABLE_IN_2_54 +void g_object_getv (GObject *object, + guint n_properties, + const gchar *names[], + GValue values[]); +GOBJECT_AVAILABLE_IN_ALL +void g_object_get_valist (GObject *object, + const gchar *first_property_name, + va_list var_args); +GOBJECT_AVAILABLE_IN_ALL +void g_object_set_property (GObject *object, + const gchar *property_name, + const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_object_get_property (GObject *object, + const gchar *property_name, + GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_object_freeze_notify (GObject *object); +GOBJECT_AVAILABLE_IN_ALL +void g_object_notify (GObject *object, + const gchar *property_name); +GOBJECT_AVAILABLE_IN_ALL +void g_object_notify_by_pspec (GObject *object, + GParamSpec *pspec); +GOBJECT_AVAILABLE_IN_ALL +void g_object_thaw_notify (GObject *object); +GOBJECT_AVAILABLE_IN_ALL +gboolean g_object_is_floating (gpointer object); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_object_ref_sink (gpointer object); +GOBJECT_AVAILABLE_IN_2_70 +gpointer g_object_take_ref (gpointer object); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_object_ref (gpointer object); +GOBJECT_AVAILABLE_IN_ALL +void g_object_unref (gpointer object); +GOBJECT_AVAILABLE_IN_ALL +void g_object_weak_ref (GObject *object, + GWeakNotify notify, + gpointer data); +GOBJECT_AVAILABLE_IN_ALL +void g_object_weak_unref (GObject *object, + GWeakNotify notify, + gpointer data); +GOBJECT_AVAILABLE_IN_ALL +void g_object_add_weak_pointer (GObject *object, + gpointer *weak_pointer_location); +GOBJECT_AVAILABLE_IN_ALL +void g_object_remove_weak_pointer (GObject *object, + gpointer *weak_pointer_location); + +#if defined(glib_typeof) && GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_56 +/* Make reference APIs type safe with macros */ +#define g_object_ref(Obj) ((glib_typeof (Obj)) (g_object_ref) (Obj)) +#define g_object_ref_sink(Obj) ((glib_typeof (Obj)) (g_object_ref_sink) (Obj)) +#endif + +/** + * GToggleNotify: + * @data: Callback data passed to g_object_add_toggle_ref() + * @object: The object on which g_object_add_toggle_ref() was called. + * @is_last_ref: %TRUE if the toggle reference is now the + * last reference to the object. %FALSE if the toggle + * reference was the last reference and there are now other + * references. + * + * A callback function used for notification when the state + * of a toggle reference changes. + * + * See also: g_object_add_toggle_ref() + */ +typedef void (*GToggleNotify) (gpointer data, + GObject *object, + gboolean is_last_ref); + +GOBJECT_AVAILABLE_IN_ALL +void g_object_add_toggle_ref (GObject *object, + GToggleNotify notify, + gpointer data); +GOBJECT_AVAILABLE_IN_ALL +void g_object_remove_toggle_ref (GObject *object, + GToggleNotify notify, + gpointer data); + +GOBJECT_AVAILABLE_IN_ALL +gpointer g_object_get_qdata (GObject *object, + GQuark quark); +GOBJECT_AVAILABLE_IN_ALL +void g_object_set_qdata (GObject *object, + GQuark quark, + gpointer data); +GOBJECT_AVAILABLE_IN_ALL +void g_object_set_qdata_full (GObject *object, + GQuark quark, + gpointer data, + GDestroyNotify destroy); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_object_steal_qdata (GObject *object, + GQuark quark); + +GOBJECT_AVAILABLE_IN_2_34 +gpointer g_object_dup_qdata (GObject *object, + GQuark quark, + GDuplicateFunc dup_func, + gpointer user_data); +GOBJECT_AVAILABLE_IN_2_34 +gboolean g_object_replace_qdata (GObject *object, + GQuark quark, + gpointer oldval, + gpointer newval, + GDestroyNotify destroy, + GDestroyNotify *old_destroy); + +GOBJECT_AVAILABLE_IN_ALL +gpointer g_object_get_data (GObject *object, + const gchar *key); +GOBJECT_AVAILABLE_IN_ALL +void g_object_set_data (GObject *object, + const gchar *key, + gpointer data); +GOBJECT_AVAILABLE_IN_ALL +void g_object_set_data_full (GObject *object, + const gchar *key, + gpointer data, + GDestroyNotify destroy); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_object_steal_data (GObject *object, + const gchar *key); + +GOBJECT_AVAILABLE_IN_2_34 +gpointer g_object_dup_data (GObject *object, + const gchar *key, + GDuplicateFunc dup_func, + gpointer user_data); +GOBJECT_AVAILABLE_IN_2_34 +gboolean g_object_replace_data (GObject *object, + const gchar *key, + gpointer oldval, + gpointer newval, + GDestroyNotify destroy, + GDestroyNotify *old_destroy); + + +GOBJECT_AVAILABLE_IN_ALL +void g_object_watch_closure (GObject *object, + GClosure *closure); +GOBJECT_AVAILABLE_IN_ALL +GClosure* g_cclosure_new_object (GCallback callback_func, + GObject *object); +GOBJECT_AVAILABLE_IN_ALL +GClosure* g_cclosure_new_object_swap (GCallback callback_func, + GObject *object); +GOBJECT_AVAILABLE_IN_ALL +GClosure* g_closure_new_object (guint sizeof_closure, + GObject *object); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_object (GValue *value, + gpointer v_object); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_value_get_object (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_value_dup_object (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +gulong g_signal_connect_object (gpointer instance, + const gchar *detailed_signal, + GCallback c_handler, + gpointer gobject, + GConnectFlags connect_flags); + +/*< protected >*/ +GOBJECT_AVAILABLE_IN_ALL +void g_object_force_floating (GObject *object); +GOBJECT_AVAILABLE_IN_ALL +void g_object_run_dispose (GObject *object); + + +GOBJECT_AVAILABLE_IN_ALL +void g_value_take_object (GValue *value, + gpointer v_object); +GOBJECT_DEPRECATED_FOR(g_value_take_object) +void g_value_set_object_take_ownership (GValue *value, + gpointer v_object); + +GOBJECT_DEPRECATED +gsize g_object_compat_control (gsize what, + gpointer data); + +/* --- implementation macros --- */ +#define G_OBJECT_WARN_INVALID_PSPEC(object, pname, property_id, pspec) \ +G_STMT_START { \ + GObject *_glib__object = (GObject*) (object); \ + GParamSpec *_glib__pspec = (GParamSpec*) (pspec); \ + guint _glib__property_id = (property_id); \ + g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'", \ + __FILE__, __LINE__, \ + (pname), \ + _glib__property_id, \ + _glib__pspec->name, \ + g_type_name (G_PARAM_SPEC_TYPE (_glib__pspec)), \ + G_OBJECT_TYPE_NAME (_glib__object)); \ +} G_STMT_END +/** + * G_OBJECT_WARN_INVALID_PROPERTY_ID: + * @object: the #GObject on which set_property() or get_property() was called + * @property_id: the numeric id of the property + * @pspec: the #GParamSpec of the property + * + * This macro should be used to emit a standard warning about unexpected + * properties in set_property() and get_property() implementations. + */ +#define G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec) \ + G_OBJECT_WARN_INVALID_PSPEC ((object), "property", (property_id), (pspec)) + +GOBJECT_AVAILABLE_IN_ALL +void g_clear_object (GObject **object_ptr); +#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref) + +/** + * g_set_object: (skip) + * @object_ptr: (inout) (not optional) (nullable): a pointer to a #GObject reference + * @new_object: (nullable) (transfer none): a pointer to the new #GObject to + * assign to @object_ptr, or %NULL to clear the pointer + * + * Updates a #GObject pointer to refer to @new_object. + * + * It increments the reference count of @new_object (if non-%NULL), decrements + * the reference count of the current value of @object_ptr (if non-%NULL), and + * assigns @new_object to @object_ptr. The assignment is not atomic. + * + * @object_ptr must not be %NULL, but can point to a %NULL value. + * + * A macro is also included that allows this function to be used without + * pointer casts. The function itself is static inline, so its address may vary + * between compilation units. + * + * One convenient usage of this function is in implementing property setters: + * |[ + * void + * foo_set_bar (Foo *foo, + * Bar *new_bar) + * { + * g_return_if_fail (IS_FOO (foo)); + * g_return_if_fail (new_bar == NULL || IS_BAR (new_bar)); + * + * if (g_set_object (&foo->bar, new_bar)) + * g_object_notify (foo, "bar"); + * } + * ]| + * + * Returns: %TRUE if the value of @object_ptr changed, %FALSE otherwise + * + * Since: 2.44 + */ +static inline gboolean +(g_set_object) (GObject **object_ptr, + GObject *new_object) +{ + GObject *old_object = *object_ptr; + + /* rely on g_object_[un]ref() to check the pointers are actually GObjects; + * elide a (object_ptr != NULL) check because most of the time we will be + * operating on struct members with a constant offset, so a NULL check would + * not catch bugs + */ + + if (old_object == new_object) + return FALSE; + + if (new_object != NULL) + g_object_ref (new_object); + + *object_ptr = new_object; + + if (old_object != NULL) + g_object_unref (old_object); + + return TRUE; +} + +/* We need GCC for __extension__, which we need to sort out strict aliasing of @object_ptr */ +#if defined(__GNUC__) + +#define g_set_object(object_ptr, new_object) \ + (G_GNUC_EXTENSION ({ \ + G_STATIC_ASSERT (sizeof *(object_ptr) == sizeof (new_object)); \ + /* Only one access, please; work around type aliasing */ \ + union { char *in; GObject **out; } _object_ptr; \ + _object_ptr.in = (char *) (object_ptr); \ + /* Check types match */ \ + (void) (0 ? *(object_ptr) = (new_object), FALSE : FALSE); \ + (g_set_object) (_object_ptr.out, (GObject *) new_object); \ + })) \ + GOBJECT_AVAILABLE_MACRO_IN_2_44 + +#else /* if !defined(__GNUC__) */ + +#define g_set_object(object_ptr, new_object) \ + (/* Check types match. */ \ + 0 ? *(object_ptr) = (new_object), FALSE : \ + (g_set_object) ((GObject **) (object_ptr), (GObject *) (new_object)) \ + ) + +#endif /* !defined(__GNUC__) */ + +/** + * g_assert_finalize_object: (skip) + * @object: (transfer full) (type GObject.Object): an object + * + * Assert that @object is non-%NULL, then release one reference to it with + * g_object_unref() and assert that it has been finalized (i.e. that there + * are no more references). + * + * If assertions are disabled via `G_DISABLE_ASSERT`, + * this macro just calls g_object_unref() without any further checks. + * + * This macro should only be used in regression tests. + * + * Since: 2.62 + */ +static inline void +(g_assert_finalize_object) (GObject *object) +{ + gpointer weak_pointer = object; + + g_assert_true (G_IS_OBJECT (weak_pointer)); + g_object_add_weak_pointer (object, &weak_pointer); + g_object_unref (weak_pointer); + g_assert_null (weak_pointer); +} + +#ifdef G_DISABLE_ASSERT +#define g_assert_finalize_object(object) g_object_unref (object) +#else +#define g_assert_finalize_object(object) (g_assert_finalize_object ((GObject *) object)) +#endif + +/** + * g_clear_weak_pointer: (skip) + * @weak_pointer_location: The memory address of a pointer + * + * Clears a weak reference to a #GObject. + * + * @weak_pointer_location must not be %NULL. + * + * If the weak reference is %NULL then this function does nothing. + * Otherwise, the weak reference to the object is removed for that location + * and the pointer is set to %NULL. + * + * A macro is also included that allows this function to be used without + * pointer casts. The function itself is static inline, so its address may vary + * between compilation units. + * + * Since: 2.56 + */ +static inline void +(g_clear_weak_pointer) (gpointer *weak_pointer_location) +{ + GObject *object = (GObject *) *weak_pointer_location; + + if (object != NULL) + { + g_object_remove_weak_pointer (object, weak_pointer_location); + *weak_pointer_location = NULL; + } +} + +#define g_clear_weak_pointer(weak_pointer_location) \ + (/* Check types match. */ \ + (g_clear_weak_pointer) ((gpointer *) (weak_pointer_location)) \ + ) + +/** + * g_set_weak_pointer: (skip) + * @weak_pointer_location: the memory address of a pointer + * @new_object: (nullable) (transfer none): a pointer to the new #GObject to + * assign to it, or %NULL to clear the pointer + * + * Updates a pointer to weakly refer to @new_object. + * + * It assigns @new_object to @weak_pointer_location and ensures + * that @weak_pointer_location will automatically be set to %NULL + * if @new_object gets destroyed. The assignment is not atomic. + * The weak reference is not thread-safe, see g_object_add_weak_pointer() + * for details. + * + * The @weak_pointer_location argument must not be %NULL. + * + * A macro is also included that allows this function to be used without + * pointer casts. The function itself is static inline, so its address may vary + * between compilation units. + * + * One convenient usage of this function is in implementing property setters: + * |[ + * void + * foo_set_bar (Foo *foo, + * Bar *new_bar) + * { + * g_return_if_fail (IS_FOO (foo)); + * g_return_if_fail (new_bar == NULL || IS_BAR (new_bar)); + * + * if (g_set_weak_pointer (&foo->bar, new_bar)) + * g_object_notify (foo, "bar"); + * } + * ]| + * + * Returns: %TRUE if the value of @weak_pointer_location changed, %FALSE otherwise + * + * Since: 2.56 + */ +static inline gboolean +(g_set_weak_pointer) (gpointer *weak_pointer_location, + GObject *new_object) +{ + GObject *old_object = (GObject *) *weak_pointer_location; + + /* elide a (weak_pointer_location != NULL) check because most of the time we + * will be operating on struct members with a constant offset, so a NULL + * check would not catch bugs + */ + + if (old_object == new_object) + return FALSE; + + if (old_object != NULL) + g_object_remove_weak_pointer (old_object, weak_pointer_location); + + *weak_pointer_location = new_object; + + if (new_object != NULL) + g_object_add_weak_pointer (new_object, weak_pointer_location); + + return TRUE; +} + +#define g_set_weak_pointer(weak_pointer_location, new_object) \ + (/* Check types match. */ \ + 0 ? *(weak_pointer_location) = (new_object), FALSE : \ + (g_set_weak_pointer) ((gpointer *) (weak_pointer_location), (GObject *) (new_object)) \ + ) + +typedef struct { + /**/ + union { gpointer p; } priv; +} GWeakRef; + +GOBJECT_AVAILABLE_IN_ALL +void g_weak_ref_init (GWeakRef *weak_ref, + gpointer object); +GOBJECT_AVAILABLE_IN_ALL +void g_weak_ref_clear (GWeakRef *weak_ref); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_weak_ref_get (GWeakRef *weak_ref); +GOBJECT_AVAILABLE_IN_ALL +void g_weak_ref_set (GWeakRef *weak_ref, + gpointer object); + +G_END_DECLS + +#endif /* __G_OBJECT_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gobjectnotifyqueue.c b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gobjectnotifyqueue.c new file mode 100644 index 0000000..6ed6f51 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gobjectnotifyqueue.c @@ -0,0 +1,199 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * Copyright (C) 1998-1999, 2000-2001 Tim Janik and Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ + +/* WARNING: + * + * This file is INSTALLED and other projects (outside of glib) + * #include its contents. + */ + +#ifndef __G_OBJECT_NOTIFY_QUEUE_H__ +#define __G_OBJECT_NOTIFY_QUEUE_H__ + +#include /* memset */ + +#include + +G_BEGIN_DECLS + + +/* --- typedefs --- */ +typedef struct _GObjectNotifyContext GObjectNotifyContext; +typedef struct _GObjectNotifyQueue GObjectNotifyQueue; +typedef void (*GObjectNotifyQueueDispatcher) (GObject *object, + guint n_pspecs, + GParamSpec **pspecs); + + +/* --- structures --- */ +struct _GObjectNotifyContext +{ + GQuark quark_notify_queue; + GObjectNotifyQueueDispatcher dispatcher; + GTrashStack *_nqueue_trash; /* unused */ +}; +struct _GObjectNotifyQueue +{ + GObjectNotifyContext *context; + GSList *pspecs; + guint16 n_pspecs; + guint16 freeze_count; +}; + +G_LOCK_DEFINE_STATIC(notify_lock); + +/* --- functions --- */ +static void +g_object_notify_queue_free (gpointer data) +{ + GObjectNotifyQueue *nqueue = data; + + g_slist_free (nqueue->pspecs); + g_slice_free (GObjectNotifyQueue, nqueue); +} + +static inline GObjectNotifyQueue* +g_object_notify_queue_freeze (GObject *object, + GObjectNotifyContext *context) +{ + GObjectNotifyQueue *nqueue; + + G_LOCK(notify_lock); + nqueue = g_datalist_id_get_data (&object->qdata, context->quark_notify_queue); + if (!nqueue) + { + nqueue = g_slice_new0 (GObjectNotifyQueue); + nqueue->context = context; + g_datalist_id_set_data_full (&object->qdata, context->quark_notify_queue, + nqueue, g_object_notify_queue_free); + } + + if (nqueue->freeze_count >= 65535) + g_critical("Free queue for %s (%p) is larger than 65535," + " called g_object_freeze_notify() too often." + " Forgot to call g_object_thaw_notify() or infinite loop", + G_OBJECT_TYPE_NAME (object), object); + else + nqueue->freeze_count++; + G_UNLOCK(notify_lock); + + return nqueue; +} + +static inline void +g_object_notify_queue_thaw (GObject *object, + GObjectNotifyQueue *nqueue) +{ + GObjectNotifyContext *context = nqueue->context; + GParamSpec *pspecs_mem[16], **pspecs, **free_me = NULL; + GSList *slist; + guint n_pspecs = 0; + + g_return_if_fail (nqueue->freeze_count > 0); + g_return_if_fail (g_atomic_int_get(&object->ref_count) > 0); + + G_LOCK(notify_lock); + + /* Just make sure we never get into some nasty race condition */ + if (G_UNLIKELY(nqueue->freeze_count == 0)) { + G_UNLOCK(notify_lock); + g_critical ("%s: property-changed notification for %s(%p) is not frozen", + G_STRFUNC, G_OBJECT_TYPE_NAME (object), object); + return; + } + + nqueue->freeze_count--; + if (nqueue->freeze_count) { + G_UNLOCK(notify_lock); + return; + } + + pspecs = nqueue->n_pspecs > 16 ? free_me = g_new (GParamSpec*, nqueue->n_pspecs) : pspecs_mem; + + for (slist = nqueue->pspecs; slist; slist = slist->next) + { + pspecs[n_pspecs++] = slist->data; + } + g_datalist_id_set_data (&object->qdata, context->quark_notify_queue, NULL); + + G_UNLOCK(notify_lock); + + if (n_pspecs) + context->dispatcher (object, n_pspecs, pspecs); + g_free (free_me); +} + +static inline void +g_object_notify_queue_clear (GObject *object, + GObjectNotifyQueue *nqueue) +{ + g_return_if_fail (nqueue->freeze_count > 0); + + G_LOCK(notify_lock); + + g_slist_free (nqueue->pspecs); + nqueue->pspecs = NULL; + nqueue->n_pspecs = 0; + + G_UNLOCK(notify_lock); +} + +static inline void +g_object_notify_queue_add (GObject *object, + GObjectNotifyQueue *nqueue, + GParamSpec *pspec) +{ + if (pspec->flags & G_PARAM_READABLE) + { + GParamSpec *redirect; + + G_LOCK(notify_lock); + + g_return_if_fail (nqueue->n_pspecs < 65535); + + redirect = g_param_spec_get_redirect_target (pspec); + if (redirect) + pspec = redirect; + + /* we do the deduping in _thaw */ + if (g_slist_find (nqueue->pspecs, pspec) == NULL) + { + nqueue->pspecs = g_slist_prepend (nqueue->pspecs, pspec); + nqueue->n_pspecs++; + } + + G_UNLOCK(notify_lock); + } +} + +/* NB: This function is not threadsafe, do not ever use it if + * you need a threadsafe notify queue. + * Use g_object_notify_queue_freeze() to acquire the queue and + * g_object_notify_queue_thaw() after you are done instead. + */ +static inline GObjectNotifyQueue* +g_object_notify_queue_from_object (GObject *object, + GObjectNotifyContext *context) +{ + return g_datalist_id_get_data (&object->qdata, context->quark_notify_queue); +} + +G_END_DECLS + +#endif /* __G_OBJECT_NOTIFY_QUEUE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gparam.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gparam.h new file mode 100644 index 0000000..6454e69 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gparam.h @@ -0,0 +1,476 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * Copyright (C) 1997-1999, 2000-2001 Tim Janik and Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * gparam.h: GParamSpec base class implementation + */ +#ifndef __G_PARAM_H__ +#define __G_PARAM_H__ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/* --- standard type macros --- */ +/** + * G_TYPE_IS_PARAM: + * @type: a #GType ID + * + * Checks whether @type "is a" %G_TYPE_PARAM. + */ +#define G_TYPE_IS_PARAM(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_PARAM) +/** + * G_PARAM_SPEC: + * @pspec: a valid #GParamSpec + * + * Casts a derived #GParamSpec object (e.g. of type #GParamSpecInt) into + * a #GParamSpec object. + */ +#define G_PARAM_SPEC(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM, GParamSpec)) +/** + * G_IS_PARAM_SPEC: + * @pspec: a #GParamSpec + * + * Checks whether @pspec "is a" valid #GParamSpec structure of type %G_TYPE_PARAM + * or derived. + */ +#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_42 +#define G_IS_PARAM_SPEC(pspec) (G_TYPE_CHECK_INSTANCE_FUNDAMENTAL_TYPE ((pspec), G_TYPE_PARAM)) +#else +#define G_IS_PARAM_SPEC(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM)) +#endif +/** + * G_PARAM_SPEC_CLASS: + * @pclass: a valid #GParamSpecClass + * + * Casts a derived #GParamSpecClass structure into a #GParamSpecClass structure. + */ +#define G_PARAM_SPEC_CLASS(pclass) (G_TYPE_CHECK_CLASS_CAST ((pclass), G_TYPE_PARAM, GParamSpecClass)) +/** + * G_IS_PARAM_SPEC_CLASS: + * @pclass: a #GParamSpecClass + * + * Checks whether @pclass "is a" valid #GParamSpecClass structure of type + * %G_TYPE_PARAM or derived. + */ +#define G_IS_PARAM_SPEC_CLASS(pclass) (G_TYPE_CHECK_CLASS_TYPE ((pclass), G_TYPE_PARAM)) +/** + * G_PARAM_SPEC_GET_CLASS: + * @pspec: a valid #GParamSpec + * + * Retrieves the #GParamSpecClass of a #GParamSpec. + */ +#define G_PARAM_SPEC_GET_CLASS(pspec) (G_TYPE_INSTANCE_GET_CLASS ((pspec), G_TYPE_PARAM, GParamSpecClass)) + + +/* --- convenience macros --- */ +/** + * G_PARAM_SPEC_TYPE: + * @pspec: a valid #GParamSpec + * + * Retrieves the #GType of this @pspec. + */ +#define G_PARAM_SPEC_TYPE(pspec) (G_TYPE_FROM_INSTANCE (pspec)) +/** + * G_PARAM_SPEC_TYPE_NAME: + * @pspec: a valid #GParamSpec + * + * Retrieves the #GType name of this @pspec. + */ +#define G_PARAM_SPEC_TYPE_NAME(pspec) (g_type_name (G_PARAM_SPEC_TYPE (pspec))) +/** + * G_PARAM_SPEC_VALUE_TYPE: + * @pspec: a valid #GParamSpec + * + * Retrieves the #GType to initialize a #GValue for this parameter. + */ +#define G_PARAM_SPEC_VALUE_TYPE(pspec) (G_PARAM_SPEC (pspec)->value_type) +/** + * G_VALUE_HOLDS_PARAM: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values derived from type %G_TYPE_PARAM. + * + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_PARAM(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_PARAM)) + + +/* --- flags --- */ +/** + * GParamFlags: + * @G_PARAM_READABLE: the parameter is readable + * @G_PARAM_WRITABLE: the parameter is writable + * @G_PARAM_READWRITE: alias for %G_PARAM_READABLE | %G_PARAM_WRITABLE + * @G_PARAM_CONSTRUCT: the parameter will be set upon object construction + * @G_PARAM_CONSTRUCT_ONLY: the parameter can only be set upon object construction + * @G_PARAM_LAX_VALIDATION: upon parameter conversion (see g_param_value_convert()) + * strict validation is not required + * @G_PARAM_STATIC_NAME: the string used as name when constructing the + * parameter is guaranteed to remain valid and + * unmodified for the lifetime of the parameter. + * Since 2.8 + * @G_PARAM_STATIC_NICK: the string used as nick when constructing the + * parameter is guaranteed to remain valid and + * unmmodified for the lifetime of the parameter. + * Since 2.8 + * @G_PARAM_STATIC_BLURB: the string used as blurb when constructing the + * parameter is guaranteed to remain valid and + * unmodified for the lifetime of the parameter. + * Since 2.8 + * @G_PARAM_EXPLICIT_NOTIFY: calls to g_object_set_property() for this + * property will not automatically result in a "notify" signal being + * emitted: the implementation must call g_object_notify() themselves + * in case the property actually changes. Since: 2.42. + * @G_PARAM_PRIVATE: internal + * @G_PARAM_DEPRECATED: the parameter is deprecated and will be removed + * in a future version. A warning will be generated if it is used + * while running with G_ENABLE_DIAGNOSTIC=1. + * Since 2.26 + * + * Through the #GParamFlags flag values, certain aspects of parameters + * can be configured. + * + * See also: %G_PARAM_STATIC_STRINGS + */ +typedef enum +{ + G_PARAM_READABLE = 1 << 0, + G_PARAM_WRITABLE = 1 << 1, + G_PARAM_READWRITE = (G_PARAM_READABLE | G_PARAM_WRITABLE), + G_PARAM_CONSTRUCT = 1 << 2, + G_PARAM_CONSTRUCT_ONLY = 1 << 3, + G_PARAM_LAX_VALIDATION = 1 << 4, + G_PARAM_STATIC_NAME = 1 << 5, + G_PARAM_PRIVATE GOBJECT_DEPRECATED_ENUMERATOR_IN_2_26 = G_PARAM_STATIC_NAME, + G_PARAM_STATIC_NICK = 1 << 6, + G_PARAM_STATIC_BLURB = 1 << 7, + /* User defined flags go here */ + G_PARAM_EXPLICIT_NOTIFY = 1 << 30, + /* Avoid warning with -Wpedantic for gcc6 */ + G_PARAM_DEPRECATED = (gint)(1u << 31) +} GParamFlags; + +/** + * G_PARAM_STATIC_STRINGS: + * + * #GParamFlags value alias for %G_PARAM_STATIC_NAME | %G_PARAM_STATIC_NICK | %G_PARAM_STATIC_BLURB. + * + * It is recommended to use this for all properties by default, as it allows for + * internal performance improvements in GObject. + * + * It is very rare that a property would have a dynamically constructed name, + * nickname or blurb. + * + * Since 2.13.0 + */ +#define G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB) +/* bits in the range 0xffffff00 are reserved for 3rd party usage */ +/** + * G_PARAM_MASK: + * + * Mask containing the bits of #GParamSpec.flags which are reserved for GLib. + */ +#define G_PARAM_MASK (0x000000ff) +/** + * G_PARAM_USER_SHIFT: + * + * Minimum shift count to be used for user defined flags, to be stored in + * #GParamSpec.flags. The maximum allowed is 10. + */ +#define G_PARAM_USER_SHIFT (8) + +/* --- typedefs & structures --- */ +typedef struct _GParamSpec GParamSpec; +typedef struct _GParamSpecClass GParamSpecClass; +typedef struct _GParameter GParameter GOBJECT_DEPRECATED_TYPE_IN_2_54; +typedef struct _GParamSpecPool GParamSpecPool; +/** + * GParamSpec: (ref-func g_param_spec_ref_sink) (unref-func g_param_spec_unref) (set-value-func g_value_set_param) (get-value-func g_value_get_param) + * @g_type_instance: private #GTypeInstance portion + * @name: name of this parameter: always an interned string + * @flags: #GParamFlags flags for this parameter + * @value_type: the #GValue type for this parameter + * @owner_type: #GType type that uses (introduces) this parameter + * + * All other fields of the GParamSpec struct are private and + * should not be used directly. + */ +struct _GParamSpec +{ + GTypeInstance g_type_instance; + + const gchar *name; /* interned string */ + GParamFlags flags; + GType value_type; + GType owner_type; /* class or interface using this property */ + + /*< private >*/ + gchar *_nick; + gchar *_blurb; + GData *qdata; + guint ref_count; + guint param_id; /* sort-criteria */ +}; +/** + * GParamSpecClass: + * @g_type_class: the parent class + * @value_type: the #GValue type for this parameter + * @finalize: The instance finalization function (optional), should chain + * up to the finalize method of the parent class. + * @value_set_default: Resets a @value to the default value for this type + * (recommended, the default is g_value_reset()), see + * g_param_value_set_default(). + * @value_validate: Ensures that the contents of @value comply with the + * specifications set out by this type (optional), see + * g_param_value_validate(). + * @values_cmp: Compares @value1 with @value2 according to this type + * (recommended, the default is memcmp()), see g_param_values_cmp(). + * @value_is_valid: Checks if contents of @value comply with the specifications + * set out by this type, without modifying the value. This vfunc is optional. + * If it isn't set, GObject will use @value_validate. Since 2.74 + * + * The class structure for the GParamSpec type. + * Normally, GParamSpec classes are filled by + * g_param_type_register_static(). + */ +struct _GParamSpecClass +{ + GTypeClass g_type_class; + + GType value_type; + + void (*finalize) (GParamSpec *pspec); + + /* GParam methods */ + void (*value_set_default) (GParamSpec *pspec, + GValue *value); + gboolean (*value_validate) (GParamSpec *pspec, + GValue *value); + gint (*values_cmp) (GParamSpec *pspec, + const GValue *value1, + const GValue *value2); + + gboolean (*value_is_valid) (GParamSpec *pspec, + const GValue *value); + + /*< private >*/ + gpointer dummy[3]; +}; +/** + * GParameter: + * @name: the parameter name + * @value: the parameter value + * + * The GParameter struct is an auxiliary structure used + * to hand parameter name/value pairs to g_object_newv(). + * + * Deprecated: 2.54: This type is not introspectable. + */ +struct _GParameter /* auxiliary structure for _setv() variants */ +{ + const gchar *name; + GValue value; +} GOBJECT_DEPRECATED_TYPE_IN_2_54; + + +/* --- prototypes --- */ +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_ref (GParamSpec *pspec); +GOBJECT_AVAILABLE_IN_ALL +void g_param_spec_unref (GParamSpec *pspec); +GOBJECT_AVAILABLE_IN_ALL +void g_param_spec_sink (GParamSpec *pspec); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_ref_sink (GParamSpec *pspec); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_param_spec_get_qdata (GParamSpec *pspec, + GQuark quark); +GOBJECT_AVAILABLE_IN_ALL +void g_param_spec_set_qdata (GParamSpec *pspec, + GQuark quark, + gpointer data); +GOBJECT_AVAILABLE_IN_ALL +void g_param_spec_set_qdata_full (GParamSpec *pspec, + GQuark quark, + gpointer data, + GDestroyNotify destroy); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_param_spec_steal_qdata (GParamSpec *pspec, + GQuark quark); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_get_redirect_target (GParamSpec *pspec); + +GOBJECT_AVAILABLE_IN_ALL +void g_param_value_set_default (GParamSpec *pspec, + GValue *value); +GOBJECT_AVAILABLE_IN_ALL +gboolean g_param_value_defaults (GParamSpec *pspec, + const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +gboolean g_param_value_validate (GParamSpec *pspec, + GValue *value); +GOBJECT_AVAILABLE_IN_2_74 +gboolean g_param_value_is_valid (GParamSpec *pspec, + const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +gboolean g_param_value_convert (GParamSpec *pspec, + const GValue *src_value, + GValue *dest_value, + gboolean strict_validation); +GOBJECT_AVAILABLE_IN_ALL +gint g_param_values_cmp (GParamSpec *pspec, + const GValue *value1, + const GValue *value2); +GOBJECT_AVAILABLE_IN_ALL +const gchar * g_param_spec_get_name (GParamSpec *pspec); +GOBJECT_AVAILABLE_IN_ALL +const gchar * g_param_spec_get_nick (GParamSpec *pspec); +GOBJECT_AVAILABLE_IN_ALL +const gchar * g_param_spec_get_blurb (GParamSpec *pspec); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_param (GValue *value, + GParamSpec *param); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_value_get_param (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_value_dup_param (const GValue *value); + + +GOBJECT_AVAILABLE_IN_ALL +void g_value_take_param (GValue *value, + GParamSpec *param); +GOBJECT_DEPRECATED_FOR(g_value_take_param) +void g_value_set_param_take_ownership (GValue *value, + GParamSpec *param); +GOBJECT_AVAILABLE_IN_2_36 +const GValue * g_param_spec_get_default_value (GParamSpec *pspec); + +GOBJECT_AVAILABLE_IN_2_46 +GQuark g_param_spec_get_name_quark (GParamSpec *pspec); + +/* --- convenience functions --- */ +typedef struct _GParamSpecTypeInfo GParamSpecTypeInfo; +/** + * GParamSpecTypeInfo: + * @instance_size: Size of the instance (object) structure. + * @n_preallocs: Prior to GLib 2.10, it specified the number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Since GLib 2.10, it is ignored, since instances are allocated with the [slice allocator][glib-Memory-Slices] now. + * @instance_init: Location of the instance initialization function (optional). + * @value_type: The #GType of values conforming to this #GParamSpec + * @finalize: The instance finalization function (optional). + * @value_set_default: Resets a @value to the default value for @pspec + * (recommended, the default is g_value_reset()), see + * g_param_value_set_default(). + * @value_validate: Ensures that the contents of @value comply with the + * specifications set out by @pspec (optional), see + * g_param_value_validate(). + * @values_cmp: Compares @value1 with @value2 according to @pspec + * (recommended, the default is memcmp()), see g_param_values_cmp(). + * + * This structure is used to provide the type system with the information + * required to initialize and destruct (finalize) a parameter's class and + * instances thereof. + * + * The initialized structure is passed to the g_param_type_register_static() + * The type system will perform a deep copy of this structure, so its memory + * does not need to be persistent across invocation of + * g_param_type_register_static(). + */ +struct _GParamSpecTypeInfo +{ + /* type system portion */ + guint16 instance_size; /* obligatory */ + guint16 n_preallocs; /* optional */ + void (*instance_init) (GParamSpec *pspec); /* optional */ + + /* class portion */ + GType value_type; /* obligatory */ + void (*finalize) (GParamSpec *pspec); /* optional */ + void (*value_set_default) (GParamSpec *pspec, /* recommended */ + GValue *value); + gboolean (*value_validate) (GParamSpec *pspec, /* optional */ + GValue *value); + gint (*values_cmp) (GParamSpec *pspec, /* recommended */ + const GValue *value1, + const GValue *value2); +}; +GOBJECT_AVAILABLE_IN_ALL +GType g_param_type_register_static (const gchar *name, + const GParamSpecTypeInfo *pspec_info); + +GOBJECT_AVAILABLE_IN_2_66 +gboolean g_param_spec_is_valid_name (const gchar *name); + +/* For registering builting types */ +GType _g_param_type_register_static_constant (const gchar *name, + const GParamSpecTypeInfo *pspec_info, + GType opt_type); + + +/* --- protected --- */ +GOBJECT_AVAILABLE_IN_ALL +gpointer g_param_spec_internal (GType param_type, + const gchar *name, + const gchar *nick, + const gchar *blurb, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpecPool* g_param_spec_pool_new (gboolean type_prefixing); +GOBJECT_AVAILABLE_IN_ALL +void g_param_spec_pool_insert (GParamSpecPool *pool, + GParamSpec *pspec, + GType owner_type); +GOBJECT_AVAILABLE_IN_ALL +void g_param_spec_pool_remove (GParamSpecPool *pool, + GParamSpec *pspec); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_pool_lookup (GParamSpecPool *pool, + const gchar *param_name, + GType owner_type, + gboolean walk_ancestors); +GOBJECT_AVAILABLE_IN_ALL +GList* g_param_spec_pool_list_owned (GParamSpecPool *pool, + GType owner_type); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec** g_param_spec_pool_list (GParamSpecPool *pool, + GType owner_type, + guint *n_pspecs_p); + + +/* contracts: + * + * gboolean value_validate (GParamSpec *pspec, + * GValue *value): + * modify value contents in the least destructive way, so + * that it complies with pspec's requirements (i.e. + * according to minimum/maximum ranges etc...). return + * whether modification was necessary. + * + * gint values_cmp (GParamSpec *pspec, + * const GValue *value1, + * const GValue *value2): + * return value1 - value2, i.e. (-1) if value1 < value2, + * (+1) if value1 > value2, and (0) otherwise (equality) + */ + +G_END_DECLS + +#endif /* __G_PARAM_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gparamspecs.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gparamspecs.h new file mode 100644 index 0000000..eaabc10 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gparamspecs.h @@ -0,0 +1,1151 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * Copyright (C) 1997-1999, 2000-2001 Tim Janik and Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * gparamspecs.h: GLib default param specs + */ +#ifndef __G_PARAMSPECS_H__ +#define __G_PARAMSPECS_H__ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include +#include + +G_BEGIN_DECLS + +/* --- type macros --- */ +/** + * G_TYPE_PARAM_CHAR: + * + * The #GType of #GParamSpecChar. + */ +#define G_TYPE_PARAM_CHAR (g_param_spec_types[0]) +/** + * G_IS_PARAM_SPEC_CHAR: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_CHAR. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_CHAR(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_CHAR)) +/** + * G_PARAM_SPEC_CHAR: + * @pspec: a valid #GParamSpec instance + * + * Cast a #GParamSpec instance into a #GParamSpecChar. + */ +#define G_PARAM_SPEC_CHAR(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_CHAR, GParamSpecChar)) + +/** + * G_TYPE_PARAM_UCHAR: + * + * The #GType of #GParamSpecUChar. + */ +#define G_TYPE_PARAM_UCHAR (g_param_spec_types[1]) +/** + * G_IS_PARAM_SPEC_UCHAR: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UCHAR. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_UCHAR(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UCHAR)) +/** + * G_PARAM_SPEC_UCHAR: + * @pspec: a valid #GParamSpec instance + * + * Cast a #GParamSpec instance into a #GParamSpecUChar. + */ +#define G_PARAM_SPEC_UCHAR(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UCHAR, GParamSpecUChar)) + +/** + * G_TYPE_PARAM_BOOLEAN: + * + * The #GType of #GParamSpecBoolean. + */ +#define G_TYPE_PARAM_BOOLEAN (g_param_spec_types[2]) +/** + * G_IS_PARAM_SPEC_BOOLEAN: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_BOOLEAN. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_BOOLEAN(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOOLEAN)) +/** + * G_PARAM_SPEC_BOOLEAN: + * @pspec: a valid #GParamSpec instance + * + * Cast a #GParamSpec instance into a #GParamSpecBoolean. + */ +#define G_PARAM_SPEC_BOOLEAN(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOOLEAN, GParamSpecBoolean)) + +/** + * G_TYPE_PARAM_INT: + * + * The #GType of #GParamSpecInt. + */ +#define G_TYPE_PARAM_INT (g_param_spec_types[3]) +/** + * G_IS_PARAM_SPEC_INT: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_INT. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_INT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT)) +/** + * G_PARAM_SPEC_INT: + * @pspec: a valid #GParamSpec instance + * + * Cast a #GParamSpec instance into a #GParamSpecInt. + */ +#define G_PARAM_SPEC_INT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT, GParamSpecInt)) + +/** + * G_TYPE_PARAM_UINT: + * + * The #GType of #GParamSpecUInt. + */ +#define G_TYPE_PARAM_UINT (g_param_spec_types[4]) +/** + * G_IS_PARAM_SPEC_UINT: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UINT. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_UINT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT)) +/** + * G_PARAM_SPEC_UINT: + * @pspec: a valid #GParamSpec instance + * + * Cast a #GParamSpec instance into a #GParamSpecUInt. + */ +#define G_PARAM_SPEC_UINT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT, GParamSpecUInt)) + +/** + * G_TYPE_PARAM_LONG: + * + * The #GType of #GParamSpecLong. + */ +#define G_TYPE_PARAM_LONG (g_param_spec_types[5]) +/** + * G_IS_PARAM_SPEC_LONG: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_LONG. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_LONG(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_LONG)) +/** + * G_PARAM_SPEC_LONG: + * @pspec: a valid #GParamSpec instance + * + * Cast a #GParamSpec instance into a #GParamSpecLong. + */ +#define G_PARAM_SPEC_LONG(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_LONG, GParamSpecLong)) + +/** + * G_TYPE_PARAM_ULONG: + * + * The #GType of #GParamSpecULong. + */ +#define G_TYPE_PARAM_ULONG (g_param_spec_types[6]) +/** + * G_IS_PARAM_SPEC_ULONG: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_ULONG. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_ULONG(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ULONG)) +/** + * G_PARAM_SPEC_ULONG: + * @pspec: a valid #GParamSpec instance + * + * Cast a #GParamSpec instance into a #GParamSpecULong. + */ +#define G_PARAM_SPEC_ULONG(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ULONG, GParamSpecULong)) + +/** + * G_TYPE_PARAM_INT64: + * + * The #GType of #GParamSpecInt64. + */ +#define G_TYPE_PARAM_INT64 (g_param_spec_types[7]) +/** + * G_IS_PARAM_SPEC_INT64: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_INT64. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_INT64(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT64)) +/** + * G_PARAM_SPEC_INT64: + * @pspec: a valid #GParamSpec instance + * + * Cast a #GParamSpec instance into a #GParamSpecInt64. + */ +#define G_PARAM_SPEC_INT64(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT64, GParamSpecInt64)) + +/** + * G_TYPE_PARAM_UINT64: + * + * The #GType of #GParamSpecUInt64. + */ +#define G_TYPE_PARAM_UINT64 (g_param_spec_types[8]) +/** + * G_IS_PARAM_SPEC_UINT64: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UINT64. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_UINT64(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT64)) +/** + * G_PARAM_SPEC_UINT64: + * @pspec: a valid #GParamSpec instance + * + * Cast a #GParamSpec instance into a #GParamSpecUInt64. + */ +#define G_PARAM_SPEC_UINT64(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT64, GParamSpecUInt64)) + +/** + * G_TYPE_PARAM_UNICHAR: + * + * The #GType of #GParamSpecUnichar. + */ +#define G_TYPE_PARAM_UNICHAR (g_param_spec_types[9]) +/** + * G_PARAM_SPEC_UNICHAR: + * @pspec: a valid #GParamSpec instance + * + * Cast a #GParamSpec instance into a #GParamSpecUnichar. + */ +#define G_PARAM_SPEC_UNICHAR(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UNICHAR, GParamSpecUnichar)) +/** + * G_IS_PARAM_SPEC_UNICHAR: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UNICHAR. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_UNICHAR(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UNICHAR)) + +/** + * G_TYPE_PARAM_ENUM: + * + * The #GType of #GParamSpecEnum. + */ +#define G_TYPE_PARAM_ENUM (g_param_spec_types[10]) +/** + * G_IS_PARAM_SPEC_ENUM: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_ENUM. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_ENUM(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ENUM)) +/** + * G_PARAM_SPEC_ENUM: + * @pspec: a valid #GParamSpec instance + * + * Cast a #GParamSpec instance into a #GParamSpecEnum. + */ +#define G_PARAM_SPEC_ENUM(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ENUM, GParamSpecEnum)) + +/** + * G_TYPE_PARAM_FLAGS: + * + * The #GType of #GParamSpecFlags. + */ +#define G_TYPE_PARAM_FLAGS (g_param_spec_types[11]) +/** + * G_IS_PARAM_SPEC_FLAGS: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_FLAGS. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_FLAGS(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLAGS)) +/** + * G_PARAM_SPEC_FLAGS: + * @pspec: a valid #GParamSpec instance + * + * Cast a #GParamSpec instance into a #GParamSpecFlags. + */ +#define G_PARAM_SPEC_FLAGS(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLAGS, GParamSpecFlags)) + +/** + * G_TYPE_PARAM_FLOAT: + * + * The #GType of #GParamSpecFloat. + */ +#define G_TYPE_PARAM_FLOAT (g_param_spec_types[12]) +/** + * G_IS_PARAM_SPEC_FLOAT: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_FLOAT. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_FLOAT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLOAT)) +/** + * G_PARAM_SPEC_FLOAT: + * @pspec: a valid #GParamSpec instance + * + * Cast a #GParamSpec instance into a #GParamSpecFloat. + */ +#define G_PARAM_SPEC_FLOAT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLOAT, GParamSpecFloat)) + +/** + * G_TYPE_PARAM_DOUBLE: + * + * The #GType of #GParamSpecDouble. + */ +#define G_TYPE_PARAM_DOUBLE (g_param_spec_types[13]) +/** + * G_IS_PARAM_SPEC_DOUBLE: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_DOUBLE. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_DOUBLE(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_DOUBLE)) +/** + * G_PARAM_SPEC_DOUBLE: + * @pspec: a valid #GParamSpec instance + * + * Cast a #GParamSpec instance into a #GParamSpecDouble. + */ +#define G_PARAM_SPEC_DOUBLE(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_DOUBLE, GParamSpecDouble)) + +/** + * G_TYPE_PARAM_STRING: + * + * The #GType of #GParamSpecString. + */ +#define G_TYPE_PARAM_STRING (g_param_spec_types[14]) +/** + * G_IS_PARAM_SPEC_STRING: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_STRING. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_STRING(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_STRING)) +/** + * G_PARAM_SPEC_STRING: + * @pspec: a valid #GParamSpec instance + * + * Casts a #GParamSpec instance into a #GParamSpecString. + */ +#define G_PARAM_SPEC_STRING(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_STRING, GParamSpecString)) + +/** + * G_TYPE_PARAM_PARAM: + * + * The #GType of #GParamSpecParam. + */ +#define G_TYPE_PARAM_PARAM (g_param_spec_types[15]) +/** + * G_IS_PARAM_SPEC_PARAM: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_PARAM. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_PARAM(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_PARAM)) +/** + * G_PARAM_SPEC_PARAM: + * @pspec: a valid #GParamSpec instance + * + * Casts a #GParamSpec instance into a #GParamSpecParam. + */ +#define G_PARAM_SPEC_PARAM(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_PARAM, GParamSpecParam)) + +/** + * G_TYPE_PARAM_BOXED: + * + * The #GType of #GParamSpecBoxed. + */ +#define G_TYPE_PARAM_BOXED (g_param_spec_types[16]) +/** + * G_IS_PARAM_SPEC_BOXED: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_BOXED. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_BOXED(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOXED)) +/** + * G_PARAM_SPEC_BOXED: + * @pspec: a valid #GParamSpec instance + * + * Cast a #GParamSpec instance into a #GParamSpecBoxed. + */ +#define G_PARAM_SPEC_BOXED(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOXED, GParamSpecBoxed)) + +/** + * G_TYPE_PARAM_POINTER: + * + * The #GType of #GParamSpecPointer. + */ +#define G_TYPE_PARAM_POINTER (g_param_spec_types[17]) +/** + * G_IS_PARAM_SPEC_POINTER: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_POINTER. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_POINTER(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_POINTER)) +/** + * G_PARAM_SPEC_POINTER: + * @pspec: a valid #GParamSpec instance + * + * Casts a #GParamSpec instance into a #GParamSpecPointer. + */ +#define G_PARAM_SPEC_POINTER(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_POINTER, GParamSpecPointer)) + +/** + * G_TYPE_PARAM_VALUE_ARRAY: + * + * The #GType of #GParamSpecValueArray. + * + * Deprecated: 2.32: Use #GArray instead of #GValueArray + */ +#define G_TYPE_PARAM_VALUE_ARRAY (g_param_spec_types[18]) GOBJECT_DEPRECATED_MACRO_IN_2_32 +/** + * G_IS_PARAM_SPEC_VALUE_ARRAY: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_VALUE_ARRAY. + * + * Returns: %TRUE on success. + * + * Deprecated: 2.32: Use #GArray instead of #GValueArray + */ +#define G_IS_PARAM_SPEC_VALUE_ARRAY(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_VALUE_ARRAY)) GOBJECT_DEPRECATED_MACRO_IN_2_32 +/** + * G_PARAM_SPEC_VALUE_ARRAY: + * @pspec: a valid #GParamSpec instance + * + * Cast a #GParamSpec instance into a #GParamSpecValueArray. + * + * Deprecated: 2.32: Use #GArray instead of #GValueArray + */ +#define G_PARAM_SPEC_VALUE_ARRAY(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_VALUE_ARRAY, GParamSpecValueArray)) GOBJECT_DEPRECATED_MACRO_IN_2_32 + +/** + * G_TYPE_PARAM_OBJECT: + * + * The #GType of #GParamSpecObject. + */ +#define G_TYPE_PARAM_OBJECT (g_param_spec_types[19]) +/** + * G_IS_PARAM_SPEC_OBJECT: + * @pspec: a valid #GParamSpec instance + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_OBJECT. + * + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_OBJECT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OBJECT)) +/** + * G_PARAM_SPEC_OBJECT: + * @pspec: a valid #GParamSpec instance + * + * Casts a #GParamSpec instance into a #GParamSpecObject. + */ +#define G_PARAM_SPEC_OBJECT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OBJECT, GParamSpecObject)) + +/** + * G_TYPE_PARAM_OVERRIDE: + * + * The #GType of #GParamSpecOverride. + * + * Since: 2.4 + */ +#define G_TYPE_PARAM_OVERRIDE (g_param_spec_types[20]) +/** + * G_IS_PARAM_SPEC_OVERRIDE: + * @pspec: a #GParamSpec + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_OVERRIDE. + * + * Since: 2.4 + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_OVERRIDE(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OVERRIDE)) +/** + * G_PARAM_SPEC_OVERRIDE: + * @pspec: a #GParamSpec + * + * Casts a #GParamSpec into a #GParamSpecOverride. + * + * Since: 2.4 + */ +#define G_PARAM_SPEC_OVERRIDE(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OVERRIDE, GParamSpecOverride)) + +/** + * G_TYPE_PARAM_GTYPE: + * + * The #GType of #GParamSpecGType. + * + * Since: 2.10 + */ +#define G_TYPE_PARAM_GTYPE (g_param_spec_types[21]) +/** + * G_IS_PARAM_SPEC_GTYPE: + * @pspec: a #GParamSpec + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_GTYPE. + * + * Since: 2.10 + * Returns: %TRUE on success. + */ +#define G_IS_PARAM_SPEC_GTYPE(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_GTYPE)) +/** + * G_PARAM_SPEC_GTYPE: + * @pspec: a #GParamSpec + * + * Casts a #GParamSpec into a #GParamSpecGType. + * + * Since: 2.10 + */ +#define G_PARAM_SPEC_GTYPE(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_GTYPE, GParamSpecGType)) + +/** + * G_TYPE_PARAM_VARIANT: + * + * The #GType of #GParamSpecVariant. + * + * Since: 2.26 + */ +#define G_TYPE_PARAM_VARIANT (g_param_spec_types[22]) +/** + * G_IS_PARAM_SPEC_VARIANT: + * @pspec: a #GParamSpec + * + * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_VARIANT. + * + * Returns: %TRUE on success + * + * Since: 2.26 + */ +#define G_IS_PARAM_SPEC_VARIANT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_VARIANT)) +/** + * G_PARAM_SPEC_VARIANT: + * @pspec: a #GParamSpec + * + * Casts a #GParamSpec into a #GParamSpecVariant. + * + * Since: 2.26 + */ +#define G_PARAM_SPEC_VARIANT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_VARIANT, GParamSpecVariant)) + +/* --- typedefs & structures --- */ +typedef struct _GParamSpecChar GParamSpecChar; +typedef struct _GParamSpecUChar GParamSpecUChar; +typedef struct _GParamSpecBoolean GParamSpecBoolean; +typedef struct _GParamSpecInt GParamSpecInt; +typedef struct _GParamSpecUInt GParamSpecUInt; +typedef struct _GParamSpecLong GParamSpecLong; +typedef struct _GParamSpecULong GParamSpecULong; +typedef struct _GParamSpecInt64 GParamSpecInt64; +typedef struct _GParamSpecUInt64 GParamSpecUInt64; +typedef struct _GParamSpecUnichar GParamSpecUnichar; +typedef struct _GParamSpecEnum GParamSpecEnum; +typedef struct _GParamSpecFlags GParamSpecFlags; +typedef struct _GParamSpecFloat GParamSpecFloat; +typedef struct _GParamSpecDouble GParamSpecDouble; +typedef struct _GParamSpecString GParamSpecString; +typedef struct _GParamSpecParam GParamSpecParam; +typedef struct _GParamSpecBoxed GParamSpecBoxed; +typedef struct _GParamSpecPointer GParamSpecPointer; +typedef struct _GParamSpecValueArray GParamSpecValueArray; +typedef struct _GParamSpecObject GParamSpecObject; +typedef struct _GParamSpecOverride GParamSpecOverride; +typedef struct _GParamSpecGType GParamSpecGType; +typedef struct _GParamSpecVariant GParamSpecVariant; + +/** + * GParamSpecChar: + * @parent_instance: private #GParamSpec portion + * @minimum: minimum value for the property specified + * @maximum: maximum value for the property specified + * @default_value: default value for the property specified + * + * A #GParamSpec derived structure that contains the meta data for character properties. + */ +struct _GParamSpecChar +{ + GParamSpec parent_instance; + + gint8 minimum; + gint8 maximum; + gint8 default_value; +}; +/** + * GParamSpecUChar: + * @parent_instance: private #GParamSpec portion + * @minimum: minimum value for the property specified + * @maximum: maximum value for the property specified + * @default_value: default value for the property specified + * + * A #GParamSpec derived structure that contains the meta data for unsigned character properties. + */ +struct _GParamSpecUChar +{ + GParamSpec parent_instance; + + guint8 minimum; + guint8 maximum; + guint8 default_value; +}; +/** + * GParamSpecBoolean: + * @parent_instance: private #GParamSpec portion + * @default_value: default value for the property specified + * + * A #GParamSpec derived structure that contains the meta data for boolean properties. + */ +struct _GParamSpecBoolean +{ + GParamSpec parent_instance; + + gboolean default_value; +}; +/** + * GParamSpecInt: + * @parent_instance: private #GParamSpec portion + * @minimum: minimum value for the property specified + * @maximum: maximum value for the property specified + * @default_value: default value for the property specified + * + * A #GParamSpec derived structure that contains the meta data for integer properties. + */ +struct _GParamSpecInt +{ + GParamSpec parent_instance; + + gint minimum; + gint maximum; + gint default_value; +}; +/** + * GParamSpecUInt: + * @parent_instance: private #GParamSpec portion + * @minimum: minimum value for the property specified + * @maximum: maximum value for the property specified + * @default_value: default value for the property specified + * + * A #GParamSpec derived structure that contains the meta data for unsigned integer properties. + */ +struct _GParamSpecUInt +{ + GParamSpec parent_instance; + + guint minimum; + guint maximum; + guint default_value; +}; +/** + * GParamSpecLong: + * @parent_instance: private #GParamSpec portion + * @minimum: minimum value for the property specified + * @maximum: maximum value for the property specified + * @default_value: default value for the property specified + * + * A #GParamSpec derived structure that contains the meta data for long integer properties. + */ +struct _GParamSpecLong +{ + GParamSpec parent_instance; + + glong minimum; + glong maximum; + glong default_value; +}; +/** + * GParamSpecULong: + * @parent_instance: private #GParamSpec portion + * @minimum: minimum value for the property specified + * @maximum: maximum value for the property specified + * @default_value: default value for the property specified + * + * A #GParamSpec derived structure that contains the meta data for unsigned long integer properties. + */ +struct _GParamSpecULong +{ + GParamSpec parent_instance; + + gulong minimum; + gulong maximum; + gulong default_value; +}; +/** + * GParamSpecInt64: + * @parent_instance: private #GParamSpec portion + * @minimum: minimum value for the property specified + * @maximum: maximum value for the property specified + * @default_value: default value for the property specified + * + * A #GParamSpec derived structure that contains the meta data for 64bit integer properties. + */ +struct _GParamSpecInt64 +{ + GParamSpec parent_instance; + + gint64 minimum; + gint64 maximum; + gint64 default_value; +}; +/** + * GParamSpecUInt64: + * @parent_instance: private #GParamSpec portion + * @minimum: minimum value for the property specified + * @maximum: maximum value for the property specified + * @default_value: default value for the property specified + * + * A #GParamSpec derived structure that contains the meta data for unsigned 64bit integer properties. + */ +struct _GParamSpecUInt64 +{ + GParamSpec parent_instance; + + guint64 minimum; + guint64 maximum; + guint64 default_value; +}; +/** + * GParamSpecUnichar: + * @parent_instance: private #GParamSpec portion + * @default_value: default value for the property specified + * + * A #GParamSpec derived structure that contains the meta data for unichar (unsigned integer) properties. + */ +struct _GParamSpecUnichar +{ + GParamSpec parent_instance; + + gunichar default_value; +}; +/** + * GParamSpecEnum: + * @parent_instance: private #GParamSpec portion + * @enum_class: the #GEnumClass for the enum + * @default_value: default value for the property specified + * + * A #GParamSpec derived structure that contains the meta data for enum + * properties. + */ +struct _GParamSpecEnum +{ + GParamSpec parent_instance; + + GEnumClass *enum_class; + gint default_value; +}; +/** + * GParamSpecFlags: + * @parent_instance: private #GParamSpec portion + * @flags_class: the #GFlagsClass for the flags + * @default_value: default value for the property specified + * + * A #GParamSpec derived structure that contains the meta data for flags + * properties. + */ +struct _GParamSpecFlags +{ + GParamSpec parent_instance; + + GFlagsClass *flags_class; + guint default_value; +}; +/** + * GParamSpecFloat: + * @parent_instance: private #GParamSpec portion + * @minimum: minimum value for the property specified + * @maximum: maximum value for the property specified + * @default_value: default value for the property specified + * @epsilon: values closer than @epsilon will be considered identical + * by g_param_values_cmp(); the default value is 1e-30. + * + * A #GParamSpec derived structure that contains the meta data for float properties. + */ +struct _GParamSpecFloat +{ + GParamSpec parent_instance; + + gfloat minimum; + gfloat maximum; + gfloat default_value; + gfloat epsilon; +}; +/** + * GParamSpecDouble: + * @parent_instance: private #GParamSpec portion + * @minimum: minimum value for the property specified + * @maximum: maximum value for the property specified + * @default_value: default value for the property specified + * @epsilon: values closer than @epsilon will be considered identical + * by g_param_values_cmp(); the default value is 1e-90. + * + * A #GParamSpec derived structure that contains the meta data for double properties. + */ +struct _GParamSpecDouble +{ + GParamSpec parent_instance; + + gdouble minimum; + gdouble maximum; + gdouble default_value; + gdouble epsilon; +}; +/** + * GParamSpecString: + * @parent_instance: private #GParamSpec portion + * @default_value: default value for the property specified + * @cset_first: a string containing the allowed values for the first byte + * @cset_nth: a string containing the allowed values for the subsequent bytes + * @substitutor: the replacement byte for bytes which don't match @cset_first or @cset_nth. + * @null_fold_if_empty: replace empty string by %NULL + * @ensure_non_null: replace %NULL strings by an empty string + * + * A #GParamSpec derived structure that contains the meta data for string + * properties. + */ +struct _GParamSpecString +{ + GParamSpec parent_instance; + + gchar *default_value; + gchar *cset_first; + gchar *cset_nth; + gchar substitutor; + guint null_fold_if_empty : 1; + guint ensure_non_null : 1; +}; +/** + * GParamSpecParam: + * @parent_instance: private #GParamSpec portion + * + * A #GParamSpec derived structure that contains the meta data for %G_TYPE_PARAM + * properties. + */ +struct _GParamSpecParam +{ + GParamSpec parent_instance; +}; +/** + * GParamSpecBoxed: + * @parent_instance: private #GParamSpec portion + * + * A #GParamSpec derived structure that contains the meta data for boxed properties. + */ +struct _GParamSpecBoxed +{ + GParamSpec parent_instance; +}; +/** + * GParamSpecPointer: + * @parent_instance: private #GParamSpec portion + * + * A #GParamSpec derived structure that contains the meta data for pointer properties. + */ +struct _GParamSpecPointer +{ + GParamSpec parent_instance; +}; +/** + * GParamSpecValueArray: + * @parent_instance: private #GParamSpec portion + * @element_spec: a #GParamSpec describing the elements contained in arrays of this property, may be %NULL + * @fixed_n_elements: if greater than 0, arrays of this property will always have this many elements + * + * A #GParamSpec derived structure that contains the meta data for #GValueArray properties. + */ +struct _GParamSpecValueArray +{ + GParamSpec parent_instance; + GParamSpec *element_spec; + guint fixed_n_elements; +}; +/** + * GParamSpecObject: + * @parent_instance: private #GParamSpec portion + * + * A #GParamSpec derived structure that contains the meta data for object properties. + */ +struct _GParamSpecObject +{ + GParamSpec parent_instance; +}; +/** + * GParamSpecOverride: + * + * A #GParamSpec derived structure that redirects operations to + * other types of #GParamSpec. + * + * All operations other than getting or setting the value are redirected, + * including accessing the nick and blurb, validating a value, and so + * forth. + * + * See g_param_spec_get_redirect_target() for retrieving the overridden + * property. #GParamSpecOverride is used in implementing + * g_object_class_override_property(), and will not be directly useful + * unless you are implementing a new base type similar to GObject. + * + * Since: 2.4 + */ +struct _GParamSpecOverride +{ + /*< private >*/ + GParamSpec parent_instance; + GParamSpec *overridden; +}; +/** + * GParamSpecGType: + * @parent_instance: private #GParamSpec portion + * @is_a_type: a #GType whose subtypes can occur as values + * + * A #GParamSpec derived structure that contains the meta data for #GType properties. + * + * Since: 2.10 + */ +struct _GParamSpecGType +{ + GParamSpec parent_instance; + GType is_a_type; +}; +/** + * GParamSpecVariant: + * @parent_instance: private #GParamSpec portion + * @type: a #GVariantType, or %NULL + * @default_value: a #GVariant, or %NULL + * + * A #GParamSpec derived structure that contains the meta data for #GVariant properties. + * + * When comparing values with g_param_values_cmp(), scalar values with the same + * type will be compared with g_variant_compare(). Other non-%NULL variants will + * be checked for equality with g_variant_equal(), and their sort order is + * otherwise undefined. %NULL is ordered before non-%NULL variants. Two %NULL + * values compare equal. + * + * Since: 2.26 + */ +struct _GParamSpecVariant +{ + GParamSpec parent_instance; + GVariantType *type; + GVariant *default_value; + + /*< private >*/ + gpointer padding[4]; +}; + +/* --- GParamSpec prototypes --- */ +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_char (const gchar *name, + const gchar *nick, + const gchar *blurb, + gint8 minimum, + gint8 maximum, + gint8 default_value, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_uchar (const gchar *name, + const gchar *nick, + const gchar *blurb, + guint8 minimum, + guint8 maximum, + guint8 default_value, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_boolean (const gchar *name, + const gchar *nick, + const gchar *blurb, + gboolean default_value, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_int (const gchar *name, + const gchar *nick, + const gchar *blurb, + gint minimum, + gint maximum, + gint default_value, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_uint (const gchar *name, + const gchar *nick, + const gchar *blurb, + guint minimum, + guint maximum, + guint default_value, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_long (const gchar *name, + const gchar *nick, + const gchar *blurb, + glong minimum, + glong maximum, + glong default_value, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_ulong (const gchar *name, + const gchar *nick, + const gchar *blurb, + gulong minimum, + gulong maximum, + gulong default_value, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_int64 (const gchar *name, + const gchar *nick, + const gchar *blurb, + gint64 minimum, + gint64 maximum, + gint64 default_value, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_uint64 (const gchar *name, + const gchar *nick, + const gchar *blurb, + guint64 minimum, + guint64 maximum, + guint64 default_value, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_unichar (const gchar *name, + const gchar *nick, + const gchar *blurb, + gunichar default_value, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_enum (const gchar *name, + const gchar *nick, + const gchar *blurb, + GType enum_type, + gint default_value, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_flags (const gchar *name, + const gchar *nick, + const gchar *blurb, + GType flags_type, + guint default_value, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_float (const gchar *name, + const gchar *nick, + const gchar *blurb, + gfloat minimum, + gfloat maximum, + gfloat default_value, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_double (const gchar *name, + const gchar *nick, + const gchar *blurb, + gdouble minimum, + gdouble maximum, + gdouble default_value, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_string (const gchar *name, + const gchar *nick, + const gchar *blurb, + const gchar *default_value, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_param (const gchar *name, + const gchar *nick, + const gchar *blurb, + GType param_type, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_boxed (const gchar *name, + const gchar *nick, + const gchar *blurb, + GType boxed_type, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_pointer (const gchar *name, + const gchar *nick, + const gchar *blurb, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_value_array (const gchar *name, + const gchar *nick, + const gchar *blurb, + GParamSpec *element_spec, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_object (const gchar *name, + const gchar *nick, + const gchar *blurb, + GType object_type, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_override (const gchar *name, + GParamSpec *overridden); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_gtype (const gchar *name, + const gchar *nick, + const gchar *blurb, + GType is_a_type, + GParamFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GParamSpec* g_param_spec_variant (const gchar *name, + const gchar *nick, + const gchar *blurb, + const GVariantType *type, + GVariant *default_value, + GParamFlags flags); + +GOBJECT_VAR GType *g_param_spec_types; + +G_END_DECLS + +#endif /* __G_PARAMSPECS_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gsignal.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gsignal.h new file mode 100644 index 0000000..312055b --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gsignal.h @@ -0,0 +1,647 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * Copyright (C) 2000-2001 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ +#ifndef __G_SIGNAL_H__ +#define __G_SIGNAL_H__ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include +#include + +G_BEGIN_DECLS + +/* --- typedefs --- */ +typedef struct _GSignalQuery GSignalQuery; +typedef struct _GSignalInvocationHint GSignalInvocationHint; +/** + * GSignalCMarshaller: + * + * This is the signature of marshaller functions, required to marshall + * arrays of parameter values to signal emissions into C language callback + * invocations. + * + * It is merely an alias to #GClosureMarshal since the #GClosure mechanism + * takes over responsibility of actual function invocation for the signal + * system. + */ +typedef GClosureMarshal GSignalCMarshaller; +/** + * GSignalCVaMarshaller: + * + * This is the signature of va_list marshaller functions, an optional + * marshaller that can be used in some situations to avoid + * marshalling the signal argument into GValues. + */ +typedef GVaClosureMarshal GSignalCVaMarshaller; +/** + * GSignalEmissionHook: + * @ihint: Signal invocation hint, see #GSignalInvocationHint. + * @n_param_values: the number of parameters to the function, including + * the instance on which the signal was emitted. + * @param_values: (array length=n_param_values): the instance on which + * the signal was emitted, followed by the parameters of the emission. + * @data: user data associated with the hook. + * + * A simple function pointer to get invoked when the signal is emitted. + * + * Emission hooks allow you to tie a hook to the signal type, so that it will + * trap all emissions of that signal, from any object. + * + * You may not attach these to signals created with the %G_SIGNAL_NO_HOOKS flag. + * + * Returns: whether it wants to stay connected. If it returns %FALSE, the signal + * hook is disconnected (and destroyed). + */ +typedef gboolean (*GSignalEmissionHook) (GSignalInvocationHint *ihint, + guint n_param_values, + const GValue *param_values, + gpointer data); +/** + * GSignalAccumulator: + * @ihint: Signal invocation hint, see #GSignalInvocationHint. + * @return_accu: Accumulator to collect callback return values in, this + * is the return value of the current signal emission. + * @handler_return: A #GValue holding the return value of the signal handler. + * @data: Callback data that was specified when creating the signal. + * + * The signal accumulator is a special callback function that can be used + * to collect return values of the various callbacks that are called + * during a signal emission. + * + * The signal accumulator is specified at signal creation time, if it is + * left %NULL, no accumulation of callback return values is performed. + * The return value of signal emissions is then the value returned by the + * last callback. + * + * Returns: The accumulator function returns whether the signal emission + * should be aborted. Returning %TRUE will continue with + * the signal emission. Returning %FALSE will abort the current emission. + * Since 2.62, returning %FALSE will skip to the CLEANUP stage. In this case, + * emission will occur as normal in the CLEANUP stage and the handler's + * return value will be accumulated. + */ +typedef gboolean (*GSignalAccumulator) (GSignalInvocationHint *ihint, + GValue *return_accu, + const GValue *handler_return, + gpointer data); + + +/* --- run, match and connect types --- */ +/** + * GSignalFlags: + * @G_SIGNAL_RUN_FIRST: Invoke the object method handler in the first emission stage. + * @G_SIGNAL_RUN_LAST: Invoke the object method handler in the third emission stage. + * @G_SIGNAL_RUN_CLEANUP: Invoke the object method handler in the last emission stage. + * @G_SIGNAL_NO_RECURSE: Signals being emitted for an object while currently being in + * emission for this very object will not be emitted recursively, + * but instead cause the first emission to be restarted. + * @G_SIGNAL_DETAILED: This signal supports "::detail" appendices to the signal name + * upon handler connections and emissions. + * @G_SIGNAL_ACTION: Action signals are signals that may freely be emitted on alive + * objects from user code via g_signal_emit() and friends, without + * the need of being embedded into extra code that performs pre or + * post emission adjustments on the object. They can also be thought + * of as object methods which can be called generically by + * third-party code. + * @G_SIGNAL_NO_HOOKS: No emissions hooks are supported for this signal. + * @G_SIGNAL_MUST_COLLECT: Varargs signal emission will always collect the + * arguments, even if there are no signal handlers connected. Since 2.30. + * @G_SIGNAL_DEPRECATED: The signal is deprecated and will be removed + * in a future version. A warning will be generated if it is connected while + * running with G_ENABLE_DIAGNOSTIC=1. Since 2.32. + * @G_SIGNAL_ACCUMULATOR_FIRST_RUN: Only used in #GSignalAccumulator accumulator + * functions for the #GSignalInvocationHint::run_type field to mark the first + * call to the accumulator function for a signal emission. Since 2.68. + * + * The signal flags are used to specify a signal's behaviour. + */ +typedef enum +{ + G_SIGNAL_RUN_FIRST = 1 << 0, + G_SIGNAL_RUN_LAST = 1 << 1, + G_SIGNAL_RUN_CLEANUP = 1 << 2, + G_SIGNAL_NO_RECURSE = 1 << 3, + G_SIGNAL_DETAILED = 1 << 4, + G_SIGNAL_ACTION = 1 << 5, + G_SIGNAL_NO_HOOKS = 1 << 6, + G_SIGNAL_MUST_COLLECT = 1 << 7, + G_SIGNAL_DEPRECATED = 1 << 8, + /* normal signal flags until 1 << 16 */ + G_SIGNAL_ACCUMULATOR_FIRST_RUN = 1 << 17, +} GSignalFlags; +/** + * G_SIGNAL_FLAGS_MASK: + * + * A mask for all #GSignalFlags bits. + */ +#define G_SIGNAL_FLAGS_MASK 0x1ff +/** + * GConnectFlags: + * @G_CONNECT_DEFAULT: Default behaviour (no special flags). Since: 2.74 + * @G_CONNECT_AFTER: If set, the handler should be called after the + * default handler of the signal. Normally, the handler is called before + * the default handler. + * @G_CONNECT_SWAPPED: If set, the instance and data should be swapped when + * calling the handler; see g_signal_connect_swapped() for an example. + * + * The connection flags are used to specify the behaviour of a signal's + * connection. + */ +typedef enum +{ + G_CONNECT_DEFAULT GOBJECT_AVAILABLE_ENUMERATOR_IN_2_74 = 0, + G_CONNECT_AFTER = 1 << 0, + G_CONNECT_SWAPPED = 1 << 1 +} GConnectFlags; +/** + * GSignalMatchType: + * @G_SIGNAL_MATCH_ID: The signal id must be equal. + * @G_SIGNAL_MATCH_DETAIL: The signal detail must be equal. + * @G_SIGNAL_MATCH_CLOSURE: The closure must be the same. + * @G_SIGNAL_MATCH_FUNC: The C closure callback must be the same. + * @G_SIGNAL_MATCH_DATA: The closure data must be the same. + * @G_SIGNAL_MATCH_UNBLOCKED: Only unblocked signals may be matched. + * + * The match types specify what g_signal_handlers_block_matched(), + * g_signal_handlers_unblock_matched() and g_signal_handlers_disconnect_matched() + * match signals by. + */ +typedef enum +{ + G_SIGNAL_MATCH_ID = 1 << 0, + G_SIGNAL_MATCH_DETAIL = 1 << 1, + G_SIGNAL_MATCH_CLOSURE = 1 << 2, + G_SIGNAL_MATCH_FUNC = 1 << 3, + G_SIGNAL_MATCH_DATA = 1 << 4, + G_SIGNAL_MATCH_UNBLOCKED = 1 << 5 +} GSignalMatchType; +/** + * G_SIGNAL_MATCH_MASK: + * + * A mask for all #GSignalMatchType bits. + */ +#define G_SIGNAL_MATCH_MASK 0x3f +/** + * G_SIGNAL_TYPE_STATIC_SCOPE: + * + * This macro flags signal argument types for which the signal system may + * assume that instances thereof remain persistent across all signal emissions + * they are used in. This is only useful for non ref-counted, value-copy types. + * + * To flag a signal argument in this way, add `| G_SIGNAL_TYPE_STATIC_SCOPE` + * to the corresponding argument of g_signal_new(). + * |[ + * g_signal_new ("size_request", + * G_TYPE_FROM_CLASS (gobject_class), + * G_SIGNAL_RUN_FIRST, + * G_STRUCT_OFFSET (GtkWidgetClass, size_request), + * NULL, NULL, + * _gtk_marshal_VOID__BOXED, + * G_TYPE_NONE, 1, + * GTK_TYPE_REQUISITION | G_SIGNAL_TYPE_STATIC_SCOPE); + * ]| + */ +#define G_SIGNAL_TYPE_STATIC_SCOPE (G_TYPE_FLAG_RESERVED_ID_BIT) + + +/* --- signal information --- */ +/** + * GSignalInvocationHint: + * @signal_id: The signal id of the signal invoking the callback + * @detail: The detail passed on for this emission + * @run_type: The stage the signal emission is currently in, this + * field will contain one of %G_SIGNAL_RUN_FIRST, + * %G_SIGNAL_RUN_LAST or %G_SIGNAL_RUN_CLEANUP and %G_SIGNAL_ACCUMULATOR_FIRST_RUN. + * %G_SIGNAL_ACCUMULATOR_FIRST_RUN is only set for the first run of the accumulator + * function for a signal emission. + * + * The #GSignalInvocationHint structure is used to pass on additional information + * to callbacks during a signal emission. + */ +struct _GSignalInvocationHint +{ + guint signal_id; + GQuark detail; + GSignalFlags run_type; +}; +/** + * GSignalQuery: + * @signal_id: The signal id of the signal being queried, or 0 if the + * signal to be queried was unknown. + * @signal_name: The signal name. + * @itype: The interface/instance type that this signal can be emitted for. + * @signal_flags: The signal flags as passed in to g_signal_new(). + * @return_type: The return type for user callbacks. + * @n_params: The number of parameters that user callbacks take. + * @param_types: (array length=n_params): The individual parameter types for + * user callbacks, note that the effective callback signature is: + * |[ + * @return_type callback (#gpointer data1, + * [param_types param_names,] + * gpointer data2); + * ]| + * + * A structure holding in-depth information for a specific signal. + * + * See also: g_signal_query() + */ +struct _GSignalQuery +{ + guint signal_id; + const gchar *signal_name; + GType itype; + GSignalFlags signal_flags; + GType return_type; /* mangled with G_SIGNAL_TYPE_STATIC_SCOPE flag */ + guint n_params; + const GType *param_types; /* mangled with G_SIGNAL_TYPE_STATIC_SCOPE flag */ +}; + + +/* --- signals --- */ +GOBJECT_AVAILABLE_IN_ALL +guint g_signal_newv (const gchar *signal_name, + GType itype, + GSignalFlags signal_flags, + GClosure *class_closure, + GSignalAccumulator accumulator, + gpointer accu_data, + GSignalCMarshaller c_marshaller, + GType return_type, + guint n_params, + GType *param_types); +GOBJECT_AVAILABLE_IN_ALL +guint g_signal_new_valist (const gchar *signal_name, + GType itype, + GSignalFlags signal_flags, + GClosure *class_closure, + GSignalAccumulator accumulator, + gpointer accu_data, + GSignalCMarshaller c_marshaller, + GType return_type, + guint n_params, + va_list args); +GOBJECT_AVAILABLE_IN_ALL +guint g_signal_new (const gchar *signal_name, + GType itype, + GSignalFlags signal_flags, + guint class_offset, + GSignalAccumulator accumulator, + gpointer accu_data, + GSignalCMarshaller c_marshaller, + GType return_type, + guint n_params, + ...); +GOBJECT_AVAILABLE_IN_ALL +guint g_signal_new_class_handler (const gchar *signal_name, + GType itype, + GSignalFlags signal_flags, + GCallback class_handler, + GSignalAccumulator accumulator, + gpointer accu_data, + GSignalCMarshaller c_marshaller, + GType return_type, + guint n_params, + ...); +GOBJECT_AVAILABLE_IN_ALL +void g_signal_set_va_marshaller (guint signal_id, + GType instance_type, + GSignalCVaMarshaller va_marshaller); + +GOBJECT_AVAILABLE_IN_ALL +void g_signal_emitv (const GValue *instance_and_params, + guint signal_id, + GQuark detail, + GValue *return_value); +GOBJECT_AVAILABLE_IN_ALL +void g_signal_emit_valist (gpointer instance, + guint signal_id, + GQuark detail, + va_list var_args); +GOBJECT_AVAILABLE_IN_ALL +void g_signal_emit (gpointer instance, + guint signal_id, + GQuark detail, + ...); +GOBJECT_AVAILABLE_IN_ALL +void g_signal_emit_by_name (gpointer instance, + const gchar *detailed_signal, + ...); +GOBJECT_AVAILABLE_IN_ALL +guint g_signal_lookup (const gchar *name, + GType itype); +GOBJECT_AVAILABLE_IN_ALL +const gchar * g_signal_name (guint signal_id); +GOBJECT_AVAILABLE_IN_ALL +void g_signal_query (guint signal_id, + GSignalQuery *query); +GOBJECT_AVAILABLE_IN_ALL +guint* g_signal_list_ids (GType itype, + guint *n_ids); +GOBJECT_AVAILABLE_IN_2_66 +gboolean g_signal_is_valid_name (const gchar *name); +GOBJECT_AVAILABLE_IN_ALL +gboolean g_signal_parse_name (const gchar *detailed_signal, + GType itype, + guint *signal_id_p, + GQuark *detail_p, + gboolean force_detail_quark); +GOBJECT_AVAILABLE_IN_ALL +GSignalInvocationHint* g_signal_get_invocation_hint (gpointer instance); + + +/* --- signal emissions --- */ +GOBJECT_AVAILABLE_IN_ALL +void g_signal_stop_emission (gpointer instance, + guint signal_id, + GQuark detail); +GOBJECT_AVAILABLE_IN_ALL +void g_signal_stop_emission_by_name (gpointer instance, + const gchar *detailed_signal); +GOBJECT_AVAILABLE_IN_ALL +gulong g_signal_add_emission_hook (guint signal_id, + GQuark detail, + GSignalEmissionHook hook_func, + gpointer hook_data, + GDestroyNotify data_destroy); +GOBJECT_AVAILABLE_IN_ALL +void g_signal_remove_emission_hook (guint signal_id, + gulong hook_id); + + +/* --- signal handlers --- */ +GOBJECT_AVAILABLE_IN_ALL +gboolean g_signal_has_handler_pending (gpointer instance, + guint signal_id, + GQuark detail, + gboolean may_be_blocked); +GOBJECT_AVAILABLE_IN_ALL +gulong g_signal_connect_closure_by_id (gpointer instance, + guint signal_id, + GQuark detail, + GClosure *closure, + gboolean after); +GOBJECT_AVAILABLE_IN_ALL +gulong g_signal_connect_closure (gpointer instance, + const gchar *detailed_signal, + GClosure *closure, + gboolean after); +GOBJECT_AVAILABLE_IN_ALL +gulong g_signal_connect_data (gpointer instance, + const gchar *detailed_signal, + GCallback c_handler, + gpointer data, + GClosureNotify destroy_data, + GConnectFlags connect_flags); +GOBJECT_AVAILABLE_IN_ALL +void g_signal_handler_block (gpointer instance, + gulong handler_id); +GOBJECT_AVAILABLE_IN_ALL +void g_signal_handler_unblock (gpointer instance, + gulong handler_id); +GOBJECT_AVAILABLE_IN_ALL +void g_signal_handler_disconnect (gpointer instance, + gulong handler_id); +GOBJECT_AVAILABLE_IN_ALL +gboolean g_signal_handler_is_connected (gpointer instance, + gulong handler_id); +GOBJECT_AVAILABLE_IN_ALL +gulong g_signal_handler_find (gpointer instance, + GSignalMatchType mask, + guint signal_id, + GQuark detail, + GClosure *closure, + gpointer func, + gpointer data); +GOBJECT_AVAILABLE_IN_ALL +guint g_signal_handlers_block_matched (gpointer instance, + GSignalMatchType mask, + guint signal_id, + GQuark detail, + GClosure *closure, + gpointer func, + gpointer data); +GOBJECT_AVAILABLE_IN_ALL +guint g_signal_handlers_unblock_matched (gpointer instance, + GSignalMatchType mask, + guint signal_id, + GQuark detail, + GClosure *closure, + gpointer func, + gpointer data); +GOBJECT_AVAILABLE_IN_ALL +guint g_signal_handlers_disconnect_matched (gpointer instance, + GSignalMatchType mask, + guint signal_id, + GQuark detail, + GClosure *closure, + gpointer func, + gpointer data); + +GOBJECT_AVAILABLE_IN_2_62 +void g_clear_signal_handler (gulong *handler_id_ptr, + gpointer instance); + +#define g_clear_signal_handler(handler_id_ptr, instance) \ + G_STMT_START { \ + gpointer const _instance = (instance); \ + gulong *const _handler_id_ptr = (handler_id_ptr); \ + const gulong _handler_id = *_handler_id_ptr; \ + \ + if (_handler_id > 0) \ + { \ + *_handler_id_ptr = 0; \ + g_signal_handler_disconnect (_instance, _handler_id); \ + } \ + } G_STMT_END \ + GOBJECT_AVAILABLE_MACRO_IN_2_62 + +/* --- overriding and chaining --- */ +GOBJECT_AVAILABLE_IN_ALL +void g_signal_override_class_closure (guint signal_id, + GType instance_type, + GClosure *class_closure); +GOBJECT_AVAILABLE_IN_ALL +void g_signal_override_class_handler (const gchar *signal_name, + GType instance_type, + GCallback class_handler); +GOBJECT_AVAILABLE_IN_ALL +void g_signal_chain_from_overridden (const GValue *instance_and_params, + GValue *return_value); +GOBJECT_AVAILABLE_IN_ALL +void g_signal_chain_from_overridden_handler (gpointer instance, + ...); + + +/* --- convenience --- */ +/** + * g_signal_connect: + * @instance: the instance to connect to. + * @detailed_signal: a string of the form "signal-name::detail". + * @c_handler: the #GCallback to connect. + * @data: data to pass to @c_handler calls. + * + * Connects a #GCallback function to a signal for a particular object. + * + * The handler will be called synchronously, before the default handler of the signal. g_signal_emit() will not return control until all handlers are called. + * + * See [memory management of signal handlers][signal-memory-management] for + * details on how to handle the return value and memory management of @data. + * + * Returns: the handler ID, of type #gulong (always greater than 0 for successful connections) + */ +/* Intentionally not using G_CONNECT_DEFAULT here to avoid deprecation + * warnings with older GLIB_VERSION_MAX_ALLOWED */ +#define g_signal_connect(instance, detailed_signal, c_handler, data) \ + g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0) +/** + * g_signal_connect_after: + * @instance: the instance to connect to. + * @detailed_signal: a string of the form "signal-name::detail". + * @c_handler: the #GCallback to connect. + * @data: data to pass to @c_handler calls. + * + * Connects a #GCallback function to a signal for a particular object. + * + * The handler will be called synchronously, after the default handler of the signal. + * + * Returns: the handler ID, of type #gulong (always greater than 0 for successful connections) + */ +#define g_signal_connect_after(instance, detailed_signal, c_handler, data) \ + g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, G_CONNECT_AFTER) +/** + * g_signal_connect_swapped: + * @instance: the instance to connect to. + * @detailed_signal: a string of the form "signal-name::detail". + * @c_handler: the #GCallback to connect. + * @data: data to pass to @c_handler calls. + * + * Connects a #GCallback function to a signal for a particular object. + * + * The instance on which the signal is emitted and @data will be swapped when + * calling the handler. This is useful when calling pre-existing functions to + * operate purely on the @data, rather than the @instance: swapping the + * parameters avoids the need to write a wrapper function. + * + * For example, this allows the shorter code: + * |[ + * g_signal_connect_swapped (button, "clicked", + * (GCallback) gtk_widget_hide, other_widget); + * ]| + * + * Rather than the cumbersome: + * |[ + * static void + * button_clicked_cb (GtkButton *button, GtkWidget *other_widget) + * { + * gtk_widget_hide (other_widget); + * } + * + * ... + * + * g_signal_connect (button, "clicked", + * (GCallback) button_clicked_cb, other_widget); + * ]| + * + * Returns: the handler ID, of type #gulong (always greater than 0 for successful connections) + */ +#define g_signal_connect_swapped(instance, detailed_signal, c_handler, data) \ + g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, G_CONNECT_SWAPPED) +/** + * g_signal_handlers_disconnect_by_func: + * @instance: The instance to remove handlers from. + * @func: The C closure callback of the handlers (useless for non-C closures). + * @data: The closure data of the handlers' closures. + * + * Disconnects all handlers on an instance that match @func and @data. + * + * Returns: The number of handlers that matched. + */ +#define g_signal_handlers_disconnect_by_func(instance, func, data) \ + g_signal_handlers_disconnect_matched ((instance), \ + (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), \ + 0, 0, NULL, (func), (data)) + +/** + * g_signal_handlers_disconnect_by_data: + * @instance: The instance to remove handlers from + * @data: the closure data of the handlers' closures + * + * Disconnects all handlers on an instance that match @data. + * + * Returns: The number of handlers that matched. + * + * Since: 2.32 + */ +#define g_signal_handlers_disconnect_by_data(instance, data) \ + g_signal_handlers_disconnect_matched ((instance), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, (data)) + +/** + * g_signal_handlers_block_by_func: + * @instance: The instance to block handlers from. + * @func: The C closure callback of the handlers (useless for non-C closures). + * @data: The closure data of the handlers' closures. + * + * Blocks all handlers on an instance that match @func and @data. + * + * Returns: The number of handlers that matched. + */ +#define g_signal_handlers_block_by_func(instance, func, data) \ + g_signal_handlers_block_matched ((instance), \ + (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), \ + 0, 0, NULL, (func), (data)) +/** + * g_signal_handlers_unblock_by_func: + * @instance: The instance to unblock handlers from. + * @func: The C closure callback of the handlers (useless for non-C closures). + * @data: The closure data of the handlers' closures. + * + * Unblocks all handlers on an instance that match @func and @data. + * + * Returns: The number of handlers that matched. + */ +#define g_signal_handlers_unblock_by_func(instance, func, data) \ + g_signal_handlers_unblock_matched ((instance), \ + (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), \ + 0, 0, NULL, (func), (data)) + + +GOBJECT_AVAILABLE_IN_ALL +gboolean g_signal_accumulator_true_handled (GSignalInvocationHint *ihint, + GValue *return_accu, + const GValue *handler_return, + gpointer dummy); + +GOBJECT_AVAILABLE_IN_ALL +gboolean g_signal_accumulator_first_wins (GSignalInvocationHint *ihint, + GValue *return_accu, + const GValue *handler_return, + gpointer dummy); + +/*< private >*/ +GOBJECT_AVAILABLE_IN_ALL +void g_signal_handlers_destroy (gpointer instance); +void _g_signals_destroy (GType itype); + +G_END_DECLS + +#endif /* __G_SIGNAL_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gsignalgroup.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gsignalgroup.h new file mode 100644 index 0000000..6aa151c --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gsignalgroup.h @@ -0,0 +1,98 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * + * Copyright (C) 2015-2022 Christian Hergert + * Copyright (C) 2015 Garrett Regier + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * SPDX-License-Identifier: LGPL-2.1-or-later + */ + +#ifndef __G_SIGNAL_GROUP_H__ +#define __G_SIGNAL_GROUP_H__ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include +#include + +G_BEGIN_DECLS + +#define G_SIGNAL_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_SIGNAL_GROUP, GSignalGroup)) +#define G_IS_SIGNAL_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_SIGNAL_GROUP)) +#define G_TYPE_SIGNAL_GROUP (g_signal_group_get_type()) + +/** + * GSignalGroup: + * + * #GSignalGroup is an opaque structure whose members + * cannot be accessed directly. + * + * Since: 2.72 + */ +typedef struct _GSignalGroup GSignalGroup; + +GOBJECT_AVAILABLE_IN_2_72 +GType g_signal_group_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_2_72 +GSignalGroup *g_signal_group_new (GType target_type); +GOBJECT_AVAILABLE_IN_2_72 +void g_signal_group_set_target (GSignalGroup *self, + gpointer target); +GOBJECT_AVAILABLE_IN_2_72 +gpointer g_signal_group_dup_target (GSignalGroup *self); +GOBJECT_AVAILABLE_IN_2_72 +void g_signal_group_block (GSignalGroup *self); +GOBJECT_AVAILABLE_IN_2_72 +void g_signal_group_unblock (GSignalGroup *self); +GOBJECT_AVAILABLE_IN_2_74 +void g_signal_group_connect_closure (GSignalGroup *self, + const gchar *detailed_signal, + GClosure *closure, + gboolean after); +GOBJECT_AVAILABLE_IN_2_72 +void g_signal_group_connect_object (GSignalGroup *self, + const gchar *detailed_signal, + GCallback c_handler, + gpointer object, + GConnectFlags flags); +GOBJECT_AVAILABLE_IN_2_72 +void g_signal_group_connect_data (GSignalGroup *self, + const gchar *detailed_signal, + GCallback c_handler, + gpointer data, + GClosureNotify notify, + GConnectFlags flags); +GOBJECT_AVAILABLE_IN_2_72 +void g_signal_group_connect (GSignalGroup *self, + const gchar *detailed_signal, + GCallback c_handler, + gpointer data); +GOBJECT_AVAILABLE_IN_2_72 +void g_signal_group_connect_after (GSignalGroup *self, + const gchar *detailed_signal, + GCallback c_handler, + gpointer data); +GOBJECT_AVAILABLE_IN_2_72 +void g_signal_group_connect_swapped (GSignalGroup *self, + const gchar *detailed_signal, + GCallback c_handler, + gpointer data); + +G_END_DECLS + +#endif /* __G_SIGNAL_GROUP_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gsourceclosure.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gsourceclosure.h new file mode 100644 index 0000000..d609165 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gsourceclosure.h @@ -0,0 +1,40 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * Copyright (C) 2001 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ +#ifndef __G_SOURCECLOSURE_H__ +#define __G_SOURCECLOSURE_H__ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +GOBJECT_AVAILABLE_IN_ALL +void g_source_set_closure (GSource *source, + GClosure *closure); + +GOBJECT_AVAILABLE_IN_ALL +void g_source_set_dummy_callback (GSource *source); + +G_END_DECLS + +#endif /* __G_SOURCECLOSURE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gtype.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gtype.h new file mode 100644 index 0000000..b02121a --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gtype.h @@ -0,0 +1,2703 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * Copyright (C) 1998-1999, 2000-2001 Tim Janik and Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ +#ifndef __G_TYPE_H__ +#define __G_TYPE_H__ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +/* Basic Type Macros + */ +/** + * G_TYPE_FUNDAMENTAL: + * @type: A #GType value. + * + * The fundamental type which is the ancestor of @type. + * + * Fundamental types are types that serve as ultimate bases for the derived types, + * thus they are the roots of distinct inheritance hierarchies. + */ +#define G_TYPE_FUNDAMENTAL(type) (g_type_fundamental (type)) +/** + * G_TYPE_FUNDAMENTAL_SHIFT: + * + * Shift value used in converting numbers to type IDs. + */ +#define G_TYPE_FUNDAMENTAL_SHIFT (2) +/** + * G_TYPE_FUNDAMENTAL_MAX: (value 1020) + * + * An integer constant that represents the number of identifiers reserved + * for types that are assigned at compile-time. + */ +#define G_TYPE_FUNDAMENTAL_MAX (255 << G_TYPE_FUNDAMENTAL_SHIFT) + +/* Constant fundamental types, + */ +/** + * G_TYPE_INVALID: + * + * An invalid #GType used as error return value in some functions which return + * a #GType. + */ +#define G_TYPE_INVALID G_TYPE_MAKE_FUNDAMENTAL (0) +/** + * G_TYPE_NONE: + * + * A fundamental type which is used as a replacement for the C + * void return type. + */ +#define G_TYPE_NONE G_TYPE_MAKE_FUNDAMENTAL (1) +/** + * G_TYPE_INTERFACE: + * + * The fundamental type from which all interfaces are derived. + */ +#define G_TYPE_INTERFACE G_TYPE_MAKE_FUNDAMENTAL (2) +/** + * G_TYPE_CHAR: + * + * The fundamental type corresponding to #gchar. + * + * The type designated by %G_TYPE_CHAR is unconditionally an 8-bit signed integer. + * This may or may not be the same type a the C type "gchar". + */ +#define G_TYPE_CHAR G_TYPE_MAKE_FUNDAMENTAL (3) +/** + * G_TYPE_UCHAR: + * + * The fundamental type corresponding to #guchar. + */ +#define G_TYPE_UCHAR G_TYPE_MAKE_FUNDAMENTAL (4) +/** + * G_TYPE_BOOLEAN: + * + * The fundamental type corresponding to #gboolean. + */ +#define G_TYPE_BOOLEAN G_TYPE_MAKE_FUNDAMENTAL (5) +/** + * G_TYPE_INT: + * + * The fundamental type corresponding to #gint. + */ +#define G_TYPE_INT G_TYPE_MAKE_FUNDAMENTAL (6) +/** + * G_TYPE_UINT: + * + * The fundamental type corresponding to #guint. + */ +#define G_TYPE_UINT G_TYPE_MAKE_FUNDAMENTAL (7) +/** + * G_TYPE_LONG: + * + * The fundamental type corresponding to #glong. + */ +#define G_TYPE_LONG G_TYPE_MAKE_FUNDAMENTAL (8) +/** + * G_TYPE_ULONG: + * + * The fundamental type corresponding to #gulong. + */ +#define G_TYPE_ULONG G_TYPE_MAKE_FUNDAMENTAL (9) +/** + * G_TYPE_INT64: + * + * The fundamental type corresponding to #gint64. + */ +#define G_TYPE_INT64 G_TYPE_MAKE_FUNDAMENTAL (10) +/** + * G_TYPE_UINT64: + * + * The fundamental type corresponding to #guint64. + */ +#define G_TYPE_UINT64 G_TYPE_MAKE_FUNDAMENTAL (11) +/** + * G_TYPE_ENUM: + * + * The fundamental type from which all enumeration types are derived. + */ +#define G_TYPE_ENUM G_TYPE_MAKE_FUNDAMENTAL (12) +/** + * G_TYPE_FLAGS: + * + * The fundamental type from which all flags types are derived. + */ +#define G_TYPE_FLAGS G_TYPE_MAKE_FUNDAMENTAL (13) +/** + * G_TYPE_FLOAT: + * + * The fundamental type corresponding to #gfloat. + */ +#define G_TYPE_FLOAT G_TYPE_MAKE_FUNDAMENTAL (14) +/** + * G_TYPE_DOUBLE: + * + * The fundamental type corresponding to #gdouble. + */ +#define G_TYPE_DOUBLE G_TYPE_MAKE_FUNDAMENTAL (15) +/** + * G_TYPE_STRING: + * + * The fundamental type corresponding to nul-terminated C strings. + */ +#define G_TYPE_STRING G_TYPE_MAKE_FUNDAMENTAL (16) +/** + * G_TYPE_POINTER: + * + * The fundamental type corresponding to #gpointer. + */ +#define G_TYPE_POINTER G_TYPE_MAKE_FUNDAMENTAL (17) +/** + * G_TYPE_BOXED: + * + * The fundamental type from which all boxed types are derived. + */ +#define G_TYPE_BOXED G_TYPE_MAKE_FUNDAMENTAL (18) +/** + * G_TYPE_PARAM: + * + * The fundamental type from which all #GParamSpec types are derived. + */ +#define G_TYPE_PARAM G_TYPE_MAKE_FUNDAMENTAL (19) +/** + * G_TYPE_OBJECT: + * + * The fundamental type for #GObject. + */ +#define G_TYPE_OBJECT G_TYPE_MAKE_FUNDAMENTAL (20) +/** + * G_TYPE_VARIANT: + * + * The fundamental type corresponding to #GVariant. + * + * All floating #GVariant instances passed through the #GType system are + * consumed. + * + * Note that callbacks in closures, and signal handlers + * for signals of return type %G_TYPE_VARIANT, must never return floating + * variants. + * + * Note: GLib 2.24 did include a boxed type with this name. It was replaced + * with this fundamental type in 2.26. + * + * Since: 2.26 + */ +#define G_TYPE_VARIANT G_TYPE_MAKE_FUNDAMENTAL (21) + + +/* Reserved fundamental type numbers to create new fundamental + * type IDs with G_TYPE_MAKE_FUNDAMENTAL(). + * + * Open an issue on https://gitlab.gnome.org/GNOME/glib/issues/new for + * reservations. + */ +/** + * G_TYPE_MAKE_FUNDAMENTAL: + * @x: the fundamental type number. + * + * Get the type ID for the fundamental type number @x. + * + * Use g_type_fundamental_next() instead of this macro to create new fundamental + * types. + * + * Returns: the GType + */ +#define G_TYPE_MAKE_FUNDAMENTAL(x) ((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT)) +/** + * G_TYPE_RESERVED_GLIB_FIRST: + * + * First fundamental type number to create a new fundamental type id with + * G_TYPE_MAKE_FUNDAMENTAL() reserved for GLib. + */ +#define G_TYPE_RESERVED_GLIB_FIRST (22) +/** + * G_TYPE_RESERVED_GLIB_LAST: + * + * Last fundamental type number reserved for GLib. + */ +#define G_TYPE_RESERVED_GLIB_LAST (31) +/** + * G_TYPE_RESERVED_BSE_FIRST: + * + * First fundamental type number to create a new fundamental type id with + * G_TYPE_MAKE_FUNDAMENTAL() reserved for BSE. + */ +#define G_TYPE_RESERVED_BSE_FIRST (32) +/** + * G_TYPE_RESERVED_BSE_LAST: + * + * Last fundamental type number reserved for BSE. + */ +#define G_TYPE_RESERVED_BSE_LAST (48) +/** + * G_TYPE_RESERVED_USER_FIRST: + * + * First available fundamental type number to create new fundamental + * type id with G_TYPE_MAKE_FUNDAMENTAL(). + */ +#define G_TYPE_RESERVED_USER_FIRST (49) + + +/* Type Checking Macros + */ +/** + * G_TYPE_IS_FUNDAMENTAL: + * @type: A #GType value + * + * Checks if @type is a fundamental type. + * + * Returns: %TRUE is @type is fundamental + */ +#define G_TYPE_IS_FUNDAMENTAL(type) ((type) <= G_TYPE_FUNDAMENTAL_MAX) +/** + * G_TYPE_IS_DERIVED: + * @type: A #GType value + * + * Checks if @type is derived (or in object-oriented terminology: + * inherited) from another type (this holds true for all non-fundamental + * types). + * + * Returns: %TRUE if @type is derived + */ +#define G_TYPE_IS_DERIVED(type) ((type) > G_TYPE_FUNDAMENTAL_MAX) +/** + * G_TYPE_IS_INTERFACE: + * @type: A #GType value + * + * Checks if @type is an interface type. + * + * An interface type provides a pure API, the implementation + * of which is provided by another type (which is then said to conform + * to the interface). GLib interfaces are somewhat analogous to Java + * interfaces and C++ classes containing only pure virtual functions, + * with the difference that GType interfaces are not derivable (but see + * g_type_interface_add_prerequisite() for an alternative). + * + * Returns: %TRUE if @type is an interface + */ +#define G_TYPE_IS_INTERFACE(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_INTERFACE) +/** + * G_TYPE_IS_CLASSED: + * @type: A #GType value + * + * Checks if @type is a classed type. + * + * A classed type has an associated #GTypeClass which can be derived to store + * class-wide virtual function pointers and data for all instances of the type. + * This allows for subclassing. All #GObjects are classed; none of the scalar + * fundamental types built into GLib are classed. + * + * Interfaces are not classed: while their #GTypeInterface struct could be + * considered similar to #GTypeClass, and classes can derive interfaces, + * #GTypeInterface doesn’t allow for subclassing. + * + * Returns: %TRUE if @type is classed + */ +#define G_TYPE_IS_CLASSED(type) (g_type_test_flags ((type), G_TYPE_FLAG_CLASSED)) +/** + * G_TYPE_IS_INSTANTIATABLE: + * @type: A #GType value + * + * Checks if @type can be instantiated. Instantiation is the + * process of creating an instance (object) of this type. + * + * Returns: %TRUE if @type is instantiatable + */ +#define G_TYPE_IS_INSTANTIATABLE(type) (g_type_test_flags ((type), G_TYPE_FLAG_INSTANTIATABLE)) +/** + * G_TYPE_IS_DERIVABLE: + * @type: A #GType value + * + * Checks if @type is a derivable type. A derivable type can + * be used as the base class of a flat (single-level) class hierarchy. + * + * Returns: %TRUE if @type is derivable + */ +#define G_TYPE_IS_DERIVABLE(type) (g_type_test_flags ((type), G_TYPE_FLAG_DERIVABLE)) +/** + * G_TYPE_IS_DEEP_DERIVABLE: + * @type: A #GType value + * + * Checks if @type is a deep derivable type. A deep derivable type + * can be used as the base class of a deep (multi-level) class hierarchy. + * + * Returns: %TRUE if @type is deep derivable + */ +#define G_TYPE_IS_DEEP_DERIVABLE(type) (g_type_test_flags ((type), G_TYPE_FLAG_DEEP_DERIVABLE)) +/** + * G_TYPE_IS_ABSTRACT: + * @type: A #GType value + * + * Checks if @type is an abstract type. An abstract type cannot be + * instantiated and is normally used as an abstract base class for + * derived classes. + * + * Returns: %TRUE if @type is abstract + */ +#define G_TYPE_IS_ABSTRACT(type) (g_type_test_flags ((type), G_TYPE_FLAG_ABSTRACT)) +/** + * G_TYPE_IS_VALUE_ABSTRACT: + * @type: A #GType value + * + * Checks if @type is an abstract value type. An abstract value type introduces + * a value table, but can't be used for g_value_init() and is normally used as + * an abstract base type for derived value types. + * + * Returns: %TRUE if @type is an abstract value type + */ +#define G_TYPE_IS_VALUE_ABSTRACT(type) (g_type_test_flags ((type), G_TYPE_FLAG_VALUE_ABSTRACT)) +/** + * G_TYPE_IS_VALUE_TYPE: + * @type: A #GType value + * + * Checks if @type is a value type and can be used with g_value_init(). + * + * Returns: %TRUE if @type is a value type + */ +#define G_TYPE_IS_VALUE_TYPE(type) (g_type_check_is_value_type (type)) +/** + * G_TYPE_HAS_VALUE_TABLE: + * @type: A #GType value + * + * Checks if @type has a #GTypeValueTable. + * + * Returns: %TRUE if @type has a value table + */ +#define G_TYPE_HAS_VALUE_TABLE(type) (g_type_value_table_peek (type) != NULL) +/** + * G_TYPE_IS_FINAL: + * @type: a #GType value + * + * Checks if @type is a final type. A final type cannot be derived any + * further. + * + * Returns: %TRUE if @type is final + * + * Since: 2.70 + */ +#define G_TYPE_IS_FINAL(type) (g_type_test_flags ((type), G_TYPE_FLAG_FINAL)) GOBJECT_AVAILABLE_MACRO_IN_2_70 + +/** + * G_TYPE_IS_DEPRECATED: + * @type: a #GType value + * + * Checks if @type is deprecated. Instantiating a deprecated type will + * trigger a warning if running with `G_ENABLE_DIAGNOSTIC=1`. + * + * Returns: %TRUE if the type is deprecated + * + * Since: 2.76 + */ +#define G_TYPE_IS_DEPRECATED(type) (g_type_test_flags ((type), G_TYPE_FLAG_DEPRECATED)) GOBJECT_AVAILABLE_MACRO_IN_2_76 + + +/* Typedefs + */ +/** + * GType: + * + * A numerical value which represents the unique identifier of a registered + * type. + */ +#if GLIB_SIZEOF_SIZE_T != GLIB_SIZEOF_LONG || !defined (G_CXX_STD_VERSION) +typedef gsize GType; +#else /* for historic reasons, C++ links against gulong GTypes */ +typedef gulong GType; +#endif +typedef struct _GValue GValue; +typedef union _GTypeCValue GTypeCValue; +typedef struct _GTypePlugin GTypePlugin; +typedef struct _GTypeClass GTypeClass; +typedef struct _GTypeInterface GTypeInterface; +typedef struct _GTypeInstance GTypeInstance; +typedef struct _GTypeInfo GTypeInfo; +typedef struct _GTypeFundamentalInfo GTypeFundamentalInfo; +typedef struct _GInterfaceInfo GInterfaceInfo; +typedef struct _GTypeValueTable GTypeValueTable; +typedef struct _GTypeQuery GTypeQuery; + + +/* Basic Type Structures + */ +/** + * GTypeClass: + * + * An opaque structure used as the base of all classes. + */ +struct _GTypeClass +{ + /*< private >*/ + GType g_type; +}; +/** + * GTypeInstance: + * + * An opaque structure used as the base of all type instances. + */ +struct _GTypeInstance +{ + /*< private >*/ + GTypeClass *g_class; +}; +/** + * GTypeInterface: + * + * An opaque structure used as the base of all interface types. + */ +struct _GTypeInterface +{ + /*< private >*/ + GType g_type; /* iface type */ + GType g_instance_type; +}; +/** + * GTypeQuery: + * @type: the #GType value of the type + * @type_name: the name of the type + * @class_size: the size of the class structure + * @instance_size: the size of the instance structure + * + * A structure holding information for a specific type. + * + * See also: g_type_query() + */ +struct _GTypeQuery +{ + GType type; + const gchar *type_name; + guint class_size; + guint instance_size; +}; + + +/* Casts, checks and accessors for structured types + * usage of these macros is reserved to type implementations only + */ +/*< protected >*/ +/** + * G_TYPE_CHECK_INSTANCE: + * @instance: Location of a #GTypeInstance structure + * + * Checks if @instance is a valid #GTypeInstance structure, + * otherwise issues a warning and returns %FALSE. %NULL is not a valid + * #GTypeInstance. + * + * This macro should only be used in type implementations. + * + * Returns: %TRUE if @instance is valid + */ +#define G_TYPE_CHECK_INSTANCE(instance) (_G_TYPE_CHI ((GTypeInstance*) (instance))) +/** + * G_TYPE_CHECK_INSTANCE_CAST: + * @instance: (nullable): Location of a #GTypeInstance structure + * @g_type: The type to be returned + * @c_type: The corresponding C type of @g_type + * + * Checks that @instance is an instance of the type identified by @g_type + * and issues a warning if this is not the case. Returns @instance casted + * to a pointer to @c_type. + * + * No warning will be issued if @instance is %NULL, and %NULL will be returned. + * + * This macro should only be used in type implementations. + */ +#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type) (_G_TYPE_CIC ((instance), (g_type), c_type)) +/** + * G_TYPE_CHECK_INSTANCE_TYPE: + * @instance: (nullable): Location of a #GTypeInstance structure. + * @g_type: The type to be checked + * + * Checks if @instance is an instance of the type identified by @g_type. If + * @instance is %NULL, %FALSE will be returned. + * + * This macro should only be used in type implementations. + * + * Returns: %TRUE if @instance is an instance of @g_type + */ +#define G_TYPE_CHECK_INSTANCE_TYPE(instance, g_type) (_G_TYPE_CIT ((instance), (g_type))) +/** + * G_TYPE_CHECK_INSTANCE_FUNDAMENTAL_TYPE: + * @instance: (nullable): Location of a #GTypeInstance structure. + * @g_type: The fundamental type to be checked + * + * Checks if @instance is an instance of the fundamental type identified by @g_type. + * If @instance is %NULL, %FALSE will be returned. + * + * This macro should only be used in type implementations. + * + * Returns: %TRUE if @instance is an instance of @g_type + */ +#define G_TYPE_CHECK_INSTANCE_FUNDAMENTAL_TYPE(instance, g_type) (_G_TYPE_CIFT ((instance), (g_type))) +/** + * G_TYPE_INSTANCE_GET_CLASS: + * @instance: Location of the #GTypeInstance structure + * @g_type: The #GType of the class to be returned + * @c_type: The C type of the class structure + * + * Get the class structure of a given @instance, casted + * to a specified ancestor type @g_type of the instance. + * + * Note that while calling a GInstanceInitFunc(), the class pointer + * gets modified, so it might not always return the expected pointer. + * + * This macro should only be used in type implementations. + * + * Returns: a pointer to the class structure + */ +#define G_TYPE_INSTANCE_GET_CLASS(instance, g_type, c_type) (_G_TYPE_IGC ((instance), (g_type), c_type)) +/** + * G_TYPE_INSTANCE_GET_INTERFACE: + * @instance: Location of the #GTypeInstance structure + * @g_type: The #GType of the interface to be returned + * @c_type: The C type of the interface structure + * + * Get the interface structure for interface @g_type of a given @instance. + * + * This macro should only be used in type implementations. + * + * Returns: a pointer to the interface structure + */ +#define G_TYPE_INSTANCE_GET_INTERFACE(instance, g_type, c_type) (_G_TYPE_IGI ((instance), (g_type), c_type)) +/** + * G_TYPE_CHECK_CLASS_CAST: + * @g_class: Location of a #GTypeClass structure + * @g_type: The type to be returned + * @c_type: The corresponding C type of class structure of @g_type + * + * Checks that @g_class is a class structure of the type identified by @g_type + * and issues a warning if this is not the case. Returns @g_class casted + * to a pointer to @c_type. %NULL is not a valid class structure. + * + * This macro should only be used in type implementations. + */ +#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type) (_G_TYPE_CCC ((g_class), (g_type), c_type)) +/** + * G_TYPE_CHECK_CLASS_TYPE: + * @g_class: (nullable): Location of a #GTypeClass structure + * @g_type: The type to be checked + * + * Checks if @g_class is a class structure of the type identified by + * @g_type. If @g_class is %NULL, %FALSE will be returned. + * + * This macro should only be used in type implementations. + * + * Returns: %TRUE if @g_class is a class structure of @g_type + */ +#define G_TYPE_CHECK_CLASS_TYPE(g_class, g_type) (_G_TYPE_CCT ((g_class), (g_type))) +/** + * G_TYPE_CHECK_VALUE: + * @value: a #GValue + * + * Checks if @value has been initialized to hold values + * of a value type. + * + * This macro should only be used in type implementations. + * + * Returns: %TRUE if @value is initialized + */ +#define G_TYPE_CHECK_VALUE(value) (_G_TYPE_CHV ((value))) +/** + * G_TYPE_CHECK_VALUE_TYPE: + * @value: a #GValue + * @g_type: The type to be checked + * + * Checks if @value has been initialized to hold values + * of type @g_type. + * + * This macro should only be used in type implementations. + * + * Returns: %TRUE if @value has been initialized to hold values of type @g_type + */ +#define G_TYPE_CHECK_VALUE_TYPE(value, g_type) (_G_TYPE_CVH ((value), (g_type))) +/** + * G_TYPE_FROM_INSTANCE: + * @instance: Location of a valid #GTypeInstance structure + * + * Get the type identifier from a given @instance structure. + * + * This macro should only be used in type implementations. + * + * Returns: the #GType + */ +#define G_TYPE_FROM_INSTANCE(instance) (G_TYPE_FROM_CLASS (((GTypeInstance*) (instance))->g_class)) +/** + * G_TYPE_FROM_CLASS: + * @g_class: Location of a valid #GTypeClass structure + * + * Get the type identifier from a given @class structure. + * + * This macro should only be used in type implementations. + * + * Returns: the #GType + */ +#define G_TYPE_FROM_CLASS(g_class) (((GTypeClass*) (g_class))->g_type) +/** + * G_TYPE_FROM_INTERFACE: + * @g_iface: Location of a valid #GTypeInterface structure + * + * Get the type identifier from a given @interface structure. + * + * This macro should only be used in type implementations. + * + * Returns: the #GType + */ +#define G_TYPE_FROM_INTERFACE(g_iface) (((GTypeInterface*) (g_iface))->g_type) + +/** + * G_TYPE_INSTANCE_GET_PRIVATE: + * @instance: the instance of a type deriving from @private_type + * @g_type: the type identifying which private data to retrieve + * @c_type: The C type for the private structure + * + * Gets the private structure for a particular type. + * + * The private structure must have been registered in the + * class_init function with g_type_class_add_private(). + * + * This macro should only be used in type implementations. + * + * Since: 2.4 + * Deprecated: 2.58: Use G_ADD_PRIVATE() and the generated + * `your_type_get_instance_private()` function instead + * Returns: (not nullable): a pointer to the private data structure + */ +#define G_TYPE_INSTANCE_GET_PRIVATE(instance, g_type, c_type) ((c_type*) g_type_instance_get_private ((GTypeInstance*) (instance), (g_type))) GOBJECT_DEPRECATED_MACRO_IN_2_58_FOR(G_ADD_PRIVATE) + +/** + * G_TYPE_CLASS_GET_PRIVATE: + * @klass: the class of a type deriving from @private_type + * @g_type: the type identifying which private data to retrieve + * @c_type: The C type for the private structure + * + * Gets the private class structure for a particular type. + * + * The private structure must have been registered in the + * get_type() function with g_type_add_class_private(). + * + * This macro should only be used in type implementations. + * + * Since: 2.24 + * Returns: (not nullable): a pointer to the private data structure + */ +#define G_TYPE_CLASS_GET_PRIVATE(klass, g_type, c_type) ((c_type*) g_type_class_get_private ((GTypeClass*) (klass), (g_type))) + +/** + * GTypeDebugFlags: + * @G_TYPE_DEBUG_NONE: Print no messages + * @G_TYPE_DEBUG_OBJECTS: Print messages about object bookkeeping + * @G_TYPE_DEBUG_SIGNALS: Print messages about signal emissions + * @G_TYPE_DEBUG_MASK: Mask covering all debug flags + * @G_TYPE_DEBUG_INSTANCE_COUNT: Keep a count of instances of each type + * + * These flags used to be passed to g_type_init_with_debug_flags() which + * is now deprecated. + * + * If you need to enable debugging features, use the `GOBJECT_DEBUG` + * environment variable. + * + * Deprecated: 2.36: g_type_init() is now done automatically + */ +typedef enum /*< skip >*/ +{ + G_TYPE_DEBUG_NONE = 0, + G_TYPE_DEBUG_OBJECTS = 1 << 0, + G_TYPE_DEBUG_SIGNALS = 1 << 1, + G_TYPE_DEBUG_INSTANCE_COUNT = 1 << 2, + G_TYPE_DEBUG_MASK = 0x07 +} GTypeDebugFlags GOBJECT_DEPRECATED_TYPE_IN_2_36; + + +/* --- prototypes --- */ +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +GOBJECT_DEPRECATED_IN_2_36 +void g_type_init (void); +GOBJECT_DEPRECATED_IN_2_36 +void g_type_init_with_debug_flags (GTypeDebugFlags debug_flags); +G_GNUC_END_IGNORE_DEPRECATIONS + +GOBJECT_AVAILABLE_IN_ALL +const gchar * g_type_name (GType type); +GOBJECT_AVAILABLE_IN_ALL +GQuark g_type_qname (GType type); +GOBJECT_AVAILABLE_IN_ALL +GType g_type_from_name (const gchar *name); +GOBJECT_AVAILABLE_IN_ALL +GType g_type_parent (GType type); +GOBJECT_AVAILABLE_IN_ALL +guint g_type_depth (GType type); +GOBJECT_AVAILABLE_IN_ALL +GType g_type_next_base (GType leaf_type, + GType root_type); +GOBJECT_AVAILABLE_IN_ALL +gboolean g_type_is_a (GType type, + GType is_a_type); + +/* Hoist exact GType comparisons into the caller */ +#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b))) + +GOBJECT_AVAILABLE_IN_ALL +gpointer g_type_class_ref (GType type); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_type_class_peek (GType type); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_type_class_peek_static (GType type); +GOBJECT_AVAILABLE_IN_ALL +void g_type_class_unref (gpointer g_class); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_type_class_peek_parent (gpointer g_class); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_type_interface_peek (gpointer instance_class, + GType iface_type); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_type_interface_peek_parent (gpointer g_iface); + +GOBJECT_AVAILABLE_IN_ALL +gpointer g_type_default_interface_ref (GType g_type); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_type_default_interface_peek (GType g_type); +GOBJECT_AVAILABLE_IN_ALL +void g_type_default_interface_unref (gpointer g_iface); + +/* g_free() the returned arrays */ +GOBJECT_AVAILABLE_IN_ALL +GType* g_type_children (GType type, + guint *n_children); +GOBJECT_AVAILABLE_IN_ALL +GType* g_type_interfaces (GType type, + guint *n_interfaces); + +/* per-type _static_ data */ +GOBJECT_AVAILABLE_IN_ALL +void g_type_set_qdata (GType type, + GQuark quark, + gpointer data); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_type_get_qdata (GType type, + GQuark quark); +GOBJECT_AVAILABLE_IN_ALL +void g_type_query (GType type, + GTypeQuery *query); + +GOBJECT_AVAILABLE_IN_2_44 +int g_type_get_instance_count (GType type); + +/* --- type registration --- */ +/** + * GBaseInitFunc: + * @g_class: (type GObject.TypeClass): The #GTypeClass structure to initialize + * + * A callback function used by the type system to do base initialization + * of the class structures of derived types. + * + * This function is called as part of the initialization process of all derived + * classes and should reallocate or reset all dynamic class members copied over + * from the parent class. + * + * For example, class members (such as strings) that are not sufficiently + * handled by a plain memory copy of the parent class into the derived class + * have to be altered. See GClassInitFunc() for a discussion of the class + * initialization process. + */ +typedef void (*GBaseInitFunc) (gpointer g_class); +/** + * GBaseFinalizeFunc: + * @g_class: (type GObject.TypeClass): The #GTypeClass structure to finalize + * + * A callback function used by the type system to finalize those portions + * of a derived types class structure that were setup from the corresponding + * GBaseInitFunc() function. + * + * Class finalization basically works the inverse way in which class + * initialization is performed. + * + * See GClassInitFunc() for a discussion of the class initialization process. + */ +typedef void (*GBaseFinalizeFunc) (gpointer g_class); +/** + * GClassInitFunc: + * @g_class: (type GObject.TypeClass): The #GTypeClass structure to initialize. + * @class_data: The @class_data member supplied via the #GTypeInfo structure. + * + * A callback function used by the type system to initialize the class + * of a specific type. + * + * This function should initialize all static class members. + * + * The initialization process of a class involves: + * + * - Copying common members from the parent class over to the + * derived class structure. + * - Zero initialization of the remaining members not copied + * over from the parent class. + * - Invocation of the GBaseInitFunc() initializers of all parent + * types and the class' type. + * - Invocation of the class' GClassInitFunc() initializer. + * + * Since derived classes are partially initialized through a memory copy + * of the parent class, the general rule is that GBaseInitFunc() and + * GBaseFinalizeFunc() should take care of necessary reinitialization + * and release of those class members that were introduced by the type + * that specified these GBaseInitFunc()/GBaseFinalizeFunc(). + * GClassInitFunc() should only care about initializing static + * class members, while dynamic class members (such as allocated strings + * or reference counted resources) are better handled by a GBaseInitFunc() + * for this type, so proper initialization of the dynamic class members + * is performed for class initialization of derived types as well. + * + * An example may help to correspond the intend of the different class + * initializers: + * + * |[ + * typedef struct { + * GObjectClass parent_class; + * gint static_integer; + * gchar *dynamic_string; + * } TypeAClass; + * static void + * type_a_base_class_init (TypeAClass *class) + * { + * class->dynamic_string = g_strdup ("some string"); + * } + * static void + * type_a_base_class_finalize (TypeAClass *class) + * { + * g_free (class->dynamic_string); + * } + * static void + * type_a_class_init (TypeAClass *class) + * { + * class->static_integer = 42; + * } + * + * typedef struct { + * TypeAClass parent_class; + * gfloat static_float; + * GString *dynamic_gstring; + * } TypeBClass; + * static void + * type_b_base_class_init (TypeBClass *class) + * { + * class->dynamic_gstring = g_string_new ("some other string"); + * } + * static void + * type_b_base_class_finalize (TypeBClass *class) + * { + * g_string_free (class->dynamic_gstring); + * } + * static void + * type_b_class_init (TypeBClass *class) + * { + * class->static_float = 3.14159265358979323846; + * } + * ]| + * + * Initialization of TypeBClass will first cause initialization of + * TypeAClass (derived classes reference their parent classes, see + * g_type_class_ref() on this). + * + * Initialization of TypeAClass roughly involves zero-initializing its fields, + * then calling its GBaseInitFunc() type_a_base_class_init() to allocate + * its dynamic members (dynamic_string), and finally calling its GClassInitFunc() + * type_a_class_init() to initialize its static members (static_integer). + * The first step in the initialization process of TypeBClass is then + * a plain memory copy of the contents of TypeAClass into TypeBClass and + * zero-initialization of the remaining fields in TypeBClass. + * The dynamic members of TypeAClass within TypeBClass now need + * reinitialization which is performed by calling type_a_base_class_init() + * with an argument of TypeBClass. + * + * After that, the GBaseInitFunc() of TypeBClass, type_b_base_class_init() + * is called to allocate the dynamic members of TypeBClass (dynamic_gstring), + * and finally the GClassInitFunc() of TypeBClass, type_b_class_init(), + * is called to complete the initialization process with the static members + * (static_float). + * + * Corresponding finalization counter parts to the GBaseInitFunc() functions + * have to be provided to release allocated resources at class finalization + * time. + */ +typedef void (*GClassInitFunc) (gpointer g_class, + gpointer class_data); +/** + * GClassFinalizeFunc: + * @g_class: (type GObject.TypeClass): The #GTypeClass structure to finalize + * @class_data: The @class_data member supplied via the #GTypeInfo structure + * + * A callback function used by the type system to finalize a class. + * + * This function is rarely needed, as dynamically allocated class resources + * should be handled by GBaseInitFunc() and GBaseFinalizeFunc(). + * + * Also, specification of a GClassFinalizeFunc() in the #GTypeInfo + * structure of a static type is invalid, because classes of static types + * will never be finalized (they are artificially kept alive when their + * reference count drops to zero). + */ +typedef void (*GClassFinalizeFunc) (gpointer g_class, + gpointer class_data); +/** + * GInstanceInitFunc: + * @instance: The instance to initialize + * @g_class: (type GObject.TypeClass): The class of the type the instance is + * created for + * + * A callback function used by the type system to initialize a new + * instance of a type. + * + * This function initializes all instance members and allocates any resources + * required by it. + * + * Initialization of a derived instance involves calling all its parent + * types instance initializers, so the class member of the instance + * is altered during its initialization to always point to the class that + * belongs to the type the current initializer was introduced for. + * + * The extended members of @instance are guaranteed to have been filled with + * zeros before this function is called. + */ +typedef void (*GInstanceInitFunc) (GTypeInstance *instance, + gpointer g_class); +/** + * GInterfaceInitFunc: + * @g_iface: (type GObject.TypeInterface): The interface structure to initialize + * @iface_data: The @interface_data supplied via the #GInterfaceInfo structure + * + * A callback function used by the type system to initialize a new + * interface. + * + * This function should initialize all internal data and* allocate any + * resources required by the interface. + * + * The members of @iface_data are guaranteed to have been filled with + * zeros before this function is called. + */ +typedef void (*GInterfaceInitFunc) (gpointer g_iface, + gpointer iface_data); +/** + * GInterfaceFinalizeFunc: + * @g_iface: (type GObject.TypeInterface): The interface structure to finalize + * @iface_data: The @interface_data supplied via the #GInterfaceInfo structure + * + * A callback function used by the type system to finalize an interface. + * + * This function should destroy any internal data and release any resources + * allocated by the corresponding GInterfaceInitFunc() function. + */ +typedef void (*GInterfaceFinalizeFunc) (gpointer g_iface, + gpointer iface_data); +/** + * GTypeClassCacheFunc: + * @cache_data: data that was given to the g_type_add_class_cache_func() call + * @g_class: (type GObject.TypeClass): The #GTypeClass structure which is + * unreferenced + * + * A callback function which is called when the reference count of a class + * drops to zero. + * + * It may use g_type_class_ref() to prevent the class from being freed. You + * should not call g_type_class_unref() from a #GTypeClassCacheFunc function + * to prevent infinite recursion, use g_type_class_unref_uncached() instead. + * + * The functions have to check the class id passed in to figure + * whether they actually want to cache the class of this type, since all + * classes are routed through the same #GTypeClassCacheFunc chain. + * + * Returns: %TRUE to stop further #GTypeClassCacheFuncs from being + * called, %FALSE to continue + */ +typedef gboolean (*GTypeClassCacheFunc) (gpointer cache_data, + GTypeClass *g_class); +/** + * GTypeInterfaceCheckFunc: + * @check_data: data passed to g_type_add_interface_check() + * @g_iface: (type GObject.TypeInterface): the interface that has been + * initialized + * + * A callback called after an interface vtable is initialized. + * + * See g_type_add_interface_check(). + * + * Since: 2.4 + */ +typedef void (*GTypeInterfaceCheckFunc) (gpointer check_data, + gpointer g_iface); +/** + * GTypeFundamentalFlags: + * @G_TYPE_FLAG_CLASSED: Indicates a classed type + * @G_TYPE_FLAG_INSTANTIATABLE: Indicates an instantiatable type (implies classed) + * @G_TYPE_FLAG_DERIVABLE: Indicates a flat derivable type + * @G_TYPE_FLAG_DEEP_DERIVABLE: Indicates a deep derivable type (implies derivable) + * + * Bit masks used to check or determine specific characteristics of a + * fundamental type. + */ +typedef enum /*< skip >*/ +{ + /* There is no G_TYPE_FUNDAMENTAL_FLAGS_NONE: this is implemented to use + * the same bits as GTypeFlags */ + G_TYPE_FLAG_CLASSED = (1 << 0), + G_TYPE_FLAG_INSTANTIATABLE = (1 << 1), + G_TYPE_FLAG_DERIVABLE = (1 << 2), + G_TYPE_FLAG_DEEP_DERIVABLE = (1 << 3) +} GTypeFundamentalFlags; +/** + * GTypeFlags: + * @G_TYPE_FLAG_NONE: No special flags. Since: 2.74 + * @G_TYPE_FLAG_ABSTRACT: Indicates an abstract type. No instances can be + * created for an abstract type + * @G_TYPE_FLAG_VALUE_ABSTRACT: Indicates an abstract value type, i.e. a type + * that introduces a value table, but can't be used for + * g_value_init() + * @G_TYPE_FLAG_FINAL: Indicates a final type. A final type is a non-derivable + * leaf node in a deep derivable type hierarchy tree. Since: 2.70 + * @G_TYPE_FLAG_DEPRECATED: The type is deprecated and may be removed in a + * future version. A warning will be emitted if it is instantiated while + * running with `G_ENABLE_DIAGNOSTIC=1`. Since 2.76 + * + * Bit masks used to check or determine characteristics of a type. + */ +typedef enum /*< skip >*/ +{ + G_TYPE_FLAG_NONE GOBJECT_AVAILABLE_ENUMERATOR_IN_2_74 = 0, + G_TYPE_FLAG_ABSTRACT = (1 << 4), + G_TYPE_FLAG_VALUE_ABSTRACT = (1 << 5), + G_TYPE_FLAG_FINAL GOBJECT_AVAILABLE_ENUMERATOR_IN_2_70 = (1 << 6), + G_TYPE_FLAG_DEPRECATED GOBJECT_AVAILABLE_ENUMERATOR_IN_2_76 = (1 << 7) +} GTypeFlags; +/** + * GTypeInfo: + * @class_size: Size of the class structure (required for interface, classed and instantiatable types) + * @base_init: Location of the base initialization function (optional) + * @base_finalize: Location of the base finalization function (optional) + * @class_init: Location of the class initialization function for + * classed and instantiatable types. Location of the default vtable + * inititalization function for interface types. (optional) This function + * is used both to fill in virtual functions in the class or default vtable, + * and to do type-specific setup such as registering signals and object + * properties. + * @class_finalize: Location of the class finalization function for + * classed and instantiatable types. Location of the default vtable + * finalization function for interface types. (optional) + * @class_data: User-supplied data passed to the class init/finalize functions + * @instance_size: Size of the instance (object) structure (required for instantiatable types only) + * @n_preallocs: Prior to GLib 2.10, it specified the number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Since GLib 2.10 this field is ignored. + * @instance_init: Location of the instance initialization function (optional, for instantiatable types only) + * @value_table: A #GTypeValueTable function table for generic handling of GValues + * of this type (usually only useful for fundamental types) + * + * This structure is used to provide the type system with the information + * required to initialize and destruct (finalize) a type's class and + * its instances. + * + * The initialized structure is passed to the g_type_register_static() function + * (or is copied into the provided #GTypeInfo structure in the + * g_type_plugin_complete_type_info()). The type system will perform a deep + * copy of this structure, so its memory does not need to be persistent + * across invocation of g_type_register_static(). + */ +struct _GTypeInfo +{ + /* interface types, classed types, instantiated types */ + guint16 class_size; + + GBaseInitFunc base_init; + GBaseFinalizeFunc base_finalize; + + /* interface types, classed types, instantiated types */ + GClassInitFunc class_init; + GClassFinalizeFunc class_finalize; + gconstpointer class_data; + + /* instantiated types */ + guint16 instance_size; + guint16 n_preallocs; + GInstanceInitFunc instance_init; + + /* value handling */ + const GTypeValueTable *value_table; +}; +/** + * GTypeFundamentalInfo: + * @type_flags: #GTypeFundamentalFlags describing the characteristics of the fundamental type + * + * A structure that provides information to the type system which is + * used specifically for managing fundamental types. + */ +struct _GTypeFundamentalInfo +{ + GTypeFundamentalFlags type_flags; +}; +/** + * GInterfaceInfo: + * @interface_init: location of the interface initialization function + * @interface_finalize: location of the interface finalization function + * @interface_data: user-supplied data passed to the interface init/finalize functions + * + * A structure that provides information to the type system which is + * used specifically for managing interface types. + */ +struct _GInterfaceInfo +{ + GInterfaceInitFunc interface_init; + GInterfaceFinalizeFunc interface_finalize; + gpointer interface_data; +}; + +/** + * GTypeValueInitFunc: + * @value: the value to initialize + * + * Initializes the value contents by setting the fields of the `value->data` + * array. + * + * The data array of the #GValue passed into this function was zero-filled + * with `memset()`, so no care has to be taken to free any old contents. + * For example, in the case of a string value that may never be %NULL, the + * implementation might look like: + * + * |[ + * value->data[0].v_pointer = g_strdup (""); + * ]| + * + * Since: 2.78 + */ +GOBJECT_AVAILABLE_TYPE_IN_2_78 +typedef void (* GTypeValueInitFunc) (GValue *value); + +/** + * GTypeValueFreeFunc: + * @value: the value to free + * + * Frees any old contents that might be left in the `value->data` array of + * the given value. + * + * No resources may remain allocated through the #GValue contents after this + * function returns. E.g. for our above string type: + * + * |[ + * // only free strings without a specific flag for static storage + * if (!(value->data[1].v_uint & G_VALUE_NOCOPY_CONTENTS)) + * g_free (value->data[0].v_pointer); + * ]| + * + * Since: 2.78 + */ +GOBJECT_AVAILABLE_TYPE_IN_2_78 +typedef void (* GTypeValueFreeFunc) (GValue *value); + +/** + * GTypeValueCopyFunc: + * @src_value: the value to copy + * @dest_value: (out): the location of the copy + * + * Copies the content of a #GValue into another. + * + * The @dest_value is a #GValue with zero-filled data section and @src_value + * is a properly initialized #GValue of same type, or derived type. + * + * The purpose of this function is to copy the contents of @src_value + * into @dest_value in a way, that even after @src_value has been freed, the + * contents of @dest_value remain valid. String type example: + * + * |[ + * dest_value->data[0].v_pointer = g_strdup (src_value->data[0].v_pointer); + * ]| + * + * Since: 2.78 + */ +GOBJECT_AVAILABLE_TYPE_IN_2_78 +typedef void (* GTypeValueCopyFunc) (const GValue *src_value, + GValue *dest_value); + +/** + * GTypeValuePeekPointerFunc: + * @value: the value to peek + * + * If the value contents fit into a pointer, such as objects or strings, + * return this pointer, so the caller can peek at the current contents. + * + * To extend on our above string example: + * + * |[ + * return value->data[0].v_pointer; + * ]| + * + * Returns: (transfer none): a pointer to the value contents + * + * Since: 2.78 + */ +GOBJECT_AVAILABLE_TYPE_IN_2_78 +typedef gpointer (* GTypeValuePeekPointerFunc) (const GValue *value); + +/** + * GTypeValueCollectFunc: + * @value: the value to initialize + * @n_collect_values: the number of collected values + * @collect_values: (array length=n_collect_values): the collected values + * @collect_flags: optional flags + * + * This function is responsible for converting the values collected from + * a variadic argument list into contents suitable for storage in a #GValue. + * + * This function should setup @value similar to #GTypeValueInitFunc; e.g. + * for a string value that does not allow `NULL` pointers, it needs to either + * emit an error, or do an implicit conversion by storing an empty string. + * + * The @value passed in to this function has a zero-filled data array, so + * just like for #GTypeValueInitFunc it is guaranteed to not contain any old + * contents that might need freeing. + * + * The @n_collect_values argument is the string length of the `collect_format` + * field of #GTypeValueTable, and `collect_values` is an array of #GTypeCValue + * with length of @n_collect_values, containing the collected values according + * to `collect_format`. + * + * The @collect_flags argument provided as a hint by the caller. It may + * contain the flag %G_VALUE_NOCOPY_CONTENTS indicating that the collected + * value contents may be considered ‘static’ for the duration of the @value + * lifetime. Thus an extra copy of the contents stored in @collect_values is + * not required for assignment to @value. + * + * For our above string example, we continue with: + * + * |[ + * if (!collect_values[0].v_pointer) + * value->data[0].v_pointer = g_strdup (""); + * else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) + * { + * value->data[0].v_pointer = collect_values[0].v_pointer; + * // keep a flag for the value_free() implementation to not free this string + * value->data[1].v_uint = G_VALUE_NOCOPY_CONTENTS; + * } + * else + * value->data[0].v_pointer = g_strdup (collect_values[0].v_pointer); + * return NULL; + * ]| + * + * It should be noted, that it is generally a bad idea to follow the + * %G_VALUE_NOCOPY_CONTENTS hint for reference counted types. Due to + * reentrancy requirements and reference count assertions performed + * by the signal emission code, reference counts should always be + * incremented for reference counted contents stored in the `value->data` + * array. To deviate from our string example for a moment, and taking + * a look at an exemplary implementation for `GTypeValueTable.collect_value()` + * of `GObject`: + * + * |[ + * GObject *object = G_OBJECT (collect_values[0].v_pointer); + * g_return_val_if_fail (object != NULL, + * g_strdup_printf ("Object %p passed as invalid NULL pointer", object)); + * // never honour G_VALUE_NOCOPY_CONTENTS for ref-counted types + * value->data[0].v_pointer = g_object_ref (object); + * return NULL; + * ]| + * + * The reference count for valid objects is always incremented, regardless + * of `collect_flags`. For invalid objects, the example returns a newly + * allocated string without altering `value`. + * + * Upon success, `collect_value()` needs to return `NULL`. If, however, + * an error condition occurred, `collect_value()` should return a newly + * allocated string containing an error diagnostic. + * + * The calling code makes no assumptions about the `value` contents being + * valid upon error returns, `value` is simply thrown away without further + * freeing. As such, it is a good idea to not allocate `GValue` contents + * prior to returning an error; however, `collect_values()` is not obliged + * to return a correctly setup @value for error returns, simply because + * any non-`NULL` return is considered a fatal programming error, and + * further program behaviour is undefined. + * + * Returns: (transfer full) (nullable): `NULL` on success, otherwise a + * newly allocated error string on failure + * + * Since: 2.78 + */ +GOBJECT_AVAILABLE_TYPE_IN_2_78 +typedef gchar * (* GTypeValueCollectFunc) (GValue *value, + guint n_collect_values, + GTypeCValue *collect_values, + guint collect_flags); + +/** + * GTypeValueLCopyFunc: + * @value: the value to lcopy + * @n_collect_values: the number of collected values + * @collect_values: (array length=n_collect_values): the collected + * locations for storage + * @collect_flags: optional flags + * + * This function is responsible for storing the `value` + * contents into arguments passed through a variadic argument list which + * got collected into `collect_values` according to `lcopy_format`. + * + * The `n_collect_values` argument equals the string length of + * `lcopy_format`, and `collect_flags` may contain %G_VALUE_NOCOPY_CONTENTS. + * + * In contrast to #GTypeValueCollectFunc, this function is obliged to always + * properly support %G_VALUE_NOCOPY_CONTENTS. + * + * Similar to #GTypeValueCollectFunc the function may prematurely abort by + * returning a newly allocated string describing an error condition. To + * complete the string example: + * + * |[ + * gchar **string_p = collect_values[0].v_pointer; + * g_return_val_if_fail (string_p != NULL, + * g_strdup ("string location passed as NULL")); + * + * if (collect_flags & G_VALUE_NOCOPY_CONTENTS) + * *string_p = value->data[0].v_pointer; + * else + * *string_p = g_strdup (value->data[0].v_pointer); + * ]| + * + * And an illustrative version of this function for reference-counted + * types: + * + * |[ + * GObject **object_p = collect_values[0].v_pointer; + * g_return_val_if_fail (object_p != NULL, + * g_strdup ("object location passed as NULL")); + * + * if (value->data[0].v_pointer == NULL) + * *object_p = NULL; + * else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) // always honour + * *object_p = value->data[0].v_pointer; + * else + * *object_p = g_object_ref (value->data[0].v_pointer); + * + * return NULL; + * ]| + * + * Returns: (transfer full) (nullable): `NULL` on success, otherwise + * a newly allocated error string on failure + * + * Since: 2.78 + */ +GOBJECT_AVAILABLE_TYPE_IN_2_78 +typedef gchar * (* GTypeValueLCopyFunc) (const GValue *value, + guint n_collect_values, + GTypeCValue *collect_values, + guint collect_flags); + +/** + * GTypeValueTable: + * @value_init: Function to initialize a GValue + * @value_free: Function to free a GValue + * @value_copy: Function to copy a GValue + * @value_peek_pointer: Function to peek the contents of a GValue if they fit + * into a pointer + * @collect_format: A string format describing how to collect the contents of + * this value bit-by-bit. Each character in the format represents + * an argument to be collected, and the characters themselves indicate + * the type of the argument. Currently supported arguments are: + * - `'i'`: Integers, passed as `collect_values[].v_int` + * - `'l'`: Longs, passed as `collect_values[].v_long` + * - `'d'`: Doubles, passed as `collect_values[].v_double` + * - `'p'`: Pointers, passed as `collect_values[].v_pointer` + * It should be noted that for variable argument list construction, + * ANSI C promotes every type smaller than an integer to an int, and + * floats to doubles. So for collection of short int or char, `'i'` + * needs to be used, and for collection of floats `'d'`. + * @collect_value: Function to initialize a GValue from the values + * collected from variadic arguments + * @lcopy_format: Format description of the arguments to collect for @lcopy_value, + * analogous to @collect_format. Usually, @lcopy_format string consists + * only of `'p'`s to provide lcopy_value() with pointers to storage locations. + * @lcopy_value: Function to store the contents of a value into the + * locations collected from variadic arguments + * + * The #GTypeValueTable provides the functions required by the #GValue + * implementation, to serve as a container for values of a type. + */ +G_GNUC_BEGIN_IGNORE_DEPRECATIONS +struct _GTypeValueTable +{ + GTypeValueInitFunc value_init; + GTypeValueFreeFunc value_free; + GTypeValueCopyFunc value_copy; + GTypeValuePeekPointerFunc value_peek_pointer; + + const gchar *collect_format; + GTypeValueCollectFunc collect_value; + + const gchar *lcopy_format; + GTypeValueLCopyFunc lcopy_value; +}; +G_GNUC_END_IGNORE_DEPRECATIONS + +GOBJECT_AVAILABLE_IN_ALL +GType g_type_register_static (GType parent_type, + const gchar *type_name, + const GTypeInfo *info, + GTypeFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GType g_type_register_static_simple (GType parent_type, + const gchar *type_name, + guint class_size, + GClassInitFunc class_init, + guint instance_size, + GInstanceInitFunc instance_init, + GTypeFlags flags); + +GOBJECT_AVAILABLE_IN_ALL +GType g_type_register_dynamic (GType parent_type, + const gchar *type_name, + GTypePlugin *plugin, + GTypeFlags flags); +GOBJECT_AVAILABLE_IN_ALL +GType g_type_register_fundamental (GType type_id, + const gchar *type_name, + const GTypeInfo *info, + const GTypeFundamentalInfo *finfo, + GTypeFlags flags); +GOBJECT_AVAILABLE_IN_ALL +void g_type_add_interface_static (GType instance_type, + GType interface_type, + const GInterfaceInfo *info); +GOBJECT_AVAILABLE_IN_ALL +void g_type_add_interface_dynamic (GType instance_type, + GType interface_type, + GTypePlugin *plugin); +GOBJECT_AVAILABLE_IN_ALL +void g_type_interface_add_prerequisite (GType interface_type, + GType prerequisite_type); +GOBJECT_AVAILABLE_IN_ALL +GType*g_type_interface_prerequisites (GType interface_type, + guint *n_prerequisites); +GOBJECT_AVAILABLE_IN_2_68 +GType g_type_interface_instantiatable_prerequisite + (GType interface_type); +GOBJECT_DEPRECATED_IN_2_58 +void g_type_class_add_private (gpointer g_class, + gsize private_size); +GOBJECT_AVAILABLE_IN_2_38 +gint g_type_add_instance_private (GType class_type, + gsize private_size); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_type_instance_get_private (GTypeInstance *instance, + GType private_type); +GOBJECT_AVAILABLE_IN_2_38 +void g_type_class_adjust_private_offset (gpointer g_class, + gint *private_size_or_offset); + +GOBJECT_AVAILABLE_IN_ALL +void g_type_add_class_private (GType class_type, + gsize private_size); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_type_class_get_private (GTypeClass *klass, + GType private_type); +GOBJECT_AVAILABLE_IN_2_38 +gint g_type_class_get_instance_private_offset (gpointer g_class); + +GOBJECT_AVAILABLE_IN_2_34 +void g_type_ensure (GType type); +GOBJECT_AVAILABLE_IN_2_36 +guint g_type_get_type_registration_serial (void); + + +/* --- GType boilerplate --- */ +/** + * G_DECLARE_FINAL_TYPE: + * @ModuleObjName: The name of the new type, in camel case (like `GtkWidget`) + * @module_obj_name: The name of the new type in lowercase, with words + * separated by `_` (like `gtk_widget`) + * @MODULE: The name of the module, in all caps (like `GTK`) + * @OBJ_NAME: The bare name of the type, in all caps (like `WIDGET`) + * @ParentName: the name of the parent type, in camel case (like `GtkWidget`) + * + * A convenience macro for emitting the usual declarations in the header file + * for a type which is not (at the present time) intended to be subclassed. + * + * You might use it in a header as follows: + * + * |[ + * #ifndef _myapp_window_h_ + * #define _myapp_window_h_ + * + * #include + * + * #define MY_APP_TYPE_WINDOW my_app_window_get_type () + * G_DECLARE_FINAL_TYPE (MyAppWindow, my_app_window, MY_APP, WINDOW, GtkWindow) + * + * MyAppWindow * my_app_window_new (void); + * + * ... + * + * #endif + * ]| + * + * And use it as follow in your C file: + * + * |[ + * struct _MyAppWindow + * { + * GtkWindow parent; + * ... + * }; + * G_DEFINE_TYPE (MyAppWindow, my_app_window, GTK_TYPE_WINDOW) + * ]| + * + * This results in the following things happening: + * + * - the usual `my_app_window_get_type()` function is declared with a return type of #GType + * + * - the `MyAppWindow` type is defined as a `typedef` of `struct _MyAppWindow`. The struct itself is not + * defined and should be defined from the .c file before G_DEFINE_TYPE() is used. + * + * - the `MY_APP_WINDOW()` cast is emitted as `static inline` function along with the `MY_APP_IS_WINDOW()` type + * checking function + * + * - the `MyAppWindowClass` type is defined as a struct containing `GtkWindowClass`. This is done for the + * convenience of the person defining the type and should not be considered to be part of the ABI. In + * particular, without a firm declaration of the instance structure, it is not possible to subclass the type + * and therefore the fact that the size of the class structure is exposed is not a concern and it can be + * freely changed at any point in the future. + * + * - g_autoptr() support being added for your type, based on the type of your parent class + * + * You can only use this function if your parent type also supports g_autoptr(). + * + * Because the type macro (`MY_APP_TYPE_WINDOW` in the above example) is not a callable, you must continue to + * manually define this as a macro for yourself. + * + * The declaration of the `_get_type()` function is the first thing emitted by the macro. This allows this macro + * to be used in the usual way with export control and API versioning macros. + * + * If you want to declare your own class structure, use G_DECLARE_DERIVABLE_TYPE(). + * + * If you are writing a library, it is important to note that it is possible to convert a type from using + * G_DECLARE_FINAL_TYPE() to G_DECLARE_DERIVABLE_TYPE() without breaking API or ABI. As a precaution, you + * should therefore use G_DECLARE_FINAL_TYPE() until you are sure that it makes sense for your class to be + * subclassed. Once a class structure has been exposed it is not possible to change its size or remove or + * reorder items without breaking the API and/or ABI. + * + * Since: 2.44 + **/ +#define G_DECLARE_FINAL_TYPE(ModuleObjName, module_obj_name, MODULE, OBJ_NAME, ParentName) \ + GType module_obj_name##_get_type (void); \ + G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ + typedef struct _##ModuleObjName ModuleObjName; \ + typedef struct { ParentName##Class parent_class; } ModuleObjName##Class; \ + \ + _GLIB_DEFINE_AUTOPTR_CHAINUP (ModuleObjName, ParentName) \ + G_DEFINE_AUTOPTR_CLEANUP_FUNC (ModuleObjName##Class, g_type_class_unref) \ + \ + G_GNUC_UNUSED static inline ModuleObjName * MODULE##_##OBJ_NAME (gpointer ptr) { \ + return G_TYPE_CHECK_INSTANCE_CAST (ptr, module_obj_name##_get_type (), ModuleObjName); } \ + G_GNUC_UNUSED static inline gboolean MODULE##_IS_##OBJ_NAME (gpointer ptr) { \ + return G_TYPE_CHECK_INSTANCE_TYPE (ptr, module_obj_name##_get_type ()); } \ + G_GNUC_END_IGNORE_DEPRECATIONS + +/** + * G_DECLARE_DERIVABLE_TYPE: + * @ModuleObjName: The name of the new type, in camel case (like `GtkWidget`) + * @module_obj_name: The name of the new type in lowercase, with words + * separated by `_` (like `gtk_widget`) + * @MODULE: The name of the module, in all caps (like `GTK`) + * @OBJ_NAME: The bare name of the type, in all caps (like `WIDGET`) + * @ParentName: the name of the parent type, in camel case (like `GtkWidget`) + * + * A convenience macro for emitting the usual declarations in the + * header file for a type which is intended to be subclassed. + * + * You might use it in a header as follows: + * + * |[ + * #ifndef _gtk_frobber_h_ + * #define _gtk_frobber_h_ + * + * #define GTK_TYPE_FROBBER gtk_frobber_get_type () + * GDK_AVAILABLE_IN_3_12 + * G_DECLARE_DERIVABLE_TYPE (GtkFrobber, gtk_frobber, GTK, FROBBER, GtkWidget) + * + * struct _GtkFrobberClass + * { + * GtkWidgetClass parent_class; + * + * void (* handle_frob) (GtkFrobber *frobber, + * guint n_frobs); + * + * gpointer padding[12]; + * }; + * + * GtkWidget * gtk_frobber_new (void); + * + * ... + * + * #endif + * ]| + * + * Since the instance structure is public it is often needed to declare a + * private struct as follow in your C file: + * + * |[ + * typedef struct _GtkFrobberPrivate GtkFrobberPrivate; + * struct _GtkFrobberPrivate + * { + * ... + * }; + * G_DEFINE_TYPE_WITH_PRIVATE (GtkFrobber, gtk_frobber, GTK_TYPE_WIDGET) + * ]| + * + * This results in the following things happening: + * + * - the usual `gtk_frobber_get_type()` function is declared with a return type of #GType + * + * - the `GtkFrobber` struct is created with `GtkWidget` as the first and only item. You are expected to use + * a private structure from your .c file to store your instance variables. + * + * - the `GtkFrobberClass` type is defined as a typedef to `struct _GtkFrobberClass`, which is left undefined. + * You should do this from the header file directly after you use the macro. + * + * - the `GTK_FROBBER()` and `GTK_FROBBER_CLASS()` casts are emitted as `static inline` functions along with + * the `GTK_IS_FROBBER()` and `GTK_IS_FROBBER_CLASS()` type checking functions and `GTK_FROBBER_GET_CLASS()` + * function. + * + * - g_autoptr() support being added for your type, based on the type of your parent class + * + * You can only use this function if your parent type also supports g_autoptr(). + * + * Because the type macro (`GTK_TYPE_FROBBER` in the above example) is not a callable, you must continue to + * manually define this as a macro for yourself. + * + * The declaration of the `_get_type()` function is the first thing emitted by the macro. This allows this macro + * to be used in the usual way with export control and API versioning macros. + * + * If you are writing a library, it is important to note that it is possible to convert a type from using + * G_DECLARE_FINAL_TYPE() to G_DECLARE_DERIVABLE_TYPE() without breaking API or ABI. As a precaution, you + * should therefore use G_DECLARE_FINAL_TYPE() until you are sure that it makes sense for your class to be + * subclassed. Once a class structure has been exposed it is not possible to change its size or remove or + * reorder items without breaking the API and/or ABI. If you want to declare your own class structure, use + * G_DECLARE_DERIVABLE_TYPE(). If you want to declare a class without exposing the class or instance + * structures, use G_DECLARE_FINAL_TYPE(). + * + * If you must use G_DECLARE_DERIVABLE_TYPE() you should be sure to include some padding at the bottom of your + * class structure to leave space for the addition of future virtual functions. + * + * Since: 2.44 + **/ +#define G_DECLARE_DERIVABLE_TYPE(ModuleObjName, module_obj_name, MODULE, OBJ_NAME, ParentName) \ + GType module_obj_name##_get_type (void); \ + G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ + typedef struct _##ModuleObjName ModuleObjName; \ + typedef struct _##ModuleObjName##Class ModuleObjName##Class; \ + struct _##ModuleObjName { ParentName parent_instance; }; \ + \ + _GLIB_DEFINE_AUTOPTR_CHAINUP (ModuleObjName, ParentName) \ + G_DEFINE_AUTOPTR_CLEANUP_FUNC (ModuleObjName##Class, g_type_class_unref) \ + \ + G_GNUC_UNUSED static inline ModuleObjName * MODULE##_##OBJ_NAME (gpointer ptr) { \ + return G_TYPE_CHECK_INSTANCE_CAST (ptr, module_obj_name##_get_type (), ModuleObjName); } \ + G_GNUC_UNUSED static inline ModuleObjName##Class * MODULE##_##OBJ_NAME##_CLASS (gpointer ptr) { \ + return G_TYPE_CHECK_CLASS_CAST (ptr, module_obj_name##_get_type (), ModuleObjName##Class); } \ + G_GNUC_UNUSED static inline gboolean MODULE##_IS_##OBJ_NAME (gpointer ptr) { \ + return G_TYPE_CHECK_INSTANCE_TYPE (ptr, module_obj_name##_get_type ()); } \ + G_GNUC_UNUSED static inline gboolean MODULE##_IS_##OBJ_NAME##_CLASS (gpointer ptr) { \ + return G_TYPE_CHECK_CLASS_TYPE (ptr, module_obj_name##_get_type ()); } \ + G_GNUC_UNUSED static inline ModuleObjName##Class * MODULE##_##OBJ_NAME##_GET_CLASS (gpointer ptr) { \ + return G_TYPE_INSTANCE_GET_CLASS (ptr, module_obj_name##_get_type (), ModuleObjName##Class); } \ + G_GNUC_END_IGNORE_DEPRECATIONS + +/** + * G_DECLARE_INTERFACE: + * @ModuleObjName: The name of the new type, in camel case (like `GtkWidget`) + * @module_obj_name: The name of the new type in lowercase, with words + * separated by `_` (like `gtk_widget`) + * @MODULE: The name of the module, in all caps (like `GTK`) + * @OBJ_NAME: The bare name of the type, in all caps (like `WIDGET`) + * @PrerequisiteName: the name of the prerequisite type, in camel case (like `GtkWidget`) + * + * A convenience macro for emitting the usual declarations in the header file for a #GInterface type. + * + * You might use it in a header as follows: + * + * |[ + * #ifndef _my_model_h_ + * #define _my_model_h_ + * + * #define MY_TYPE_MODEL my_model_get_type () + * GDK_AVAILABLE_IN_3_12 + * G_DECLARE_INTERFACE (MyModel, my_model, MY, MODEL, GObject) + * + * struct _MyModelInterface + * { + * GTypeInterface g_iface; + * + * gpointer (* get_item) (MyModel *model); + * }; + * + * gpointer my_model_get_item (MyModel *model); + * + * ... + * + * #endif + * ]| + * + * And use it as follow in your C file: + * + * |[ + * G_DEFINE_INTERFACE (MyModel, my_model, G_TYPE_OBJECT); + * + * static void + * my_model_default_init (MyModelInterface *iface) + * { + * ... + * } + * ]| + * + * This results in the following things happening: + * + * - the usual `my_model_get_type()` function is declared with a return type of #GType + * + * - the `MyModelInterface` type is defined as a typedef to `struct _MyModelInterface`, + * which is left undefined. You should do this from the header file directly after + * you use the macro. + * + * - the `MY_MODEL()` cast is emitted as `static inline` functions along with + * the `MY_IS_MODEL()` type checking function and `MY_MODEL_GET_IFACE()` function. + * + * - g_autoptr() support being added for your type, based on your prerequisite type. + * + * You can only use this function if your prerequisite type also supports g_autoptr(). + * + * Because the type macro (`MY_TYPE_MODEL` in the above example) is not a callable, you must continue to + * manually define this as a macro for yourself. + * + * The declaration of the `_get_type()` function is the first thing emitted by the macro. This allows this macro + * to be used in the usual way with export control and API versioning macros. + * + * Since: 2.44 + **/ +#define G_DECLARE_INTERFACE(ModuleObjName, module_obj_name, MODULE, OBJ_NAME, PrerequisiteName) \ + GType module_obj_name##_get_type (void); \ + G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ + typedef struct _##ModuleObjName ModuleObjName; \ + typedef struct _##ModuleObjName##Interface ModuleObjName##Interface; \ + \ + _GLIB_DEFINE_AUTOPTR_CHAINUP (ModuleObjName, PrerequisiteName) \ + \ + G_GNUC_UNUSED static inline ModuleObjName * MODULE##_##OBJ_NAME (gpointer ptr) { \ + return G_TYPE_CHECK_INSTANCE_CAST (ptr, module_obj_name##_get_type (), ModuleObjName); } \ + G_GNUC_UNUSED static inline gboolean MODULE##_IS_##OBJ_NAME (gpointer ptr) { \ + return G_TYPE_CHECK_INSTANCE_TYPE (ptr, module_obj_name##_get_type ()); } \ + G_GNUC_UNUSED static inline ModuleObjName##Interface * MODULE##_##OBJ_NAME##_GET_IFACE (gpointer ptr) { \ + return G_TYPE_INSTANCE_GET_INTERFACE (ptr, module_obj_name##_get_type (), ModuleObjName##Interface); } \ + G_GNUC_END_IGNORE_DEPRECATIONS + +/** + * G_DEFINE_TYPE: + * @TN: The name of the new type, in Camel case. + * @t_n: The name of the new type, in lowercase, with words + * separated by `_`. + * @T_P: The #GType of the parent type. + * + * A convenience macro for type implementations, which declares a class + * initialization function, an instance initialization function (see #GTypeInfo + * for information about these) and a static variable named `t_n_parent_class` + * pointing to the parent class. Furthermore, it defines a `*_get_type()` function. + * See G_DEFINE_TYPE_EXTENDED() for an example. + * + * Since: 2.4 + */ +#define G_DEFINE_TYPE(TN, t_n, T_P) G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, 0, {}) +/** + * G_DEFINE_TYPE_WITH_CODE: + * @TN: The name of the new type, in Camel case. + * @t_n: The name of the new type in lowercase, with words separated by `_`. + * @T_P: The #GType of the parent type. + * @_C_: Custom code that gets inserted in the `*_get_type()` function. + * + * A convenience macro for type implementations. + * + * Similar to G_DEFINE_TYPE(), but allows you to insert custom code into the + * `*_get_type()` function, e.g. interface implementations via G_IMPLEMENT_INTERFACE(). + * See G_DEFINE_TYPE_EXTENDED() for an example. + * + * Since: 2.4 + */ +#define G_DEFINE_TYPE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, 0) {_C_;} _G_DEFINE_TYPE_EXTENDED_END() +/** + * G_DEFINE_TYPE_WITH_PRIVATE: + * @TN: The name of the new type, in Camel case. + * @t_n: The name of the new type, in lowercase, with words + * separated by `_`. + * @T_P: The #GType of the parent type. + * + * A convenience macro for type implementations, which declares a class + * initialization function, an instance initialization function (see #GTypeInfo + * for information about these), a static variable named `t_n_parent_class` + * pointing to the parent class, and adds private instance data to the type. + * + * Furthermore, it defines a `*_get_type()` function. See G_DEFINE_TYPE_EXTENDED() + * for an example. + * + * Note that private structs added with this macros must have a struct + * name of the form `TN ## Private`. + * + * The private instance data can be retrieved using the automatically generated + * getter function `t_n_get_instance_private()`. + * + * See also: G_ADD_PRIVATE() + * + * Since: 2.38 + */ +#define G_DEFINE_TYPE_WITH_PRIVATE(TN, t_n, T_P) G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, 0, G_ADD_PRIVATE (TN)) +/** + * G_DEFINE_ABSTRACT_TYPE: + * @TN: The name of the new type, in Camel case. + * @t_n: The name of the new type, in lowercase, with words + * separated by `_`. + * @T_P: The #GType of the parent type. + * + * A convenience macro for type implementations. + * + * Similar to G_DEFINE_TYPE(), but defines an abstract type. + * See G_DEFINE_TYPE_EXTENDED() for an example. + * + * Since: 2.4 + */ +#define G_DEFINE_ABSTRACT_TYPE(TN, t_n, T_P) G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, G_TYPE_FLAG_ABSTRACT, {}) +/** + * G_DEFINE_ABSTRACT_TYPE_WITH_CODE: + * @TN: The name of the new type, in Camel case. + * @t_n: The name of the new type, in lowercase, with words + * separated by `_`. + * @T_P: The #GType of the parent type. + * @_C_: Custom code that gets inserted in the `type_name_get_type()` function. + * + * A convenience macro for type implementations. + * + * Similar to G_DEFINE_TYPE_WITH_CODE(), but defines an abstract type and + * allows you to insert custom code into the `*_get_type()` function, e.g. + * interface implementations via G_IMPLEMENT_INTERFACE(). + * + * See G_DEFINE_TYPE_EXTENDED() for an example. + * + * Since: 2.4 + */ +#define G_DEFINE_ABSTRACT_TYPE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, G_TYPE_FLAG_ABSTRACT) {_C_;} _G_DEFINE_TYPE_EXTENDED_END() +/** + * G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE: + * @TN: The name of the new type, in Camel case. + * @t_n: The name of the new type, in lowercase, with words + * separated by `_`. + * @T_P: The #GType of the parent type. + * + * Similar to G_DEFINE_TYPE_WITH_PRIVATE(), but defines an abstract type. + * + * See G_DEFINE_TYPE_EXTENDED() for an example. + * + * Since: 2.38 + */ +#define G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE(TN, t_n, T_P) G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, G_TYPE_FLAG_ABSTRACT, G_ADD_PRIVATE (TN)) +/** + * G_DEFINE_FINAL_TYPE: + * @TN: the name of the new type, in Camel case + * @t_n: the name of the new type, in lower case, with words + * separated by `_` (snake case) + * @T_P: the #GType of the parent type + * + * A convenience macro for type implementations. + * + * Similar to G_DEFINE_TYPE(), but defines a final type. + * + * See G_DEFINE_TYPE_EXTENDED() for an example. + * + * Since: 2.70 + */ +#define G_DEFINE_FINAL_TYPE(TN, t_n, T_P) G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, G_TYPE_FLAG_FINAL, {}) GOBJECT_AVAILABLE_MACRO_IN_2_70 +/** + * G_DEFINE_FINAL_TYPE_WITH_CODE: + * @TN: the name of the new type, in Camel case + * @t_n: the name of the new type, in lower case, with words + * separated by `_` (snake case) + * @T_P: the #GType of the parent type + * @_C_: Custom code that gets inserted in the `type_name_get_type()` function. + * + * A convenience macro for type implementations. + * + * Similar to G_DEFINE_TYPE_WITH_CODE(), but defines a final type and + * allows you to insert custom code into the `*_get_type()` function, e.g. + * interface implementations via G_IMPLEMENT_INTERFACE(). + * + * See G_DEFINE_TYPE_EXTENDED() for an example. + * + * Since: 2.70 + */ +#define G_DEFINE_FINAL_TYPE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, G_TYPE_FLAG_FINAL) {_C_;} _G_DEFINE_TYPE_EXTENDED_END() GOBJECT_AVAILABLE_MACRO_IN_2_70 +/** + * G_DEFINE_FINAL_TYPE_WITH_PRIVATE: + * @TN: the name of the new type, in Camel case + * @t_n: the name of the new type, in lower case, with words + * separated by `_` (snake case) + * @T_P: the #GType of the parent type + * + * A convenience macro for type implementations. + * + * Similar to G_DEFINE_TYPE_WITH_PRIVATE(), but defines a final type. + * + * See G_DEFINE_TYPE_EXTENDED() for an example. + * + * Since: 2.70 + */ +#define G_DEFINE_FINAL_TYPE_WITH_PRIVATE(TN, t_n, T_P) G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, G_TYPE_FLAG_FINAL, G_ADD_PRIVATE (TN)) GOBJECT_AVAILABLE_MACRO_IN_2_70 +/** + * G_DEFINE_TYPE_EXTENDED: + * @TN: The name of the new type, in Camel case. + * @t_n: The name of the new type, in lowercase, with words + * separated by `_`. + * @T_P: The #GType of the parent type. + * @_f_: #GTypeFlags to pass to g_type_register_static() + * @_C_: Custom code that gets inserted in the `*_get_type()` function. + * + * The most general convenience macro for type implementations, on which + * G_DEFINE_TYPE(), etc are based. + * + * |[ + * G_DEFINE_TYPE_EXTENDED (GtkGadget, + * gtk_gadget, + * GTK_TYPE_WIDGET, + * 0, + * G_ADD_PRIVATE (GtkGadget) + * G_IMPLEMENT_INTERFACE (TYPE_GIZMO, + * gtk_gadget_gizmo_init)); + * ]| + * + * expands to + * + * |[ + * static void gtk_gadget_init (GtkGadget *self); + * static void gtk_gadget_class_init (GtkGadgetClass *klass); + * static gpointer gtk_gadget_parent_class = NULL; + * static gint GtkGadget_private_offset; + * static void gtk_gadget_class_intern_init (gpointer klass) + * { + * gtk_gadget_parent_class = g_type_class_peek_parent (klass); + * if (GtkGadget_private_offset != 0) + * g_type_class_adjust_private_offset (klass, &GtkGadget_private_offset); + * gtk_gadget_class_init ((GtkGadgetClass*) klass); + * } + * static inline gpointer gtk_gadget_get_instance_private (GtkGadget *self) + * { + * return (G_STRUCT_MEMBER_P (self, GtkGadget_private_offset)); + * } + * + * GType + * gtk_gadget_get_type (void) + * { + * static gsize static_g_define_type_id = 0; + * if (g_once_init_enter (&static_g_define_type_id)) + * { + * GType g_define_type_id = + * g_type_register_static_simple (GTK_TYPE_WIDGET, + * g_intern_static_string ("GtkGadget"), + * sizeof (GtkGadgetClass), + * (GClassInitFunc) gtk_gadget_class_intern_init, + * sizeof (GtkGadget), + * (GInstanceInitFunc) gtk_gadget_init, + * 0); + * { + * GtkGadget_private_offset = + * g_type_add_instance_private (g_define_type_id, sizeof (GtkGadgetPrivate)); + * } + * { + * const GInterfaceInfo g_implement_interface_info = { + * (GInterfaceInitFunc) gtk_gadget_gizmo_init + * }; + * g_type_add_interface_static (g_define_type_id, TYPE_GIZMO, &g_implement_interface_info); + * } + * g_once_init_leave (&static_g_define_type_id, g_define_type_id); + * } + * return static_g_define_type_id; + * } + * ]| + * + * The only pieces which have to be manually provided are the definitions of + * the instance and class structure and the definitions of the instance and + * class init functions. + * + * Since: 2.4 + */ +#define G_DEFINE_TYPE_EXTENDED(TN, t_n, T_P, _f_, _C_) _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, _f_) {_C_;} _G_DEFINE_TYPE_EXTENDED_END() + +/** + * G_DEFINE_INTERFACE: + * @TN: The name of the new type, in Camel case. + * @t_n: The name of the new type, in lowercase, with words separated by `_`. + * @T_P: The #GType of the prerequisite type for the interface, or %G_TYPE_INVALID + * for no prerequisite type. + * + * A convenience macro for #GTypeInterface definitions, which declares + * a default vtable initialization function and defines a `*_get_type()` + * function. + * + * The macro expects the interface initialization function to have the + * name `t_n ## _default_init`, and the interface structure to have the + * name `TN ## Interface`. + * + * The initialization function has signature + * `static void t_n ## _default_init (TypeName##Interface *klass);`, rather than + * the full #GInterfaceInitFunc signature, for brevity and convenience. If you + * need to use an initialization function with an `iface_data` argument, you + * must write the #GTypeInterface definitions manually. + * + * Since: 2.24 + */ +#define G_DEFINE_INTERFACE(TN, t_n, T_P) G_DEFINE_INTERFACE_WITH_CODE(TN, t_n, T_P, ;) + +/** + * G_DEFINE_INTERFACE_WITH_CODE: + * @TN: The name of the new type, in Camel case. + * @t_n: The name of the new type, in lowercase, with words separated by `_`. + * @T_P: The #GType of the prerequisite type for the interface, or %G_TYPE_INVALID + * for no prerequisite type. + * @_C_: Custom code that gets inserted in the `*_get_type()` function. + * + * A convenience macro for #GTypeInterface definitions. + * + * Similar to G_DEFINE_INTERFACE(), but allows you to insert custom code + * into the `*_get_type()` function, e.g. additional interface implementations + * via G_IMPLEMENT_INTERFACE(), or additional prerequisite types. + * + * See G_DEFINE_TYPE_EXTENDED() for a similar example using + * G_DEFINE_TYPE_WITH_CODE(). + * + * Since: 2.24 + */ +#define G_DEFINE_INTERFACE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_INTERFACE_EXTENDED_BEGIN(TN, t_n, T_P) {_C_;} _G_DEFINE_INTERFACE_EXTENDED_END() + +/** + * G_IMPLEMENT_INTERFACE: + * @TYPE_IFACE: The #GType of the interface to add + * @iface_init: (type GInterfaceInitFunc): The interface init function, of type #GInterfaceInitFunc + * + * A convenience macro to ease interface addition in the `_C_` section + * of G_DEFINE_TYPE_WITH_CODE() or G_DEFINE_ABSTRACT_TYPE_WITH_CODE(). + * See G_DEFINE_TYPE_EXTENDED() for an example. + * + * Note that this macro can only be used together with the `G_DEFINE_TYPE_*` + * macros, since it depends on variable names from those macros. + * + * Since: 2.4 + */ +#define G_IMPLEMENT_INTERFACE(TYPE_IFACE, iface_init) { \ + const GInterfaceInfo g_implement_interface_info = { \ + (GInterfaceInitFunc)(void (*)(void)) iface_init, NULL, NULL \ + }; \ + g_type_add_interface_static (g_define_type_id, TYPE_IFACE, &g_implement_interface_info); \ +} + +/** + * G_ADD_PRIVATE: + * @TypeName: the name of the type in CamelCase + * + * A convenience macro to ease adding private data to instances of a new type + * in the @_C_ section of G_DEFINE_TYPE_WITH_CODE() or + * G_DEFINE_ABSTRACT_TYPE_WITH_CODE(). + * + * For instance: + * + * |[ + * typedef struct _MyObject MyObject; + * typedef struct _MyObjectClass MyObjectClass; + * + * typedef struct { + * gint foo; + * gint bar; + * } MyObjectPrivate; + * + * G_DEFINE_TYPE_WITH_CODE (MyObject, my_object, G_TYPE_OBJECT, + * G_ADD_PRIVATE (MyObject)) + * ]| + * + * Will add `MyObjectPrivate` as the private data to any instance of the + * `MyObject` type. + * + * `G_DEFINE_TYPE_*` macros will automatically create a private function + * based on the arguments to this macro, which can be used to safely + * retrieve the private data from an instance of the type; for instance: + * + * |[ + * gint + * my_object_get_foo (MyObject *obj) + * { + * MyObjectPrivate *priv = my_object_get_instance_private (obj); + * + * g_return_val_if_fail (MY_IS_OBJECT (obj), 0); + * + * return priv->foo; + * } + * + * void + * my_object_set_bar (MyObject *obj, + * gint bar) + * { + * MyObjectPrivate *priv = my_object_get_instance_private (obj); + * + * g_return_if_fail (MY_IS_OBJECT (obj)); + * + * if (priv->bar != bar) + * priv->bar = bar; + * } + * ]| + * + * Since GLib 2.72, the returned `MyObjectPrivate` pointer is guaranteed to be + * aligned to at least the alignment of the largest basic GLib type (typically + * this is #guint64 or #gdouble). If you need larger alignment for an element in + * the struct, you should allocate it on the heap (aligned), or arrange for your + * `MyObjectPrivate` struct to be appropriately padded. + * + * Note that this macro can only be used together with the `G_DEFINE_TYPE_*` + * macros, since it depends on variable names from those macros. + * + * Also note that private structs added with these macros must have a struct + * name of the form `TypeNamePrivate`. + * + * It is safe to call the `_get_instance_private` function on %NULL or invalid + * objects since it's only adding an offset to the instance pointer. In that + * case the returned pointer must not be dereferenced. + * + * Since: 2.38 + */ +#define G_ADD_PRIVATE(TypeName) { \ + TypeName##_private_offset = \ + g_type_add_instance_private (g_define_type_id, sizeof (TypeName##Private)); \ +} + +/** + * G_PRIVATE_OFFSET: + * @TypeName: the name of the type in CamelCase + * @field: the name of the field in the private data structure + * + * Evaluates to the offset of the @field inside the instance private data + * structure for @TypeName. + * + * Note that this macro can only be used together with the `G_DEFINE_TYPE_*` + * and G_ADD_PRIVATE() macros, since it depends on variable names from + * those macros. + * + * Since: 2.38 + */ +#define G_PRIVATE_OFFSET(TypeName, field) \ + (TypeName##_private_offset + (G_STRUCT_OFFSET (TypeName##Private, field))) + +/** + * G_PRIVATE_FIELD_P: + * @TypeName: the name of the type in CamelCase + * @inst: the instance of @TypeName you wish to access + * @field_name: the name of the field in the private data structure + * + * Evaluates to a pointer to the @field_name inside the @inst private data + * structure for @TypeName. + * + * Note that this macro can only be used together with the `G_DEFINE_TYPE_*` + * and G_ADD_PRIVATE() macros, since it depends on variable names from + * those macros. + * + * Since: 2.38 + */ +#define G_PRIVATE_FIELD_P(TypeName, inst, field_name) \ + G_STRUCT_MEMBER_P (inst, G_PRIVATE_OFFSET (TypeName, field_name)) + +/** + * G_PRIVATE_FIELD: + * @TypeName: the name of the type in CamelCase + * @inst: the instance of @TypeName you wish to access + * @field_type: the type of the field in the private data structure + * @field_name: the name of the field in the private data structure + * + * Evaluates to the @field_name inside the @inst private data + * structure for @TypeName. + * + * Note that this macro can only be used together with the `G_DEFINE_TYPE_*` + * and G_ADD_PRIVATE() macros, since it depends on variable names from + * those macros. + * + * Since: 2.38 + */ +#define G_PRIVATE_FIELD(TypeName, inst, field_type, field_name) \ + G_STRUCT_MEMBER (field_type, inst, G_PRIVATE_OFFSET (TypeName, field_name)) + +/* we need to have this macro under conditional expansion, as it references + * a function that has been added in 2.38. see bug: + * https://bugzilla.gnome.org/show_bug.cgi?id=703191 + */ +#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 +#define _G_DEFINE_TYPE_EXTENDED_CLASS_INIT(TypeName, type_name) \ +static void type_name##_class_intern_init (gpointer klass) \ +{ \ + type_name##_parent_class = g_type_class_peek_parent (klass); \ + if (TypeName##_private_offset != 0) \ + g_type_class_adjust_private_offset (klass, &TypeName##_private_offset); \ + type_name##_class_init ((TypeName##Class*) klass); \ +} + +#else +#define _G_DEFINE_TYPE_EXTENDED_CLASS_INIT(TypeName, type_name) \ +static void type_name##_class_intern_init (gpointer klass) \ +{ \ + type_name##_parent_class = g_type_class_peek_parent (klass); \ + type_name##_class_init ((TypeName##Class*) klass); \ +} +#endif /* GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 */ + +/* Added for _G_DEFINE_TYPE_EXTENDED_WITH_PRELUDE */ +#define _G_DEFINE_TYPE_EXTENDED_BEGIN_PRE(TypeName, type_name, TYPE_PARENT) \ +\ +static void type_name##_init (TypeName *self); \ +static void type_name##_class_init (TypeName##Class *klass); \ +static GType type_name##_get_type_once (void); \ +static gpointer type_name##_parent_class = NULL; \ +static gint TypeName##_private_offset; \ +\ +_G_DEFINE_TYPE_EXTENDED_CLASS_INIT(TypeName, type_name) \ +\ +G_GNUC_UNUSED \ +static inline gpointer \ +type_name##_get_instance_private (TypeName *self) \ +{ \ + return (G_STRUCT_MEMBER_P (self, TypeName##_private_offset)); \ +} \ +\ +GType \ +type_name##_get_type (void) \ +{ \ + static gsize static_g_define_type_id = 0; + /* Prelude goes here */ + +/* Added for _G_DEFINE_TYPE_EXTENDED_WITH_PRELUDE */ +#define _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER(TypeName, type_name, TYPE_PARENT, flags) \ + if (g_once_init_enter (&static_g_define_type_id)) \ + { \ + GType g_define_type_id = type_name##_get_type_once (); \ + g_once_init_leave (&static_g_define_type_id, g_define_type_id); \ + } \ + return static_g_define_type_id; \ +} /* closes type_name##_get_type() */ \ +\ +G_NO_INLINE \ +static GType \ +type_name##_get_type_once (void) \ +{ \ + GType g_define_type_id = \ + g_type_register_static_simple (TYPE_PARENT, \ + g_intern_static_string (#TypeName), \ + sizeof (TypeName##Class), \ + (GClassInitFunc)(void (*)(void)) type_name##_class_intern_init, \ + sizeof (TypeName), \ + (GInstanceInitFunc)(void (*)(void)) type_name##_init, \ + (GTypeFlags) flags); \ + { /* custom code follows */ +#define _G_DEFINE_TYPE_EXTENDED_END() \ + /* following custom code */ \ + } \ + return g_define_type_id; \ +} /* closes type_name##_get_type_once() */ + +/* This was defined before we had G_DEFINE_TYPE_WITH_CODE_AND_PRELUDE, it's simplest + * to keep it. + */ +#define _G_DEFINE_TYPE_EXTENDED_BEGIN(TypeName, type_name, TYPE_PARENT, flags) \ + _G_DEFINE_TYPE_EXTENDED_BEGIN_PRE(TypeName, type_name, TYPE_PARENT) \ + _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER(TypeName, type_name, TYPE_PARENT, flags) \ + +/* Intentionally using (GTypeFlags) 0 instead of G_TYPE_FLAG_NONE here, + * to avoid deprecation warnings with older GLIB_VERSION_MAX_ALLOWED */ +#define _G_DEFINE_INTERFACE_EXTENDED_BEGIN(TypeName, type_name, TYPE_PREREQ) \ +\ +static void type_name##_default_init (TypeName##Interface *klass); \ +\ +GType \ +type_name##_get_type (void) \ +{ \ + static gsize static_g_define_type_id = 0; \ + if (g_once_init_enter (&static_g_define_type_id)) \ + { \ + GType g_define_type_id = \ + g_type_register_static_simple (G_TYPE_INTERFACE, \ + g_intern_static_string (#TypeName), \ + sizeof (TypeName##Interface), \ + (GClassInitFunc)(void (*)(void)) type_name##_default_init, \ + 0, \ + (GInstanceInitFunc)NULL, \ + (GTypeFlags) 0); \ + if (TYPE_PREREQ != G_TYPE_INVALID) \ + g_type_interface_add_prerequisite (g_define_type_id, TYPE_PREREQ); \ + { /* custom code follows */ +#define _G_DEFINE_INTERFACE_EXTENDED_END() \ + /* following custom code */ \ + } \ + g_once_init_leave (&static_g_define_type_id, g_define_type_id); \ + } \ + return static_g_define_type_id; \ +} /* closes type_name##_get_type() */ + +/** + * G_DEFINE_BOXED_TYPE: + * @TypeName: The name of the new type, in Camel case + * @type_name: The name of the new type, in lowercase, with words + * separated by `_` + * @copy_func: the #GBoxedCopyFunc for the new type + * @free_func: the #GBoxedFreeFunc for the new type + * + * A convenience macro for defining a new custom boxed type. + * + * Using this macro is the recommended way of defining new custom boxed + * types, over calling g_boxed_type_register_static() directly. It defines + * a `type_name_get_type()` function which will return the newly defined + * #GType, enabling lazy instantiation. + * + * You might start by putting declarations in a header as follows: + * + * |[ + * #define MY_TYPE_STRUCT my_struct_get_type () + * GType my_struct_get_type (void) G_GNUC_CONST; + * + * MyStruct * my_struct_new (void); + * void my_struct_free (MyStruct *self); + * MyStruct * my_struct_copy (MyStruct *self); + * ]| + * + * And then use this macro and define your implementation in the source file as + * follows: + * + * |[ + * MyStruct * + * my_struct_new (void) + * { + * // ... your code to allocate a new MyStruct ... + * } + * + * void + * my_struct_free (MyStruct *self) + * { + * // ... your code to free a MyStruct ... + * } + * + * MyStruct * + * my_struct_copy (MyStruct *self) + * { + * // ... your code return a newly allocated copy of a MyStruct ... + * } + * + * G_DEFINE_BOXED_TYPE (MyStruct, my_struct, my_struct_copy, my_struct_free) + * + * void + * foo () + * { + * MyStruct *ms; + * + * ms = my_struct_new (); + * // ... your code ... + * my_struct_free (ms); + * } + * ]| + * + * Since: 2.26 + */ +#define G_DEFINE_BOXED_TYPE(TypeName, type_name, copy_func, free_func) G_DEFINE_BOXED_TYPE_WITH_CODE (TypeName, type_name, copy_func, free_func, {}) +/** + * G_DEFINE_BOXED_TYPE_WITH_CODE: + * @TypeName: The name of the new type, in Camel case + * @type_name: The name of the new type, in lowercase, with words + * separated by `_` + * @copy_func: the #GBoxedCopyFunc for the new type + * @free_func: the #GBoxedFreeFunc for the new type + * @_C_: Custom code that gets inserted in the `*_get_type()` function + * + * A convenience macro for boxed type implementations. + * + * Similar to G_DEFINE_BOXED_TYPE(), but allows to insert custom code into the + * `type_name_get_type()` function, e.g. to register value transformations with + * g_value_register_transform_func(), for instance: + * + * |[ + * G_DEFINE_BOXED_TYPE_WITH_CODE (GdkRectangle, gdk_rectangle, + * gdk_rectangle_copy, + * gdk_rectangle_free, + * register_rectangle_transform_funcs (g_define_type_id)) + * ]| + * + * Similarly to the `G_DEFINE_TYPE_*` family of macros, the #GType of the newly + * defined boxed type is exposed in the `g_define_type_id` variable. + * + * Since: 2.26 + */ +#define G_DEFINE_BOXED_TYPE_WITH_CODE(TypeName, type_name, copy_func, free_func, _C_) _G_DEFINE_BOXED_TYPE_BEGIN (TypeName, type_name, copy_func, free_func) {_C_;} _G_DEFINE_TYPE_EXTENDED_END() + +/* Only use this in non-C++ on GCC >= 2.7, except for Darwin/ppc64. + * See https://bugzilla.gnome.org/show_bug.cgi?id=647145 + */ +#if !defined (G_CXX_STD_VERSION) && (G_GNUC_CHECK_VERSION(2, 7)) && \ + !(defined (__APPLE__) && defined (__ppc64__)) +#define _G_DEFINE_BOXED_TYPE_BEGIN(TypeName, type_name, copy_func, free_func) \ +static GType type_name##_get_type_once (void); \ +\ +GType \ +type_name##_get_type (void) \ +{ \ + static gsize static_g_define_type_id = 0; \ + if (g_once_init_enter (&static_g_define_type_id)) \ + { \ + GType g_define_type_id = type_name##_get_type_once (); \ + g_once_init_leave (&static_g_define_type_id, g_define_type_id); \ + } \ + return static_g_define_type_id; \ +} \ +\ +G_NO_INLINE \ +static GType \ +type_name##_get_type_once (void) \ +{ \ + GType (* _g_register_boxed) \ + (const gchar *, \ + union \ + { \ + TypeName * (*do_copy_type) (TypeName *); \ + TypeName * (*do_const_copy_type) (const TypeName *); \ + GBoxedCopyFunc do_copy_boxed; \ + } __attribute__((__transparent_union__)), \ + union \ + { \ + void (* do_free_type) (TypeName *); \ + GBoxedFreeFunc do_free_boxed; \ + } __attribute__((__transparent_union__)) \ + ) = g_boxed_type_register_static; \ + GType g_define_type_id = \ + _g_register_boxed (g_intern_static_string (#TypeName), copy_func, free_func); \ + { /* custom code follows */ +#else +#define _G_DEFINE_BOXED_TYPE_BEGIN(TypeName, type_name, copy_func, free_func) \ +static GType type_name##_get_type_once (void); \ +\ +GType \ +type_name##_get_type (void) \ +{ \ + static gsize static_g_define_type_id = 0; \ + if (g_once_init_enter (&static_g_define_type_id)) \ + { \ + GType g_define_type_id = type_name##_get_type_once (); \ + g_once_init_leave (&static_g_define_type_id, g_define_type_id); \ + } \ + return static_g_define_type_id; \ +} \ +\ +G_NO_INLINE \ +static GType \ +type_name##_get_type_once (void) \ +{ \ + GType g_define_type_id = \ + g_boxed_type_register_static (g_intern_static_string (#TypeName), \ + (GBoxedCopyFunc) copy_func, \ + (GBoxedFreeFunc) free_func); \ + { /* custom code follows */ +#endif /* __GNUC__ */ + +/** + * G_DEFINE_POINTER_TYPE: + * @TypeName: The name of the new type, in Camel case + * @type_name: The name of the new type, in lowercase, with words + * separated by `_` + * + * A convenience macro for pointer type implementations, which defines a + * `type_name_get_type()` function registering the pointer type. + * + * Since: 2.26 + */ +#define G_DEFINE_POINTER_TYPE(TypeName, type_name) G_DEFINE_POINTER_TYPE_WITH_CODE (TypeName, type_name, {}) +/** + * G_DEFINE_POINTER_TYPE_WITH_CODE: + * @TypeName: The name of the new type, in Camel case + * @type_name: The name of the new type, in lowercase, with words + * separated by `_` + * @_C_: Custom code that gets inserted in the `*_get_type()` function + * + * A convenience macro for pointer type implementations. + * Similar to G_DEFINE_POINTER_TYPE(), but allows to insert + * custom code into the `type_name_get_type()` function. + * + * Since: 2.26 + */ +#define G_DEFINE_POINTER_TYPE_WITH_CODE(TypeName, type_name, _C_) _G_DEFINE_POINTER_TYPE_BEGIN (TypeName, type_name) {_C_;} _G_DEFINE_TYPE_EXTENDED_END() + +#define _G_DEFINE_POINTER_TYPE_BEGIN(TypeName, type_name) \ +static GType type_name##_get_type_once (void); \ +\ +GType \ +type_name##_get_type (void) \ +{ \ + static gsize static_g_define_type_id = 0; \ + if (g_once_init_enter (&static_g_define_type_id)) \ + { \ + GType g_define_type_id = type_name##_get_type_once (); \ + g_once_init_leave (&static_g_define_type_id, g_define_type_id); \ + } \ + return static_g_define_type_id; \ +} \ +\ +G_NO_INLINE \ +static GType \ +type_name##_get_type_once (void) \ +{ \ + GType g_define_type_id = \ + g_pointer_type_register_static (g_intern_static_string (#TypeName)); \ + { /* custom code follows */ + +/* --- protected (for fundamental type implementations) --- */ +GOBJECT_AVAILABLE_IN_ALL +GTypePlugin* g_type_get_plugin (GType type); +GOBJECT_AVAILABLE_IN_ALL +GTypePlugin* g_type_interface_get_plugin (GType instance_type, + GType interface_type); +GOBJECT_AVAILABLE_IN_ALL +GType g_type_fundamental_next (void); +GOBJECT_AVAILABLE_IN_ALL +GType g_type_fundamental (GType type_id); +GOBJECT_AVAILABLE_IN_ALL +GTypeInstance* g_type_create_instance (GType type); +GOBJECT_AVAILABLE_IN_ALL +void g_type_free_instance (GTypeInstance *instance); + +GOBJECT_AVAILABLE_IN_ALL +void g_type_add_class_cache_func (gpointer cache_data, + GTypeClassCacheFunc cache_func); +GOBJECT_AVAILABLE_IN_ALL +void g_type_remove_class_cache_func (gpointer cache_data, + GTypeClassCacheFunc cache_func); +GOBJECT_AVAILABLE_IN_ALL +void g_type_class_unref_uncached (gpointer g_class); + +GOBJECT_AVAILABLE_IN_ALL +void g_type_add_interface_check (gpointer check_data, + GTypeInterfaceCheckFunc check_func); +GOBJECT_AVAILABLE_IN_ALL +void g_type_remove_interface_check (gpointer check_data, + GTypeInterfaceCheckFunc check_func); + +GOBJECT_AVAILABLE_IN_ALL +GTypeValueTable* g_type_value_table_peek (GType type); + + +/*< private >*/ +GOBJECT_AVAILABLE_IN_ALL +gboolean g_type_check_instance (GTypeInstance *instance) G_GNUC_PURE; +GOBJECT_AVAILABLE_IN_ALL +GTypeInstance* g_type_check_instance_cast (GTypeInstance *instance, + GType iface_type); +GOBJECT_AVAILABLE_IN_ALL +gboolean g_type_check_instance_is_a (GTypeInstance *instance, + GType iface_type) G_GNUC_PURE; +GOBJECT_AVAILABLE_IN_2_42 +gboolean g_type_check_instance_is_fundamentally_a (GTypeInstance *instance, + GType fundamental_type) G_GNUC_PURE; +GOBJECT_AVAILABLE_IN_ALL +GTypeClass* g_type_check_class_cast (GTypeClass *g_class, + GType is_a_type); +GOBJECT_AVAILABLE_IN_ALL +gboolean g_type_check_class_is_a (GTypeClass *g_class, + GType is_a_type) G_GNUC_PURE; +GOBJECT_AVAILABLE_IN_ALL +gboolean g_type_check_is_value_type (GType type) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +gboolean g_type_check_value (const GValue *value) G_GNUC_PURE; +GOBJECT_AVAILABLE_IN_ALL +gboolean g_type_check_value_holds (const GValue *value, + GType type) G_GNUC_PURE; +GOBJECT_AVAILABLE_IN_ALL +gboolean g_type_test_flags (GType type, + guint flags) G_GNUC_CONST; + + +/* --- debugging functions --- */ +GOBJECT_AVAILABLE_IN_ALL +const gchar * g_type_name_from_instance (GTypeInstance *instance); +GOBJECT_AVAILABLE_IN_ALL +const gchar * g_type_name_from_class (GTypeClass *g_class); + + +/* --- implementation bits --- */ +#if defined(G_DISABLE_CAST_CHECKS) || defined(__OPTIMIZE__) +# define _G_TYPE_CIC(ip, gt, ct) ((ct*) (void *) ip) +# define _G_TYPE_CCC(cp, gt, ct) ((ct*) (void *) cp) +#else +# define _G_TYPE_CIC(ip, gt, ct) \ + ((ct*) (void *) g_type_check_instance_cast ((GTypeInstance*) ip, gt)) +# define _G_TYPE_CCC(cp, gt, ct) \ + ((ct*) (void *) g_type_check_class_cast ((GTypeClass*) cp, gt)) +#endif + +#define _G_TYPE_CHI(ip) (g_type_check_instance ((GTypeInstance*) ip)) +#define _G_TYPE_CHV(vl) (g_type_check_value ((GValue*) vl)) +#define _G_TYPE_IGC(ip, gt, ct) ((ct*) (((GTypeInstance*) ip)->g_class)) +#define _G_TYPE_IGI(ip, gt, ct) ((ct*) g_type_interface_peek (((GTypeInstance*) ip)->g_class, gt)) +#define _G_TYPE_CIFT(ip, ft) (g_type_check_instance_is_fundamentally_a ((GTypeInstance*) ip, ft)) +#ifdef __GNUC__ +# define _G_TYPE_CIT(ip, gt) (G_GNUC_EXTENSION ({ \ + GTypeInstance *__inst = (GTypeInstance*) ip; GType __t = gt; gboolean __r; \ + if (!__inst) \ + __r = FALSE; \ + else if (__inst->g_class && __inst->g_class->g_type == __t) \ + __r = TRUE; \ + else \ + __r = g_type_check_instance_is_a (__inst, __t); \ + __r; \ +})) +# define _G_TYPE_CCT(cp, gt) (G_GNUC_EXTENSION ({ \ + GTypeClass *__class = (GTypeClass*) cp; GType __t = gt; gboolean __r; \ + if (!__class) \ + __r = FALSE; \ + else if (__class->g_type == __t) \ + __r = TRUE; \ + else \ + __r = g_type_check_class_is_a (__class, __t); \ + __r; \ +})) +# define _G_TYPE_CVH(vl, gt) (G_GNUC_EXTENSION ({ \ + const GValue *__val = (const GValue*) vl; GType __t = gt; gboolean __r; \ + if (!__val) \ + __r = FALSE; \ + else if (__val->g_type == __t) \ + __r = TRUE; \ + else \ + __r = g_type_check_value_holds (__val, __t); \ + __r; \ +})) +#else /* !__GNUC__ */ +# define _G_TYPE_CIT(ip, gt) (g_type_check_instance_is_a ((GTypeInstance*) ip, gt)) +# define _G_TYPE_CCT(cp, gt) (g_type_check_class_is_a ((GTypeClass*) cp, gt)) +# define _G_TYPE_CVH(vl, gt) (g_type_check_value_holds ((const GValue*) vl, gt)) +#endif /* !__GNUC__ */ +/** + * G_TYPE_FLAG_RESERVED_ID_BIT: + * + * A bit in the type number that's supposed to be left untouched. + */ +#define G_TYPE_FLAG_RESERVED_ID_BIT ((GType) (1 << 0)) + +G_END_DECLS + +#endif /* __G_TYPE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gtypemodule.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gtypemodule.h new file mode 100644 index 0000000..e386b50 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gtypemodule.h @@ -0,0 +1,302 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * Copyright (C) 2000 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ +#ifndef __G_TYPE_MODULE_H__ +#define __G_TYPE_MODULE_H__ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +typedef struct _GTypeModule GTypeModule; +typedef struct _GTypeModuleClass GTypeModuleClass; + +#define G_TYPE_TYPE_MODULE (g_type_module_get_type ()) +#define G_TYPE_MODULE(module) (G_TYPE_CHECK_INSTANCE_CAST ((module), G_TYPE_TYPE_MODULE, GTypeModule)) +#define G_TYPE_MODULE_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_TYPE_MODULE, GTypeModuleClass)) +#define G_IS_TYPE_MODULE(module) (G_TYPE_CHECK_INSTANCE_TYPE ((module), G_TYPE_TYPE_MODULE)) +#define G_IS_TYPE_MODULE_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_TYPE_MODULE)) +#define G_TYPE_MODULE_GET_CLASS(module) (G_TYPE_INSTANCE_GET_CLASS ((module), G_TYPE_TYPE_MODULE, GTypeModuleClass)) + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GTypeModule, g_object_unref) + +/** + * GTypeModule: + * @name: the name of the module + * + * The members of the GTypeModule structure should not + * be accessed directly, except for the @name field. + */ +struct _GTypeModule +{ + GObject parent_instance; + + guint use_count; + GSList *type_infos; + GSList *interface_infos; + + /*< public >*/ + gchar *name; +}; + +/** + * GTypeModuleClass: + * @parent_class: the parent class + * @load: loads the module and registers one or more types using + * g_type_module_register_type(). + * @unload: unloads the module + * + * In order to implement dynamic loading of types based on #GTypeModule, + * the @load and @unload functions in #GTypeModuleClass must be implemented. + */ +struct _GTypeModuleClass +{ + GObjectClass parent_class; + + /*< public >*/ + gboolean (* load) (GTypeModule *module); + void (* unload) (GTypeModule *module); + + /*< private >*/ + /* Padding for future expansion */ + void (*reserved1) (void); + void (*reserved2) (void); + void (*reserved3) (void); + void (*reserved4) (void); +}; + +/** + * G_DEFINE_DYNAMIC_TYPE: + * @TN: The name of the new type, in Camel case. + * @t_n: The name of the new type, in lowercase, with words + * separated by '_'. + * @T_P: The #GType of the parent type. + * + * A convenience macro for dynamic type implementations, which declares a + * class initialization function, an instance initialization function (see + * #GTypeInfo for information about these) and a static variable named + * `t_n`_parent_class pointing to the parent class. + * + * Furthermore, it defines a `*_get_type()` and a static `*_register_type()` + * functions for use in your `module_init()`. + * + * See G_DEFINE_DYNAMIC_TYPE_EXTENDED() for an example. + * + * Since: 2.14 + */ +#define G_DEFINE_DYNAMIC_TYPE(TN, t_n, T_P) G_DEFINE_DYNAMIC_TYPE_EXTENDED (TN, t_n, T_P, 0, {}) +/** + * G_DEFINE_DYNAMIC_TYPE_EXTENDED: + * @TypeName: The name of the new type, in Camel case. + * @type_name: The name of the new type, in lowercase, with words + * separated by '_'. + * @TYPE_PARENT: The #GType of the parent type. + * @flags: #GTypeFlags to pass to g_type_module_register_type() + * @CODE: Custom code that gets inserted in the *_get_type() function. + * + * A more general version of G_DEFINE_DYNAMIC_TYPE() which + * allows to specify #GTypeFlags and custom code. + * + * |[ + * G_DEFINE_DYNAMIC_TYPE_EXTENDED (GtkGadget, + * gtk_gadget, + * GTK_TYPE_THING, + * 0, + * G_IMPLEMENT_INTERFACE_DYNAMIC (TYPE_GIZMO, + * gtk_gadget_gizmo_init)); + * ]| + * + * expands to + * + * |[ + * static void gtk_gadget_init (GtkGadget *self); + * static void gtk_gadget_class_init (GtkGadgetClass *klass); + * static void gtk_gadget_class_finalize (GtkGadgetClass *klass); + * + * static gpointer gtk_gadget_parent_class = NULL; + * static GType gtk_gadget_type_id = 0; + * + * static void gtk_gadget_class_intern_init (gpointer klass) + * { + * gtk_gadget_parent_class = g_type_class_peek_parent (klass); + * gtk_gadget_class_init ((GtkGadgetClass*) klass); + * } + * + * GType + * gtk_gadget_get_type (void) + * { + * return gtk_gadget_type_id; + * } + * + * static void + * gtk_gadget_register_type (GTypeModule *type_module) + * { + * const GTypeInfo g_define_type_info = { + * sizeof (GtkGadgetClass), + * (GBaseInitFunc) NULL, + * (GBaseFinalizeFunc) NULL, + * (GClassInitFunc) gtk_gadget_class_intern_init, + * (GClassFinalizeFunc) gtk_gadget_class_finalize, + * NULL, // class_data + * sizeof (GtkGadget), + * 0, // n_preallocs + * (GInstanceInitFunc) gtk_gadget_init, + * NULL // value_table + * }; + * gtk_gadget_type_id = g_type_module_register_type (type_module, + * GTK_TYPE_THING, + * "GtkGadget", + * &g_define_type_info, + * (GTypeFlags) flags); + * { + * const GInterfaceInfo g_implement_interface_info = { + * (GInterfaceInitFunc) gtk_gadget_gizmo_init + * }; + * g_type_module_add_interface (type_module, g_define_type_id, TYPE_GIZMO, &g_implement_interface_info); + * } + * } + * ]| + * + * Since: 2.14 + */ +#define G_DEFINE_DYNAMIC_TYPE_EXTENDED(TypeName, type_name, TYPE_PARENT, flags, CODE) \ +static void type_name##_init (TypeName *self); \ +static void type_name##_class_init (TypeName##Class *klass); \ +static void type_name##_class_finalize (TypeName##Class *klass); \ +static gpointer type_name##_parent_class = NULL; \ +static GType type_name##_type_id = 0; \ +static gint TypeName##_private_offset; \ +\ +_G_DEFINE_TYPE_EXTENDED_CLASS_INIT(TypeName, type_name) \ +\ +G_GNUC_UNUSED \ +static inline gpointer \ +type_name##_get_instance_private (TypeName *self) \ +{ \ + return (G_STRUCT_MEMBER_P (self, TypeName##_private_offset)); \ +} \ +\ +GType \ +type_name##_get_type (void) \ +{ \ + return type_name##_type_id; \ +} \ +static void \ +type_name##_register_type (GTypeModule *type_module) \ +{ \ + GType g_define_type_id G_GNUC_UNUSED; \ + const GTypeInfo g_define_type_info = { \ + sizeof (TypeName##Class), \ + (GBaseInitFunc) NULL, \ + (GBaseFinalizeFunc) NULL, \ + (GClassInitFunc)(void (*)(void)) type_name##_class_intern_init, \ + (GClassFinalizeFunc)(void (*)(void)) type_name##_class_finalize, \ + NULL, /* class_data */ \ + sizeof (TypeName), \ + 0, /* n_preallocs */ \ + (GInstanceInitFunc)(void (*)(void)) type_name##_init, \ + NULL /* value_table */ \ + }; \ + type_name##_type_id = g_type_module_register_type (type_module, \ + TYPE_PARENT, \ + #TypeName, \ + &g_define_type_info, \ + (GTypeFlags) flags); \ + g_define_type_id = type_name##_type_id; \ + { CODE ; } \ +} + +/** + * G_IMPLEMENT_INTERFACE_DYNAMIC: + * @TYPE_IFACE: The #GType of the interface to add + * @iface_init: The interface init function + * + * A convenience macro to ease interface addition in the @_C_ section + * of G_DEFINE_DYNAMIC_TYPE_EXTENDED(). + * + * See G_DEFINE_DYNAMIC_TYPE_EXTENDED() for an example. + * + * Note that this macro can only be used together with the + * G_DEFINE_DYNAMIC_TYPE_EXTENDED macros, since it depends on variable + * names from that macro. + * + * Since: 2.24 + */ +#define G_IMPLEMENT_INTERFACE_DYNAMIC(TYPE_IFACE, iface_init) { \ + const GInterfaceInfo g_implement_interface_info = { \ + (GInterfaceInitFunc)(void (*)(void)) iface_init, NULL, NULL \ + }; \ + g_type_module_add_interface (type_module, g_define_type_id, TYPE_IFACE, &g_implement_interface_info); \ +} + +/** + * G_ADD_PRIVATE_DYNAMIC: + * @TypeName: the name of the type in CamelCase + * + * A convenience macro to ease adding private data to instances of a new dynamic + * type in the @_C_ section of G_DEFINE_DYNAMIC_TYPE_EXTENDED(). + * + * See G_ADD_PRIVATE() for details, it is similar but for static types. + * + * Note that this macro can only be used together with the + * G_DEFINE_DYNAMIC_TYPE_EXTENDED macros, since it depends on variable + * names from that macro. + * + * Since: 2.38 + */ +#define G_ADD_PRIVATE_DYNAMIC(TypeName) { \ + TypeName##_private_offset = sizeof (TypeName##Private); \ +} + +GOBJECT_AVAILABLE_IN_ALL +GType g_type_module_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +gboolean g_type_module_use (GTypeModule *module); +GOBJECT_AVAILABLE_IN_ALL +void g_type_module_unuse (GTypeModule *module); +GOBJECT_AVAILABLE_IN_ALL +void g_type_module_set_name (GTypeModule *module, + const gchar *name); +GOBJECT_AVAILABLE_IN_ALL +GType g_type_module_register_type (GTypeModule *module, + GType parent_type, + const gchar *type_name, + const GTypeInfo *type_info, + GTypeFlags flags); +GOBJECT_AVAILABLE_IN_ALL +void g_type_module_add_interface (GTypeModule *module, + GType instance_type, + GType interface_type, + const GInterfaceInfo *interface_info); +GOBJECT_AVAILABLE_IN_ALL +GType g_type_module_register_enum (GTypeModule *module, + const gchar *name, + const GEnumValue *const_static_values); +GOBJECT_AVAILABLE_IN_ALL +GType g_type_module_register_flags (GTypeModule *module, + const gchar *name, + const GFlagsValue *const_static_values); + +G_END_DECLS + +#endif /* __G_TYPE_MODULE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gtypeplugin.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gtypeplugin.h new file mode 100644 index 0000000..3711932 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gtypeplugin.h @@ -0,0 +1,136 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * Copyright (C) 2000 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + */ +#ifndef __G_TYPE_PLUGIN_H__ +#define __G_TYPE_PLUGIN_H__ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/* --- type macros --- */ +#define G_TYPE_TYPE_PLUGIN (g_type_plugin_get_type ()) +#define G_TYPE_PLUGIN(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_TYPE_PLUGIN, GTypePlugin)) +#define G_TYPE_PLUGIN_CLASS(vtable) (G_TYPE_CHECK_CLASS_CAST ((vtable), G_TYPE_TYPE_PLUGIN, GTypePluginClass)) +#define G_IS_TYPE_PLUGIN(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_TYPE_PLUGIN)) +#define G_IS_TYPE_PLUGIN_CLASS(vtable) (G_TYPE_CHECK_CLASS_TYPE ((vtable), G_TYPE_TYPE_PLUGIN)) +#define G_TYPE_PLUGIN_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), G_TYPE_TYPE_PLUGIN, GTypePluginClass)) + + +/* --- typedefs & structures --- */ +typedef struct _GTypePluginClass GTypePluginClass; +/** + * GTypePluginUse: + * @plugin: the #GTypePlugin whose use count should be increased + * + * The type of the @use_plugin function of #GTypePluginClass, which gets called + * to increase the use count of @plugin. + */ +typedef void (*GTypePluginUse) (GTypePlugin *plugin); +/** + * GTypePluginUnuse: + * @plugin: the #GTypePlugin whose use count should be decreased + * + * The type of the @unuse_plugin function of #GTypePluginClass. + */ +typedef void (*GTypePluginUnuse) (GTypePlugin *plugin); +/** + * GTypePluginCompleteTypeInfo: + * @plugin: the #GTypePlugin + * @g_type: the #GType whose info is completed + * @info: the #GTypeInfo struct to fill in + * @value_table: the #GTypeValueTable to fill in + * + * The type of the @complete_type_info function of #GTypePluginClass. + */ +typedef void (*GTypePluginCompleteTypeInfo) (GTypePlugin *plugin, + GType g_type, + GTypeInfo *info, + GTypeValueTable *value_table); +/** + * GTypePluginCompleteInterfaceInfo: + * @plugin: the #GTypePlugin + * @instance_type: the #GType of an instantiatable type to which the interface + * is added + * @interface_type: the #GType of the interface whose info is completed + * @info: the #GInterfaceInfo to fill in + * + * The type of the @complete_interface_info function of #GTypePluginClass. + */ +typedef void (*GTypePluginCompleteInterfaceInfo) (GTypePlugin *plugin, + GType instance_type, + GType interface_type, + GInterfaceInfo *info); +/** + * GTypePlugin: + * + * The GTypePlugin typedef is used as a placeholder + * for objects that implement the GTypePlugin interface. + */ +/** + * GTypePluginClass: + * @use_plugin: Increases the use count of the plugin. + * @unuse_plugin: Decreases the use count of the plugin. + * @complete_type_info: Fills in the #GTypeInfo and + * #GTypeValueTable structs for the type. The structs are initialized + * with `memset(s, 0, sizeof (s))` before calling this function. + * @complete_interface_info: Fills in missing parts of the #GInterfaceInfo + * for the interface. The structs is initialized with + * `memset(s, 0, sizeof (s))` before calling this function. + * + * The #GTypePlugin interface is used by the type system in order to handle + * the lifecycle of dynamically loaded types. + */ +struct _GTypePluginClass +{ + /*< private >*/ + GTypeInterface base_iface; + + /*< public >*/ + GTypePluginUse use_plugin; + GTypePluginUnuse unuse_plugin; + GTypePluginCompleteTypeInfo complete_type_info; + GTypePluginCompleteInterfaceInfo complete_interface_info; +}; + + +/* --- prototypes --- */ +GOBJECT_AVAILABLE_IN_ALL +GType g_type_plugin_get_type (void) G_GNUC_CONST; +GOBJECT_AVAILABLE_IN_ALL +void g_type_plugin_use (GTypePlugin *plugin); +GOBJECT_AVAILABLE_IN_ALL +void g_type_plugin_unuse (GTypePlugin *plugin); +GOBJECT_AVAILABLE_IN_ALL +void g_type_plugin_complete_type_info (GTypePlugin *plugin, + GType g_type, + GTypeInfo *info, + GTypeValueTable *value_table); +GOBJECT_AVAILABLE_IN_ALL +void g_type_plugin_complete_interface_info (GTypePlugin *plugin, + GType instance_type, + GType interface_type, + GInterfaceInfo *info); + +G_END_DECLS + +#endif /* __G_TYPE_PLUGIN_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gvalue.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gvalue.h new file mode 100644 index 0000000..2ac5ca1 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gvalue.h @@ -0,0 +1,212 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * Copyright (C) 1997-1999, 2000-2001 Tim Janik and Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * gvalue.h: generic GValue functions + */ +#ifndef __G_VALUE_H__ +#define __G_VALUE_H__ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/* --- type macros --- */ +/** + * G_TYPE_IS_VALUE: + * @type: A #GType value. + * + * Checks whether the passed in type ID can be used for g_value_init(). + * + * That is, this macro checks whether this type provides an implementation + * of the #GTypeValueTable functions required for a type to create a #GValue of. + * + * Returns: Whether @type is suitable as a #GValue type. + */ +#define G_TYPE_IS_VALUE(type) (g_type_check_is_value_type (type)) +/** + * G_IS_VALUE: + * @value: A #GValue structure. + * + * Checks if @value is a valid and initialized #GValue structure. + * + * Returns: %TRUE on success. + */ +#define G_IS_VALUE(value) (G_TYPE_CHECK_VALUE (value)) +/** + * G_VALUE_TYPE: + * @value: A #GValue structure. + * + * Get the type identifier of @value. + * + * Returns: the #GType. + */ +#define G_VALUE_TYPE(value) (((GValue*) (value))->g_type) +/** + * G_VALUE_TYPE_NAME: + * @value: A #GValue structure. + * + * Gets the type name of @value. + * + * Returns: the type name. + */ +#define G_VALUE_TYPE_NAME(value) (g_type_name (G_VALUE_TYPE (value))) +/** + * G_VALUE_HOLDS: + * @value: A #GValue structure. + * @type: A #GType value. + * + * Checks if @value holds (or contains) a value of @type. + * This macro will also check for @value != %NULL and issue a + * warning if the check fails. + * + * Returns: %TRUE if @value holds the @type. + */ +#define G_VALUE_HOLDS(value,type) (G_TYPE_CHECK_VALUE_TYPE ((value), (type))) + + +/* --- typedefs & structures --- */ +/** + * GValueTransform: + * @src_value: Source value. + * @dest_value: Target value. + * + * The type of value transformation functions which can be registered with + * g_value_register_transform_func(). + * + * @dest_value will be initialized to the correct destination type. + */ +typedef void (*GValueTransform) (const GValue *src_value, + GValue *dest_value); +/** + * GValue: + * + * An opaque structure used to hold different types of values. + * + * The data within the structure has protected scope: it is accessible only + * to functions within a #GTypeValueTable structure, or implementations of + * the g_value_*() API. That is, code portions which implement new fundamental + * types. + * + * #GValue users cannot make any assumptions about how data is stored + * within the 2 element @data union, and the @g_type member should + * only be accessed through the G_VALUE_TYPE() macro. + */ +struct _GValue +{ + /*< private >*/ + GType g_type; + + /* public for GTypeValueTable methods */ + union { + gint v_int; + guint v_uint; + glong v_long; + gulong v_ulong; + gint64 v_int64; + guint64 v_uint64; + gfloat v_float; + gdouble v_double; + gpointer v_pointer; + } data[2]; +}; + + +/* --- prototypes --- */ +GOBJECT_AVAILABLE_IN_ALL +GValue* g_value_init (GValue *value, + GType g_type); +GOBJECT_AVAILABLE_IN_ALL +void g_value_copy (const GValue *src_value, + GValue *dest_value); +GOBJECT_AVAILABLE_IN_ALL +GValue* g_value_reset (GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_unset (GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_instance (GValue *value, + gpointer instance); +GOBJECT_AVAILABLE_IN_2_42 +void g_value_init_from_instance (GValue *value, + gpointer instance); + + +/* --- private --- */ +GOBJECT_AVAILABLE_IN_ALL +gboolean g_value_fits_pointer (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_value_peek_pointer (const GValue *value); + + +/* --- implementation details --- */ +GOBJECT_AVAILABLE_IN_ALL +gboolean g_value_type_compatible (GType src_type, + GType dest_type); +GOBJECT_AVAILABLE_IN_ALL +gboolean g_value_type_transformable (GType src_type, + GType dest_type); +GOBJECT_AVAILABLE_IN_ALL +gboolean g_value_transform (const GValue *src_value, + GValue *dest_value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_register_transform_func (GType src_type, + GType dest_type, + GValueTransform transform_func); + +/** + * G_VALUE_NOCOPY_CONTENTS: + * + * If passed to G_VALUE_COLLECT(), allocated data won't be copied + * but used verbatim. This does not affect ref-counted types like + * objects. This does not affect usage of g_value_copy(), the data will + * be copied if it is not ref-counted. + */ +#define G_VALUE_NOCOPY_CONTENTS (1 << 27) + +/** + * G_VALUE_INTERNED_STRING: + * + * For string values, indicates that the string contained is canonical and will + * exist for the duration of the process. See g_value_set_interned_string(). + * + * Since: 2.66 + */ +#define G_VALUE_INTERNED_STRING (1 << 28) GOBJECT_AVAILABLE_MACRO_IN_2_66 + +/** + * G_VALUE_INIT: + * + * A #GValue must be initialized before it can be used. This macro can + * be used as initializer instead of an explicit `{ 0 }` when declaring + * a variable, but it cannot be assigned to a variable. + * + * |[ + * GValue value = G_VALUE_INIT; + * ]| + * + * Since: 2.30 + */ +#define G_VALUE_INIT { 0, { { 0 } } } + + +G_END_DECLS + +#endif /* __G_VALUE_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gvaluearray.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gvaluearray.h new file mode 100644 index 0000000..72aa91b --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gvaluearray.h @@ -0,0 +1,106 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * Copyright (C) 2001 Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * gvaluearray.h: GLib array type holding GValues + */ +#ifndef __G_VALUE_ARRAY_H__ +#define __G_VALUE_ARRAY_H__ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/** + * G_TYPE_VALUE_ARRAY: + * + * The type ID of the "GValueArray" type which is a boxed type, + * used to pass around pointers to GValueArrays. + * + * Deprecated: 2.32: Use #GArray instead of #GValueArray + */ +#define G_TYPE_VALUE_ARRAY (g_value_array_get_type ()) GOBJECT_DEPRECATED_MACRO_IN_2_32_FOR(G_TYPE_ARRAY) + +/* --- typedefs & structs --- */ +typedef struct _GValueArray GValueArray; +/** + * GValueArray: + * @n_values: number of values contained in the array + * @values: array of values + * + * A #GValueArray contains an array of #GValue elements. + */ +struct _GValueArray +{ + guint n_values; + GValue *values; + + /*< private >*/ + guint n_prealloced; +}; + +/* --- prototypes --- */ +GOBJECT_DEPRECATED_IN_2_32_FOR(GArray) +GType g_value_array_get_type (void) G_GNUC_CONST; + +GOBJECT_DEPRECATED_IN_2_32_FOR(GArray) +GValue* g_value_array_get_nth (GValueArray *value_array, + guint index_); + +GOBJECT_DEPRECATED_IN_2_32_FOR(GArray) +GValueArray* g_value_array_new (guint n_prealloced); + +GOBJECT_DEPRECATED_IN_2_32_FOR(GArray) +void g_value_array_free (GValueArray *value_array); + +GOBJECT_DEPRECATED_IN_2_32_FOR(GArray) +GValueArray* g_value_array_copy (const GValueArray *value_array); + +GOBJECT_DEPRECATED_IN_2_32_FOR(GArray) +GValueArray* g_value_array_prepend (GValueArray *value_array, + const GValue *value); + +GOBJECT_DEPRECATED_IN_2_32_FOR(GArray) +GValueArray* g_value_array_append (GValueArray *value_array, + const GValue *value); + +GOBJECT_DEPRECATED_IN_2_32_FOR(GArray) +GValueArray* g_value_array_insert (GValueArray *value_array, + guint index_, + const GValue *value); + +GOBJECT_DEPRECATED_IN_2_32_FOR(GArray) +GValueArray* g_value_array_remove (GValueArray *value_array, + guint index_); + +GOBJECT_DEPRECATED_IN_2_32_FOR(GArray) +GValueArray* g_value_array_sort (GValueArray *value_array, + GCompareFunc compare_func); + +GOBJECT_DEPRECATED_IN_2_32_FOR(GArray) +GValueArray* g_value_array_sort_with_data (GValueArray *value_array, + GCompareDataFunc compare_func, + gpointer user_data); + + +G_END_DECLS + +#endif /* __G_VALUE_ARRAY_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gvaluecollector.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gvaluecollector.h new file mode 100644 index 0000000..7e7ae02 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gvaluecollector.h @@ -0,0 +1,290 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * Copyright (C) 1998-1999, 2000-2001 Tim Janik and Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * gvaluecollector.h: GValue varargs stubs + */ +/** + * SECTION:value_collection + * @Short_description: Converting varargs to generic values + * @Title: Varargs Value Collection + * + * The macros in this section provide the varargs parsing support needed + * in variadic GObject functions such as g_object_new() or g_object_set(). + * + * They currently support the collection of integral types, floating point + * types and pointers. + */ +#ifndef __G_VALUE_COLLECTOR_H__ +#define __G_VALUE_COLLECTOR_H__ + +#include + +G_BEGIN_DECLS + +/* we may want to add aggregate types here some day, if requested + * by users. the basic C types are covered already, everything + * smaller than an int is promoted to an integer and floats are + * always promoted to doubles for varargs call constructions. + */ +enum /*< skip >*/ +{ + G_VALUE_COLLECT_INT = 'i', + G_VALUE_COLLECT_LONG = 'l', + G_VALUE_COLLECT_INT64 = 'q', + G_VALUE_COLLECT_DOUBLE = 'd', + G_VALUE_COLLECT_POINTER = 'p' +}; + + +/* vararg union holding actual values collected + */ +/** + * GTypeCValue: + * @v_int: the field for holding integer values + * @v_long: the field for holding long integer values + * @v_int64: the field for holding 64 bit integer values + * @v_double: the field for holding floating point values + * @v_pointer: the field for holding pointers + * + * A union holding one collected value. + */ +union _GTypeCValue +{ + gint v_int; + glong v_long; + gint64 v_int64; + gdouble v_double; + gpointer v_pointer; +}; + +/** + * G_VALUE_COLLECT_INIT: + * @value: a #GValue return location. @value must contain only 0 bytes. + * @_value_type: the #GType to use for @value. + * @var_args: the va_list variable; it may be evaluated multiple times + * @flags: flags which are passed on to the collect_value() function of + * the #GTypeValueTable of @value. + * @__error: a #gchar** variable that will be modified to hold a g_new() + * allocated error messages if something fails + * + * Collects a variable argument value from a `va_list`. + * + * We have to implement the varargs collection as a macro, because on some + * systems `va_list` variables cannot be passed by reference. + * + * Since: 2.24 + */ +#define G_VALUE_COLLECT_INIT(value, _value_type, var_args, flags, __error) \ + G_STMT_START { \ + GTypeValueTable *g_vci_vtab; \ + G_VALUE_COLLECT_INIT2(value, g_vci_vtab, _value_type, var_args, flags, __error); \ +} G_STMT_END + +/** + * G_VALUE_COLLECT_INIT2: + * @value: a #GValue return location. @value must contain only 0 bytes. + * @g_vci_vtab: a #GTypeValueTable pointer that will be set to the value table + * for @_value_type + * @_value_type: the #GType to use for @value. + * @var_args: the va_list variable; it may be evaluated multiple times + * @flags: flags which are passed on to the collect_value() function of + * the #GTypeValueTable of @value. + * @__error: a #gchar** variable that will be modified to hold a g_new() + * allocated error messages if something fails + * + * A variant of G_VALUE_COLLECT_INIT() that provides the #GTypeValueTable + * to the caller. + * + * Since: 2.74 + */ +#define G_VALUE_COLLECT_INIT2(value, g_vci_vtab, _value_type, var_args, flags, __error) \ +G_STMT_START { \ + GValue *g_vci_val = (value); \ + guint g_vci_flags = (flags); \ + const gchar *g_vci_collect_format; \ + GTypeCValue g_vci_cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, }; \ + guint g_vci_n_values = 0; \ + g_vci_vtab = g_type_value_table_peek (_value_type); \ + g_vci_collect_format = g_vci_vtab->collect_format; \ + g_vci_val->g_type = _value_type; /* value_meminit() from gvalue.c */ \ + while (*g_vci_collect_format) \ + { \ + GTypeCValue *g_vci_cvalue = g_vci_cvalues + g_vci_n_values++; \ + \ + switch (*g_vci_collect_format++) \ + { \ + case G_VALUE_COLLECT_INT: \ + g_vci_cvalue->v_int = va_arg ((var_args), gint); \ + break; \ + case G_VALUE_COLLECT_LONG: \ + g_vci_cvalue->v_long = va_arg ((var_args), glong); \ + break; \ + case G_VALUE_COLLECT_INT64: \ + g_vci_cvalue->v_int64 = va_arg ((var_args), gint64); \ + break; \ + case G_VALUE_COLLECT_DOUBLE: \ + g_vci_cvalue->v_double = va_arg ((var_args), gdouble); \ + break; \ + case G_VALUE_COLLECT_POINTER: \ + g_vci_cvalue->v_pointer = va_arg ((var_args), gpointer); \ + break; \ + default: \ + g_assert_not_reached (); \ + } \ + } \ + *(__error) = g_vci_vtab->collect_value (g_vci_val, \ + g_vci_n_values, \ + g_vci_cvalues, \ + g_vci_flags); \ +} G_STMT_END + +/** + * G_VALUE_COLLECT: + * @value: a #GValue return location. @value is supposed to be initialized + * according to the value type to be collected + * @var_args: the va_list variable; it may be evaluated multiple times + * @flags: flags which are passed on to the collect_value() function of + * the #GTypeValueTable of @value. + * @__error: a #gchar** variable that will be modified to hold a g_new() + * allocated error messages if something fails + * + * Collects a variable argument value from a `va_list`. + * + * We have to implement the varargs collection as a macro, because on some systems + * `va_list` variables cannot be passed by reference. + * + * Note: If you are creating the @value argument just before calling this macro, + * you should use the G_VALUE_COLLECT_INIT() variant and pass the uninitialized + * #GValue. That variant is faster than G_VALUE_COLLECT(). + */ +#define G_VALUE_COLLECT(value, var_args, flags, __error) G_STMT_START { \ + GValue *g_vc_value = (value); \ + GType g_vc_value_type = G_VALUE_TYPE (g_vc_value); \ + GTypeValueTable *g_vc_vtable = g_type_value_table_peek (g_vc_value_type); \ + \ + if (g_vc_vtable->value_free) \ + g_vc_vtable->value_free (g_vc_value); \ + memset (g_vc_value->data, 0, sizeof (g_vc_value->data)); \ + \ + G_VALUE_COLLECT_INIT(value, g_vc_value_type, var_args, flags, __error); \ +} G_STMT_END + +/** + * G_VALUE_COLLECT_SKIP: + * @_value_type: the #GType of the value to skip + * @var_args: the va_list variable; it may be evaluated multiple times + * + * Skip an argument of type @_value_type from @var_args. + */ +#define G_VALUE_COLLECT_SKIP(_value_type, var_args) \ +G_STMT_START { \ + GTypeValueTable *g_vcs_vtable = g_type_value_table_peek (_value_type); \ + const gchar *g_vcs_collect_format = g_vcs_vtable->collect_format; \ + \ + while (*g_vcs_collect_format) \ + { \ + switch (*g_vcs_collect_format++) \ + { \ + case G_VALUE_COLLECT_INT: \ + va_arg ((var_args), gint); \ + break; \ + case G_VALUE_COLLECT_LONG: \ + va_arg ((var_args), glong); \ + break; \ + case G_VALUE_COLLECT_INT64: \ + va_arg ((var_args), gint64); \ + break; \ + case G_VALUE_COLLECT_DOUBLE: \ + va_arg ((var_args), gdouble); \ + break; \ + case G_VALUE_COLLECT_POINTER: \ + va_arg ((var_args), gpointer); \ + break; \ + default: \ + g_assert_not_reached (); \ + } \ + } \ +} G_STMT_END + +/** + * G_VALUE_LCOPY: + * @value: a #GValue to store into the @var_args; this must be initialized + * and set + * @var_args: the va_list variable; it may be evaluated multiple times + * @flags: flags which are passed on to the lcopy_value() function of + * the #GTypeValueTable of @value. + * @__error: a #gchar** variable that will be modified to hold a g_new() + * allocated error message if something fails + * + * Stores a value’s value into one or more argument locations from a `va_list`. + * + * This is the inverse of G_VALUE_COLLECT(). + */ +#define G_VALUE_LCOPY(value, var_args, flags, __error) \ +G_STMT_START { \ + const GValue *g_vl_value = (value); \ + guint g_vl_flags = (flags); \ + GType g_vl_value_type = G_VALUE_TYPE (g_vl_value); \ + GTypeValueTable *g_vl_vtable = g_type_value_table_peek (g_vl_value_type); \ + const gchar *g_vl_lcopy_format = g_vl_vtable->lcopy_format; \ + GTypeCValue g_vl_cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, }; \ + guint g_vl_n_values = 0; \ + \ + while (*g_vl_lcopy_format) \ + { \ + GTypeCValue *g_vl_cvalue = g_vl_cvalues + g_vl_n_values++; \ + \ + switch (*g_vl_lcopy_format++) \ + { \ + case G_VALUE_COLLECT_INT: \ + g_vl_cvalue->v_int = va_arg ((var_args), gint); \ + break; \ + case G_VALUE_COLLECT_LONG: \ + g_vl_cvalue->v_long = va_arg ((var_args), glong); \ + break; \ + case G_VALUE_COLLECT_INT64: \ + g_vl_cvalue->v_int64 = va_arg ((var_args), gint64); \ + break; \ + case G_VALUE_COLLECT_DOUBLE: \ + g_vl_cvalue->v_double = va_arg ((var_args), gdouble); \ + break; \ + case G_VALUE_COLLECT_POINTER: \ + g_vl_cvalue->v_pointer = va_arg ((var_args), gpointer); \ + break; \ + default: \ + g_assert_not_reached (); \ + } \ + } \ + *(__error) = g_vl_vtable->lcopy_value (g_vl_value, \ + g_vl_n_values, \ + g_vl_cvalues, \ + g_vl_flags); \ +} G_STMT_END + + +/** + * G_VALUE_COLLECT_FORMAT_MAX_LENGTH: + * + * The maximal number of #GTypeCValues which can be collected for a + * single #GValue. + */ +#define G_VALUE_COLLECT_FORMAT_MAX_LENGTH (8) + +G_END_DECLS + +#endif /* __G_VALUE_COLLECTOR_H__ */ diff --git a/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gvaluetypes.h b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gvaluetypes.h new file mode 100644 index 0000000..0c8d0f6 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/glib-2.0/gobject/gvaluetypes.h @@ -0,0 +1,318 @@ +/* GObject - GLib Type, Object, Parameter and Signal Library + * Copyright (C) 1997-1999, 2000-2001 Tim Janik and Red Hat, Inc. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see . + * + * gvaluetypes.h: GLib default values + */ +#ifndef __G_VALUETYPES_H__ +#define __G_VALUETYPES_H__ + +#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/* --- type macros --- */ +/** + * G_VALUE_HOLDS_CHAR: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values of type %G_TYPE_CHAR. + * + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_CHAR(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_CHAR)) +/** + * G_VALUE_HOLDS_UCHAR: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values of type %G_TYPE_UCHAR. + * + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_UCHAR(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_UCHAR)) +/** + * G_VALUE_HOLDS_BOOLEAN: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values of type %G_TYPE_BOOLEAN. + * + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_BOOLEAN(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_BOOLEAN)) +/** + * G_VALUE_HOLDS_INT: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values of type %G_TYPE_INT. + * + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_INT(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_INT)) +/** + * G_VALUE_HOLDS_UINT: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values of type %G_TYPE_UINT. + * + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_UINT(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_UINT)) +/** + * G_VALUE_HOLDS_LONG: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values of type %G_TYPE_LONG. + * + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_LONG(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_LONG)) +/** + * G_VALUE_HOLDS_ULONG: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values of type %G_TYPE_ULONG. + * + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_ULONG(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_ULONG)) +/** + * G_VALUE_HOLDS_INT64: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values of type %G_TYPE_INT64. + * + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_INT64(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_INT64)) +/** + * G_VALUE_HOLDS_UINT64: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values of type %G_TYPE_UINT64. + * + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_UINT64(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_UINT64)) +/** + * G_VALUE_HOLDS_FLOAT: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values of type %G_TYPE_FLOAT. + * + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_FLOAT(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_FLOAT)) +/** + * G_VALUE_HOLDS_DOUBLE: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values of type %G_TYPE_DOUBLE. + * + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_DOUBLE(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_DOUBLE)) +/** + * G_VALUE_HOLDS_STRING: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values of type %G_TYPE_STRING. + * + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_STRING(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_STRING)) +/** + * G_VALUE_IS_INTERNED_STRING: + * @value: a valid #GValue structure + * + * Checks whether @value contains a string which is canonical. + * + * Returns: %TRUE if the value contains a string in its canonical + * representation, as returned by g_intern_string(). See also + * g_value_set_interned_string(). + * + * Since: 2.66 + */ +#define G_VALUE_IS_INTERNED_STRING(value) (G_VALUE_HOLDS_STRING (value) && ((value)->data[1].v_uint & G_VALUE_INTERNED_STRING)) GOBJECT_AVAILABLE_MACRO_IN_2_66 +/** + * G_VALUE_HOLDS_POINTER: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values of type %G_TYPE_POINTER. + * + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_POINTER(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_POINTER)) +/** + * G_TYPE_GTYPE: + * + * The type for #GType. + */ +#define G_TYPE_GTYPE (g_gtype_get_type()) +/** + * G_VALUE_HOLDS_GTYPE: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values of type %G_TYPE_GTYPE. + * + * Since: 2.12 + * Returns: %TRUE on success. + */ +#define G_VALUE_HOLDS_GTYPE(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_GTYPE)) +/** + * G_VALUE_HOLDS_VARIANT: + * @value: a valid #GValue structure + * + * Checks whether the given #GValue can hold values of type %G_TYPE_VARIANT. + * + * Returns: %TRUE on success. + * + * Since: 2.26 + */ +#define G_VALUE_HOLDS_VARIANT(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_VARIANT)) + + +/* --- prototypes --- */ +GOBJECT_DEPRECATED_IN_2_32_FOR(g_value_set_schar) +void g_value_set_char (GValue *value, + gchar v_char); +GOBJECT_DEPRECATED_IN_2_32_FOR(g_value_get_schar) +gchar g_value_get_char (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_schar (GValue *value, + gint8 v_char); +GOBJECT_AVAILABLE_IN_ALL +gint8 g_value_get_schar (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_uchar (GValue *value, + guchar v_uchar); +GOBJECT_AVAILABLE_IN_ALL +guchar g_value_get_uchar (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_boolean (GValue *value, + gboolean v_boolean); +GOBJECT_AVAILABLE_IN_ALL +gboolean g_value_get_boolean (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_int (GValue *value, + gint v_int); +GOBJECT_AVAILABLE_IN_ALL +gint g_value_get_int (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_uint (GValue *value, + guint v_uint); +GOBJECT_AVAILABLE_IN_ALL +guint g_value_get_uint (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_long (GValue *value, + glong v_long); +GOBJECT_AVAILABLE_IN_ALL +glong g_value_get_long (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_ulong (GValue *value, + gulong v_ulong); +GOBJECT_AVAILABLE_IN_ALL +gulong g_value_get_ulong (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_int64 (GValue *value, + gint64 v_int64); +GOBJECT_AVAILABLE_IN_ALL +gint64 g_value_get_int64 (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_uint64 (GValue *value, + guint64 v_uint64); +GOBJECT_AVAILABLE_IN_ALL +guint64 g_value_get_uint64 (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_float (GValue *value, + gfloat v_float); +GOBJECT_AVAILABLE_IN_ALL +gfloat g_value_get_float (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_double (GValue *value, + gdouble v_double); +GOBJECT_AVAILABLE_IN_ALL +gdouble g_value_get_double (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_string (GValue *value, + const gchar *v_string); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_static_string (GValue *value, + const gchar *v_string); +GOBJECT_AVAILABLE_IN_2_66 +void g_value_set_interned_string (GValue *value, + const gchar *v_string); +GOBJECT_AVAILABLE_IN_ALL +const gchar * g_value_get_string (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +gchar* g_value_dup_string (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_pointer (GValue *value, + gpointer v_pointer); +GOBJECT_AVAILABLE_IN_ALL +gpointer g_value_get_pointer (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +GType g_gtype_get_type (void); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_gtype (GValue *value, + GType v_gtype); +GOBJECT_AVAILABLE_IN_ALL +GType g_value_get_gtype (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +void g_value_set_variant (GValue *value, + GVariant *variant); +GOBJECT_AVAILABLE_IN_ALL +void g_value_take_variant (GValue *value, + GVariant *variant); +GOBJECT_AVAILABLE_IN_ALL +GVariant* g_value_get_variant (const GValue *value); +GOBJECT_AVAILABLE_IN_ALL +GVariant* g_value_dup_variant (const GValue *value); + + +/* Convenience for registering new pointer types */ +GOBJECT_AVAILABLE_IN_ALL +GType g_pointer_type_register_static (const gchar *name); + +/* debugging aid, describe value contents as string */ +GOBJECT_AVAILABLE_IN_ALL +gchar* g_strdup_value_contents (const GValue *value); + + +GOBJECT_AVAILABLE_IN_ALL +void g_value_take_string (GValue *value, + gchar *v_string); +GOBJECT_DEPRECATED_FOR(g_value_take_string) +void g_value_set_string_take_ownership (GValue *value, + gchar *v_string); + + +/* humpf, need a C representable type name for G_TYPE_STRING */ +/** + * gchararray: + * + * A C representable type name for %G_TYPE_STRING. + */ +typedef gchar* gchararray; + + +G_END_DECLS + +#endif /* __G_VALUETYPES_H__ */ diff --git a/vcpkg/installed/x64-osx/include/jconfig.h b/vcpkg/installed/x64-osx/include/jconfig.h new file mode 100644 index 0000000..bf91a47 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/jconfig.h @@ -0,0 +1,60 @@ +/* Version ID for the JPEG library. + * Might be useful for tests like "#if JPEG_LIB_VERSION >= 60". + */ +#define JPEG_LIB_VERSION 62 + +/* libjpeg-turbo version */ +#define LIBJPEG_TURBO_VERSION 3.0.3 + +/* libjpeg-turbo version in integer form */ +#define LIBJPEG_TURBO_VERSION_NUMBER 3000003 + +/* Support arithmetic encoding when using 8-bit samples */ +#define C_ARITH_CODING_SUPPORTED 1 + +/* Support arithmetic decoding when using 8-bit samples */ +#define D_ARITH_CODING_SUPPORTED 1 + +/* Support in-memory source/destination managers */ +#define MEM_SRCDST_SUPPORTED 1 + +/* Use accelerated SIMD routines when using 8-bit samples */ +#define WITH_SIMD 1 + +/* This version of libjpeg-turbo supports run-time selection of data precision, + * so BITS_IN_JSAMPLE is no longer used to specify the data precision at build + * time. However, some downstream software expects the macro to be defined. + * Since 12-bit data precision is an opt-in feature that requires explicitly + * calling 12-bit-specific libjpeg API functions and using 12-bit-specific data + * types, the unmodified portion of the libjpeg API still behaves as if it were + * built for 8-bit precision, and JSAMPLE is still literally an 8-bit data + * type. Thus, it is correct to define BITS_IN_JSAMPLE to 8 here. + */ +#ifndef BITS_IN_JSAMPLE +#define BITS_IN_JSAMPLE 8 +#endif + +#ifdef _WIN32 + +#undef RIGHT_SHIFT_IS_UNSIGNED + +/* Define "boolean" as unsigned char, not int, per Windows custom */ +#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ +typedef unsigned char boolean; +#endif +#define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ + +/* Define "INT32" as int, not long, per Windows custom */ +#if !(defined(_BASETSD_H_) || defined(_BASETSD_H)) /* don't conflict if basetsd.h already read */ +typedef short INT16; +typedef signed int INT32; +#endif +#define XMD_H /* prevent jmorecfg.h from redefining it */ + +#else + +/* Define if your (broken) compiler shifts signed values as if they were + unsigned. */ +/* #undef RIGHT_SHIFT_IS_UNSIGNED */ + +#endif diff --git a/vcpkg/installed/x64-osx/include/jerror.h b/vcpkg/installed/x64-osx/include/jerror.h new file mode 100644 index 0000000..71ba03e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/jerror.h @@ -0,0 +1,336 @@ +/* + * jerror.h + * + * This file was part of the Independent JPEG Group's software: + * Copyright (C) 1994-1997, Thomas G. Lane. + * Modified 1997-2009 by Guido Vollbeding. + * Lossless JPEG Modifications: + * Copyright (C) 1999, Ken Murchison. + * libjpeg-turbo Modifications: + * Copyright (C) 2014, 2017, 2021-2023, D. R. Commander. + * For conditions of distribution and use, see the accompanying README.ijg + * file. + * + * This file defines the error and message codes for the JPEG library. + * Edit this file to add new codes, or to translate the message strings to + * some other language. + * A set of error-reporting macros are defined too. Some applications using + * the JPEG library may wish to include this file to get the error codes + * and/or the macros. + */ + +/* + * To define the enum list of message codes, include this file without + * defining macro JMESSAGE. To create a message string table, include it + * again with a suitable JMESSAGE definition (see jerror.c for an example). + */ +#ifndef JMESSAGE +#ifndef JERROR_H +/* First time through, define the enum list */ +#define JMAKE_ENUM_LIST +#else +/* Repeated inclusions of this file are no-ops unless JMESSAGE is defined */ +#define JMESSAGE(code, string) +#endif /* JERROR_H */ +#endif /* JMESSAGE */ + +#ifdef JMAKE_ENUM_LIST + +typedef enum { + +#define JMESSAGE(code, string) code, + +#endif /* JMAKE_ENUM_LIST */ + +JMESSAGE(JMSG_NOMESSAGE, "Bogus message code %d") /* Must be first entry! */ + +/* For maintenance convenience, list is alphabetical by message code name */ +#if JPEG_LIB_VERSION < 70 +JMESSAGE(JERR_ARITH_NOTIMPL, "Sorry, arithmetic coding is not implemented") +#endif +JMESSAGE(JERR_BAD_ALIGN_TYPE, "ALIGN_TYPE is wrong, please fix") +JMESSAGE(JERR_BAD_ALLOC_CHUNK, "MAX_ALLOC_CHUNK is wrong, please fix") +JMESSAGE(JERR_BAD_BUFFER_MODE, "Bogus buffer control mode") +JMESSAGE(JERR_BAD_COMPONENT_ID, "Invalid component ID %d in SOS") +#if JPEG_LIB_VERSION >= 70 +JMESSAGE(JERR_BAD_CROP_SPEC, "Invalid crop request") +#endif +JMESSAGE(JERR_BAD_DCT_COEF, + "DCT coefficient (lossy) or spatial difference (lossless) out of range") +JMESSAGE(JERR_BAD_DCTSIZE, "IDCT output block size %d not supported") +#if JPEG_LIB_VERSION >= 70 +JMESSAGE(JERR_BAD_DROP_SAMPLING, + "Component index %d: mismatching sampling ratio %d:%d, %d:%d, %c") +#endif +JMESSAGE(JERR_BAD_HUFF_TABLE, "Bogus Huffman table definition") +JMESSAGE(JERR_BAD_IN_COLORSPACE, "Bogus input colorspace") +JMESSAGE(JERR_BAD_J_COLORSPACE, "Bogus JPEG colorspace") +JMESSAGE(JERR_BAD_LENGTH, "Bogus marker length") +JMESSAGE(JERR_BAD_LIB_VERSION, + "Wrong JPEG library version: library is %d, caller expects %d") +JMESSAGE(JERR_BAD_MCU_SIZE, "Sampling factors too large for interleaved scan") +JMESSAGE(JERR_BAD_POOL_ID, "Invalid memory pool code %d") +JMESSAGE(JERR_BAD_PRECISION, "Unsupported JPEG data precision %d") +JMESSAGE(JERR_BAD_PROGRESSION, + "Invalid progressive/lossless parameters Ss=%d Se=%d Ah=%d Al=%d") +JMESSAGE(JERR_BAD_PROG_SCRIPT, + "Invalid progressive/lossless parameters at scan script entry %d") +JMESSAGE(JERR_BAD_SAMPLING, "Bogus sampling factors") +JMESSAGE(JERR_BAD_SCAN_SCRIPT, "Invalid scan script at entry %d") +JMESSAGE(JERR_BAD_STATE, "Improper call to JPEG library in state %d") +JMESSAGE(JERR_BAD_STRUCT_SIZE, + "JPEG parameter struct mismatch: library thinks size is %u, caller expects %u") +JMESSAGE(JERR_BAD_VIRTUAL_ACCESS, "Bogus virtual array access") +JMESSAGE(JERR_BUFFER_SIZE, "Buffer passed to JPEG library is too small") +JMESSAGE(JERR_CANT_SUSPEND, "Suspension not allowed here") +JMESSAGE(JERR_CCIR601_NOTIMPL, "CCIR601 sampling not implemented yet") +JMESSAGE(JERR_COMPONENT_COUNT, "Too many color components: %d, max %d") +JMESSAGE(JERR_CONVERSION_NOTIMPL, "Unsupported color conversion request") +JMESSAGE(JERR_DAC_INDEX, "Bogus DAC index %d") +JMESSAGE(JERR_DAC_VALUE, "Bogus DAC value 0x%x") +JMESSAGE(JERR_DHT_INDEX, "Bogus DHT index %d") +JMESSAGE(JERR_DQT_INDEX, "Bogus DQT index %d") +JMESSAGE(JERR_EMPTY_IMAGE, "Empty JPEG image (DNL not supported)") +JMESSAGE(JERR_EMS_READ, "Read from EMS failed") +JMESSAGE(JERR_EMS_WRITE, "Write to EMS failed") +JMESSAGE(JERR_EOI_EXPECTED, "Didn't expect more than one scan") +JMESSAGE(JERR_FILE_READ, "Input file read error") +JMESSAGE(JERR_FILE_WRITE, "Output file write error --- out of disk space?") +JMESSAGE(JERR_FRACT_SAMPLE_NOTIMPL, "Fractional sampling not implemented yet") +JMESSAGE(JERR_HUFF_CLEN_OVERFLOW, "Huffman code size table overflow") +JMESSAGE(JERR_HUFF_MISSING_CODE, "Missing Huffman code table entry") +JMESSAGE(JERR_IMAGE_TOO_BIG, "Maximum supported image dimension is %u pixels") +JMESSAGE(JERR_INPUT_EMPTY, "Empty input file") +JMESSAGE(JERR_INPUT_EOF, "Premature end of input file") +JMESSAGE(JERR_MISMATCHED_QUANT_TABLE, + "Cannot transcode due to multiple use of quantization table %d") +JMESSAGE(JERR_MISSING_DATA, "Scan script does not transmit all data") +JMESSAGE(JERR_MODE_CHANGE, "Invalid color quantization mode change") +JMESSAGE(JERR_NOTIMPL, "Requested features are incompatible") +JMESSAGE(JERR_NOT_COMPILED, "Requested feature was omitted at compile time") +#if JPEG_LIB_VERSION >= 70 +JMESSAGE(JERR_NO_ARITH_TABLE, "Arithmetic table 0x%02x was not defined") +#endif +JMESSAGE(JERR_NO_BACKING_STORE, "Memory limit exceeded") +JMESSAGE(JERR_NO_HUFF_TABLE, "Huffman table 0x%02x was not defined") +JMESSAGE(JERR_NO_IMAGE, "JPEG datastream contains no image") +JMESSAGE(JERR_NO_QUANT_TABLE, "Quantization table 0x%02x was not defined") +JMESSAGE(JERR_NO_SOI, "Not a JPEG file: starts with 0x%02x 0x%02x") +JMESSAGE(JERR_OUT_OF_MEMORY, "Insufficient memory (case %d)") +JMESSAGE(JERR_QUANT_COMPONENTS, + "Cannot quantize more than %d color components") +JMESSAGE(JERR_QUANT_FEW_COLORS, "Cannot quantize to fewer than %d colors") +JMESSAGE(JERR_QUANT_MANY_COLORS, "Cannot quantize to more than %d colors") +JMESSAGE(JERR_SOF_DUPLICATE, "Invalid JPEG file structure: two SOF markers") +JMESSAGE(JERR_SOF_NO_SOS, "Invalid JPEG file structure: missing SOS marker") +JMESSAGE(JERR_SOF_UNSUPPORTED, "Unsupported JPEG process: SOF type 0x%02x") +JMESSAGE(JERR_SOI_DUPLICATE, "Invalid JPEG file structure: two SOI markers") +JMESSAGE(JERR_SOS_NO_SOF, "Invalid JPEG file structure: SOS before SOF") +JMESSAGE(JERR_TFILE_CREATE, "Failed to create temporary file %s") +JMESSAGE(JERR_TFILE_READ, "Read failed on temporary file") +JMESSAGE(JERR_TFILE_SEEK, "Seek failed on temporary file") +JMESSAGE(JERR_TFILE_WRITE, + "Write failed on temporary file --- out of disk space?") +JMESSAGE(JERR_TOO_LITTLE_DATA, "Application transferred too few scanlines") +JMESSAGE(JERR_UNKNOWN_MARKER, "Unsupported marker type 0x%02x") +JMESSAGE(JERR_VIRTUAL_BUG, "Virtual array controller messed up") +JMESSAGE(JERR_WIDTH_OVERFLOW, "Image too wide for this implementation") +JMESSAGE(JERR_XMS_READ, "Read from XMS failed") +JMESSAGE(JERR_XMS_WRITE, "Write to XMS failed") +JMESSAGE(JMSG_COPYRIGHT, JCOPYRIGHT_SHORT) +JMESSAGE(JMSG_VERSION, JVERSION) +JMESSAGE(JTRC_16BIT_TABLES, + "Caution: quantization tables are too coarse for baseline JPEG") +JMESSAGE(JTRC_ADOBE, + "Adobe APP14 marker: version %d, flags 0x%04x 0x%04x, transform %d") +JMESSAGE(JTRC_APP0, "Unknown APP0 marker (not JFIF), length %u") +JMESSAGE(JTRC_APP14, "Unknown APP14 marker (not Adobe), length %u") +JMESSAGE(JTRC_DAC, "Define Arithmetic Table 0x%02x: 0x%02x") +JMESSAGE(JTRC_DHT, "Define Huffman Table 0x%02x") +JMESSAGE(JTRC_DQT, "Define Quantization Table %d precision %d") +JMESSAGE(JTRC_DRI, "Define Restart Interval %u") +JMESSAGE(JTRC_EMS_CLOSE, "Freed EMS handle %u") +JMESSAGE(JTRC_EMS_OPEN, "Obtained EMS handle %u") +JMESSAGE(JTRC_EOI, "End Of Image") +JMESSAGE(JTRC_HUFFBITS, " %3d %3d %3d %3d %3d %3d %3d %3d") +JMESSAGE(JTRC_JFIF, "JFIF APP0 marker: version %d.%02d, density %dx%d %d") +JMESSAGE(JTRC_JFIF_BADTHUMBNAILSIZE, + "Warning: thumbnail image size does not match data length %u") +JMESSAGE(JTRC_JFIF_EXTENSION, "JFIF extension marker: type 0x%02x, length %u") +JMESSAGE(JTRC_JFIF_THUMBNAIL, " with %d x %d thumbnail image") +JMESSAGE(JTRC_MISC_MARKER, "Miscellaneous marker 0x%02x, length %u") +JMESSAGE(JTRC_PARMLESS_MARKER, "Unexpected marker 0x%02x") +JMESSAGE(JTRC_QUANTVALS, " %4u %4u %4u %4u %4u %4u %4u %4u") +JMESSAGE(JTRC_QUANT_3_NCOLORS, "Quantizing to %d = %d*%d*%d colors") +JMESSAGE(JTRC_QUANT_NCOLORS, "Quantizing to %d colors") +JMESSAGE(JTRC_QUANT_SELECTED, "Selected %d colors for quantization") +JMESSAGE(JTRC_RECOVERY_ACTION, "At marker 0x%02x, recovery action %d") +JMESSAGE(JTRC_RST, "RST%d") +JMESSAGE(JTRC_SMOOTH_NOTIMPL, + "Smoothing not supported with nonstandard sampling ratios") +JMESSAGE(JTRC_SOF, "Start Of Frame 0x%02x: width=%u, height=%u, components=%d") +JMESSAGE(JTRC_SOF_COMPONENT, " Component %d: %dhx%dv q=%d") +JMESSAGE(JTRC_SOI, "Start of Image") +JMESSAGE(JTRC_SOS, "Start Of Scan: %d components") +JMESSAGE(JTRC_SOS_COMPONENT, " Component %d: dc=%d ac=%d") +JMESSAGE(JTRC_SOS_PARAMS, " Ss=%d, Se=%d, Ah=%d, Al=%d") +JMESSAGE(JTRC_TFILE_CLOSE, "Closed temporary file %s") +JMESSAGE(JTRC_TFILE_OPEN, "Opened temporary file %s") +JMESSAGE(JTRC_THUMB_JPEG, + "JFIF extension marker: JPEG-compressed thumbnail image, length %u") +JMESSAGE(JTRC_THUMB_PALETTE, + "JFIF extension marker: palette thumbnail image, length %u") +JMESSAGE(JTRC_THUMB_RGB, + "JFIF extension marker: RGB thumbnail image, length %u") +JMESSAGE(JTRC_UNKNOWN_IDS, + "Unrecognized component IDs %d %d %d, assuming YCbCr (lossy) or RGB (lossless)") +JMESSAGE(JTRC_XMS_CLOSE, "Freed XMS handle %u") +JMESSAGE(JTRC_XMS_OPEN, "Obtained XMS handle %u") +JMESSAGE(JWRN_ADOBE_XFORM, "Unknown Adobe color transform code %d") +#if JPEG_LIB_VERSION >= 70 +JMESSAGE(JWRN_ARITH_BAD_CODE, "Corrupt JPEG data: bad arithmetic code") +#endif +JMESSAGE(JWRN_BOGUS_PROGRESSION, + "Inconsistent progression sequence for component %d coefficient %d") +JMESSAGE(JWRN_EXTRANEOUS_DATA, + "Corrupt JPEG data: %u extraneous bytes before marker 0x%02x") +JMESSAGE(JWRN_HIT_MARKER, "Corrupt JPEG data: premature end of data segment") +JMESSAGE(JWRN_HUFF_BAD_CODE, "Corrupt JPEG data: bad Huffman code") +JMESSAGE(JWRN_JFIF_MAJOR, "Warning: unknown JFIF revision number %d.%02d") +JMESSAGE(JWRN_JPEG_EOF, "Premature end of JPEG file") +JMESSAGE(JWRN_MUST_RESYNC, + "Corrupt JPEG data: found marker 0x%02x instead of RST%d") +JMESSAGE(JWRN_NOT_SEQUENTIAL, "Invalid SOS parameters for sequential JPEG") +JMESSAGE(JWRN_TOO_MUCH_DATA, "Application transferred too many scanlines") +#if JPEG_LIB_VERSION < 70 +JMESSAGE(JERR_BAD_CROP_SPEC, "Invalid crop request") +#if defined(C_ARITH_CODING_SUPPORTED) || defined(D_ARITH_CODING_SUPPORTED) +JMESSAGE(JERR_NO_ARITH_TABLE, "Arithmetic table 0x%02x was not defined") +JMESSAGE(JWRN_ARITH_BAD_CODE, "Corrupt JPEG data: bad arithmetic code") +#endif +#endif +JMESSAGE(JWRN_BOGUS_ICC, "Corrupt JPEG data: bad ICC marker") +#if JPEG_LIB_VERSION < 70 +JMESSAGE(JERR_BAD_DROP_SAMPLING, + "Component index %d: mismatching sampling ratio %d:%d, %d:%d, %c") +#endif +JMESSAGE(JERR_BAD_RESTART, + "Invalid restart interval %d; must be an integer multiple of the number of MCUs in an MCU row (%d)") + +#ifdef JMAKE_ENUM_LIST + + JMSG_LASTMSGCODE +} J_MESSAGE_CODE; + +#undef JMAKE_ENUM_LIST +#endif /* JMAKE_ENUM_LIST */ + +/* Zap JMESSAGE macro so that future re-inclusions do nothing by default */ +#undef JMESSAGE + + +#ifndef JERROR_H +#define JERROR_H + +/* Macros to simplify using the error and trace message stuff */ +/* The first parameter is either type of cinfo pointer */ + +/* Fatal errors (print message and exit) */ +#define ERREXIT(cinfo, code) \ + ((cinfo)->err->msg_code = (code), \ + (*(cinfo)->err->error_exit) ((j_common_ptr)(cinfo))) +#define ERREXIT1(cinfo, code, p1) \ + ((cinfo)->err->msg_code = (code), \ + (cinfo)->err->msg_parm.i[0] = (p1), \ + (*(cinfo)->err->error_exit) ((j_common_ptr)(cinfo))) +#define ERREXIT2(cinfo, code, p1, p2) \ + ((cinfo)->err->msg_code = (code), \ + (cinfo)->err->msg_parm.i[0] = (p1), \ + (cinfo)->err->msg_parm.i[1] = (p2), \ + (*(cinfo)->err->error_exit) ((j_common_ptr)(cinfo))) +#define ERREXIT3(cinfo, code, p1, p2, p3) \ + ((cinfo)->err->msg_code = (code), \ + (cinfo)->err->msg_parm.i[0] = (p1), \ + (cinfo)->err->msg_parm.i[1] = (p2), \ + (cinfo)->err->msg_parm.i[2] = (p3), \ + (*(cinfo)->err->error_exit) ((j_common_ptr)(cinfo))) +#define ERREXIT4(cinfo, code, p1, p2, p3, p4) \ + ((cinfo)->err->msg_code = (code), \ + (cinfo)->err->msg_parm.i[0] = (p1), \ + (cinfo)->err->msg_parm.i[1] = (p2), \ + (cinfo)->err->msg_parm.i[2] = (p3), \ + (cinfo)->err->msg_parm.i[3] = (p4), \ + (*(cinfo)->err->error_exit) ((j_common_ptr)(cinfo))) +#define ERREXIT6(cinfo, code, p1, p2, p3, p4, p5, p6) \ + ((cinfo)->err->msg_code = (code), \ + (cinfo)->err->msg_parm.i[0] = (p1), \ + (cinfo)->err->msg_parm.i[1] = (p2), \ + (cinfo)->err->msg_parm.i[2] = (p3), \ + (cinfo)->err->msg_parm.i[3] = (p4), \ + (cinfo)->err->msg_parm.i[4] = (p5), \ + (cinfo)->err->msg_parm.i[5] = (p6), \ + (*(cinfo)->err->error_exit) ((j_common_ptr)(cinfo))) +#define ERREXITS(cinfo, code, str) \ + ((cinfo)->err->msg_code = (code), \ + strncpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \ + (cinfo)->err->msg_parm.s[JMSG_STR_PARM_MAX - 1] = '\0', \ + (*(cinfo)->err->error_exit) ((j_common_ptr)(cinfo))) + +#define MAKESTMT(stuff) do { stuff } while (0) + +/* Nonfatal errors (we can keep going, but the data is probably corrupt) */ +#define WARNMS(cinfo, code) \ + ((cinfo)->err->msg_code = (code), \ + (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), -1)) +#define WARNMS1(cinfo, code, p1) \ + ((cinfo)->err->msg_code = (code), \ + (cinfo)->err->msg_parm.i[0] = (p1), \ + (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), -1)) +#define WARNMS2(cinfo, code, p1, p2) \ + ((cinfo)->err->msg_code = (code), \ + (cinfo)->err->msg_parm.i[0] = (p1), \ + (cinfo)->err->msg_parm.i[1] = (p2), \ + (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), -1)) + +/* Informational/debugging messages */ +#define TRACEMS(cinfo, lvl, code) \ + ((cinfo)->err->msg_code = (code), \ + (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), (lvl))) +#define TRACEMS1(cinfo, lvl, code, p1) \ + ((cinfo)->err->msg_code = (code), \ + (cinfo)->err->msg_parm.i[0] = (p1), \ + (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), (lvl))) +#define TRACEMS2(cinfo, lvl, code, p1, p2) \ + ((cinfo)->err->msg_code = (code), \ + (cinfo)->err->msg_parm.i[0] = (p1), \ + (cinfo)->err->msg_parm.i[1] = (p2), \ + (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), (lvl))) +#define TRACEMS3(cinfo, lvl, code, p1, p2, p3) \ + MAKESTMT(int *_mp = (cinfo)->err->msg_parm.i; \ + _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); \ + (cinfo)->err->msg_code = (code); \ + (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), (lvl)); ) +#define TRACEMS4(cinfo, lvl, code, p1, p2, p3, p4) \ + MAKESTMT(int *_mp = (cinfo)->err->msg_parm.i; \ + _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \ + (cinfo)->err->msg_code = (code); \ + (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), (lvl)); ) +#define TRACEMS5(cinfo, lvl, code, p1, p2, p3, p4, p5) \ + MAKESTMT(int *_mp = (cinfo)->err->msg_parm.i; \ + _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \ + _mp[4] = (p5); \ + (cinfo)->err->msg_code = (code); \ + (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), (lvl)); ) +#define TRACEMS8(cinfo, lvl, code, p1, p2, p3, p4, p5, p6, p7, p8) \ + MAKESTMT(int *_mp = (cinfo)->err->msg_parm.i; \ + _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \ + _mp[4] = (p5); _mp[5] = (p6); _mp[6] = (p7); _mp[7] = (p8); \ + (cinfo)->err->msg_code = (code); \ + (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), (lvl)); ) +#define TRACEMSS(cinfo, lvl, code, str) \ + ((cinfo)->err->msg_code = (code), \ + strncpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \ + (cinfo)->err->msg_parm.s[JMSG_STR_PARM_MAX - 1] = '\0', \ + (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), (lvl))) + +#endif /* JERROR_H */ diff --git a/vcpkg/installed/x64-osx/include/jmorecfg.h b/vcpkg/installed/x64-osx/include/jmorecfg.h new file mode 100644 index 0000000..89c7842 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/jmorecfg.h @@ -0,0 +1,385 @@ +/* + * jmorecfg.h + * + * This file was part of the Independent JPEG Group's software: + * Copyright (C) 1991-1997, Thomas G. Lane. + * Modified 1997-2009 by Guido Vollbeding. + * Lossless JPEG Modifications: + * Copyright (C) 1999, Ken Murchison. + * libjpeg-turbo Modifications: + * Copyright (C) 2009, 2011, 2014-2015, 2018, 2020, 2022, D. R. Commander. + * For conditions of distribution and use, see the accompanying README.ijg + * file. + * + * This file contains additional configuration options that customize the + * JPEG software for special applications or support machine-dependent + * optimizations. Most users will not need to touch this file. + */ + + +/* + * Maximum number of components (color channels) allowed in JPEG image. + * To meet the letter of Rec. ITU-T T.81 | ISO/IEC 10918-1, set this to 255. + * However, darn few applications need more than 4 channels (maybe 5 for CMYK + + * alpha mask). We recommend 10 as a reasonable compromise; use 4 if you are + * really short on memory. (Each allowed component costs a hundred or so + * bytes of storage, whether actually used in an image or not.) + */ + +#define MAX_COMPONENTS 10 /* maximum number of image components */ + + +/* + * Basic data types. + * You may need to change these if you have a machine with unusual data + * type sizes; for example, "char" not 8 bits, "short" not 16 bits, + * or "long" not 32 bits. We don't care whether "int" is 16 or 32 bits, + * but it had better be at least 16. + */ + +/* Representation of a single sample (pixel element value). + * We frequently allocate large arrays of these, so it's important to keep + * them small. But if you have memory to burn and access to char or short + * arrays is very slow on your hardware, you might want to change these. + */ + +/* JSAMPLE should be the smallest type that will hold the values 0..255. */ + +typedef unsigned char JSAMPLE; +#define GETJSAMPLE(value) ((int)(value)) + +#define MAXJSAMPLE 255 +#define CENTERJSAMPLE 128 + + +/* J12SAMPLE should be the smallest type that will hold the values 0..4095. */ + +typedef short J12SAMPLE; + +#define MAXJ12SAMPLE 4095 +#define CENTERJ12SAMPLE 2048 + + +/* J16SAMPLE should be the smallest type that will hold the values 0..65535. */ + +typedef unsigned short J16SAMPLE; + +#define MAXJ16SAMPLE 65535 +#define CENTERJ16SAMPLE 32768 + + +/* Representation of a DCT frequency coefficient. + * This should be a signed value of at least 16 bits; "short" is usually OK. + * Again, we allocate large arrays of these, but you can change to int + * if you have memory to burn and "short" is really slow. + */ + +typedef short JCOEF; + + +/* Compressed datastreams are represented as arrays of JOCTET. + * These must be EXACTLY 8 bits wide, at least once they are written to + * external storage. Note that when using the stdio data source/destination + * managers, this is also the data type passed to fread/fwrite. + */ + +typedef unsigned char JOCTET; +#define GETJOCTET(value) (value) + + +/* These typedefs are used for various table entries and so forth. + * They must be at least as wide as specified; but making them too big + * won't cost a huge amount of memory, so we don't provide special + * extraction code like we did for JSAMPLE. (In other words, these + * typedefs live at a different point on the speed/space tradeoff curve.) + */ + +/* UINT8 must hold at least the values 0..255. */ + +typedef unsigned char UINT8; + +/* UINT16 must hold at least the values 0..65535. */ + +typedef unsigned short UINT16; + +/* INT16 must hold at least the values -32768..32767. */ + +#ifndef XMD_H /* X11/xmd.h correctly defines INT16 */ +typedef short INT16; +#endif + +/* INT32 must hold at least signed 32-bit values. + * + * NOTE: The INT32 typedef dates back to libjpeg v5 (1994.) Integers were + * sometimes 16-bit back then (MS-DOS), which is why INT32 is typedef'd to + * long. It also wasn't common (or at least as common) in 1994 for INT32 to be + * defined by platform headers. Since then, however, INT32 is defined in + * several other common places: + * + * Xmd.h (X11 header) typedefs INT32 to int on 64-bit platforms and long on + * 32-bit platforms (i.e always a 32-bit signed type.) + * + * basetsd.h (Win32 header) typedefs INT32 to int (always a 32-bit signed type + * on modern platforms.) + * + * qglobal.h (Qt header) typedefs INT32 to int (always a 32-bit signed type on + * modern platforms.) + * + * This is a recipe for conflict, since "long" and "int" aren't always + * compatible types. Since the definition of INT32 has technically been part + * of the libjpeg API for more than 20 years, we can't remove it, but we do not + * use it internally any longer. We instead define a separate type (JLONG) + * for internal use, which ensures that internal behavior will always be the + * same regardless of any external headers that may be included. + */ + +#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */ +#ifndef _BASETSD_H_ /* Microsoft defines it in basetsd.h */ +#ifndef _BASETSD_H /* MinGW is slightly different */ +#ifndef QGLOBAL_H /* Qt defines it in qglobal.h */ +typedef long INT32; +#endif +#endif +#endif +#endif + +/* Datatype used for image dimensions. The JPEG standard only supports + * images up to 64K*64K due to 16-bit fields in SOF markers. Therefore + * "unsigned int" is sufficient on all machines. However, if you need to + * handle larger images and you don't mind deviating from the spec, you + * can change this datatype. (Note that changing this datatype will + * potentially require modifying the SIMD code. The x86-64 SIMD extensions, + * in particular, assume a 32-bit JDIMENSION.) + */ + +typedef unsigned int JDIMENSION; + +#define JPEG_MAX_DIMENSION 65500L /* a tad under 64K to prevent overflows */ + + +/* These macros are used in all function definitions and extern declarations. + * You could modify them if you need to change function linkage conventions; + * in particular, you'll need to do that to make the library a Windows DLL. + * Another application is to make all functions global for use with debuggers + * or code profilers that require it. + */ + +/* a function called through method pointers: */ +#define METHODDEF(type) static type +/* a function used only in its module: */ +#define LOCAL(type) static type +/* a function referenced thru EXTERNs: */ +#define GLOBAL(type) type +/* a reference to a GLOBAL function: */ +#define EXTERN(type) extern type + + +/* Originally, this macro was used as a way of defining function prototypes + * for both modern compilers as well as older compilers that did not support + * prototype parameters. libjpeg-turbo has never supported these older, + * non-ANSI compilers, but the macro is still included because there is some + * software out there that uses it. + */ + +#define JMETHOD(type, methodname, arglist) type (*methodname) arglist + + +/* libjpeg-turbo no longer supports platforms that have far symbols (MS-DOS), + * but again, some software relies on this macro. + */ + +#undef FAR +#define FAR + + +/* + * On a few systems, type boolean and/or its values FALSE, TRUE may appear + * in standard header files. Or you may have conflicts with application- + * specific header files that you want to include together with these files. + * Defining HAVE_BOOLEAN before including jpeglib.h should make it work. + */ + +#ifndef HAVE_BOOLEAN +typedef int boolean; +#endif +#ifndef FALSE /* in case these macros already exist */ +#define FALSE 0 /* values of boolean */ +#endif +#ifndef TRUE +#define TRUE 1 +#endif + + +/* + * The remaining options affect code selection within the JPEG library, + * but they don't need to be visible to most applications using the library. + * To minimize application namespace pollution, the symbols won't be + * defined unless JPEG_INTERNALS or JPEG_INTERNAL_OPTIONS has been defined. + */ + +#ifdef JPEG_INTERNALS +#define JPEG_INTERNAL_OPTIONS +#endif + +#ifdef JPEG_INTERNAL_OPTIONS + + +/* + * These defines indicate whether to include various optional functions. + * Undefining some of these symbols will produce a smaller but less capable + * library. Note that you can leave certain source files out of the + * compilation/linking process if you've #undef'd the corresponding symbols. + * (You may HAVE to do that if your compiler doesn't like null source files.) + */ + +/* Capability options common to encoder and decoder: */ + +#define DCT_ISLOW_SUPPORTED /* accurate integer method */ +#define DCT_IFAST_SUPPORTED /* less accurate int method [legacy feature] */ +#define DCT_FLOAT_SUPPORTED /* floating-point method [legacy feature] */ + +/* Encoder capability options: */ + +#define C_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ +#define C_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ +#define C_LOSSLESS_SUPPORTED /* Lossless JPEG? */ +#define ENTROPY_OPT_SUPPORTED /* Optimization of entropy coding parms? */ +/* Note: if you selected 12-bit data precision, it is dangerous to turn off + * ENTROPY_OPT_SUPPORTED. The standard Huffman tables are only good for 8-bit + * precision, so jchuff.c normally uses entropy optimization to compute + * usable tables for higher precision. If you don't want to do optimization, + * you'll have to supply different default Huffman tables. + * The exact same statements apply for progressive and lossless JPEG: + * the default tables don't work for progressive mode or lossless mode. + * (This may get fixed, however.) + */ +#define INPUT_SMOOTHING_SUPPORTED /* Input image smoothing option? */ + +/* Decoder capability options: */ + +#define D_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ +#define D_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ +#define D_LOSSLESS_SUPPORTED /* Lossless JPEG? */ +#define SAVE_MARKERS_SUPPORTED /* jpeg_save_markers() needed? */ +#define BLOCK_SMOOTHING_SUPPORTED /* Block smoothing? (Progressive only) */ +#define IDCT_SCALING_SUPPORTED /* Output rescaling via IDCT? */ +#undef UPSAMPLE_SCALING_SUPPORTED /* Output rescaling at upsample stage? */ +#define UPSAMPLE_MERGING_SUPPORTED /* Fast path for sloppy upsampling? */ +#define QUANT_1PASS_SUPPORTED /* 1-pass color quantization? */ +#define QUANT_2PASS_SUPPORTED /* 2-pass color quantization? */ + +/* more capability options later, no doubt */ + + +/* + * The RGB_RED, RGB_GREEN, RGB_BLUE, and RGB_PIXELSIZE macros are a vestigial + * feature of libjpeg. The idea was that, if an application developer needed + * to compress from/decompress to a BGR/BGRX/RGBX/XBGR/XRGB buffer, they could + * change these macros, rebuild libjpeg, and link their application statically + * with it. In reality, few people ever did this, because there were some + * severe restrictions involved (cjpeg and djpeg no longer worked properly, + * compressing/decompressing RGB JPEGs no longer worked properly, and the color + * quantizer wouldn't work with pixel sizes other than 3.) Furthermore, since + * all of the O/S-supplied versions of libjpeg were built with the default + * values of RGB_RED, RGB_GREEN, RGB_BLUE, and RGB_PIXELSIZE, many applications + * have come to regard these values as immutable. + * + * The libjpeg-turbo colorspace extensions provide a much cleaner way of + * compressing from/decompressing to buffers with arbitrary component orders + * and pixel sizes. Thus, we do not support changing the values of RGB_RED, + * RGB_GREEN, RGB_BLUE, or RGB_PIXELSIZE. In addition to the restrictions + * listed above, changing these values will also break the SIMD extensions and + * the regression tests. + */ + +#define RGB_RED 0 /* Offset of Red in an RGB scanline element */ +#define RGB_GREEN 1 /* Offset of Green */ +#define RGB_BLUE 2 /* Offset of Blue */ +#define RGB_PIXELSIZE 3 /* JSAMPLEs per RGB scanline element */ + +#define JPEG_NUMCS 17 + +#define EXT_RGB_RED 0 +#define EXT_RGB_GREEN 1 +#define EXT_RGB_BLUE 2 +#define EXT_RGB_PIXELSIZE 3 + +#define EXT_RGBX_RED 0 +#define EXT_RGBX_GREEN 1 +#define EXT_RGBX_BLUE 2 +#define EXT_RGBX_PIXELSIZE 4 + +#define EXT_BGR_RED 2 +#define EXT_BGR_GREEN 1 +#define EXT_BGR_BLUE 0 +#define EXT_BGR_PIXELSIZE 3 + +#define EXT_BGRX_RED 2 +#define EXT_BGRX_GREEN 1 +#define EXT_BGRX_BLUE 0 +#define EXT_BGRX_PIXELSIZE 4 + +#define EXT_XBGR_RED 3 +#define EXT_XBGR_GREEN 2 +#define EXT_XBGR_BLUE 1 +#define EXT_XBGR_PIXELSIZE 4 + +#define EXT_XRGB_RED 1 +#define EXT_XRGB_GREEN 2 +#define EXT_XRGB_BLUE 3 +#define EXT_XRGB_PIXELSIZE 4 + +static const int rgb_red[JPEG_NUMCS] = { + -1, -1, RGB_RED, -1, -1, -1, EXT_RGB_RED, EXT_RGBX_RED, + EXT_BGR_RED, EXT_BGRX_RED, EXT_XBGR_RED, EXT_XRGB_RED, + EXT_RGBX_RED, EXT_BGRX_RED, EXT_XBGR_RED, EXT_XRGB_RED, + -1 +}; + +static const int rgb_green[JPEG_NUMCS] = { + -1, -1, RGB_GREEN, -1, -1, -1, EXT_RGB_GREEN, EXT_RGBX_GREEN, + EXT_BGR_GREEN, EXT_BGRX_GREEN, EXT_XBGR_GREEN, EXT_XRGB_GREEN, + EXT_RGBX_GREEN, EXT_BGRX_GREEN, EXT_XBGR_GREEN, EXT_XRGB_GREEN, + -1 +}; + +static const int rgb_blue[JPEG_NUMCS] = { + -1, -1, RGB_BLUE, -1, -1, -1, EXT_RGB_BLUE, EXT_RGBX_BLUE, + EXT_BGR_BLUE, EXT_BGRX_BLUE, EXT_XBGR_BLUE, EXT_XRGB_BLUE, + EXT_RGBX_BLUE, EXT_BGRX_BLUE, EXT_XBGR_BLUE, EXT_XRGB_BLUE, + -1 +}; + +static const int rgb_pixelsize[JPEG_NUMCS] = { + -1, -1, RGB_PIXELSIZE, -1, -1, -1, EXT_RGB_PIXELSIZE, EXT_RGBX_PIXELSIZE, + EXT_BGR_PIXELSIZE, EXT_BGRX_PIXELSIZE, EXT_XBGR_PIXELSIZE, EXT_XRGB_PIXELSIZE, + EXT_RGBX_PIXELSIZE, EXT_BGRX_PIXELSIZE, EXT_XBGR_PIXELSIZE, EXT_XRGB_PIXELSIZE, + -1 +}; + +/* Definitions for speed-related optimizations. */ + +/* On some machines (notably 68000 series) "int" is 32 bits, but multiplying + * two 16-bit shorts is faster than multiplying two ints. Define MULTIPLIER + * as short on such a machine. MULTIPLIER must be at least 16 bits wide. + */ + +#ifndef MULTIPLIER +#ifndef WITH_SIMD +#define MULTIPLIER int /* type for fastest integer multiply */ +#else +#define MULTIPLIER short /* prefer 16-bit with SIMD for parellelism */ +#endif +#endif + + +/* FAST_FLOAT should be either float or double, whichever is done faster + * by your compiler. (Note that this type is only used in the floating point + * DCT routines, so it only matters if you've defined DCT_FLOAT_SUPPORTED.) + */ + +#ifndef FAST_FLOAT +#define FAST_FLOAT float +#endif + +#endif /* JPEG_INTERNAL_OPTIONS */ diff --git a/vcpkg/installed/x64-osx/include/jpeglib.h b/vcpkg/installed/x64-osx/include/jpeglib.h new file mode 100644 index 0000000..a59e98c --- /dev/null +++ b/vcpkg/installed/x64-osx/include/jpeglib.h @@ -0,0 +1,1209 @@ +/* + * jpeglib.h + * + * This file was part of the Independent JPEG Group's software: + * Copyright (C) 1991-1998, Thomas G. Lane. + * Modified 2002-2009 by Guido Vollbeding. + * Lossless JPEG Modifications: + * Copyright (C) 1999, Ken Murchison. + * libjpeg-turbo Modifications: + * Copyright (C) 2009-2011, 2013-2014, 2016-2017, 2020, 2022-2023, + D. R. Commander. + * Copyright (C) 2015, Google, Inc. + * For conditions of distribution and use, see the accompanying README.ijg + * file. + * + * This file defines the application interface for the JPEG library. + * Most applications using the library need only include this file, + * and perhaps jerror.h if they want to know the exact error codes. + */ + +#ifndef JPEGLIB_H +#define JPEGLIB_H + +/* + * First we include the configuration files that record how this + * installation of the JPEG library is set up. jconfig.h can be + * generated automatically for many systems. jmorecfg.h contains + * manual configuration options that most people need not worry about. + */ + +#ifndef JCONFIG_INCLUDED /* in case jinclude.h already did */ +#include "jconfig.h" /* widely used configuration options */ +#endif +#include "jmorecfg.h" /* seldom changed options */ + + +#ifdef __cplusplus +#ifndef DONT_USE_EXTERN_C +extern "C" { +#endif +#endif + + +/* Various constants determining the sizes of things. + * All of these are specified by the JPEG standard, so don't change them + * if you want to be compatible. + */ + +/* NOTE: In lossless mode, an MCU contains one or more samples rather than one + * or more 8x8 DCT blocks, so the term "data unit" is used to generically + * describe a sample in lossless mode or an 8x8 DCT block in lossy mode. To + * preserve backward API/ABI compatibility, the field and macro names retain + * the "block" terminology. + */ + +#define DCTSIZE 8 /* The basic DCT block is 8x8 samples */ +#define DCTSIZE2 64 /* DCTSIZE squared; # of elements in a block */ +#define NUM_QUANT_TBLS 4 /* Quantization tables are numbered 0..3 */ +#define NUM_HUFF_TBLS 4 /* Huffman tables are numbered 0..3 */ +#define NUM_ARITH_TBLS 16 /* Arith-coding tables are numbered 0..15 */ +#define MAX_COMPS_IN_SCAN 4 /* JPEG limit on # of components in one scan */ +#define MAX_SAMP_FACTOR 4 /* JPEG limit on sampling factors */ +/* Unfortunately, some bozo at Adobe saw no reason to be bound by the standard; + * the PostScript DCT filter can emit files with many more than 10 blocks/MCU. + * If you happen to run across such a file, you can up D_MAX_BLOCKS_IN_MCU + * to handle it. We even let you do this from the jconfig.h file. However, + * we strongly discourage changing C_MAX_BLOCKS_IN_MCU; just because Adobe + * sometimes emits noncompliant files doesn't mean you should too. + */ +#define C_MAX_BLOCKS_IN_MCU 10 /* compressor's limit on data units/MCU */ +#ifndef D_MAX_BLOCKS_IN_MCU +#define D_MAX_BLOCKS_IN_MCU 10 /* decompressor's limit on data units/MCU */ +#endif + + +/* Data structures for images (arrays of samples and of DCT coefficients). + */ + +typedef JSAMPLE *JSAMPROW; /* ptr to one image row of pixel samples. */ +typedef JSAMPROW *JSAMPARRAY; /* ptr to some rows (a 2-D sample array) */ +typedef JSAMPARRAY *JSAMPIMAGE; /* a 3-D sample array: top index is color */ + +typedef J12SAMPLE *J12SAMPROW; /* ptr to one image row of 12-bit pixel + samples. */ +typedef J12SAMPROW *J12SAMPARRAY; /* ptr to some 12-bit sample rows (a 2-D + 12-bit sample array) */ +typedef J12SAMPARRAY *J12SAMPIMAGE; /* a 3-D 12-bit sample array: top index is + color */ + +typedef J16SAMPLE *J16SAMPROW; /* ptr to one image row of 16-bit pixel + samples. */ +typedef J16SAMPROW *J16SAMPARRAY; /* ptr to some 16-bit sample rows (a 2-D + 16-bit sample array) */ +typedef J16SAMPARRAY *J16SAMPIMAGE; /* a 3-D 16-bit sample array: top index is + color */ + +typedef JCOEF JBLOCK[DCTSIZE2]; /* one block of coefficients */ +typedef JBLOCK *JBLOCKROW; /* pointer to one row of coefficient blocks */ +typedef JBLOCKROW *JBLOCKARRAY; /* a 2-D array of coefficient blocks */ +typedef JBLOCKARRAY *JBLOCKIMAGE; /* a 3-D array of coefficient blocks */ + +typedef JCOEF *JCOEFPTR; /* useful in a couple of places */ + + +/* Types for JPEG compression parameters and working tables. */ + + +/* DCT coefficient quantization tables. */ + +typedef struct { + /* This array gives the coefficient quantizers in natural array order + * (not the zigzag order in which they are stored in a JPEG DQT marker). + * CAUTION: IJG versions prior to v6a kept this array in zigzag order. + */ + UINT16 quantval[DCTSIZE2]; /* quantization step for each coefficient */ + /* This field is used only during compression. It's initialized FALSE when + * the table is created, and set TRUE when it's been output to the file. + * You could suppress output of a table by setting this to TRUE. + * (See jpeg_suppress_tables for an example.) + */ + boolean sent_table; /* TRUE when table has been output */ +} JQUANT_TBL; + + +/* Huffman coding tables. */ + +typedef struct { + /* These two fields directly represent the contents of a JPEG DHT marker */ + UINT8 bits[17]; /* bits[k] = # of symbols with codes of */ + /* length k bits; bits[0] is unused */ + UINT8 huffval[256]; /* The symbols, in order of incr code length */ + /* This field is used only during compression. It's initialized FALSE when + * the table is created, and set TRUE when it's been output to the file. + * You could suppress output of a table by setting this to TRUE. + * (See jpeg_suppress_tables for an example.) + */ + boolean sent_table; /* TRUE when table has been output */ +} JHUFF_TBL; + + +/* Basic info about one component (color channel). */ + +typedef struct { + /* These values are fixed over the whole image. */ + /* For compression, they must be supplied by parameter setup; */ + /* for decompression, they are read from the SOF marker. */ + int component_id; /* identifier for this component (0..255) */ + int component_index; /* its index in SOF or cinfo->comp_info[] */ + int h_samp_factor; /* horizontal sampling factor (1..4) */ + int v_samp_factor; /* vertical sampling factor (1..4) */ + int quant_tbl_no; /* quantization table selector (0..3) */ + /* These values may vary between scans. */ + /* For compression, they must be supplied by parameter setup; */ + /* for decompression, they are read from the SOS marker. */ + /* The decompressor output side may not use these variables. */ + int dc_tbl_no; /* DC entropy table selector (0..3) */ + int ac_tbl_no; /* AC entropy table selector (0..3) */ + + /* Remaining fields should be treated as private by applications. */ + + /* These values are computed during compression or decompression startup: */ + /* Component's size in data units. + * In lossy mode, any dummy blocks added to complete an MCU are not counted; + * therefore these values do not depend on whether a scan is interleaved or + * not. In lossless mode, these are always equal to the image width and + * height. + */ + JDIMENSION width_in_blocks; + JDIMENSION height_in_blocks; + /* Size of a data unit in samples. Always DCTSIZE for lossy compression. + * For lossy decompression this is the size of the output from one DCT block, + * reflecting any scaling we choose to apply during the IDCT step. + * Values from 1 to 16 are supported. Note that different components may + * receive different IDCT scalings. In lossless mode, this is always equal + * to 1. + */ +#if JPEG_LIB_VERSION >= 70 + int DCT_h_scaled_size; + int DCT_v_scaled_size; +#else + int DCT_scaled_size; +#endif + /* The downsampled dimensions are the component's actual, unpadded number + * of samples at the main buffer (preprocessing/compression interface), thus + * downsampled_width = ceil(image_width * Hi/Hmax) + * and similarly for height. For lossy decompression, IDCT scaling is + * included, so + * downsampled_width = ceil(image_width * Hi/Hmax * DCT_[h_]scaled_size/DCTSIZE) + * In lossless mode, these are always equal to the image width and height. + */ + JDIMENSION downsampled_width; /* actual width in samples */ + JDIMENSION downsampled_height; /* actual height in samples */ + /* This flag is used only for decompression. In cases where some of the + * components will be ignored (eg grayscale output from YCbCr image), + * we can skip most computations for the unused components. + */ + boolean component_needed; /* do we need the value of this component? */ + + /* These values are computed before starting a scan of the component. */ + /* The decompressor output side may not use these variables. */ + int MCU_width; /* number of data units per MCU, horizontally */ + int MCU_height; /* number of data units per MCU, vertically */ + int MCU_blocks; /* MCU_width * MCU_height */ + int MCU_sample_width; /* MCU width in samples, MCU_width*DCT_[h_]scaled_size */ + int last_col_width; /* # of non-dummy data units across in last MCU */ + int last_row_height; /* # of non-dummy data units down in last MCU */ + + /* Saved quantization table for component; NULL if none yet saved. + * See jdinput.c comments about the need for this information. + * This field is currently used only for decompression. + */ + JQUANT_TBL *quant_table; + + /* Private per-component storage for DCT or IDCT subsystem. */ + void *dct_table; +} jpeg_component_info; + + +/* The script for encoding a multiple-scan file is an array of these: */ + +typedef struct { + int comps_in_scan; /* number of components encoded in this scan */ + int component_index[MAX_COMPS_IN_SCAN]; /* their SOF/comp_info[] indexes */ + int Ss, Se; /* progressive JPEG spectral selection parms + (Ss is the predictor selection value in + lossless mode) */ + int Ah, Al; /* progressive JPEG successive approx. parms + (Al is the point transform value in lossless + mode) */ +} jpeg_scan_info; + +/* The decompressor can save APPn and COM markers in a list of these: */ + +typedef struct jpeg_marker_struct *jpeg_saved_marker_ptr; + +struct jpeg_marker_struct { + jpeg_saved_marker_ptr next; /* next in list, or NULL */ + UINT8 marker; /* marker code: JPEG_COM, or JPEG_APP0+n */ + unsigned int original_length; /* # bytes of data in the file */ + unsigned int data_length; /* # bytes of data saved at data[] */ + JOCTET *data; /* the data contained in the marker */ + /* the marker length word is not counted in data_length or original_length */ +}; + +/* Known color spaces. */ + +#define JCS_EXTENSIONS 1 +#define JCS_ALPHA_EXTENSIONS 1 + +typedef enum { + JCS_UNKNOWN, /* error/unspecified */ + JCS_GRAYSCALE, /* monochrome */ + JCS_RGB, /* red/green/blue as specified by the RGB_RED, + RGB_GREEN, RGB_BLUE, and RGB_PIXELSIZE macros */ + JCS_YCbCr, /* Y/Cb/Cr (also known as YUV) */ + JCS_CMYK, /* C/M/Y/K */ + JCS_YCCK, /* Y/Cb/Cr/K */ + JCS_EXT_RGB, /* red/green/blue */ + JCS_EXT_RGBX, /* red/green/blue/x */ + JCS_EXT_BGR, /* blue/green/red */ + JCS_EXT_BGRX, /* blue/green/red/x */ + JCS_EXT_XBGR, /* x/blue/green/red */ + JCS_EXT_XRGB, /* x/red/green/blue */ + /* When out_color_space it set to JCS_EXT_RGBX, JCS_EXT_BGRX, JCS_EXT_XBGR, + or JCS_EXT_XRGB during decompression, the X byte is undefined, and in + order to ensure the best performance, libjpeg-turbo can set that byte to + whatever value it wishes. Use the following colorspace constants to + ensure that the X byte is set to 0xFF, so that it can be interpreted as an + opaque alpha channel. */ + JCS_EXT_RGBA, /* red/green/blue/alpha */ + JCS_EXT_BGRA, /* blue/green/red/alpha */ + JCS_EXT_ABGR, /* alpha/blue/green/red */ + JCS_EXT_ARGB, /* alpha/red/green/blue */ + JCS_RGB565 /* 5-bit red/6-bit green/5-bit blue + [decompression only] */ +} J_COLOR_SPACE; + +/* DCT/IDCT algorithm options. */ + +typedef enum { + JDCT_ISLOW, /* accurate integer method */ + JDCT_IFAST, /* less accurate integer method [legacy feature] */ + JDCT_FLOAT /* floating-point method [legacy feature] */ +} J_DCT_METHOD; + +#ifndef JDCT_DEFAULT /* may be overridden in jconfig.h */ +#define JDCT_DEFAULT JDCT_ISLOW +#endif +#ifndef JDCT_FASTEST /* may be overridden in jconfig.h */ +#define JDCT_FASTEST JDCT_IFAST +#endif + +/* Dithering options for decompression. */ + +typedef enum { + JDITHER_NONE, /* no dithering */ + JDITHER_ORDERED, /* simple ordered dither */ + JDITHER_FS /* Floyd-Steinberg error diffusion dither */ +} J_DITHER_MODE; + + +/* Common fields between JPEG compression and decompression master structs. */ + +#define jpeg_common_fields \ + struct jpeg_error_mgr *err; /* Error handler module */ \ + struct jpeg_memory_mgr *mem; /* Memory manager module */ \ + struct jpeg_progress_mgr *progress; /* Progress monitor, or NULL if none */ \ + void *client_data; /* Available for use by application */ \ + boolean is_decompressor; /* So common code can tell which is which */ \ + int global_state /* For checking call sequence validity */ + +/* Routines that are to be used by both halves of the library are declared + * to receive a pointer to this structure. There are no actual instances of + * jpeg_common_struct, only of jpeg_compress_struct and jpeg_decompress_struct. + */ +struct jpeg_common_struct { + jpeg_common_fields; /* Fields common to both master struct types */ + /* Additional fields follow in an actual jpeg_compress_struct or + * jpeg_decompress_struct. All three structs must agree on these + * initial fields! (This would be a lot cleaner in C++.) + */ +}; + +typedef struct jpeg_common_struct *j_common_ptr; +typedef struct jpeg_compress_struct *j_compress_ptr; +typedef struct jpeg_decompress_struct *j_decompress_ptr; + + +/* Master record for a compression instance */ + +struct jpeg_compress_struct { + jpeg_common_fields; /* Fields shared with jpeg_decompress_struct */ + + /* Destination for compressed data */ + struct jpeg_destination_mgr *dest; + + /* Description of source image --- these fields must be filled in by + * outer application before starting compression. in_color_space must + * be correct before you can even call jpeg_set_defaults(). + */ + + JDIMENSION image_width; /* input image width */ + JDIMENSION image_height; /* input image height */ + int input_components; /* # of color components in input image */ + J_COLOR_SPACE in_color_space; /* colorspace of input image */ + + double input_gamma; /* image gamma of input image */ + + /* Compression parameters --- these fields must be set before calling + * jpeg_start_compress(). We recommend calling jpeg_set_defaults() to + * initialize everything to reasonable defaults, then changing anything + * the application specifically wants to change. That way you won't get + * burnt when new parameters are added. Also note that there are several + * helper routines to simplify changing parameters. + */ + +#if JPEG_LIB_VERSION >= 70 + unsigned int scale_num, scale_denom; /* fraction by which to scale image */ + + JDIMENSION jpeg_width; /* scaled JPEG image width */ + JDIMENSION jpeg_height; /* scaled JPEG image height */ + /* Dimensions of actual JPEG image that will be written to file, + * derived from input dimensions by scaling factors above. + * These fields are computed by jpeg_start_compress(). + * You can also use jpeg_calc_jpeg_dimensions() to determine these values + * in advance of calling jpeg_start_compress(). + */ +#endif + + int data_precision; /* bits of precision in image data */ + + int num_components; /* # of color components in JPEG image */ + J_COLOR_SPACE jpeg_color_space; /* colorspace of JPEG image */ + + jpeg_component_info *comp_info; + /* comp_info[i] describes component that appears i'th in SOF */ + + JQUANT_TBL *quant_tbl_ptrs[NUM_QUANT_TBLS]; +#if JPEG_LIB_VERSION >= 70 + int q_scale_factor[NUM_QUANT_TBLS]; +#endif + /* ptrs to coefficient quantization tables, or NULL if not defined, + * and corresponding scale factors (percentage, initialized 100). + */ + + JHUFF_TBL *dc_huff_tbl_ptrs[NUM_HUFF_TBLS]; + JHUFF_TBL *ac_huff_tbl_ptrs[NUM_HUFF_TBLS]; + /* ptrs to Huffman coding tables, or NULL if not defined */ + + UINT8 arith_dc_L[NUM_ARITH_TBLS]; /* L values for DC arith-coding tables */ + UINT8 arith_dc_U[NUM_ARITH_TBLS]; /* U values for DC arith-coding tables */ + UINT8 arith_ac_K[NUM_ARITH_TBLS]; /* Kx values for AC arith-coding tables */ + + int num_scans; /* # of entries in scan_info array */ + const jpeg_scan_info *scan_info; /* script for multi-scan file, or NULL */ + /* The default value of scan_info is NULL, which causes a single-scan + * sequential JPEG file to be emitted. To create a multi-scan file, + * set num_scans and scan_info to point to an array of scan definitions. + */ + + boolean raw_data_in; /* TRUE=caller supplies downsampled data */ + boolean arith_code; /* TRUE=arithmetic coding, FALSE=Huffman */ + boolean optimize_coding; /* TRUE=optimize entropy encoding parms */ + boolean CCIR601_sampling; /* TRUE=first samples are cosited */ +#if JPEG_LIB_VERSION >= 70 + boolean do_fancy_downsampling; /* TRUE=apply fancy downsampling */ +#endif + int smoothing_factor; /* 1..100, or 0 for no input smoothing */ + J_DCT_METHOD dct_method; /* DCT algorithm selector */ + + /* The restart interval can be specified in absolute MCUs by setting + * restart_interval, or in MCU rows by setting restart_in_rows + * (in which case the correct restart_interval will be figured + * for each scan). + */ + unsigned int restart_interval; /* MCUs per restart, or 0 for no restart */ + int restart_in_rows; /* if > 0, MCU rows per restart interval */ + + /* Parameters controlling emission of special markers. */ + + boolean write_JFIF_header; /* should a JFIF marker be written? */ + UINT8 JFIF_major_version; /* What to write for the JFIF version number */ + UINT8 JFIF_minor_version; + /* These three values are not used by the JPEG code, merely copied */ + /* into the JFIF APP0 marker. density_unit can be 0 for unknown, */ + /* 1 for dots/inch, or 2 for dots/cm. Note that the pixel aspect */ + /* ratio is defined by X_density/Y_density even when density_unit=0. */ + UINT8 density_unit; /* JFIF code for pixel size units */ + UINT16 X_density; /* Horizontal pixel density */ + UINT16 Y_density; /* Vertical pixel density */ + boolean write_Adobe_marker; /* should an Adobe marker be written? */ + + /* State variable: index of next scanline to be written to + * jpeg_write_scanlines(). Application may use this to control its + * processing loop, e.g., "while (next_scanline < image_height)". + */ + + JDIMENSION next_scanline; /* 0 .. image_height-1 */ + + /* Remaining fields are known throughout compressor, but generally + * should not be touched by a surrounding application. + */ + + /* + * These fields are computed during compression startup + */ + boolean progressive_mode; /* TRUE if scan script uses progressive mode */ + int max_h_samp_factor; /* largest h_samp_factor */ + int max_v_samp_factor; /* largest v_samp_factor */ + +#if JPEG_LIB_VERSION >= 70 + int min_DCT_h_scaled_size; /* smallest DCT_h_scaled_size of any component */ + int min_DCT_v_scaled_size; /* smallest DCT_v_scaled_size of any component */ +#endif + + JDIMENSION total_iMCU_rows; /* # of iMCU rows to be input to coefficient or + difference controller */ + /* The coefficient or difference controller receives data in units of MCU + * rows as defined for fully interleaved scans (whether the JPEG file is + * interleaved or not). In lossy mode, there are v_samp_factor * DCTSIZE + * sample rows of each component in an "iMCU" (interleaved MCU) row. In + * lossless mode, total_iMCU_rows is always equal to the image height. + */ + + /* + * These fields are valid during any one scan. + * They describe the components and MCUs actually appearing in the scan. + */ + int comps_in_scan; /* # of JPEG components in this scan */ + jpeg_component_info *cur_comp_info[MAX_COMPS_IN_SCAN]; + /* *cur_comp_info[i] describes component that appears i'th in SOS */ + + JDIMENSION MCUs_per_row; /* # of MCUs across the image */ + JDIMENSION MCU_rows_in_scan; /* # of MCU rows in the image */ + + int blocks_in_MCU; /* # of data units per MCU */ + int MCU_membership[C_MAX_BLOCKS_IN_MCU]; + /* MCU_membership[i] is index in cur_comp_info of component owning */ + /* i'th data unit in an MCU */ + + int Ss, Se, Ah, Al; /* progressive/lossless JPEG parameters for + scan */ + +#if JPEG_LIB_VERSION >= 80 + int block_size; /* the basic DCT block size: 1..16 */ + const int *natural_order; /* natural-order position array */ + int lim_Se; /* min( Se, DCTSIZE2-1 ) */ +#endif + + /* + * Links to compression subobjects (methods and private variables of modules) + */ + struct jpeg_comp_master *master; + struct jpeg_c_main_controller *main; + struct jpeg_c_prep_controller *prep; + struct jpeg_c_coef_controller *coef; + struct jpeg_marker_writer *marker; + struct jpeg_color_converter *cconvert; + struct jpeg_downsampler *downsample; + struct jpeg_forward_dct *fdct; + struct jpeg_entropy_encoder *entropy; + jpeg_scan_info *script_space; /* workspace for jpeg_simple_progression */ + int script_space_size; +}; + + +/* Master record for a decompression instance */ + +struct jpeg_decompress_struct { + jpeg_common_fields; /* Fields shared with jpeg_compress_struct */ + + /* Source of compressed data */ + struct jpeg_source_mgr *src; + + /* Basic description of image --- filled in by jpeg_read_header(). */ + /* Application may inspect these values to decide how to process image. */ + + JDIMENSION image_width; /* nominal image width (from SOF marker) */ + JDIMENSION image_height; /* nominal image height */ + int num_components; /* # of color components in JPEG image */ + J_COLOR_SPACE jpeg_color_space; /* colorspace of JPEG image */ + + /* Decompression processing parameters --- these fields must be set before + * calling jpeg_start_decompress(). Note that jpeg_read_header() initializes + * them to default values. + */ + + J_COLOR_SPACE out_color_space; /* colorspace for output */ + + unsigned int scale_num, scale_denom; /* fraction by which to scale image */ + + double output_gamma; /* image gamma wanted in output */ + + boolean buffered_image; /* TRUE=multiple output passes */ + boolean raw_data_out; /* TRUE=downsampled data wanted */ + + J_DCT_METHOD dct_method; /* IDCT algorithm selector */ + boolean do_fancy_upsampling; /* TRUE=apply fancy upsampling */ + boolean do_block_smoothing; /* TRUE=apply interblock smoothing */ + + boolean quantize_colors; /* TRUE=colormapped output wanted */ + /* the following are ignored if not quantize_colors: */ + J_DITHER_MODE dither_mode; /* type of color dithering to use */ + boolean two_pass_quantize; /* TRUE=use two-pass color quantization */ + int desired_number_of_colors; /* max # colors to use in created colormap */ + /* these are significant only in buffered-image mode: */ + boolean enable_1pass_quant; /* enable future use of 1-pass quantizer */ + boolean enable_external_quant;/* enable future use of external colormap */ + boolean enable_2pass_quant; /* enable future use of 2-pass quantizer */ + + /* Description of actual output image that will be returned to application. + * These fields are computed by jpeg_start_decompress(). + * You can also use jpeg_calc_output_dimensions() to determine these values + * in advance of calling jpeg_start_decompress(). + */ + + JDIMENSION output_width; /* scaled image width */ + JDIMENSION output_height; /* scaled image height */ + int out_color_components; /* # of color components in out_color_space */ + int output_components; /* # of color components returned */ + /* output_components is 1 (a colormap index) when quantizing colors; + * otherwise it equals out_color_components. + */ + int rec_outbuf_height; /* min recommended height of scanline buffer */ + /* If the buffer passed to jpeg_read_scanlines() is less than this many rows + * high, space and time will be wasted due to unnecessary data copying. + * Usually rec_outbuf_height will be 1 or 2, at most 4. + */ + + /* When quantizing colors, the output colormap is described by these fields. + * The application can supply a colormap by setting colormap non-NULL before + * calling jpeg_start_decompress; otherwise a colormap is created during + * jpeg_start_decompress or jpeg_start_output. + * The map has out_color_components rows and actual_number_of_colors columns. + */ + int actual_number_of_colors; /* number of entries in use */ + JSAMPARRAY colormap; /* The color map as a 2-D pixel array + If data_precision is 12 or 16, then this is + actually a J12SAMPARRAY or a J16SAMPARRAY, + so callers must type-cast it in order to + read/write 12-bit or 16-bit samples from/to + the array. */ + + /* State variables: these variables indicate the progress of decompression. + * The application may examine these but must not modify them. + */ + + /* Row index of next scanline to be read from jpeg_read_scanlines(). + * Application may use this to control its processing loop, e.g., + * "while (output_scanline < output_height)". + */ + JDIMENSION output_scanline; /* 0 .. output_height-1 */ + + /* Current input scan number and number of iMCU rows completed in scan. + * These indicate the progress of the decompressor input side. + */ + int input_scan_number; /* Number of SOS markers seen so far */ + JDIMENSION input_iMCU_row; /* Number of iMCU rows completed */ + + /* The "output scan number" is the notional scan being displayed by the + * output side. The decompressor will not allow output scan/row number + * to get ahead of input scan/row, but it can fall arbitrarily far behind. + */ + int output_scan_number; /* Nominal scan number being displayed */ + JDIMENSION output_iMCU_row; /* Number of iMCU rows read */ + + /* Current progression status. coef_bits[c][i] indicates the precision + * with which component c's DCT coefficient i (in zigzag order) is known. + * It is -1 when no data has yet been received, otherwise it is the point + * transform (shift) value for the most recent scan of the coefficient + * (thus, 0 at completion of the progression). + * This pointer is NULL when reading a non-progressive file. + */ + int (*coef_bits)[DCTSIZE2]; /* -1 or current Al value for each coef */ + + /* Internal JPEG parameters --- the application usually need not look at + * these fields. Note that the decompressor output side may not use + * any parameters that can change between scans. + */ + + /* Quantization and Huffman tables are carried forward across input + * datastreams when processing abbreviated JPEG datastreams. + */ + + JQUANT_TBL *quant_tbl_ptrs[NUM_QUANT_TBLS]; + /* ptrs to coefficient quantization tables, or NULL if not defined */ + + JHUFF_TBL *dc_huff_tbl_ptrs[NUM_HUFF_TBLS]; + JHUFF_TBL *ac_huff_tbl_ptrs[NUM_HUFF_TBLS]; + /* ptrs to Huffman coding tables, or NULL if not defined */ + + /* These parameters are never carried across datastreams, since they + * are given in SOF/SOS markers or defined to be reset by SOI. + */ + + int data_precision; /* bits of precision in image data */ + + jpeg_component_info *comp_info; + /* comp_info[i] describes component that appears i'th in SOF */ + +#if JPEG_LIB_VERSION >= 80 + boolean is_baseline; /* TRUE if Baseline SOF0 encountered */ +#endif + boolean progressive_mode; /* TRUE if SOFn specifies progressive mode */ + boolean arith_code; /* TRUE=arithmetic coding, FALSE=Huffman */ + + UINT8 arith_dc_L[NUM_ARITH_TBLS]; /* L values for DC arith-coding tables */ + UINT8 arith_dc_U[NUM_ARITH_TBLS]; /* U values for DC arith-coding tables */ + UINT8 arith_ac_K[NUM_ARITH_TBLS]; /* Kx values for AC arith-coding tables */ + + unsigned int restart_interval; /* MCUs per restart interval, or 0 for no restart */ + + /* These fields record data obtained from optional markers recognized by + * the JPEG library. + */ + boolean saw_JFIF_marker; /* TRUE iff a JFIF APP0 marker was found */ + /* Data copied from JFIF marker; only valid if saw_JFIF_marker is TRUE: */ + UINT8 JFIF_major_version; /* JFIF version number */ + UINT8 JFIF_minor_version; + UINT8 density_unit; /* JFIF code for pixel size units */ + UINT16 X_density; /* Horizontal pixel density */ + UINT16 Y_density; /* Vertical pixel density */ + boolean saw_Adobe_marker; /* TRUE iff an Adobe APP14 marker was found */ + UINT8 Adobe_transform; /* Color transform code from Adobe marker */ + + boolean CCIR601_sampling; /* TRUE=first samples are cosited */ + + /* Aside from the specific data retained from APPn markers known to the + * library, the uninterpreted contents of any or all APPn and COM markers + * can be saved in a list for examination by the application. + */ + jpeg_saved_marker_ptr marker_list; /* Head of list of saved markers */ + + /* Remaining fields are known throughout decompressor, but generally + * should not be touched by a surrounding application. + */ + + /* + * These fields are computed during decompression startup + */ + int max_h_samp_factor; /* largest h_samp_factor */ + int max_v_samp_factor; /* largest v_samp_factor */ + +#if JPEG_LIB_VERSION >= 70 + int min_DCT_h_scaled_size; /* smallest DCT_h_scaled_size of any component */ + int min_DCT_v_scaled_size; /* smallest DCT_v_scaled_size of any component */ +#else + int min_DCT_scaled_size; /* smallest DCT_scaled_size of any component */ +#endif + + JDIMENSION total_iMCU_rows; /* # of iMCU rows in image */ + /* The coefficient or difference controller's input and output progress is + * measured in units of "iMCU" (interleaved MCU) rows. These are the same as + * MCU rows in fully interleaved JPEG scans, but are used whether the scan is + * interleaved or not. In lossy mode, we define an iMCU row as v_samp_factor + * DCT block rows of each component. Therefore, the IDCT output contains + * v_samp_factor*DCT_[v_]scaled_size sample rows of a component per iMCU row. + * In lossless mode, total_iMCU_rows is always equal to the image height. + */ + + JSAMPLE *sample_range_limit; /* table for fast range-limiting + If data_precision is 12 or 16, then this is + actually a J12SAMPLE pointer or a J16SAMPLE + pointer, so callers must type-cast it in + order to read 12-bit or 16-bit samples from + the array. */ + + /* + * These fields are valid during any one scan. + * They describe the components and MCUs actually appearing in the scan. + * Note that the decompressor output side must not use these fields. + */ + int comps_in_scan; /* # of JPEG components in this scan */ + jpeg_component_info *cur_comp_info[MAX_COMPS_IN_SCAN]; + /* *cur_comp_info[i] describes component that appears i'th in SOS */ + + JDIMENSION MCUs_per_row; /* # of MCUs across the image */ + JDIMENSION MCU_rows_in_scan; /* # of MCU rows in the image */ + + int blocks_in_MCU; /* # of data units per MCU */ + int MCU_membership[D_MAX_BLOCKS_IN_MCU]; + /* MCU_membership[i] is index in cur_comp_info of component owning */ + /* i'th data unit in an MCU */ + + int Ss, Se, Ah, Al; /* progressive/lossless JPEG parameters for + scan */ + +#if JPEG_LIB_VERSION >= 80 + /* These fields are derived from Se of first SOS marker. + */ + int block_size; /* the basic DCT block size: 1..16 */ + const int *natural_order; /* natural-order position array for entropy decode */ + int lim_Se; /* min( Se, DCTSIZE2-1 ) for entropy decode */ +#endif + + /* This field is shared between entropy decoder and marker parser. + * It is either zero or the code of a JPEG marker that has been + * read from the data source, but has not yet been processed. + */ + int unread_marker; + + /* + * Links to decompression subobjects (methods, private variables of modules) + */ + struct jpeg_decomp_master *master; + struct jpeg_d_main_controller *main; + struct jpeg_d_coef_controller *coef; + struct jpeg_d_post_controller *post; + struct jpeg_input_controller *inputctl; + struct jpeg_marker_reader *marker; + struct jpeg_entropy_decoder *entropy; + struct jpeg_inverse_dct *idct; + struct jpeg_upsampler *upsample; + struct jpeg_color_deconverter *cconvert; + struct jpeg_color_quantizer *cquantize; +}; + + +/* "Object" declarations for JPEG modules that may be supplied or called + * directly by the surrounding application. + * As with all objects in the JPEG library, these structs only define the + * publicly visible methods and state variables of a module. Additional + * private fields may exist after the public ones. + */ + + +/* Error handler object */ + +struct jpeg_error_mgr { + /* Error exit handler: does not return to caller */ + void (*error_exit) (j_common_ptr cinfo); + /* Conditionally emit a trace or warning message */ + void (*emit_message) (j_common_ptr cinfo, int msg_level); + /* Routine that actually outputs a trace or error message */ + void (*output_message) (j_common_ptr cinfo); + /* Format a message string for the most recent JPEG error or message */ + void (*format_message) (j_common_ptr cinfo, char *buffer); +#define JMSG_LENGTH_MAX 200 /* recommended size of format_message buffer */ + /* Reset error state variables at start of a new image */ + void (*reset_error_mgr) (j_common_ptr cinfo); + + /* The message ID code and any parameters are saved here. + * A message can have one string parameter or up to 8 int parameters. + */ + int msg_code; +#define JMSG_STR_PARM_MAX 80 + union { + int i[8]; + char s[JMSG_STR_PARM_MAX]; + } msg_parm; + + /* Standard state variables for error facility */ + + int trace_level; /* max msg_level that will be displayed */ + + /* For recoverable corrupt-data errors, we emit a warning message, + * but keep going unless emit_message chooses to abort. emit_message + * should count warnings in num_warnings. The surrounding application + * can check for bad data by seeing if num_warnings is nonzero at the + * end of processing. + */ + long num_warnings; /* number of corrupt-data warnings */ + + /* These fields point to the table(s) of error message strings. + * An application can change the table pointer to switch to a different + * message list (typically, to change the language in which errors are + * reported). Some applications may wish to add additional error codes + * that will be handled by the JPEG library error mechanism; the second + * table pointer is used for this purpose. + * + * First table includes all errors generated by JPEG library itself. + * Error code 0 is reserved for a "no such error string" message. + */ + const char * const *jpeg_message_table; /* Library errors */ + int last_jpeg_message; /* Table contains strings 0..last_jpeg_message */ + /* Second table can be added by application (see cjpeg/djpeg for example). + * It contains strings numbered first_addon_message..last_addon_message. + */ + const char * const *addon_message_table; /* Non-library errors */ + int first_addon_message; /* code for first string in addon table */ + int last_addon_message; /* code for last string in addon table */ +}; + + +/* Progress monitor object */ + +struct jpeg_progress_mgr { + void (*progress_monitor) (j_common_ptr cinfo); + + long pass_counter; /* work units completed in this pass */ + long pass_limit; /* total number of work units in this pass */ + int completed_passes; /* passes completed so far */ + int total_passes; /* total number of passes expected */ +}; + + +/* Data destination object for compression */ + +struct jpeg_destination_mgr { + JOCTET *next_output_byte; /* => next byte to write in buffer */ + size_t free_in_buffer; /* # of byte spaces remaining in buffer */ + + void (*init_destination) (j_compress_ptr cinfo); + boolean (*empty_output_buffer) (j_compress_ptr cinfo); + void (*term_destination) (j_compress_ptr cinfo); +}; + + +/* Data source object for decompression */ + +struct jpeg_source_mgr { + const JOCTET *next_input_byte; /* => next byte to read from buffer */ + size_t bytes_in_buffer; /* # of bytes remaining in buffer */ + + void (*init_source) (j_decompress_ptr cinfo); + boolean (*fill_input_buffer) (j_decompress_ptr cinfo); + void (*skip_input_data) (j_decompress_ptr cinfo, long num_bytes); + boolean (*resync_to_restart) (j_decompress_ptr cinfo, int desired); + void (*term_source) (j_decompress_ptr cinfo); +}; + + +/* Memory manager object. + * Allocates "small" objects (a few K total), "large" objects (tens of K), + * and "really big" objects (virtual arrays with backing store if needed). + * The memory manager does not allow individual objects to be freed; rather, + * each created object is assigned to a pool, and whole pools can be freed + * at once. This is faster and more convenient than remembering exactly what + * to free, especially where malloc()/free() are not too speedy. + * NB: alloc routines never return NULL. They exit to error_exit if not + * successful. + */ + +#define JPOOL_PERMANENT 0 /* lasts until master record is destroyed */ +#define JPOOL_IMAGE 1 /* lasts until done with image/datastream */ +#define JPOOL_NUMPOOLS 2 + +typedef struct jvirt_sarray_control *jvirt_sarray_ptr; +typedef struct jvirt_barray_control *jvirt_barray_ptr; + + +struct jpeg_memory_mgr { + /* Method pointers */ + void *(*alloc_small) (j_common_ptr cinfo, int pool_id, size_t sizeofobject); + void *(*alloc_large) (j_common_ptr cinfo, int pool_id, + size_t sizeofobject); + /* If cinfo->data_precision is 12 or 16, then this method and the + * access_virt_sarray method actually return a J12SAMPARRAY or a + * J16SAMPARRAY, so callers must type-cast the return value in order to + * read/write 12-bit or 16-bit samples from/to the array. + */ + JSAMPARRAY (*alloc_sarray) (j_common_ptr cinfo, int pool_id, + JDIMENSION samplesperrow, JDIMENSION numrows); + JBLOCKARRAY (*alloc_barray) (j_common_ptr cinfo, int pool_id, + JDIMENSION blocksperrow, JDIMENSION numrows); + jvirt_sarray_ptr (*request_virt_sarray) (j_common_ptr cinfo, int pool_id, + boolean pre_zero, + JDIMENSION samplesperrow, + JDIMENSION numrows, + JDIMENSION maxaccess); + jvirt_barray_ptr (*request_virt_barray) (j_common_ptr cinfo, int pool_id, + boolean pre_zero, + JDIMENSION blocksperrow, + JDIMENSION numrows, + JDIMENSION maxaccess); + void (*realize_virt_arrays) (j_common_ptr cinfo); + JSAMPARRAY (*access_virt_sarray) (j_common_ptr cinfo, jvirt_sarray_ptr ptr, + JDIMENSION start_row, JDIMENSION num_rows, + boolean writable); + JBLOCKARRAY (*access_virt_barray) (j_common_ptr cinfo, jvirt_barray_ptr ptr, + JDIMENSION start_row, JDIMENSION num_rows, + boolean writable); + void (*free_pool) (j_common_ptr cinfo, int pool_id); + void (*self_destruct) (j_common_ptr cinfo); + + /* Limit on memory allocation for this JPEG object. (Note that this is + * merely advisory, not a guaranteed maximum; it only affects the space + * used for virtual-array buffers.) May be changed by outer application + * after creating the JPEG object. + */ + long max_memory_to_use; + + /* Maximum allocation request accepted by alloc_large. */ + long max_alloc_chunk; +}; + + +/* Routine signature for application-supplied marker processing methods. + * Need not pass marker code since it is stored in cinfo->unread_marker. + */ +typedef boolean (*jpeg_marker_parser_method) (j_decompress_ptr cinfo); + + +/* Originally, this macro was used as a way of defining function prototypes + * for both modern compilers as well as older compilers that did not support + * prototype parameters. libjpeg-turbo has never supported these older, + * non-ANSI compilers, but the macro is still included because there is some + * software out there that uses it. + */ + +#define JPP(arglist) arglist + + +/* Default error-management setup */ +EXTERN(struct jpeg_error_mgr *) jpeg_std_error(struct jpeg_error_mgr *err); + +/* Initialization of JPEG compression objects. + * jpeg_create_compress() and jpeg_create_decompress() are the exported + * names that applications should call. These expand to calls on + * jpeg_CreateCompress and jpeg_CreateDecompress with additional information + * passed for version mismatch checking. + * NB: you must set up the error-manager BEFORE calling jpeg_create_xxx. + */ +#define jpeg_create_compress(cinfo) \ + jpeg_CreateCompress((cinfo), JPEG_LIB_VERSION, \ + (size_t)sizeof(struct jpeg_compress_struct)) +#define jpeg_create_decompress(cinfo) \ + jpeg_CreateDecompress((cinfo), JPEG_LIB_VERSION, \ + (size_t)sizeof(struct jpeg_decompress_struct)) +EXTERN(void) jpeg_CreateCompress(j_compress_ptr cinfo, int version, + size_t structsize); +EXTERN(void) jpeg_CreateDecompress(j_decompress_ptr cinfo, int version, + size_t structsize); +/* Destruction of JPEG compression objects */ +EXTERN(void) jpeg_destroy_compress(j_compress_ptr cinfo); +EXTERN(void) jpeg_destroy_decompress(j_decompress_ptr cinfo); + +/* Standard data source and destination managers: stdio streams. */ +/* Caller is responsible for opening the file before and closing after. */ +EXTERN(void) jpeg_stdio_dest(j_compress_ptr cinfo, FILE *outfile); +EXTERN(void) jpeg_stdio_src(j_decompress_ptr cinfo, FILE *infile); + +/* Data source and destination managers: memory buffers. */ +EXTERN(void) jpeg_mem_dest(j_compress_ptr cinfo, unsigned char **outbuffer, + unsigned long *outsize); +EXTERN(void) jpeg_mem_src(j_decompress_ptr cinfo, + const unsigned char *inbuffer, unsigned long insize); + +/* Default parameter setup for compression */ +EXTERN(void) jpeg_set_defaults(j_compress_ptr cinfo); +/* Compression parameter setup aids */ +EXTERN(void) jpeg_set_colorspace(j_compress_ptr cinfo, + J_COLOR_SPACE colorspace); +EXTERN(void) jpeg_default_colorspace(j_compress_ptr cinfo); +EXTERN(void) jpeg_set_quality(j_compress_ptr cinfo, int quality, + boolean force_baseline); +EXTERN(void) jpeg_set_linear_quality(j_compress_ptr cinfo, int scale_factor, + boolean force_baseline); +#if JPEG_LIB_VERSION >= 70 +EXTERN(void) jpeg_default_qtables(j_compress_ptr cinfo, + boolean force_baseline); +#endif +EXTERN(void) jpeg_add_quant_table(j_compress_ptr cinfo, int which_tbl, + const unsigned int *basic_table, + int scale_factor, boolean force_baseline); +EXTERN(int) jpeg_quality_scaling(int quality); +EXTERN(void) jpeg_enable_lossless(j_compress_ptr cinfo, + int predictor_selection_value, + int point_transform); +EXTERN(void) jpeg_simple_progression(j_compress_ptr cinfo); +EXTERN(void) jpeg_suppress_tables(j_compress_ptr cinfo, boolean suppress); +EXTERN(JQUANT_TBL *) jpeg_alloc_quant_table(j_common_ptr cinfo); +EXTERN(JHUFF_TBL *) jpeg_alloc_huff_table(j_common_ptr cinfo); + +/* Main entry points for compression */ +EXTERN(void) jpeg_start_compress(j_compress_ptr cinfo, + boolean write_all_tables); +EXTERN(JDIMENSION) jpeg_write_scanlines(j_compress_ptr cinfo, + JSAMPARRAY scanlines, + JDIMENSION num_lines); +EXTERN(JDIMENSION) jpeg12_write_scanlines(j_compress_ptr cinfo, + J12SAMPARRAY scanlines, + JDIMENSION num_lines); +EXTERN(JDIMENSION) jpeg16_write_scanlines(j_compress_ptr cinfo, + J16SAMPARRAY scanlines, + JDIMENSION num_lines); +EXTERN(void) jpeg_finish_compress(j_compress_ptr cinfo); + +#if JPEG_LIB_VERSION >= 70 +/* Precalculate JPEG dimensions for current compression parameters. */ +EXTERN(void) jpeg_calc_jpeg_dimensions(j_compress_ptr cinfo); +#endif + +/* Replaces jpeg_write_scanlines when writing raw downsampled data. */ +EXTERN(JDIMENSION) jpeg_write_raw_data(j_compress_ptr cinfo, JSAMPIMAGE data, + JDIMENSION num_lines); +EXTERN(JDIMENSION) jpeg12_write_raw_data(j_compress_ptr cinfo, + J12SAMPIMAGE data, + JDIMENSION num_lines); + +/* Write a special marker. See libjpeg.txt concerning safe usage. */ +EXTERN(void) jpeg_write_marker(j_compress_ptr cinfo, int marker, + const JOCTET *dataptr, unsigned int datalen); +/* Same, but piecemeal. */ +EXTERN(void) jpeg_write_m_header(j_compress_ptr cinfo, int marker, + unsigned int datalen); +EXTERN(void) jpeg_write_m_byte(j_compress_ptr cinfo, int val); + +/* Alternate compression function: just write an abbreviated table file */ +EXTERN(void) jpeg_write_tables(j_compress_ptr cinfo); + +/* Write ICC profile. See libjpeg.txt for usage information. */ +EXTERN(void) jpeg_write_icc_profile(j_compress_ptr cinfo, + const JOCTET *icc_data_ptr, + unsigned int icc_data_len); + + +/* Decompression startup: read start of JPEG datastream to see what's there */ +EXTERN(int) jpeg_read_header(j_decompress_ptr cinfo, boolean require_image); +/* Return value is one of: */ +#define JPEG_SUSPENDED 0 /* Suspended due to lack of input data */ +#define JPEG_HEADER_OK 1 /* Found valid image datastream */ +#define JPEG_HEADER_TABLES_ONLY 2 /* Found valid table-specs-only datastream */ +/* If you pass require_image = TRUE (normal case), you need not check for + * a TABLES_ONLY return code; an abbreviated file will cause an error exit. + * JPEG_SUSPENDED is only possible if you use a data source module that can + * give a suspension return (the stdio source module doesn't). + */ + +/* Main entry points for decompression */ +EXTERN(boolean) jpeg_start_decompress(j_decompress_ptr cinfo); +EXTERN(JDIMENSION) jpeg_read_scanlines(j_decompress_ptr cinfo, + JSAMPARRAY scanlines, + JDIMENSION max_lines); +EXTERN(JDIMENSION) jpeg12_read_scanlines(j_decompress_ptr cinfo, + J12SAMPARRAY scanlines, + JDIMENSION max_lines); +EXTERN(JDIMENSION) jpeg16_read_scanlines(j_decompress_ptr cinfo, + J16SAMPARRAY scanlines, + JDIMENSION max_lines); +EXTERN(JDIMENSION) jpeg_skip_scanlines(j_decompress_ptr cinfo, + JDIMENSION num_lines); +EXTERN(JDIMENSION) jpeg12_skip_scanlines(j_decompress_ptr cinfo, + JDIMENSION num_lines); +EXTERN(void) jpeg_crop_scanline(j_decompress_ptr cinfo, JDIMENSION *xoffset, + JDIMENSION *width); +EXTERN(void) jpeg12_crop_scanline(j_decompress_ptr cinfo, JDIMENSION *xoffset, + JDIMENSION *width); +EXTERN(boolean) jpeg_finish_decompress(j_decompress_ptr cinfo); + +/* Replaces jpeg_read_scanlines when reading raw downsampled data. */ +EXTERN(JDIMENSION) jpeg_read_raw_data(j_decompress_ptr cinfo, JSAMPIMAGE data, + JDIMENSION max_lines); +EXTERN(JDIMENSION) jpeg12_read_raw_data(j_decompress_ptr cinfo, + J12SAMPIMAGE data, + JDIMENSION max_lines); + +/* Additional entry points for buffered-image mode. */ +EXTERN(boolean) jpeg_has_multiple_scans(j_decompress_ptr cinfo); +EXTERN(boolean) jpeg_start_output(j_decompress_ptr cinfo, int scan_number); +EXTERN(boolean) jpeg_finish_output(j_decompress_ptr cinfo); +EXTERN(boolean) jpeg_input_complete(j_decompress_ptr cinfo); +EXTERN(void) jpeg_new_colormap(j_decompress_ptr cinfo); +EXTERN(int) jpeg_consume_input(j_decompress_ptr cinfo); +/* Return value is one of: */ +/* #define JPEG_SUSPENDED 0 Suspended due to lack of input data */ +#define JPEG_REACHED_SOS 1 /* Reached start of new scan */ +#define JPEG_REACHED_EOI 2 /* Reached end of image */ +#define JPEG_ROW_COMPLETED 3 /* Completed one iMCU row */ +#define JPEG_SCAN_COMPLETED 4 /* Completed last iMCU row of a scan */ + +/* Precalculate output dimensions for current decompression parameters. */ +#if JPEG_LIB_VERSION >= 80 +EXTERN(void) jpeg_core_output_dimensions(j_decompress_ptr cinfo); +#endif +EXTERN(void) jpeg_calc_output_dimensions(j_decompress_ptr cinfo); + +/* Control saving of COM and APPn markers into marker_list. */ +EXTERN(void) jpeg_save_markers(j_decompress_ptr cinfo, int marker_code, + unsigned int length_limit); + +/* Install a special processing method for COM or APPn markers. */ +EXTERN(void) jpeg_set_marker_processor(j_decompress_ptr cinfo, + int marker_code, + jpeg_marker_parser_method routine); + +/* Read or write raw DCT coefficients --- useful for lossless transcoding. */ +EXTERN(jvirt_barray_ptr *) jpeg_read_coefficients(j_decompress_ptr cinfo); +EXTERN(void) jpeg_write_coefficients(j_compress_ptr cinfo, + jvirt_barray_ptr *coef_arrays); +EXTERN(void) jpeg_copy_critical_parameters(j_decompress_ptr srcinfo, + j_compress_ptr dstinfo); + +/* If you choose to abort compression or decompression before completing + * jpeg_finish_(de)compress, then you need to clean up to release memory, + * temporary files, etc. You can just call jpeg_destroy_(de)compress + * if you're done with the JPEG object, but if you want to clean it up and + * reuse it, call this: + */ +EXTERN(void) jpeg_abort_compress(j_compress_ptr cinfo); +EXTERN(void) jpeg_abort_decompress(j_decompress_ptr cinfo); + +/* Generic versions of jpeg_abort and jpeg_destroy that work on either + * flavor of JPEG object. These may be more convenient in some places. + */ +EXTERN(void) jpeg_abort(j_common_ptr cinfo); +EXTERN(void) jpeg_destroy(j_common_ptr cinfo); + +/* Default restart-marker-resync procedure for use by data source modules */ +EXTERN(boolean) jpeg_resync_to_restart(j_decompress_ptr cinfo, int desired); + +/* Read ICC profile. See libjpeg.txt for usage information. */ +EXTERN(boolean) jpeg_read_icc_profile(j_decompress_ptr cinfo, + JOCTET **icc_data_ptr, + unsigned int *icc_data_len); + + +/* These marker codes are exported since applications and data source modules + * are likely to want to use them. + */ + +#define JPEG_RST0 0xD0 /* RST0 marker code */ +#define JPEG_EOI 0xD9 /* EOI marker code */ +#define JPEG_APP0 0xE0 /* APP0 marker code */ +#define JPEG_COM 0xFE /* COM marker code */ + + +/* If we have a brain-damaged compiler that emits warnings (or worse, errors) + * for structure definitions that are never filled in, keep it quiet by + * supplying dummy definitions for the various substructures. + */ + +#ifdef INCOMPLETE_TYPES_BROKEN +#ifndef JPEG_INTERNALS /* will be defined in jpegint.h */ +struct jvirt_sarray_control { long dummy; }; +struct jvirt_barray_control { long dummy; }; +struct jpeg_comp_master { long dummy; }; +struct jpeg_c_main_controller { long dummy; }; +struct jpeg_c_prep_controller { long dummy; }; +struct jpeg_c_coef_controller { long dummy; }; +struct jpeg_marker_writer { long dummy; }; +struct jpeg_color_converter { long dummy; }; +struct jpeg_downsampler { long dummy; }; +struct jpeg_forward_dct { long dummy; }; +struct jpeg_entropy_encoder { long dummy; }; +struct jpeg_decomp_master { long dummy; }; +struct jpeg_d_main_controller { long dummy; }; +struct jpeg_d_coef_controller { long dummy; }; +struct jpeg_d_post_controller { long dummy; }; +struct jpeg_input_controller { long dummy; }; +struct jpeg_marker_reader { long dummy; }; +struct jpeg_entropy_decoder { long dummy; }; +struct jpeg_inverse_dct { long dummy; }; +struct jpeg_upsampler { long dummy; }; +struct jpeg_color_deconverter { long dummy; }; +struct jpeg_color_quantizer { long dummy; }; +#endif /* JPEG_INTERNALS */ +#endif /* INCOMPLETE_TYPES_BROKEN */ + + +/* + * The JPEG library modules define JPEG_INTERNALS before including this file. + * The internal structure declarations are read only when that is true. + * Applications using the library should not include jpegint.h, but may wish + * to include jerror.h. + */ + +#ifdef JPEG_INTERNALS +#include "jpegint.h" /* fetch private declarations */ +#include "jerror.h" /* fetch error codes too */ +#endif + +#ifdef __cplusplus +#ifndef DONT_USE_EXTERN_C +} +#endif +#endif + +#endif /* JPEGLIB_H */ diff --git a/vcpkg/installed/x64-osx/include/libde265/de265-version.h b/vcpkg/installed/x64-osx/include/libde265/de265-version.h new file mode 100644 index 0000000..cde205f --- /dev/null +++ b/vcpkg/installed/x64-osx/include/libde265/de265-version.h @@ -0,0 +1,36 @@ +/* + * H.265 video codec. + * Copyright (c) 2013-2014 struktur AG, Dirk Farin + * + * This file is part of libde265. + * + * libde265 is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. + * + * libde265 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with libde265. If not, see . + */ + +/* de265-version.h + * + * This file was generated by autoconf when libde265 was built. + * + * DO NOT EDIT THIS FILE. + */ +#ifndef LIBDE265_VERSION_H +#define LIBDE265_VERSION_H + +/* Numeric representation of the version */ +#define LIBDE265_NUMERIC_VERSION 0x01001500 + +/* Version string */ +#define LIBDE265_VERSION "1.0.15" + +#endif diff --git a/vcpkg/installed/x64-osx/include/libde265/de265.h b/vcpkg/installed/x64-osx/include/libde265/de265.h new file mode 100644 index 0000000..38ffc93 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/libde265/de265.h @@ -0,0 +1,453 @@ +/* + * H.265 video codec. + * Copyright (c) 2013-2014 struktur AG, Dirk Farin + * + * This file is part of libde265. + * + * libde265 is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. + * + * libde265 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with libde265. If not, see . +*/ + + +#ifndef DE265_H +#define DE265_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +//#define inline static __inline + + +#ifndef __STDC_LIMIT_MACROS +#define __STDC_LIMIT_MACROS 1 +#endif +#include + +#if defined(_MSC_VER) && 0 + #ifdef LIBDE265_EXPORTS + #define LIBDE265_API __declspec(dllexport) + #else + #define LIBDE265_API __declspec(dllimport) + #endif +#elif HAVE_VISIBILITY + #ifdef LIBDE265_EXPORTS + #define LIBDE265_API __attribute__((__visibility__("default"))) + #else + #define LIBDE265_API + #endif +#else + #define LIBDE265_API +#endif + +#if __GNUC__ +#define LIBDE265_DEPRECATED __attribute__((deprecated)) +#elif defined(_MSC_VER) +#define LIBDE265_DEPRECATED __declspec(deprecated) +#else +#define LIBDE265_DEPRECATED +#endif + +#if defined(_MSC_VER) +#define LIBDE265_INLINE __inline +#else +#define LIBDE265_INLINE inline +#endif + +/* === version numbers === */ + +// version of linked libde265 library +LIBDE265_API const char *de265_get_version(void); + +// returns the version number as a BCD number. +// 0xAABBCCDD is interpreted as version AA.BB.CC. +// For example: 0x02143000 is version 2.14.30 +LIBDE265_API uint32_t de265_get_version_number(void); + +LIBDE265_API int de265_get_version_number_major(void); +LIBDE265_API int de265_get_version_number_minor(void); +LIBDE265_API int de265_get_version_number_maintenance(void); + + +/* === error codes === */ + +typedef enum { + DE265_OK = 0, + DE265_ERROR_NO_SUCH_FILE=1, + //DE265_ERROR_NO_STARTCODE=2, obsolet + //DE265_ERROR_EOF=3, + DE265_ERROR_COEFFICIENT_OUT_OF_IMAGE_BOUNDS=4, + DE265_ERROR_CHECKSUM_MISMATCH=5, + DE265_ERROR_CTB_OUTSIDE_IMAGE_AREA=6, + DE265_ERROR_OUT_OF_MEMORY=7, + DE265_ERROR_CODED_PARAMETER_OUT_OF_RANGE=8, + DE265_ERROR_IMAGE_BUFFER_FULL=9, + DE265_ERROR_CANNOT_START_THREADPOOL=10, + DE265_ERROR_LIBRARY_INITIALIZATION_FAILED=11, + DE265_ERROR_LIBRARY_NOT_INITIALIZED=12, + DE265_ERROR_WAITING_FOR_INPUT_DATA=13, + DE265_ERROR_CANNOT_PROCESS_SEI=14, + DE265_ERROR_PARAMETER_PARSING=15, + DE265_ERROR_NO_INITIAL_SLICE_HEADER=16, + DE265_ERROR_PREMATURE_END_OF_SLICE=17, + DE265_ERROR_UNSPECIFIED_DECODING_ERROR=18, + + // --- errors that should become obsolete in later libde265 versions --- + + //DE265_ERROR_MAX_THREAD_CONTEXTS_EXCEEDED = 500, obsolet + //DE265_ERROR_MAX_NUMBER_OF_SLICES_EXCEEDED = 501, obsolet + DE265_ERROR_NOT_IMPLEMENTED_YET = 502, + //DE265_ERROR_SCALING_LIST_NOT_IMPLEMENTED = 502, obsolet + + // --- warnings --- + + DE265_WARNING_NO_WPP_CANNOT_USE_MULTITHREADING = 1000, + DE265_WARNING_WARNING_BUFFER_FULL=1001, + DE265_WARNING_PREMATURE_END_OF_SLICE_SEGMENT=1002, + DE265_WARNING_INCORRECT_ENTRY_POINT_OFFSET=1003, + DE265_WARNING_CTB_OUTSIDE_IMAGE_AREA=1004, + DE265_WARNING_SPS_HEADER_INVALID=1005, + DE265_WARNING_PPS_HEADER_INVALID=1006, + DE265_WARNING_SLICEHEADER_INVALID=1007, + DE265_WARNING_INCORRECT_MOTION_VECTOR_SCALING=1008, + DE265_WARNING_NONEXISTING_PPS_REFERENCED=1009, + DE265_WARNING_NONEXISTING_SPS_REFERENCED=1010, + DE265_WARNING_BOTH_PREDFLAGS_ZERO=1011, + DE265_WARNING_NONEXISTING_REFERENCE_PICTURE_ACCESSED=1012, + DE265_WARNING_NUMMVP_NOT_EQUAL_TO_NUMMVQ=1013, + DE265_WARNING_NUMBER_OF_SHORT_TERM_REF_PIC_SETS_OUT_OF_RANGE=1014, + DE265_WARNING_SHORT_TERM_REF_PIC_SET_OUT_OF_RANGE=1015, + DE265_WARNING_FAULTY_REFERENCE_PICTURE_LIST=1016, + DE265_WARNING_EOSS_BIT_NOT_SET=1017, + DE265_WARNING_MAX_NUM_REF_PICS_EXCEEDED=1018, + DE265_WARNING_INVALID_CHROMA_FORMAT=1019, + DE265_WARNING_SLICE_SEGMENT_ADDRESS_INVALID=1020, + DE265_WARNING_DEPENDENT_SLICE_WITH_ADDRESS_ZERO=1021, + DE265_WARNING_NUMBER_OF_THREADS_LIMITED_TO_MAXIMUM=1022, + DE265_NON_EXISTING_LT_REFERENCE_CANDIDATE_IN_SLICE_HEADER=1023, + DE265_WARNING_CANNOT_APPLY_SAO_OUT_OF_MEMORY=1024, + DE265_WARNING_SPS_MISSING_CANNOT_DECODE_SEI=1025, + DE265_WARNING_COLLOCATED_MOTION_VECTOR_OUTSIDE_IMAGE_AREA=1026, + DE265_WARNING_PCM_BITDEPTH_TOO_LARGE=1027, + DE265_WARNING_REFERENCE_IMAGE_BIT_DEPTH_DOES_NOT_MATCH=1028, + DE265_WARNING_REFERENCE_IMAGE_SIZE_DOES_NOT_MATCH_SPS=1029, + DE265_WARNING_CHROMA_OF_CURRENT_IMAGE_DOES_NOT_MATCH_SPS=1030, + DE265_WARNING_BIT_DEPTH_OF_CURRENT_IMAGE_DOES_NOT_MATCH_SPS=1031, + DE265_WARNING_REFERENCE_IMAGE_CHROMA_FORMAT_DOES_NOT_MATCH=1032, + DE265_WARNING_INVALID_SLICE_HEADER_INDEX_ACCESS=1033 +} de265_error; + +LIBDE265_API const char* de265_get_error_text(de265_error err); + +/* Returns true, if 'err' is DE265_OK or a warning. + */ +LIBDE265_API int de265_isOK(de265_error err); + +LIBDE265_API void de265_disable_logging(); // DEPRECATED +LIBDE265_API void de265_set_verbosity(int level); + + +/* === image === */ + +/* The image is currently always 3-channel YCbCr, with 4:2:0 chroma. + But you may want to check the chroma format anyway for future compatibility. + */ + +struct de265_image; + +enum de265_chroma { + de265_chroma_mono=0, + de265_chroma_420=1, + de265_chroma_422=2, + de265_chroma_444=3 +}; + +typedef int64_t de265_PTS; + + +LIBDE265_API int de265_get_image_width(const struct de265_image*,int channel); +LIBDE265_API int de265_get_image_height(const struct de265_image*,int channel); +LIBDE265_API enum de265_chroma de265_get_chroma_format(const struct de265_image*); +LIBDE265_API int de265_get_bits_per_pixel(const struct de265_image*,int channel); +/* The |out_stride| is returned as "bytes per line" if a non-NULL parameter is given. */ +LIBDE265_API const uint8_t* de265_get_image_plane(const struct de265_image*, int channel, int* out_stride); +LIBDE265_API void* de265_get_image_plane_user_data(const struct de265_image*, int channel); +LIBDE265_API de265_PTS de265_get_image_PTS(const struct de265_image*); +LIBDE265_API void* de265_get_image_user_data(const struct de265_image*); +LIBDE265_API void de265_set_image_user_data(struct de265_image*, void *user_data); + +/* Get NAL-header information of this frame. You can pass in NULL pointers if you + do not need this piece of information. + */ +LIBDE265_API void de265_get_image_NAL_header(const struct de265_image*, + int* nal_unit_type, + const char** nal_unit_name, // textual description of 'nal_unit_type' + int* nuh_layer_id, + int* nuh_temporal_id); + +LIBDE265_API int de265_get_image_full_range_flag(const struct de265_image*); +LIBDE265_API int de265_get_image_colour_primaries(const struct de265_image*); +LIBDE265_API int de265_get_image_transfer_characteristics(const struct de265_image*); +LIBDE265_API int de265_get_image_matrix_coefficients(const struct de265_image*); + + +/* === decoder === */ + +typedef void de265_decoder_context; // private structure + + + +/* Get a new decoder context. Must be freed with de265_free_decoder(). */ +LIBDE265_API de265_decoder_context* de265_new_decoder(void); + +/* Initialize background decoding threads. If this function is not called, + all decoding is done in the main thread (no multi-threading). */ +LIBDE265_API de265_error de265_start_worker_threads(de265_decoder_context*, int number_of_threads); + +/* Free decoder context. May only be called once on a context. */ +LIBDE265_API de265_error de265_free_decoder(de265_decoder_context*); + +#ifndef LIBDE265_DISABLE_DEPRECATED +/* Push more data into the decoder, must be raw h265. + All complete images in the data will be decoded, hence, do not push + too much data at once to prevent image buffer overflows. + The end of a picture can only be detected when the succeeding start-code + is read from the data. + If you want to flush the data and force decoding of the data so far + (e.g. at the end of a file), call de265_decode_data() with 'length' zero. + + NOTE: This method is deprecated and will be removed in a future version. + You should use "de265_push_data" or "de265_push_NAL" and "de265_decode" + instead. +*/ +LIBDE265_API LIBDE265_DEPRECATED de265_error de265_decode_data(de265_decoder_context*, const void* data, int length); +#endif + +/* Push more data into the decoder, must be a raw h265 bytestream with startcodes. + The PTS is assigned to all NALs whose start-code 0x000001 is contained in the data. + The bytestream must contain all stuffing-bytes. + This function only pushes data into the decoder, nothing will be decoded. +*/ +LIBDE265_API de265_error de265_push_data(de265_decoder_context*, const void* data, int length, + de265_PTS pts, void* user_data); + +/* Indicate that de265_push_data has just received data until the end of a NAL. + The remaining pending input data is put into a NAL package and forwarded to the decoder. +*/ +LIBDE265_API void de265_push_end_of_NAL(de265_decoder_context*); + +/* Indicate that de265_push_data has just received data until the end of a frame. + All data pending at the decoder input will be pushed into the decoder and + the decoded picture is pushed to the output queue. +*/ +LIBDE265_API void de265_push_end_of_frame(de265_decoder_context*); + +/* Push a complete NAL unit without startcode into the decoder. The data must still + contain all stuffing-bytes. + This function only pushes data into the decoder, nothing will be decoded. +*/ +LIBDE265_API de265_error de265_push_NAL(de265_decoder_context*, const void* data, int length, + de265_PTS pts, void* user_data); + +/* Indicate the end-of-stream. All data pending at the decoder input will be + pushed into the decoder and the decoded picture queue will be completely emptied. + */ +LIBDE265_API de265_error de265_flush_data(de265_decoder_context*); + +/* Return number of bytes pending at the decoder input. + Can be used to avoid overflowing the decoder with too much data. + */ +LIBDE265_API int de265_get_number_of_input_bytes_pending(de265_decoder_context*); + +/* Return number of NAL units pending at the decoder input. + Can be used to avoid overflowing the decoder with too much data. + */ +LIBDE265_API int de265_get_number_of_NAL_units_pending(de265_decoder_context*); + +/* Do some decoding. Returns status whether it did perform some decoding or + why it could not do so. If 'more' is non-null, indicates whether de265_decode() + should be called again (possibly after resolving the indicated problem). + DE265_OK - decoding ok + DE265_ERROR_IMAGE_BUFFER_FULL - DPB full, extract some images before continuing + DE265_ERROR_WAITING_FOR_INPUT_DATA - insert more data before continuing + + You have to consider these cases: + - decoding successful -> err = DE265_OK, more=true + - decoding stalled -> err != DE265_OK, more=true + - decoding finished -> err = DE265_OK, more=false + - unresolvable error -> err != DE265_OK, more=false + */ +LIBDE265_API de265_error de265_decode(de265_decoder_context*, int* more); + +/* Clear decoder state. Call this when skipping in the stream. + */ +LIBDE265_API void de265_reset(de265_decoder_context*); + +/* Return next decoded picture, if there is any. If no complete picture has been + decoded yet, NULL is returned. You should call de265_release_next_picture() to + advance to the next picture. */ +LIBDE265_API const struct de265_image* de265_peek_next_picture(de265_decoder_context*); // may return NULL + +/* Get next decoded picture and remove this picture from the decoder output queue. + Returns NULL is there is no decoded picture ready. + You can use the picture only until you call any other de265_* function. */ +LIBDE265_API const struct de265_image* de265_get_next_picture(de265_decoder_context*); // may return NULL + +/* Release the current decoded picture for reuse in the decoder. You should not + use the data anymore after calling this function. */ +LIBDE265_API void de265_release_next_picture(de265_decoder_context*); + + +LIBDE265_API de265_error de265_get_warning(de265_decoder_context*); + + +enum de265_image_format { + de265_image_format_mono8 = 1, + de265_image_format_YUV420P8 = 2, + de265_image_format_YUV422P8 = 3, + de265_image_format_YUV444P8 = 4 +}; + +struct de265_image_spec +{ + enum de265_image_format format; + int width; + int height; + int alignment; + + // conformance window + + int crop_left; + int crop_right; + int crop_top; + int crop_bottom; + + int visible_width; // convenience, width - crop_left - crop_right + int visible_height; // convenience, height - crop_top - crop_bottom +}; + +struct de265_image_allocation +{ + int (*get_buffer)(de265_decoder_context* ctx, // first parameter deprecated + struct de265_image_spec* spec, + struct de265_image* img, + void* userdata); + void (*release_buffer)(de265_decoder_context* ctx, // first parameter deprecated + struct de265_image* img, + void* userdata); +}; + +/* The user data pointer will be given to the get_buffer() and release_buffer() functions + in de265_image_allocation. */ +LIBDE265_API void de265_set_image_allocation_functions(de265_decoder_context*, + struct de265_image_allocation*, + void* userdata); +LIBDE265_API const struct de265_image_allocation *de265_get_default_image_allocation_functions(void); + +LIBDE265_API void de265_set_image_plane(struct de265_image* img, int cIdx, void* mem, int stride, void *userdata); + + +/* --- frame dropping API --- + + To limit decoding to a maximum temporal layer (TID), use de265_set_limit_TID(). + The maximum layer ID in the stream can be queried with de265_get_highest_TID(). + Note that the maximum layer ID can change throughout the stream. + + For a fine-grained selection of the frame-rate, use de265_set_framerate_ratio(). + A percentage of 100% will decode all frames in all temporal layers. A lower percentage + will drop approximately as many frames. Note that this only accurate if the frames + are distributed evenly among the layers. Otherwise, the mapping is non-linear. + + The limit_TID has a higher precedence than framerate_ratio. Hence, setting a higher + framerate-ratio will decode at limit_TID without dropping. + + With change_framerate(), the output frame-rate can be increased/decreased to some + discrete preferable values. Currently, these are non-dropped decoding at various + TID layers. +*/ + +LIBDE265_API int de265_get_highest_TID(de265_decoder_context*); // highest temporal substream to decode +LIBDE265_API int de265_get_current_TID(de265_decoder_context*); // currently decoded temporal substream + +LIBDE265_API void de265_set_limit_TID(de265_decoder_context*,int max_tid); // highest temporal substream to decode +LIBDE265_API void de265_set_framerate_ratio(de265_decoder_context*,int percent); // percentage of frames to decode (approx) +LIBDE265_API int de265_change_framerate(de265_decoder_context*,int more_vs_less); // 1: more, -1: less, returns corresponding framerate_ratio + + +/* --- decoding parameters --- */ + +enum de265_param { + DE265_DECODER_PARAM_BOOL_SEI_CHECK_HASH=0, // (bool) Perform SEI hash check on decoded pictures. + DE265_DECODER_PARAM_DUMP_SPS_HEADERS=1, // (int) Dump headers to specified file-descriptor. + DE265_DECODER_PARAM_DUMP_VPS_HEADERS=2, + DE265_DECODER_PARAM_DUMP_PPS_HEADERS=3, + DE265_DECODER_PARAM_DUMP_SLICE_HEADERS=4, + DE265_DECODER_PARAM_ACCELERATION_CODE=5, // (int) enum de265_acceleration, default: AUTO + DE265_DECODER_PARAM_SUPPRESS_FAULTY_PICTURES=6, // (bool) do not output frames with decoding errors, default: no (output all images) + + DE265_DECODER_PARAM_DISABLE_DEBLOCKING=7, // (bool) disable deblocking + DE265_DECODER_PARAM_DISABLE_SAO=8 // (bool) disable SAO filter + //DE265_DECODER_PARAM_DISABLE_MC_RESIDUAL_IDCT=9, // (bool) disable decoding of IDCT residuals in MC blocks + //DE265_DECODER_PARAM_DISABLE_INTRA_RESIDUAL_IDCT=10 // (bool) disable decoding of IDCT residuals in MC blocks +}; + +// sorted such that a large ID includes all optimizations from lower IDs +enum de265_acceleration { + de265_acceleration_SCALAR = 0, // only fallback implementation + de265_acceleration_MMX = 10, + de265_acceleration_SSE = 20, + de265_acceleration_SSE2 = 30, + de265_acceleration_SSE4 = 40, + de265_acceleration_AVX = 50, // not implemented yet + de265_acceleration_AVX2 = 60, // not implemented yet + de265_acceleration_ARM = 70, + de265_acceleration_NEON = 80, + de265_acceleration_AUTO = 10000 +}; + + +/* Set decoding parameters. */ +LIBDE265_API void de265_set_parameter_bool(de265_decoder_context*, enum de265_param param, int value); + +LIBDE265_API void de265_set_parameter_int(de265_decoder_context*, enum de265_param param, int value); + +/* Get decoding parameters. */ +LIBDE265_API int de265_get_parameter_bool(de265_decoder_context*, enum de265_param param); + + + +/* --- optional library initialization --- */ + +/* Static library initialization. Must be paired with de265_free(). + Initialization is optional, since it will be done implicitly in de265_new_decoder(). + Return value is false if initialization failed. + Only call de265_free() when initialization was successful. + Multiple calls to 'init' are allowed, but must be matched with an equal number of 'free' calls. +*/ +LIBDE265_API de265_error de265_init(void); + +/* Free global library data. + An implicit free call is made in de265_free_decoder(). + Returns false if library was not initialized before, or if 'free' was called + more often than 'init'. + */ +LIBDE265_API de265_error de265_free(void); + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/vcpkg/installed/x64-osx/include/libde265/en265.h b/vcpkg/installed/x64-osx/include/libde265/en265.h new file mode 100644 index 0000000..a22e5d1 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/libde265/en265.h @@ -0,0 +1,218 @@ +/* + * H.265 video codec. + * Copyright (c) 2013-2014 struktur AG, Dirk Farin + * + * Authors: Dirk Farin + * + * This file is part of libde265. + * + * libde265 is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. + * + * libde265 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with libde265. If not, see . + */ + +#ifndef EN265_H +#define EN265_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + + +// ========== encoder context ========== + +struct en265_encoder_context; // private structure + +/* Get a new encoder context. Must be freed with en265_free_encoder(). */ +LIBDE265_API en265_encoder_context* en265_new_encoder(void); + +/* Free encoder context. May only be called once on a context. */ +LIBDE265_API de265_error en265_free_encoder(en265_encoder_context*); + +/* The alloc_userdata pointer will be given to the release_func(). */ +/* +LIBDE265_API void en265_set_image_release_function(en265_encoder_context*, + void (*release_func)(en265_encoder_context*, + struct de265_image*, + void* userdata), + void* alloc_userdata); +*/ + +// ========== encoder parameters ========== + +LIBDE265_API de265_error en265_set_parameter_bool(en265_encoder_context*, + const char* parametername,int value); +LIBDE265_API de265_error en265_set_parameter_int(en265_encoder_context*, + const char* parametername,int value); +LIBDE265_API de265_error en265_set_parameter_string(en265_encoder_context*, + const char* parametername,const char* value); +LIBDE265_API de265_error en265_set_parameter_choice(en265_encoder_context*, + const char* parametername,const char* value); + + +LIBDE265_API const char** en265_list_parameters(en265_encoder_context*); + +enum en265_parameter_type { + en265_parameter_bool, + en265_parameter_int, + en265_parameter_string, + en265_parameter_choice +}; + +LIBDE265_API enum en265_parameter_type en265_get_parameter_type(en265_encoder_context*, + const char* parametername); + +LIBDE265_API const char** en265_list_parameter_choices(en265_encoder_context*, + const char* parametername); + + +// --- convenience functions for command-line parameters --- + +LIBDE265_API de265_error en265_parse_command_line_parameters(en265_encoder_context*, + int* argc, char** argv); +LIBDE265_API void en265_show_parameters(en265_encoder_context*); + + + +// ========== encoding loop ========== + +LIBDE265_API de265_error en265_start_encoder(en265_encoder_context*, int number_of_threads); + +// If we have provided our own memory release function, no image memory will be allocated. +LIBDE265_API struct de265_image* en265_allocate_image(en265_encoder_context*, + int width, int height, + enum de265_chroma chroma, + de265_PTS pts, void* image_userdata); + +LIBDE265_API void* de265_alloc_image_plane(struct de265_image* img, int cIdx, + void* inputdata, int inputstride, void *userdata); +LIBDE265_API void de265_free_image_plane(struct de265_image* img, int cIdx); + + +// Request a specification of the image memory layout for an image of the specified dimensions. +LIBDE265_API void en265_get_image_spec(en265_encoder_context*, + int width, int height, enum de265_chroma chroma, + struct de265_image_spec* out_spec); + +// Image memory layout specification for an image returned by en265_allocate_image(). +/* TODO: do we need this? +LIBDE265_API void de265_get_image_spec_from_image(de265_image* img, struct de265_image_spec* spec); +*/ + + +LIBDE265_API de265_error en265_push_image(en265_encoder_context*, + struct de265_image*); // non-blocking + +LIBDE265_API de265_error en265_push_eof(en265_encoder_context*); + +// block when there are more than max_input_images in the input queue +LIBDE265_API de265_error en265_block_on_input_queue_length(en265_encoder_context*, + int max_pending_images, + int timeout_ms); + +LIBDE265_API de265_error en265_trim_input_queue(en265_encoder_context*, int max_pending_images); + +LIBDE265_API int en265_current_input_queue_length(en265_encoder_context*); + +// Run encoder in main thread. Only use this when not using background threads. +LIBDE265_API de265_error en265_encode(en265_encoder_context*); + +enum en265_encoder_state +{ + EN265_STATE_IDLE, + EN265_STATE_WAITING_FOR_INPUT, + EN265_STATE_WORKING, + EN265_STATE_OUTPUT_QUEUE_FULL, + EN265_STATE_EOS +}; + + +LIBDE265_API enum en265_encoder_state en265_get_encoder_state(en265_encoder_context*); + + +enum en265_packet_content_type { + EN265_PACKET_VPS, + EN265_PACKET_SPS, + EN265_PACKET_PPS, + EN265_PACKET_SEI, + EN265_PACKET_SLICE, + EN265_PACKET_SKIPPED_IMAGE +}; + + +enum en265_nal_unit_type { + EN265_NUT_TRAIL_N = 0, + EN265_NUT_TRAIL_R = 1, + EN265_NUT_TSA_N = 2, + EN265_NUT_TSA_R = 3, + EN265_NUT_STSA_N = 4, + EN265_NUT_STSA_R = 5, + EN265_NUT_RADL_N = 6, + EN265_NUT_RADL_R = 7, + EN265_NUT_RASL_N = 8, + EN265_NUT_RASL_R = 9, + EN265_NUT_BLA_W_LP = 16, + EN265_NUT_BLA_W_RADL= 17, + EN265_NUT_BLA_N_LP = 18, + EN265_NUT_IDR_W_RADL= 19, + EN265_NUT_IDR_N_LP = 20, + EN265_NUT_CRA = 21, + EN265_NUT_VPS = 32, + EN265_NUT_SPS = 33, + EN265_NUT_PPS = 34, + EN265_NUT_AUD = 35, + EN265_NUT_EOS = 36, + EN265_NUT_EOB = 37, + EN265_NUT_FD = 38, + EN265_NUT_PREFIX_SEI = 39, + EN265_NUT_SUFFIX_SEI = 40 +}; + + +struct en265_packet +{ + int version; // currently: 1 + + const uint8_t* data; + int length; + + int frame_number; + + enum en265_packet_content_type content_type; + char complete_picture : 1; + char final_slice : 1; + char dependent_slice : 1; + + enum en265_nal_unit_type nal_unit_type; + unsigned char nuh_layer_id; + unsigned char nuh_temporal_id; + + en265_encoder_context* encoder_context; + + const struct de265_image* input_image; + const struct de265_image* reconstruction; +}; + +// timeout_ms - timeout in milliseconds. 0 - no timeout, -1 - block forever +LIBDE265_API struct en265_packet* en265_get_packet(en265_encoder_context*, int timeout_ms); +LIBDE265_API void en265_free_packet(en265_encoder_context*, struct en265_packet*); + +LIBDE265_API int en265_number_of_queued_packets(en265_encoder_context*); + +#ifdef __cplusplus +} +#endif + + +#endif diff --git a/vcpkg/installed/x64-osx/include/libheif/heif.h b/vcpkg/installed/x64-osx/include/libheif/heif.h new file mode 100644 index 0000000..b1095ba --- /dev/null +++ b/vcpkg/installed/x64-osx/include/libheif/heif.h @@ -0,0 +1,2169 @@ +/* + * HEIF codec. + * Copyright (c) 2017-2023 Dirk Farin + * + * This file is part of libheif. + * + * libheif is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. + * + * libheif is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with libheif. If not, see . + */ + +#ifndef LIBHEIF_HEIF_H +#define LIBHEIF_HEIF_H + +#ifdef __cplusplus +extern "C" { +#endif + +/*! \file heif.h + * + * Public API for libheif. +*/ + +#include +#include + +#include + + +// API versions table +// +// release dec.options enc.options heif_reader heif_writer depth.rep col.profile +// ------------------------------------------------------------------------------------------ +// 1.0 1 N/A N/A N/A 1 N/A +// 1.1 1 N/A N/A 1 1 N/A +// 1.3 1 1 1 1 1 N/A +// 1.4 1 1 1 1 1 1 +// 1.7 2 1 1 1 1 1 +// 1.9.2 2 2 1 1 1 1 +// 1.10 2 3 1 1 1 1 +// 1.11 2 4 1 1 1 1 +// 1.13 3 4 1 1 1 1 +// 1.14 3 5 1 1 1 1 +// 1.15 4 5 1 1 1 1 +// 1.16 5 6 1 1 1 1 + +#if 0 +#if 0 +#define LIBHEIF_API __declspec(dllexport) +#else +#define LIBHEIF_API __declspec(dllimport) +#endif +#elif defined(HAVE_VISIBILITY) && HAVE_VISIBILITY +#if 0 +#define LIBHEIF_API __attribute__((__visibility__("default"))) +#else +#define LIBHEIF_API +#endif +#else +#define LIBHEIF_API +#endif + +#define heif_fourcc(a, b, c, d) ((uint32_t)((a<<24) | (b<<16) | (c<<8) | d)) + + +/* === version numbers === */ + +// Version string of linked libheif library. +LIBHEIF_API const char* heif_get_version(void); + +// Numeric version of linked libheif library, encoded as 0xHHMMLL00 = hh.mm.ll, where hh, mm, ll is the decimal representation of HH, MM, LL. +// For example: 0x02150300 is version 2.21.3 +LIBHEIF_API uint32_t heif_get_version_number(void); + +// Numeric part "HH" from above. Returned as a decimal number. +LIBHEIF_API int heif_get_version_number_major(void); +// Numeric part "MM" from above. Returned as a decimal number. +LIBHEIF_API int heif_get_version_number_minor(void); +// Numeric part "LL" from above. Returned as a decimal number. +LIBHEIF_API int heif_get_version_number_maintenance(void); + +// Helper macros to check for given versions of libheif at compile time. +#define LIBHEIF_MAKE_VERSION(h, m, l) ((h) << 24 | (m) << 16 | (l) << 8) +#define LIBHEIF_HAVE_VERSION(h, m, l) (LIBHEIF_NUMERIC_VERSION >= LIBHEIF_MAKE_VERSION(h, m, l)) + +struct heif_context; +struct heif_image_handle; +struct heif_image; + + +enum heif_error_code +{ + // Everything ok, no error occurred. + heif_error_Ok = 0, + + // Input file does not exist. + heif_error_Input_does_not_exist = 1, + + // Error in input file. Corrupted or invalid content. + heif_error_Invalid_input = 2, + + // Input file type is not supported. + heif_error_Unsupported_filetype = 3, + + // Image requires an unsupported decoder feature. + heif_error_Unsupported_feature = 4, + + // Library API has been used in an invalid way. + heif_error_Usage_error = 5, + + // Could not allocate enough memory. + heif_error_Memory_allocation_error = 6, + + // The decoder plugin generated an error + heif_error_Decoder_plugin_error = 7, + + // The encoder plugin generated an error + heif_error_Encoder_plugin_error = 8, + + // Error during encoding or when writing to the output + heif_error_Encoding_error = 9, + + // Application has asked for a color profile type that does not exist + heif_error_Color_profile_does_not_exist = 10, + + // Error loading a dynamic plugin + heif_error_Plugin_loading_error = 11 +}; + + +enum heif_suberror_code +{ + // no further information available + heif_suberror_Unspecified = 0, + + // --- Invalid_input --- + + // End of data reached unexpectedly. + heif_suberror_End_of_data = 100, + + // Size of box (defined in header) is wrong + heif_suberror_Invalid_box_size = 101, + + // Mandatory 'ftyp' box is missing + heif_suberror_No_ftyp_box = 102, + + heif_suberror_No_idat_box = 103, + + heif_suberror_No_meta_box = 104, + + heif_suberror_No_hdlr_box = 105, + + heif_suberror_No_hvcC_box = 106, + + heif_suberror_No_pitm_box = 107, + + heif_suberror_No_ipco_box = 108, + + heif_suberror_No_ipma_box = 109, + + heif_suberror_No_iloc_box = 110, + + heif_suberror_No_iinf_box = 111, + + heif_suberror_No_iprp_box = 112, + + heif_suberror_No_iref_box = 113, + + heif_suberror_No_pict_handler = 114, + + // An item property referenced in the 'ipma' box is not existing in the 'ipco' container. + heif_suberror_Ipma_box_references_nonexisting_property = 115, + + // No properties have been assigned to an item. + heif_suberror_No_properties_assigned_to_item = 116, + + // Image has no (compressed) data + heif_suberror_No_item_data = 117, + + // Invalid specification of image grid (tiled image) + heif_suberror_Invalid_grid_data = 118, + + // Tile-images in a grid image are missing + heif_suberror_Missing_grid_images = 119, + + heif_suberror_Invalid_clean_aperture = 120, + + // Invalid specification of overlay image + heif_suberror_Invalid_overlay_data = 121, + + // Overlay image completely outside of visible canvas area + heif_suberror_Overlay_image_outside_of_canvas = 122, + + heif_suberror_Auxiliary_image_type_unspecified = 123, + + heif_suberror_No_or_invalid_primary_item = 124, + + heif_suberror_No_infe_box = 125, + + heif_suberror_Unknown_color_profile_type = 126, + + heif_suberror_Wrong_tile_image_chroma_format = 127, + + heif_suberror_Invalid_fractional_number = 128, + + heif_suberror_Invalid_image_size = 129, + + heif_suberror_Invalid_pixi_box = 130, + + heif_suberror_No_av1C_box = 131, + + heif_suberror_Wrong_tile_image_pixel_depth = 132, + + heif_suberror_Unknown_NCLX_color_primaries = 133, + + heif_suberror_Unknown_NCLX_transfer_characteristics = 134, + + heif_suberror_Unknown_NCLX_matrix_coefficients = 135, + + // Invalid specification of region item + heif_suberror_Invalid_region_data = 136, + + + // --- Memory_allocation_error --- + + // A security limit preventing unreasonable memory allocations was exceeded by the input file. + // Please check whether the file is valid. If it is, contact us so that we could increase the + // security limits further. + heif_suberror_Security_limit_exceeded = 1000, + + + // --- Usage_error --- + + // An item ID was used that is not present in the file. + heif_suberror_Nonexisting_item_referenced = 2000, // also used for Invalid_input + + // An API argument was given a NULL pointer, which is not allowed for that function. + heif_suberror_Null_pointer_argument = 2001, + + // Image channel referenced that does not exist in the image + heif_suberror_Nonexisting_image_channel_referenced = 2002, + + // The version of the passed plugin is not supported. + heif_suberror_Unsupported_plugin_version = 2003, + + // The version of the passed writer is not supported. + heif_suberror_Unsupported_writer_version = 2004, + + // The given (encoder) parameter name does not exist. + heif_suberror_Unsupported_parameter = 2005, + + // The value for the given parameter is not in the valid range. + heif_suberror_Invalid_parameter_value = 2006, + + // Error in property specification + heif_suberror_Invalid_property = 2007, + + // Image reference cycle found in iref + heif_suberror_Item_reference_cycle = 2008, + + + // --- Unsupported_feature --- + + // Image was coded with an unsupported compression method. + heif_suberror_Unsupported_codec = 3000, + + // Image is specified in an unknown way, e.g. as tiled grid image (which is supported) + heif_suberror_Unsupported_image_type = 3001, + + heif_suberror_Unsupported_data_version = 3002, + + // The conversion of the source image to the requested chroma / colorspace is not supported. + heif_suberror_Unsupported_color_conversion = 3003, + + heif_suberror_Unsupported_item_construction_method = 3004, + + heif_suberror_Unsupported_header_compression_method = 3005, + + + // --- Encoder_plugin_error --- + + heif_suberror_Unsupported_bit_depth = 4000, + + + // --- Encoding_error --- + + heif_suberror_Cannot_write_output_data = 5000, + + heif_suberror_Encoder_initialization = 5001, + heif_suberror_Encoder_encoding = 5002, + heif_suberror_Encoder_cleanup = 5003, + + heif_suberror_Too_many_regions = 5004, + + + // --- Plugin loading error --- + + heif_suberror_Plugin_loading_error = 6000, // a specific plugin file cannot be loaded + heif_suberror_Plugin_is_not_loaded = 6001, // trying to remove a plugin that is not loaded + heif_suberror_Cannot_read_plugin_directory = 6002 // error while scanning the directory for plugins +}; + + +struct heif_error +{ + // main error category + enum heif_error_code code; + + // more detailed error code + enum heif_suberror_code subcode; + + // textual error message (is always defined, you do not have to check for NULL) + const char* message; +}; + +// Default success return value. Intended for use in user-supplied callback functions. +LIBHEIF_API extern const struct heif_error heif_error_success; + + +typedef uint32_t heif_item_id; +typedef uint32_t heif_property_id; + + + +// ========================= enum types ====================== + +/** + * libheif known compression formats. + */ +enum heif_compression_format +{ + /** + * Unspecified / undefined compression format. + * + * This is used to mean "no match" or "any decoder" for some parts of the + * API. It does not indicate a specific compression format. + */ + heif_compression_undefined = 0, + /** + * HEVC compression, used for HEIC images. + * + * This is equivalent to H.265. + */ + heif_compression_HEVC = 1, + /** + * AVC compression. (Currently unused in libheif.) + * + * The compression is defined in ISO/IEC 14496-10. This is equivalent to H.264. + * + * The encapsulation is defined in ISO/IEC 23008-12:2022 Annex E. + */ + heif_compression_AVC = 2, + /** + * JPEG compression. + * + * The compression format is defined in ISO/IEC 10918-1. The encapsulation + * of JPEG is specified in ISO/IEC 23008-12:2022 Annex H. + */ + heif_compression_JPEG = 3, + /** + * AV1 compression, used for AVIF images. + * + * The compression format is provided at https://aomediacodec.github.io/av1-spec/ + * + * The encapsulation is defined in https://aomediacodec.github.io/av1-avif/ + */ + heif_compression_AV1 = 4, + /** + * VVC compression. (Currently unused in libheif.) + * + * The compression format is defined in ISO/IEC 23090-3. This is equivalent to H.266. + * + * The encapsulation is defined in ISO/IEC 23008-12:2022 Annex L. + */ + heif_compression_VVC = 5, + /** + * EVC compression. (Currently unused in libheif.) + * + * The compression format is defined in ISO/IEC 23094-1. This is equivalent to H.266. + * + * The encapsulation is defined in ISO/IEC 23008-12:2022 Annex M. + */ + heif_compression_EVC = 6, + /** + * JPEG 2000 compression. + * + * The encapsulation of JPEG 2000 is specified in ISO/IEC 15444-16:2021. + * The core encoding is defined in ISO/IEC 15444-1, or ITU-T T.800. + */ + heif_compression_JPEG2000 = 7, + /** + * Uncompressed encoding. + * + * This is defined in ISO/IEC 23001-17:2023 (Final Draft International Standard). + */ + heif_compression_uncompressed = 8, + /** + * Mask image encoding. + * + * See ISO/IEC 23008-12:2022 Section 6.10.2 + */ + heif_compression_mask = 9 +}; + +enum heif_chroma +{ + heif_chroma_undefined = 99, + heif_chroma_monochrome = 0, + heif_chroma_420 = 1, + heif_chroma_422 = 2, + heif_chroma_444 = 3, + heif_chroma_interleaved_RGB = 10, + heif_chroma_interleaved_RGBA = 11, + heif_chroma_interleaved_RRGGBB_BE = 12, // HDR, big endian. + heif_chroma_interleaved_RRGGBBAA_BE = 13, // HDR, big endian. + heif_chroma_interleaved_RRGGBB_LE = 14, // HDR, little endian. + heif_chroma_interleaved_RRGGBBAA_LE = 15 // HDR, little endian. +}; + +// DEPRECATED ENUM NAMES +#define heif_chroma_interleaved_24bit heif_chroma_interleaved_RGB +#define heif_chroma_interleaved_32bit heif_chroma_interleaved_RGBA + + +enum heif_colorspace +{ + heif_colorspace_undefined = 99, + + // heif_colorspace_YCbCr should be used with one of these heif_chroma values: + // * heif_chroma_444 + // * heif_chroma_422 + // * heif_chroma_420 + heif_colorspace_YCbCr = 0, + + // heif_colorspace_RGB should be used with one of these heif_chroma values: + // * heif_chroma_444 (for planar RGB) + // * heif_chroma_interleaved_RGB + // * heif_chroma_interleaved_RGBA + // * heif_chroma_interleaved_RRGGBB_BE + // * heif_chroma_interleaved_RRGGBBAA_BE + // * heif_chroma_interleaved_RRGGBB_LE + // * heif_chroma_interleaved_RRGGBBAA_LE + heif_colorspace_RGB = 1, + + // heif_colorspace_monochrome should only be used with heif_chroma = heif_chroma_monochrome + heif_colorspace_monochrome = 2 +}; + +enum heif_channel +{ + heif_channel_Y = 0, + heif_channel_Cb = 1, + heif_channel_Cr = 2, + heif_channel_R = 3, + heif_channel_G = 4, + heif_channel_B = 5, + heif_channel_Alpha = 6, + heif_channel_interleaved = 10 +}; + + +// ========================= library initialization ====================== + +struct heif_init_params +{ + int version; + + // currently no parameters +}; + + +/** + * Initialise library. + * + * You should call heif_init() when you start using libheif and heif_deinit() when you are finished. + * These calls are reference counted. Each call to heif_init() should be matched by one call to heif_deinit(). + * + * For backwards compatibility, it is not really necessary to call heif_init(), but some library memory objects + * will never be freed if you do not call heif_init()/heif_deinit(). + * + * heif_init() will load the external modules installed in the default plugin path. Thus, you need it when you + * want to load external plugins from the default path. + * Codec plugins that are compiled into the library directly (selected by the compile-time parameters of libheif) + * will be available even without heif_init(). + * + * Make sure that you do not have one part of your program use heif_init()/heif_deinit() and another part that does + * not use it as the latter may try to use an uninitialized library. If in doubt, enclose everything with init/deinit. + * + * You may pass nullptr to get default parameters. Currently, no parameters are supported. + */ +LIBHEIF_API +struct heif_error heif_init(struct heif_init_params*); + +/** + * Deinitialise and clean up library. + * + * You should call heif_init() when you start using libheif and heif_deinit() when you are finished. + * These calls are reference counted. Each call to heif_init() should be matched by one call to heif_deinit(). + * + * \sa heif_init() + */ +LIBHEIF_API +void heif_deinit(void); + + +// --- Plugins are currently only supported on Unix platforms. + +enum heif_plugin_type +{ + heif_plugin_type_encoder, + heif_plugin_type_decoder +}; + +struct heif_plugin_info +{ + int version; // version of this info struct + enum heif_plugin_type type; + const void* plugin; + void* internal_handle; // for internal use only +}; + +LIBHEIF_API +struct heif_error heif_load_plugin(const char* filename, struct heif_plugin_info const** out_plugin); + +LIBHEIF_API +struct heif_error heif_load_plugins(const char* directory, + const struct heif_plugin_info** out_plugins, + int* out_nPluginsLoaded, + int output_array_size); + +LIBHEIF_API +struct heif_error heif_unload_plugin(const struct heif_plugin_info* plugin); + +// Get a NULL terminated array of the plugin directories that are searched by libheif. +// This includes the paths specified in the environment variable LIBHEIF_PLUGIN_PATHS and the built-in path +// (if not overridden by the environment variable). +LIBHEIF_API +const char*const* heif_get_plugin_directories(void); + +LIBHEIF_API +void heif_free_plugin_directories(const char*const*); + + +// ========================= file type check ====================== + +enum heif_filetype_result +{ + heif_filetype_no, + heif_filetype_yes_supported, // it is heif and can be read by libheif + heif_filetype_yes_unsupported, // it is heif, but cannot be read by libheif + heif_filetype_maybe // not sure whether it is an heif, try detection with more input data +}; + +// input data should be at least 12 bytes +LIBHEIF_API +enum heif_filetype_result heif_check_filetype(const uint8_t* data, int len); + +LIBHEIF_API +int heif_check_jpeg_filetype(const uint8_t* data, int len); + + +// DEPRECATED, use heif_brand2 and the heif_brand2_* constants below instead +enum heif_brand +{ + heif_unknown_brand, + heif_heic, // HEIF image with h265 + heif_heix, // 10bit images, or anything that uses h265 with range extension + heif_hevc, heif_hevx, // brands for image sequences + heif_heim, // multiview + heif_heis, // scalable + heif_hevm, // multiview sequence + heif_hevs, // scalable sequence + heif_mif1, // image, any coding algorithm + heif_msf1, // sequence, any coding algorithm + heif_avif, // HEIF image with AV1 + heif_avis, + heif_vvic, // VVC image + heif_vvis, // VVC sequence + heif_evbi, // EVC image + heif_evbs, // EVC sequence + heif_j2ki, // JPEG2000 image + heif_j2is, // JPEG2000 image sequence +}; + +// input data should be at least 12 bytes +// DEPRECATED, use heif_read_main_brand() instead +LIBHEIF_API +enum heif_brand heif_main_brand(const uint8_t* data, int len); + + +typedef uint32_t heif_brand2; + +/** + * HEVC image (`heic`) brand. + * + * Image conforms to HEVC (H.265) Main or Main Still profile. + * + * See ISO/IEC 23008-12:2022 Section B.4.1. + */ +#define heif_brand2_heic heif_fourcc('h','e','i','c') + +/** + * HEVC image (`heix`) brand. + * + * Image conforms to HEVC (H.265) Main 10 profile. + * + * See ISO/IEC 23008-12:2022 Section B.4.1. + */ +#define heif_brand2_heix heif_fourcc('h','e','i','x') + +/** + * HEVC image sequence (`hevc`) brand. + * + * Image sequence conforms to HEVC (H.265) Main profile. + * + * See ISO/IEC 23008-12:2022 Section B.4.2. + */ +#define heif_brand2_hevc heif_fourcc('h','e','v','c') + +/** + * HEVC image sequence (`hevx`) brand. + * + * Image sequence conforms to HEVC (H.265) Main 10 profile. + * + * See ISO/IEC 23008-12:2022 Section B.4.2. + */ +#define heif_brand2_hevx heif_fourcc('h','e','v','x') + +/** + * HEVC layered image (`heim`) brand. + * + * Image layers conform to HEVC (H.265) Main or Multiview Main profile. + * + * See ISO/IEC 23008-12:2022 Section B.4.3. + */ +#define heif_brand2_heim heif_fourcc('h','e','i','m') + +/** + * HEVC layered image (`heis`) brand. + * + * Image layers conform to HEVC (H.265) Main, Main 10, Scalable Main + * or Scalable Main 10 profile. + * + * See ISO/IEC 23008-12:2022 Section B.4.3. + */ +#define heif_brand2_heis heif_fourcc('h','e','i','s') + +/** + * HEVC layered image sequence (`hevm`) brand. + * + * Image sequence layers conform to HEVC (H.265) Main or Multiview Main profile. + * + * See ISO/IEC 23008-12:2022 Section B.4.4. + */ +#define heif_brand2_hevm heif_fourcc('h','e','v','m') + +/** + * HEVC layered image sequence (`hevs`) brand. + * + * Image sequence layers conform to HEVC (H.265) Main, Main 10, Scalable Main + * or Scalable Main 10 profile. + * + * See ISO/IEC 23008-12:2022 Section B.4.4. + */ +#define heif_brand2_hevs heif_fourcc('h','e','v','s') + +/** + * AV1 image (`avif`) brand. + * + * See https://aomediacodec.github.io/av1-avif/#image-and-image-collection-brand + */ +#define heif_brand2_avif heif_fourcc('a','v','i','f') + +/** + * AV1 image sequence (`avis`) brand. + * + * See https://aomediacodec.github.io/av1-avif/#image-sequence-brand + */ +#define heif_brand2_avis heif_fourcc('a','v','i','s') // AVIF sequence + +/** + * HEIF image structural brand (`mif1`). + * + * This does not imply a specific coding algorithm. + * + * See ISO/IEC 23008-12:2022 Section 10.2.2. + */ +#define heif_brand2_mif1 heif_fourcc('m','i','f','1') + +/** + * HEIF image structural brand (`mif2`). + * + * This does not imply a specific coding algorithm. `mif2` extends + * the requirements of `mif1` to include the `rref` and `iscl` item + * properties. + * + * See ISO/IEC 23008-12:2022 Section 10.2.3. + */ +#define heif_brand2_mif2 heif_fourcc('m','i','f','2') + +/** + * HEIF image sequence structural brand (`msf1`). + * + * This does not imply a specific coding algorithm. + * + * See ISO/IEC 23008-12:2022 Section 10.3.1. + */ +#define heif_brand2_msf1 heif_fourcc('m','s','f','1') + +/** + * VVC image (`vvic`) brand. + * + * See ISO/IEC 23008-12:2022 Section L.4.1. + */ +#define heif_brand2_vvic heif_fourcc('v','v','i','c') + +/** + * VVC image sequence (`vvis`) brand. + * + * See ISO/IEC 23008-12:2022 Section L.4.2. + */ +#define heif_brand2_vvis heif_fourcc('v','v','i','s') + +/** + * EVC baseline image (`evbi`) brand. + * + * See ISO/IEC 23008-12:2022 Section M.4.1. + */ +#define heif_brand2_evbi heif_fourcc('e','v','b','i') + +/** + * EVC main profile image (`evmi`) brand. + * + * See ISO/IEC 23008-12:2022 Section M.4.2. + */ +#define heif_brand2_evmi heif_fourcc('e','v','m','i') + +/** + * EVC baseline image sequence (`evbs`) brand. + * + * See ISO/IEC 23008-12:2022 Section M.4.3. + */ +#define heif_brand2_evbs heif_fourcc('e','v','b','s') + +/** + * EVC main profile image sequence (`evms`) brand. + * + * See ISO/IEC 23008-12:2022 Section M.4.4. + */ +#define heif_brand2_evms heif_fourcc('e','v','m','s') + +/** + * JPEG image (`jpeg`) brand. + * + * See ISO/IEC 23008-12:2022 Annex H.4 + */ +#define heif_brand2_jpeg heif_fourcc('j','p','e','g') + +/** + * JPEG image sequence (`jpgs`) brand. + * + * See ISO/IEC 23008-12:2022 Annex H.5 + */ +#define heif_brand2_jpgs heif_fourcc('j','p','g','s') + +/** + * JPEG 2000 image (`j2ki`) brand. + * + * See ISO/IEC 15444-16:2021 Section 6.5 + */ +#define heif_brand2_j2ki heif_fourcc('j','2','k','i') + +/** + * JPEG 2000 image sequence (`j2is`) brand. + * + * See ISO/IEC 15444-16:2021 Section 7.6 + */ +#define heif_brand2_j2is heif_fourcc('j','2','i','s') + +/** + * Multi-image application format (MIAF) brand. + * + * This is HEIF with additional constraints for interoperability. + * + * See ISO/IEC 23000-22. + */ +#define heif_brand2_miaf heif_fourcc('m','i','a','f') + +/** + * Single picture file brand. + * + * This is a compatible brand indicating the file contains a single intra-coded picture. + * + * See ISO/IEC 23008-12:2022 Section 10.2.5. +*/ +#define heif_brand2_1pic heif_fourcc('1','p','i','c') + +// input data should be at least 12 bytes +LIBHEIF_API +heif_brand2 heif_read_main_brand(const uint8_t* data, int len); + +// 'brand_fourcc' must be 4 character long, but need not be 0-terminated +LIBHEIF_API +heif_brand2 heif_fourcc_to_brand(const char* brand_fourcc); + +// the output buffer must be at least 4 bytes long +LIBHEIF_API +void heif_brand_to_fourcc(heif_brand2 brand, char* out_fourcc); + +// 'brand_fourcc' must be 4 character long, but need not be 0-terminated +// returns 1 if file includes the brand, and 0 if it does not +// returns -1 if the provided data is not sufficient +// (you should input at least as many bytes as indicated in the first 4 bytes of the file, usually ~50 bytes will do) +// returns -2 on other errors +LIBHEIF_API +int heif_has_compatible_brand(const uint8_t* data, int len, const char* brand_fourcc); + +// Returns an array of compatible brands. The array is allocated by this function and has to be freed with 'heif_free_list_of_compatible_brands()'. +// The number of entries is returned in out_size. +LIBHEIF_API +struct heif_error heif_list_compatible_brands(const uint8_t* data, int len, heif_brand2** out_brands, int* out_size); + +LIBHEIF_API +void heif_free_list_of_compatible_brands(heif_brand2* brands_list); + + +// Returns one of these MIME types: +// - image/heic HEIF file using h265 compression +// - image/heif HEIF file using any other compression +// - image/heic-sequence HEIF image sequence using h265 compression +// - image/heif-sequence HEIF image sequence using any other compression +// - image/avif AVIF image +// - image/avif-sequence AVIF sequence +// - image/jpeg JPEG image +// - image/png PNG image +// If the format could not be detected, an empty string is returned. +// +// Provide at least 12 bytes of input. With less input, its format might not +// be detected. You may also provide more input to increase detection accuracy. +// +// Note that JPEG and PNG images cannot be decoded by libheif even though the +// formats are detected by this function. +LIBHEIF_API +const char* heif_get_file_mime_type(const uint8_t* data, int len); + + + +// ========================= heif_context ========================= +// A heif_context represents a HEIF file that has been read. +// In the future, you will also be able to add pictures to a heif_context +// and write it into a file again. + + +// Allocate a new context for reading HEIF files. +// Has to be freed again with heif_context_free(). +LIBHEIF_API +struct heif_context* heif_context_alloc(void); + +// Free a previously allocated HEIF context. You should not free a context twice. +LIBHEIF_API +void heif_context_free(struct heif_context*); + + +struct heif_reading_options; + +enum heif_reader_grow_status +{ + heif_reader_grow_status_size_reached, // requested size has been reached, we can read until this point + heif_reader_grow_status_timeout, // size has not been reached yet, but it may still grow further + heif_reader_grow_status_size_beyond_eof // size has not been reached and never will. The file has grown to its full size +}; + +struct heif_reader +{ + // API version supported by this reader + int reader_api_version; + + // --- version 1 functions --- + int64_t (* get_position)(void* userdata); + + // The functions read(), and seek() return heif_error_ok on success. + // Generally, libheif will make sure that we do not read past the file size. + int (* read)(void* data, + size_t size, + void* userdata); + + int (* seek)(int64_t position, + void* userdata); + + // When calling this function, libheif wants to make sure that it can read the file + // up to 'target_size'. This is useful when the file is currently downloaded and may + // grow with time. You may, for example, extract the image sizes even before the actual + // compressed image data has been completely downloaded. + // + // Even if your input files will not grow, you will have to implement at least + // detection whether the target_size is above the (fixed) file length + // (in this case, return 'size_beyond_eof'). + enum heif_reader_grow_status (* wait_for_file_size)(int64_t target_size, void* userdata); +}; + + +// Read a HEIF file from a named disk file. +// The heif_reading_options should currently be set to NULL. +LIBHEIF_API +struct heif_error heif_context_read_from_file(struct heif_context*, const char* filename, + const struct heif_reading_options*); + +// Read a HEIF file stored completely in memory. +// The heif_reading_options should currently be set to NULL. +// DEPRECATED: use heif_context_read_from_memory_without_copy() instead. +LIBHEIF_API +struct heif_error heif_context_read_from_memory(struct heif_context*, + const void* mem, size_t size, + const struct heif_reading_options*); + +// Same as heif_context_read_from_memory() except that the provided memory is not copied. +// That means, you will have to keep the memory area alive as long as you use the heif_context. +LIBHEIF_API +struct heif_error heif_context_read_from_memory_without_copy(struct heif_context*, + const void* mem, size_t size, + const struct heif_reading_options*); + +LIBHEIF_API +struct heif_error heif_context_read_from_reader(struct heif_context*, + const struct heif_reader* reader, + void* userdata, + const struct heif_reading_options*); + +// Number of top-level images in the HEIF file. This does not include the thumbnails or the +// tile images that are composed to an image grid. You can get access to the thumbnails via +// the main image handle. +LIBHEIF_API +int heif_context_get_number_of_top_level_images(struct heif_context* ctx); + +LIBHEIF_API +int heif_context_is_top_level_image_ID(struct heif_context* ctx, heif_item_id id); + +// Fills in image IDs into the user-supplied int-array 'ID_array', preallocated with 'count' entries. +// Function returns the total number of IDs filled into the array. +LIBHEIF_API +int heif_context_get_list_of_top_level_image_IDs(struct heif_context* ctx, + heif_item_id* ID_array, + int count); + +LIBHEIF_API +struct heif_error heif_context_get_primary_image_ID(struct heif_context* ctx, heif_item_id* id); + +// Get a handle to the primary image of the HEIF file. +// This is the image that should be displayed primarily when there are several images in the file. +LIBHEIF_API +struct heif_error heif_context_get_primary_image_handle(struct heif_context* ctx, + struct heif_image_handle**); + +// Get the image handle for a known image ID. +LIBHEIF_API +struct heif_error heif_context_get_image_handle(struct heif_context* ctx, + heif_item_id id, + struct heif_image_handle**); + +// Print information about the boxes of a HEIF file to file descriptor. +// This is for debugging and informational purposes only. You should not rely on +// the output having a specific format. At best, you should not use this at all. +LIBHEIF_API +void heif_context_debug_dump_boxes_to_file(struct heif_context* ctx, int fd); + + +LIBHEIF_API +void heif_context_set_maximum_image_size_limit(struct heif_context* ctx, int maximum_width); + +// If the maximum threads number is set to 0, the image tiles are decoded in the main thread. +// This is different from setting it to 1, which will generate a single background thread to decode the tiles. +// Note that this setting only affects libheif itself. The codecs itself may still use multi-threaded decoding. +// You can use it, for example, in cases where you are decoding several images in parallel anyway you thus want +// to minimize parallelism in each decoder. +LIBHEIF_API +void heif_context_set_max_decoding_threads(struct heif_context* ctx, int max_threads); + + +// ========================= heif_image_handle ========================= + +// An heif_image_handle is a handle to a logical image in the HEIF file. +// To get the actual pixel data, you have to decode the handle to an heif_image. +// An heif_image_handle also gives you access to the thumbnails and Exif data +// associated with an image. + +// Once you obtained an heif_image_handle, you can already release the heif_context, +// since it is internally ref-counted. + +// Release image handle. +LIBHEIF_API +void heif_image_handle_release(const struct heif_image_handle*); + +// Check whether the given image_handle is the primary image of the file. +LIBHEIF_API +int heif_image_handle_is_primary_image(const struct heif_image_handle* handle); + +LIBHEIF_API +heif_item_id heif_image_handle_get_item_id(const struct heif_image_handle* handle); + +// Get the resolution of an image. +LIBHEIF_API +int heif_image_handle_get_width(const struct heif_image_handle* handle); + +LIBHEIF_API +int heif_image_handle_get_height(const struct heif_image_handle* handle); + +LIBHEIF_API +int heif_image_handle_has_alpha_channel(const struct heif_image_handle*); + +LIBHEIF_API +int heif_image_handle_is_premultiplied_alpha(const struct heif_image_handle*); + +// Returns -1 on error, e.g. if this information is not present in the image. +LIBHEIF_API +int heif_image_handle_get_luma_bits_per_pixel(const struct heif_image_handle*); + +// Returns -1 on error, e.g. if this information is not present in the image. +LIBHEIF_API +int heif_image_handle_get_chroma_bits_per_pixel(const struct heif_image_handle*); + +// Return the colorspace that libheif proposes to use for decoding. +// Usually, these will be either YCbCr or Monochrome, but it may also propose RGB for images +// encoded with matrix_coefficients=0. +// It may also return *_undefined if the file misses relevant information to determine this without decoding. +LIBHEIF_API +struct heif_error heif_image_handle_get_preferred_decoding_colorspace(const struct heif_image_handle* image_handle, + enum heif_colorspace* out_colorspace, + enum heif_chroma* out_chroma); + +// Get the image width from the 'ispe' box. This is the original image size without +// any transformations applied to it. Do not use this unless you know exactly what +// you are doing. +LIBHEIF_API +int heif_image_handle_get_ispe_width(const struct heif_image_handle* handle); + +LIBHEIF_API +int heif_image_handle_get_ispe_height(const struct heif_image_handle* handle); + +// This gets the context associated with the image handle. +// Note that you have to release the returned context with heif_context_free() in any case. +// +// This means: when you have several image-handles that originate from the same file and you get the +// context of each of them, the returned pointer may be different even though it refers to the same +// logical context. You have to call heif_context_free() on all those context pointers. +// After you freed a context pointer, you can still use the context through a different pointer that you +// might have acquired from elsewhere. +LIBHEIF_API +struct heif_context* heif_image_handle_get_context(const struct heif_image_handle* handle); + + +// ------------------------- depth images ------------------------- + +LIBHEIF_API +int heif_image_handle_has_depth_image(const struct heif_image_handle*); + +LIBHEIF_API +int heif_image_handle_get_number_of_depth_images(const struct heif_image_handle* handle); + +LIBHEIF_API +int heif_image_handle_get_list_of_depth_image_IDs(const struct heif_image_handle* handle, + heif_item_id* ids, int count); + +LIBHEIF_API +struct heif_error heif_image_handle_get_depth_image_handle(const struct heif_image_handle* handle, + heif_item_id depth_image_id, + struct heif_image_handle** out_depth_handle); + + +enum heif_depth_representation_type +{ + heif_depth_representation_type_uniform_inverse_Z = 0, + heif_depth_representation_type_uniform_disparity = 1, + heif_depth_representation_type_uniform_Z = 2, + heif_depth_representation_type_nonuniform_disparity = 3 +}; + +struct heif_depth_representation_info +{ + uint8_t version; + + // version 1 fields + + uint8_t has_z_near; + uint8_t has_z_far; + uint8_t has_d_min; + uint8_t has_d_max; + + double z_near; + double z_far; + double d_min; + double d_max; + + enum heif_depth_representation_type depth_representation_type; + uint32_t disparity_reference_view; + + uint32_t depth_nonlinear_representation_model_size; + uint8_t* depth_nonlinear_representation_model; + + // version 2 fields below +}; + + +LIBHEIF_API +void heif_depth_representation_info_free(const struct heif_depth_representation_info* info); + +// Returns true when there is depth_representation_info available +// Note 1: depth_image_id is currently unused because we support only one depth channel per image, but +// you should still provide the correct ID for future compatibility. +// Note 2: Because of an API bug before v1.11.0, the function also works when 'handle' is the handle of the depth image. +// However, you should pass the handle of the main image. Please adapt your code if needed. +LIBHEIF_API +int heif_image_handle_get_depth_image_representation_info(const struct heif_image_handle* handle, + heif_item_id depth_image_id, + const struct heif_depth_representation_info** out); + + + +// ------------------------- thumbnails ------------------------- + +// List the number of thumbnails assigned to this image handle. Usually 0 or 1. +LIBHEIF_API +int heif_image_handle_get_number_of_thumbnails(const struct heif_image_handle* handle); + +LIBHEIF_API +int heif_image_handle_get_list_of_thumbnail_IDs(const struct heif_image_handle* handle, + heif_item_id* ids, int count); + +// Get the image handle of a thumbnail image. +LIBHEIF_API +struct heif_error heif_image_handle_get_thumbnail(const struct heif_image_handle* main_image_handle, + heif_item_id thumbnail_id, + struct heif_image_handle** out_thumbnail_handle); + + +// ------------------------- auxiliary images ------------------------- + +#define LIBHEIF_AUX_IMAGE_FILTER_OMIT_ALPHA (1UL<<1) +#define LIBHEIF_AUX_IMAGE_FILTER_OMIT_DEPTH (2UL<<1) + +// List the number of auxiliary images assigned to this image handle. +LIBHEIF_API +int heif_image_handle_get_number_of_auxiliary_images(const struct heif_image_handle* handle, + int aux_filter); + +LIBHEIF_API +int heif_image_handle_get_list_of_auxiliary_image_IDs(const struct heif_image_handle* handle, + int aux_filter, + heif_item_id* ids, int count); + +// You are responsible to deallocate the returned buffer with heif_image_handle_release_auxiliary_type(). +LIBHEIF_API +struct heif_error heif_image_handle_get_auxiliary_type(const struct heif_image_handle* handle, + const char** out_type); + +LIBHEIF_API +void heif_image_handle_release_auxiliary_type(const struct heif_image_handle* handle, + const char** out_type); + +// DEPRECATED (because typo in function name). Use heif_image_handle_release_auxiliary_type() instead. +LIBHEIF_API +void heif_image_handle_free_auxiliary_types(const struct heif_image_handle* handle, + const char** out_type); + +// Get the image handle of an auxiliary image. +LIBHEIF_API +struct heif_error heif_image_handle_get_auxiliary_image_handle(const struct heif_image_handle* main_image_handle, + heif_item_id auxiliary_id, + struct heif_image_handle** out_auxiliary_handle); + + +// ------------------------- metadata (Exif / XMP) ------------------------- + +// How many metadata blocks are attached to an image. If you only want to get EXIF data, +// set the type_filter to "Exif". Otherwise, set the type_filter to NULL. +LIBHEIF_API +int heif_image_handle_get_number_of_metadata_blocks(const struct heif_image_handle* handle, + const char* type_filter); + +// 'type_filter' can be used to get only metadata of specific types, like "Exif". +// If 'type_filter' is NULL, it will return all types of metadata IDs. +LIBHEIF_API +int heif_image_handle_get_list_of_metadata_block_IDs(const struct heif_image_handle* handle, + const char* type_filter, + heif_item_id* ids, int count); + +// Return a string indicating the type of the metadata, as specified in the HEIF file. +// Exif data will have the type string "Exif". +// This string will be valid until the next call to a libheif function. +// You do not have to free this string. +LIBHEIF_API +const char* heif_image_handle_get_metadata_type(const struct heif_image_handle* handle, + heif_item_id metadata_id); + +// For EXIF, the content type is empty. +// For XMP, the content type is "application/rdf+xml". +LIBHEIF_API +const char* heif_image_handle_get_metadata_content_type(const struct heif_image_handle* handle, + heif_item_id metadata_id); + +// Get the size of the raw metadata, as stored in the HEIF file. +LIBHEIF_API +size_t heif_image_handle_get_metadata_size(const struct heif_image_handle* handle, + heif_item_id metadata_id); + +// 'out_data' must point to a memory area of the size reported by heif_image_handle_get_metadata_size(). +// The data is returned exactly as stored in the HEIF file. +// For Exif data, you probably have to skip the first four bytes of the data, since they +// indicate the offset to the start of the TIFF header of the Exif data. +LIBHEIF_API +struct heif_error heif_image_handle_get_metadata(const struct heif_image_handle* handle, + heif_item_id metadata_id, + void* out_data); + +// Only valid for item type == "uri ", an absolute URI +LIBHEIF_API +const char* heif_image_handle_get_metadata_item_uri_type(const struct heif_image_handle* handle, + heif_item_id metadata_id); + +// ------------------------- color profiles ------------------------- + +enum heif_color_profile_type +{ + heif_color_profile_type_not_present = 0, + heif_color_profile_type_nclx = heif_fourcc('n', 'c', 'l', 'x'), + heif_color_profile_type_rICC = heif_fourcc('r', 'I', 'C', 'C'), + heif_color_profile_type_prof = heif_fourcc('p', 'r', 'o', 'f') +}; + + +// Returns 'heif_color_profile_type_not_present' if there is no color profile. +// If there is an ICC profile and an NCLX profile, the ICC profile is returned. +// TODO: we need a new API for this function as images can contain both NCLX and ICC at the same time. +// However, you can still use heif_image_handle_get_raw_color_profile() and +// heif_image_handle_get_nclx_color_profile() to access both profiles. +LIBHEIF_API +enum heif_color_profile_type heif_image_handle_get_color_profile_type(const struct heif_image_handle* handle); + +LIBHEIF_API +size_t heif_image_handle_get_raw_color_profile_size(const struct heif_image_handle* handle); + +// Returns 'heif_error_Color_profile_does_not_exist' when there is no ICC profile. +LIBHEIF_API +struct heif_error heif_image_handle_get_raw_color_profile(const struct heif_image_handle* handle, + void* out_data); + + +enum heif_color_primaries +{ + heif_color_primaries_ITU_R_BT_709_5 = 1, // g=0.3;0.6, b=0.15;0.06, r=0.64;0.33, w=0.3127,0.3290 + heif_color_primaries_unspecified = 2, + heif_color_primaries_ITU_R_BT_470_6_System_M = 4, + heif_color_primaries_ITU_R_BT_470_6_System_B_G = 5, + heif_color_primaries_ITU_R_BT_601_6 = 6, + heif_color_primaries_SMPTE_240M = 7, + heif_color_primaries_generic_film = 8, + heif_color_primaries_ITU_R_BT_2020_2_and_2100_0 = 9, + heif_color_primaries_SMPTE_ST_428_1 = 10, + heif_color_primaries_SMPTE_RP_431_2 = 11, + heif_color_primaries_SMPTE_EG_432_1 = 12, + heif_color_primaries_EBU_Tech_3213_E = 22 +}; + +enum heif_transfer_characteristics +{ + heif_transfer_characteristic_ITU_R_BT_709_5 = 1, + heif_transfer_characteristic_unspecified = 2, + heif_transfer_characteristic_ITU_R_BT_470_6_System_M = 4, + heif_transfer_characteristic_ITU_R_BT_470_6_System_B_G = 5, + heif_transfer_characteristic_ITU_R_BT_601_6 = 6, + heif_transfer_characteristic_SMPTE_240M = 7, + heif_transfer_characteristic_linear = 8, + heif_transfer_characteristic_logarithmic_100 = 9, + heif_transfer_characteristic_logarithmic_100_sqrt10 = 10, + heif_transfer_characteristic_IEC_61966_2_4 = 11, + heif_transfer_characteristic_ITU_R_BT_1361 = 12, + heif_transfer_characteristic_IEC_61966_2_1 = 13, + heif_transfer_characteristic_ITU_R_BT_2020_2_10bit = 14, + heif_transfer_characteristic_ITU_R_BT_2020_2_12bit = 15, + heif_transfer_characteristic_ITU_R_BT_2100_0_PQ = 16, + heif_transfer_characteristic_SMPTE_ST_428_1 = 17, + heif_transfer_characteristic_ITU_R_BT_2100_0_HLG = 18 +}; + +enum heif_matrix_coefficients +{ + heif_matrix_coefficients_RGB_GBR = 0, + heif_matrix_coefficients_ITU_R_BT_709_5 = 1, // TODO: or 709-6 according to h.273 + heif_matrix_coefficients_unspecified = 2, + heif_matrix_coefficients_US_FCC_T47 = 4, + heif_matrix_coefficients_ITU_R_BT_470_6_System_B_G = 5, + heif_matrix_coefficients_ITU_R_BT_601_6 = 6, // TODO: or 601-7 according to h.273 + heif_matrix_coefficients_SMPTE_240M = 7, + heif_matrix_coefficients_YCgCo = 8, + heif_matrix_coefficients_ITU_R_BT_2020_2_non_constant_luminance = 9, + heif_matrix_coefficients_ITU_R_BT_2020_2_constant_luminance = 10, + heif_matrix_coefficients_SMPTE_ST_2085 = 11, + heif_matrix_coefficients_chromaticity_derived_non_constant_luminance = 12, + heif_matrix_coefficients_chromaticity_derived_constant_luminance = 13, + heif_matrix_coefficients_ICtCp = 14 +}; + +struct heif_color_profile_nclx +{ + // === version 1 fields + + uint8_t version; + + enum heif_color_primaries color_primaries; + enum heif_transfer_characteristics transfer_characteristics; + enum heif_matrix_coefficients matrix_coefficients; + uint8_t full_range_flag; + + // --- decoded values (not used when saving nclx) + + float color_primary_red_x, color_primary_red_y; + float color_primary_green_x, color_primary_green_y; + float color_primary_blue_x, color_primary_blue_y; + float color_primary_white_x, color_primary_white_y; +}; + +LIBHEIF_API +struct heif_error heif_nclx_color_profile_set_color_primaries(struct heif_color_profile_nclx* nclx, uint16_t cp); + +LIBHEIF_API +struct heif_error heif_nclx_color_profile_set_transfer_characteristics(struct heif_color_profile_nclx* nclx, uint16_t transfer_characteristics); + +LIBHEIF_API +struct heif_error heif_nclx_color_profile_set_matrix_coefficients(struct heif_color_profile_nclx* nclx, uint16_t matrix_coefficients); + +// Returns 'heif_error_Color_profile_does_not_exist' when there is no NCLX profile. +// TODO: This function does currently not return an NCLX profile if it is stored in the image bitstream. +// Only NCLX profiles stored as colr boxes are returned. This may change in the future. +LIBHEIF_API +struct heif_error heif_image_handle_get_nclx_color_profile(const struct heif_image_handle* handle, + struct heif_color_profile_nclx** out_data); + +// Returned color profile has 'version' field set to the maximum allowed. +// Do not fill values for higher versions as these might be outside the allocated structure size. +// May return NULL. +LIBHEIF_API +struct heif_color_profile_nclx* heif_nclx_color_profile_alloc(void); + +LIBHEIF_API +void heif_nclx_color_profile_free(struct heif_color_profile_nclx* nclx_profile); + + +LIBHEIF_API +enum heif_color_profile_type heif_image_get_color_profile_type(const struct heif_image* image); + +LIBHEIF_API +size_t heif_image_get_raw_color_profile_size(const struct heif_image* image); + +LIBHEIF_API +struct heif_error heif_image_get_raw_color_profile(const struct heif_image* image, + void* out_data); + +LIBHEIF_API +struct heif_error heif_image_get_nclx_color_profile(const struct heif_image* image, + struct heif_color_profile_nclx** out_data); + + +// ========================= heif_image ========================= + +// An heif_image contains a decoded pixel image in various colorspaces, chroma formats, +// and bit depths. + +// Note: when converting images to an interleaved chroma format, the resulting +// image contains only a single channel of type channel_interleaved with, e.g., 3 bytes per pixel, +// containing the interleaved R,G,B values. + +// Planar RGB images are specified as heif_colorspace_RGB / heif_chroma_444. + +enum heif_progress_step +{ + heif_progress_step_total = 0, + heif_progress_step_load_tile = 1 +}; + + +enum heif_chroma_downsampling_algorithm +{ + heif_chroma_downsampling_nearest_neighbor = 1, + heif_chroma_downsampling_average = 2, + + // Combine with 'heif_chroma_upsampling_bilinear' for best quality. + // Makes edges look sharper when using YUV 420 with bilinear chroma upsampling. + heif_chroma_downsampling_sharp_yuv = 3 +}; + +enum heif_chroma_upsampling_algorithm +{ + heif_chroma_upsampling_nearest_neighbor = 1, + heif_chroma_upsampling_bilinear = 2 +}; + +struct heif_color_conversion_options +{ + uint8_t version; + + // --- version 1 options + + enum heif_chroma_downsampling_algorithm preferred_chroma_downsampling_algorithm; + enum heif_chroma_upsampling_algorithm preferred_chroma_upsampling_algorithm; + + // When set to 'false' libheif may also use a different algorithm if the preferred one is not available + // or using a different algorithm is computationally less complex. Note that currently (v1.17.0) this + // means that for RGB input it will usually choose nearest-neighbor sampling because this is computationally + // the simplest. + // Set this field to 'true' if you want to make sure that the specified algorithm is used even + // at the cost of slightly higher computation times. + uint8_t only_use_preferred_chroma_algorithm; +}; + + +struct heif_decoding_options +{ + uint8_t version; + + // version 1 options + + // Ignore geometric transformations like cropping, rotation, mirroring. + // Default: false (do not ignore). + uint8_t ignore_transformations; + + void (* start_progress)(enum heif_progress_step step, int max_progress, void* progress_user_data); + + void (* on_progress)(enum heif_progress_step step, int progress, void* progress_user_data); + + void (* end_progress)(enum heif_progress_step step, void* progress_user_data); + + void* progress_user_data; + + // version 2 options + + uint8_t convert_hdr_to_8bit; + + // version 3 options + + // When enabled, an error is returned for invalid input. Otherwise, it will try its best and + // add decoding warnings to the decoded heif_image. Default is non-strict. + uint8_t strict_decoding; + + // version 4 options + + // name_id of the decoder to use for the decoding. + // If set to NULL (default), the highest priority decoder is chosen. + // The priority is defined in the plugin. + const char* decoder_id; + + + // version 5 options + + struct heif_color_conversion_options color_conversion_options; +}; + + +// Allocate decoding options and fill with default values. +// Note: you should always get the decoding options through this function since the +// option structure may grow in size in future versions. +LIBHEIF_API +struct heif_decoding_options* heif_decoding_options_alloc(void); + +LIBHEIF_API +void heif_decoding_options_free(struct heif_decoding_options*); + +// Decode an heif_image_handle into the actual pixel image and also carry out +// all geometric transformations specified in the HEIF file (rotation, cropping, mirroring). +// +// If colorspace or chroma is set to heif_colorspace_undefined or heif_chroma_undefined, +// respectively, the original colorspace is taken. +// Decoding options may be NULL. If you want to supply options, always use +// heif_decoding_options_alloc() to get the structure. +LIBHEIF_API +struct heif_error heif_decode_image(const struct heif_image_handle* in_handle, + struct heif_image** out_img, + enum heif_colorspace colorspace, + enum heif_chroma chroma, + const struct heif_decoding_options* options); + +// Get the colorspace format of the image. +LIBHEIF_API +enum heif_colorspace heif_image_get_colorspace(const struct heif_image*); + +// Get the chroma format of the image. +LIBHEIF_API +enum heif_chroma heif_image_get_chroma_format(const struct heif_image*); + +/** + * Get the width of a specified image channel. + * + * @param img the image to get the width for + * @param channel the channel to select + * @return the width of the channel in pixels, or -1 the channel does not exist in the image + */ +LIBHEIF_API +int heif_image_get_width(const struct heif_image* img, enum heif_channel channel); + +/** + * Get the height of a specified image channel. + * + * @param img the image to get the height for + * @param channel the channel to select + * @return the height of the channel in pixels, or -1 the channel does not exist in the image + */ +LIBHEIF_API +int heif_image_get_height(const struct heif_image* img, enum heif_channel channel); + +/** + * Get the width of the main channel. + * + * This is the Y channel in YCbCr or mono, or any in RGB. + * + * @param img the image to get the primary width for + * @return the width in pixels + */ +LIBHEIF_API +int heif_image_get_primary_width(const struct heif_image* img); + +/** + * Get the height of the main channel. + * + * This is the Y channel in YCbCr or mono, or any in RGB. + * + * @param img the image to get the primary height for + * @return the height in pixels + */ +LIBHEIF_API +int heif_image_get_primary_height(const struct heif_image* img); + +LIBHEIF_API +struct heif_error heif_image_crop(struct heif_image* img, + int left, int right, int top, int bottom); + +// Get the number of bits per pixel in the given image channel. Returns -1 if +// a non-existing channel was given. +// Note that the number of bits per pixel may be different for each color channel. +// This function returns the number of bits used for storage of each pixel. +// Especially for HDR images, this is probably not what you want. Have a look at +// heif_image_get_bits_per_pixel_range() instead. +LIBHEIF_API +int heif_image_get_bits_per_pixel(const struct heif_image*, enum heif_channel channel); + + +// Get the number of bits per pixel in the given image channel. This function returns +// the number of bits used for representing the pixel value, which might be smaller +// than the number of bits used in memory. +// For example, in 12bit HDR images, this function returns '12', while still 16 bits +// are reserved for storage. For interleaved RGBA with 12 bit, this function also returns +// '12', not '48' or '64' (heif_image_get_bits_per_pixel returns 64 in this case). +LIBHEIF_API +int heif_image_get_bits_per_pixel_range(const struct heif_image*, enum heif_channel channel); + +LIBHEIF_API +int heif_image_has_channel(const struct heif_image*, enum heif_channel channel); + +// Get a pointer to the actual pixel data. +// The 'out_stride' is returned as "bytes per line". +// When out_stride is NULL, no value will be written. +// Returns NULL if a non-existing channel was given. +LIBHEIF_API +const uint8_t* heif_image_get_plane_readonly(const struct heif_image*, + enum heif_channel channel, + int* out_stride); + +LIBHEIF_API +uint8_t* heif_image_get_plane(struct heif_image*, + enum heif_channel channel, + int* out_stride); + + +struct heif_scaling_options; + +// Currently, heif_scaling_options is not defined yet. Pass a NULL pointer. +LIBHEIF_API +struct heif_error heif_image_scale_image(const struct heif_image* input, + struct heif_image** output, + int width, int height, + const struct heif_scaling_options* options); + +// The color profile is not attached to the image handle because we might need it +// for color space transform and encoding. +LIBHEIF_API +struct heif_error heif_image_set_raw_color_profile(struct heif_image* image, + const char* profile_type_fourcc_string, + const void* profile_data, + const size_t profile_size); + +LIBHEIF_API +struct heif_error heif_image_set_nclx_color_profile(struct heif_image* image, + const struct heif_color_profile_nclx* color_profile); + + +// TODO: this function does not make any sense yet, since we currently cannot modify existing HEIF files. +//LIBHEIF_API +//void heif_image_remove_color_profile(struct heif_image* image); + +// Fills the image decoding warnings into the provided 'out_warnings' array. +// The size of the array has to be provided in max_output_buffer_entries. +// If max_output_buffer_entries==0, the number of decoder warnings is returned. +// The function fills the warnings into the provided buffer, starting with 'first_warning_idx'. +// It returns the number of warnings filled into the buffer. +// Note: you can iterate through all warnings by using 'max_output_buffer_entries=1' and iterate 'first_warning_idx'. +LIBHEIF_API +int heif_image_get_decoding_warnings(struct heif_image* image, + int first_warning_idx, + struct heif_error* out_warnings, + int max_output_buffer_entries); + +// This function is only for decoder plugin implementors. +LIBHEIF_API +void heif_image_add_decoding_warning(struct heif_image* image, + struct heif_error err); + +// Release heif_image. +LIBHEIF_API +void heif_image_release(const struct heif_image*); + + +// Note: a value of 0 for any of these values indicates that the value is undefined. +// The unit of these values is Candelas per square meter. +struct heif_content_light_level +{ + uint16_t max_content_light_level; + uint16_t max_pic_average_light_level; +}; + +LIBHEIF_API +int heif_image_has_content_light_level(const struct heif_image*); + +LIBHEIF_API +void heif_image_get_content_light_level(const struct heif_image*, struct heif_content_light_level* out); + +LIBHEIF_API +void heif_image_set_content_light_level(const struct heif_image*, const struct heif_content_light_level* in); + + +// Note: color coordinates are defined according to the CIE 1931 definition of x as specified in ISO 11664-1 (see also ISO 11664-3 and CIE 15). +struct heif_mastering_display_colour_volume +{ + uint16_t display_primaries_x[3]; + uint16_t display_primaries_y[3]; + uint16_t white_point_x; + uint16_t white_point_y; + uint32_t max_display_mastering_luminance; + uint32_t min_display_mastering_luminance; +}; + +// The units for max_display_mastering_luminance and min_display_mastering_luminance is Candelas per square meter. +struct heif_decoded_mastering_display_colour_volume +{ + float display_primaries_x[3]; + float display_primaries_y[3]; + float white_point_x; + float white_point_y; + double max_display_mastering_luminance; + double min_display_mastering_luminance; +}; + +LIBHEIF_API +int heif_image_has_mastering_display_colour_volume(const struct heif_image*); + +LIBHEIF_API +void heif_image_get_mastering_display_colour_volume(const struct heif_image*, struct heif_mastering_display_colour_volume* out); + +LIBHEIF_API +void heif_image_set_mastering_display_colour_volume(const struct heif_image*, const struct heif_mastering_display_colour_volume* in); + +// Converts the internal numeric representation of heif_mastering_display_colour_volume to the +// normalized values, collected in heif_decoded_mastering_display_colour_volume. +// Values that are out-of-range are decoded to 0, indicating an undefined value (as specified in ISO/IEC 23008-2). +LIBHEIF_API +struct heif_error heif_mastering_display_colour_volume_decode(const struct heif_mastering_display_colour_volume* in, + struct heif_decoded_mastering_display_colour_volume* out); + +LIBHEIF_API +void heif_image_get_pixel_aspect_ratio(const struct heif_image*, uint32_t* aspect_h, uint32_t* aspect_v); + +LIBHEIF_API +void heif_image_set_pixel_aspect_ratio(struct heif_image*, uint32_t aspect_h, uint32_t aspect_v); + +// ==================================================================================================== +// Encoding API + +LIBHEIF_API +struct heif_error heif_context_write_to_file(struct heif_context*, + const char* filename); + +struct heif_writer +{ + // API version supported by this writer + int writer_api_version; + + // --- version 1 functions --- + struct heif_error (* write)(struct heif_context* ctx, // TODO: why do we need this parameter? + const void* data, + size_t size, + void* userdata); +}; + +LIBHEIF_API +struct heif_error heif_context_write(struct heif_context*, + struct heif_writer* writer, + void* userdata); + + +// ----- encoder ----- + +// The encoder used for actually encoding an image. +struct heif_encoder; + +// A description of the encoder's capabilities and name. +struct heif_encoder_descriptor; + +// A configuration parameter of the encoder. Each encoder implementation may have a different +// set of parameters. For the most common settings (e.q. quality), special functions to set +// the parameters are provided. +struct heif_encoder_parameter; + +struct heif_decoder_descriptor; + +// Get a list of available decoders. You can filter the encoders by compression format. +// Use format_filter==heif_compression_undefined to get all available decoders. +// The returned list of decoders is sorted by their priority (which is a plugin property). +// The number of decoders is returned, which are not more than 'count' if (out_decoders != nullptr). +// By setting out_decoders==nullptr, you can query the number of decoders, 'count' is ignored. +LIBHEIF_API +int heif_get_decoder_descriptors(enum heif_compression_format format_filter, + const struct heif_decoder_descriptor** out_decoders, + int count); + +// Return a long, descriptive name of the decoder (including version information). +LIBHEIF_API +const char* heif_decoder_descriptor_get_name(const struct heif_decoder_descriptor*); + +// Return a short, symbolic name for identifying the decoder. +// This name should stay constant over different decoder versions. +// Note: the returned ID may be NULL for old plugins that don't support this yet. +LIBHEIF_API +const char* heif_decoder_descriptor_get_id_name(const struct heif_decoder_descriptor*); + +// DEPRECATED: use heif_get_encoder_descriptors() instead. +// Get a list of available encoders. You can filter the encoders by compression format and name. +// Use format_filter==heif_compression_undefined and name_filter==NULL as wildcards. +// The returned list of encoders is sorted by their priority (which is a plugin property). +// The number of encoders is returned, which are not more than 'count' if (out_encoders != nullptr). +// By setting out_encoders==nullptr, you can query the number of encoders, 'count' is ignored. +// Note: to get the actual encoder from the descriptors returned here, use heif_context_get_encoder(). +LIBHEIF_API +int heif_context_get_encoder_descriptors(struct heif_context*, // TODO: why do we need this parameter? + enum heif_compression_format format_filter, + const char* name_filter, + const struct heif_encoder_descriptor** out_encoders, + int count); + +// Get a list of available encoders. You can filter the encoders by compression format and name. +// Use format_filter==heif_compression_undefined and name_filter==NULL as wildcards. +// The returned list of encoders is sorted by their priority (which is a plugin property). +// The number of encoders is returned, which are not more than 'count' if (out_encoders != nullptr). +// By setting out_encoders==nullptr, you can query the number of encoders, 'count' is ignored. +// Note: to get the actual encoder from the descriptors returned here, use heif_context_get_encoder(). +LIBHEIF_API +int heif_get_encoder_descriptors(enum heif_compression_format format_filter, + const char* name_filter, + const struct heif_encoder_descriptor** out_encoders, + int count); + +// Return a long, descriptive name of the encoder (including version information). +LIBHEIF_API +const char* heif_encoder_descriptor_get_name(const struct heif_encoder_descriptor*); + +// Return a short, symbolic name for identifying the encoder. +// This name should stay constant over different encoder versions. +LIBHEIF_API +const char* heif_encoder_descriptor_get_id_name(const struct heif_encoder_descriptor*); + +LIBHEIF_API +enum heif_compression_format +heif_encoder_descriptor_get_compression_format(const struct heif_encoder_descriptor*); + +LIBHEIF_API +int heif_encoder_descriptor_supports_lossy_compression(const struct heif_encoder_descriptor*); + +LIBHEIF_API +int heif_encoder_descriptor_supports_lossless_compression(const struct heif_encoder_descriptor*); + + +// Get an encoder instance that can be used to actually encode images from a descriptor. +LIBHEIF_API +struct heif_error heif_context_get_encoder(struct heif_context* context, + const struct heif_encoder_descriptor*, + struct heif_encoder** out_encoder); + +// Quick check whether there is a decoder available for the given format. +// Note that the decoder still may not be able to decode all variants of that format. +// You will have to query that further (todo) or just try to decode and check the returned error. +LIBHEIF_API +int heif_have_decoder_for_format(enum heif_compression_format format); + +// Quick check whether there is an enoder available for the given format. +// Note that the encoder may be limited to a certain subset of features (e.g. only 8 bit, only lossy). +// You will have to query the specific capabilities further. +LIBHEIF_API +int heif_have_encoder_for_format(enum heif_compression_format format); + +// Get an encoder for the given compression format. If there are several encoder plugins +// for this format, the encoder with the highest plugin priority will be returned. +LIBHEIF_API +struct heif_error heif_context_get_encoder_for_format(struct heif_context* context, + enum heif_compression_format format, + struct heif_encoder**); + +// You have to release the encoder after use. +LIBHEIF_API +void heif_encoder_release(struct heif_encoder*); + +// Get the encoder name from the encoder itself. +LIBHEIF_API +const char* heif_encoder_get_name(const struct heif_encoder*); + + +// --- Encoder Parameters --- + +// Libheif supports settings parameters through specialized functions and through +// generic functions by parameter name. Sometimes, the same parameter can be set +// in both ways. +// We consider it best practice to use the generic parameter functions only in +// dynamically generated user interfaces, as no guarantees are made that some specific +// parameter names are supported by all plugins. + + +// Set a 'quality' factor (0-100). How this is mapped to actual encoding parameters is +// encoder dependent. +LIBHEIF_API +struct heif_error heif_encoder_set_lossy_quality(struct heif_encoder*, int quality); + +LIBHEIF_API +struct heif_error heif_encoder_set_lossless(struct heif_encoder*, int enable); + +// level should be between 0 (= none) to 4 (= full) +LIBHEIF_API +struct heif_error heif_encoder_set_logging_level(struct heif_encoder*, int level); + +// Get a generic list of encoder parameters. +// Each encoder may define its own, additional set of parameters. +// You do not have to free the returned list. +LIBHEIF_API +const struct heif_encoder_parameter* const* heif_encoder_list_parameters(struct heif_encoder*); + +// Return the parameter name. +LIBHEIF_API +const char* heif_encoder_parameter_get_name(const struct heif_encoder_parameter*); + + +enum heif_encoder_parameter_type +{ + heif_encoder_parameter_type_integer = 1, + heif_encoder_parameter_type_boolean = 2, + heif_encoder_parameter_type_string = 3 +}; + +// Return the parameter type. +LIBHEIF_API +enum heif_encoder_parameter_type heif_encoder_parameter_get_type(const struct heif_encoder_parameter*); + +// DEPRECATED. Use heif_encoder_parameter_get_valid_integer_values() instead. +LIBHEIF_API +struct heif_error heif_encoder_parameter_get_valid_integer_range(const struct heif_encoder_parameter*, + int* have_minimum_maximum, + int* minimum, int* maximum); + +// If integer is limited by a range, have_minimum and/or have_maximum will be != 0 and *minimum, *maximum is set. +// If integer is limited by a fixed set of values, *num_valid_values will be >0 and *out_integer_array is set. +LIBHEIF_API +struct heif_error heif_encoder_parameter_get_valid_integer_values(const struct heif_encoder_parameter*, + int* have_minimum, int* have_maximum, + int* minimum, int* maximum, + int* num_valid_values, + const int** out_integer_array); + +LIBHEIF_API +struct heif_error heif_encoder_parameter_get_valid_string_values(const struct heif_encoder_parameter*, + const char* const** out_stringarray); + + +LIBHEIF_API +struct heif_error heif_encoder_set_parameter_integer(struct heif_encoder*, + const char* parameter_name, + int value); + +LIBHEIF_API +struct heif_error heif_encoder_get_parameter_integer(struct heif_encoder*, + const char* parameter_name, + int* value); + +// TODO: name should be changed to heif_encoder_get_valid_integer_parameter_range +LIBHEIF_API // DEPRECATED. +struct heif_error heif_encoder_parameter_integer_valid_range(struct heif_encoder*, + const char* parameter_name, + int* have_minimum_maximum, + int* minimum, int* maximum); + +LIBHEIF_API +struct heif_error heif_encoder_set_parameter_boolean(struct heif_encoder*, + const char* parameter_name, + int value); + +LIBHEIF_API +struct heif_error heif_encoder_get_parameter_boolean(struct heif_encoder*, + const char* parameter_name, + int* value); + +LIBHEIF_API +struct heif_error heif_encoder_set_parameter_string(struct heif_encoder*, + const char* parameter_name, + const char* value); + +LIBHEIF_API +struct heif_error heif_encoder_get_parameter_string(struct heif_encoder*, + const char* parameter_name, + char* value, int value_size); + +// returns a NULL-terminated list of valid strings or NULL if all values are allowed +LIBHEIF_API +struct heif_error heif_encoder_parameter_string_valid_values(struct heif_encoder*, + const char* parameter_name, + const char* const** out_stringarray); + +LIBHEIF_API +struct heif_error heif_encoder_parameter_integer_valid_values(struct heif_encoder*, + const char* parameter_name, + int* have_minimum, int* have_maximum, + int* minimum, int* maximum, + int* num_valid_values, + const int** out_integer_array); + +// Set a parameter of any type to the string value. +// Integer values are parsed from the string. +// Boolean values can be "true"/"false"/"1"/"0" +// +// x265 encoder specific note: +// When using the x265 encoder, you may pass any of its parameters by +// prefixing the parameter name with 'x265:'. Hence, to set the 'ctu' parameter, +// you will have to set 'x265:ctu' in libheif. +// Note that there is no checking for valid parameters when using the prefix. +LIBHEIF_API +struct heif_error heif_encoder_set_parameter(struct heif_encoder*, + const char* parameter_name, + const char* value); + +// Get the current value of a parameter of any type as a human readable string. +// The returned string is compatible with heif_encoder_set_parameter(). +LIBHEIF_API +struct heif_error heif_encoder_get_parameter(struct heif_encoder*, + const char* parameter_name, + char* value_ptr, int value_size); + +// Query whether a specific parameter has a default value. +LIBHEIF_API +int heif_encoder_has_default(struct heif_encoder*, + const char* parameter_name); + + +// The orientation values are defined equal to the EXIF Orientation tag. +enum heif_orientation +{ + heif_orientation_normal = 1, + heif_orientation_flip_horizontally = 2, + heif_orientation_rotate_180 = 3, + heif_orientation_flip_vertically = 4, + heif_orientation_rotate_90_cw_then_flip_horizontally = 5, + heif_orientation_rotate_90_cw = 6, + heif_orientation_rotate_90_cw_then_flip_vertically = 7, + heif_orientation_rotate_270_cw = 8 +}; + + +struct heif_encoding_options +{ + uint8_t version; + + // version 1 options + + uint8_t save_alpha_channel; // default: true + + // version 2 options + + // DEPRECATED. This option is not required anymore. Its value will be ignored. + uint8_t macOS_compatibility_workaround; + + // version 3 options + + uint8_t save_two_colr_boxes_when_ICC_and_nclx_available; // default: false + + // version 4 options + + // Set this to the NCLX parameters to be used in the output image or set to NULL + // when the same parameters as in the input image should be used. + struct heif_color_profile_nclx* output_nclx_profile; + + uint8_t macOS_compatibility_workaround_no_nclx_profile; + + // version 5 options + + // libheif will generate irot/imir boxes to match these orientations + enum heif_orientation image_orientation; + + // version 6 options + + struct heif_color_conversion_options color_conversion_options; +}; + +LIBHEIF_API +struct heif_encoding_options* heif_encoding_options_alloc(void); + +LIBHEIF_API +void heif_encoding_options_free(struct heif_encoding_options*); + + +// Compress the input image. +// Returns a handle to the coded image in 'out_image_handle' unless out_image_handle = NULL. +// 'options' should be NULL for now. +// The first image added to the context is also automatically set the primary image, but +// you can change the primary image later with heif_context_set_primary_image(). +LIBHEIF_API +struct heif_error heif_context_encode_image(struct heif_context*, + const struct heif_image* image, + struct heif_encoder* encoder, + const struct heif_encoding_options* options, + struct heif_image_handle** out_image_handle); + +LIBHEIF_API +struct heif_error heif_context_set_primary_image(struct heif_context*, + struct heif_image_handle* image_handle); + +// Encode the 'image' as a scaled down thumbnail image. +// The image is scaled down to fit into a square area of width 'bbox_size'. +// If the input image is already so small that it fits into this bounding box, no thumbnail +// image is encoded and NULL is returned in 'out_thumb_image_handle'. +// No error is returned in this case. +// The encoded thumbnail is automatically assigned to the 'master_image_handle'. Hence, you +// do not have to call heif_context_assign_thumbnail(). +LIBHEIF_API +struct heif_error heif_context_encode_thumbnail(struct heif_context*, + const struct heif_image* image, + const struct heif_image_handle* master_image_handle, + struct heif_encoder* encoder, + const struct heif_encoding_options* options, + int bbox_size, + struct heif_image_handle** out_thumb_image_handle); + +enum heif_metadata_compression +{ + heif_metadata_compression_off, + heif_metadata_compression_auto, + heif_metadata_compression_deflate +}; + +// Assign 'thumbnail_image' as the thumbnail image of 'master_image'. +LIBHEIF_API +struct heif_error heif_context_assign_thumbnail(struct heif_context*, + const struct heif_image_handle* master_image, + const struct heif_image_handle* thumbnail_image); + +// Add EXIF metadata to an image. +LIBHEIF_API +struct heif_error heif_context_add_exif_metadata(struct heif_context*, + const struct heif_image_handle* image_handle, + const void* data, int size); + +// Add XMP metadata to an image. +LIBHEIF_API +struct heif_error heif_context_add_XMP_metadata(struct heif_context*, + const struct heif_image_handle* image_handle, + const void* data, int size); + +// New version of heif_context_add_XMP_metadata() with data compression (experimental). +LIBHEIF_API +struct heif_error heif_context_add_XMP_metadata2(struct heif_context*, + const struct heif_image_handle* image_handle, + const void* data, int size, + enum heif_metadata_compression compression); + +// Add generic, proprietary metadata to an image. You have to specify an 'item_type' that will +// identify your metadata. 'content_type' can be an additional type, or it can be NULL. +// For example, this function can be used to add IPTC metadata (IIM stream, not XMP) to an image. +// Although not standard, we propose to store IPTC data with item type="iptc", content_type=NULL. +LIBHEIF_API +struct heif_error heif_context_add_generic_metadata(struct heif_context* ctx, + const struct heif_image_handle* image_handle, + const void* data, int size, + const char* item_type, const char* content_type); + +// --- heif_image allocation + +// Create a new image of the specified resolution and colorspace. +// Note: no memory for the actual image data is reserved yet. You have to use +// heif_image_add_plane() to add the image planes required by your colorspace/chroma. +LIBHEIF_API +struct heif_error heif_image_create(int width, int height, + enum heif_colorspace colorspace, + enum heif_chroma chroma, + struct heif_image** out_image); + +// The indicated bit_depth corresponds to the bit depth per channel. +// I.e. for interleaved formats like RRGGBB, the bit_depth would be, e.g., 10 bit instead +// of 30 bits or 3*16=48 bits. +// For backward compatibility, one can also specify 24bits for RGB and 32bits for RGBA, +// instead of the preferred 8 bits. +LIBHEIF_API +struct heif_error heif_image_add_plane(struct heif_image* image, + enum heif_channel channel, + int width, int height, int bit_depth); + +// Signal that the image is premultiplied by the alpha pixel values. +LIBHEIF_API +void heif_image_set_premultiplied_alpha(struct heif_image* image, + int is_premultiplied_alpha); + +LIBHEIF_API +int heif_image_is_premultiplied_alpha(struct heif_image* image); + +// This function extends the padding of the image so that it has at least the given physical size. +// The padding border is filled with the pixels along the right/bottom border. +// This function may be useful if you want to process the image, but have some external padding requirements. +// The image size will not be modified if it is already larger/equal than the given physical size. +// I.e. you cannot assume that after calling this function, the stride will be equal to min_physical_width. +LIBHEIF_API +struct heif_error heif_image_extend_padding_to_size(struct heif_image* image, int min_physical_width, int min_physical_height); + + + +// --- register plugins + +struct heif_decoder_plugin; +struct heif_encoder_plugin; + +// DEPRECATED. Use heif_register_decoder_plugin(const struct heif_decoder_plugin*) instead. +LIBHEIF_API +struct heif_error heif_register_decoder(struct heif_context* heif, const struct heif_decoder_plugin*); + +LIBHEIF_API +struct heif_error heif_register_decoder_plugin(const struct heif_decoder_plugin*); + +LIBHEIF_API +struct heif_error heif_register_encoder_plugin(const struct heif_encoder_plugin*); + +// DEPRECATED, typo in function name +LIBHEIF_API +int heif_encoder_descriptor_supportes_lossy_compression(const struct heif_encoder_descriptor*); + +// DEPRECATED, typo in function name +LIBHEIF_API +int heif_encoder_descriptor_supportes_lossless_compression(const struct heif_encoder_descriptor*); + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/vcpkg/installed/x64-osx/include/libheif/heif_cxx.h b/vcpkg/installed/x64-osx/include/libheif/heif_cxx.h new file mode 100644 index 0000000..311ed54 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/libheif/heif_cxx.h @@ -0,0 +1,1362 @@ +/* + * C++ interface to libheif + * Copyright (c) 2018 Dirk Farin + * + * This file is part of libheif. + * + * libheif is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. + * + * libheif is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with libheif. If not, see . + */ + +#ifndef LIBHEIF_HEIF_CXX_H +#define LIBHEIF_HEIF_CXX_H + +#include +#include +#include +#include + +extern "C" { +#include +} + + +namespace heif { + + class Error + { + public: + Error() + { + m_code = heif_error_Ok; + m_subcode = heif_suberror_Unspecified; + m_message = "Ok"; + } + + Error(const heif_error& err) + { + assert(err.message); + + m_code = err.code; + m_subcode = err.subcode; + m_message = err.message; + } + + Error(heif_error_code code, heif_suberror_code subcode, const std::string& msg) + { + m_code = code; + m_subcode = subcode; + m_message = msg; + } + + const std::string& get_message() const + { return m_message; } + + heif_error_code get_code() const + { return m_code; } + + heif_suberror_code get_subcode() const + { return m_subcode; } + + operator bool() const + { return m_code != heif_error_Ok; } + + private: + heif_error_code m_code; + heif_suberror_code m_subcode; + std::string m_message; + }; + + + class ImageHandle; + + class Image; + + class Encoder; + + class EncoderParameter; + + class EncoderDescriptor; + + + class Context + { + public: + Context(); + + class ReadingOptions + { + }; + + // throws Error + void read_from_file(const std::string& filename, const ReadingOptions& opts = ReadingOptions()); + + // DEPRECATED. Use read_from_memory_without_copy() instead. + // throws Error + void read_from_memory(const void* mem, size_t size, const ReadingOptions& opts = ReadingOptions()); + + // throws Error + void read_from_memory_without_copy(const void* mem, size_t size, const ReadingOptions& opts = ReadingOptions()); + + class Reader + { + public: + virtual ~Reader() = default; + + virtual int64_t get_position() const = 0; + + virtual int read(void* data, size_t size) = 0; + + virtual int seek(int64_t position) = 0; + + virtual heif_reader_grow_status wait_for_file_size(int64_t target_size) = 0; + }; + + // throws Error + void read_from_reader(Reader&, const ReadingOptions& opts = ReadingOptions()); + + int get_number_of_top_level_images() const noexcept; + + bool is_top_level_image_ID(heif_item_id id) const noexcept; + + std::vector get_list_of_top_level_image_IDs() const noexcept; + + // throws Error + heif_item_id get_primary_image_ID() const; + + // throws Error + ImageHandle get_primary_image_handle() const; + + ImageHandle get_image_handle(heif_item_id id) const; + + + class EncodingOptions : public heif_encoding_options + { + public: + EncodingOptions(); + }; + + // throws Error + ImageHandle encode_image(const Image& img, Encoder& encoder, + const EncodingOptions& options = EncodingOptions()); + + // throws Error + void set_primary_image(ImageHandle& new_primary_image_handle); + + // throws Error + ImageHandle encode_thumbnail(const Image& image, + const ImageHandle& master_image, + Encoder& encoder, + const EncodingOptions&, + int bbox_size); + + // throws Error + void assign_thumbnail(const ImageHandle& thumbnail_image, + const ImageHandle& master_image); + + // throws Error + void add_exif_metadata(const ImageHandle& master_image, + const void* data, int size); + + // throws Error + void add_XMP_metadata(const ImageHandle& master_image, + const void* data, int size); + + class Writer + { + public: + virtual ~Writer() = default; + + virtual heif_error write(const void* data, size_t size) = 0; + }; + + // throws Error + void write(Writer&); + + // throws Error + void write_to_file(const std::string& filename) const; + + private: + std::shared_ptr m_context; + + friend struct ::heif_error heif_writer_trampoline_write(struct heif_context* ctx, + const void* data, + size_t size, + void* userdata); + + //static Context wrap_without_releasing(heif_context*); // internal use in friend function only + }; + + + class ImageHandle + { + public: + ImageHandle() = default; + + ImageHandle(heif_image_handle* handle); + + bool empty() const noexcept + { return !m_image_handle; } + + bool is_primary_image() const noexcept; + + int get_width() const noexcept; + + int get_height() const noexcept; + + bool has_alpha_channel() const noexcept; + + bool is_premultiplied_alpha() const noexcept; + + int get_luma_bits_per_pixel() const noexcept; + + int get_chroma_bits_per_pixel() const noexcept; + + int get_ispe_width() const noexcept; + + int get_ispe_height() const noexcept; + + // ------------------------- depth images ------------------------- + + // TODO + + // ------------------------- thumbnails ------------------------- + + int get_number_of_thumbnails() const noexcept; + + std::vector get_list_of_thumbnail_IDs() const noexcept; + + // throws Error + ImageHandle get_thumbnail(heif_item_id id); + + // ------------------------- metadata (Exif / XMP) ------------------------- + + // Can optionally be filtered by type ("Exif" / "XMP") + std::vector get_list_of_metadata_block_IDs(const char* type_filter = nullptr) const noexcept; + + std::string get_metadata_type(heif_item_id metadata_id) const noexcept; + + std::string get_metadata_content_type(heif_item_id metadata_id) const noexcept; + + // throws error + std::vector get_metadata(heif_item_id) const; + + + class DecodingOptions + { + }; + + // throws Error + Image decode_image(heif_colorspace colorspace, heif_chroma chroma, + const DecodingOptions& options = DecodingOptions()); + + + heif_image_handle* get_raw_image_handle() noexcept + { return m_image_handle.get(); } + + const heif_image_handle* get_raw_image_handle() const noexcept + { return m_image_handle.get(); } + + private: + std::shared_ptr m_image_handle; + }; + + + class ColorProfile_nclx + { + public: + ColorProfile_nclx(); + + ~ColorProfile_nclx(); + + heif_color_primaries get_color_primaries() const; + + heif_transfer_characteristics get_transfer_characteristics() const; + + heif_matrix_coefficients get_matrix_coefficients() const; + + bool is_full_range() const; + + void set_color_primaries(heif_color_primaries cp); + + // DEPRECATED: typo in function name. Use set_color_primaries() instead. + void set_color_primaties(heif_color_primaries cp); + + void set_transfer_characteristics(heif_transfer_characteristics tc); + + void set_matrix_coefficients(heif_matrix_coefficients mc); + + void set_full_range_flag(bool is_full_range); + + private: + ColorProfile_nclx(heif_color_profile_nclx* nclx) + { mProfile = nclx; } + + heif_color_profile_nclx* mProfile; + + friend class Image; + }; + + + class Image + { + public: + Image() = default; + + Image(heif_image* image); + + + // throws Error + void create(int width, int height, + enum heif_colorspace colorspace, + enum heif_chroma chroma); + + // throws Error + void add_plane(enum heif_channel channel, + int width, int height, int bit_depth); + + heif_colorspace get_colorspace() const noexcept; + + heif_chroma get_chroma_format() const noexcept; + + int get_width(enum heif_channel channel) const noexcept; + + int get_height(enum heif_channel channel) const noexcept; + + int get_bits_per_pixel(enum heif_channel channel) const noexcept; + + int get_bits_per_pixel_range(enum heif_channel channel) const noexcept; + + bool has_channel(enum heif_channel channel) const noexcept; + + const uint8_t* get_plane(enum heif_channel channel, int* out_stride) const noexcept; + + uint8_t* get_plane(enum heif_channel channel, int* out_stride) noexcept; + + // throws Error + void set_nclx_color_profile(const ColorProfile_nclx&); + + // throws Error + ColorProfile_nclx get_nclx_color_profile() const; + + heif_color_profile_type get_color_profile_type() const; + + // throws Error + std::vector get_raw_color_profile() const; + + void set_raw_color_profile(heif_color_profile_type type, + const std::vector& data); + + bool is_premultiplied_alpha() const noexcept; + + void set_premultiplied_alpha(bool is_premultiplied_alpha) noexcept; + + class ScalingOptions + { + }; + + // throws Error + Image scale_image(int width, int height, + const ScalingOptions& options = ScalingOptions()) const; + + private: + std::shared_ptr m_image; + + friend class Context; + }; + + + class EncoderDescriptor + { + public: + static std::vector + get_encoder_descriptors(enum heif_compression_format format_filter, + const char* name_filter) noexcept; + + std::string get_name() const noexcept; + + std::string get_id_name() const noexcept; + + enum heif_compression_format get_compression_format() const noexcept; + + // DEPRECATED: typo in function name + bool supportes_lossy_compression() const noexcept; + + // DEPRECATED: typo in function name + bool supportes_lossless_compression() const noexcept; + + + // throws Error + Encoder get_encoder() const; + + bool supports_lossy_compression() const noexcept; + + bool supports_lossless_compression() const noexcept; + + private: + EncoderDescriptor(const struct heif_encoder_descriptor* descr) : m_descriptor(descr) + {} + + const struct heif_encoder_descriptor* m_descriptor = nullptr; + }; + + + class EncoderParameter + { + public: + std::string get_name() const noexcept; + + enum heif_encoder_parameter_type get_type() const noexcept; + + bool is_integer() const noexcept; + + // Returns 'true' if the integer range is limited. + bool get_valid_integer_range(int& out_minimum, int& out_maximum); + + bool is_boolean() const noexcept; + + bool is_string() const noexcept; + + std::vector get_valid_string_values() const; + + private: + EncoderParameter(const heif_encoder_parameter*); + + const struct heif_encoder_parameter* m_parameter; + + friend class Encoder; + }; + + + class Encoder + { + public: + // throws Error + Encoder(enum heif_compression_format format); + + // throws Error + void set_lossy_quality(int quality); + + // throws Error + void set_lossless(bool enable_lossless); + + std::vector list_parameters() const noexcept; + + void set_integer_parameter(const std::string& parameter_name, int value); + + int get_integer_parameter(const std::string& parameter_name) const; + + void set_boolean_parameter(const std::string& parameter_name, bool value); + + bool get_boolean_parameter(const std::string& parameter_name) const; + + void set_string_parameter(const std::string& parameter_name, const std::string& value); + + std::string get_string_parameter(const std::string& parameter_name) const; + + void set_parameter(const std::string& parameter_name, const std::string& parameter_value); + + std::string get_parameter(const std::string& parameter_name) const; + + private: + Encoder(struct heif_encoder*) noexcept; + + std::shared_ptr m_encoder; + + friend class EncoderDescriptor; + + friend class Context; + }; + + + // ========================================================================================== + // IMPLEMENTATION + // ========================================================================================== + + inline Context::Context() + { + heif_context* ctx = heif_context_alloc(); + m_context = std::shared_ptr(ctx, + [](heif_context* c) { heif_context_free(c); }); + } + + inline void Context::read_from_file(const std::string& filename, const ReadingOptions& /*opts*/) + { + Error err = Error(heif_context_read_from_file(m_context.get(), filename.c_str(), NULL)); + if (err) { + throw err; + } + } + + inline void Context::read_from_memory(const void* mem, size_t size, const ReadingOptions& /*opts*/) + { + Error err = Error(heif_context_read_from_memory(m_context.get(), mem, size, NULL)); + if (err) { + throw err; + } + } + + inline void Context::read_from_memory_without_copy(const void* mem, size_t size, const ReadingOptions& /*opts*/) + { + Error err = Error(heif_context_read_from_memory_without_copy(m_context.get(), mem, size, NULL)); + if (err) { + throw err; + } + } + + + inline int64_t heif_reader_trampoline_get_position(void* userdata) + { + Context::Reader* reader = (Context::Reader*) userdata; + return reader->get_position(); + } + + inline int heif_reader_trampoline_read(void* data, size_t size, void* userdata) + { + Context::Reader* reader = (Context::Reader*) userdata; + return reader->read(data, size); + } + + inline int heif_reader_trampoline_seek(int64_t position, void* userdata) + { + Context::Reader* reader = (Context::Reader*) userdata; + return reader->seek(position); + } + + inline heif_reader_grow_status heif_reader_trampoline_wait_for_file_size(int64_t target_size, void* userdata) + { + Context::Reader* reader = (Context::Reader*) userdata; + return reader->wait_for_file_size(target_size); + } + + + static struct heif_reader heif_reader_trampoline = + { + 1, + heif_reader_trampoline_get_position, + heif_reader_trampoline_read, + heif_reader_trampoline_seek, + heif_reader_trampoline_wait_for_file_size + }; + + inline void Context::read_from_reader(Reader& reader, const ReadingOptions& /*opts*/) + { + Error err = Error(heif_context_read_from_reader(m_context.get(), &heif_reader_trampoline, + &reader, NULL)); + if (err) { + throw err; + } + } + + + inline int Context::get_number_of_top_level_images() const noexcept + { + return heif_context_get_number_of_top_level_images(m_context.get()); + } + + inline bool Context::is_top_level_image_ID(heif_item_id id) const noexcept + { + return heif_context_is_top_level_image_ID(m_context.get(), id); + } + + inline std::vector Context::get_list_of_top_level_image_IDs() const noexcept + { + int num = get_number_of_top_level_images(); + std::vector IDs(num); + heif_context_get_list_of_top_level_image_IDs(m_context.get(), IDs.data(), num); + return IDs; + } + + inline heif_item_id Context::get_primary_image_ID() const + { + heif_item_id id; + Error err = Error(heif_context_get_primary_image_ID(m_context.get(), &id)); + if (err) { + throw err; + } + return id; + } + + inline ImageHandle Context::get_primary_image_handle() const + { + heif_image_handle* handle; + Error err = Error(heif_context_get_primary_image_handle(m_context.get(), &handle)); + if (err) { + throw err; + } + + return ImageHandle(handle); + } + + inline ImageHandle Context::get_image_handle(heif_item_id id) const + { + struct heif_image_handle* handle; + Error err = Error(heif_context_get_image_handle(m_context.get(), id, &handle)); + if (err) { + throw err; + } + return ImageHandle(handle); + } + +#if 0 + inline Context Context::wrap_without_releasing(heif_context* ctx) { + Context context; + context.m_context = std::shared_ptr(ctx, + [] (heif_context*) { /* NOP */ }); + return context; + } +#endif + + inline struct ::heif_error heif_writer_trampoline_write(struct heif_context* ctx, + const void* data, + size_t size, + void* userdata) + { + Context::Writer* writer = (Context::Writer*) userdata; + + (void) ctx; + + //Context context = Context::wrap_without_releasing(ctx); + //return writer->write(context, data, size); + return writer->write(data, size); + } + + static struct heif_writer heif_writer_trampoline = + { + 1, + &heif_writer_trampoline_write + }; + + inline void Context::write(Writer& writer) + { + Error err = Error(heif_context_write(m_context.get(), &heif_writer_trampoline, &writer)); + if (err) { + throw err; + } + } + + inline void Context::write_to_file(const std::string& filename) const + { + Error err = Error(heif_context_write_to_file(m_context.get(), filename.c_str())); + if (err) { + throw err; + } + } + + + inline ImageHandle::ImageHandle(heif_image_handle* handle) + { + if (handle != nullptr) { + m_image_handle = std::shared_ptr(handle, + [](heif_image_handle* h) { heif_image_handle_release(h); }); + } + } + + inline bool ImageHandle::is_primary_image() const noexcept + { + return heif_image_handle_is_primary_image(m_image_handle.get()) != 0; + } + + inline int ImageHandle::get_width() const noexcept + { + return heif_image_handle_get_width(m_image_handle.get()); + } + + inline int ImageHandle::get_height() const noexcept + { + return heif_image_handle_get_height(m_image_handle.get()); + } + + inline bool ImageHandle::has_alpha_channel() const noexcept + { + return heif_image_handle_has_alpha_channel(m_image_handle.get()) != 0; + } + + inline bool ImageHandle::is_premultiplied_alpha() const noexcept + { + return heif_image_handle_is_premultiplied_alpha(m_image_handle.get()) != 0; + } + + inline int ImageHandle::get_luma_bits_per_pixel() const noexcept + { + return heif_image_handle_get_luma_bits_per_pixel(m_image_handle.get()); + } + + inline int ImageHandle::get_chroma_bits_per_pixel() const noexcept + { + return heif_image_handle_get_chroma_bits_per_pixel(m_image_handle.get()); + } + + inline int ImageHandle::get_ispe_width() const noexcept + { + return heif_image_handle_get_ispe_width(m_image_handle.get()); + } + + inline int ImageHandle::get_ispe_height() const noexcept + { + return heif_image_handle_get_ispe_height(m_image_handle.get()); + } + + // ------------------------- depth images ------------------------- + + // TODO + + // ------------------------- thumbnails ------------------------- + + inline int ImageHandle::get_number_of_thumbnails() const noexcept + { + return heif_image_handle_get_number_of_thumbnails(m_image_handle.get()); + } + + inline std::vector ImageHandle::get_list_of_thumbnail_IDs() const noexcept + { + int num = get_number_of_thumbnails(); + std::vector IDs(num); + heif_image_handle_get_list_of_thumbnail_IDs(m_image_handle.get(), IDs.data(), num); + return IDs; + } + + inline ImageHandle ImageHandle::get_thumbnail(heif_item_id id) + { + heif_image_handle* handle; + Error err = Error(heif_image_handle_get_thumbnail(m_image_handle.get(), id, &handle)); + if (err) { + throw err; + } + + return ImageHandle(handle); + } + + inline Image ImageHandle::decode_image(heif_colorspace colorspace, heif_chroma chroma, + const DecodingOptions& /*options*/) + { + heif_image* out_img; + Error err = Error(heif_decode_image(m_image_handle.get(), + &out_img, + colorspace, + chroma, + nullptr)); //const struct heif_decoding_options* options); + if (err) { + throw err; + } + + return Image(out_img); + } + + + inline std::vector ImageHandle::get_list_of_metadata_block_IDs(const char* type_filter) const noexcept + { + int nBlocks = heif_image_handle_get_number_of_metadata_blocks(m_image_handle.get(), + type_filter); + std::vector ids(nBlocks); + int n = heif_image_handle_get_list_of_metadata_block_IDs(m_image_handle.get(), + type_filter, + ids.data(), nBlocks); + (void) n; + //assert(n==nBlocks); + return ids; + } + + inline std::string ImageHandle::get_metadata_type(heif_item_id metadata_id) const noexcept + { + return heif_image_handle_get_metadata_type(m_image_handle.get(), metadata_id); + } + + inline std::string ImageHandle::get_metadata_content_type(heif_item_id metadata_id) const noexcept + { + return heif_image_handle_get_metadata_content_type(m_image_handle.get(), metadata_id); + } + + inline std::vector ImageHandle::get_metadata(heif_item_id metadata_id) const + { + size_t data_size = heif_image_handle_get_metadata_size(m_image_handle.get(), + metadata_id); + + std::vector data(data_size); + + Error err = Error(heif_image_handle_get_metadata(m_image_handle.get(), + metadata_id, + data.data())); + if (err) { + throw err; + } + + return data; + } + + + inline ColorProfile_nclx::ColorProfile_nclx() + { + mProfile = heif_nclx_color_profile_alloc(); + } + + inline ColorProfile_nclx::~ColorProfile_nclx() + { + heif_nclx_color_profile_free(mProfile); + } + + inline heif_color_primaries ColorProfile_nclx::get_color_primaries() const + { return mProfile->color_primaries; } + + inline heif_transfer_characteristics ColorProfile_nclx::get_transfer_characteristics() const + { return mProfile->transfer_characteristics; } + + inline heif_matrix_coefficients ColorProfile_nclx::get_matrix_coefficients() const + { return mProfile->matrix_coefficients; } + + inline bool ColorProfile_nclx::is_full_range() const + { return mProfile->full_range_flag; } + + inline void ColorProfile_nclx::set_color_primaries(heif_color_primaries cp) + { mProfile->color_primaries = cp; } + + inline void ColorProfile_nclx::set_color_primaties(heif_color_primaries cp) + { set_color_primaries(cp); } + + inline void ColorProfile_nclx::set_transfer_characteristics(heif_transfer_characteristics tc) + { mProfile->transfer_characteristics = tc; } + + inline void ColorProfile_nclx::set_matrix_coefficients(heif_matrix_coefficients mc) + { mProfile->matrix_coefficients = mc; } + + inline void ColorProfile_nclx::set_full_range_flag(bool is_full_range) + { mProfile->full_range_flag = is_full_range; } + + + inline Image::Image(heif_image* image) + { + m_image = std::shared_ptr(image, + [](heif_image* h) { heif_image_release(h); }); + } + + + inline void Image::create(int width, int height, + enum heif_colorspace colorspace, + enum heif_chroma chroma) + { + heif_image* image; + Error err = Error(heif_image_create(width, height, colorspace, chroma, &image)); + if (err) { + m_image.reset(); + throw err; + } + else { + m_image = std::shared_ptr(image, + [](heif_image* h) { heif_image_release(h); }); + } + } + + inline void Image::add_plane(enum heif_channel channel, + int width, int height, int bit_depth) + { + Error err = Error(heif_image_add_plane(m_image.get(), channel, width, height, bit_depth)); + if (err) { + throw err; + } + } + + inline heif_colorspace Image::get_colorspace() const noexcept + { + return heif_image_get_colorspace(m_image.get()); + } + + inline heif_chroma Image::get_chroma_format() const noexcept + { + return heif_image_get_chroma_format(m_image.get()); + } + + inline int Image::get_width(enum heif_channel channel) const noexcept + { + return heif_image_get_width(m_image.get(), channel); + } + + inline int Image::get_height(enum heif_channel channel) const noexcept + { + return heif_image_get_height(m_image.get(), channel); + } + + inline int Image::get_bits_per_pixel(enum heif_channel channel) const noexcept + { + return heif_image_get_bits_per_pixel(m_image.get(), channel); + } + + inline int Image::get_bits_per_pixel_range(enum heif_channel channel) const noexcept + { + return heif_image_get_bits_per_pixel_range(m_image.get(), channel); + } + + inline bool Image::has_channel(enum heif_channel channel) const noexcept + { + return heif_image_has_channel(m_image.get(), channel); + } + + inline const uint8_t* Image::get_plane(enum heif_channel channel, int* out_stride) const noexcept + { + return heif_image_get_plane_readonly(m_image.get(), channel, out_stride); + } + + inline uint8_t* Image::get_plane(enum heif_channel channel, int* out_stride) noexcept + { + return heif_image_get_plane(m_image.get(), channel, out_stride); + } + + inline void Image::set_nclx_color_profile(const ColorProfile_nclx& nclx) + { + Error err = Error(heif_image_set_nclx_color_profile(m_image.get(), nclx.mProfile)); + if (err) { + throw err; + } + } + + // throws Error + inline ColorProfile_nclx Image::get_nclx_color_profile() const + { + heif_color_profile_nclx* nclx = nullptr; + Error err = Error(heif_image_get_nclx_color_profile(m_image.get(), &nclx)); + if (err) { + throw err; + } + + return ColorProfile_nclx(nclx); + } + + + inline heif_color_profile_type Image::get_color_profile_type() const + { + return heif_image_get_color_profile_type(m_image.get()); + } + + // throws Error + inline std::vector Image::get_raw_color_profile() const + { + auto size = heif_image_get_raw_color_profile_size(m_image.get()); + std::vector profile(size); + heif_image_get_raw_color_profile(m_image.get(), profile.data()); + return profile; + } + + inline void Image::set_raw_color_profile(heif_color_profile_type type, + const std::vector& data) + { + const char* profile_type = nullptr; + switch (type) { + case heif_color_profile_type_prof: + profile_type = "prof"; + break; + case heif_color_profile_type_rICC: + profile_type = "rICC"; + break; + default: + throw Error(heif_error_code::heif_error_Usage_error, + heif_suberror_Unspecified, + "invalid raw color profile type"); + break; + } + + Error err = Error(heif_image_set_raw_color_profile(m_image.get(), profile_type, + data.data(), data.size())); + if (err) { + throw err; + } + } + + inline bool Image::is_premultiplied_alpha() const noexcept + { + return heif_image_is_premultiplied_alpha(m_image.get()) != 0; + } + + inline void Image::set_premultiplied_alpha(bool is_premultiplied_alpha) noexcept + { + heif_image_set_premultiplied_alpha(m_image.get(), is_premultiplied_alpha); + } + + inline Image Image::scale_image(int width, int height, + const ScalingOptions&) const + { + heif_image* img; + Error err = Error(heif_image_scale_image(m_image.get(), &img, width, height, + nullptr)); // TODO: scaling options not defined yet + if (err) { + throw err; + } + + return Image(img); + } + + + inline std::vector + EncoderDescriptor::get_encoder_descriptors(enum heif_compression_format format_filter, + const char* name_filter) noexcept + { + int maxDescriptors = 10; + int nDescriptors; + for (;;) { + const struct heif_encoder_descriptor** descriptors; + descriptors = new const heif_encoder_descriptor* [maxDescriptors]; + + nDescriptors = heif_context_get_encoder_descriptors(nullptr, + format_filter, + name_filter, + descriptors, + maxDescriptors); + if (nDescriptors < maxDescriptors) { + std::vector outDescriptors; + outDescriptors.reserve(nDescriptors); + for (int i = 0; i < nDescriptors; i++) { + outDescriptors.push_back(EncoderDescriptor(descriptors[i])); + } + + delete[] descriptors; + + return outDescriptors; + } + else { + delete[] descriptors; + maxDescriptors *= 2; + } + } + } + + + inline std::string EncoderDescriptor::get_name() const noexcept + { + return heif_encoder_descriptor_get_name(m_descriptor); + } + + inline std::string EncoderDescriptor::get_id_name() const noexcept + { + return heif_encoder_descriptor_get_id_name(m_descriptor); + } + + inline enum heif_compression_format EncoderDescriptor::get_compression_format() const noexcept + { + return heif_encoder_descriptor_get_compression_format(m_descriptor); + } + + inline bool EncoderDescriptor::supportes_lossy_compression() const noexcept + { + return heif_encoder_descriptor_supports_lossy_compression(m_descriptor); + } + + inline bool EncoderDescriptor::supports_lossy_compression() const noexcept + { + return heif_encoder_descriptor_supports_lossy_compression(m_descriptor); + } + + inline bool EncoderDescriptor::supportes_lossless_compression() const noexcept + { + return heif_encoder_descriptor_supports_lossless_compression(m_descriptor); + } + + inline bool EncoderDescriptor::supports_lossless_compression() const noexcept + { + return heif_encoder_descriptor_supports_lossless_compression(m_descriptor); + } + + inline Encoder EncoderDescriptor::get_encoder() const + { + heif_encoder* encoder; + Error err = Error(heif_context_get_encoder(nullptr, m_descriptor, &encoder)); + if (err) { + throw err; + } + + return Encoder(encoder); + } + + + inline Encoder::Encoder(enum heif_compression_format format) + { + heif_encoder* encoder; + Error err = Error(heif_context_get_encoder_for_format(nullptr, format, &encoder)); + if (err) { + throw err; + } + + m_encoder = std::shared_ptr(encoder, + [](heif_encoder* e) { heif_encoder_release(e); }); + } + + inline Encoder::Encoder(struct heif_encoder* encoder) noexcept + { + m_encoder = std::shared_ptr(encoder, + [](heif_encoder* e) { heif_encoder_release(e); }); + } + + + inline EncoderParameter::EncoderParameter(const heif_encoder_parameter* param) + : m_parameter(param) + { + } + + inline std::string EncoderParameter::get_name() const noexcept + { + return heif_encoder_parameter_get_name(m_parameter); + } + + inline enum heif_encoder_parameter_type EncoderParameter::get_type() const noexcept + { + return heif_encoder_parameter_get_type(m_parameter); + } + + inline bool EncoderParameter::is_integer() const noexcept + { + return get_type() == heif_encoder_parameter_type_integer; + } + + inline bool EncoderParameter::get_valid_integer_range(int& out_minimum, int& out_maximum) + { + int have_minimum_maximum; + Error err = Error(heif_encoder_parameter_get_valid_integer_range(m_parameter, + &have_minimum_maximum, + &out_minimum, &out_maximum)); + if (err) { + throw err; + } + + return have_minimum_maximum; + } + + inline bool EncoderParameter::is_boolean() const noexcept + { + return get_type() == heif_encoder_parameter_type_boolean; + } + + inline bool EncoderParameter::is_string() const noexcept + { + return get_type() == heif_encoder_parameter_type_string; + } + + inline std::vector EncoderParameter::get_valid_string_values() const + { + const char* const* stringarray; + Error err = Error(heif_encoder_parameter_get_valid_string_values(m_parameter, + &stringarray)); + if (err) { + throw err; + } + + std::vector values; + for (int i = 0; stringarray[i]; i++) { + values.push_back(stringarray[i]); + } + + return values; + } + + inline std::vector Encoder::list_parameters() const noexcept + { + std::vector parameters; + + for (const struct heif_encoder_parameter* const* params = heif_encoder_list_parameters(m_encoder.get()); + *params; + params++) { + parameters.push_back(EncoderParameter(*params)); + } + + return parameters; + } + + + inline void Encoder::set_lossy_quality(int quality) + { + Error err = Error(heif_encoder_set_lossy_quality(m_encoder.get(), quality)); + if (err) { + throw err; + } + } + + inline void Encoder::set_lossless(bool enable_lossless) + { + Error err = Error(heif_encoder_set_lossless(m_encoder.get(), enable_lossless)); + if (err) { + throw err; + } + } + + inline void Encoder::set_integer_parameter(const std::string& parameter_name, int value) + { + Error err = Error(heif_encoder_set_parameter_integer(m_encoder.get(), parameter_name.c_str(), value)); + if (err) { + throw err; + } + } + + inline int Encoder::get_integer_parameter(const std::string& parameter_name) const + { + int value; + Error err = Error(heif_encoder_get_parameter_integer(m_encoder.get(), parameter_name.c_str(), &value)); + if (err) { + throw err; + } + return value; + } + + inline void Encoder::set_boolean_parameter(const std::string& parameter_name, bool value) + { + Error err = Error(heif_encoder_set_parameter_boolean(m_encoder.get(), parameter_name.c_str(), value)); + if (err) { + throw err; + } + } + + inline bool Encoder::get_boolean_parameter(const std::string& parameter_name) const + { + int value; + Error err = Error(heif_encoder_get_parameter_boolean(m_encoder.get(), parameter_name.c_str(), &value)); + if (err) { + throw err; + } + return value; + } + + inline void Encoder::set_string_parameter(const std::string& parameter_name, const std::string& value) + { + Error err = Error(heif_encoder_set_parameter_string(m_encoder.get(), parameter_name.c_str(), value.c_str())); + if (err) { + throw err; + } + } + + inline std::string Encoder::get_string_parameter(const std::string& parameter_name) const + { + const int max_size = 250; + char value[max_size]; + Error err = Error(heif_encoder_get_parameter_string(m_encoder.get(), parameter_name.c_str(), + value, max_size)); + if (err) { + throw err; + } + return value; + } + + inline void Encoder::set_parameter(const std::string& parameter_name, const std::string& parameter_value) + { + Error err = Error(heif_encoder_set_parameter(m_encoder.get(), parameter_name.c_str(), + parameter_value.c_str())); + if (err) { + throw err; + } + } + + inline std::string Encoder::get_parameter(const std::string& parameter_name) const + { + const int max_size = 250; + char value[max_size]; + Error err = Error(heif_encoder_get_parameter(m_encoder.get(), parameter_name.c_str(), + value, max_size)); + if (err) { + throw err; + } + return value; + } + + inline void Context::set_primary_image(ImageHandle& new_primary_image_handle) + { + Error err = Error(heif_context_set_primary_image(m_context.get(), + new_primary_image_handle.get_raw_image_handle())); + if (err) { + throw err; + } + } + + + inline Context::EncodingOptions::EncodingOptions() + { + // TODO: this is a bit hacky. It would be better to have an API function to set + // the options to default values. But I do not see any reason for that apart from + // this use-case. + + struct heif_encoding_options* default_options = heif_encoding_options_alloc(); + *static_cast(this) = *default_options; // copy over all options + heif_encoding_options_free(default_options); + } + + + inline ImageHandle Context::encode_image(const Image& img, Encoder& encoder, + const EncodingOptions& options) + { + struct heif_image_handle* image_handle; + + Error err = Error(heif_context_encode_image(m_context.get(), + img.m_image.get(), + encoder.m_encoder.get(), + &options, + &image_handle)); + if (err) { + throw err; + } + + return ImageHandle(image_handle); + } + + + inline ImageHandle Context::encode_thumbnail(const Image& image, + const ImageHandle& master_image_handle, + Encoder& encoder, + const EncodingOptions& options, + int bbox_size) + { + struct heif_image_handle* thumb_image_handle; + + Error err = Error(heif_context_encode_thumbnail(m_context.get(), + image.m_image.get(), + master_image_handle.get_raw_image_handle(), + encoder.m_encoder.get(), + &options, + bbox_size, + &thumb_image_handle)); + if (err) { + throw err; + } + + return ImageHandle(thumb_image_handle); + } + + + inline void Context::assign_thumbnail(const ImageHandle& thumbnail_image, + const ImageHandle& master_image) + { + Error err = Error(heif_context_assign_thumbnail(m_context.get(), + thumbnail_image.get_raw_image_handle(), + master_image.get_raw_image_handle())); + if (err) { + throw err; + } + } + + inline void Context::add_exif_metadata(const ImageHandle& master_image, + const void* data, int size) + { + Error err = Error(heif_context_add_exif_metadata(m_context.get(), + master_image.get_raw_image_handle(), + data, size)); + if (err) { + throw err; + } + } + + inline void Context::add_XMP_metadata(const ImageHandle& master_image, + const void* data, int size) + { + Error err = Error(heif_context_add_XMP_metadata(m_context.get(), + master_image.get_raw_image_handle(), + data, size)); + if (err) { + throw err; + } + } +} + + +#endif diff --git a/vcpkg/installed/x64-osx/include/libheif/heif_plugin.h b/vcpkg/installed/x64-osx/include/libheif/heif_plugin.h new file mode 100644 index 0000000..3a438bf --- /dev/null +++ b/vcpkg/installed/x64-osx/include/libheif/heif_plugin.h @@ -0,0 +1,306 @@ +/* + * HEIF codec. + * Copyright (c) 2017 Dirk Farin + * + * This file is part of libheif. + * + * libheif is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. + * + * libheif is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with libheif. If not, see . + */ + +#ifndef LIBHEIF_HEIF_PLUGIN_H +#define LIBHEIF_HEIF_PLUGIN_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + + +// ==================================================================================================== +// This file is for codec plugin developers only. +// ==================================================================================================== + +// API versions table +// +// release decoder encoder enc.params +// ----------------------------------------- +// 1.0 1 N/A N/A +// 1.1 1 1 1 +// 1.4 1 1 2 +// 1.8 1 2 2 +// 1.13 2 3 2 +// 1.15 3 3 2 + + +// ==================================================================================================== +// Decoder plugin API +// In order to decode images in other formats than HEVC, additional compression codecs can be +// added as plugins. A plugin has to implement the functions specified in heif_decoder_plugin +// and the plugin has to be registered to the libheif library using heif_register_decoder(). + +struct heif_decoder_plugin +{ + // API version supported by this plugin (see table above for supported versions) + int plugin_api_version; + + + // --- version 1 functions --- + + // Human-readable name of the plugin + const char* (* get_plugin_name)(); + + // Global plugin initialization (may be NULL) + void (* init_plugin)(); + + // Global plugin deinitialization (may be NULL) + void (* deinit_plugin)(); + + // Query whether the plugin supports decoding of the given format + // Result is a priority value. The plugin with the largest value wins. + // Default priority is 100. Returning 0 indicates that the plugin cannot decode this format. + int (* does_support_format)(enum heif_compression_format format); + + // Create a new decoder context for decoding an image + struct heif_error (* new_decoder)(void** decoder); + + // Free the decoder context (heif_image can still be used after destruction) + void (* free_decoder)(void* decoder); + + // Push more data into the decoder. This can be called multiple times. + // This may not be called after any decode_*() function has been called. + struct heif_error (* push_data)(void* decoder, const void* data, size_t size); + + + // --- After pushing the data into the decoder, the decode functions may be called only once. + + struct heif_error (* decode_image)(void* decoder, struct heif_image** out_img); + + + // --- version 2 functions will follow below ... --- + + void (*set_strict_decoding)(void* decoder, int flag); + + // If not NULL, this can provide a specialized function to convert YCbCr to sRGB, because + // only the codec itself knows how to interpret the chroma samples and their locations. + /* + struct heif_error (*convert_YCbCr_to_sRGB)(void* decoder, + struct heif_image* in_YCbCr_img, + struct heif_image** out_sRGB_img); + + */ + + // Reset decoder, such that we can feed in new data for another image. + // void (*reset_image)(void* decoder); + + // --- version 3 functions will follow below ... --- + + const char* id_name; + + // --- version 4 functions will follow below ... --- +}; + + +enum heif_encoded_data_type +{ + heif_encoded_data_type_HEVC_header = 1, + heif_encoded_data_type_HEVC_image = 2, + heif_encoded_data_type_HEVC_depth_SEI = 3 +}; + + +// Specifies the class of the input image content. +// The encoder may want to encode different classes with different parameters +// (e.g. always encode alpha lossless) +enum heif_image_input_class +{ + heif_image_input_class_normal = 1, + heif_image_input_class_alpha = 2, + heif_image_input_class_depth = 3, + heif_image_input_class_thumbnail = 4 +}; + + +struct heif_encoder_plugin +{ + // API version supported by this plugin (see table above for supported versions) + int plugin_api_version; + + + // --- version 1 functions --- + + // The compression format generated by this plugin. + enum heif_compression_format compression_format; + + // Short name of the encoder that can be used as command line parameter when selecting an encoder. + // Hence, it should stay stable and not contain any version numbers that will change. + const char* id_name; + + // Default priority is 100. + int priority; + + + // Feature support + int supports_lossy_compression; + int supports_lossless_compression; + + + // Human-readable name of the plugin + const char* (* get_plugin_name)(); + + // Global plugin initialization (may be NULL) + void (* init_plugin)(); + + // Global plugin cleanup (may be NULL). + // Free data that was allocated in init_plugin() + void (* cleanup_plugin)(); + + // Create a new decoder context for decoding an image + struct heif_error (* new_encoder)(void** encoder); + + // Free the decoder context (heif_image can still be used after destruction) + void (* free_encoder)(void* encoder); + + struct heif_error (* set_parameter_quality)(void* encoder, int quality); + + struct heif_error (* get_parameter_quality)(void* encoder, int* quality); + + struct heif_error (* set_parameter_lossless)(void* encoder, int lossless); + + struct heif_error (* get_parameter_lossless)(void* encoder, int* lossless); + + struct heif_error (* set_parameter_logging_level)(void* encoder, int logging); + + struct heif_error (* get_parameter_logging_level)(void* encoder, int* logging); + + const struct heif_encoder_parameter** (* list_parameters)(void* encoder); + + struct heif_error (* set_parameter_integer)(void* encoder, const char* name, int value); + + struct heif_error (* get_parameter_integer)(void* encoder, const char* name, int* value); + + struct heif_error (* set_parameter_boolean)(void* encoder, const char* name, int value); + + struct heif_error (* get_parameter_boolean)(void* encoder, const char* name, int* value); + + struct heif_error (* set_parameter_string)(void* encoder, const char* name, const char* value); + + struct heif_error (* get_parameter_string)(void* encoder, const char* name, char* value, int value_size); + + // Replace the input colorspace/chroma with the one that is supported by the encoder and that + // comes as close to the input colorspace/chroma as possible. + void (* query_input_colorspace)(enum heif_colorspace* inout_colorspace, + enum heif_chroma* inout_chroma); + + // Encode an image. + // After pushing an image into the encoder, you should call get_compressed_data() to + // get compressed data until it returns a NULL data pointer. + struct heif_error (* encode_image)(void* encoder, const struct heif_image* image, + enum heif_image_input_class image_class); + + // Get a packet of decoded data. The data format depends on the codec. + // For HEVC, each packet shall contain exactly one NAL, starting with the NAL header without startcode. + struct heif_error (* get_compressed_data)(void* encoder, uint8_t** data, int* size, + enum heif_encoded_data_type* type); + + + // --- version 2 --- + + void (* query_input_colorspace2)(void* encoder, + enum heif_colorspace* inout_colorspace, + enum heif_chroma* inout_chroma); + + // --- version 3 --- + + // The encoded image size may be different from the input frame size, e.g. because + // of required rounding, or a required minimum size. Use this function to return + // the encoded size for a given input image size. + // You may set this to NULL if no padding is required for any image size. + void (* query_encoded_size)(void* encoder, uint32_t input_width, uint32_t input_height, + uint32_t* encoded_width, uint32_t* encoded_height); + + // --- version 4 functions will follow below ... --- +}; + + +// Names for standard parameters. These should only be used by the encoder plugins. +#define heif_encoder_parameter_name_quality "quality" +#define heif_encoder_parameter_name_lossless "lossless" + +// For use only by the encoder plugins. +// Application programs should use the access functions. +// NOLINTNEXTLINE(clang-analyzer-optin.performance.Padding) +struct heif_encoder_parameter +{ + int version; // current version: 2 + + // --- version 1 fields --- + + const char* name; + enum heif_encoder_parameter_type type; + + union + { + struct + { + int default_value; + + uint8_t have_minimum_maximum; // bool + int minimum; + int maximum; + + int* valid_values; + int num_valid_values; + } integer; + + struct + { + const char* default_value; + + const char* const* valid_values; + } string; // NOLINT + + struct + { + int default_value; + } boolean; + }; + + // --- version 2 fields + + int has_default; +}; + + +extern struct heif_error heif_error_ok; +extern struct heif_error heif_error_unsupported_parameter; +extern struct heif_error heif_error_invalid_parameter_value; + +#define HEIF_WARN_OR_FAIL(strict, image, cmd, cleanupBlock) \ +{ struct heif_error e = cmd; \ + if (e.code != heif_error_Ok) { \ + if (strict) { \ + cleanupBlock \ + return e; \ + } \ + else { \ + heif_image_add_decoding_warning(image, e); \ + } \ + } \ +} +#ifdef __cplusplus +} +#endif + +#endif diff --git a/vcpkg/installed/x64-osx/include/libheif/heif_properties.h b/vcpkg/installed/x64-osx/include/libheif/heif_properties.h new file mode 100644 index 0000000..4ed15c8 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/libheif/heif_properties.h @@ -0,0 +1,138 @@ +/* + * HEIF codec. + * Copyright (c) 2017-2023 Dirk Farin + * + * This file is part of libheif. + * + * libheif is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. + * + * libheif is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with libheif. If not, see . + */ + +#ifndef LIBHEIF_HEIF_PROPERTIES_H +#define LIBHEIF_HEIF_PROPERTIES_H + +#include "libheif/heif.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// ------------------------- item properties ------------------------- + +enum heif_item_property_type +{ +// heif_item_property_unknown = -1, + heif_item_property_type_invalid = 0, + heif_item_property_type_user_description = heif_fourcc('u', 'd', 'e', 's'), + heif_item_property_type_transform_mirror = heif_fourcc('i', 'm', 'i', 'r'), + heif_item_property_type_transform_rotation = heif_fourcc('i', 'r', 'o', 't'), + heif_item_property_type_transform_crop = heif_fourcc('c', 'l', 'a', 'p'), + heif_item_property_type_image_size = heif_fourcc('i', 's', 'p', 'e') +}; + +// Get the heif_property_id for a heif_item_id. +// You may specify which property 'type' you want to receive. +// If you specify 'heif_item_property_type_invalid', all properties associated to that item are returned. +// The number of properties is returned, which are not more than 'count' if (out_list != nullptr). +// By setting out_list==nullptr, you can query the number of properties, 'count' is ignored. +LIBHEIF_API +int heif_item_get_properties_of_type(const struct heif_context* context, + heif_item_id id, + enum heif_item_property_type type, + heif_property_id* out_list, + int count); + +// Returns all transformative properties in the correct order. +// This includes "irot", "imir", "clap". +// The number of properties is returned, which are not more than 'count' if (out_list != nullptr). +// By setting out_list==nullptr, you can query the number of properties, 'count' is ignored. +LIBHEIF_API +int heif_item_get_transformation_properties(const struct heif_context* context, + heif_item_id id, + heif_property_id* out_list, + int count); + +LIBHEIF_API +enum heif_item_property_type heif_item_get_property_type(const struct heif_context* context, + heif_item_id id, + heif_property_id property_id); + +// The strings are managed by libheif. They will be deleted in heif_property_user_description_release(). +struct heif_property_user_description +{ + int version; + + // version 1 + + const char* lang; + const char* name; + const char* description; + const char* tags; +}; + +// Get the "udes" user description property content. +// Undefined strings are returned as empty strings. +LIBHEIF_API +struct heif_error heif_item_get_property_user_description(const struct heif_context* context, + heif_item_id itemId, + heif_property_id propertyId, + struct heif_property_user_description** out); + +// Add a "udes" user description property to the item. +// If any string pointers are NULL, an empty string will be used instead. +LIBHEIF_API +struct heif_error heif_item_add_property_user_description(const struct heif_context* context, + heif_item_id itemId, + const struct heif_property_user_description* description, + heif_property_id* out_propertyId); + +// Release all strings and the object itself. +// Only call for objects that you received from heif_item_get_property_user_description(). +LIBHEIF_API +void heif_property_user_description_release(struct heif_property_user_description*); + +enum heif_transform_mirror_direction +{ + heif_transform_mirror_direction_invalid = -1, + heif_transform_mirror_direction_vertical = 0, // flip image vertically + heif_transform_mirror_direction_horizontal = 1 // flip image horizontally +}; + +// Will return 'heif_transform_mirror_direction_invalid' in case of error. +LIBHEIF_API +enum heif_transform_mirror_direction heif_item_get_property_transform_mirror(const struct heif_context* context, + heif_item_id itemId, + heif_property_id propertyId); + +// Returns only 0, 90, 180, or 270 angle values. +// Returns -1 in case of error (but it will only return an error in case of wrong usage). +LIBHEIF_API +int heif_item_get_property_transform_rotation_ccw(const struct heif_context* context, + heif_item_id itemId, + heif_property_id propertyId); + +// Returns the number of pixels that should be removed from the four edges. +// Because of the way this data is stored, you have to pass the image size at the moment of the crop operation +// to compute the cropped border sizes. +LIBHEIF_API +void heif_item_get_property_transform_crop_borders(const struct heif_context* context, + heif_item_id itemId, + heif_property_id propertyId, + int image_width, int image_height, + int* left, int* top, int* right, int* bottom); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/vcpkg/installed/x64-osx/include/libheif/heif_regions.h b/vcpkg/installed/x64-osx/include/libheif/heif_regions.h new file mode 100644 index 0000000..63083fb --- /dev/null +++ b/vcpkg/installed/x64-osx/include/libheif/heif_regions.h @@ -0,0 +1,866 @@ +/* + * HEIF codec. + * Copyright (c) 2023 Dirk Farin + * Copyright (c) 2023 Brad Hards + * + * This file is part of libheif. + * + * libheif is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. + * + * libheif is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with libheif. If not, see . + */ + +#ifndef LIBHEIF_HEIF_REGIONS_H +#define LIBHEIF_HEIF_REGIONS_H + +#include "libheif/heif.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// --- region items and annotations + +// See ISO/IEC 23008-12:2022 Section 6.10 "Region items and region annotations" + +struct heif_region_item; + +/** + * Region type. + * + * Each region item will contain zero or more regions, which may have different geometry or + * mask representations. +*/ +enum heif_region_type +{ + /** + * Point gemetry. + * + * The region is represented by a single point. + */ + heif_region_type_point = 0, + + /** + * Rectangle geometry. + * + * The region is represented by a top left position, and a size defined + * by a width and height. All of the interior points and the edge are + * part of the region. + */ + heif_region_type_rectangle = 1, + + /** + * Ellipse geometry. + * + * The region is represented by a centre point, and radii in the X and + * Y directions. All of the interior points and the edge are part of the + * region. + */ + heif_region_type_ellipse = 2, + + /** + * Polygon geometry. + * + * The region is represented by a sequence of points, which is considered + * implicitly closed. All of the interior points and the edge are part + * of the region. + */ + heif_region_type_polygon = 3, + + /** + * Reference mask. + * + * The region geometry is described by the pixels in another image item, + * which has a item reference of type `mask` from the region item to the + * image item containing the mask. + * + * The image item containing the mask is one of: + * + * - a mask item (see ISO/IEC 23008-12:2022 Section 6.10.2), or a derived + * image from a mask item + * + * - an image item in monochrome format (4:0:0 chroma) + * + * - an image item in colour format with luma and chroma planes (e.g. 4:2:0) + * + * If the pixel value is equal to the minimum sample value (e.g. 0 for unsigned + * integer), the pixel is not part of the region. If the pixel value is equal + * to the maximum sample value (e.g. 255 for 8 bit unsigned integer), the pixel + * is part of the region. If the pixel value is between the minimum sample value + * and maximum sample value, the pixel value represents an (application defined) + * probability that the pixel is part of the region, where higher pixel values + * correspond to higher probability values. + */ + heif_region_type_referenced_mask = 4, + + /** + * Inline mask. + * + * The region geometry is described by a sequence of bits stored in inline + * in the region, one bit per pixel. If the bit value is `1`, the pixel is + * part of the region. If the bit value is `0`, the pixel is not part of the + * region. + */ + heif_region_type_inline_mask = 5, + + /** + * Polyline geometry. + * + * The region is represented by a sequence of points, which are not + * considered to form a closed surface. Only the edge is part of the region. + */ + heif_region_type_polyline = 6 +}; + +struct heif_region; + +/** + * Get the number of region items that are attached to an image. + * + * @param image_handle the image handle for the image to query. + * @return the number of region items, which can be zero. + */ +LIBHEIF_API +int heif_image_handle_get_number_of_region_items(const struct heif_image_handle* image_handle); + +/** + * Get the region item identifiers for the region items attached to an image. + * + * Possible usage (in C++): + * @code + * int numRegionItems = heif_image_handle_get_number_of_region_items(handle); + * if (numRegionItems > 0) { + * std::vector region_item_ids(numRegionItems); + * heif_image_handle_get_list_of_region_item_ids(handle, region_item_ids.data(), numRegionItems); + * // use region item ids + * } + * @endcode + * + * @param image_handle the image handle for the parent image to query + * @param region_item_ids_array array to put the item identifiers into + * @param max_count the maximum number of region identifiers + * @return the number of region item identifiers that were returned. + */ +LIBHEIF_API +int heif_image_handle_get_list_of_region_item_ids(const struct heif_image_handle* image_handle, + heif_item_id* region_item_ids_array, + int max_count); + +/** + * Get the region item. + * + * Caller is responsible for release of the output heif_region_item with heif_region_item_release(). + * + * @param context the context to get the region item from, usually from a file operation + * @param region_item_id the identifier for the region item + * @param out pointer to pointer to the resulting region item + * @return heif_error_ok on success, or an error value indicating the problem + */ +LIBHEIF_API +struct heif_error heif_context_get_region_item(const struct heif_context* context, + heif_item_id region_item_id, + struct heif_region_item** out); + +/** + * Get the item identifier for a region item. + * + * @param region_item the region item to query + * @return the region item identifier (or -1 if the region_item is null) + */ +LIBHEIF_API +heif_item_id heif_region_item_get_id(struct heif_region_item* region_item); + +/** + * Release a region item. + * + * This should be called on items from heif_context_get_region_item(). + * + * @param region_item the item to release. + */ +LIBHEIF_API +void heif_region_item_release(struct heif_region_item* region_item); + +/** + * Get the reference size for a region item. + * + * The reference size specifies the coordinate space used for the region items. + * When the reference size does not match the image size, the regions need to be + * scaled to correspond. + * + * @param out_width the return value for the reference width (before any transformation) + * @param out_height the return value for the reference height (before any transformation) + */ +LIBHEIF_API +void heif_region_item_get_reference_size(struct heif_region_item*, uint32_t* out_width, uint32_t* out_height); + +/** + * Get the number of regions within a region item. + * + * @param region_item the region item to query. + * @return the number of regions +*/ +LIBHEIF_API +int heif_region_item_get_number_of_regions(const struct heif_region_item* region_item); + +/** + * Get the regions that are part of a region item. + * + * Caller is responsible for releasing the returned `heif_region` objects, using heif_region_release() + * on each region, or heif_region_release_many() on the returned array. + * + * Possible usage (in C++): + * @code + * int num_regions = heif_image_handle_get_number_of_regions(region_item); + * if (num_regions > 0) { + * std::vector regions(num_regions); + * int n = heif_region_item_get_list_of_regions(region_item, regions.data(), (int)regions.size()); + * // use regions + * heif_region_release_many(regions.data(), n); + * } + * @endcode + * + * @param region_item the region_item to query + * @param out_regions_array array to put the region pointers into + * @param max_count the maximum number of regions, which needs to correspond to the size of the out_regions_array + * @return the number of regions that were returned. + */ +LIBHEIF_API +int heif_region_item_get_list_of_regions(const struct heif_region_item* region_item, + struct heif_region** out_regions_array, + int max_count); + +/** + * Release a region. + * + * This should be called on regions from heif_region_item_get_list_of_regions(). + * + * @param region the region to release. + * + * \sa heif_region_release_many() to release the whole list + */ +LIBHEIF_API +void heif_region_release(const struct heif_region* region); + +/** + * Release a list of regions. + * + * This should be called on the list of regions from heif_region_item_get_list_of_regions(). + * + * @param regions_array the regions to release. + * @param num_items the number of items in the array + * + * \sa heif_region_release() to release a single region + */ +LIBHEIF_API +void heif_region_release_many(const struct heif_region* const* regions_array, int num_items); + +/** + * Get the region type for a specified region. + * + * @param region the region to query + * @return the corresponding region type as an enumeration value + */ +LIBHEIF_API +enum heif_region_type heif_region_get_type(const struct heif_region* region); + +// When querying the region geometry, there is a version without and a version with "_transformed" suffix. +// The version without returns the coordinates in the reference coordinate space. +// The version with "_transformed" suffix give the coordinates in pixels after all transformative properties have been applied. + +/** + * Get the values for a point region. + * + * This returns the coordinates in the reference coordinate space (from the parent region item). + * + * @param region the region to query, which must be of type #heif_region_type_point. + * @param out_x the X coordinate, where 0 is the left-most column. + * @param out_y the Y coordinate, where 0 is the top-most row. + * @return heif_error_ok on success, or an error value indicating the problem on failure + * + * \sa heif_region_get_point_transformed() for a version in pixels after all transformative properties have been applied. + */ +LIBHEIF_API +struct heif_error heif_region_get_point(const struct heif_region* region, int32_t* out_x, int32_t* out_y); + +/** + * Get the transformed values for a point region. + * + * This returns the coordinates in pixels after all transformative properties have been applied. + * + * @param region the region to query, which must be of type #heif_region_type_point. + * @param image_id the identifier for the image to transform / scale the region to + * @param out_x the X coordinate, where 0 is the left-most column. + * @param out_y the Y coordinate, where 0 is the top-most row. + * @return heif_error_ok on success, or an error value indicating the problem on failure + * + * \sa heif_region_get_point() for a version that returns the values in the reference coordinate space. + */ +LIBHEIF_API +struct heif_error heif_region_get_point_transformed(const struct heif_region* region, heif_item_id image_id, double* out_x, double* out_y); + +/** + * Get the values for a rectangle region. + * + * This returns the values in the reference coordinate space (from the parent region item). + * The rectangle is represented by a top left corner position, and a size defined + * by a width and height. All of the interior points and the edge are + * part of the region. + * + * @param region the region to query, which must be of type #heif_region_type_rectangle. + * @param out_x the X coordinate for the top left corner, where 0 is the left-most column. + * @param out_y the Y coordinate for the top left corner, where 0 is the top-most row. + * @param out_width the width of the rectangle + * @param out_height the height of the rectangle + * @return heif_error_ok on success, or an error value indicating the problem on failure + * + * \sa heif_region_get_rectangle_transformed() for a version in pixels after all transformative properties have been applied. + */ +LIBHEIF_API +struct heif_error heif_region_get_rectangle(const struct heif_region* region, + int32_t* out_x, int32_t* out_y, + uint32_t* out_width, uint32_t* out_height); + +/** + * Get the transformed values for a rectangle region. + * + * This returns the coordinates in pixels after all transformative properties have been applied. + * The rectangle is represented by a top left corner position, and a size defined + * by a width and height. All of the interior points and the edge are + * part of the region. + * + * @param region the region to query, which must be of type #heif_region_type_rectangle. + * @param image_id the identifier for the image to transform / scale the region to + * @param out_x the X coordinate for the top left corner, where 0 is the left-most column. + * @param out_y the Y coordinate for the top left corner, where 0 is the top-most row. + * @param out_width the width of the rectangle + * @param out_height the height of the rectangle + * @return heif_error_ok on success, or an error value indicating the problem on failure + * + * \sa heif_region_get_rectangle() for a version that returns the values in the reference coordinate space. + */ +LIBHEIF_API +struct heif_error heif_region_get_rectangle_transformed(const struct heif_region* region, + heif_item_id image_id, + double* out_x, double* out_y, + double* out_width, double* out_height); + +/** + * Get the values for an ellipse region. + * + * This returns the values in the reference coordinate space (from the parent region item). + * The ellipse is represented by a centre position, and a size defined + * by radii in the X and Y directions. All of the interior points and the edge are + * part of the region. + * + * @param region the region to query, which must be of type #heif_region_type_ellipse. + * @param out_x the X coordinate for the centre point, where 0 is the left-most column. + * @param out_y the Y coordinate for the centre point, where 0 is the top-most row. + * @param out_radius_x the radius value in the X direction. + * @param out_radius_y the radius value in the Y direction + * @return heif_error_ok on success, or an error value indicating the problem on failure + * + * \sa heif_region_get_ellipse_transformed() for a version in pixels after all transformative properties have been applied. + */ +LIBHEIF_API +struct heif_error heif_region_get_ellipse(const struct heif_region* region, + int32_t* out_x, int32_t* out_y, + uint32_t* out_radius_x, uint32_t* out_radius_y); + + +/** + * Get the transformed values for an ellipse region. + * + * This returns the coordinates in pixels after all transformative properties have been applied. + * The ellipse is represented by a centre position, and a size defined + * by radii in the X and Y directions. All of the interior points and the edge are + * part of the region. + * + * @param region the region to query, which must be of type #heif_region_type_ellipse. + * @param image_id the identifier for the image to transform / scale the region to + * @param out_x the X coordinate for the centre point, where 0 is the left-most column. + * @param out_y the Y coordinate for the centre point, where 0 is the top-most row. + * @param out_radius_x the radius value in the X direction. + * @param out_radius_y the radius value in the Y direction + * @return heif_error_ok on success, or an error value indicating the problem on failure + * + * \sa heif_region_get_ellipse() for a version that returns the values in the reference coordinate space. + */ +LIBHEIF_API +struct heif_error heif_region_get_ellipse_transformed(const struct heif_region* region, + heif_item_id image_id, + double* out_x, double* out_y, + double* out_radius_x, double* out_radius_y); + +/** + * Get the number of points in a polygon. + * + * @param region the region to query, which must be of type #heif_region_type_polygon + * @return the number of points, or -1 on error. + */ +LIBHEIF_API +int heif_region_get_polygon_num_points(const struct heif_region* region); + +/** + * Get the points in a polygon region. + * + * This returns the values in the reference coordinate space (from the parent region item). + * + * A polygon is a sequence of points that form a closed shape. The first point does + * not need to be repeated as the last point. All of the interior points and the edge are + * part of the region. + * The points are returned as pairs of X,Y coordinates, in the order X1, + * Y1, X2, Y2, ..., Xn, Yn. + * + * @param region the region to equery, which must be of type #heif_region_type_polygon + * @param out_pts_array the array to return the points in, which must have twice as many entries as there are points + * in the polygon. + * @return heif_error_ok on success, or an error value indicating the problem on failure + * + * \sa heif_region_get_polygon_points_transformed() for a version in pixels after all transformative properties have been applied. + */ +LIBHEIF_API +struct heif_error heif_region_get_polygon_points(const struct heif_region* region, + int32_t* out_pts_array); + +/** + * Get the transformed points in a polygon region. + * + * This returns the coordinates in pixels after all transformative properties have been applied. + * + * A polygon is a sequence of points that form a closed shape. The first point does + * not need to be repeated as the last point. All of the interior points and the edge are + * part of the region. + * The points are returned as pairs of X,Y coordinates, in the order X1, + * Y1, X2, Y2, ..., Xn, Yn. + * + * @param region the region to equery, which must be of type #heif_region_type_polygon + * @param image_id the identifier for the image to transform / scale the region to + * @param out_pts_array the array to return the points in, which must have twice as many entries as there are points + * in the polygon. + * @return heif_error_ok on success, or an error value indicating the problem on failure + * + * \sa heif_region_get_polygon_points() for a version that returns the values in the reference coordinate space. + */ +LIBHEIF_API +struct heif_error heif_region_get_polygon_points_transformed(const struct heif_region* region, + heif_item_id image_id, + double* out_pts_array); +/** + * Get the number of points in a polyline. + * + * @param region the region to query, which must be of type #heif_region_type_polyline + * @return the number of points, or -1 on error. + */ +LIBHEIF_API +int heif_region_get_polyline_num_points(const struct heif_region* region); + +/** + * Get the points in a polyline region. + * + * This returns the values in the reference coordinate space (from the parent region item). + * + * A polyline is a sequence of points that does not form a closed shape. Even if the + * polyline is closed, the only points that are part of the region are those that + * intersect (even minimally) a one-pixel line drawn along the polyline. + * The points are provided as pairs of X,Y coordinates, in the order X1, + * Y1, X2, Y2, ..., Xn, Yn. + * + * Possible usage (in C++): + * @code + * int num_polyline_points = heif_region_get_polyline_num_points(region); + * if (num_polyline_points > 0) { + * std::vector polyline(num_polyline_points * 2); + * heif_region_get_polyline_points(region, polyline.data()); + * // do something with points ... + * } + * @endcode + * + * @param region the region to equery, which must be of type #heif_region_type_polyline + * @param out_pts_array the array to return the points in, which must have twice as many entries as there are points + * in the polyline. + * @return heif_error_ok on success, or an error value indicating the problem on failure + * + * \sa heif_region_get_polyline_points_transformed() for a version in pixels after all transformative properties have been applied. + */ +LIBHEIF_API +struct heif_error heif_region_get_polyline_points(const struct heif_region* region, + int32_t* out_pts_array); + +/** + * Get the transformed points in a polyline region. + * + * This returns the coordinates in pixels after all transformative properties have been applied. + * + * A polyline is a sequence of points that does not form a closed shape. Even if the + * polyline is closed, the only points that are part of the region are those that + * intersect (even minimally) a one-pixel line drawn along the polyline. + * The points are provided as pairs of X,Y coordinates, in the order X1, + * Y1, X2, Y2, ..., Xn, Yn. + * + * @param region the region to query, which must be of type #heif_region_type_polyline + * @param image_id the identifier for the image to transform / scale the region to + * @param out_pts_array the array to return the points in, which must have twice as many entries as there are points + * in the polyline. + * @return heif_error_ok on success, or an error value indicating the problem on failure + * + * \sa heif_region_get_polyline_points() for a version that returns the values in the reference coordinate space. + */ +LIBHEIF_API +struct heif_error heif_region_get_polyline_points_transformed(const struct heif_region* region, + heif_item_id image_id, + double* out_pts_array); + +/** + * Get a referenced item mask region. + * + * This returns the values in the reference coordinate space (from the parent region item). + * The mask location is represented by a top left corner position, and a size defined + * by a width and height. The value of each sample in that mask identifies whether the + * corresponding pixel is part of the region. + * + * The mask is provided as an image in another item. The image item containing the mask + * is one of: + * + * - a mask item (see ISO/IEC 23008-12:2022 Section 6.10.2), or a derived + * image from a mask item + * + * - an image item in monochrome format (4:0:0 chroma) + * + * - an image item in colour format with luma and chroma planes (e.g. 4:2:0) + * + * If the pixel value is equal to the minimum sample value (e.g. 0 for unsigned + * integer), the pixel is not part of the region. If the pixel value is equal + * to the maximum sample value (e.g. 255 for 8 bit unsigned integer), the pixel + * is part of the region. If the pixel value is between the minimum sample value + * and maximum sample value, the pixel value represents an (application defined) + * probability that the pixel is part of the region, where higher pixel values + * correspond to higher probability values. + * + * @param region the region to query, which must be of type #heif_region_type_referenced_mask. + * @param out_x the X coordinate for the top left corner, where 0 is the left-most column. + * @param out_y the Y coordinate for the top left corner, where 0 is the top-most row. + * @param out_width the width of the mask region + * @param out_height the height of the mask region + * @param out_mask_item_id the item identifier for the image that provides the mask. + * @return heif_error_ok on success, or an error value indicating the problem on failure + */ +LIBHEIF_API +struct heif_error heif_region_get_referenced_mask_ID(const struct heif_region* region, + int32_t* out_x, int32_t* out_y, + uint32_t* out_width, uint32_t* out_height, + heif_item_id *out_mask_item_id); + +/** + * Get the length of the data in an inline mask region. + * + * @param region the region to query, which must be of type #heif_region_type_inline_mask. + * @return the number of bytes in the mask data, or 0 on error. + */ +LIBHEIF_API +size_t heif_region_get_inline_mask_data_len(const struct heif_region* region); + + +/** + * Get data for an inline mask region. + * + * This returns the values in the reference coordinate space (from the parent region item). + * The mask location is represented by a top left corner position, and a size defined + * by a width and height. + * + * The mask is held as inline data on the region, one bit per pixel, most significant + * bit first pixel, no padding. If the bit value is `1`, the corresponding pixel is + * part of the region. If the bit value is `0`, the corresponding pixel is not part of the + * region. + * + * Possible usage (in C++): + * @code + * long unsigned int data_len = heif_region_get_inline_mask_data_len(region); + * int32_t x, y; + * uint32_t width, height; + * std::vector mask_data(data_len); + * err = heif_region_get_inline_mask(region, &x, &y, &width, &height, mask_data.data()); + * @endcode + * + * @param region the region to query, which must be of type #heif_region_type_inline_mask. + * @param out_x the X coordinate for the top left corner, where 0 is the left-most column. + * @param out_y the Y coordinate for the top left corner, where 0 is the top-most row. + * @param out_width the width of the mask region + * @param out_height the height of the mask region + * @param out_mask_data the location to return the mask data + * @return heif_error_ok on success, or an error value indicating the problem on failure + */ +LIBHEIF_API +struct heif_error heif_region_get_inline_mask_data(const struct heif_region* region, + int32_t* out_x, int32_t* out_y, + uint32_t* out_width, uint32_t* out_height, + uint8_t* out_mask_data); + +/** + * Get a mask region image. + * + * This returns the values in the reference coordinate space (from the parent region item). + * The mask location is represented by a top left corner position, and a size defined + * by a width and height. + * + * This function works when the passed region is either a heif_region_type_referenced_mask or + * a heif_region_type_inline_mask. + * The returned image is a monochrome image where each pixel represents the (scaled) probability + * of the pixel being part of the mask. + * + * If the region type is an inline mask, which always holds a binary mask, this function + * converts the binary inline mask to an 8-bit monochrome image with the values '0' and '255'. + * The pixel value is set to `255` where the pixel is part of the region, and `0` where the + * pixel is not part of the region. + * + * @param region the region to query, which must be of type #heif_region_type_inline_mask. + * @param out_x the X coordinate for the top left corner, where 0 is the left-most column. + * @param out_y the Y coordinate for the top left corner, where 0 is the top-most row. + * @param out_width the width of the mask region + * @param out_height the height of the mask region + * @param out_mask_image the returned mask image + * @return heif_error_ok on success, or an error value indicating the problem on failure + * + * \note the caller is responsible for releasing the mask image + */ +LIBHEIF_API +struct heif_error heif_region_get_mask_image(const struct heif_region* region, + int32_t* out_x, int32_t* out_y, + uint32_t* out_width, uint32_t* out_height, + struct heif_image** out_mask_image); + +// --- adding region items + +/** + * Add a region item to an image. + * + * The region item is a collection of regions (point, polyline, polygon, rectangle, ellipse or mask) + * along with a reference size (width and height) that forms the coordinate basis for the regions. + * + * The concept is to add the region item, then add one or more regions to the region item. + * + * @param image_handle the image to attach the region item to. + * @param reference_width the width of the reference size. + * @param reference_height the height of the reference size. + * @param out_region_item the resulting region item + * @return heif_error_ok on success, or an error indicating the problem on failure +*/ +LIBHEIF_API +struct heif_error heif_image_handle_add_region_item(struct heif_image_handle* image_handle, + uint32_t reference_width, uint32_t reference_height, + struct heif_region_item** out_region_item); + +/** + * Add a point region to the region item. + * + * @param region_item the region item that holds this point region + * @param x the x value for the point location + * @param y the y value for the point location + * @param out_region pointer to pointer to the returned region (optional, see below) + * @return heif_error_ok on success, or an error indicating the problem on failure + * + * @note The `out_region` parameter is optional, and can be set to `NULL` if not needed. + */ +LIBHEIF_API +struct heif_error heif_region_item_add_region_point(struct heif_region_item* region_item, + int32_t x, int32_t y, + struct heif_region** out_region); + +/** + * Add a rectangle region to the region item. + * + * @param region_item the region item that holds this rectangle region + * @param x the x value for the top-left corner of this rectangle region + * @param y the y value for the top-left corner of this rectangle region + * @param width the width of this rectangle region + * @param height the height of this rectangle region + * @param out_region pointer to pointer to the returned region (optional, see below) + * @return heif_error_ok on success, or an error indicating the problem on failure + * + * @note The `out_region` parameter is optional, and can be set to `NULL` if not needed. + */ +LIBHEIF_API +struct heif_error heif_region_item_add_region_rectangle(struct heif_region_item* region_item, + int32_t x, int32_t y, + uint32_t width, uint32_t height, + struct heif_region** out_region); + +/** + * Add a ellipse region to the region item. + * + * @param region_item the region item that holds this ellipse region + * @param x the x value for the centre of this ellipse region + * @param y the y value for the centre of this ellipse region + * @param radius_x the radius of the ellipse in the X (horizontal) direction + * @param radius_y the radius of the ellipse in the Y (vertical) direction + * @param out_region pointer to pointer to the returned region (optional, see below) + * @return heif_error_ok on success, or an error indicating the problem on failure + * + * @note The `out_region` parameter is optional, and can be set to `NULL` if not needed. + */ +LIBHEIF_API +struct heif_error heif_region_item_add_region_ellipse(struct heif_region_item* region_item, + int32_t x, int32_t y, + uint32_t radius_x, uint32_t radius_y, + struct heif_region** out_region); + +/** + * Add a polygon region to the region item. + * + * A polygon is a sequence of points that form a closed shape. The first point does + * not need to be repeated as the last point. + * The points are provided as pairs of X,Y coordinates, in the order X1, + * Y1, X2, Y2, ..., Xn, Yn. + * + * @param region_item the region item that holds this polygon region + * @param pts_array the array of points in X,Y order (see above) + * @param nPoints the number of points + * @param out_region pointer to pointer to the returned region (optional, see below) + * @return heif_error_ok on success, or an error indicating the problem on failure + * + * @note `nPoints` is the number of points, not the number of elements in the array + * @note The `out_region` parameter is optional, and can be set to `NULL` if not needed. + */ +LIBHEIF_API +struct heif_error heif_region_item_add_region_polygon(struct heif_region_item* region_item, + const int32_t* pts_array, int nPoints, + struct heif_region** out_region); + +/** + * Add a polyline region to the region item. + * + * A polyline is a sequence of points that does not form a closed shape. Even if the + * polyline is closed, the only points that are part of the region are those that + * intersect (even minimally) a one-pixel line drawn along the polyline. + * The points are provided as pairs of X,Y coordinates, in the order X1, + * Y1, X2, Y2, ..., Xn, Yn. + * + * @param region_item the region item that holds this polyline region + * @param pts_array the array of points in X,Y order (see above) + * @param nPoints the number of points + * @param out_region pointer to pointer to the returned region (optional, see below) + * @return heif_error_ok on success, or an error indicating the problem on failure + * + * @note `nPoints` is the number of points, not the number of elements in the array + * @note The `out_region` parameter is optional, and can be set to `NULL` if not needed. + */ +LIBHEIF_API +struct heif_error heif_region_item_add_region_polyline(struct heif_region_item* region_item, + const int32_t* pts_array, int nPoints, + struct heif_region** out_region); + + +/** + * Add a referenced mask region to the region item. + * + * The region geometry is described by the pixels in another image item, + * which has a item reference of type `mask` from the region item to the + * image item containing the mask. + * + * The image item containing the mask is one of: + * + * - a mask item (see ISO/IEC 23008-12:2022 Section 6.10.2), or a derived + * image from a mask item + * + * - an image item in monochrome format (4:0:0 chroma) + * + * - an image item in colour format with luma and chroma planes (e.g. 4:2:0) + * + * If the pixel value is equal to the minimum sample value (e.g. 0 for unsigned + * integer), the pixel is not part of the region. If the pixel value is equal + * to the maximum sample value (e.g. 255 for 8 bit unsigned integer), the pixel + * is part of the region. If the pixel value is between the minimum sample value + * and maximum sample value, the pixel value represents an (application defined) + * probability that the pixel is part of the region, where higher pixel values + * correspond to higher probability values. + * + * @param region_item the region item that holds this mask region + * @param x the x value for the top-left corner of this mask region + * @param y the y value for the top-left corner of this mask region + * @param width the width of this mask region + * @param height the height of this mask region + * @param mask_item_id the item identifier for the mask that is referenced + * @param out_region pointer to pointer to the returned region (optional, see below) + * @return heif_error_ok on success, or an error indicating the problem on failure + * + * @note The `out_region` parameter is optional, and can be set to `NULL` if not needed. + */ +LIBHEIF_API +struct heif_error heif_region_item_add_region_referenced_mask(struct heif_region_item* region_item, + int32_t x, int32_t y, + uint32_t width, uint32_t height, + heif_item_id mask_item_id, + struct heif_region** out_region); + + +/** + * Add an inline mask region to the region item. + * + * The region geometry is described by a top left corner position, and a size defined + * by a width and height. + * + * The mask is held as inline data on the region, one bit per pixel, most significant + * bit first pixel, no padding. If the bit value is `1`, the corresponding pixel is + * part of the region. If the bit value is `0`, the corresponding pixel is not part of the + * region. + * + * @param region_item the region item that holds this mask region + * @param x the x value for the top-left corner of this mask region + * @param y the y value for the top-left corner of this mask region + * @param width the width of this mask region + * @param height the height of this mask region + * @param mask_data the location to return the mask data + * @param mask_data_len the length of the mask data, in bytes + * @param out_region pointer to pointer to the returned region (optional, see below) + * @return heif_error_ok on success, or an error value indicating the problem on failure + */ + LIBHEIF_API +struct heif_error heif_region_item_add_region_inline_mask_data(struct heif_region_item* region_item, + int32_t x, int32_t y, + uint32_t width, uint32_t height, + const uint8_t* mask_data, + size_t mask_data_len, + struct heif_region** out_region); + +/** + * Add an inline mask region image to the region item. + * + * The region geometry is described by a top left corner position, and a size defined + * by a width and height. + * + * The mask data is held as inline data on the region, one bit per pixel. The provided + * image is converted to inline data, where any pixel with a value >= 0x80 becomes part of the + * mask region. If the image width is less that the specified width, it is expanded + * to match the width of the region (zero fill on the right). If the image height is + * less than the specified height, it is expanded to match the height of the region + * (zero fill on the bottom). If the image width or height is greater than the + * width or height (correspondingly) of the region, the image is cropped. + * + * @param region_item the region item that holds this mask region + * @param x the x value for the top-left corner of this mask region + * @param y the y value for the top-left corner of this mask region + * @param width the width of this mask region + * @param height the height of this mask region + * @param image the image to convert to an inline mask + * @param out_region pointer to pointer to the returned region (optional, see below) + * @return heif_error_ok on success, or an error value indicating the problem on failure + */ + LIBHEIF_API +struct heif_error heif_region_item_add_region_inline_mask(struct heif_region_item* region_item, + int32_t x, int32_t y, + uint32_t width, uint32_t height, + struct heif_image* image, + struct heif_region** out_region); +#ifdef __cplusplus +} +#endif + +#endif diff --git a/vcpkg/installed/x64-osx/include/libheif/heif_version.h b/vcpkg/installed/x64-osx/include/libheif/heif_version.h new file mode 100644 index 0000000..2b2f3fe --- /dev/null +++ b/vcpkg/installed/x64-osx/include/libheif/heif_version.h @@ -0,0 +1,38 @@ +/* + * HEIF codec. + * Copyright (c) 2017 Dirk Farin + * + * This file is part of libheif. + * + * libheif is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. + * + * libheif is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with libheif. If not, see . + */ + +/* heif_version.h + * + * This file was automatically generated when libheif was built. + * + * DO NOT EDIT THIS FILE. + */ +#ifndef LIBHEIF_HEIF_VERSION_H +#define LIBHEIF_HEIF_VERSION_H + +/* Numeric representation of the version */ +#define LIBHEIF_NUMERIC_VERSION ((1<<24) | (17<<16) | (6<<8) | 0) + +/* Version string */ +#define LIBHEIF_VERSION "1.17.6" + + + +#endif // LIBHEIF_HEIF_VERSION_H diff --git a/vcpkg/installed/x64-osx/include/libintl.h b/vcpkg/installed/x64-osx/include/libintl.h new file mode 100644 index 0000000..56d9860 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/libintl.h @@ -0,0 +1,642 @@ +/* Message catalogs for internationalization. + Copyright (C) 1995-1997, 2000-2016, 2018-2024 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#ifndef _LIBINTL_H +#define _LIBINTL_H 1 + +#include +#if (defined __APPLE__ && defined __MACH__) && 1 +# include +#endif + +/* The LC_MESSAGES locale category is the category used by the functions + gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. + On systems that don't define it, use an arbitrary value instead. + On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) + then includes (i.e. this file!) and then only defines + LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES + in this case. */ +#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) +# define LC_MESSAGES 1729 +#endif + +/* We define an additional symbol to signal that we use the GNU + implementation of gettext. */ +#define __USE_GNU_GETTEXT 1 + +/* Provide information about the supported file formats. Returns the + maximum minor revision number supported for a given major revision. */ +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ + ((major) == 0 || (major) == 1 ? 1 : -1) + +/* Resolve a platform specific conflict on DJGPP. GNU gettext takes + precedence over _conio_gettext. */ +#ifdef __DJGPP__ +# undef gettext +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Version number: (major<<16) + (minor<<8) + subminor */ +#define LIBINTL_VERSION 0x001605 +extern int libintl_version; + + +/* We redirect the functions to those prefixed with "libintl_". This is + necessary, because some systems define gettext/textdomain/... in the C + library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). + If we used the unprefixed names, there would be cases where the + definition in the C library would override the one in the libintl.so + shared library. Recall that on ELF systems, the symbols are looked + up in the following order: + 1. in the executable, + 2. in the shared libraries specified on the link command line, in order, + 3. in the dependencies of the shared libraries specified on the link + command line, + 4. in the dlopen()ed shared libraries, in the order in which they were + dlopen()ed. + The definition in the C library would override the one in libintl.so if + either + * -lc is given on the link command line and -lintl isn't, or + * -lc is given on the link command line before -lintl, or + * libintl.so is a dependency of a dlopen()ed shared library but not + linked to the executable at link time. + Since Solaris gettext() behaves differently than GNU gettext(), this + would be unacceptable. + + The redirection happens by default through macros in C, so that &gettext + is independent of the compilation unit, but through inline functions in + C++, in order not to interfere with the name mangling of class fields or + class methods called 'gettext'. */ + +/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. + If he doesn't, we choose the method. A third possible method is + _INTL_REDIRECT_ASM, supported only by GCC. */ +#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) +# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) +# define _INTL_REDIRECT_ASM +# else +# ifdef __cplusplus +# define _INTL_REDIRECT_INLINE +# else +# define _INTL_REDIRECT_MACROS +# endif +# endif +#endif +/* Auxiliary macros. */ +#ifdef _INTL_REDIRECT_ASM +# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) +# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring +# define _INTL_STRINGIFY(prefix) #prefix +#else +# define _INTL_ASM(cname) +#endif + +/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return + its n-th argument literally. This enables GCC to warn for example about + printf (gettext ("foo %y")). */ +#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && !(defined __clang__ && __clang__ && __clang_major__ >= 3) && defined __cplusplus) +# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) +#else +# define _INTL_MAY_RETURN_STRING_ARG(n) +#endif + +/* _INTL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK)) + declares that the STRING-INDEXth function argument is a format string of + style ARCHETYPE, which is one of: + printf, gnu_printf + scanf, gnu_scanf, + strftime, gnu_strftime, + strfmon, + or the same thing prefixed and suffixed with '__'. + If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK + are suitable for the format string. */ +/* Applies to: functions. */ +#if (defined __GNUC__ && __GNUC__ + (__GNUC_MINOR__ >= 7) > 2) || defined __clang__ +# define _INTL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) +#else +# define _INTL_ATTRIBUTE_FORMAT(spec) +#endif + +/* _INTL_ATTRIBUTE_SPEC_PRINTF_STANDARD + An __attribute__ __format__ specifier for a function that takes a format + string and arguments, where the format string directives are the ones + standardized by ISO C99 and POSIX. */ +/* __gnu_printf__ is supported in GCC >= 4.4. */ +#if defined __GNUC__ && __GNUC__ + (__GNUC_MINOR__ >= 4) > 4 +# define _INTL_ATTRIBUTE_SPEC_PRINTF_STANDARD __gnu_printf__ +#else +# define _INTL_ATTRIBUTE_SPEC_PRINTF_STANDARD __printf__ +#endif + +/* _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD + indicates to GCC that the function takes a format string and arguments, + where the format string directives are the ones standardized by ISO C99 + and POSIX. */ +#define _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD(formatstring_parameter, first_argument) \ + _INTL_ATTRIBUTE_FORMAT ((_INTL_ATTRIBUTE_SPEC_PRINTF_STANDARD, formatstring_parameter, first_argument)) + +/* Look up MSGID in the current default message catalog for the current + LC_MESSAGES locale. If not found, returns MSGID itself (the default + text). */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_gettext (const char *__msgid) + _INTL_MAY_RETURN_STRING_ARG (1); +static inline +_INTL_MAY_RETURN_STRING_ARG (1) +char *gettext (const char *__msgid) +{ + return libintl_gettext (__msgid); +} +#else +# ifdef _INTL_REDIRECT_MACROS +# define gettext libintl_gettext +# endif +extern char *gettext (const char *__msgid) + _INTL_ASM (libintl_gettext) + _INTL_MAY_RETURN_STRING_ARG (1); +#endif + +/* Look up MSGID in the DOMAINNAME message catalog for the current + LC_MESSAGES locale. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_dgettext (const char *__domainname, const char *__msgid) + _INTL_MAY_RETURN_STRING_ARG (2); +static inline +_INTL_MAY_RETURN_STRING_ARG (2) +char *dgettext (const char *__domainname, const char *__msgid) +{ + return libintl_dgettext (__domainname, __msgid); +} +#else +# ifdef _INTL_REDIRECT_MACROS +# define dgettext libintl_dgettext +# endif +extern char *dgettext (const char *__domainname, const char *__msgid) + _INTL_ASM (libintl_dgettext) + _INTL_MAY_RETURN_STRING_ARG (2); +#endif + +/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY + locale. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_dcgettext (const char *__domainname, const char *__msgid, + int __category) + _INTL_MAY_RETURN_STRING_ARG (2); +static inline +_INTL_MAY_RETURN_STRING_ARG (2) +char *dcgettext (const char *__domainname, const char *__msgid, int __category) +{ + return libintl_dcgettext (__domainname, __msgid, __category); +} +#else +# ifdef _INTL_REDIRECT_MACROS +# define dcgettext libintl_dcgettext +# endif +extern char *dcgettext (const char *__domainname, const char *__msgid, + int __category) + _INTL_ASM (libintl_dcgettext) + _INTL_MAY_RETURN_STRING_ARG (2); +#endif + + +/* Similar to 'gettext' but select the plural form corresponding to the + number N. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2, + unsigned long int __n) + _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); +static inline +_INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2) +char *ngettext (const char *__msgid1, const char *__msgid2, + unsigned long int __n) +{ + return libintl_ngettext (__msgid1, __msgid2, __n); +} +#else +# ifdef _INTL_REDIRECT_MACROS +# define ngettext libintl_ngettext +# endif +extern char *ngettext (const char *__msgid1, const char *__msgid2, + unsigned long int __n) + _INTL_ASM (libintl_ngettext) + _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); +#endif + +/* Similar to 'dgettext' but select the plural form corresponding to the + number N. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_dngettext (const char *__domainname, const char *__msgid1, + const char *__msgid2, unsigned long int __n) + _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); +static inline +_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3) +char *dngettext (const char *__domainname, const char *__msgid1, + const char *__msgid2, unsigned long int __n) +{ + return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); +} +#else +# ifdef _INTL_REDIRECT_MACROS +# define dngettext libintl_dngettext +# endif +extern char *dngettext (const char *__domainname, + const char *__msgid1, const char *__msgid2, + unsigned long int __n) + _INTL_ASM (libintl_dngettext) + _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); +#endif + +/* Similar to 'dcgettext' but select the plural form corresponding to the + number N. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_dcngettext (const char *__domainname, + const char *__msgid1, const char *__msgid2, + unsigned long int __n, int __category) + _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); +static inline +_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3) +char *dcngettext (const char *__domainname, + const char *__msgid1, const char *__msgid2, + unsigned long int __n, int __category) +{ + return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); +} +#else +# ifdef _INTL_REDIRECT_MACROS +# define dcngettext libintl_dcngettext +# endif +extern char *dcngettext (const char *__domainname, + const char *__msgid1, const char *__msgid2, + unsigned long int __n, int __category) + _INTL_ASM (libintl_dcngettext) + _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); +#endif + + + +/* Set the current default message catalog to DOMAINNAME. + If DOMAINNAME is null, return the current default. + If DOMAINNAME is "", reset to the default of "messages". */ +# ifdef _INTL_REDIRECT_INLINE +extern char *libintl_textdomain (const char *__domainname); +static inline char *textdomain (const char *__domainname) +{ + return libintl_textdomain (__domainname); +} +# else +# ifdef _INTL_REDIRECT_MACROS +# define textdomain libintl_textdomain +# endif +extern char *textdomain (const char *__domainname) + _INTL_ASM (libintl_textdomain); +# endif + +/* Specify that the DOMAINNAME message catalog will be found + in DIRNAME rather than in the system locale data base. */ +# ifdef _INTL_REDIRECT_INLINE +extern char *libintl_bindtextdomain (const char *__domainname, + const char *__dirname); +static inline char *bindtextdomain (const char *__domainname, + const char *__dirname) +{ + return libintl_bindtextdomain (__domainname, __dirname); +} +# else +# ifdef _INTL_REDIRECT_MACROS +# define bindtextdomain libintl_bindtextdomain +# endif +extern char *bindtextdomain (const char *__domainname, const char *__dirname) + _INTL_ASM (libintl_bindtextdomain); +# endif + +# if defined _WIN32 && !defined __CYGWIN__ +/* Specify that the DOMAINNAME message catalog will be found + in WDIRNAME rather than in the system locale data base. */ +# ifdef _INTL_REDIRECT_INLINE +extern wchar_t *libintl_wbindtextdomain (const char *__domainname, + const wchar_t *__wdirname); +static inline wchar_t *wbindtextdomain (const char *__domainname, + const wchar_t *__wdirname) +{ + return libintl_wbindtextdomain (__domainname, __wdirname); +} +# else +# ifdef _INTL_REDIRECT_MACROS +# define wbindtextdomain libintl_wbindtextdomain +# endif +extern wchar_t *wbindtextdomain (const char *__domainname, + const wchar_t *__wdirname) + _INTL_ASM (libintl_wbindtextdomain); +# endif +# endif + +/* Specify the character encoding in which the messages from the + DOMAINNAME message catalog will be returned. */ +# ifdef _INTL_REDIRECT_INLINE +extern char *libintl_bind_textdomain_codeset (const char *__domainname, + const char *__codeset); +static inline char *bind_textdomain_codeset (const char *__domainname, + const char *__codeset) +{ + return libintl_bind_textdomain_codeset (__domainname, __codeset); +} +# else +# ifdef _INTL_REDIRECT_MACROS +# define bind_textdomain_codeset libintl_bind_textdomain_codeset +# endif +extern char *bind_textdomain_codeset (const char *__domainname, + const char *__codeset) + _INTL_ASM (libintl_bind_textdomain_codeset); +# endif + + + +/* Support for format strings with positions in *printf(), following the + POSIX/XSI specification. + Note: These replacements for the *printf() functions are visible only + in source files that #include or #include "gettext.h". + Packages that use *printf() in source files that don't refer to _() + or gettext() but for which the format string could be the return value + of _() or gettext() need to add this #include. Oh well. */ + +/* Note: In C++ mode, it is not sufficient to redefine a symbol at the + preprocessor macro level, such as + #define sprintf libintl_sprintf + Some programs may reference std::sprintf after including . + Therefore we must make sure that std::libintl_sprintf is defined and + identical to ::libintl_sprintf. + The user can define _INTL_CXX_NO_CLOBBER_STD_NAMESPACE to avoid this. + In such cases, they will not benefit from the overrides when using + the 'std' namespace, and they will need to do the references to the + 'std' namespace *before* including or "gettext.h". */ + +#if !1 + +# include +# include + +/* Get va_list. */ +# if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER +# include +# else +# include +# endif + +# if !((defined fprintf && defined _GL_STDIO_H) || defined GNULIB_overrides_fprintf) /* don't override gnulib */ +# undef fprintf +# define fprintf libintl_fprintf +extern int fprintf (FILE *, const char *, ...) + _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_fprintf; } +# endif +# endif +# if !((defined vfprintf && defined _GL_STDIO_H) || defined GNULIB_overrides_vfprintf) /* don't override gnulib */ +# undef vfprintf +# define vfprintf libintl_vfprintf +extern int vfprintf (FILE *, const char *, va_list) + _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_vfprintf; } +# endif +# endif + +# if !((defined printf && defined _GL_STDIO_H) || defined GNULIB_overrides_printf) /* don't override gnulib */ +# undef printf +# if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ +/* Don't break __attribute__((format(printf,M,N))). + This redefinition is only possible because the libc in NetBSD, Cygwin, + mingw does not have a function __printf__. + Alternatively, we could have done this redirection only when compiling with + __GNUC__, together with a symbol redirection: + extern int printf (const char *, ...) + __asm__ (#__USER_LABEL_PREFIX__ "libintl_printf"); + But doing it now would introduce a binary incompatibility with already + distributed versions of libintl on these systems. */ +# define libintl_printf __printf__ +# endif +# define printf libintl_printf +extern int printf (const char *, ...) + _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (1, 2); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_printf; } +# endif +# endif +# if !((defined vprintf && defined _GL_STDIO_H) || defined GNULIB_overrides_vprintf) /* don't override gnulib */ +# undef vprintf +# define vprintf libintl_vprintf +extern int vprintf (const char *, va_list) + _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (1, 0); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_vprintf; } +# endif +# endif + +# if !((defined sprintf && defined _GL_STDIO_H) || defined GNULIB_overrides_sprintf) /* don't override gnulib */ +# undef sprintf +# define sprintf libintl_sprintf +extern int sprintf (char *, const char *, ...) + _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_sprintf; } +# endif +# endif +# if !((defined vsprintf && defined _GL_STDIO_H) || defined GNULIB_overrides_vsprintf) /* don't override gnulib */ +# undef vsprintf +# define vsprintf libintl_vsprintf +extern int vsprintf (char *, const char *, va_list) + _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_vsprintf; } +# endif +# endif + +# if 1 + +# if !((defined snprintf && defined _GL_STDIO_H) || defined GNULIB_overrides_snprintf) /* don't override gnulib */ +# undef snprintf +# define snprintf libintl_snprintf +extern int snprintf (char *, size_t, const char *, ...) + _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (3, 4); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_snprintf; } +# endif +# endif +# if !((defined vsnprintf && defined _GL_STDIO_H) || defined GNULIB_overrides_vsnprintf) /* don't override gnulib */ +# undef vsnprintf +# define vsnprintf libintl_vsnprintf +extern int vsnprintf (char *, size_t, const char *, va_list) + _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (3, 0); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_vsnprintf; } +# endif +# endif + +# endif + +# if 1 + +# if !((defined asprintf && defined _GL_STDIO_H) || defined GNULIB_overrides_asprintf) /* don't override gnulib */ +# undef asprintf +# define asprintf libintl_asprintf +extern int asprintf (char **, const char *, ...) + _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_asprintf; } +# endif +# endif +# if !((defined vasprintf && defined _GL_STDIO_H) || defined GNULIB_overrides_vasprintf) /* don't override gnulib */ +# undef vasprintf +# define vasprintf libintl_vasprintf +extern int vasprintf (char **, const char *, va_list) + _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_vasprintf; } +# endif +# endif + +# endif + +# if 1 + +# undef fwprintf +# define fwprintf libintl_fwprintf +extern int fwprintf (FILE *, const wchar_t *, ...); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_fwprintf; } +# endif +# undef vfwprintf +# define vfwprintf libintl_vfwprintf +extern int vfwprintf (FILE *, const wchar_t *, va_list); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_vfwprintf; } +# endif + +# undef wprintf +# define wprintf libintl_wprintf +extern int wprintf (const wchar_t *, ...); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_wprintf; } +# endif +# undef vwprintf +# define vwprintf libintl_vwprintf +extern int vwprintf (const wchar_t *, va_list); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_vwprintf; } +# endif + +# undef swprintf +# define swprintf libintl_swprintf +extern int swprintf (wchar_t *, size_t, const wchar_t *, ...); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_swprintf; } +# endif +# undef vswprintf +# define vswprintf libintl_vswprintf +extern int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_vswprintf; } +# endif + +# endif + +#endif + + +/* Support for retrieving the name of a locale_t object. */ +#if 0 + +# ifndef GNULIB_defined_newlocale /* don't override gnulib */ +# undef newlocale +# define newlocale libintl_newlocale +extern locale_t newlocale (int, const char *, locale_t); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_newlocale; } +# endif +# endif + +# ifndef GNULIB_defined_duplocale /* don't override gnulib */ +# undef duplocale +# define duplocale libintl_duplocale +extern locale_t duplocale (locale_t); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_duplocale; } +# endif +# endif + +# ifndef GNULIB_defined_freelocale /* don't override gnulib */ +# undef freelocale +# define freelocale libintl_freelocale +extern void freelocale (locale_t); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_freelocale; } +# endif +# endif + +#endif + + +/* Support for the locale chosen by the user. */ +#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __CYGWIN__ + +# ifndef GNULIB_defined_setlocale /* don't override gnulib */ +# undef setlocale +# define setlocale libintl_setlocale +extern char *setlocale (int, const char *); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_setlocale; } +# endif +# endif + +# if 1 + +# undef newlocale +# define newlocale libintl_newlocale +/* Declare newlocale() only if the system headers define the 'locale_t' type. */ +# if !(defined __CYGWIN__ && !defined LC_ALL_MASK) +extern locale_t newlocale (int, const char *, locale_t); +# if defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE +namespace std { using ::libintl_newlocale; } +# endif +# endif + +# endif + +#endif + + +/* Support for relocatable packages. */ + +/* Sets the original and the current installation prefix of the package. + Relocation simply replaces a pathname starting with the original prefix + by the corresponding pathname with the current prefix instead. Both + prefixes should be directory names without trailing slash (i.e. use "" + instead of "/"). */ +#define libintl_set_relocation_prefix libintl_set_relocation_prefix +extern void + libintl_set_relocation_prefix (const char *orig_prefix, + const char *curr_prefix); + + +#ifdef __cplusplus +} +#endif + +#endif /* libintl.h */ diff --git a/vcpkg/installed/x64-osx/include/libpng16/png.h b/vcpkg/installed/x64-osx/include/libpng16/png.h new file mode 100644 index 0000000..83d3903 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/libpng16/png.h @@ -0,0 +1,3250 @@ + +/* png.h - header file for PNG reference library + * + * libpng version 1.6.43 + * + * Copyright (c) 2018-2024 Cosmin Truta + * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson + * Copyright (c) 1996-1997 Andreas Dilger + * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + * + * This code is released under the libpng license. (See LICENSE, below.) + * + * Authors and maintainers: + * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat + * libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger + * libpng versions 0.97, January 1998, through 1.6.35, July 2018: + * Glenn Randers-Pehrson + * libpng versions 1.6.36, December 2018, through 1.6.43, February 2024: + * Cosmin Truta + * See also "Contributing Authors", below. + */ + +/* + * COPYRIGHT NOTICE, DISCLAIMER, and LICENSE + * ========================================= + * + * PNG Reference Library License version 2 + * --------------------------------------- + * + * * Copyright (c) 1995-2024 The PNG Reference Library Authors. + * * Copyright (c) 2018-2024 Cosmin Truta. + * * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. + * * Copyright (c) 1996-1997 Andreas Dilger. + * * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + * + * The software is supplied "as is", without warranty of any kind, + * express or implied, including, without limitation, the warranties + * of merchantability, fitness for a particular purpose, title, and + * non-infringement. In no event shall the Copyright owners, or + * anyone distributing the software, be liable for any damages or + * other liability, whether in contract, tort or otherwise, arising + * from, out of, or in connection with the software, or the use or + * other dealings in the software, even if advised of the possibility + * of such damage. + * + * Permission is hereby granted to use, copy, modify, and distribute + * this software, or portions hereof, for any purpose, without fee, + * subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you + * use this software in a product, an acknowledgment in the product + * documentation would be appreciated, but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must + * not be misrepresented as being the original software. + * + * 3. This Copyright notice may not be removed or altered from any + * source or altered source distribution. + * + * + * PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) + * ----------------------------------------------------------------------- + * + * libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are + * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are + * derived from libpng-1.0.6, and are distributed according to the same + * disclaimer and license as libpng-1.0.6 with the following individuals + * added to the list of Contributing Authors: + * + * Simon-Pierre Cadieux + * Eric S. Raymond + * Mans Rullgard + * Cosmin Truta + * Gilles Vollant + * James Yu + * Mandar Sahastrabuddhe + * Google Inc. + * Vadim Barkov + * + * and with the following additions to the disclaimer: + * + * There is no warranty against interference with your enjoyment of + * the library or against infringement. There is no warranty that our + * efforts or the library will fulfill any of your particular purposes + * or needs. This library is provided with all faults, and the entire + * risk of satisfactory quality, performance, accuracy, and effort is + * with the user. + * + * Some files in the "contrib" directory and some configure-generated + * files that are distributed with libpng have other copyright owners, and + * are released under other open source licenses. + * + * libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are + * Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from + * libpng-0.96, and are distributed according to the same disclaimer and + * license as libpng-0.96, with the following individuals added to the + * list of Contributing Authors: + * + * Tom Lane + * Glenn Randers-Pehrson + * Willem van Schaik + * + * libpng versions 0.89, June 1996, through 0.96, May 1997, are + * Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, + * and are distributed according to the same disclaimer and license as + * libpng-0.88, with the following individuals added to the list of + * Contributing Authors: + * + * John Bowler + * Kevin Bracey + * Sam Bushell + * Magnus Holmgren + * Greg Roelofs + * Tom Tanner + * + * Some files in the "scripts" directory have other copyright owners, + * but are released under this license. + * + * libpng versions 0.5, May 1995, through 0.88, January 1996, are + * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + * + * For the purposes of this copyright and license, "Contributing Authors" + * is defined as the following set of individuals: + * + * Andreas Dilger + * Dave Martindale + * Guy Eric Schalnat + * Paul Schmidt + * Tim Wegner + * + * The PNG Reference Library is supplied "AS IS". The Contributing + * Authors and Group 42, Inc. disclaim all warranties, expressed or + * implied, including, without limitation, the warranties of + * merchantability and of fitness for any purpose. The Contributing + * Authors and Group 42, Inc. assume no liability for direct, indirect, + * incidental, special, exemplary, or consequential damages, which may + * result from the use of the PNG Reference Library, even if advised of + * the possibility of such damage. + * + * Permission is hereby granted to use, copy, modify, and distribute this + * source code, or portions hereof, for any purpose, without fee, subject + * to the following restrictions: + * + * 1. The origin of this source code must not be misrepresented. + * + * 2. Altered versions must be plainly marked as such and must not + * be misrepresented as being the original source. + * + * 3. This Copyright notice may not be removed or altered from any + * source or altered source distribution. + * + * The Contributing Authors and Group 42, Inc. specifically permit, + * without fee, and encourage the use of this source code as a component + * to supporting the PNG file format in commercial products. If you use + * this source code in a product, acknowledgment is not required but would + * be appreciated. + * + * END OF COPYRIGHT NOTICE, DISCLAIMER, and LICENSE. + * + * TRADEMARK + * ========= + * + * The name "libpng" has not been registered by the Copyright owners + * as a trademark in any jurisdiction. However, because libpng has + * been distributed and maintained world-wide, continually since 1995, + * the Copyright owners claim "common-law trademark protection" in any + * jurisdiction where common-law trademark is recognized. + */ + +/* + * A "png_get_copyright" function is available, for convenient use in "about" + * boxes and the like: + * + * printf("%s", png_get_copyright(NULL)); + * + * Also, the PNG logo (in PNG format, of course) is supplied in the + * files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31). + */ + +/* + * The contributing authors would like to thank all those who helped + * with testing, bug fixes, and patience. This wouldn't have been + * possible without all of you. + * + * Thanks to Frank J. T. Wojcik for helping with the documentation. + */ + +/* Note about libpng version numbers: + * + * Due to various miscommunications, unforeseen code incompatibilities + * and occasional factors outside the authors' control, version numbering + * on the library has not always been consistent and straightforward. + * The following table summarizes matters since version 0.89c, which was + * the first widely used release: + * + * source png.h png.h shared-lib + * version string int version + * ------- ------ ----- ---------- + * 0.89c "1.0 beta 3" 0.89 89 1.0.89 + * 0.90 "1.0 beta 4" 0.90 90 0.90 [should have been 2.0.90] + * 0.95 "1.0 beta 5" 0.95 95 0.95 [should have been 2.0.95] + * 0.96 "1.0 beta 6" 0.96 96 0.96 [should have been 2.0.96] + * 0.97b "1.00.97 beta 7" 1.00.97 97 1.0.1 [should have been 2.0.97] + * 0.97c 0.97 97 2.0.97 + * 0.98 0.98 98 2.0.98 + * 0.99 0.99 98 2.0.99 + * 0.99a-m 0.99 99 2.0.99 + * 1.00 1.00 100 2.1.0 [100 should be 10000] + * 1.0.0 (from here on, the 100 2.1.0 [100 should be 10000] + * 1.0.1 png.h string is 10001 2.1.0 + * 1.0.1a-e identical to the 10002 from here on, the shared library + * 1.0.2 source version) 10002 is 2.V where V is the source code + * 1.0.2a-b 10003 version, except as noted. + * 1.0.3 10003 + * 1.0.3a-d 10004 + * 1.0.4 10004 + * 1.0.4a-f 10005 + * 1.0.5 (+ 2 patches) 10005 + * 1.0.5a-d 10006 + * 1.0.5e-r 10100 (not source compatible) + * 1.0.5s-v 10006 (not binary compatible) + * 1.0.6 (+ 3 patches) 10006 (still binary incompatible) + * 1.0.6d-f 10007 (still binary incompatible) + * 1.0.6g 10007 + * 1.0.6h 10007 10.6h (testing xy.z so-numbering) + * 1.0.6i 10007 10.6i + * 1.0.6j 10007 2.1.0.6j (incompatible with 1.0.0) + * 1.0.7beta11-14 DLLNUM 10007 2.1.0.7beta11-14 (binary compatible) + * 1.0.7beta15-18 1 10007 2.1.0.7beta15-18 (binary compatible) + * 1.0.7rc1-2 1 10007 2.1.0.7rc1-2 (binary compatible) + * 1.0.7 1 10007 (still compatible) + * ... + * 1.0.69 10 10069 10.so.0.69[.0] + * ... + * 1.2.59 13 10259 12.so.0.59[.0] + * ... + * 1.4.20 14 10420 14.so.0.20[.0] + * ... + * 1.5.30 15 10530 15.so.15.30[.0] + * ... + * 1.6.43 16 10643 16.so.16.43[.0] + * + * Henceforth the source version will match the shared-library major and + * minor numbers; the shared-library major version number will be used for + * changes in backward compatibility, as it is intended. + * The PNG_LIBPNG_VER macro, which is not used within libpng but is + * available for applications, is an unsigned integer of the form XYYZZ + * corresponding to the source version X.Y.Z (leading zeros in Y and Z). + * Beta versions were given the previous public release number plus a + * letter, until version 1.0.6j; from then on they were given the upcoming + * public release number plus "betaNN" or "rcNN". + * + * Binary incompatibility exists only when applications make direct access + * to the info_ptr or png_ptr members through png.h, and the compiled + * application is loaded with a different version of the library. + * + * See libpng.txt or libpng.3 for more information. The PNG specification + * is available as a W3C Recommendation and as an ISO/IEC Standard; see + * + */ + +#ifndef PNG_H +#define PNG_H + +/* This is not the place to learn how to use libpng. The file libpng-manual.txt + * describes how to use libpng, and the file example.c summarizes it + * with some code on which to build. This file is useful for looking + * at the actual function definitions and structure components. If that + * file has been stripped from your copy of libpng, you can find it at + * + * + * If you just need to read a PNG file and don't want to read the documentation + * skip to the end of this file and read the section entitled 'simplified API'. + */ + +/* Version information for png.h - this should match the version in png.c */ +#define PNG_LIBPNG_VER_STRING "1.6.43" +#define PNG_HEADER_VERSION_STRING " libpng version " PNG_LIBPNG_VER_STRING "\n" + +/* The versions of shared library builds should stay in sync, going forward */ +#define PNG_LIBPNG_VER_SHAREDLIB 16 +#define PNG_LIBPNG_VER_SONUM PNG_LIBPNG_VER_SHAREDLIB /* [Deprecated] */ +#define PNG_LIBPNG_VER_DLLNUM PNG_LIBPNG_VER_SHAREDLIB /* [Deprecated] */ + +/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */ +#define PNG_LIBPNG_VER_MAJOR 1 +#define PNG_LIBPNG_VER_MINOR 6 +#define PNG_LIBPNG_VER_RELEASE 43 + +/* This should be zero for a public release, or non-zero for a + * development version. + */ +#define PNG_LIBPNG_VER_BUILD 0 + +/* Release Status */ +#define PNG_LIBPNG_BUILD_ALPHA 1 +#define PNG_LIBPNG_BUILD_BETA 2 +#define PNG_LIBPNG_BUILD_RC 3 +#define PNG_LIBPNG_BUILD_STABLE 4 +#define PNG_LIBPNG_BUILD_RELEASE_STATUS_MASK 7 + +/* Release-Specific Flags */ +#define PNG_LIBPNG_BUILD_PATCH 8 /* Can be OR'ed with + PNG_LIBPNG_BUILD_STABLE only */ +#define PNG_LIBPNG_BUILD_PRIVATE 16 /* Cannot be OR'ed with + PNG_LIBPNG_BUILD_SPECIAL */ +#define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with + PNG_LIBPNG_BUILD_PRIVATE */ + +#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_STABLE + +/* Careful here. At one time, Guy wanted to use 082, but that + * would be octal. We must not include leading zeros. + * Versions 0.7 through 1.0.0 were in the range 0 to 100 here + * (only version 1.0.0 was mis-numbered 100 instead of 10000). + * From version 1.0.1 it is: + * XXYYZZ, where XX=major, YY=minor, ZZ=release + */ +#define PNG_LIBPNG_VER 10643 /* 1.6.43 */ + +/* Library configuration: these options cannot be changed after + * the library has been built. + */ +#ifndef PNGLCONF_H +/* If pnglibconf.h is missing, you can + * copy scripts/pnglibconf.h.prebuilt to pnglibconf.h + */ +# include "pnglibconf.h" +#endif + +#ifndef PNG_VERSION_INFO_ONLY +/* Machine specific configuration. */ +# include "pngconf.h" +#endif + +/* + * Added at libpng-1.2.8 + * + * Ref MSDN: Private as priority over Special + * VS_FF_PRIVATEBUILD File *was not* built using standard release + * procedures. If this value is given, the StringFileInfo block must + * contain a PrivateBuild string. + * + * VS_FF_SPECIALBUILD File *was* built by the original company using + * standard release procedures but is a variation of the standard + * file of the same version number. If this value is given, the + * StringFileInfo block must contain a SpecialBuild string. + */ + +#ifdef PNG_USER_PRIVATEBUILD /* From pnglibconf.h */ +# define PNG_LIBPNG_BUILD_TYPE \ + (PNG_LIBPNG_BUILD_BASE_TYPE | PNG_LIBPNG_BUILD_PRIVATE) +#else +# ifdef PNG_LIBPNG_SPECIALBUILD +# define PNG_LIBPNG_BUILD_TYPE \ + (PNG_LIBPNG_BUILD_BASE_TYPE | PNG_LIBPNG_BUILD_SPECIAL) +# else +# define PNG_LIBPNG_BUILD_TYPE (PNG_LIBPNG_BUILD_BASE_TYPE) +# endif +#endif + +#ifndef PNG_VERSION_INFO_ONLY + +/* Inhibit C++ name-mangling for libpng functions but not for system calls. */ +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/* Version information for C files, stored in png.c. This had better match + * the version above. + */ +#define png_libpng_ver png_get_header_ver(NULL) + +/* This file is arranged in several sections: + * + * 1. [omitted] + * 2. Any configuration options that can be specified by for the application + * code when it is built. (Build time configuration is in pnglibconf.h) + * 3. Type definitions (base types are defined in pngconf.h), structure + * definitions. + * 4. Exported library functions. + * 5. Simplified API. + * 6. Implementation options. + * + * The library source code has additional files (principally pngpriv.h) that + * allow configuration of the library. + */ + +/* Section 1: [omitted] */ + +/* Section 2: run time configuration + * See pnglibconf.h for build time configuration + * + * Run time configuration allows the application to choose between + * implementations of certain arithmetic APIs. The default is set + * at build time and recorded in pnglibconf.h, but it is safe to + * override these (and only these) settings. Note that this won't + * change what the library does, only application code, and the + * settings can (and probably should) be made on a per-file basis + * by setting the #defines before including png.h + * + * Use macros to read integers from PNG data or use the exported + * functions? + * PNG_USE_READ_MACROS: use the macros (see below) Note that + * the macros evaluate their argument multiple times. + * PNG_NO_USE_READ_MACROS: call the relevant library function. + * + * Use the alternative algorithm for compositing alpha samples that + * does not use division? + * PNG_READ_COMPOSITE_NODIV_SUPPORTED: use the 'no division' + * algorithm. + * PNG_NO_READ_COMPOSITE_NODIV: use the 'division' algorithm. + * + * How to handle benign errors if PNG_ALLOW_BENIGN_ERRORS is + * false? + * PNG_ALLOW_BENIGN_ERRORS: map calls to the benign error + * APIs to png_warning. + * Otherwise the calls are mapped to png_error. + */ + +/* Section 3: type definitions, including structures and compile time + * constants. + * See pngconf.h for base types that vary by machine/system + */ + +/* This triggers a compiler error in png.c, if png.c and png.h + * do not agree upon the version number. + */ +typedef char* png_libpng_version_1_6_43; + +/* Basic control structions. Read libpng-manual.txt or libpng.3 for more info. + * + * png_struct is the cache of information used while reading or writing a single + * PNG file. One of these is always required, although the simplified API + * (below) hides the creation and destruction of it. + */ +typedef struct png_struct_def png_struct; +typedef const png_struct * png_const_structp; +typedef png_struct * png_structp; +typedef png_struct * * png_structpp; + +/* png_info contains information read from or to be written to a PNG file. One + * or more of these must exist while reading or creating a PNG file. The + * information is not used by libpng during read but is used to control what + * gets written when a PNG file is created. "png_get_" function calls read + * information during read and "png_set_" functions calls write information + * when creating a PNG. + * been moved into a separate header file that is not accessible to + * applications. Read libpng-manual.txt or libpng.3 for more info. + */ +typedef struct png_info_def png_info; +typedef png_info * png_infop; +typedef const png_info * png_const_infop; +typedef png_info * * png_infopp; + +/* Types with names ending 'p' are pointer types. The corresponding types with + * names ending 'rp' are identical pointer types except that the pointer is + * marked 'restrict', which means that it is the only pointer to the object + * passed to the function. Applications should not use the 'restrict' types; + * it is always valid to pass 'p' to a pointer with a function argument of the + * corresponding 'rp' type. Different compilers have different rules with + * regard to type matching in the presence of 'restrict'. For backward + * compatibility libpng callbacks never have 'restrict' in their parameters and, + * consequentially, writing portable application code is extremely difficult if + * an attempt is made to use 'restrict'. + */ +typedef png_struct * PNG_RESTRICT png_structrp; +typedef const png_struct * PNG_RESTRICT png_const_structrp; +typedef png_info * PNG_RESTRICT png_inforp; +typedef const png_info * PNG_RESTRICT png_const_inforp; + +/* Three color definitions. The order of the red, green, and blue, (and the + * exact size) is not important, although the size of the fields need to + * be png_byte or png_uint_16 (as defined below). + */ +typedef struct png_color_struct +{ + png_byte red; + png_byte green; + png_byte blue; +} png_color; +typedef png_color * png_colorp; +typedef const png_color * png_const_colorp; +typedef png_color * * png_colorpp; + +typedef struct png_color_16_struct +{ + png_byte index; /* used for palette files */ + png_uint_16 red; /* for use in red green blue files */ + png_uint_16 green; + png_uint_16 blue; + png_uint_16 gray; /* for use in grayscale files */ +} png_color_16; +typedef png_color_16 * png_color_16p; +typedef const png_color_16 * png_const_color_16p; +typedef png_color_16 * * png_color_16pp; + +typedef struct png_color_8_struct +{ + png_byte red; /* for use in red green blue files */ + png_byte green; + png_byte blue; + png_byte gray; /* for use in grayscale files */ + png_byte alpha; /* for alpha channel files */ +} png_color_8; +typedef png_color_8 * png_color_8p; +typedef const png_color_8 * png_const_color_8p; +typedef png_color_8 * * png_color_8pp; + +/* + * The following two structures are used for the in-core representation + * of sPLT chunks. + */ +typedef struct png_sPLT_entry_struct +{ + png_uint_16 red; + png_uint_16 green; + png_uint_16 blue; + png_uint_16 alpha; + png_uint_16 frequency; +} png_sPLT_entry; +typedef png_sPLT_entry * png_sPLT_entryp; +typedef const png_sPLT_entry * png_const_sPLT_entryp; +typedef png_sPLT_entry * * png_sPLT_entrypp; + +/* When the depth of the sPLT palette is 8 bits, the color and alpha samples + * occupy the LSB of their respective members, and the MSB of each member + * is zero-filled. The frequency member always occupies the full 16 bits. + */ + +typedef struct png_sPLT_struct +{ + png_charp name; /* palette name */ + png_byte depth; /* depth of palette samples */ + png_sPLT_entryp entries; /* palette entries */ + png_int_32 nentries; /* number of palette entries */ +} png_sPLT_t; +typedef png_sPLT_t * png_sPLT_tp; +typedef const png_sPLT_t * png_const_sPLT_tp; +typedef png_sPLT_t * * png_sPLT_tpp; + +#ifdef PNG_TEXT_SUPPORTED +/* png_text holds the contents of a text/ztxt/itxt chunk in a PNG file, + * and whether that contents is compressed or not. The "key" field + * points to a regular zero-terminated C string. The "text" fields can be a + * regular C string, an empty string, or a NULL pointer. + * However, the structure returned by png_get_text() will always contain + * the "text" field as a regular zero-terminated C string (possibly + * empty), never a NULL pointer, so it can be safely used in printf() and + * other string-handling functions. Note that the "itxt_length", "lang", and + * "lang_key" members of the structure only exist when the library is built + * with iTXt chunk support. Prior to libpng-1.4.0 the library was built by + * default without iTXt support. Also note that when iTXt *is* supported, + * the "lang" and "lang_key" fields contain NULL pointers when the + * "compression" field contains * PNG_TEXT_COMPRESSION_NONE or + * PNG_TEXT_COMPRESSION_zTXt. Note that the "compression value" is not the + * same as what appears in the PNG tEXt/zTXt/iTXt chunk's "compression flag" + * which is always 0 or 1, or its "compression method" which is always 0. + */ +typedef struct png_text_struct +{ + int compression; /* compression value: + -1: tEXt, none + 0: zTXt, deflate + 1: iTXt, none + 2: iTXt, deflate */ + png_charp key; /* keyword, 1-79 character description of "text" */ + png_charp text; /* comment, may be an empty string (ie "") + or a NULL pointer */ + size_t text_length; /* length of the text string */ + size_t itxt_length; /* length of the itxt string */ + png_charp lang; /* language code, 0-79 characters + or a NULL pointer */ + png_charp lang_key; /* keyword translated UTF-8 string, 0 or more + chars or a NULL pointer */ +} png_text; +typedef png_text * png_textp; +typedef const png_text * png_const_textp; +typedef png_text * * png_textpp; +#endif + +/* Supported compression types for text in PNG files (tEXt, and zTXt). + * The values of the PNG_TEXT_COMPRESSION_ defines should NOT be changed. */ +#define PNG_TEXT_COMPRESSION_NONE_WR -3 +#define PNG_TEXT_COMPRESSION_zTXt_WR -2 +#define PNG_TEXT_COMPRESSION_NONE -1 +#define PNG_TEXT_COMPRESSION_zTXt 0 +#define PNG_ITXT_COMPRESSION_NONE 1 +#define PNG_ITXT_COMPRESSION_zTXt 2 +#define PNG_TEXT_COMPRESSION_LAST 3 /* Not a valid value */ + +/* png_time is a way to hold the time in an machine independent way. + * Two conversions are provided, both from time_t and struct tm. There + * is no portable way to convert to either of these structures, as far + * as I know. If you know of a portable way, send it to me. As a side + * note - PNG has always been Year 2000 compliant! + */ +typedef struct png_time_struct +{ + png_uint_16 year; /* full year, as in, 1995 */ + png_byte month; /* month of year, 1 - 12 */ + png_byte day; /* day of month, 1 - 31 */ + png_byte hour; /* hour of day, 0 - 23 */ + png_byte minute; /* minute of hour, 0 - 59 */ + png_byte second; /* second of minute, 0 - 60 (for leap seconds) */ +} png_time; +typedef png_time * png_timep; +typedef const png_time * png_const_timep; +typedef png_time * * png_timepp; + +#if defined(PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED) ||\ + defined(PNG_USER_CHUNKS_SUPPORTED) +/* png_unknown_chunk is a structure to hold queued chunks for which there is + * no specific support. The idea is that we can use this to queue + * up private chunks for output even though the library doesn't actually + * know about their semantics. + * + * The data in the structure is set by libpng on read and used on write. + */ +typedef struct png_unknown_chunk_t +{ + png_byte name[5]; /* Textual chunk name with '\0' terminator */ + png_byte *data; /* Data, should not be modified on read! */ + size_t size; + + /* On write 'location' must be set using the flag values listed below. + * Notice that on read it is set by libpng however the values stored have + * more bits set than are listed below. Always treat the value as a + * bitmask. On write set only one bit - setting multiple bits may cause the + * chunk to be written in multiple places. + */ + png_byte location; /* mode of operation at read time */ +} +png_unknown_chunk; + +typedef png_unknown_chunk * png_unknown_chunkp; +typedef const png_unknown_chunk * png_const_unknown_chunkp; +typedef png_unknown_chunk * * png_unknown_chunkpp; +#endif + +/* Flag values for the unknown chunk location byte. */ +#define PNG_HAVE_IHDR 0x01 +#define PNG_HAVE_PLTE 0x02 +#define PNG_AFTER_IDAT 0x08 + +/* Maximum positive integer used in PNG is (2^31)-1 */ +#define PNG_UINT_31_MAX ((png_uint_32)0x7fffffffL) +#define PNG_UINT_32_MAX ((png_uint_32)(-1)) +#define PNG_SIZE_MAX ((size_t)(-1)) + +/* These are constants for fixed point values encoded in the + * PNG specification manner (x100000) + */ +#define PNG_FP_1 100000 +#define PNG_FP_HALF 50000 +#define PNG_FP_MAX ((png_fixed_point)0x7fffffffL) +#define PNG_FP_MIN (-PNG_FP_MAX) + +/* These describe the color_type field in png_info. */ +/* color type masks */ +#define PNG_COLOR_MASK_PALETTE 1 +#define PNG_COLOR_MASK_COLOR 2 +#define PNG_COLOR_MASK_ALPHA 4 + +/* color types. Note that not all combinations are legal */ +#define PNG_COLOR_TYPE_GRAY 0 +#define PNG_COLOR_TYPE_PALETTE (PNG_COLOR_MASK_COLOR | PNG_COLOR_MASK_PALETTE) +#define PNG_COLOR_TYPE_RGB (PNG_COLOR_MASK_COLOR) +#define PNG_COLOR_TYPE_RGB_ALPHA (PNG_COLOR_MASK_COLOR | PNG_COLOR_MASK_ALPHA) +#define PNG_COLOR_TYPE_GRAY_ALPHA (PNG_COLOR_MASK_ALPHA) +/* aliases */ +#define PNG_COLOR_TYPE_RGBA PNG_COLOR_TYPE_RGB_ALPHA +#define PNG_COLOR_TYPE_GA PNG_COLOR_TYPE_GRAY_ALPHA + +/* This is for compression type. PNG 1.0-1.2 only define the single type. */ +#define PNG_COMPRESSION_TYPE_BASE 0 /* Deflate method 8, 32K window */ +#define PNG_COMPRESSION_TYPE_DEFAULT PNG_COMPRESSION_TYPE_BASE + +/* This is for filter type. PNG 1.0-1.2 only define the single type. */ +#define PNG_FILTER_TYPE_BASE 0 /* Single row per-byte filtering */ +#define PNG_INTRAPIXEL_DIFFERENCING 64 /* Used only in MNG datastreams */ +#define PNG_FILTER_TYPE_DEFAULT PNG_FILTER_TYPE_BASE + +/* These are for the interlacing type. These values should NOT be changed. */ +#define PNG_INTERLACE_NONE 0 /* Non-interlaced image */ +#define PNG_INTERLACE_ADAM7 1 /* Adam7 interlacing */ +#define PNG_INTERLACE_LAST 2 /* Not a valid value */ + +/* These are for the oFFs chunk. These values should NOT be changed. */ +#define PNG_OFFSET_PIXEL 0 /* Offset in pixels */ +#define PNG_OFFSET_MICROMETER 1 /* Offset in micrometers (1/10^6 meter) */ +#define PNG_OFFSET_LAST 2 /* Not a valid value */ + +/* These are for the pCAL chunk. These values should NOT be changed. */ +#define PNG_EQUATION_LINEAR 0 /* Linear transformation */ +#define PNG_EQUATION_BASE_E 1 /* Exponential base e transform */ +#define PNG_EQUATION_ARBITRARY 2 /* Arbitrary base exponential transform */ +#define PNG_EQUATION_HYPERBOLIC 3 /* Hyperbolic sine transformation */ +#define PNG_EQUATION_LAST 4 /* Not a valid value */ + +/* These are for the sCAL chunk. These values should NOT be changed. */ +#define PNG_SCALE_UNKNOWN 0 /* unknown unit (image scale) */ +#define PNG_SCALE_METER 1 /* meters per pixel */ +#define PNG_SCALE_RADIAN 2 /* radians per pixel */ +#define PNG_SCALE_LAST 3 /* Not a valid value */ + +/* These are for the pHYs chunk. These values should NOT be changed. */ +#define PNG_RESOLUTION_UNKNOWN 0 /* pixels/unknown unit (aspect ratio) */ +#define PNG_RESOLUTION_METER 1 /* pixels/meter */ +#define PNG_RESOLUTION_LAST 2 /* Not a valid value */ + +/* These are for the sRGB chunk. These values should NOT be changed. */ +#define PNG_sRGB_INTENT_PERCEPTUAL 0 +#define PNG_sRGB_INTENT_RELATIVE 1 +#define PNG_sRGB_INTENT_SATURATION 2 +#define PNG_sRGB_INTENT_ABSOLUTE 3 +#define PNG_sRGB_INTENT_LAST 4 /* Not a valid value */ + +/* This is for text chunks */ +#define PNG_KEYWORD_MAX_LENGTH 79 + +/* Maximum number of entries in PLTE/sPLT/tRNS arrays */ +#define PNG_MAX_PALETTE_LENGTH 256 + +/* These determine if an ancillary chunk's data has been successfully read + * from the PNG header, or if the application has filled in the corresponding + * data in the info_struct to be written into the output file. The values + * of the PNG_INFO_ defines should NOT be changed. + */ +#define PNG_INFO_gAMA 0x0001U +#define PNG_INFO_sBIT 0x0002U +#define PNG_INFO_cHRM 0x0004U +#define PNG_INFO_PLTE 0x0008U +#define PNG_INFO_tRNS 0x0010U +#define PNG_INFO_bKGD 0x0020U +#define PNG_INFO_hIST 0x0040U +#define PNG_INFO_pHYs 0x0080U +#define PNG_INFO_oFFs 0x0100U +#define PNG_INFO_tIME 0x0200U +#define PNG_INFO_pCAL 0x0400U +#define PNG_INFO_sRGB 0x0800U /* GR-P, 0.96a */ +#define PNG_INFO_iCCP 0x1000U /* ESR, 1.0.6 */ +#define PNG_INFO_sPLT 0x2000U /* ESR, 1.0.6 */ +#define PNG_INFO_sCAL 0x4000U /* ESR, 1.0.6 */ +#define PNG_INFO_IDAT 0x8000U /* ESR, 1.0.6 */ +#define PNG_INFO_eXIf 0x10000U /* GR-P, 1.6.31 */ + +/* This is used for the transformation routines, as some of them + * change these values for the row. It also should enable using + * the routines for other purposes. + */ +typedef struct png_row_info_struct +{ + png_uint_32 width; /* width of row */ + size_t rowbytes; /* number of bytes in row */ + png_byte color_type; /* color type of row */ + png_byte bit_depth; /* bit depth of row */ + png_byte channels; /* number of channels (1, 2, 3, or 4) */ + png_byte pixel_depth; /* bits per pixel (depth * channels) */ +} png_row_info; + +typedef png_row_info * png_row_infop; +typedef png_row_info * * png_row_infopp; + +/* These are the function types for the I/O functions and for the functions + * that allow the user to override the default I/O functions with his or her + * own. The png_error_ptr type should match that of user-supplied warning + * and error functions, while the png_rw_ptr type should match that of the + * user read/write data functions. Note that the 'write' function must not + * modify the buffer it is passed. The 'read' function, on the other hand, is + * expected to return the read data in the buffer. + */ +typedef PNG_CALLBACK(void, *png_error_ptr, (png_structp, png_const_charp)); +typedef PNG_CALLBACK(void, *png_rw_ptr, (png_structp, png_bytep, size_t)); +typedef PNG_CALLBACK(void, *png_flush_ptr, (png_structp)); +typedef PNG_CALLBACK(void, *png_read_status_ptr, (png_structp, png_uint_32, + int)); +typedef PNG_CALLBACK(void, *png_write_status_ptr, (png_structp, png_uint_32, + int)); + +#ifdef PNG_PROGRESSIVE_READ_SUPPORTED +typedef PNG_CALLBACK(void, *png_progressive_info_ptr, (png_structp, png_infop)); +typedef PNG_CALLBACK(void, *png_progressive_end_ptr, (png_structp, png_infop)); + +/* The following callback receives png_uint_32 row_number, int pass for the + * png_bytep data of the row. When transforming an interlaced image the + * row number is the row number within the sub-image of the interlace pass, so + * the value will increase to the height of the sub-image (not the full image) + * then reset to 0 for the next pass. + * + * Use PNG_ROW_FROM_PASS_ROW(row, pass) and PNG_COL_FROM_PASS_COL(col, pass) to + * find the output pixel (x,y) given an interlaced sub-image pixel + * (row,col,pass). (See below for these macros.) + */ +typedef PNG_CALLBACK(void, *png_progressive_row_ptr, (png_structp, png_bytep, + png_uint_32, int)); +#endif + +#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \ + defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) +typedef PNG_CALLBACK(void, *png_user_transform_ptr, (png_structp, png_row_infop, + png_bytep)); +#endif + +#ifdef PNG_USER_CHUNKS_SUPPORTED +typedef PNG_CALLBACK(int, *png_user_chunk_ptr, (png_structp, + png_unknown_chunkp)); +#endif +#ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED +/* not used anywhere */ +/* typedef PNG_CALLBACK(void, *png_unknown_chunk_ptr, (png_structp)); */ +#endif + +#ifdef PNG_SETJMP_SUPPORTED +/* This must match the function definition in , and the application + * must include this before png.h to obtain the definition of jmp_buf. The + * function is required to be PNG_NORETURN, but this is not checked. If the + * function does return the application will crash via an abort() or similar + * system level call. + * + * If you get a warning here while building the library you may need to make + * changes to ensure that pnglibconf.h records the calling convention used by + * your compiler. This may be very difficult - try using a different compiler + * to build the library! + */ +PNG_FUNCTION(void, (PNGCAPI *png_longjmp_ptr), PNGARG((jmp_buf, int)), typedef); +#endif + +/* Transform masks for the high-level interface */ +#define PNG_TRANSFORM_IDENTITY 0x0000 /* read and write */ +#define PNG_TRANSFORM_STRIP_16 0x0001 /* read only */ +#define PNG_TRANSFORM_STRIP_ALPHA 0x0002 /* read only */ +#define PNG_TRANSFORM_PACKING 0x0004 /* read and write */ +#define PNG_TRANSFORM_PACKSWAP 0x0008 /* read and write */ +#define PNG_TRANSFORM_EXPAND 0x0010 /* read only */ +#define PNG_TRANSFORM_INVERT_MONO 0x0020 /* read and write */ +#define PNG_TRANSFORM_SHIFT 0x0040 /* read and write */ +#define PNG_TRANSFORM_BGR 0x0080 /* read and write */ +#define PNG_TRANSFORM_SWAP_ALPHA 0x0100 /* read and write */ +#define PNG_TRANSFORM_SWAP_ENDIAN 0x0200 /* read and write */ +#define PNG_TRANSFORM_INVERT_ALPHA 0x0400 /* read and write */ +#define PNG_TRANSFORM_STRIP_FILLER 0x0800 /* write only */ +/* Added to libpng-1.2.34 */ +#define PNG_TRANSFORM_STRIP_FILLER_BEFORE PNG_TRANSFORM_STRIP_FILLER +#define PNG_TRANSFORM_STRIP_FILLER_AFTER 0x1000 /* write only */ +/* Added to libpng-1.4.0 */ +#define PNG_TRANSFORM_GRAY_TO_RGB 0x2000 /* read only */ +/* Added to libpng-1.5.4 */ +#define PNG_TRANSFORM_EXPAND_16 0x4000 /* read only */ +#if ~0U > 0xffffU /* or else this might break on a 16-bit machine */ +#define PNG_TRANSFORM_SCALE_16 0x8000 /* read only */ +#endif + +/* Flags for MNG supported features */ +#define PNG_FLAG_MNG_EMPTY_PLTE 0x01 +#define PNG_FLAG_MNG_FILTER_64 0x04 +#define PNG_ALL_MNG_FEATURES 0x05 + +/* NOTE: prior to 1.5 these functions had no 'API' style declaration, + * this allowed the zlib default functions to be used on Windows + * platforms. In 1.5 the zlib default malloc (which just calls malloc and + * ignores the first argument) should be completely compatible with the + * following. + */ +typedef PNG_CALLBACK(png_voidp, *png_malloc_ptr, (png_structp, + png_alloc_size_t)); +typedef PNG_CALLBACK(void, *png_free_ptr, (png_structp, png_voidp)); + +/* Section 4: exported functions + * Here are the function definitions most commonly used. This is not + * the place to find out how to use libpng. See libpng-manual.txt for the + * full explanation, see example.c for the summary. This just provides + * a simple one line description of the use of each function. + * + * The PNG_EXPORT() and PNG_EXPORTA() macros used below are defined in + * pngconf.h and in the *.dfn files in the scripts directory. + * + * PNG_EXPORT(ordinal, type, name, (args)); + * + * ordinal: ordinal that is used while building + * *.def files. The ordinal value is only + * relevant when preprocessing png.h with + * the *.dfn files for building symbol table + * entries, and are removed by pngconf.h. + * type: return type of the function + * name: function name + * args: function arguments, with types + * + * When we wish to append attributes to a function prototype we use + * the PNG_EXPORTA() macro instead. + * + * PNG_EXPORTA(ordinal, type, name, (args), attributes); + * + * ordinal, type, name, and args: same as in PNG_EXPORT(). + * attributes: function attributes + */ + +/* Returns the version number of the library */ +PNG_EXPORT(1, png_uint_32, png_access_version_number, (void)); + +/* Tell lib we have already handled the first magic bytes. + * Handling more than 8 bytes from the beginning of the file is an error. + */ +PNG_EXPORT(2, void, png_set_sig_bytes, (png_structrp png_ptr, int num_bytes)); + +/* Check sig[start] through sig[start + num_to_check - 1] to see if it's a + * PNG file. Returns zero if the supplied bytes match the 8-byte PNG + * signature, and non-zero otherwise. Having num_to_check == 0 or + * start > 7 will always fail (i.e. return non-zero). + */ +PNG_EXPORT(3, int, png_sig_cmp, (png_const_bytep sig, size_t start, + size_t num_to_check)); + +/* Simple signature checking function. This is the same as calling + * png_check_sig(sig, n) := (png_sig_cmp(sig, 0, n) == 0). + */ +#define png_check_sig(sig, n) (png_sig_cmp((sig), 0, (n)) == 0) /* DEPRECATED */ + +/* Allocate and initialize png_ptr struct for reading, and any other memory. */ +PNG_EXPORTA(4, png_structp, png_create_read_struct, + (png_const_charp user_png_ver, png_voidp error_ptr, + png_error_ptr error_fn, png_error_ptr warn_fn), + PNG_ALLOCATED); + +/* Allocate and initialize png_ptr struct for writing, and any other memory */ +PNG_EXPORTA(5, png_structp, png_create_write_struct, + (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, + png_error_ptr warn_fn), + PNG_ALLOCATED); + +PNG_EXPORT(6, size_t, png_get_compression_buffer_size, + (png_const_structrp png_ptr)); + +PNG_EXPORT(7, void, png_set_compression_buffer_size, (png_structrp png_ptr, + size_t size)); + +/* Moved from pngconf.h in 1.4.0 and modified to ensure setjmp/longjmp + * match up. + */ +#ifdef PNG_SETJMP_SUPPORTED +/* This function returns the jmp_buf built in to *png_ptr. It must be + * supplied with an appropriate 'longjmp' function to use on that jmp_buf + * unless the default error function is overridden in which case NULL is + * acceptable. The size of the jmp_buf is checked against the actual size + * allocated by the library - the call will return NULL on a mismatch + * indicating an ABI mismatch. + */ +PNG_EXPORT(8, jmp_buf*, png_set_longjmp_fn, (png_structrp png_ptr, + png_longjmp_ptr longjmp_fn, size_t jmp_buf_size)); +# define png_jmpbuf(png_ptr) \ + (*png_set_longjmp_fn((png_ptr), longjmp, (sizeof (jmp_buf)))) +#else +# define png_jmpbuf(png_ptr) \ + (LIBPNG_WAS_COMPILED_WITH__PNG_NO_SETJMP) +#endif +/* This function should be used by libpng applications in place of + * longjmp(png_ptr->jmpbuf, val). If longjmp_fn() has been set, it + * will use it; otherwise it will call PNG_ABORT(). This function was + * added in libpng-1.5.0. + */ +PNG_EXPORTA(9, void, png_longjmp, (png_const_structrp png_ptr, int val), + PNG_NORETURN); + +#ifdef PNG_READ_SUPPORTED +/* Reset the compression stream */ +PNG_EXPORTA(10, int, png_reset_zstream, (png_structrp png_ptr), PNG_DEPRECATED); +#endif + +/* New functions added in libpng-1.0.2 (not enabled by default until 1.2.0) */ +#ifdef PNG_USER_MEM_SUPPORTED +PNG_EXPORTA(11, png_structp, png_create_read_struct_2, + (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, + png_error_ptr warn_fn, + png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn), + PNG_ALLOCATED); +PNG_EXPORTA(12, png_structp, png_create_write_struct_2, + (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, + png_error_ptr warn_fn, + png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn), + PNG_ALLOCATED); +#endif + +/* Write the PNG file signature. */ +PNG_EXPORT(13, void, png_write_sig, (png_structrp png_ptr)); + +/* Write a PNG chunk - size, type, (optional) data, CRC. */ +PNG_EXPORT(14, void, png_write_chunk, (png_structrp png_ptr, png_const_bytep + chunk_name, png_const_bytep data, size_t length)); + +/* Write the start of a PNG chunk - length and chunk name. */ +PNG_EXPORT(15, void, png_write_chunk_start, (png_structrp png_ptr, + png_const_bytep chunk_name, png_uint_32 length)); + +/* Write the data of a PNG chunk started with png_write_chunk_start(). */ +PNG_EXPORT(16, void, png_write_chunk_data, (png_structrp png_ptr, + png_const_bytep data, size_t length)); + +/* Finish a chunk started with png_write_chunk_start() (includes CRC). */ +PNG_EXPORT(17, void, png_write_chunk_end, (png_structrp png_ptr)); + +/* Allocate and initialize the info structure */ +PNG_EXPORTA(18, png_infop, png_create_info_struct, (png_const_structrp png_ptr), + PNG_ALLOCATED); + +/* DEPRECATED: this function allowed init structures to be created using the + * default allocation method (typically malloc). Use is deprecated in 1.6.0 and + * the API will be removed in the future. + */ +PNG_EXPORTA(19, void, png_info_init_3, (png_infopp info_ptr, + size_t png_info_struct_size), PNG_DEPRECATED); + +/* Writes all the PNG information before the image. */ +PNG_EXPORT(20, void, png_write_info_before_PLTE, + (png_structrp png_ptr, png_const_inforp info_ptr)); +PNG_EXPORT(21, void, png_write_info, + (png_structrp png_ptr, png_const_inforp info_ptr)); + +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read the information before the actual image data. */ +PNG_EXPORT(22, void, png_read_info, + (png_structrp png_ptr, png_inforp info_ptr)); +#endif + +#ifdef PNG_TIME_RFC1123_SUPPORTED + /* Convert to a US string format: there is no localization support in this + * routine. The original implementation used a 29 character buffer in + * png_struct, this will be removed in future versions. + */ +#if PNG_LIBPNG_VER < 10700 +/* To do: remove this from libpng17 (and from libpng17/png.c and pngstruct.h) */ +PNG_EXPORTA(23, png_const_charp, png_convert_to_rfc1123, (png_structrp png_ptr, + png_const_timep ptime),PNG_DEPRECATED); +#endif +PNG_EXPORT(241, int, png_convert_to_rfc1123_buffer, (char out[29], + png_const_timep ptime)); +#endif + +#ifdef PNG_CONVERT_tIME_SUPPORTED +/* Convert from a struct tm to png_time */ +PNG_EXPORT(24, void, png_convert_from_struct_tm, (png_timep ptime, + const struct tm * ttime)); + +/* Convert from time_t to png_time. Uses gmtime() */ +PNG_EXPORT(25, void, png_convert_from_time_t, (png_timep ptime, time_t ttime)); +#endif /* CONVERT_tIME */ + +#ifdef PNG_READ_EXPAND_SUPPORTED +/* Expand data to 24-bit RGB, or 8-bit grayscale, with alpha if available. */ +PNG_EXPORT(26, void, png_set_expand, (png_structrp png_ptr)); +PNG_EXPORT(27, void, png_set_expand_gray_1_2_4_to_8, (png_structrp png_ptr)); +PNG_EXPORT(28, void, png_set_palette_to_rgb, (png_structrp png_ptr)); +PNG_EXPORT(29, void, png_set_tRNS_to_alpha, (png_structrp png_ptr)); +#endif + +#ifdef PNG_READ_EXPAND_16_SUPPORTED +/* Expand to 16-bit channels, forces conversion of palette to RGB and expansion + * of a tRNS chunk if present. + */ +PNG_EXPORT(221, void, png_set_expand_16, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_BGR_SUPPORTED) || defined(PNG_WRITE_BGR_SUPPORTED) +/* Use blue, green, red order for pixels. */ +PNG_EXPORT(30, void, png_set_bgr, (png_structrp png_ptr)); +#endif + +#ifdef PNG_READ_GRAY_TO_RGB_SUPPORTED +/* Expand the grayscale to 24-bit RGB if necessary. */ +PNG_EXPORT(31, void, png_set_gray_to_rgb, (png_structrp png_ptr)); +#endif + +#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED +/* Reduce RGB to grayscale. */ +#define PNG_ERROR_ACTION_NONE 1 +#define PNG_ERROR_ACTION_WARN 2 +#define PNG_ERROR_ACTION_ERROR 3 +#define PNG_RGB_TO_GRAY_DEFAULT (-1)/*for red/green coefficients*/ + +PNG_FP_EXPORT(32, void, png_set_rgb_to_gray, (png_structrp png_ptr, + int error_action, double red, double green)) +PNG_FIXED_EXPORT(33, void, png_set_rgb_to_gray_fixed, (png_structrp png_ptr, + int error_action, png_fixed_point red, png_fixed_point green)) + +PNG_EXPORT(34, png_byte, png_get_rgb_to_gray_status, (png_const_structrp + png_ptr)); +#endif + +#ifdef PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED +PNG_EXPORT(35, void, png_build_grayscale_palette, (int bit_depth, + png_colorp palette)); +#endif + +#ifdef PNG_READ_ALPHA_MODE_SUPPORTED +/* How the alpha channel is interpreted - this affects how the color channels + * of a PNG file are returned to the calling application when an alpha channel, + * or a tRNS chunk in a palette file, is present. + * + * This has no effect on the way pixels are written into a PNG output + * datastream. The color samples in a PNG datastream are never premultiplied + * with the alpha samples. + * + * The default is to return data according to the PNG specification: the alpha + * channel is a linear measure of the contribution of the pixel to the + * corresponding composited pixel, and the color channels are unassociated + * (not premultiplied). The gamma encoded color channels must be scaled + * according to the contribution and to do this it is necessary to undo + * the encoding, scale the color values, perform the composition and re-encode + * the values. This is the 'PNG' mode. + * + * The alternative is to 'associate' the alpha with the color information by + * storing color channel values that have been scaled by the alpha. + * image. These are the 'STANDARD', 'ASSOCIATED' or 'PREMULTIPLIED' modes + * (the latter being the two common names for associated alpha color channels). + * + * For the 'OPTIMIZED' mode, a pixel is treated as opaque only if the alpha + * value is equal to the maximum value. + * + * The final choice is to gamma encode the alpha channel as well. This is + * broken because, in practice, no implementation that uses this choice + * correctly undoes the encoding before handling alpha composition. Use this + * choice only if other serious errors in the software or hardware you use + * mandate it; the typical serious error is for dark halos to appear around + * opaque areas of the composited PNG image because of arithmetic overflow. + * + * The API function png_set_alpha_mode specifies which of these choices to use + * with an enumerated 'mode' value and the gamma of the required output: + */ +#define PNG_ALPHA_PNG 0 /* according to the PNG standard */ +#define PNG_ALPHA_STANDARD 1 /* according to Porter/Duff */ +#define PNG_ALPHA_ASSOCIATED 1 /* as above; this is the normal practice */ +#define PNG_ALPHA_PREMULTIPLIED 1 /* as above */ +#define PNG_ALPHA_OPTIMIZED 2 /* 'PNG' for opaque pixels, else 'STANDARD' */ +#define PNG_ALPHA_BROKEN 3 /* the alpha channel is gamma encoded */ + +PNG_FP_EXPORT(227, void, png_set_alpha_mode, (png_structrp png_ptr, int mode, + double output_gamma)) +PNG_FIXED_EXPORT(228, void, png_set_alpha_mode_fixed, (png_structrp png_ptr, + int mode, png_fixed_point output_gamma)) +#endif + +#if defined(PNG_GAMMA_SUPPORTED) || defined(PNG_READ_ALPHA_MODE_SUPPORTED) +/* The output_gamma value is a screen gamma in libpng terminology: it expresses + * how to decode the output values, not how they are encoded. + */ +#define PNG_DEFAULT_sRGB -1 /* sRGB gamma and color space */ +#define PNG_GAMMA_MAC_18 -2 /* Old Mac '1.8' gamma and color space */ +#define PNG_GAMMA_sRGB 220000 /* Television standards--matches sRGB gamma */ +#define PNG_GAMMA_LINEAR PNG_FP_1 /* Linear */ +#endif + +/* The following are examples of calls to png_set_alpha_mode to achieve the + * required overall gamma correction and, where necessary, alpha + * premultiplication. + * + * png_set_alpha_mode(pp, PNG_ALPHA_PNG, PNG_DEFAULT_sRGB); + * This is the default libpng handling of the alpha channel - it is not + * pre-multiplied into the color components. In addition the call states + * that the output is for a sRGB system and causes all PNG files without gAMA + * chunks to be assumed to be encoded using sRGB. + * + * png_set_alpha_mode(pp, PNG_ALPHA_PNG, PNG_GAMMA_MAC); + * In this case the output is assumed to be something like an sRGB conformant + * display preceded by a power-law lookup table of power 1.45. This is how + * early Mac systems behaved. + * + * png_set_alpha_mode(pp, PNG_ALPHA_STANDARD, PNG_GAMMA_LINEAR); + * This is the classic Jim Blinn approach and will work in academic + * environments where everything is done by the book. It has the shortcoming + * of assuming that input PNG data with no gamma information is linear - this + * is unlikely to be correct unless the PNG files where generated locally. + * Most of the time the output precision will be so low as to show + * significant banding in dark areas of the image. + * + * png_set_expand_16(pp); + * png_set_alpha_mode(pp, PNG_ALPHA_STANDARD, PNG_DEFAULT_sRGB); + * This is a somewhat more realistic Jim Blinn inspired approach. PNG files + * are assumed to have the sRGB encoding if not marked with a gamma value and + * the output is always 16 bits per component. This permits accurate scaling + * and processing of the data. If you know that your input PNG files were + * generated locally you might need to replace PNG_DEFAULT_sRGB with the + * correct value for your system. + * + * png_set_alpha_mode(pp, PNG_ALPHA_OPTIMIZED, PNG_DEFAULT_sRGB); + * If you just need to composite the PNG image onto an existing background + * and if you control the code that does this you can use the optimization + * setting. In this case you just copy completely opaque pixels to the + * output. For pixels that are not completely transparent (you just skip + * those) you do the composition math using png_composite or png_composite_16 + * below then encode the resultant 8-bit or 16-bit values to match the output + * encoding. + * + * Other cases + * If neither the PNG nor the standard linear encoding work for you because + * of the software or hardware you use then you have a big problem. The PNG + * case will probably result in halos around the image. The linear encoding + * will probably result in a washed out, too bright, image (it's actually too + * contrasty.) Try the ALPHA_OPTIMIZED mode above - this will probably + * substantially reduce the halos. Alternatively try: + * + * png_set_alpha_mode(pp, PNG_ALPHA_BROKEN, PNG_DEFAULT_sRGB); + * This option will also reduce the halos, but there will be slight dark + * halos round the opaque parts of the image where the background is light. + * In the OPTIMIZED mode the halos will be light halos where the background + * is dark. Take your pick - the halos are unavoidable unless you can get + * your hardware/software fixed! (The OPTIMIZED approach is slightly + * faster.) + * + * When the default gamma of PNG files doesn't match the output gamma. + * If you have PNG files with no gamma information png_set_alpha_mode allows + * you to provide a default gamma, but it also sets the output gamma to the + * matching value. If you know your PNG files have a gamma that doesn't + * match the output you can take advantage of the fact that + * png_set_alpha_mode always sets the output gamma but only sets the PNG + * default if it is not already set: + * + * png_set_alpha_mode(pp, PNG_ALPHA_PNG, PNG_DEFAULT_sRGB); + * png_set_alpha_mode(pp, PNG_ALPHA_PNG, PNG_GAMMA_MAC); + * The first call sets both the default and the output gamma values, the + * second call overrides the output gamma without changing the default. This + * is easier than achieving the same effect with png_set_gamma. You must use + * PNG_ALPHA_PNG for the first call - internal checking in png_set_alpha will + * fire if more than one call to png_set_alpha_mode and png_set_background is + * made in the same read operation, however multiple calls with PNG_ALPHA_PNG + * are ignored. + */ + +#ifdef PNG_READ_STRIP_ALPHA_SUPPORTED +PNG_EXPORT(36, void, png_set_strip_alpha, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_SWAP_ALPHA_SUPPORTED) || \ + defined(PNG_WRITE_SWAP_ALPHA_SUPPORTED) +PNG_EXPORT(37, void, png_set_swap_alpha, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_INVERT_ALPHA_SUPPORTED) || \ + defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED) +PNG_EXPORT(38, void, png_set_invert_alpha, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED) +/* Add a filler byte to 8-bit or 16-bit Gray or 24-bit or 48-bit RGB images. */ +PNG_EXPORT(39, void, png_set_filler, (png_structrp png_ptr, png_uint_32 filler, + int flags)); +/* The values of the PNG_FILLER_ defines should NOT be changed */ +# define PNG_FILLER_BEFORE 0 +# define PNG_FILLER_AFTER 1 +/* Add an alpha byte to 8-bit or 16-bit Gray or 24-bit or 48-bit RGB images. */ +PNG_EXPORT(40, void, png_set_add_alpha, (png_structrp png_ptr, + png_uint_32 filler, int flags)); +#endif /* READ_FILLER || WRITE_FILLER */ + +#if defined(PNG_READ_SWAP_SUPPORTED) || defined(PNG_WRITE_SWAP_SUPPORTED) +/* Swap bytes in 16-bit depth files. */ +PNG_EXPORT(41, void, png_set_swap, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_PACK_SUPPORTED) || defined(PNG_WRITE_PACK_SUPPORTED) +/* Use 1 byte per pixel in 1, 2, or 4-bit depth files. */ +PNG_EXPORT(42, void, png_set_packing, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_PACKSWAP_SUPPORTED) || \ + defined(PNG_WRITE_PACKSWAP_SUPPORTED) +/* Swap packing order of pixels in bytes. */ +PNG_EXPORT(43, void, png_set_packswap, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_SHIFT_SUPPORTED) || defined(PNG_WRITE_SHIFT_SUPPORTED) +/* Converts files to legal bit depths. */ +PNG_EXPORT(44, void, png_set_shift, (png_structrp png_ptr, png_const_color_8p + true_bits)); +#endif + +#if defined(PNG_READ_INTERLACING_SUPPORTED) || \ + defined(PNG_WRITE_INTERLACING_SUPPORTED) +/* Have the code handle the interlacing. Returns the number of passes. + * MUST be called before png_read_update_info or png_start_read_image, + * otherwise it will not have the desired effect. Note that it is still + * necessary to call png_read_row or png_read_rows png_get_image_height + * times for each pass. +*/ +PNG_EXPORT(45, int, png_set_interlace_handling, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_INVERT_SUPPORTED) || defined(PNG_WRITE_INVERT_SUPPORTED) +/* Invert monochrome files */ +PNG_EXPORT(46, void, png_set_invert_mono, (png_structrp png_ptr)); +#endif + +#ifdef PNG_READ_BACKGROUND_SUPPORTED +/* Handle alpha and tRNS by replacing with a background color. Prior to + * libpng-1.5.4 this API must not be called before the PNG file header has been + * read. Doing so will result in unexpected behavior and possible warnings or + * errors if the PNG file contains a bKGD chunk. + */ +PNG_FP_EXPORT(47, void, png_set_background, (png_structrp png_ptr, + png_const_color_16p background_color, int background_gamma_code, + int need_expand, double background_gamma)) +PNG_FIXED_EXPORT(215, void, png_set_background_fixed, (png_structrp png_ptr, + png_const_color_16p background_color, int background_gamma_code, + int need_expand, png_fixed_point background_gamma)) +#endif +#ifdef PNG_READ_BACKGROUND_SUPPORTED +# define PNG_BACKGROUND_GAMMA_UNKNOWN 0 +# define PNG_BACKGROUND_GAMMA_SCREEN 1 +# define PNG_BACKGROUND_GAMMA_FILE 2 +# define PNG_BACKGROUND_GAMMA_UNIQUE 3 +#endif + +#ifdef PNG_READ_SCALE_16_TO_8_SUPPORTED +/* Scale a 16-bit depth file down to 8-bit, accurately. */ +PNG_EXPORT(229, void, png_set_scale_16, (png_structrp png_ptr)); +#endif + +#ifdef PNG_READ_STRIP_16_TO_8_SUPPORTED +#define PNG_READ_16_TO_8_SUPPORTED /* Name prior to 1.5.4 */ +/* Strip the second byte of information from a 16-bit depth file. */ +PNG_EXPORT(48, void, png_set_strip_16, (png_structrp png_ptr)); +#endif + +#ifdef PNG_READ_QUANTIZE_SUPPORTED +/* Turn on quantizing, and reduce the palette to the number of colors + * available. + */ +PNG_EXPORT(49, void, png_set_quantize, (png_structrp png_ptr, + png_colorp palette, int num_palette, int maximum_colors, + png_const_uint_16p histogram, int full_quantize)); +#endif + +#ifdef PNG_READ_GAMMA_SUPPORTED +/* The threshold on gamma processing is configurable but hard-wired into the + * library. The following is the floating point variant. + */ +#define PNG_GAMMA_THRESHOLD (PNG_GAMMA_THRESHOLD_FIXED*.00001) + +/* Handle gamma correction. Screen_gamma=(display_exponent). + * NOTE: this API simply sets the screen and file gamma values. It will + * therefore override the value for gamma in a PNG file if it is called after + * the file header has been read - use with care - call before reading the PNG + * file for best results! + * + * These routines accept the same gamma values as png_set_alpha_mode (described + * above). The PNG_GAMMA_ defines and PNG_DEFAULT_sRGB can be passed to either + * API (floating point or fixed.) Notice, however, that the 'file_gamma' value + * is the inverse of a 'screen gamma' value. + */ +PNG_FP_EXPORT(50, void, png_set_gamma, (png_structrp png_ptr, + double screen_gamma, double override_file_gamma)) +PNG_FIXED_EXPORT(208, void, png_set_gamma_fixed, (png_structrp png_ptr, + png_fixed_point screen_gamma, png_fixed_point override_file_gamma)) +#endif + +#ifdef PNG_WRITE_FLUSH_SUPPORTED +/* Set how many lines between output flushes - 0 for no flushing */ +PNG_EXPORT(51, void, png_set_flush, (png_structrp png_ptr, int nrows)); +/* Flush the current PNG output buffer */ +PNG_EXPORT(52, void, png_write_flush, (png_structrp png_ptr)); +#endif + +/* Optional update palette with requested transformations */ +PNG_EXPORT(53, void, png_start_read_image, (png_structrp png_ptr)); + +/* Optional call to update the users info structure */ +PNG_EXPORT(54, void, png_read_update_info, (png_structrp png_ptr, + png_inforp info_ptr)); + +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read one or more rows of image data. */ +PNG_EXPORT(55, void, png_read_rows, (png_structrp png_ptr, png_bytepp row, + png_bytepp display_row, png_uint_32 num_rows)); +#endif + +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read a row of data. */ +PNG_EXPORT(56, void, png_read_row, (png_structrp png_ptr, png_bytep row, + png_bytep display_row)); +#endif + +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read the whole image into memory at once. */ +PNG_EXPORT(57, void, png_read_image, (png_structrp png_ptr, png_bytepp image)); +#endif + +/* Write a row of image data */ +PNG_EXPORT(58, void, png_write_row, (png_structrp png_ptr, + png_const_bytep row)); + +/* Write a few rows of image data: (*row) is not written; however, the type + * is declared as writeable to maintain compatibility with previous versions + * of libpng and to allow the 'display_row' array from read_rows to be passed + * unchanged to write_rows. + */ +PNG_EXPORT(59, void, png_write_rows, (png_structrp png_ptr, png_bytepp row, + png_uint_32 num_rows)); + +/* Write the image data */ +PNG_EXPORT(60, void, png_write_image, (png_structrp png_ptr, png_bytepp image)); + +/* Write the end of the PNG file. */ +PNG_EXPORT(61, void, png_write_end, (png_structrp png_ptr, + png_inforp info_ptr)); + +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read the end of the PNG file. */ +PNG_EXPORT(62, void, png_read_end, (png_structrp png_ptr, png_inforp info_ptr)); +#endif + +/* Free any memory associated with the png_info_struct */ +PNG_EXPORT(63, void, png_destroy_info_struct, (png_const_structrp png_ptr, + png_infopp info_ptr_ptr)); + +/* Free any memory associated with the png_struct and the png_info_structs */ +PNG_EXPORT(64, void, png_destroy_read_struct, (png_structpp png_ptr_ptr, + png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr)); + +/* Free any memory associated with the png_struct and the png_info_structs */ +PNG_EXPORT(65, void, png_destroy_write_struct, (png_structpp png_ptr_ptr, + png_infopp info_ptr_ptr)); + +/* Set the libpng method of handling chunk CRC errors */ +PNG_EXPORT(66, void, png_set_crc_action, (png_structrp png_ptr, int crit_action, + int ancil_action)); + +/* Values for png_set_crc_action() say how to handle CRC errors in + * ancillary and critical chunks, and whether to use the data contained + * therein. Note that it is impossible to "discard" data in a critical + * chunk. For versions prior to 0.90, the action was always error/quit, + * whereas in version 0.90 and later, the action for CRC errors in ancillary + * chunks is warn/discard. These values should NOT be changed. + * + * value action:critical action:ancillary + */ +#define PNG_CRC_DEFAULT 0 /* error/quit warn/discard data */ +#define PNG_CRC_ERROR_QUIT 1 /* error/quit error/quit */ +#define PNG_CRC_WARN_DISCARD 2 /* (INVALID) warn/discard data */ +#define PNG_CRC_WARN_USE 3 /* warn/use data warn/use data */ +#define PNG_CRC_QUIET_USE 4 /* quiet/use data quiet/use data */ +#define PNG_CRC_NO_CHANGE 5 /* use current value use current value */ + +#ifdef PNG_WRITE_SUPPORTED +/* These functions give the user control over the scan-line filtering in + * libpng and the compression methods used by zlib. These functions are + * mainly useful for testing, as the defaults should work with most users. + * Those users who are tight on memory or want faster performance at the + * expense of compression can modify them. See the compression library + * header file (zlib.h) for an explanation of the compression functions. + */ + +/* Set the filtering method(s) used by libpng. Currently, the only valid + * value for "method" is 0. + */ +PNG_EXPORT(67, void, png_set_filter, (png_structrp png_ptr, int method, + int filters)); +#endif /* WRITE */ + +/* Flags for png_set_filter() to say which filters to use. The flags + * are chosen so that they don't conflict with real filter types + * below, in case they are supplied instead of the #defined constants. + * These values should NOT be changed. + */ +#define PNG_NO_FILTERS 0x00 +#define PNG_FILTER_NONE 0x08 +#define PNG_FILTER_SUB 0x10 +#define PNG_FILTER_UP 0x20 +#define PNG_FILTER_AVG 0x40 +#define PNG_FILTER_PAETH 0x80 +#define PNG_FAST_FILTERS (PNG_FILTER_NONE | PNG_FILTER_SUB | PNG_FILTER_UP) +#define PNG_ALL_FILTERS (PNG_FAST_FILTERS | PNG_FILTER_AVG | PNG_FILTER_PAETH) + +/* Filter values (not flags) - used in pngwrite.c, pngwutil.c for now. + * These defines should NOT be changed. + */ +#define PNG_FILTER_VALUE_NONE 0 +#define PNG_FILTER_VALUE_SUB 1 +#define PNG_FILTER_VALUE_UP 2 +#define PNG_FILTER_VALUE_AVG 3 +#define PNG_FILTER_VALUE_PAETH 4 +#define PNG_FILTER_VALUE_LAST 5 + +#ifdef PNG_WRITE_SUPPORTED +#ifdef PNG_WRITE_WEIGHTED_FILTER_SUPPORTED /* DEPRECATED */ +PNG_FP_EXPORT(68, void, png_set_filter_heuristics, (png_structrp png_ptr, + int heuristic_method, int num_weights, png_const_doublep filter_weights, + png_const_doublep filter_costs)) +PNG_FIXED_EXPORT(209, void, png_set_filter_heuristics_fixed, + (png_structrp png_ptr, int heuristic_method, int num_weights, + png_const_fixed_point_p filter_weights, + png_const_fixed_point_p filter_costs)) +#endif /* WRITE_WEIGHTED_FILTER */ + +/* The following are no longer used and will be removed from libpng-1.7: */ +#define PNG_FILTER_HEURISTIC_DEFAULT 0 /* Currently "UNWEIGHTED" */ +#define PNG_FILTER_HEURISTIC_UNWEIGHTED 1 /* Used by libpng < 0.95 */ +#define PNG_FILTER_HEURISTIC_WEIGHTED 2 /* Experimental feature */ +#define PNG_FILTER_HEURISTIC_LAST 3 /* Not a valid value */ + +/* Set the library compression level. Currently, valid values range from + * 0 - 9, corresponding directly to the zlib compression levels 0 - 9 + * (0 - no compression, 9 - "maximal" compression). Note that tests have + * shown that zlib compression levels 3-6 usually perform as well as level 9 + * for PNG images, and do considerably fewer calculations. In the future, + * these values may not correspond directly to the zlib compression levels. + */ +#ifdef PNG_WRITE_CUSTOMIZE_COMPRESSION_SUPPORTED +PNG_EXPORT(69, void, png_set_compression_level, (png_structrp png_ptr, + int level)); + +PNG_EXPORT(70, void, png_set_compression_mem_level, (png_structrp png_ptr, + int mem_level)); + +PNG_EXPORT(71, void, png_set_compression_strategy, (png_structrp png_ptr, + int strategy)); + +/* If PNG_WRITE_OPTIMIZE_CMF_SUPPORTED is defined, libpng will use a + * smaller value of window_bits if it can do so safely. + */ +PNG_EXPORT(72, void, png_set_compression_window_bits, (png_structrp png_ptr, + int window_bits)); + +PNG_EXPORT(73, void, png_set_compression_method, (png_structrp png_ptr, + int method)); +#endif /* WRITE_CUSTOMIZE_COMPRESSION */ + +#ifdef PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED +/* Also set zlib parameters for compressing non-IDAT chunks */ +PNG_EXPORT(222, void, png_set_text_compression_level, (png_structrp png_ptr, + int level)); + +PNG_EXPORT(223, void, png_set_text_compression_mem_level, (png_structrp png_ptr, + int mem_level)); + +PNG_EXPORT(224, void, png_set_text_compression_strategy, (png_structrp png_ptr, + int strategy)); + +/* If PNG_WRITE_OPTIMIZE_CMF_SUPPORTED is defined, libpng will use a + * smaller value of window_bits if it can do so safely. + */ +PNG_EXPORT(225, void, png_set_text_compression_window_bits, + (png_structrp png_ptr, int window_bits)); + +PNG_EXPORT(226, void, png_set_text_compression_method, (png_structrp png_ptr, + int method)); +#endif /* WRITE_CUSTOMIZE_ZTXT_COMPRESSION */ +#endif /* WRITE */ + +/* These next functions are called for input/output, memory, and error + * handling. They are in the file pngrio.c, pngwio.c, and pngerror.c, + * and call standard C I/O routines such as fread(), fwrite(), and + * fprintf(). These functions can be made to use other I/O routines + * at run time for those applications that need to handle I/O in a + * different manner by calling png_set_???_fn(). See libpng-manual.txt for + * more information. + */ + +#ifdef PNG_STDIO_SUPPORTED +/* Initialize the input/output for the PNG file to the default functions. */ +PNG_EXPORT(74, void, png_init_io, (png_structrp png_ptr, png_FILE_p fp)); +#endif + +/* Replace the (error and abort), and warning functions with user + * supplied functions. If no messages are to be printed you must still + * write and use replacement functions. The replacement error_fn should + * still do a longjmp to the last setjmp location if you are using this + * method of error handling. If error_fn or warning_fn is NULL, the + * default function will be used. + */ + +PNG_EXPORT(75, void, png_set_error_fn, (png_structrp png_ptr, + png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warning_fn)); + +/* Return the user pointer associated with the error functions */ +PNG_EXPORT(76, png_voidp, png_get_error_ptr, (png_const_structrp png_ptr)); + +/* Replace the default data output functions with a user supplied one(s). + * If buffered output is not used, then output_flush_fn can be set to NULL. + * If PNG_WRITE_FLUSH_SUPPORTED is not defined at libpng compile time + * output_flush_fn will be ignored (and thus can be NULL). + * It is probably a mistake to use NULL for output_flush_fn if + * write_data_fn is not also NULL unless you have built libpng with + * PNG_WRITE_FLUSH_SUPPORTED undefined, because in this case libpng's + * default flush function, which uses the standard *FILE structure, will + * be used. + */ +PNG_EXPORT(77, void, png_set_write_fn, (png_structrp png_ptr, png_voidp io_ptr, + png_rw_ptr write_data_fn, png_flush_ptr output_flush_fn)); + +/* Replace the default data input function with a user supplied one. */ +PNG_EXPORT(78, void, png_set_read_fn, (png_structrp png_ptr, png_voidp io_ptr, + png_rw_ptr read_data_fn)); + +/* Return the user pointer associated with the I/O functions */ +PNG_EXPORT(79, png_voidp, png_get_io_ptr, (png_const_structrp png_ptr)); + +PNG_EXPORT(80, void, png_set_read_status_fn, (png_structrp png_ptr, + png_read_status_ptr read_row_fn)); + +PNG_EXPORT(81, void, png_set_write_status_fn, (png_structrp png_ptr, + png_write_status_ptr write_row_fn)); + +#ifdef PNG_USER_MEM_SUPPORTED +/* Replace the default memory allocation functions with user supplied one(s). */ +PNG_EXPORT(82, void, png_set_mem_fn, (png_structrp png_ptr, png_voidp mem_ptr, + png_malloc_ptr malloc_fn, png_free_ptr free_fn)); +/* Return the user pointer associated with the memory functions */ +PNG_EXPORT(83, png_voidp, png_get_mem_ptr, (png_const_structrp png_ptr)); +#endif + +#ifdef PNG_READ_USER_TRANSFORM_SUPPORTED +PNG_EXPORT(84, void, png_set_read_user_transform_fn, (png_structrp png_ptr, + png_user_transform_ptr read_user_transform_fn)); +#endif + +#ifdef PNG_WRITE_USER_TRANSFORM_SUPPORTED +PNG_EXPORT(85, void, png_set_write_user_transform_fn, (png_structrp png_ptr, + png_user_transform_ptr write_user_transform_fn)); +#endif + +#ifdef PNG_USER_TRANSFORM_PTR_SUPPORTED +PNG_EXPORT(86, void, png_set_user_transform_info, (png_structrp png_ptr, + png_voidp user_transform_ptr, int user_transform_depth, + int user_transform_channels)); +/* Return the user pointer associated with the user transform functions */ +PNG_EXPORT(87, png_voidp, png_get_user_transform_ptr, + (png_const_structrp png_ptr)); +#endif + +#ifdef PNG_USER_TRANSFORM_INFO_SUPPORTED +/* Return information about the row currently being processed. Note that these + * APIs do not fail but will return unexpected results if called outside a user + * transform callback. Also note that when transforming an interlaced image the + * row number is the row number within the sub-image of the interlace pass, so + * the value will increase to the height of the sub-image (not the full image) + * then reset to 0 for the next pass. + * + * Use PNG_ROW_FROM_PASS_ROW(row, pass) and PNG_COL_FROM_PASS_COL(col, pass) to + * find the output pixel (x,y) given an interlaced sub-image pixel + * (row,col,pass). (See below for these macros.) + */ +PNG_EXPORT(217, png_uint_32, png_get_current_row_number, (png_const_structrp)); +PNG_EXPORT(218, png_byte, png_get_current_pass_number, (png_const_structrp)); +#endif + +#ifdef PNG_READ_USER_CHUNKS_SUPPORTED +/* This callback is called only for *unknown* chunks. If + * PNG_HANDLE_AS_UNKNOWN_SUPPORTED is set then it is possible to set known + * chunks to be treated as unknown, however in this case the callback must do + * any processing required by the chunk (e.g. by calling the appropriate + * png_set_ APIs.) + * + * There is no write support - on write, by default, all the chunks in the + * 'unknown' list are written in the specified position. + * + * The integer return from the callback function is interpreted thus: + * + * negative: An error occurred; png_chunk_error will be called. + * zero: The chunk was not handled, the chunk will be saved. A critical + * chunk will cause an error at this point unless it is to be saved. + * positive: The chunk was handled, libpng will ignore/discard it. + * + * See "INTERACTION WITH USER CHUNK CALLBACKS" below for important notes about + * how this behavior will change in libpng 1.7 + */ +PNG_EXPORT(88, void, png_set_read_user_chunk_fn, (png_structrp png_ptr, + png_voidp user_chunk_ptr, png_user_chunk_ptr read_user_chunk_fn)); +#endif + +#ifdef PNG_USER_CHUNKS_SUPPORTED +PNG_EXPORT(89, png_voidp, png_get_user_chunk_ptr, (png_const_structrp png_ptr)); +#endif + +#ifdef PNG_PROGRESSIVE_READ_SUPPORTED +/* Sets the function callbacks for the push reader, and a pointer to a + * user-defined structure available to the callback functions. + */ +PNG_EXPORT(90, void, png_set_progressive_read_fn, (png_structrp png_ptr, + png_voidp progressive_ptr, png_progressive_info_ptr info_fn, + png_progressive_row_ptr row_fn, png_progressive_end_ptr end_fn)); + +/* Returns the user pointer associated with the push read functions */ +PNG_EXPORT(91, png_voidp, png_get_progressive_ptr, + (png_const_structrp png_ptr)); + +/* Function to be called when data becomes available */ +PNG_EXPORT(92, void, png_process_data, (png_structrp png_ptr, + png_inforp info_ptr, png_bytep buffer, size_t buffer_size)); + +/* A function which may be called *only* within png_process_data to stop the + * processing of any more data. The function returns the number of bytes + * remaining, excluding any that libpng has cached internally. A subsequent + * call to png_process_data must supply these bytes again. If the argument + * 'save' is set to true the routine will first save all the pending data and + * will always return 0. + */ +PNG_EXPORT(219, size_t, png_process_data_pause, (png_structrp, int save)); + +/* A function which may be called *only* outside (after) a call to + * png_process_data. It returns the number of bytes of data to skip in the + * input. Normally it will return 0, but if it returns a non-zero value the + * application must skip than number of bytes of input data and pass the + * following data to the next call to png_process_data. + */ +PNG_EXPORT(220, png_uint_32, png_process_data_skip, (png_structrp)); + +/* Function that combines rows. 'new_row' is a flag that should come from + * the callback and be non-NULL if anything needs to be done; the library + * stores its own version of the new data internally and ignores the passed + * in value. + */ +PNG_EXPORT(93, void, png_progressive_combine_row, (png_const_structrp png_ptr, + png_bytep old_row, png_const_bytep new_row)); +#endif /* PROGRESSIVE_READ */ + +PNG_EXPORTA(94, png_voidp, png_malloc, (png_const_structrp png_ptr, + png_alloc_size_t size), PNG_ALLOCATED); +/* Added at libpng version 1.4.0 */ +PNG_EXPORTA(95, png_voidp, png_calloc, (png_const_structrp png_ptr, + png_alloc_size_t size), PNG_ALLOCATED); + +/* Added at libpng version 1.2.4 */ +PNG_EXPORTA(96, png_voidp, png_malloc_warn, (png_const_structrp png_ptr, + png_alloc_size_t size), PNG_ALLOCATED); + +/* Frees a pointer allocated by png_malloc() */ +PNG_EXPORT(97, void, png_free, (png_const_structrp png_ptr, png_voidp ptr)); + +/* Free data that was allocated internally */ +PNG_EXPORT(98, void, png_free_data, (png_const_structrp png_ptr, + png_inforp info_ptr, png_uint_32 free_me, int num)); + +/* Reassign the responsibility for freeing existing data, whether allocated + * by libpng or by the application; this works on the png_info structure passed + * in, without changing the state for other png_info structures. + */ +PNG_EXPORT(99, void, png_data_freer, (png_const_structrp png_ptr, + png_inforp info_ptr, int freer, png_uint_32 mask)); + +/* Assignments for png_data_freer */ +#define PNG_DESTROY_WILL_FREE_DATA 1 +#define PNG_SET_WILL_FREE_DATA 1 +#define PNG_USER_WILL_FREE_DATA 2 +/* Flags for png_ptr->free_me and info_ptr->free_me */ +#define PNG_FREE_HIST 0x0008U +#define PNG_FREE_ICCP 0x0010U +#define PNG_FREE_SPLT 0x0020U +#define PNG_FREE_ROWS 0x0040U +#define PNG_FREE_PCAL 0x0080U +#define PNG_FREE_SCAL 0x0100U +#ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED +# define PNG_FREE_UNKN 0x0200U +#endif +/* PNG_FREE_LIST 0x0400U removed in 1.6.0 because it is ignored */ +#define PNG_FREE_PLTE 0x1000U +#define PNG_FREE_TRNS 0x2000U +#define PNG_FREE_TEXT 0x4000U +#define PNG_FREE_EXIF 0x8000U /* Added at libpng-1.6.31 */ +#define PNG_FREE_ALL 0xffffU +#define PNG_FREE_MUL 0x4220U /* PNG_FREE_SPLT|PNG_FREE_TEXT|PNG_FREE_UNKN */ + +#ifdef PNG_USER_MEM_SUPPORTED +PNG_EXPORTA(100, png_voidp, png_malloc_default, (png_const_structrp png_ptr, + png_alloc_size_t size), PNG_ALLOCATED PNG_DEPRECATED); +PNG_EXPORTA(101, void, png_free_default, (png_const_structrp png_ptr, + png_voidp ptr), PNG_DEPRECATED); +#endif + +#ifdef PNG_ERROR_TEXT_SUPPORTED +/* Fatal error in PNG image of libpng - can't continue */ +PNG_EXPORTA(102, void, png_error, (png_const_structrp png_ptr, + png_const_charp error_message), PNG_NORETURN); + +/* The same, but the chunk name is prepended to the error string. */ +PNG_EXPORTA(103, void, png_chunk_error, (png_const_structrp png_ptr, + png_const_charp error_message), PNG_NORETURN); + +#else +/* Fatal error in PNG image of libpng - can't continue */ +PNG_EXPORTA(104, void, png_err, (png_const_structrp png_ptr), PNG_NORETURN); +# define png_error(s1,s2) png_err(s1) +# define png_chunk_error(s1,s2) png_err(s1) +#endif + +#ifdef PNG_WARNINGS_SUPPORTED +/* Non-fatal error in libpng. Can continue, but may have a problem. */ +PNG_EXPORT(105, void, png_warning, (png_const_structrp png_ptr, + png_const_charp warning_message)); + +/* Non-fatal error in libpng, chunk name is prepended to message. */ +PNG_EXPORT(106, void, png_chunk_warning, (png_const_structrp png_ptr, + png_const_charp warning_message)); +#else +# define png_warning(s1,s2) ((void)(s1)) +# define png_chunk_warning(s1,s2) ((void)(s1)) +#endif + +#ifdef PNG_BENIGN_ERRORS_SUPPORTED +/* Benign error in libpng. Can continue, but may have a problem. + * User can choose whether to handle as a fatal error or as a warning. */ +PNG_EXPORT(107, void, png_benign_error, (png_const_structrp png_ptr, + png_const_charp warning_message)); + +#ifdef PNG_READ_SUPPORTED +/* Same, chunk name is prepended to message (only during read) */ +PNG_EXPORT(108, void, png_chunk_benign_error, (png_const_structrp png_ptr, + png_const_charp warning_message)); +#endif + +PNG_EXPORT(109, void, png_set_benign_errors, + (png_structrp png_ptr, int allowed)); +#else +# ifdef PNG_ALLOW_BENIGN_ERRORS +# define png_benign_error png_warning +# define png_chunk_benign_error png_chunk_warning +# else +# define png_benign_error png_error +# define png_chunk_benign_error png_chunk_error +# endif +#endif + +/* The png_set_ functions are for storing values in the png_info_struct. + * Similarly, the png_get_ calls are used to read values from the + * png_info_struct, either storing the parameters in the passed variables, or + * setting pointers into the png_info_struct where the data is stored. The + * png_get_ functions return a non-zero value if the data was available + * in info_ptr, or return zero and do not change any of the parameters if the + * data was not available. + * + * These functions should be used instead of directly accessing png_info + * to avoid problems with future changes in the size and internal layout of + * png_info_struct. + */ +/* Returns "flag" if chunk data is valid in info_ptr. */ +PNG_EXPORT(110, png_uint_32, png_get_valid, (png_const_structrp png_ptr, + png_const_inforp info_ptr, png_uint_32 flag)); + +/* Returns number of bytes needed to hold a transformed row. */ +PNG_EXPORT(111, size_t, png_get_rowbytes, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +#ifdef PNG_INFO_IMAGE_SUPPORTED +/* Returns row_pointers, which is an array of pointers to scanlines that was + * returned from png_read_png(). + */ +PNG_EXPORT(112, png_bytepp, png_get_rows, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Set row_pointers, which is an array of pointers to scanlines for use + * by png_write_png(). + */ +PNG_EXPORT(113, void, png_set_rows, (png_const_structrp png_ptr, + png_inforp info_ptr, png_bytepp row_pointers)); +#endif + +/* Returns number of color channels in image. */ +PNG_EXPORT(114, png_byte, png_get_channels, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +#ifdef PNG_EASY_ACCESS_SUPPORTED +/* Returns image width in pixels. */ +PNG_EXPORT(115, png_uint_32, png_get_image_width, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image height in pixels. */ +PNG_EXPORT(116, png_uint_32, png_get_image_height, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image bit_depth. */ +PNG_EXPORT(117, png_byte, png_get_bit_depth, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image color_type. */ +PNG_EXPORT(118, png_byte, png_get_color_type, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image filter_type. */ +PNG_EXPORT(119, png_byte, png_get_filter_type, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image interlace_type. */ +PNG_EXPORT(120, png_byte, png_get_interlace_type, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image compression_type. */ +PNG_EXPORT(121, png_byte, png_get_compression_type, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image resolution in pixels per meter, from pHYs chunk data. */ +PNG_EXPORT(122, png_uint_32, png_get_pixels_per_meter, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); +PNG_EXPORT(123, png_uint_32, png_get_x_pixels_per_meter, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); +PNG_EXPORT(124, png_uint_32, png_get_y_pixels_per_meter, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); + +/* Returns pixel aspect ratio, computed from pHYs chunk data. */ +PNG_FP_EXPORT(125, float, png_get_pixel_aspect_ratio, + (png_const_structrp png_ptr, png_const_inforp info_ptr)) +PNG_FIXED_EXPORT(210, png_fixed_point, png_get_pixel_aspect_ratio_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr)) + +/* Returns image x, y offset in pixels or microns, from oFFs chunk data. */ +PNG_EXPORT(126, png_int_32, png_get_x_offset_pixels, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); +PNG_EXPORT(127, png_int_32, png_get_y_offset_pixels, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); +PNG_EXPORT(128, png_int_32, png_get_x_offset_microns, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); +PNG_EXPORT(129, png_int_32, png_get_y_offset_microns, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); + +#endif /* EASY_ACCESS */ + +#ifdef PNG_READ_SUPPORTED +/* Returns pointer to signature string read from PNG header */ +PNG_EXPORT(130, png_const_bytep, png_get_signature, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); +#endif + +#ifdef PNG_bKGD_SUPPORTED +PNG_EXPORT(131, png_uint_32, png_get_bKGD, (png_const_structrp png_ptr, + png_inforp info_ptr, png_color_16p *background)); +#endif + +#ifdef PNG_bKGD_SUPPORTED +PNG_EXPORT(132, void, png_set_bKGD, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_color_16p background)); +#endif + +#ifdef PNG_cHRM_SUPPORTED +PNG_FP_EXPORT(133, png_uint_32, png_get_cHRM, (png_const_structrp png_ptr, + png_const_inforp info_ptr, double *white_x, double *white_y, double *red_x, + double *red_y, double *green_x, double *green_y, double *blue_x, + double *blue_y)) +PNG_FP_EXPORT(230, png_uint_32, png_get_cHRM_XYZ, (png_const_structrp png_ptr, + png_const_inforp info_ptr, double *red_X, double *red_Y, double *red_Z, + double *green_X, double *green_Y, double *green_Z, double *blue_X, + double *blue_Y, double *blue_Z)) +PNG_FIXED_EXPORT(134, png_uint_32, png_get_cHRM_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr, + png_fixed_point *int_white_x, png_fixed_point *int_white_y, + png_fixed_point *int_red_x, png_fixed_point *int_red_y, + png_fixed_point *int_green_x, png_fixed_point *int_green_y, + png_fixed_point *int_blue_x, png_fixed_point *int_blue_y)) +PNG_FIXED_EXPORT(231, png_uint_32, png_get_cHRM_XYZ_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr, + png_fixed_point *int_red_X, png_fixed_point *int_red_Y, + png_fixed_point *int_red_Z, png_fixed_point *int_green_X, + png_fixed_point *int_green_Y, png_fixed_point *int_green_Z, + png_fixed_point *int_blue_X, png_fixed_point *int_blue_Y, + png_fixed_point *int_blue_Z)) +#endif + +#ifdef PNG_cHRM_SUPPORTED +PNG_FP_EXPORT(135, void, png_set_cHRM, (png_const_structrp png_ptr, + png_inforp info_ptr, + double white_x, double white_y, double red_x, double red_y, double green_x, + double green_y, double blue_x, double blue_y)) +PNG_FP_EXPORT(232, void, png_set_cHRM_XYZ, (png_const_structrp png_ptr, + png_inforp info_ptr, double red_X, double red_Y, double red_Z, + double green_X, double green_Y, double green_Z, double blue_X, + double blue_Y, double blue_Z)) +PNG_FIXED_EXPORT(136, void, png_set_cHRM_fixed, (png_const_structrp png_ptr, + png_inforp info_ptr, png_fixed_point int_white_x, + png_fixed_point int_white_y, png_fixed_point int_red_x, + png_fixed_point int_red_y, png_fixed_point int_green_x, + png_fixed_point int_green_y, png_fixed_point int_blue_x, + png_fixed_point int_blue_y)) +PNG_FIXED_EXPORT(233, void, png_set_cHRM_XYZ_fixed, (png_const_structrp png_ptr, + png_inforp info_ptr, png_fixed_point int_red_X, png_fixed_point int_red_Y, + png_fixed_point int_red_Z, png_fixed_point int_green_X, + png_fixed_point int_green_Y, png_fixed_point int_green_Z, + png_fixed_point int_blue_X, png_fixed_point int_blue_Y, + png_fixed_point int_blue_Z)) +#endif + +#ifdef PNG_eXIf_SUPPORTED +PNG_EXPORT(246, png_uint_32, png_get_eXIf, (png_const_structrp png_ptr, + png_inforp info_ptr, png_bytep *exif)); +PNG_EXPORT(247, void, png_set_eXIf, (png_const_structrp png_ptr, + png_inforp info_ptr, png_bytep exif)); + +PNG_EXPORT(248, png_uint_32, png_get_eXIf_1, (png_const_structrp png_ptr, + png_const_inforp info_ptr, png_uint_32 *num_exif, png_bytep *exif)); +PNG_EXPORT(249, void, png_set_eXIf_1, (png_const_structrp png_ptr, + png_inforp info_ptr, png_uint_32 num_exif, png_bytep exif)); +#endif + +#ifdef PNG_gAMA_SUPPORTED +PNG_FP_EXPORT(137, png_uint_32, png_get_gAMA, (png_const_structrp png_ptr, + png_const_inforp info_ptr, double *file_gamma)) +PNG_FIXED_EXPORT(138, png_uint_32, png_get_gAMA_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr, + png_fixed_point *int_file_gamma)) +#endif + +#ifdef PNG_gAMA_SUPPORTED +PNG_FP_EXPORT(139, void, png_set_gAMA, (png_const_structrp png_ptr, + png_inforp info_ptr, double file_gamma)) +PNG_FIXED_EXPORT(140, void, png_set_gAMA_fixed, (png_const_structrp png_ptr, + png_inforp info_ptr, png_fixed_point int_file_gamma)) +#endif + +#ifdef PNG_hIST_SUPPORTED +PNG_EXPORT(141, png_uint_32, png_get_hIST, (png_const_structrp png_ptr, + png_inforp info_ptr, png_uint_16p *hist)); +PNG_EXPORT(142, void, png_set_hIST, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_uint_16p hist)); +#endif + +PNG_EXPORT(143, png_uint_32, png_get_IHDR, (png_const_structrp png_ptr, + png_const_inforp info_ptr, png_uint_32 *width, png_uint_32 *height, + int *bit_depth, int *color_type, int *interlace_method, + int *compression_method, int *filter_method)); + +PNG_EXPORT(144, void, png_set_IHDR, (png_const_structrp png_ptr, + png_inforp info_ptr, png_uint_32 width, png_uint_32 height, int bit_depth, + int color_type, int interlace_method, int compression_method, + int filter_method)); + +#ifdef PNG_oFFs_SUPPORTED +PNG_EXPORT(145, png_uint_32, png_get_oFFs, (png_const_structrp png_ptr, + png_const_inforp info_ptr, png_int_32 *offset_x, png_int_32 *offset_y, + int *unit_type)); +#endif + +#ifdef PNG_oFFs_SUPPORTED +PNG_EXPORT(146, void, png_set_oFFs, (png_const_structrp png_ptr, + png_inforp info_ptr, png_int_32 offset_x, png_int_32 offset_y, + int unit_type)); +#endif + +#ifdef PNG_pCAL_SUPPORTED +PNG_EXPORT(147, png_uint_32, png_get_pCAL, (png_const_structrp png_ptr, + png_inforp info_ptr, png_charp *purpose, png_int_32 *X0, + png_int_32 *X1, int *type, int *nparams, png_charp *units, + png_charpp *params)); +#endif + +#ifdef PNG_pCAL_SUPPORTED +PNG_EXPORT(148, void, png_set_pCAL, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_charp purpose, png_int_32 X0, png_int_32 X1, + int type, int nparams, png_const_charp units, png_charpp params)); +#endif + +#ifdef PNG_pHYs_SUPPORTED +PNG_EXPORT(149, png_uint_32, png_get_pHYs, (png_const_structrp png_ptr, + png_const_inforp info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, + int *unit_type)); +#endif + +#ifdef PNG_pHYs_SUPPORTED +PNG_EXPORT(150, void, png_set_pHYs, (png_const_structrp png_ptr, + png_inforp info_ptr, png_uint_32 res_x, png_uint_32 res_y, int unit_type)); +#endif + +PNG_EXPORT(151, png_uint_32, png_get_PLTE, (png_const_structrp png_ptr, + png_inforp info_ptr, png_colorp *palette, int *num_palette)); + +PNG_EXPORT(152, void, png_set_PLTE, (png_structrp png_ptr, + png_inforp info_ptr, png_const_colorp palette, int num_palette)); + +#ifdef PNG_sBIT_SUPPORTED +PNG_EXPORT(153, png_uint_32, png_get_sBIT, (png_const_structrp png_ptr, + png_inforp info_ptr, png_color_8p *sig_bit)); +#endif + +#ifdef PNG_sBIT_SUPPORTED +PNG_EXPORT(154, void, png_set_sBIT, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_color_8p sig_bit)); +#endif + +#ifdef PNG_sRGB_SUPPORTED +PNG_EXPORT(155, png_uint_32, png_get_sRGB, (png_const_structrp png_ptr, + png_const_inforp info_ptr, int *file_srgb_intent)); +#endif + +#ifdef PNG_sRGB_SUPPORTED +PNG_EXPORT(156, void, png_set_sRGB, (png_const_structrp png_ptr, + png_inforp info_ptr, int srgb_intent)); +PNG_EXPORT(157, void, png_set_sRGB_gAMA_and_cHRM, (png_const_structrp png_ptr, + png_inforp info_ptr, int srgb_intent)); +#endif + +#ifdef PNG_iCCP_SUPPORTED +PNG_EXPORT(158, png_uint_32, png_get_iCCP, (png_const_structrp png_ptr, + png_inforp info_ptr, png_charpp name, int *compression_type, + png_bytepp profile, png_uint_32 *proflen)); +#endif + +#ifdef PNG_iCCP_SUPPORTED +PNG_EXPORT(159, void, png_set_iCCP, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_charp name, int compression_type, + png_const_bytep profile, png_uint_32 proflen)); +#endif + +#ifdef PNG_sPLT_SUPPORTED +PNG_EXPORT(160, int, png_get_sPLT, (png_const_structrp png_ptr, + png_inforp info_ptr, png_sPLT_tpp entries)); +#endif + +#ifdef PNG_sPLT_SUPPORTED +PNG_EXPORT(161, void, png_set_sPLT, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_sPLT_tp entries, int nentries)); +#endif + +#ifdef PNG_TEXT_SUPPORTED +/* png_get_text also returns the number of text chunks in *num_text */ +PNG_EXPORT(162, int, png_get_text, (png_const_structrp png_ptr, + png_inforp info_ptr, png_textp *text_ptr, int *num_text)); +#endif + +/* Note while png_set_text() will accept a structure whose text, + * language, and translated keywords are NULL pointers, the structure + * returned by png_get_text will always contain regular + * zero-terminated C strings. They might be empty strings but + * they will never be NULL pointers. + */ + +#ifdef PNG_TEXT_SUPPORTED +PNG_EXPORT(163, void, png_set_text, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_textp text_ptr, int num_text)); +#endif + +#ifdef PNG_tIME_SUPPORTED +PNG_EXPORT(164, png_uint_32, png_get_tIME, (png_const_structrp png_ptr, + png_inforp info_ptr, png_timep *mod_time)); +#endif + +#ifdef PNG_tIME_SUPPORTED +PNG_EXPORT(165, void, png_set_tIME, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_timep mod_time)); +#endif + +#ifdef PNG_tRNS_SUPPORTED +PNG_EXPORT(166, png_uint_32, png_get_tRNS, (png_const_structrp png_ptr, + png_inforp info_ptr, png_bytep *trans_alpha, int *num_trans, + png_color_16p *trans_color)); +#endif + +#ifdef PNG_tRNS_SUPPORTED +PNG_EXPORT(167, void, png_set_tRNS, (png_structrp png_ptr, + png_inforp info_ptr, png_const_bytep trans_alpha, int num_trans, + png_const_color_16p trans_color)); +#endif + +#ifdef PNG_sCAL_SUPPORTED +PNG_FP_EXPORT(168, png_uint_32, png_get_sCAL, (png_const_structrp png_ptr, + png_const_inforp info_ptr, int *unit, double *width, double *height)) +#if defined(PNG_FLOATING_ARITHMETIC_SUPPORTED) || \ + defined(PNG_FLOATING_POINT_SUPPORTED) +/* NOTE: this API is currently implemented using floating point arithmetic, + * consequently it can only be used on systems with floating point support. + * In any case the range of values supported by png_fixed_point is small and it + * is highly recommended that png_get_sCAL_s be used instead. + */ +PNG_FIXED_EXPORT(214, png_uint_32, png_get_sCAL_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr, int *unit, + png_fixed_point *width, png_fixed_point *height)) +#endif +PNG_EXPORT(169, png_uint_32, png_get_sCAL_s, + (png_const_structrp png_ptr, png_const_inforp info_ptr, int *unit, + png_charpp swidth, png_charpp sheight)); + +PNG_FP_EXPORT(170, void, png_set_sCAL, (png_const_structrp png_ptr, + png_inforp info_ptr, int unit, double width, double height)) +PNG_FIXED_EXPORT(213, void, png_set_sCAL_fixed, (png_const_structrp png_ptr, + png_inforp info_ptr, int unit, png_fixed_point width, + png_fixed_point height)) +PNG_EXPORT(171, void, png_set_sCAL_s, (png_const_structrp png_ptr, + png_inforp info_ptr, int unit, + png_const_charp swidth, png_const_charp sheight)); +#endif /* sCAL */ + +#ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED +/* Provide the default handling for all unknown chunks or, optionally, for + * specific unknown chunks. + * + * NOTE: prior to 1.6.0 the handling specified for particular chunks on read was + * ignored and the default was used, the per-chunk setting only had an effect on + * write. If you wish to have chunk-specific handling on read in code that must + * work on earlier versions you must use a user chunk callback to specify the + * desired handling (keep or discard.) + * + * The 'keep' parameter is a PNG_HANDLE_CHUNK_ value as listed below. The + * parameter is interpreted as follows: + * + * READ: + * PNG_HANDLE_CHUNK_AS_DEFAULT: + * Known chunks: do normal libpng processing, do not keep the chunk (but + * see the comments below about PNG_HANDLE_AS_UNKNOWN_SUPPORTED) + * Unknown chunks: for a specific chunk use the global default, when used + * as the default discard the chunk data. + * PNG_HANDLE_CHUNK_NEVER: + * Discard the chunk data. + * PNG_HANDLE_CHUNK_IF_SAFE: + * Keep the chunk data if the chunk is not critical else raise a chunk + * error. + * PNG_HANDLE_CHUNK_ALWAYS: + * Keep the chunk data. + * + * If the chunk data is saved it can be retrieved using png_get_unknown_chunks, + * below. Notice that specifying "AS_DEFAULT" as a global default is equivalent + * to specifying "NEVER", however when "AS_DEFAULT" is used for specific chunks + * it simply resets the behavior to the libpng default. + * + * INTERACTION WITH USER CHUNK CALLBACKS: + * The per-chunk handling is always used when there is a png_user_chunk_ptr + * callback and the callback returns 0; the chunk is then always stored *unless* + * it is critical and the per-chunk setting is other than ALWAYS. Notice that + * the global default is *not* used in this case. (In effect the per-chunk + * value is incremented to at least IF_SAFE.) + * + * IMPORTANT NOTE: this behavior will change in libpng 1.7 - the global and + * per-chunk defaults will be honored. If you want to preserve the current + * behavior when your callback returns 0 you must set PNG_HANDLE_CHUNK_IF_SAFE + * as the default - if you don't do this libpng 1.6 will issue a warning. + * + * If you want unhandled unknown chunks to be discarded in libpng 1.6 and + * earlier simply return '1' (handled). + * + * PNG_HANDLE_AS_UNKNOWN_SUPPORTED: + * If this is *not* set known chunks will always be handled by libpng and + * will never be stored in the unknown chunk list. Known chunks listed to + * png_set_keep_unknown_chunks will have no effect. If it is set then known + * chunks listed with a keep other than AS_DEFAULT will *never* be processed + * by libpng, in addition critical chunks must either be processed by the + * callback or saved. + * + * The IHDR and IEND chunks must not be listed. Because this turns off the + * default handling for chunks that would otherwise be recognized the + * behavior of libpng transformations may well become incorrect! + * + * WRITE: + * When writing chunks the options only apply to the chunks specified by + * png_set_unknown_chunks (below), libpng will *always* write known chunks + * required by png_set_ calls and will always write the core critical chunks + * (as required for PLTE). + * + * Each chunk in the png_set_unknown_chunks list is looked up in the + * png_set_keep_unknown_chunks list to find the keep setting, this is then + * interpreted as follows: + * + * PNG_HANDLE_CHUNK_AS_DEFAULT: + * Write safe-to-copy chunks and write other chunks if the global + * default is set to _ALWAYS, otherwise don't write this chunk. + * PNG_HANDLE_CHUNK_NEVER: + * Do not write the chunk. + * PNG_HANDLE_CHUNK_IF_SAFE: + * Write the chunk if it is safe-to-copy, otherwise do not write it. + * PNG_HANDLE_CHUNK_ALWAYS: + * Write the chunk. + * + * Note that the default behavior is effectively the opposite of the read case - + * in read unknown chunks are not stored by default, in write they are written + * by default. Also the behavior of PNG_HANDLE_CHUNK_IF_SAFE is very different + * - on write the safe-to-copy bit is checked, on read the critical bit is + * checked and on read if the chunk is critical an error will be raised. + * + * num_chunks: + * =========== + * If num_chunks is positive, then the "keep" parameter specifies the manner + * for handling only those chunks appearing in the chunk_list array, + * otherwise the chunk list array is ignored. + * + * If num_chunks is 0 the "keep" parameter specifies the default behavior for + * unknown chunks, as described above. + * + * If num_chunks is negative, then the "keep" parameter specifies the manner + * for handling all unknown chunks plus all chunks recognized by libpng + * except for the IHDR, PLTE, tRNS, IDAT, and IEND chunks (which continue to + * be processed by libpng. + */ +#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED +PNG_EXPORT(172, void, png_set_keep_unknown_chunks, (png_structrp png_ptr, + int keep, png_const_bytep chunk_list, int num_chunks)); +#endif /* HANDLE_AS_UNKNOWN */ + +/* The "keep" PNG_HANDLE_CHUNK_ parameter for the specified chunk is returned; + * the result is therefore true (non-zero) if special handling is required, + * false for the default handling. + */ +PNG_EXPORT(173, int, png_handle_as_unknown, (png_const_structrp png_ptr, + png_const_bytep chunk_name)); +#endif /* SET_UNKNOWN_CHUNKS */ + +#ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED +PNG_EXPORT(174, void, png_set_unknown_chunks, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_unknown_chunkp unknowns, + int num_unknowns)); + /* NOTE: prior to 1.6.0 this routine set the 'location' field of the added + * unknowns to the location currently stored in the png_struct. This is + * invariably the wrong value on write. To fix this call the following API + * for each chunk in the list with the correct location. If you know your + * code won't be compiled on earlier versions you can rely on + * png_set_unknown_chunks(write-ptr, png_get_unknown_chunks(read-ptr)) doing + * the correct thing. + */ + +PNG_EXPORT(175, void, png_set_unknown_chunk_location, + (png_const_structrp png_ptr, png_inforp info_ptr, int chunk, int location)); + +PNG_EXPORT(176, int, png_get_unknown_chunks, (png_const_structrp png_ptr, + png_inforp info_ptr, png_unknown_chunkpp entries)); +#endif + +/* Png_free_data() will turn off the "valid" flag for anything it frees. + * If you need to turn it off for a chunk that your application has freed, + * you can use png_set_invalid(png_ptr, info_ptr, PNG_INFO_CHNK); + */ +PNG_EXPORT(177, void, png_set_invalid, (png_const_structrp png_ptr, + png_inforp info_ptr, int mask)); + +#ifdef PNG_INFO_IMAGE_SUPPORTED +/* The "params" pointer is currently not used and is for future expansion. */ +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +PNG_EXPORT(178, void, png_read_png, (png_structrp png_ptr, png_inforp info_ptr, + int transforms, png_voidp params)); +#endif +#ifdef PNG_WRITE_SUPPORTED +PNG_EXPORT(179, void, png_write_png, (png_structrp png_ptr, png_inforp info_ptr, + int transforms, png_voidp params)); +#endif +#endif + +PNG_EXPORT(180, png_const_charp, png_get_copyright, + (png_const_structrp png_ptr)); +PNG_EXPORT(181, png_const_charp, png_get_header_ver, + (png_const_structrp png_ptr)); +PNG_EXPORT(182, png_const_charp, png_get_header_version, + (png_const_structrp png_ptr)); +PNG_EXPORT(183, png_const_charp, png_get_libpng_ver, + (png_const_structrp png_ptr)); + +#ifdef PNG_MNG_FEATURES_SUPPORTED +PNG_EXPORT(184, png_uint_32, png_permit_mng_features, (png_structrp png_ptr, + png_uint_32 mng_features_permitted)); +#endif + +/* For use in png_set_keep_unknown, added to version 1.2.6 */ +#define PNG_HANDLE_CHUNK_AS_DEFAULT 0 +#define PNG_HANDLE_CHUNK_NEVER 1 +#define PNG_HANDLE_CHUNK_IF_SAFE 2 +#define PNG_HANDLE_CHUNK_ALWAYS 3 +#define PNG_HANDLE_CHUNK_LAST 4 + +/* Strip the prepended error numbers ("#nnn ") from error and warning + * messages before passing them to the error or warning handler. + */ +#ifdef PNG_ERROR_NUMBERS_SUPPORTED +PNG_EXPORT(185, void, png_set_strip_error_numbers, (png_structrp png_ptr, + png_uint_32 strip_mode)); +#endif + +/* Added in libpng-1.2.6 */ +#ifdef PNG_SET_USER_LIMITS_SUPPORTED +PNG_EXPORT(186, void, png_set_user_limits, (png_structrp png_ptr, + png_uint_32 user_width_max, png_uint_32 user_height_max)); +PNG_EXPORT(187, png_uint_32, png_get_user_width_max, + (png_const_structrp png_ptr)); +PNG_EXPORT(188, png_uint_32, png_get_user_height_max, + (png_const_structrp png_ptr)); +/* Added in libpng-1.4.0 */ +PNG_EXPORT(189, void, png_set_chunk_cache_max, (png_structrp png_ptr, + png_uint_32 user_chunk_cache_max)); +PNG_EXPORT(190, png_uint_32, png_get_chunk_cache_max, + (png_const_structrp png_ptr)); +/* Added in libpng-1.4.1 */ +PNG_EXPORT(191, void, png_set_chunk_malloc_max, (png_structrp png_ptr, + png_alloc_size_t user_chunk_cache_max)); +PNG_EXPORT(192, png_alloc_size_t, png_get_chunk_malloc_max, + (png_const_structrp png_ptr)); +#endif + +#if defined(PNG_INCH_CONVERSIONS_SUPPORTED) +PNG_EXPORT(193, png_uint_32, png_get_pixels_per_inch, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); + +PNG_EXPORT(194, png_uint_32, png_get_x_pixels_per_inch, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); + +PNG_EXPORT(195, png_uint_32, png_get_y_pixels_per_inch, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); + +PNG_FP_EXPORT(196, float, png_get_x_offset_inches, + (png_const_structrp png_ptr, png_const_inforp info_ptr)) +#ifdef PNG_FIXED_POINT_SUPPORTED /* otherwise not implemented. */ +PNG_FIXED_EXPORT(211, png_fixed_point, png_get_x_offset_inches_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr)) +#endif + +PNG_FP_EXPORT(197, float, png_get_y_offset_inches, (png_const_structrp png_ptr, + png_const_inforp info_ptr)) +#ifdef PNG_FIXED_POINT_SUPPORTED /* otherwise not implemented. */ +PNG_FIXED_EXPORT(212, png_fixed_point, png_get_y_offset_inches_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr)) +#endif + +# ifdef PNG_pHYs_SUPPORTED +PNG_EXPORT(198, png_uint_32, png_get_pHYs_dpi, (png_const_structrp png_ptr, + png_const_inforp info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, + int *unit_type)); +# endif /* pHYs */ +#endif /* INCH_CONVERSIONS */ + +/* Added in libpng-1.4.0 */ +#ifdef PNG_IO_STATE_SUPPORTED +PNG_EXPORT(199, png_uint_32, png_get_io_state, (png_const_structrp png_ptr)); + +/* Removed from libpng 1.6; use png_get_io_chunk_type. */ +PNG_REMOVED(200, png_const_bytep, png_get_io_chunk_name, (png_structrp png_ptr), + PNG_DEPRECATED) + +PNG_EXPORT(216, png_uint_32, png_get_io_chunk_type, + (png_const_structrp png_ptr)); + +/* The flags returned by png_get_io_state() are the following: */ +# define PNG_IO_NONE 0x0000 /* no I/O at this moment */ +# define PNG_IO_READING 0x0001 /* currently reading */ +# define PNG_IO_WRITING 0x0002 /* currently writing */ +# define PNG_IO_SIGNATURE 0x0010 /* currently at the file signature */ +# define PNG_IO_CHUNK_HDR 0x0020 /* currently at the chunk header */ +# define PNG_IO_CHUNK_DATA 0x0040 /* currently at the chunk data */ +# define PNG_IO_CHUNK_CRC 0x0080 /* currently at the chunk crc */ +# define PNG_IO_MASK_OP 0x000f /* current operation: reading/writing */ +# define PNG_IO_MASK_LOC 0x00f0 /* current location: sig/hdr/data/crc */ +#endif /* IO_STATE */ + +/* Interlace support. The following macros are always defined so that if + * libpng interlace handling is turned off the macros may be used to handle + * interlaced images within the application. + */ +#define PNG_INTERLACE_ADAM7_PASSES 7 + +/* Two macros to return the first row and first column of the original, + * full, image which appears in a given pass. 'pass' is in the range 0 + * to 6 and the result is in the range 0 to 7. + */ +#define PNG_PASS_START_ROW(pass) (((1&~(pass))<<(3-((pass)>>1)))&7) +#define PNG_PASS_START_COL(pass) (((1& (pass))<<(3-(((pass)+1)>>1)))&7) + +/* A macro to return the offset between pixels in the output row for a pair of + * pixels in the input - effectively the inverse of the 'COL_SHIFT' macro that + * follows. Note that ROW_OFFSET is the offset from one row to the next whereas + * COL_OFFSET is from one column to the next, within a row. + */ +#define PNG_PASS_ROW_OFFSET(pass) ((pass)>2?(8>>(((pass)-1)>>1)):8) +#define PNG_PASS_COL_OFFSET(pass) (1<<((7-(pass))>>1)) + +/* Two macros to help evaluate the number of rows or columns in each + * pass. This is expressed as a shift - effectively log2 of the number or + * rows or columns in each 8x8 tile of the original image. + */ +#define PNG_PASS_ROW_SHIFT(pass) ((pass)>2?(8-(pass))>>1:3) +#define PNG_PASS_COL_SHIFT(pass) ((pass)>1?(7-(pass))>>1:3) + +/* Hence two macros to determine the number of rows or columns in a given + * pass of an image given its height or width. In fact these macros may + * return non-zero even though the sub-image is empty, because the other + * dimension may be empty for a small image. + */ +#define PNG_PASS_ROWS(height, pass) (((height)+(((1<>PNG_PASS_ROW_SHIFT(pass)) +#define PNG_PASS_COLS(width, pass) (((width)+(((1<>PNG_PASS_COL_SHIFT(pass)) + +/* For the reader row callbacks (both progressive and sequential) it is + * necessary to find the row in the output image given a row in an interlaced + * image, so two more macros: + */ +#define PNG_ROW_FROM_PASS_ROW(y_in, pass) \ + (((y_in)<>(((7-(off))-(pass))<<2)) & 0xF) | \ + ((0x01145AF0>>(((7-(off))-(pass))<<2)) & 0xF0)) + +#define PNG_ROW_IN_INTERLACE_PASS(y, pass) \ + ((PNG_PASS_MASK(pass,0) >> ((y)&7)) & 1) +#define PNG_COL_IN_INTERLACE_PASS(x, pass) \ + ((PNG_PASS_MASK(pass,1) >> ((x)&7)) & 1) + +#ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED +/* With these routines we avoid an integer divide, which will be slower on + * most machines. However, it does take more operations than the corresponding + * divide method, so it may be slower on a few RISC systems. There are two + * shifts (by 8 or 16 bits) and an addition, versus a single integer divide. + * + * Note that the rounding factors are NOT supposed to be the same! 128 and + * 32768 are correct for the NODIV code; 127 and 32767 are correct for the + * standard method. + * + * [Optimized code by Greg Roelofs and Mark Adler...blame us for bugs. :-) ] + */ + + /* fg and bg should be in `gamma 1.0' space; alpha is the opacity */ + +# define png_composite(composite, fg, alpha, bg) \ + { \ + png_uint_16 temp = (png_uint_16)((png_uint_16)(fg) \ + * (png_uint_16)(alpha) \ + + (png_uint_16)(bg)*(png_uint_16)(255 \ + - (png_uint_16)(alpha)) + 128); \ + (composite) = (png_byte)(((temp + (temp >> 8)) >> 8) & 0xff); \ + } + +# define png_composite_16(composite, fg, alpha, bg) \ + { \ + png_uint_32 temp = (png_uint_32)((png_uint_32)(fg) \ + * (png_uint_32)(alpha) \ + + (png_uint_32)(bg)*(65535 \ + - (png_uint_32)(alpha)) + 32768); \ + (composite) = (png_uint_16)(0xffff & ((temp + (temp >> 16)) >> 16)); \ + } + +#else /* Standard method using integer division */ + +# define png_composite(composite, fg, alpha, bg) \ + (composite) = \ + (png_byte)(0xff & (((png_uint_16)(fg) * (png_uint_16)(alpha) + \ + (png_uint_16)(bg) * (png_uint_16)(255 - (png_uint_16)(alpha)) + \ + 127) / 255)) + +# define png_composite_16(composite, fg, alpha, bg) \ + (composite) = \ + (png_uint_16)(0xffff & (((png_uint_32)(fg) * (png_uint_32)(alpha) + \ + (png_uint_32)(bg)*(png_uint_32)(65535 - (png_uint_32)(alpha)) + \ + 32767) / 65535)) +#endif /* READ_COMPOSITE_NODIV */ + +#ifdef PNG_READ_INT_FUNCTIONS_SUPPORTED +PNG_EXPORT(201, png_uint_32, png_get_uint_32, (png_const_bytep buf)); +PNG_EXPORT(202, png_uint_16, png_get_uint_16, (png_const_bytep buf)); +PNG_EXPORT(203, png_int_32, png_get_int_32, (png_const_bytep buf)); +#endif + +PNG_EXPORT(204, png_uint_32, png_get_uint_31, (png_const_structrp png_ptr, + png_const_bytep buf)); +/* No png_get_int_16 -- may be added if there's a real need for it. */ + +/* Place a 32-bit number into a buffer in PNG byte order (big-endian). */ +#ifdef PNG_WRITE_INT_FUNCTIONS_SUPPORTED +PNG_EXPORT(205, void, png_save_uint_32, (png_bytep buf, png_uint_32 i)); +#endif +#ifdef PNG_SAVE_INT_32_SUPPORTED +PNG_EXPORT(206, void, png_save_int_32, (png_bytep buf, png_int_32 i)); +#endif + +/* Place a 16-bit number into a buffer in PNG byte order. + * The parameter is declared unsigned int, not png_uint_16, + * just to avoid potential problems on pre-ANSI C compilers. + */ +#ifdef PNG_WRITE_INT_FUNCTIONS_SUPPORTED +PNG_EXPORT(207, void, png_save_uint_16, (png_bytep buf, unsigned int i)); +/* No png_save_int_16 -- may be added if there's a real need for it. */ +#endif + +#ifdef PNG_USE_READ_MACROS +/* Inline macros to do direct reads of bytes from the input buffer. + * The png_get_int_32() routine assumes we are using two's complement + * format for negative values, which is almost certainly true. + */ +# define PNG_get_uint_32(buf) \ + (((png_uint_32)(*(buf)) << 24) + \ + ((png_uint_32)(*((buf) + 1)) << 16) + \ + ((png_uint_32)(*((buf) + 2)) << 8) + \ + ((png_uint_32)(*((buf) + 3)))) + + /* From libpng-1.4.0 until 1.4.4, the png_get_uint_16 macro (but not the + * function) incorrectly returned a value of type png_uint_32. + */ +# define PNG_get_uint_16(buf) \ + ((png_uint_16) \ + (((unsigned int)(*(buf)) << 8) + \ + ((unsigned int)(*((buf) + 1))))) + +# define PNG_get_int_32(buf) \ + ((png_int_32)((*(buf) & 0x80) \ + ? -((png_int_32)(((png_get_uint_32(buf)^0xffffffffU)+1U)&0x7fffffffU)) \ + : (png_int_32)png_get_uint_32(buf))) + +/* If PNG_PREFIX is defined the same thing as below happens in pnglibconf.h, + * but defining a macro name prefixed with PNG_PREFIX. + */ +# ifndef PNG_PREFIX +# define png_get_uint_32(buf) PNG_get_uint_32(buf) +# define png_get_uint_16(buf) PNG_get_uint_16(buf) +# define png_get_int_32(buf) PNG_get_int_32(buf) +# endif +#else +# ifdef PNG_PREFIX + /* No macros; revert to the (redefined) function */ +# define PNG_get_uint_32 (png_get_uint_32) +# define PNG_get_uint_16 (png_get_uint_16) +# define PNG_get_int_32 (png_get_int_32) +# endif +#endif + +#ifdef PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED +PNG_EXPORT(242, void, png_set_check_for_invalid_index, + (png_structrp png_ptr, int allowed)); +# ifdef PNG_GET_PALETTE_MAX_SUPPORTED +PNG_EXPORT(243, int, png_get_palette_max, (png_const_structp png_ptr, + png_const_infop info_ptr)); +# endif +#endif /* CHECK_FOR_INVALID_INDEX */ + +/******************************************************************************* + * Section 5: SIMPLIFIED API + ******************************************************************************* + * + * Please read the documentation in libpng-manual.txt (TODO: write said + * documentation) if you don't understand what follows. + * + * The simplified API hides the details of both libpng and the PNG file format + * itself. It allows PNG files to be read into a very limited number of + * in-memory bitmap formats or to be written from the same formats. If these + * formats do not accommodate your needs then you can, and should, use the more + * sophisticated APIs above - these support a wide variety of in-memory formats + * and a wide variety of sophisticated transformations to those formats as well + * as a wide variety of APIs to manipulate ancillary information. + * + * To read a PNG file using the simplified API: + * + * 1) Declare a 'png_image' structure (see below) on the stack, set the + * version field to PNG_IMAGE_VERSION and the 'opaque' pointer to NULL + * (this is REQUIRED, your program may crash if you don't do it.) + * 2) Call the appropriate png_image_begin_read... function. + * 3) Set the png_image 'format' member to the required sample format. + * 4) Allocate a buffer for the image and, if required, the color-map. + * 5) Call png_image_finish_read to read the image and, if required, the + * color-map into your buffers. + * + * There are no restrictions on the format of the PNG input itself; all valid + * color types, bit depths, and interlace methods are acceptable, and the + * input image is transformed as necessary to the requested in-memory format + * during the png_image_finish_read() step. The only caveat is that if you + * request a color-mapped image from a PNG that is full-color or makes + * complex use of an alpha channel the transformation is extremely lossy and the + * result may look terrible. + * + * To write a PNG file using the simplified API: + * + * 1) Declare a 'png_image' structure on the stack and memset() it to all zero. + * 2) Initialize the members of the structure that describe the image, setting + * the 'format' member to the format of the image samples. + * 3) Call the appropriate png_image_write... function with a pointer to the + * image and, if necessary, the color-map to write the PNG data. + * + * png_image is a structure that describes the in-memory format of an image + * when it is being read or defines the in-memory format of an image that you + * need to write: + */ +#if defined(PNG_SIMPLIFIED_READ_SUPPORTED) || \ + defined(PNG_SIMPLIFIED_WRITE_SUPPORTED) + +#define PNG_IMAGE_VERSION 1 + +typedef struct png_control *png_controlp; +typedef struct +{ + png_controlp opaque; /* Initialize to NULL, free with png_image_free */ + png_uint_32 version; /* Set to PNG_IMAGE_VERSION */ + png_uint_32 width; /* Image width in pixels (columns) */ + png_uint_32 height; /* Image height in pixels (rows) */ + png_uint_32 format; /* Image format as defined below */ + png_uint_32 flags; /* A bit mask containing informational flags */ + png_uint_32 colormap_entries; + /* Number of entries in the color-map */ + + /* In the event of an error or warning the following field will be set to a + * non-zero value and the 'message' field will contain a '\0' terminated + * string with the libpng error or warning message. If both warnings and + * an error were encountered, only the error is recorded. If there + * are multiple warnings, only the first one is recorded. + * + * The upper 30 bits of this value are reserved, the low two bits contain + * a value as follows: + */ +# define PNG_IMAGE_WARNING 1 +# define PNG_IMAGE_ERROR 2 + /* + * The result is a two-bit code such that a value more than 1 indicates + * a failure in the API just called: + * + * 0 - no warning or error + * 1 - warning + * 2 - error + * 3 - error preceded by warning + */ +# define PNG_IMAGE_FAILED(png_cntrl) ((((png_cntrl).warning_or_error)&0x03)>1) + + png_uint_32 warning_or_error; + + char message[64]; +} png_image, *png_imagep; + +/* The samples of the image have one to four channels whose components have + * original values in the range 0 to 1.0: + * + * 1: A single gray or luminance channel (G). + * 2: A gray/luminance channel and an alpha channel (GA). + * 3: Three red, green, blue color channels (RGB). + * 4: Three color channels and an alpha channel (RGBA). + * + * The components are encoded in one of two ways: + * + * a) As a small integer, value 0..255, contained in a single byte. For the + * alpha channel the original value is simply value/255. For the color or + * luminance channels the value is encoded according to the sRGB specification + * and matches the 8-bit format expected by typical display devices. + * + * The color/gray channels are not scaled (pre-multiplied) by the alpha + * channel and are suitable for passing to color management software. + * + * b) As a value in the range 0..65535, contained in a 2-byte integer. All + * channels can be converted to the original value by dividing by 65535; all + * channels are linear. Color channels use the RGB encoding (RGB end-points) of + * the sRGB specification. This encoding is identified by the + * PNG_FORMAT_FLAG_LINEAR flag below. + * + * When the simplified API needs to convert between sRGB and linear colorspaces, + * the actual sRGB transfer curve defined in the sRGB specification (see the + * article at ) is used, not the gamma=1/2.2 + * approximation used elsewhere in libpng. + * + * When an alpha channel is present it is expected to denote pixel coverage + * of the color or luminance channels and is returned as an associated alpha + * channel: the color/gray channels are scaled (pre-multiplied) by the alpha + * value. + * + * The samples are either contained directly in the image data, between 1 and 8 + * bytes per pixel according to the encoding, or are held in a color-map indexed + * by bytes in the image data. In the case of a color-map the color-map entries + * are individual samples, encoded as above, and the image data has one byte per + * pixel to select the relevant sample from the color-map. + */ + +/* PNG_FORMAT_* + * + * #defines to be used in png_image::format. Each #define identifies a + * particular layout of sample data and, if present, alpha values. There are + * separate defines for each of the two component encodings. + * + * A format is built up using single bit flag values. All combinations are + * valid. Formats can be built up from the flag values or you can use one of + * the predefined values below. When testing formats always use the FORMAT_FLAG + * macros to test for individual features - future versions of the library may + * add new flags. + * + * When reading or writing color-mapped images the format should be set to the + * format of the entries in the color-map then png_image_{read,write}_colormap + * called to read or write the color-map and set the format correctly for the + * image data. Do not set the PNG_FORMAT_FLAG_COLORMAP bit directly! + * + * NOTE: libpng can be built with particular features disabled. If you see + * compiler errors because the definition of one of the following flags has been + * compiled out it is because libpng does not have the required support. It is + * possible, however, for the libpng configuration to enable the format on just + * read or just write; in that case you may see an error at run time. You can + * guard against this by checking for the definition of the appropriate + * "_SUPPORTED" macro, one of: + * + * PNG_SIMPLIFIED_{READ,WRITE}_{BGR,AFIRST}_SUPPORTED + */ +#define PNG_FORMAT_FLAG_ALPHA 0x01U /* format with an alpha channel */ +#define PNG_FORMAT_FLAG_COLOR 0x02U /* color format: otherwise grayscale */ +#define PNG_FORMAT_FLAG_LINEAR 0x04U /* 2-byte channels else 1-byte */ +#define PNG_FORMAT_FLAG_COLORMAP 0x08U /* image data is color-mapped */ + +#ifdef PNG_FORMAT_BGR_SUPPORTED +# define PNG_FORMAT_FLAG_BGR 0x10U /* BGR colors, else order is RGB */ +#endif + +#ifdef PNG_FORMAT_AFIRST_SUPPORTED +# define PNG_FORMAT_FLAG_AFIRST 0x20U /* alpha channel comes first */ +#endif + +#define PNG_FORMAT_FLAG_ASSOCIATED_ALPHA 0x40U /* alpha channel is associated */ + +/* Commonly used formats have predefined macros. + * + * First the single byte (sRGB) formats: + */ +#define PNG_FORMAT_GRAY 0 +#define PNG_FORMAT_GA PNG_FORMAT_FLAG_ALPHA +#define PNG_FORMAT_AG (PNG_FORMAT_GA|PNG_FORMAT_FLAG_AFIRST) +#define PNG_FORMAT_RGB PNG_FORMAT_FLAG_COLOR +#define PNG_FORMAT_BGR (PNG_FORMAT_FLAG_COLOR|PNG_FORMAT_FLAG_BGR) +#define PNG_FORMAT_RGBA (PNG_FORMAT_RGB|PNG_FORMAT_FLAG_ALPHA) +#define PNG_FORMAT_ARGB (PNG_FORMAT_RGBA|PNG_FORMAT_FLAG_AFIRST) +#define PNG_FORMAT_BGRA (PNG_FORMAT_BGR|PNG_FORMAT_FLAG_ALPHA) +#define PNG_FORMAT_ABGR (PNG_FORMAT_BGRA|PNG_FORMAT_FLAG_AFIRST) + +/* Then the linear 2-byte formats. When naming these "Y" is used to + * indicate a luminance (gray) channel. + */ +#define PNG_FORMAT_LINEAR_Y PNG_FORMAT_FLAG_LINEAR +#define PNG_FORMAT_LINEAR_Y_ALPHA (PNG_FORMAT_FLAG_LINEAR|PNG_FORMAT_FLAG_ALPHA) +#define PNG_FORMAT_LINEAR_RGB (PNG_FORMAT_FLAG_LINEAR|PNG_FORMAT_FLAG_COLOR) +#define PNG_FORMAT_LINEAR_RGB_ALPHA \ + (PNG_FORMAT_FLAG_LINEAR|PNG_FORMAT_FLAG_COLOR|PNG_FORMAT_FLAG_ALPHA) + +/* With color-mapped formats the image data is one byte for each pixel, the byte + * is an index into the color-map which is formatted as above. To obtain a + * color-mapped format it is sufficient just to add the PNG_FOMAT_FLAG_COLORMAP + * to one of the above definitions, or you can use one of the definitions below. + */ +#define PNG_FORMAT_RGB_COLORMAP (PNG_FORMAT_RGB|PNG_FORMAT_FLAG_COLORMAP) +#define PNG_FORMAT_BGR_COLORMAP (PNG_FORMAT_BGR|PNG_FORMAT_FLAG_COLORMAP) +#define PNG_FORMAT_RGBA_COLORMAP (PNG_FORMAT_RGBA|PNG_FORMAT_FLAG_COLORMAP) +#define PNG_FORMAT_ARGB_COLORMAP (PNG_FORMAT_ARGB|PNG_FORMAT_FLAG_COLORMAP) +#define PNG_FORMAT_BGRA_COLORMAP (PNG_FORMAT_BGRA|PNG_FORMAT_FLAG_COLORMAP) +#define PNG_FORMAT_ABGR_COLORMAP (PNG_FORMAT_ABGR|PNG_FORMAT_FLAG_COLORMAP) + +/* PNG_IMAGE macros + * + * These are convenience macros to derive information from a png_image + * structure. The PNG_IMAGE_SAMPLE_ macros return values appropriate to the + * actual image sample values - either the entries in the color-map or the + * pixels in the image. The PNG_IMAGE_PIXEL_ macros return corresponding values + * for the pixels and will always return 1 for color-mapped formats. The + * remaining macros return information about the rows in the image and the + * complete image. + * + * NOTE: All the macros that take a png_image::format parameter are compile time + * constants if the format parameter is, itself, a constant. Therefore these + * macros can be used in array declarations and case labels where required. + * Similarly the macros are also pre-processor constants (sizeof is not used) so + * they can be used in #if tests. + * + * First the information about the samples. + */ +#define PNG_IMAGE_SAMPLE_CHANNELS(fmt)\ + (((fmt)&(PNG_FORMAT_FLAG_COLOR|PNG_FORMAT_FLAG_ALPHA))+1) + /* Return the total number of channels in a given format: 1..4 */ + +#define PNG_IMAGE_SAMPLE_COMPONENT_SIZE(fmt)\ + ((((fmt) & PNG_FORMAT_FLAG_LINEAR) >> 2)+1) + /* Return the size in bytes of a single component of a pixel or color-map + * entry (as appropriate) in the image: 1 or 2. + */ + +#define PNG_IMAGE_SAMPLE_SIZE(fmt)\ + (PNG_IMAGE_SAMPLE_CHANNELS(fmt) * PNG_IMAGE_SAMPLE_COMPONENT_SIZE(fmt)) + /* This is the size of the sample data for one sample. If the image is + * color-mapped it is the size of one color-map entry (and image pixels are + * one byte in size), otherwise it is the size of one image pixel. + */ + +#define PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(fmt)\ + (PNG_IMAGE_SAMPLE_CHANNELS(fmt) * 256) + /* The maximum size of the color-map required by the format expressed in a + * count of components. This can be used to compile-time allocate a + * color-map: + * + * png_uint_16 colormap[PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(linear_fmt)]; + * + * png_byte colormap[PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(sRGB_fmt)]; + * + * Alternatively use the PNG_IMAGE_COLORMAP_SIZE macro below to use the + * information from one of the png_image_begin_read_ APIs and dynamically + * allocate the required memory. + */ + +/* Corresponding information about the pixels */ +#define PNG_IMAGE_PIXEL_(test,fmt)\ + (((fmt)&PNG_FORMAT_FLAG_COLORMAP)?1:test(fmt)) + +#define PNG_IMAGE_PIXEL_CHANNELS(fmt)\ + PNG_IMAGE_PIXEL_(PNG_IMAGE_SAMPLE_CHANNELS,fmt) + /* The number of separate channels (components) in a pixel; 1 for a + * color-mapped image. + */ + +#define PNG_IMAGE_PIXEL_COMPONENT_SIZE(fmt)\ + PNG_IMAGE_PIXEL_(PNG_IMAGE_SAMPLE_COMPONENT_SIZE,fmt) + /* The size, in bytes, of each component in a pixel; 1 for a color-mapped + * image. + */ + +#define PNG_IMAGE_PIXEL_SIZE(fmt) PNG_IMAGE_PIXEL_(PNG_IMAGE_SAMPLE_SIZE,fmt) + /* The size, in bytes, of a complete pixel; 1 for a color-mapped image. */ + +/* Information about the whole row, or whole image */ +#define PNG_IMAGE_ROW_STRIDE(image)\ + (PNG_IMAGE_PIXEL_CHANNELS((image).format) * (image).width) + /* Return the total number of components in a single row of the image; this + * is the minimum 'row stride', the minimum count of components between each + * row. For a color-mapped image this is the minimum number of bytes in a + * row. + * + * WARNING: this macro overflows for some images with more than one component + * and very large image widths. libpng will refuse to process an image where + * this macro would overflow. + */ + +#define PNG_IMAGE_BUFFER_SIZE(image, row_stride)\ + (PNG_IMAGE_PIXEL_COMPONENT_SIZE((image).format)*(image).height*(row_stride)) + /* Return the size, in bytes, of an image buffer given a png_image and a row + * stride - the number of components to leave space for in each row. + * + * WARNING: this macro overflows a 32-bit integer for some large PNG images, + * libpng will refuse to process an image where such an overflow would occur. + */ + +#define PNG_IMAGE_SIZE(image)\ + PNG_IMAGE_BUFFER_SIZE(image, PNG_IMAGE_ROW_STRIDE(image)) + /* Return the size, in bytes, of the image in memory given just a png_image; + * the row stride is the minimum stride required for the image. + */ + +#define PNG_IMAGE_COLORMAP_SIZE(image)\ + (PNG_IMAGE_SAMPLE_SIZE((image).format) * (image).colormap_entries) + /* Return the size, in bytes, of the color-map of this image. If the image + * format is not a color-map format this will return a size sufficient for + * 256 entries in the given format; check PNG_FORMAT_FLAG_COLORMAP if + * you don't want to allocate a color-map in this case. + */ + +/* PNG_IMAGE_FLAG_* + * + * Flags containing additional information about the image are held in the + * 'flags' field of png_image. + */ +#define PNG_IMAGE_FLAG_COLORSPACE_NOT_sRGB 0x01 + /* This indicates that the RGB values of the in-memory bitmap do not + * correspond to the red, green and blue end-points defined by sRGB. + */ + +#define PNG_IMAGE_FLAG_FAST 0x02 + /* On write emphasise speed over compression; the resultant PNG file will be + * larger but will be produced significantly faster, particular for large + * images. Do not use this option for images which will be distributed, only + * used it when producing intermediate files that will be read back in + * repeatedly. For a typical 24-bit image the option will double the read + * speed at the cost of increasing the image size by 25%, however for many + * more compressible images the PNG file can be 10 times larger with only a + * slight speed gain. + */ + +#define PNG_IMAGE_FLAG_16BIT_sRGB 0x04 + /* On read if the image is a 16-bit per component image and there is no gAMA + * or sRGB chunk assume that the components are sRGB encoded. Notice that + * images output by the simplified API always have gamma information; setting + * this flag only affects the interpretation of 16-bit images from an + * external source. It is recommended that the application expose this flag + * to the user; the user can normally easily recognize the difference between + * linear and sRGB encoding. This flag has no effect on write - the data + * passed to the write APIs must have the correct encoding (as defined + * above.) + * + * If the flag is not set (the default) input 16-bit per component data is + * assumed to be linear. + * + * NOTE: the flag can only be set after the png_image_begin_read_ call, + * because that call initializes the 'flags' field. + */ + +#ifdef PNG_SIMPLIFIED_READ_SUPPORTED +/* READ APIs + * --------- + * + * The png_image passed to the read APIs must have been initialized by setting + * the png_controlp field 'opaque' to NULL (or, safer, memset the whole thing.) + */ +#ifdef PNG_STDIO_SUPPORTED +PNG_EXPORT(234, int, png_image_begin_read_from_file, (png_imagep image, + const char *file_name)); + /* The named file is opened for read and the image header is filled in + * from the PNG header in the file. + */ + +PNG_EXPORT(235, int, png_image_begin_read_from_stdio, (png_imagep image, + FILE* file)); + /* The PNG header is read from the stdio FILE object. */ +#endif /* STDIO */ + +PNG_EXPORT(236, int, png_image_begin_read_from_memory, (png_imagep image, + png_const_voidp memory, size_t size)); + /* The PNG header is read from the given memory buffer. */ + +PNG_EXPORT(237, int, png_image_finish_read, (png_imagep image, + png_const_colorp background, void *buffer, png_int_32 row_stride, + void *colormap)); + /* Finish reading the image into the supplied buffer and clean up the + * png_image structure. + * + * row_stride is the step, in byte or 2-byte units as appropriate, + * between adjacent rows. A positive stride indicates that the top-most row + * is first in the buffer - the normal top-down arrangement. A negative + * stride indicates that the bottom-most row is first in the buffer. + * + * background need only be supplied if an alpha channel must be removed from + * a png_byte format and the removal is to be done by compositing on a solid + * color; otherwise it may be NULL and any composition will be done directly + * onto the buffer. The value is an sRGB color to use for the background, + * for grayscale output the green channel is used. + * + * background must be supplied when an alpha channel must be removed from a + * single byte color-mapped output format, in other words if: + * + * 1) The original format from png_image_begin_read_from_* had + * PNG_FORMAT_FLAG_ALPHA set. + * 2) The format set by the application does not. + * 3) The format set by the application has PNG_FORMAT_FLAG_COLORMAP set and + * PNG_FORMAT_FLAG_LINEAR *not* set. + * + * For linear output removing the alpha channel is always done by compositing + * on black and background is ignored. + * + * colormap must be supplied when PNG_FORMAT_FLAG_COLORMAP is set. It must + * be at least the size (in bytes) returned by PNG_IMAGE_COLORMAP_SIZE. + * image->colormap_entries will be updated to the actual number of entries + * written to the colormap; this may be less than the original value. + */ + +PNG_EXPORT(238, void, png_image_free, (png_imagep image)); + /* Free any data allocated by libpng in image->opaque, setting the pointer to + * NULL. May be called at any time after the structure is initialized. + */ +#endif /* SIMPLIFIED_READ */ + +#ifdef PNG_SIMPLIFIED_WRITE_SUPPORTED +/* WRITE APIS + * ---------- + * For write you must initialize a png_image structure to describe the image to + * be written. To do this use memset to set the whole structure to 0 then + * initialize fields describing your image. + * + * version: must be set to PNG_IMAGE_VERSION + * opaque: must be initialized to NULL + * width: image width in pixels + * height: image height in rows + * format: the format of the data (image and color-map) you wish to write + * flags: set to 0 unless one of the defined flags applies; set + * PNG_IMAGE_FLAG_COLORSPACE_NOT_sRGB for color format images where the RGB + * values do not correspond to the colors in sRGB. + * colormap_entries: set to the number of entries in the color-map (0 to 256) + */ +#ifdef PNG_SIMPLIFIED_WRITE_STDIO_SUPPORTED +PNG_EXPORT(239, int, png_image_write_to_file, (png_imagep image, + const char *file, int convert_to_8bit, const void *buffer, + png_int_32 row_stride, const void *colormap)); + /* Write the image to the named file. */ + +PNG_EXPORT(240, int, png_image_write_to_stdio, (png_imagep image, FILE *file, + int convert_to_8_bit, const void *buffer, png_int_32 row_stride, + const void *colormap)); + /* Write the image to the given (FILE*). */ +#endif /* SIMPLIFIED_WRITE_STDIO */ + +/* With all write APIs if image is in one of the linear formats with 16-bit + * data then setting convert_to_8_bit will cause the output to be an 8-bit PNG + * gamma encoded according to the sRGB specification, otherwise a 16-bit linear + * encoded PNG file is written. + * + * With color-mapped data formats the colormap parameter point to a color-map + * with at least image->colormap_entries encoded in the specified format. If + * the format is linear the written PNG color-map will be converted to sRGB + * regardless of the convert_to_8_bit flag. + * + * With all APIs row_stride is handled as in the read APIs - it is the spacing + * from one row to the next in component sized units (1 or 2 bytes) and if + * negative indicates a bottom-up row layout in the buffer. If row_stride is + * zero, libpng will calculate it for you from the image width and number of + * channels. + * + * Note that the write API does not support interlacing, sub-8-bit pixels or + * most ancillary chunks. If you need to write text chunks (e.g. for copyright + * notices) you need to use one of the other APIs. + */ + +PNG_EXPORT(245, int, png_image_write_to_memory, (png_imagep image, void *memory, + png_alloc_size_t * PNG_RESTRICT memory_bytes, int convert_to_8_bit, + const void *buffer, png_int_32 row_stride, const void *colormap)); + /* Write the image to the given memory buffer. The function both writes the + * whole PNG data stream to *memory and updates *memory_bytes with the count + * of bytes written. + * + * 'memory' may be NULL. In this case *memory_bytes is not read however on + * success the number of bytes which would have been written will still be + * stored in *memory_bytes. On failure *memory_bytes will contain 0. + * + * If 'memory' is not NULL it must point to memory[*memory_bytes] of + * writeable memory. + * + * If the function returns success memory[*memory_bytes] (if 'memory' is not + * NULL) contains the written PNG data. *memory_bytes will always be less + * than or equal to the original value. + * + * If the function returns false and *memory_bytes was not changed an error + * occurred during write. If *memory_bytes was changed, or is not 0 if + * 'memory' was NULL, the write would have succeeded but for the memory + * buffer being too small. *memory_bytes contains the required number of + * bytes and will be bigger that the original value. + */ + +#define png_image_write_get_memory_size(image, size, convert_to_8_bit, buffer,\ + row_stride, colormap)\ + png_image_write_to_memory(&(image), 0, &(size), convert_to_8_bit, buffer,\ + row_stride, colormap) + /* Return the amount of memory in 'size' required to compress this image. + * The png_image structure 'image' must be filled in as in the above + * function and must not be changed before the actual write call, the buffer + * and all other parameters must also be identical to that in the final + * write call. The 'size' variable need not be initialized. + * + * NOTE: the macro returns true/false, if false is returned 'size' will be + * set to zero and the write failed and probably will fail if tried again. + */ + +/* You can pre-allocate the buffer by making sure it is of sufficient size + * regardless of the amount of compression achieved. The buffer size will + * always be bigger than the original image and it will never be filled. The + * following macros are provided to assist in allocating the buffer. + */ +#define PNG_IMAGE_DATA_SIZE(image) (PNG_IMAGE_SIZE(image)+(image).height) + /* The number of uncompressed bytes in the PNG byte encoding of the image; + * uncompressing the PNG IDAT data will give this number of bytes. + * + * NOTE: while PNG_IMAGE_SIZE cannot overflow for an image in memory this + * macro can because of the extra bytes used in the PNG byte encoding. You + * need to avoid this macro if your image size approaches 2^30 in width or + * height. The same goes for the remainder of these macros; they all produce + * bigger numbers than the actual in-memory image size. + */ +#ifndef PNG_ZLIB_MAX_SIZE +# define PNG_ZLIB_MAX_SIZE(b) ((b)+(((b)+7U)>>3)+(((b)+63U)>>6)+11U) + /* An upper bound on the number of compressed bytes given 'b' uncompressed + * bytes. This is based on deflateBounds() in zlib; different + * implementations of zlib compression may conceivably produce more data so + * if your zlib implementation is not zlib itself redefine this macro + * appropriately. + */ +#endif + +#define PNG_IMAGE_COMPRESSED_SIZE_MAX(image)\ + PNG_ZLIB_MAX_SIZE((png_alloc_size_t)PNG_IMAGE_DATA_SIZE(image)) + /* An upper bound on the size of the data in the PNG IDAT chunks. */ + +#define PNG_IMAGE_PNG_SIZE_MAX_(image, image_size)\ + ((8U/*sig*/+25U/*IHDR*/+16U/*gAMA*/+44U/*cHRM*/+12U/*IEND*/+\ + (((image).format&PNG_FORMAT_FLAG_COLORMAP)?/*colormap: PLTE, tRNS*/\ + 12U+3U*(image).colormap_entries/*PLTE data*/+\ + (((image).format&PNG_FORMAT_FLAG_ALPHA)?\ + 12U/*tRNS*/+(image).colormap_entries:0U):0U)+\ + 12U)+(12U*((image_size)/PNG_ZBUF_SIZE))/*IDAT*/+(image_size)) + /* A helper for the following macro; if your compiler cannot handle the + * following macro use this one with the result of + * PNG_IMAGE_COMPRESSED_SIZE_MAX(image) as the second argument (most + * compilers should handle this just fine.) + */ + +#define PNG_IMAGE_PNG_SIZE_MAX(image)\ + PNG_IMAGE_PNG_SIZE_MAX_(image, PNG_IMAGE_COMPRESSED_SIZE_MAX(image)) + /* An upper bound on the total length of the PNG data stream for 'image'. + * The result is of type png_alloc_size_t, on 32-bit systems this may + * overflow even though PNG_IMAGE_DATA_SIZE does not overflow; the write will + * run out of buffer space but return a corrected size which should work. + */ +#endif /* SIMPLIFIED_WRITE */ +/******************************************************************************* + * END OF SIMPLIFIED API + ******************************************************************************/ +#endif /* SIMPLIFIED_{READ|WRITE} */ + +/******************************************************************************* + * Section 6: IMPLEMENTATION OPTIONS + ******************************************************************************* + * + * Support for arbitrary implementation-specific optimizations. The API allows + * particular options to be turned on or off. 'Option' is the number of the + * option and 'onoff' is 0 (off) or non-0 (on). The value returned is given + * by the PNG_OPTION_ defines below. + * + * HARDWARE: normally hardware capabilities, such as the Intel SSE instructions, + * are detected at run time, however sometimes it may be impossible + * to do this in user mode, in which case it is necessary to discover + * the capabilities in an OS specific way. Such capabilities are + * listed here when libpng has support for them and must be turned + * ON by the application if present. + * + * SOFTWARE: sometimes software optimizations actually result in performance + * decrease on some architectures or systems, or with some sets of + * PNG images. 'Software' options allow such optimizations to be + * selected at run time. + */ +#ifdef PNG_SET_OPTION_SUPPORTED +#ifdef PNG_ARM_NEON_API_SUPPORTED +# define PNG_ARM_NEON 0 /* HARDWARE: ARM Neon SIMD instructions supported */ +#endif +#define PNG_MAXIMUM_INFLATE_WINDOW 2 /* SOFTWARE: force maximum window */ +#define PNG_SKIP_sRGB_CHECK_PROFILE 4 /* SOFTWARE: Check ICC profile for sRGB */ +#ifdef PNG_MIPS_MSA_API_SUPPORTED +# define PNG_MIPS_MSA 6 /* HARDWARE: MIPS Msa SIMD instructions supported */ +#endif +#ifdef PNG_DISABLE_ADLER32_CHECK_SUPPORTED +# define PNG_IGNORE_ADLER32 8 /* SOFTWARE: disable Adler32 check on IDAT */ +#endif +#ifdef PNG_POWERPC_VSX_API_SUPPORTED +# define PNG_POWERPC_VSX 10 /* HARDWARE: PowerPC VSX SIMD instructions + * supported */ +#endif +#ifdef PNG_MIPS_MMI_API_SUPPORTED +# define PNG_MIPS_MMI 12 /* HARDWARE: MIPS MMI SIMD instructions supported */ +#endif + +#define PNG_OPTION_NEXT 14 /* Next option - numbers must be even */ + +/* Return values: NOTE: there are four values and 'off' is *not* zero */ +#define PNG_OPTION_UNSET 0 /* Unset - defaults to off */ +#define PNG_OPTION_INVALID 1 /* Option number out of range */ +#define PNG_OPTION_OFF 2 +#define PNG_OPTION_ON 3 + +PNG_EXPORT(244, int, png_set_option, (png_structrp png_ptr, int option, + int onoff)); +#endif /* SET_OPTION */ + +/******************************************************************************* + * END OF HARDWARE AND SOFTWARE OPTIONS + ******************************************************************************/ + +/* Maintainer: Put new public prototypes here ^, in libpng.3, in project + * defs, and in scripts/symbols.def. + */ + +/* The last ordinal number (this is the *last* one already used; the next + * one to use is one more than this.) + */ +#ifdef PNG_EXPORT_LAST_ORDINAL + PNG_EXPORT_LAST_ORDINAL(249); +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* PNG_VERSION_INFO_ONLY */ +/* Do not put anything past this line */ +#endif /* PNG_H */ diff --git a/vcpkg/installed/x64-osx/include/libpng16/pngconf.h b/vcpkg/installed/x64-osx/include/libpng16/pngconf.h new file mode 100644 index 0000000..000d7b1 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/libpng16/pngconf.h @@ -0,0 +1,623 @@ + +/* pngconf.h - machine-configurable file for libpng + * + * libpng version 1.6.43 + * + * Copyright (c) 2018-2024 Cosmin Truta + * Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson + * Copyright (c) 1996-1997 Andreas Dilger + * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + * + * This code is released under the libpng license. + * For conditions of distribution and use, see the disclaimer + * and license in png.h + * + * Any machine specific code is near the front of this file, so if you + * are configuring libpng for a machine, you may want to read the section + * starting here down to where it starts to typedef png_color, png_text, + * and png_info. + */ + +#ifndef PNGCONF_H +#define PNGCONF_H + +#ifndef PNG_BUILDING_SYMBOL_TABLE /* else includes may cause problems */ + +/* From libpng 1.6.0 libpng requires an ANSI X3.159-1989 ("ISOC90") compliant C + * compiler for correct compilation. The following header files are required by + * the standard. If your compiler doesn't provide these header files, or they + * do not match the standard, you will need to provide/improve them. + */ +#include +#include + +/* Library header files. These header files are all defined by ISOC90; libpng + * expects conformant implementations, however, an ISOC90 conformant system need + * not provide these header files if the functionality cannot be implemented. + * In this case it will be necessary to disable the relevant parts of libpng in + * the build of pnglibconf.h. + * + * Prior to 1.6.0 string.h was included here; the API changes in 1.6.0 to not + * include this unnecessary header file. + */ + +#ifdef PNG_STDIO_SUPPORTED + /* Required for the definition of FILE: */ +# include +#endif + +#ifdef PNG_SETJMP_SUPPORTED + /* Required for the definition of jmp_buf and the declaration of longjmp: */ +# include +#endif + +#ifdef PNG_CONVERT_tIME_SUPPORTED + /* Required for struct tm: */ +# include +#endif + +#endif /* PNG_BUILDING_SYMBOL_TABLE */ + +/* Prior to 1.6.0, it was possible to turn off 'const' in declarations, + * using PNG_NO_CONST. This is no longer supported. + */ +#define PNG_CONST const /* backward compatibility only */ + +/* This controls optimization of the reading of 16-bit and 32-bit + * values from PNG files. It can be set on a per-app-file basis: it + * just changes whether a macro is used when the function is called. + * The library builder sets the default; if read functions are not + * built into the library the macro implementation is forced on. + */ +#ifndef PNG_READ_INT_FUNCTIONS_SUPPORTED +# define PNG_USE_READ_MACROS +#endif +#if !defined(PNG_NO_USE_READ_MACROS) && !defined(PNG_USE_READ_MACROS) +# if PNG_DEFAULT_READ_MACROS +# define PNG_USE_READ_MACROS +# endif +#endif + +/* COMPILER SPECIFIC OPTIONS. + * + * These options are provided so that a variety of difficult compilers + * can be used. Some are fixed at build time (e.g. PNG_API_RULE + * below) but still have compiler specific implementations, others + * may be changed on a per-file basis when compiling against libpng. + */ + +/* The PNGARG macro was used in versions of libpng prior to 1.6.0 to protect + * against legacy (pre ISOC90) compilers that did not understand function + * prototypes. It is not required for modern C compilers. + */ +#ifndef PNGARG +# define PNGARG(arglist) arglist +#endif + +/* Function calling conventions. + * ============================= + * Normally it is not necessary to specify to the compiler how to call + * a function - it just does it - however on x86 systems derived from + * Microsoft and Borland C compilers ('IBM PC', 'DOS', 'Windows' systems + * and some others) there are multiple ways to call a function and the + * default can be changed on the compiler command line. For this reason + * libpng specifies the calling convention of every exported function and + * every function called via a user supplied function pointer. This is + * done in this file by defining the following macros: + * + * PNGAPI Calling convention for exported functions. + * PNGCBAPI Calling convention for user provided (callback) functions. + * PNGCAPI Calling convention used by the ANSI-C library (required + * for longjmp callbacks and sometimes used internally to + * specify the calling convention for zlib). + * + * These macros should never be overridden. If it is necessary to + * change calling convention in a private build this can be done + * by setting PNG_API_RULE (which defaults to 0) to one of the values + * below to select the correct 'API' variants. + * + * PNG_API_RULE=0 Use PNGCAPI - the 'C' calling convention - throughout. + * This is correct in every known environment. + * PNG_API_RULE=1 Use the operating system convention for PNGAPI and + * the 'C' calling convention (from PNGCAPI) for + * callbacks (PNGCBAPI). This is no longer required + * in any known environment - if it has to be used + * please post an explanation of the problem to the + * libpng mailing list. + * + * These cases only differ if the operating system does not use the C + * calling convention, at present this just means the above cases + * (x86 DOS/Windows systems) and, even then, this does not apply to + * Cygwin running on those systems. + * + * Note that the value must be defined in pnglibconf.h so that what + * the application uses to call the library matches the conventions + * set when building the library. + */ + +/* Symbol export + * ============= + * When building a shared library it is almost always necessary to tell + * the compiler which symbols to export. The png.h macro 'PNG_EXPORT' + * is used to mark the symbols. On some systems these symbols can be + * extracted at link time and need no special processing by the compiler, + * on other systems the symbols are flagged by the compiler and just + * the declaration requires a special tag applied (unfortunately) in a + * compiler dependent way. Some systems can do either. + * + * A small number of older systems also require a symbol from a DLL to + * be flagged to the program that calls it. This is a problem because + * we do not know in the header file included by application code that + * the symbol will come from a shared library, as opposed to a statically + * linked one. For this reason the application must tell us by setting + * the magic flag PNG_USE_DLL to turn on the special processing before + * it includes png.h. + * + * Four additional macros are used to make this happen: + * + * PNG_IMPEXP The magic (if any) to cause a symbol to be exported from + * the build or imported if PNG_USE_DLL is set - compiler + * and system specific. + * + * PNG_EXPORT_TYPE(type) A macro that pre or appends PNG_IMPEXP to + * 'type', compiler specific. + * + * PNG_DLL_EXPORT Set to the magic to use during a libpng build to + * make a symbol exported from the DLL. Not used in the + * public header files; see pngpriv.h for how it is used + * in the libpng build. + * + * PNG_DLL_IMPORT Set to the magic to force the libpng symbols to come + * from a DLL - used to define PNG_IMPEXP when + * PNG_USE_DLL is set. + */ + +/* System specific discovery. + * ========================== + * This code is used at build time to find PNG_IMPEXP, the API settings + * and PNG_EXPORT_TYPE(), it may also set a macro to indicate the DLL + * import processing is possible. On Windows systems it also sets + * compiler-specific macros to the values required to change the calling + * conventions of the various functions. + */ +#if defined(_WIN32) || defined(__WIN32__) || defined(__NT__) || \ + defined(__CYGWIN__) + /* Windows system (DOS doesn't support DLLs). Includes builds under Cygwin or + * MinGW on any architecture currently supported by Windows. Also includes + * Watcom builds but these need special treatment because they are not + * compatible with GCC or Visual C because of different calling conventions. + */ +# if PNG_API_RULE == 2 + /* If this line results in an error, either because __watcall is not + * understood or because of a redefine just below you cannot use *this* + * build of the library with the compiler you are using. *This* build was + * build using Watcom and applications must also be built using Watcom! + */ +# define PNGCAPI __watcall +# endif + +# if defined(__GNUC__) || (defined(_MSC_VER) && (_MSC_VER >= 800)) +# define PNGCAPI __cdecl +# if PNG_API_RULE == 1 + /* If this line results in an error __stdcall is not understood and + * PNG_API_RULE should not have been set to '1'. + */ +# define PNGAPI __stdcall +# endif +# else + /* An older compiler, or one not detected (erroneously) above, + * if necessary override on the command line to get the correct + * variants for the compiler. + */ +# ifndef PNGCAPI +# define PNGCAPI _cdecl +# endif +# if PNG_API_RULE == 1 && !defined(PNGAPI) +# define PNGAPI _stdcall +# endif +# endif /* compiler/api */ + + /* NOTE: PNGCBAPI always defaults to PNGCAPI. */ + +# if defined(PNGAPI) && !defined(PNG_USER_PRIVATEBUILD) +# error "PNG_USER_PRIVATEBUILD must be defined if PNGAPI is changed" +# endif + +# if (defined(_MSC_VER) && _MSC_VER < 800) ||\ + (defined(__BORLANDC__) && __BORLANDC__ < 0x500) + /* older Borland and MSC + * compilers used '__export' and required this to be after + * the type. + */ +# ifndef PNG_EXPORT_TYPE +# define PNG_EXPORT_TYPE(type) type PNG_IMPEXP +# endif +# define PNG_DLL_EXPORT __export +# else /* newer compiler */ +# define PNG_DLL_EXPORT __declspec(dllexport) +# ifndef PNG_DLL_IMPORT +# define PNG_DLL_IMPORT __declspec(dllimport) +# endif +# endif /* compiler */ + +#else /* !Windows */ +# if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__) +# define PNGAPI _System +# else /* !Windows/x86 && !OS/2 */ + /* Use the defaults, or define PNG*API on the command line (but + * this will have to be done for every compile!) + */ +# endif /* other system, !OS/2 */ +#endif /* !Windows/x86 */ + +/* Now do all the defaulting . */ +#ifndef PNGCAPI +# define PNGCAPI +#endif +#ifndef PNGCBAPI +# define PNGCBAPI PNGCAPI +#endif +#ifndef PNGAPI +# define PNGAPI PNGCAPI +#endif + +/* PNG_IMPEXP may be set on the compilation system command line or (if not set) + * then in an internal header file when building the library, otherwise (when + * using the library) it is set here. + */ +#ifndef PNG_IMPEXP +# if defined(PNG_USE_DLL) && defined(PNG_DLL_IMPORT) + /* This forces use of a DLL, disallowing static linking */ +# define PNG_IMPEXP PNG_DLL_IMPORT +# endif + +# ifndef PNG_IMPEXP +# define PNG_IMPEXP +# endif +#endif + +/* In 1.5.2 the definition of PNG_FUNCTION has been changed to always treat + * 'attributes' as a storage class - the attributes go at the start of the + * function definition, and attributes are always appended regardless of the + * compiler. This considerably simplifies these macros but may cause problems + * if any compilers both need function attributes and fail to handle them as + * a storage class (this is unlikely.) + */ +#ifndef PNG_FUNCTION +# define PNG_FUNCTION(type, name, args, attributes) attributes type name args +#endif + +#ifndef PNG_EXPORT_TYPE +# define PNG_EXPORT_TYPE(type) PNG_IMPEXP type +#endif + + /* The ordinal value is only relevant when preprocessing png.h for symbol + * table entries, so we discard it here. See the .dfn files in the + * scripts directory. + */ + +#ifndef PNG_EXPORTA +# define PNG_EXPORTA(ordinal, type, name, args, attributes) \ + PNG_FUNCTION(PNG_EXPORT_TYPE(type), (PNGAPI name), PNGARG(args), \ + PNG_LINKAGE_API attributes) +#endif + +/* ANSI-C (C90) does not permit a macro to be invoked with an empty argument, + * so make something non-empty to satisfy the requirement: + */ +#define PNG_EMPTY /*empty list*/ + +#define PNG_EXPORT(ordinal, type, name, args) \ + PNG_EXPORTA(ordinal, type, name, args, PNG_EMPTY) + +/* Use PNG_REMOVED to comment out a removed interface. */ +#ifndef PNG_REMOVED +# define PNG_REMOVED(ordinal, type, name, args, attributes) +#endif + +#ifndef PNG_CALLBACK +# define PNG_CALLBACK(type, name, args) type (PNGCBAPI name) PNGARG(args) +#endif + +/* Support for compiler specific function attributes. These are used + * so that where compiler support is available incorrect use of API + * functions in png.h will generate compiler warnings. + * + * Added at libpng-1.2.41. + */ + +#ifndef PNG_NO_PEDANTIC_WARNINGS +# ifndef PNG_PEDANTIC_WARNINGS_SUPPORTED +# define PNG_PEDANTIC_WARNINGS_SUPPORTED +# endif +#endif + +#ifdef PNG_PEDANTIC_WARNINGS_SUPPORTED + /* Support for compiler specific function attributes. These are used + * so that where compiler support is available, incorrect use of API + * functions in png.h will generate compiler warnings. Added at libpng + * version 1.2.41. Disabling these removes the warnings but may also produce + * less efficient code. + */ +# if defined(__clang__) && defined(__has_attribute) + /* Clang defines both __clang__ and __GNUC__. Check __clang__ first. */ +# if !defined(PNG_USE_RESULT) && __has_attribute(__warn_unused_result__) +# define PNG_USE_RESULT __attribute__((__warn_unused_result__)) +# endif +# if !defined(PNG_NORETURN) && __has_attribute(__noreturn__) +# define PNG_NORETURN __attribute__((__noreturn__)) +# endif +# if !defined(PNG_ALLOCATED) && __has_attribute(__malloc__) +# define PNG_ALLOCATED __attribute__((__malloc__)) +# endif +# if !defined(PNG_DEPRECATED) && __has_attribute(__deprecated__) +# define PNG_DEPRECATED __attribute__((__deprecated__)) +# endif +# if !defined(PNG_PRIVATE) +# ifdef __has_extension +# if __has_extension(attribute_unavailable_with_message) +# define PNG_PRIVATE __attribute__((__unavailable__(\ + "This function is not exported by libpng."))) +# endif +# endif +# endif +# ifndef PNG_RESTRICT +# define PNG_RESTRICT __restrict +# endif + +# elif defined(__GNUC__) +# ifndef PNG_USE_RESULT +# define PNG_USE_RESULT __attribute__((__warn_unused_result__)) +# endif +# ifndef PNG_NORETURN +# define PNG_NORETURN __attribute__((__noreturn__)) +# endif +# if __GNUC__ >= 3 +# ifndef PNG_ALLOCATED +# define PNG_ALLOCATED __attribute__((__malloc__)) +# endif +# ifndef PNG_DEPRECATED +# define PNG_DEPRECATED __attribute__((__deprecated__)) +# endif +# ifndef PNG_PRIVATE +# if 0 /* Doesn't work so we use deprecated instead*/ +# define PNG_PRIVATE \ + __attribute__((warning("This function is not exported by libpng."))) +# else +# define PNG_PRIVATE \ + __attribute__((__deprecated__)) +# endif +# endif +# if ((__GNUC__ > 3) || !defined(__GNUC_MINOR__) || (__GNUC_MINOR__ >= 1)) +# ifndef PNG_RESTRICT +# define PNG_RESTRICT __restrict +# endif +# endif /* __GNUC__.__GNUC_MINOR__ > 3.0 */ +# endif /* __GNUC__ >= 3 */ + +# elif defined(_MSC_VER) && (_MSC_VER >= 1300) +# ifndef PNG_USE_RESULT +# define PNG_USE_RESULT /* not supported */ +# endif +# ifndef PNG_NORETURN +# define PNG_NORETURN __declspec(noreturn) +# endif +# ifndef PNG_ALLOCATED +# if (_MSC_VER >= 1400) +# define PNG_ALLOCATED __declspec(restrict) +# endif +# endif +# ifndef PNG_DEPRECATED +# define PNG_DEPRECATED __declspec(deprecated) +# endif +# ifndef PNG_PRIVATE +# define PNG_PRIVATE __declspec(deprecated) +# endif +# ifndef PNG_RESTRICT +# if (_MSC_VER >= 1400) +# define PNG_RESTRICT __restrict +# endif +# endif + +# elif defined(__WATCOMC__) +# ifndef PNG_RESTRICT +# define PNG_RESTRICT __restrict +# endif +# endif +#endif /* PNG_PEDANTIC_WARNINGS */ + +#ifndef PNG_DEPRECATED +# define PNG_DEPRECATED /* Use of this function is deprecated */ +#endif +#ifndef PNG_USE_RESULT +# define PNG_USE_RESULT /* The result of this function must be checked */ +#endif +#ifndef PNG_NORETURN +# define PNG_NORETURN /* This function does not return */ +#endif +#ifndef PNG_ALLOCATED +# define PNG_ALLOCATED /* The result of the function is new memory */ +#endif +#ifndef PNG_PRIVATE +# define PNG_PRIVATE /* This is a private libpng function */ +#endif +#ifndef PNG_RESTRICT +# define PNG_RESTRICT /* The C99 "restrict" feature */ +#endif + +#ifndef PNG_FP_EXPORT /* A floating point API. */ +# ifdef PNG_FLOATING_POINT_SUPPORTED +# define PNG_FP_EXPORT(ordinal, type, name, args)\ + PNG_EXPORT(ordinal, type, name, args); +# else /* No floating point APIs */ +# define PNG_FP_EXPORT(ordinal, type, name, args) +# endif +#endif +#ifndef PNG_FIXED_EXPORT /* A fixed point API. */ +# ifdef PNG_FIXED_POINT_SUPPORTED +# define PNG_FIXED_EXPORT(ordinal, type, name, args)\ + PNG_EXPORT(ordinal, type, name, args); +# else /* No fixed point APIs */ +# define PNG_FIXED_EXPORT(ordinal, type, name, args) +# endif +#endif + +#ifndef PNG_BUILDING_SYMBOL_TABLE +/* Some typedefs to get us started. These should be safe on most of the common + * platforms. + * + * png_uint_32 and png_int_32 may, currently, be larger than required to hold a + * 32-bit value however this is not normally advisable. + * + * png_uint_16 and png_int_16 should always be two bytes in size - this is + * verified at library build time. + * + * png_byte must always be one byte in size. + * + * The checks below use constants from limits.h, as defined by the ISOC90 + * standard. + */ +#if CHAR_BIT == 8 && UCHAR_MAX == 255 + typedef unsigned char png_byte; +#else +# error "libpng requires 8-bit bytes" +#endif + +#if INT_MIN == -32768 && INT_MAX == 32767 + typedef int png_int_16; +#elif SHRT_MIN == -32768 && SHRT_MAX == 32767 + typedef short png_int_16; +#else +# error "libpng requires a signed 16-bit type" +#endif + +#if UINT_MAX == 65535 + typedef unsigned int png_uint_16; +#elif USHRT_MAX == 65535 + typedef unsigned short png_uint_16; +#else +# error "libpng requires an unsigned 16-bit type" +#endif + +#if INT_MIN < -2147483646 && INT_MAX > 2147483646 + typedef int png_int_32; +#elif LONG_MIN < -2147483646 && LONG_MAX > 2147483646 + typedef long int png_int_32; +#else +# error "libpng requires a signed 32-bit (or more) type" +#endif + +#if UINT_MAX > 4294967294U + typedef unsigned int png_uint_32; +#elif ULONG_MAX > 4294967294U + typedef unsigned long int png_uint_32; +#else +# error "libpng requires an unsigned 32-bit (or more) type" +#endif + +/* Prior to 1.6.0, it was possible to disable the use of size_t and ptrdiff_t. + * From 1.6.0 onwards, an ISO C90 compiler, as well as a standard-compliant + * behavior of sizeof and ptrdiff_t are required. + * The legacy typedefs are provided here for backwards compatibility. + */ +typedef size_t png_size_t; +typedef ptrdiff_t png_ptrdiff_t; + +/* libpng needs to know the maximum value of 'size_t' and this controls the + * definition of png_alloc_size_t, below. This maximum value of size_t limits + * but does not control the maximum allocations the library makes - there is + * direct application control of this through png_set_user_limits(). + */ +#ifndef PNG_SMALL_SIZE_T + /* Compiler specific tests for systems where size_t is known to be less than + * 32 bits (some of these systems may no longer work because of the lack of + * 'far' support; see above.) + */ +# if (defined(__TURBOC__) && !defined(__FLAT__)) ||\ + (defined(_MSC_VER) && defined(MAXSEG_64K)) +# define PNG_SMALL_SIZE_T +# endif +#endif + +/* png_alloc_size_t is guaranteed to be no smaller than size_t, and no smaller + * than png_uint_32. Casts from size_t or png_uint_32 to png_alloc_size_t are + * not necessary; in fact, it is recommended not to use them at all, so that + * the compiler can complain when something turns out to be problematic. + * + * Casts in the other direction (from png_alloc_size_t to size_t or + * png_uint_32) should be explicitly applied; however, we do not expect to + * encounter practical situations that require such conversions. + * + * PNG_SMALL_SIZE_T must be defined if the maximum value of size_t is less than + * 4294967295 - i.e. less than the maximum value of png_uint_32. + */ +#ifdef PNG_SMALL_SIZE_T + typedef png_uint_32 png_alloc_size_t; +#else + typedef size_t png_alloc_size_t; +#endif + +/* Prior to 1.6.0 libpng offered limited support for Microsoft C compiler + * implementations of Intel CPU specific support of user-mode segmented address + * spaces, where 16-bit pointers address more than 65536 bytes of memory using + * separate 'segment' registers. The implementation requires two different + * types of pointer (only one of which includes the segment value.) + * + * If required this support is available in version 1.2 of libpng and may be + * available in versions through 1.5, although the correctness of the code has + * not been verified recently. + */ + +/* Typedef for floating-point numbers that are converted to fixed-point with a + * multiple of 100,000, e.g., gamma + */ +typedef png_int_32 png_fixed_point; + +/* Add typedefs for pointers */ +typedef void * png_voidp; +typedef const void * png_const_voidp; +typedef png_byte * png_bytep; +typedef const png_byte * png_const_bytep; +typedef png_uint_32 * png_uint_32p; +typedef const png_uint_32 * png_const_uint_32p; +typedef png_int_32 * png_int_32p; +typedef const png_int_32 * png_const_int_32p; +typedef png_uint_16 * png_uint_16p; +typedef const png_uint_16 * png_const_uint_16p; +typedef png_int_16 * png_int_16p; +typedef const png_int_16 * png_const_int_16p; +typedef char * png_charp; +typedef const char * png_const_charp; +typedef png_fixed_point * png_fixed_point_p; +typedef const png_fixed_point * png_const_fixed_point_p; +typedef size_t * png_size_tp; +typedef const size_t * png_const_size_tp; + +#ifdef PNG_STDIO_SUPPORTED +typedef FILE * png_FILE_p; +#endif + +#ifdef PNG_FLOATING_POINT_SUPPORTED +typedef double * png_doublep; +typedef const double * png_const_doublep; +#endif + +/* Pointers to pointers; i.e. arrays */ +typedef png_byte * * png_bytepp; +typedef png_uint_32 * * png_uint_32pp; +typedef png_int_32 * * png_int_32pp; +typedef png_uint_16 * * png_uint_16pp; +typedef png_int_16 * * png_int_16pp; +typedef const char * * png_const_charpp; +typedef char * * png_charpp; +typedef png_fixed_point * * png_fixed_point_pp; +#ifdef PNG_FLOATING_POINT_SUPPORTED +typedef double * * png_doublepp; +#endif + +/* Pointers to pointers to pointers; i.e., pointer to array */ +typedef char * * * png_charppp; + +#endif /* PNG_BUILDING_SYMBOL_TABLE */ + +#endif /* PNGCONF_H */ diff --git a/vcpkg/installed/x64-osx/include/libpng16/pnglibconf.h b/vcpkg/installed/x64-osx/include/libpng16/pnglibconf.h new file mode 100644 index 0000000..c62c497 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/libpng16/pnglibconf.h @@ -0,0 +1,224 @@ +/* pnglibconf.h - library build configuration */ + +/* libpng version 1.6.43 */ + +/* Copyright (c) 2018-2024 Cosmin Truta */ +/* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson */ + +/* This code is released under the libpng license. */ +/* For conditions of distribution and use, see the disclaimer */ +/* and license in png.h */ + +/* pnglibconf.h */ +/* Machine generated file: DO NOT EDIT */ +/* Derived from: scripts/pnglibconf.dfa */ +#ifndef PNGLCONF_H +#define PNGLCONF_H +/* options */ +#define PNG_16BIT_SUPPORTED +#define PNG_ALIGNED_MEMORY_SUPPORTED +/*#undef PNG_ARM_NEON_API_SUPPORTED*/ +/*#undef PNG_ARM_NEON_CHECK_SUPPORTED*/ +#define PNG_BENIGN_ERRORS_SUPPORTED +#define PNG_BENIGN_READ_ERRORS_SUPPORTED +/*#undef PNG_BENIGN_WRITE_ERRORS_SUPPORTED*/ +#define PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED +#define PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED +#define PNG_COLORSPACE_SUPPORTED +#define PNG_CONSOLE_IO_SUPPORTED +#define PNG_CONVERT_tIME_SUPPORTED +/*#undef PNG_DISABLE_ADLER32_CHECK_SUPPORTED*/ +#define PNG_EASY_ACCESS_SUPPORTED +/*#undef PNG_ERROR_NUMBERS_SUPPORTED*/ +#define PNG_ERROR_TEXT_SUPPORTED +#define PNG_FIXED_POINT_SUPPORTED +#define PNG_FLOATING_ARITHMETIC_SUPPORTED +#define PNG_FLOATING_POINT_SUPPORTED +#define PNG_FORMAT_AFIRST_SUPPORTED +#define PNG_FORMAT_BGR_SUPPORTED +#define PNG_GAMMA_SUPPORTED +#define PNG_GET_PALETTE_MAX_SUPPORTED +#define PNG_HANDLE_AS_UNKNOWN_SUPPORTED +#define PNG_INCH_CONVERSIONS_SUPPORTED +#define PNG_INFO_IMAGE_SUPPORTED +#define PNG_IO_STATE_SUPPORTED +/*#undef PNG_MIPS_MMI_API_SUPPORTED*/ +/*#undef PNG_MIPS_MMI_CHECK_SUPPORTED*/ +/*#undef PNG_MIPS_MSA_API_SUPPORTED*/ +/*#undef PNG_MIPS_MSA_CHECK_SUPPORTED*/ +#define PNG_MNG_FEATURES_SUPPORTED +#define PNG_POINTER_INDEXING_SUPPORTED +/*#undef PNG_POWERPC_VSX_API_SUPPORTED*/ +/*#undef PNG_POWERPC_VSX_CHECK_SUPPORTED*/ +#define PNG_PROGRESSIVE_READ_SUPPORTED +#define PNG_READ_16BIT_SUPPORTED +#define PNG_READ_ALPHA_MODE_SUPPORTED +#define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED +#define PNG_READ_BACKGROUND_SUPPORTED +#define PNG_READ_BGR_SUPPORTED +#define PNG_READ_CHECK_FOR_INVALID_INDEX_SUPPORTED +#define PNG_READ_COMPOSITE_NODIV_SUPPORTED +#define PNG_READ_COMPRESSED_TEXT_SUPPORTED +#define PNG_READ_EXPAND_16_SUPPORTED +#define PNG_READ_EXPAND_SUPPORTED +#define PNG_READ_FILLER_SUPPORTED +#define PNG_READ_GAMMA_SUPPORTED +#define PNG_READ_GET_PALETTE_MAX_SUPPORTED +#define PNG_READ_GRAY_TO_RGB_SUPPORTED +#define PNG_READ_INTERLACING_SUPPORTED +#define PNG_READ_INT_FUNCTIONS_SUPPORTED +#define PNG_READ_INVERT_ALPHA_SUPPORTED +#define PNG_READ_INVERT_SUPPORTED +#define PNG_READ_OPT_PLTE_SUPPORTED +#define PNG_READ_PACKSWAP_SUPPORTED +#define PNG_READ_PACK_SUPPORTED +#define PNG_READ_QUANTIZE_SUPPORTED +#define PNG_READ_RGB_TO_GRAY_SUPPORTED +#define PNG_READ_SCALE_16_TO_8_SUPPORTED +#define PNG_READ_SHIFT_SUPPORTED +#define PNG_READ_STRIP_16_TO_8_SUPPORTED +#define PNG_READ_STRIP_ALPHA_SUPPORTED +#define PNG_READ_SUPPORTED +#define PNG_READ_SWAP_ALPHA_SUPPORTED +#define PNG_READ_SWAP_SUPPORTED +#define PNG_READ_TEXT_SUPPORTED +#define PNG_READ_TRANSFORMS_SUPPORTED +#define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_READ_USER_CHUNKS_SUPPORTED +#define PNG_READ_USER_TRANSFORM_SUPPORTED +#define PNG_READ_bKGD_SUPPORTED +#define PNG_READ_cHRM_SUPPORTED +#define PNG_READ_eXIf_SUPPORTED +#define PNG_READ_gAMA_SUPPORTED +#define PNG_READ_hIST_SUPPORTED +#define PNG_READ_iCCP_SUPPORTED +#define PNG_READ_iTXt_SUPPORTED +#define PNG_READ_oFFs_SUPPORTED +#define PNG_READ_pCAL_SUPPORTED +#define PNG_READ_pHYs_SUPPORTED +#define PNG_READ_sBIT_SUPPORTED +#define PNG_READ_sCAL_SUPPORTED +#define PNG_READ_sPLT_SUPPORTED +#define PNG_READ_sRGB_SUPPORTED +#define PNG_READ_tEXt_SUPPORTED +#define PNG_READ_tIME_SUPPORTED +#define PNG_READ_tRNS_SUPPORTED +#define PNG_READ_zTXt_SUPPORTED +#define PNG_SAVE_INT_32_SUPPORTED +#define PNG_SAVE_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_SEQUENTIAL_READ_SUPPORTED +#define PNG_SETJMP_SUPPORTED +#define PNG_SET_OPTION_SUPPORTED +#define PNG_SET_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_SET_USER_LIMITS_SUPPORTED +#define PNG_SIMPLIFIED_READ_AFIRST_SUPPORTED +#define PNG_SIMPLIFIED_READ_BGR_SUPPORTED +#define PNG_SIMPLIFIED_READ_SUPPORTED +#define PNG_SIMPLIFIED_WRITE_AFIRST_SUPPORTED +#define PNG_SIMPLIFIED_WRITE_BGR_SUPPORTED +#define PNG_SIMPLIFIED_WRITE_STDIO_SUPPORTED +#define PNG_SIMPLIFIED_WRITE_SUPPORTED +#define PNG_STDIO_SUPPORTED +#define PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_TEXT_SUPPORTED +#define PNG_TIME_RFC1123_SUPPORTED +#define PNG_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_USER_CHUNKS_SUPPORTED +#define PNG_USER_LIMITS_SUPPORTED +#define PNG_USER_MEM_SUPPORTED +#define PNG_USER_TRANSFORM_INFO_SUPPORTED +#define PNG_USER_TRANSFORM_PTR_SUPPORTED +#define PNG_WARNINGS_SUPPORTED +#define PNG_WRITE_16BIT_SUPPORTED +#define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED +#define PNG_WRITE_BGR_SUPPORTED +#define PNG_WRITE_CHECK_FOR_INVALID_INDEX_SUPPORTED +#define PNG_WRITE_COMPRESSED_TEXT_SUPPORTED +#define PNG_WRITE_CUSTOMIZE_COMPRESSION_SUPPORTED +#define PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED +#define PNG_WRITE_FILLER_SUPPORTED +#define PNG_WRITE_FILTER_SUPPORTED +#define PNG_WRITE_FLUSH_SUPPORTED +#define PNG_WRITE_GET_PALETTE_MAX_SUPPORTED +#define PNG_WRITE_INTERLACING_SUPPORTED +#define PNG_WRITE_INT_FUNCTIONS_SUPPORTED +#define PNG_WRITE_INVERT_ALPHA_SUPPORTED +#define PNG_WRITE_INVERT_SUPPORTED +#define PNG_WRITE_OPTIMIZE_CMF_SUPPORTED +#define PNG_WRITE_PACKSWAP_SUPPORTED +#define PNG_WRITE_PACK_SUPPORTED +#define PNG_WRITE_SHIFT_SUPPORTED +#define PNG_WRITE_SUPPORTED +#define PNG_WRITE_SWAP_ALPHA_SUPPORTED +#define PNG_WRITE_SWAP_SUPPORTED +#define PNG_WRITE_TEXT_SUPPORTED +#define PNG_WRITE_TRANSFORMS_SUPPORTED +#define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_WRITE_USER_TRANSFORM_SUPPORTED +#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED +#define PNG_WRITE_bKGD_SUPPORTED +#define PNG_WRITE_cHRM_SUPPORTED +#define PNG_WRITE_eXIf_SUPPORTED +#define PNG_WRITE_gAMA_SUPPORTED +#define PNG_WRITE_hIST_SUPPORTED +#define PNG_WRITE_iCCP_SUPPORTED +#define PNG_WRITE_iTXt_SUPPORTED +#define PNG_WRITE_oFFs_SUPPORTED +#define PNG_WRITE_pCAL_SUPPORTED +#define PNG_WRITE_pHYs_SUPPORTED +#define PNG_WRITE_sBIT_SUPPORTED +#define PNG_WRITE_sCAL_SUPPORTED +#define PNG_WRITE_sPLT_SUPPORTED +#define PNG_WRITE_sRGB_SUPPORTED +#define PNG_WRITE_tEXt_SUPPORTED +#define PNG_WRITE_tIME_SUPPORTED +#define PNG_WRITE_tRNS_SUPPORTED +#define PNG_WRITE_zTXt_SUPPORTED +#define PNG_bKGD_SUPPORTED +#define PNG_cHRM_SUPPORTED +#define PNG_eXIf_SUPPORTED +#define PNG_gAMA_SUPPORTED +#define PNG_hIST_SUPPORTED +#define PNG_iCCP_SUPPORTED +#define PNG_iTXt_SUPPORTED +#define PNG_oFFs_SUPPORTED +#define PNG_pCAL_SUPPORTED +#define PNG_pHYs_SUPPORTED +#define PNG_sBIT_SUPPORTED +#define PNG_sCAL_SUPPORTED +#define PNG_sPLT_SUPPORTED +#define PNG_sRGB_SUPPORTED +#define PNG_tEXt_SUPPORTED +#define PNG_tIME_SUPPORTED +#define PNG_tRNS_SUPPORTED +#define PNG_zTXt_SUPPORTED +/* end of options */ +/* settings */ +#define PNG_API_RULE 0 +#define PNG_DEFAULT_READ_MACROS 1 +#define PNG_GAMMA_THRESHOLD_FIXED 5000 +#define PNG_IDAT_READ_SIZE PNG_ZBUF_SIZE +#define PNG_INFLATE_BUF_SIZE 1024 +#define PNG_LINKAGE_API extern +#define PNG_LINKAGE_CALLBACK extern +#define PNG_LINKAGE_DATA extern +#define PNG_LINKAGE_FUNCTION extern +#define PNG_MAX_GAMMA_8 11 +#define PNG_QUANTIZE_BLUE_BITS 5 +#define PNG_QUANTIZE_GREEN_BITS 5 +#define PNG_QUANTIZE_RED_BITS 5 +#define PNG_TEXT_Z_DEFAULT_COMPRESSION (-1) +#define PNG_TEXT_Z_DEFAULT_STRATEGY 0 +#define PNG_USER_CHUNK_CACHE_MAX 1000 +#define PNG_USER_CHUNK_MALLOC_MAX 8000000 +#define PNG_USER_HEIGHT_MAX 1000000 +#define PNG_USER_WIDTH_MAX 1000000 +#define PNG_ZBUF_SIZE 8192 +#define PNG_ZLIB_VERNUM 0x1310 +#define PNG_Z_DEFAULT_COMPRESSION (-1) +#define PNG_Z_DEFAULT_NOFILTER_STRATEGY 0 +#define PNG_Z_DEFAULT_STRATEGY 1 +#define PNG_sCAL_PRECISION 5 +#define PNG_sRGB_PROFILE_CHECKS 2 +/* end of settings */ +#endif /* PNGLCONF_H */ diff --git a/vcpkg/installed/x64-osx/include/lzma.h b/vcpkg/installed/x64-osx/include/lzma.h new file mode 100644 index 0000000..3774b12 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/lzma.h @@ -0,0 +1,327 @@ +/* SPDX-License-Identifier: 0BSD */ + +/** + * \file api/lzma.h + * \brief The public API of liblzma data compression library + * \mainpage + * + * liblzma is a general-purpose data compression library with a zlib-like API. + * The native file format is .xz, but also the old .lzma format and raw (no + * headers) streams are supported. Multiple compression algorithms (filters) + * are supported. Currently LZMA2 is the primary filter. + * + * liblzma is part of XZ Utils . XZ Utils + * includes a gzip-like command line tool named xz and some other tools. + * XZ Utils is developed and maintained by Lasse Collin. + * + * Major parts of liblzma are based on code written by Igor Pavlov, + * specifically the LZMA SDK . + * + * The SHA-256 implementation in liblzma is based on code written by + * Wei Dai in Crypto++ Library . + * + * liblzma is distributed under the BSD Zero Clause License (0BSD). + */ + +/* + * Author: Lasse Collin + */ + +#ifndef LZMA_H +#define LZMA_H + +/***************************** + * Required standard headers * + *****************************/ + +/* + * liblzma API headers need some standard types and macros. To allow + * including lzma.h without requiring the application to include other + * headers first, lzma.h includes the required standard headers unless + * they already seem to be included already or if LZMA_MANUAL_HEADERS + * has been defined. + * + * Here's what types and macros are needed and from which headers: + * - stddef.h: size_t, NULL + * - stdint.h: uint8_t, uint32_t, uint64_t, UINT32_C(n), uint64_C(n), + * UINT32_MAX, UINT64_MAX + * + * However, inttypes.h is a little more portable than stdint.h, although + * inttypes.h declares some unneeded things compared to plain stdint.h. + * + * The hacks below aren't perfect, specifically they assume that inttypes.h + * exists and that it typedefs at least uint8_t, uint32_t, and uint64_t, + * and that, in case of incomplete inttypes.h, unsigned int is 32-bit. + * If the application already takes care of setting up all the types and + * macros properly (for example by using gnulib's stdint.h or inttypes.h), + * we try to detect that the macros are already defined and don't include + * inttypes.h here again. However, you may define LZMA_MANUAL_HEADERS to + * force this file to never include any system headers. + * + * Some could argue that liblzma API should provide all the required types, + * for example lzma_uint64, LZMA_UINT64_C(n), and LZMA_UINT64_MAX. This was + * seen as an unnecessary mess, since most systems already provide all the + * necessary types and macros in the standard headers. + * + * Note that liblzma API still has lzma_bool, because using stdbool.h would + * break C89 and C++ programs on many systems. sizeof(bool) in C99 isn't + * necessarily the same as sizeof(bool) in C++. + */ + +#ifndef LZMA_MANUAL_HEADERS + /* + * I suppose this works portably also in C++. Note that in C++, + * we need to get size_t into the global namespace. + */ +# include + + /* + * Skip inttypes.h if we already have all the required macros. If we + * have the macros, we assume that we have the matching typedefs too. + */ +# if !defined(UINT32_C) || !defined(UINT64_C) \ + || !defined(UINT32_MAX) || !defined(UINT64_MAX) + /* + * MSVC versions older than 2013 have no C99 support, and + * thus they cannot be used to compile liblzma. Using an + * existing liblzma.dll with old MSVC can work though(*), + * but we need to define the required standard integer + * types here in a MSVC-specific way. + * + * (*) If you do this, the existing liblzma.dll probably uses + * a different runtime library than your MSVC-built + * application. Mixing runtimes is generally bad, but + * in this case it should work as long as you avoid + * the few rarely-needed liblzma functions that allocate + * memory and expect the caller to free it using free(). + */ +# if defined(_WIN32) && defined(_MSC_VER) && _MSC_VER < 1800 + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + typedef unsigned __int64 uint64_t; +# else + /* Use the standard inttypes.h. */ +# ifdef __cplusplus + /* + * C99 sections 7.18.2 and 7.18.4 specify + * that C++ implementations define the limit + * and constant macros only if specifically + * requested. Note that if you want the + * format macros (PRIu64 etc.) too, you need + * to define __STDC_FORMAT_MACROS before + * including lzma.h, since re-including + * inttypes.h with __STDC_FORMAT_MACROS + * defined doesn't necessarily work. + */ +# ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS 1 +# endif +# ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS 1 +# endif +# endif + +# include +# endif + + /* + * Some old systems have only the typedefs in inttypes.h, and + * lack all the macros. For those systems, we need a few more + * hacks. We assume that unsigned int is 32-bit and unsigned + * long is either 32-bit or 64-bit. If these hacks aren't + * enough, the application has to setup the types manually + * before including lzma.h. + */ +# ifndef UINT32_C +# if defined(_WIN32) && defined(_MSC_VER) +# define UINT32_C(n) n ## UI32 +# else +# define UINT32_C(n) n ## U +# endif +# endif + +# ifndef UINT64_C +# if defined(_WIN32) && defined(_MSC_VER) +# define UINT64_C(n) n ## UI64 +# else + /* Get ULONG_MAX. */ +# include +# if ULONG_MAX == 4294967295UL +# define UINT64_C(n) n ## ULL +# else +# define UINT64_C(n) n ## UL +# endif +# endif +# endif + +# ifndef UINT32_MAX +# define UINT32_MAX (UINT32_C(4294967295)) +# endif + +# ifndef UINT64_MAX +# define UINT64_MAX (UINT64_C(18446744073709551615)) +# endif +# endif +#endif /* ifdef LZMA_MANUAL_HEADERS */ + + +/****************** + * LZMA_API macro * + ******************/ + +/* + * Some systems require that the functions and function pointers are + * declared specially in the headers. LZMA_API_IMPORT is for importing + * symbols and LZMA_API_CALL is to specify the calling convention. + * + * By default it is assumed that the application will link dynamically + * against liblzma. #define LZMA_API_STATIC in your application if you + * want to link against static liblzma. If you don't care about portability + * to operating systems like Windows, or at least don't care about linking + * against static liblzma on them, don't worry about LZMA_API_STATIC. That + * is, most developers will never need to use LZMA_API_STATIC. + * + * The GCC variants are a special case on Windows (Cygwin and MinGW-w64). + * We rely on GCC doing the right thing with its auto-import feature, + * and thus don't use __declspec(dllimport). This way developers don't + * need to worry about LZMA_API_STATIC. Also the calling convention is + * omitted on Cygwin but not on MinGW-w64. + */ +#ifndef LZMA_API_IMPORT +# if !1 && defined(_WIN32) && !defined(__GNUC__) +# define LZMA_API_IMPORT __declspec(dllimport) +# else +# define LZMA_API_IMPORT +# endif +#endif + +#ifndef LZMA_API_CALL +# if defined(_WIN32) && !defined(__CYGWIN__) +# define LZMA_API_CALL __cdecl +# else +# define LZMA_API_CALL +# endif +#endif + +#ifndef LZMA_API +# define LZMA_API(type) LZMA_API_IMPORT type LZMA_API_CALL +#endif + + +/*********** + * nothrow * + ***********/ + +/* + * None of the functions in liblzma may throw an exception. Even + * the functions that use callback functions won't throw exceptions, + * because liblzma would break if a callback function threw an exception. + */ +#ifndef lzma_nothrow +# if defined(__cplusplus) +# if __cplusplus >= 201103L || (defined(_MSVC_LANG) \ + && _MSVC_LANG >= 201103L) +# define lzma_nothrow noexcept +# else +# define lzma_nothrow throw() +# endif +# elif defined(__GNUC__) && (__GNUC__ > 3 \ + || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) +# define lzma_nothrow __attribute__((__nothrow__)) +# else +# define lzma_nothrow +# endif +#endif + + +/******************** + * GNU C extensions * + ********************/ + +/* + * GNU C extensions are used conditionally in the public API. It doesn't + * break anything if these are sometimes enabled and sometimes not, only + * affects warnings and optimizations. + */ +#if defined(__GNUC__) && __GNUC__ >= 3 +# ifndef lzma_attribute +# define lzma_attribute(attr) __attribute__(attr) +# endif + + /* warn_unused_result was added in GCC 3.4. */ +# ifndef lzma_attr_warn_unused_result +# if __GNUC__ == 3 && __GNUC_MINOR__ < 4 +# define lzma_attr_warn_unused_result +# endif +# endif + +#else +# ifndef lzma_attribute +# define lzma_attribute(attr) +# endif +#endif + + +#ifndef lzma_attr_pure +# define lzma_attr_pure lzma_attribute((__pure__)) +#endif + +#ifndef lzma_attr_const +# define lzma_attr_const lzma_attribute((__const__)) +#endif + +#ifndef lzma_attr_warn_unused_result +# define lzma_attr_warn_unused_result \ + lzma_attribute((__warn_unused_result__)) +#endif + + +/************** + * Subheaders * + **************/ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Subheaders check that this is defined. It is to prevent including + * them directly from applications. + */ +#define LZMA_H_INTERNAL 1 + +/* Basic features */ +#include "lzma/version.h" +#include "lzma/base.h" +#include "lzma/vli.h" +#include "lzma/check.h" + +/* Filters */ +#include "lzma/filter.h" +#include "lzma/bcj.h" +#include "lzma/delta.h" +#include "lzma/lzma12.h" + +/* Container formats */ +#include "lzma/container.h" + +/* Advanced features */ +#include "lzma/stream_flags.h" +#include "lzma/block.h" +#include "lzma/index.h" +#include "lzma/index_hash.h" + +/* Hardware information */ +#include "lzma/hardware.h" + +/* + * All subheaders included. Undefine LZMA_H_INTERNAL to prevent applications + * re-including the subheaders. + */ +#undef LZMA_H_INTERNAL + +#ifdef __cplusplus +} +#endif + +#endif /* ifndef LZMA_H */ diff --git a/vcpkg/installed/x64-osx/include/lzma/base.h b/vcpkg/installed/x64-osx/include/lzma/base.h new file mode 100644 index 0000000..590e1d2 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/lzma/base.h @@ -0,0 +1,747 @@ +/* SPDX-License-Identifier: 0BSD */ + +/** + * \file lzma/base.h + * \brief Data types and functions used in many places in liblzma API + * \note Never include this file directly. Use instead. + */ + +/* + * Author: Lasse Collin + */ + +#ifndef LZMA_H_INTERNAL +# error Never include this file directly. Use instead. +#endif + + +/** + * \brief Boolean + * + * This is here because C89 doesn't have stdbool.h. To set a value for + * variables having type lzma_bool, you can use + * - C99's 'true' and 'false' from stdbool.h; + * - C++'s internal 'true' and 'false'; or + * - integers one (true) and zero (false). + */ +typedef unsigned char lzma_bool; + + +/** + * \brief Type of reserved enumeration variable in structures + * + * To avoid breaking library ABI when new features are added, several + * structures contain extra variables that may be used in future. Since + * sizeof(enum) can be different than sizeof(int), and sizeof(enum) may + * even vary depending on the range of enumeration constants, we specify + * a separate type to be used for reserved enumeration variables. All + * enumeration constants in liblzma API will be non-negative and less + * than 128, which should guarantee that the ABI won't break even when + * new constants are added to existing enumerations. + */ +typedef enum { + LZMA_RESERVED_ENUM = 0 +} lzma_reserved_enum; + + +/** + * \brief Return values used by several functions in liblzma + * + * Check the descriptions of specific functions to find out which return + * values they can return. With some functions the return values may have + * more specific meanings than described here; those differences are + * described per-function basis. + */ +typedef enum { + LZMA_OK = 0, + /**< + * \brief Operation completed successfully + */ + + LZMA_STREAM_END = 1, + /**< + * \brief End of stream was reached + * + * In encoder, LZMA_SYNC_FLUSH, LZMA_FULL_FLUSH, or + * LZMA_FINISH was finished. In decoder, this indicates + * that all the data was successfully decoded. + * + * In all cases, when LZMA_STREAM_END is returned, the last + * output bytes should be picked from strm->next_out. + */ + + LZMA_NO_CHECK = 2, + /**< + * \brief Input stream has no integrity check + * + * This return value can be returned only if the + * LZMA_TELL_NO_CHECK flag was used when initializing + * the decoder. LZMA_NO_CHECK is just a warning, and + * the decoding can be continued normally. + * + * It is possible to call lzma_get_check() immediately after + * lzma_code has returned LZMA_NO_CHECK. The result will + * naturally be LZMA_CHECK_NONE, but the possibility to call + * lzma_get_check() may be convenient in some applications. + */ + + LZMA_UNSUPPORTED_CHECK = 3, + /**< + * \brief Cannot calculate the integrity check + * + * The usage of this return value is different in encoders + * and decoders. + * + * Encoders can return this value only from the initialization + * function. If initialization fails with this value, the + * encoding cannot be done, because there's no way to produce + * output with the correct integrity check. + * + * Decoders can return this value only from lzma_code() and + * only if the LZMA_TELL_UNSUPPORTED_CHECK flag was used when + * initializing the decoder. The decoding can still be + * continued normally even if the check type is unsupported, + * but naturally the check will not be validated, and possible + * errors may go undetected. + * + * With decoder, it is possible to call lzma_get_check() + * immediately after lzma_code() has returned + * LZMA_UNSUPPORTED_CHECK. This way it is possible to find + * out what the unsupported Check ID was. + */ + + LZMA_GET_CHECK = 4, + /**< + * \brief Integrity check type is now available + * + * This value can be returned only by the lzma_code() function + * and only if the decoder was initialized with the + * LZMA_TELL_ANY_CHECK flag. LZMA_GET_CHECK tells the + * application that it may now call lzma_get_check() to find + * out the Check ID. This can be used, for example, to + * implement a decoder that accepts only files that have + * strong enough integrity check. + */ + + LZMA_MEM_ERROR = 5, + /**< + * \brief Cannot allocate memory + * + * Memory allocation failed, or the size of the allocation + * would be greater than SIZE_MAX. + * + * Due to internal implementation reasons, the coding cannot + * be continued even if more memory were made available after + * LZMA_MEM_ERROR. + */ + + LZMA_MEMLIMIT_ERROR = 6, + /**< + * \brief Memory usage limit was reached + * + * Decoder would need more memory than allowed by the + * specified memory usage limit. To continue decoding, + * the memory usage limit has to be increased with + * lzma_memlimit_set(). + * + * liblzma 5.2.6 and earlier had a bug in single-threaded .xz + * decoder (lzma_stream_decoder()) which made it impossible + * to continue decoding after LZMA_MEMLIMIT_ERROR even if + * the limit was increased using lzma_memlimit_set(). + * Other decoders worked correctly. + */ + + LZMA_FORMAT_ERROR = 7, + /**< + * \brief File format not recognized + * + * The decoder did not recognize the input as supported file + * format. This error can occur, for example, when trying to + * decode .lzma format file with lzma_stream_decoder, + * because lzma_stream_decoder accepts only the .xz format. + */ + + LZMA_OPTIONS_ERROR = 8, + /**< + * \brief Invalid or unsupported options + * + * Invalid or unsupported options, for example + * - unsupported filter(s) or filter options; or + * - reserved bits set in headers (decoder only). + * + * Rebuilding liblzma with more features enabled, or + * upgrading to a newer version of liblzma may help. + */ + + LZMA_DATA_ERROR = 9, + /**< + * \brief Data is corrupt + * + * The usage of this return value is different in encoders + * and decoders. In both encoder and decoder, the coding + * cannot continue after this error. + * + * Encoders return this if size limits of the target file + * format would be exceeded. These limits are huge, thus + * getting this error from an encoder is mostly theoretical. + * For example, the maximum compressed and uncompressed + * size of a .xz Stream is roughly 8 EiB (2^63 bytes). + * + * Decoders return this error if the input data is corrupt. + * This can mean, for example, invalid CRC32 in headers + * or invalid check of uncompressed data. + */ + + LZMA_BUF_ERROR = 10, + /**< + * \brief No progress is possible + * + * This error code is returned when the coder cannot consume + * any new input and produce any new output. The most common + * reason for this error is that the input stream being + * decoded is truncated or corrupt. + * + * This error is not fatal. Coding can be continued normally + * by providing more input and/or more output space, if + * possible. + * + * Typically the first call to lzma_code() that can do no + * progress returns LZMA_OK instead of LZMA_BUF_ERROR. Only + * the second consecutive call doing no progress will return + * LZMA_BUF_ERROR. This is intentional. + * + * With zlib, Z_BUF_ERROR may be returned even if the + * application is doing nothing wrong, so apps will need + * to handle Z_BUF_ERROR specially. The above hack + * guarantees that liblzma never returns LZMA_BUF_ERROR + * to properly written applications unless the input file + * is truncated or corrupt. This should simplify the + * applications a little. + */ + + LZMA_PROG_ERROR = 11, + /**< + * \brief Programming error + * + * This indicates that the arguments given to the function are + * invalid or the internal state of the decoder is corrupt. + * - Function arguments are invalid or the structures + * pointed by the argument pointers are invalid + * e.g. if strm->next_out has been set to NULL and + * strm->avail_out > 0 when calling lzma_code(). + * - lzma_* functions have been called in wrong order + * e.g. lzma_code() was called right after lzma_end(). + * - If errors occur randomly, the reason might be flaky + * hardware. + * + * If you think that your code is correct, this error code + * can be a sign of a bug in liblzma. See the documentation + * how to report bugs. + */ + + LZMA_SEEK_NEEDED = 12, + /**< + * \brief Request to change the input file position + * + * Some coders can do random access in the input file. The + * initialization functions of these coders take the file size + * as an argument. No other coders can return LZMA_SEEK_NEEDED. + * + * When this value is returned, the application must seek to + * the file position given in lzma_stream.seek_pos. This value + * is guaranteed to never exceed the file size that was + * specified at the coder initialization. + * + * After seeking the application should read new input and + * pass it normally via lzma_stream.next_in and .avail_in. + */ + + /* + * These enumerations may be used internally by liblzma + * but they will never be returned to applications. + */ + LZMA_RET_INTERNAL1 = 101, + LZMA_RET_INTERNAL2 = 102, + LZMA_RET_INTERNAL3 = 103, + LZMA_RET_INTERNAL4 = 104, + LZMA_RET_INTERNAL5 = 105, + LZMA_RET_INTERNAL6 = 106, + LZMA_RET_INTERNAL7 = 107, + LZMA_RET_INTERNAL8 = 108 +} lzma_ret; + + +/** + * \brief The 'action' argument for lzma_code() + * + * After the first use of LZMA_SYNC_FLUSH, LZMA_FULL_FLUSH, LZMA_FULL_BARRIER, + * or LZMA_FINISH, the same 'action' must be used until lzma_code() returns + * LZMA_STREAM_END. Also, the amount of input (that is, strm->avail_in) must + * not be modified by the application until lzma_code() returns + * LZMA_STREAM_END. Changing the 'action' or modifying the amount of input + * will make lzma_code() return LZMA_PROG_ERROR. + */ +typedef enum { + LZMA_RUN = 0, + /**< + * \brief Continue coding + * + * Encoder: Encode as much input as possible. Some internal + * buffering will probably be done (depends on the filter + * chain in use), which causes latency: the input used won't + * usually be decodeable from the output of the same + * lzma_code() call. + * + * Decoder: Decode as much input as possible and produce as + * much output as possible. + */ + + LZMA_SYNC_FLUSH = 1, + /**< + * \brief Make all the input available at output + * + * Normally the encoder introduces some latency. + * LZMA_SYNC_FLUSH forces all the buffered data to be + * available at output without resetting the internal + * state of the encoder. This way it is possible to use + * compressed stream for example for communication over + * network. + * + * Only some filters support LZMA_SYNC_FLUSH. Trying to use + * LZMA_SYNC_FLUSH with filters that don't support it will + * make lzma_code() return LZMA_OPTIONS_ERROR. For example, + * LZMA1 doesn't support LZMA_SYNC_FLUSH but LZMA2 does. + * + * Using LZMA_SYNC_FLUSH very often can dramatically reduce + * the compression ratio. With some filters (for example, + * LZMA2), fine-tuning the compression options may help + * mitigate this problem significantly (for example, + * match finder with LZMA2). + * + * Decoders don't support LZMA_SYNC_FLUSH. + */ + + LZMA_FULL_FLUSH = 2, + /**< + * \brief Finish encoding of the current Block + * + * All the input data going to the current Block must have + * been given to the encoder (the last bytes can still be + * pending in *next_in). Call lzma_code() with LZMA_FULL_FLUSH + * until it returns LZMA_STREAM_END. Then continue normally + * with LZMA_RUN or finish the Stream with LZMA_FINISH. + * + * This action is currently supported only by Stream encoder + * and easy encoder (which uses Stream encoder). If there is + * no unfinished Block, no empty Block is created. + */ + + LZMA_FULL_BARRIER = 4, + /**< + * \brief Finish encoding of the current Block + * + * This is like LZMA_FULL_FLUSH except that this doesn't + * necessarily wait until all the input has been made + * available via the output buffer. That is, lzma_code() + * might return LZMA_STREAM_END as soon as all the input + * has been consumed (avail_in == 0). + * + * LZMA_FULL_BARRIER is useful with a threaded encoder if + * one wants to split the .xz Stream into Blocks at specific + * offsets but doesn't care if the output isn't flushed + * immediately. Using LZMA_FULL_BARRIER allows keeping + * the threads busy while LZMA_FULL_FLUSH would make + * lzma_code() wait until all the threads have finished + * until more data could be passed to the encoder. + * + * With a lzma_stream initialized with the single-threaded + * lzma_stream_encoder() or lzma_easy_encoder(), + * LZMA_FULL_BARRIER is an alias for LZMA_FULL_FLUSH. + */ + + LZMA_FINISH = 3 + /**< + * \brief Finish the coding operation + * + * All the input data must have been given to the encoder + * (the last bytes can still be pending in next_in). + * Call lzma_code() with LZMA_FINISH until it returns + * LZMA_STREAM_END. Once LZMA_FINISH has been used, + * the amount of input must no longer be changed by + * the application. + * + * When decoding, using LZMA_FINISH is optional unless the + * LZMA_CONCATENATED flag was used when the decoder was + * initialized. When LZMA_CONCATENATED was not used, the only + * effect of LZMA_FINISH is that the amount of input must not + * be changed just like in the encoder. + */ +} lzma_action; + + +/** + * \brief Custom functions for memory handling + * + * A pointer to lzma_allocator may be passed via lzma_stream structure + * to liblzma, and some advanced functions take a pointer to lzma_allocator + * as a separate function argument. The library will use the functions + * specified in lzma_allocator for memory handling instead of the default + * malloc() and free(). C++ users should note that the custom memory + * handling functions must not throw exceptions. + * + * Single-threaded mode only: liblzma doesn't make an internal copy of + * lzma_allocator. Thus, it is OK to change these function pointers in + * the middle of the coding process, but obviously it must be done + * carefully to make sure that the replacement 'free' can deallocate + * memory allocated by the earlier 'alloc' function(s). + * + * Multithreaded mode: liblzma might internally store pointers to the + * lzma_allocator given via the lzma_stream structure. The application + * must not change the allocator pointer in lzma_stream or the contents + * of the pointed lzma_allocator structure until lzma_end() has been used + * to free the memory associated with that lzma_stream. The allocation + * functions might be called simultaneously from multiple threads, and + * thus they must be thread safe. + */ +typedef struct { + /** + * \brief Pointer to a custom memory allocation function + * + * If you don't want a custom allocator, but still want + * custom free(), set this to NULL and liblzma will use + * the standard malloc(). + * + * \param opaque lzma_allocator.opaque (see below) + * \param nmemb Number of elements like in calloc(). liblzma + * will always set nmemb to 1, so it is safe to + * ignore nmemb in a custom allocator if you like. + * The nmemb argument exists only for + * compatibility with zlib and libbzip2. + * \param size Size of an element in bytes. + * liblzma never sets this to zero. + * + * \return Pointer to the beginning of a memory block of + * 'size' bytes, or NULL if allocation fails + * for some reason. When allocation fails, functions + * of liblzma return LZMA_MEM_ERROR. + * + * The allocator should not waste time zeroing the allocated buffers. + * This is not only about speed, but also memory usage, since the + * operating system kernel doesn't necessarily allocate the requested + * memory in physical memory until it is actually used. With small + * input files, liblzma may actually need only a fraction of the + * memory that it requested for allocation. + * + * \note LZMA_MEM_ERROR is also used when the size of the + * allocation would be greater than SIZE_MAX. Thus, + * don't assume that the custom allocator must have + * returned NULL if some function from liblzma + * returns LZMA_MEM_ERROR. + */ + void *(LZMA_API_CALL *alloc)(void *opaque, size_t nmemb, size_t size); + + /** + * \brief Pointer to a custom memory freeing function + * + * If you don't want a custom freeing function, but still + * want a custom allocator, set this to NULL and liblzma + * will use the standard free(). + * + * \param opaque lzma_allocator.opaque (see below) + * \param ptr Pointer returned by lzma_allocator.alloc(), + * or when it is set to NULL, a pointer returned + * by the standard malloc(). + */ + void (LZMA_API_CALL *free)(void *opaque, void *ptr); + + /** + * \brief Pointer passed to .alloc() and .free() + * + * opaque is passed as the first argument to lzma_allocator.alloc() + * and lzma_allocator.free(). This intended to ease implementing + * custom memory allocation functions for use with liblzma. + * + * If you don't need this, you should set this to NULL. + */ + void *opaque; + +} lzma_allocator; + + +/** + * \brief Internal data structure + * + * The contents of this structure is not visible outside the library. + */ +typedef struct lzma_internal_s lzma_internal; + + +/** + * \brief Passing data to and from liblzma + * + * The lzma_stream structure is used for + * - passing pointers to input and output buffers to liblzma; + * - defining custom memory handler functions; and + * - holding a pointer to coder-specific internal data structures. + * + * Typical usage: + * + * - After allocating lzma_stream (on stack or with malloc()), it must be + * initialized to LZMA_STREAM_INIT (see LZMA_STREAM_INIT for details). + * + * - Initialize a coder to the lzma_stream, for example by using + * lzma_easy_encoder() or lzma_auto_decoder(). Some notes: + * - In contrast to zlib, strm->next_in and strm->next_out are + * ignored by all initialization functions, thus it is safe + * to not initialize them yet. + * - The initialization functions always set strm->total_in and + * strm->total_out to zero. + * - If the initialization function fails, no memory is left allocated + * that would require freeing with lzma_end() even if some memory was + * associated with the lzma_stream structure when the initialization + * function was called. + * + * - Use lzma_code() to do the actual work. + * + * - Once the coding has been finished, the existing lzma_stream can be + * reused. It is OK to reuse lzma_stream with different initialization + * function without calling lzma_end() first. Old allocations are + * automatically freed. + * + * - Finally, use lzma_end() to free the allocated memory. lzma_end() never + * frees the lzma_stream structure itself. + * + * Application may modify the values of total_in and total_out as it wants. + * They are updated by liblzma to match the amount of data read and + * written but aren't used for anything else except as a possible return + * values from lzma_get_progress(). + */ +typedef struct { + const uint8_t *next_in; /**< Pointer to the next input byte. */ + size_t avail_in; /**< Number of available input bytes in next_in. */ + uint64_t total_in; /**< Total number of bytes read by liblzma. */ + + uint8_t *next_out; /**< Pointer to the next output position. */ + size_t avail_out; /**< Amount of free space in next_out. */ + uint64_t total_out; /**< Total number of bytes written by liblzma. */ + + /** + * \brief Custom memory allocation functions + * + * In most cases this is NULL which makes liblzma use + * the standard malloc() and free(). + * + * \note In 5.0.x this is not a const pointer. + */ + const lzma_allocator *allocator; + + /** Internal state is not visible to applications. */ + lzma_internal *internal; + + /* + * Reserved space to allow possible future extensions without + * breaking the ABI. Excluding the initialization of this structure, + * you should not touch these, because the names of these variables + * may change. + */ + + /** \private Reserved member. */ + void *reserved_ptr1; + + /** \private Reserved member. */ + void *reserved_ptr2; + + /** \private Reserved member. */ + void *reserved_ptr3; + + /** \private Reserved member. */ + void *reserved_ptr4; + + /** + * \brief New seek input position for LZMA_SEEK_NEEDED + * + * When lzma_code() returns LZMA_SEEK_NEEDED, the new input position + * needed by liblzma will be available seek_pos. The value is + * guaranteed to not exceed the file size that was specified when + * this lzma_stream was initialized. + * + * In all other situations the value of this variable is undefined. + */ + uint64_t seek_pos; + + /** \private Reserved member. */ + uint64_t reserved_int2; + + /** \private Reserved member. */ + size_t reserved_int3; + + /** \private Reserved member. */ + size_t reserved_int4; + + /** \private Reserved member. */ + lzma_reserved_enum reserved_enum1; + + /** \private Reserved member. */ + lzma_reserved_enum reserved_enum2; + +} lzma_stream; + + +/** + * \brief Initialization for lzma_stream + * + * When you declare an instance of lzma_stream, you can immediately + * initialize it so that initialization functions know that no memory + * has been allocated yet: + * + * lzma_stream strm = LZMA_STREAM_INIT; + * + * If you need to initialize a dynamically allocated lzma_stream, you can use + * memset(strm_pointer, 0, sizeof(lzma_stream)). Strictly speaking, this + * violates the C standard since NULL may have different internal + * representation than zero, but it should be portable enough in practice. + * Anyway, for maximum portability, you can use something like this: + * + * lzma_stream tmp = LZMA_STREAM_INIT; + * *strm = tmp; + */ +#define LZMA_STREAM_INIT \ + { NULL, 0, 0, NULL, 0, 0, NULL, NULL, \ + NULL, NULL, NULL, NULL, 0, 0, 0, 0, \ + LZMA_RESERVED_ENUM, LZMA_RESERVED_ENUM } + + +/** + * \brief Encode or decode data + * + * Once the lzma_stream has been successfully initialized (e.g. with + * lzma_stream_encoder()), the actual encoding or decoding is done + * using this function. The application has to update strm->next_in, + * strm->avail_in, strm->next_out, and strm->avail_out to pass input + * to and get output from liblzma. + * + * See the description of the coder-specific initialization function to find + * out what 'action' values are supported by the coder. + * + * \param strm Pointer to lzma_stream that is at least initialized + * with LZMA_STREAM_INIT. + * \param action Action for this function to take. Must be a valid + * lzma_action enum value. + * + * \return Any valid lzma_ret. See the lzma_ret enum description for more + * information. + */ +extern LZMA_API(lzma_ret) lzma_code(lzma_stream *strm, lzma_action action) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Free memory allocated for the coder data structures + * + * After lzma_end(strm), strm->internal is guaranteed to be NULL. No other + * members of the lzma_stream structure are touched. + * + * \note zlib indicates an error if application end()s unfinished + * stream structure. liblzma doesn't do this, and assumes that + * application knows what it is doing. + * + * \param strm Pointer to lzma_stream that is at least initialized + * with LZMA_STREAM_INIT. + */ +extern LZMA_API(void) lzma_end(lzma_stream *strm) lzma_nothrow; + + +/** + * \brief Get progress information + * + * In single-threaded mode, applications can get progress information from + * strm->total_in and strm->total_out. In multi-threaded mode this is less + * useful because a significant amount of both input and output data gets + * buffered internally by liblzma. This makes total_in and total_out give + * misleading information and also makes the progress indicator updates + * non-smooth. + * + * This function gives realistic progress information also in multi-threaded + * mode by taking into account the progress made by each thread. In + * single-threaded mode *progress_in and *progress_out are set to + * strm->total_in and strm->total_out, respectively. + * + * \param strm Pointer to lzma_stream that is at least + * initialized with LZMA_STREAM_INIT. + * \param[out] progress_in Pointer to the number of input bytes processed. + * \param[out] progress_out Pointer to the number of output bytes processed. + */ +extern LZMA_API(void) lzma_get_progress(lzma_stream *strm, + uint64_t *progress_in, uint64_t *progress_out) lzma_nothrow; + + +/** + * \brief Get the memory usage of decoder filter chain + * + * This function is currently supported only when *strm has been initialized + * with a function that takes a memlimit argument. With other functions, you + * should use e.g. lzma_raw_encoder_memusage() or lzma_raw_decoder_memusage() + * to estimate the memory requirements. + * + * This function is useful e.g. after LZMA_MEMLIMIT_ERROR to find out how big + * the memory usage limit should have been to decode the input. Note that + * this may give misleading information if decoding .xz Streams that have + * multiple Blocks, because each Block can have different memory requirements. + * + * \param strm Pointer to lzma_stream that is at least initialized + * with LZMA_STREAM_INIT. + * + * \return How much memory is currently allocated for the filter + * decoders. If no filter chain is currently allocated, + * some non-zero value is still returned, which is less than + * or equal to what any filter chain would indicate as its + * memory requirement. + * + * If this function isn't supported by *strm or some other error + * occurs, zero is returned. + */ +extern LZMA_API(uint64_t) lzma_memusage(const lzma_stream *strm) + lzma_nothrow lzma_attr_pure; + + +/** + * \brief Get the current memory usage limit + * + * This function is supported only when *strm has been initialized with + * a function that takes a memlimit argument. + * + * \param strm Pointer to lzma_stream that is at least initialized + * with LZMA_STREAM_INIT. + * + * \return On success, the current memory usage limit is returned + * (always non-zero). On error, zero is returned. + */ +extern LZMA_API(uint64_t) lzma_memlimit_get(const lzma_stream *strm) + lzma_nothrow lzma_attr_pure; + + +/** + * \brief Set the memory usage limit + * + * This function is supported only when *strm has been initialized with + * a function that takes a memlimit argument. + * + * liblzma 5.2.3 and earlier has a bug where memlimit value of 0 causes + * this function to do nothing (leaving the limit unchanged) and still + * return LZMA_OK. Later versions treat 0 as if 1 had been specified (so + * lzma_memlimit_get() will return 1 even if you specify 0 here). + * + * liblzma 5.2.6 and earlier had a bug in single-threaded .xz decoder + * (lzma_stream_decoder()) which made it impossible to continue decoding + * after LZMA_MEMLIMIT_ERROR even if the limit was increased using + * lzma_memlimit_set(). Other decoders worked correctly. + * + * \return Possible lzma_ret values: + * - LZMA_OK: New memory usage limit successfully set. + * - LZMA_MEMLIMIT_ERROR: The new limit is too small. + * The limit was not changed. + * - LZMA_PROG_ERROR: Invalid arguments, e.g. *strm doesn't + * support memory usage limit. + */ +extern LZMA_API(lzma_ret) lzma_memlimit_set( + lzma_stream *strm, uint64_t memlimit) lzma_nothrow; diff --git a/vcpkg/installed/x64-osx/include/lzma/bcj.h b/vcpkg/installed/x64-osx/include/lzma/bcj.h new file mode 100644 index 0000000..7f6611f --- /dev/null +++ b/vcpkg/installed/x64-osx/include/lzma/bcj.h @@ -0,0 +1,98 @@ +/* SPDX-License-Identifier: 0BSD */ + +/** + * \file lzma/bcj.h + * \brief Branch/Call/Jump conversion filters + * \note Never include this file directly. Use instead. + */ + +/* + * Author: Lasse Collin + */ + +#ifndef LZMA_H_INTERNAL +# error Never include this file directly. Use instead. +#endif + + +/* Filter IDs for lzma_filter.id */ + +/** + * \brief Filter for x86 binaries + */ +#define LZMA_FILTER_X86 LZMA_VLI_C(0x04) + +/** + * \brief Filter for Big endian PowerPC binaries + */ +#define LZMA_FILTER_POWERPC LZMA_VLI_C(0x05) + +/** + * \brief Filter for IA-64 (Itanium) binaries + */ +#define LZMA_FILTER_IA64 LZMA_VLI_C(0x06) + +/** + * \brief Filter for ARM binaries + */ +#define LZMA_FILTER_ARM LZMA_VLI_C(0x07) + +/** + * \brief Filter for ARM-Thumb binaries + */ +#define LZMA_FILTER_ARMTHUMB LZMA_VLI_C(0x08) + +/** + * \brief Filter for SPARC binaries + */ +#define LZMA_FILTER_SPARC LZMA_VLI_C(0x09) + +/** + * \brief Filter for ARM64 binaries + */ +#define LZMA_FILTER_ARM64 LZMA_VLI_C(0x0A) + +/** + * \brief Filter for RISC-V binaries + */ +#define LZMA_FILTER_RISCV LZMA_VLI_C(0x0B) + + +/** + * \brief Options for BCJ filters + * + * The BCJ filters never change the size of the data. Specifying options + * for them is optional: if pointer to options is NULL, default value is + * used. You probably never need to specify options to BCJ filters, so just + * set the options pointer to NULL and be happy. + * + * If options with non-default values have been specified when encoding, + * the same options must also be specified when decoding. + * + * \note At the moment, none of the BCJ filters support + * LZMA_SYNC_FLUSH. If LZMA_SYNC_FLUSH is specified, + * LZMA_OPTIONS_ERROR will be returned. If there is need, + * partial support for LZMA_SYNC_FLUSH can be added in future. + * Partial means that flushing would be possible only at + * offsets that are multiple of 2, 4, or 16 depending on + * the filter, except x86 which cannot be made to support + * LZMA_SYNC_FLUSH predictably. + */ +typedef struct { + /** + * \brief Start offset for conversions + * + * This setting is useful only when the same filter is used + * _separately_ for multiple sections of the same executable file, + * and the sections contain cross-section branch/call/jump + * instructions. In that case it is beneficial to set the start + * offset of the non-first sections so that the relative addresses + * of the cross-section branch/call/jump instructions will use the + * same absolute addresses as in the first section. + * + * When the pointer to options is NULL, the default value (zero) + * is used. + */ + uint32_t start_offset; + +} lzma_options_bcj; diff --git a/vcpkg/installed/x64-osx/include/lzma/block.h b/vcpkg/installed/x64-osx/include/lzma/block.h new file mode 100644 index 0000000..05b77e5 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/lzma/block.h @@ -0,0 +1,694 @@ +/* SPDX-License-Identifier: 0BSD */ + +/** + * \file lzma/block.h + * \brief .xz Block handling + * \note Never include this file directly. Use instead. + */ + +/* + * Author: Lasse Collin + */ + +#ifndef LZMA_H_INTERNAL +# error Never include this file directly. Use instead. +#endif + + +/** + * \brief Options for the Block and Block Header encoders and decoders + * + * Different Block handling functions use different parts of this structure. + * Some read some members, other functions write, and some do both. Only the + * members listed for reading need to be initialized when the specified + * functions are called. The members marked for writing will be assigned + * new values at some point either by calling the given function or by + * later calls to lzma_code(). + */ +typedef struct { + /** + * \brief Block format version + * + * To prevent API and ABI breakages when new features are needed, + * a version number is used to indicate which members in this + * structure are in use: + * - liblzma >= 5.0.0: version = 0 is supported. + * - liblzma >= 5.1.4beta: Support for version = 1 was added, + * which adds the ignore_check member. + * + * If version is greater than one, most Block related functions + * will return LZMA_OPTIONS_ERROR (lzma_block_header_decode() works + * with any version value). + * + * Read by: + * - lzma_block_header_size() + * - lzma_block_header_encode() + * - lzma_block_header_decode() + * - lzma_block_compressed_size() + * - lzma_block_unpadded_size() + * - lzma_block_total_size() + * - lzma_block_encoder() + * - lzma_block_decoder() + * - lzma_block_buffer_encode() + * - lzma_block_uncomp_encode() + * - lzma_block_buffer_decode() + * + * Written by: + * - lzma_block_header_decode() + */ + uint32_t version; + + /** + * \brief Size of the Block Header field in bytes + * + * This is always a multiple of four. + * + * Read by: + * - lzma_block_header_encode() + * - lzma_block_header_decode() + * - lzma_block_compressed_size() + * - lzma_block_unpadded_size() + * - lzma_block_total_size() + * - lzma_block_decoder() + * - lzma_block_buffer_decode() + * + * Written by: + * - lzma_block_header_size() + * - lzma_block_buffer_encode() + * - lzma_block_uncomp_encode() + */ + uint32_t header_size; +# define LZMA_BLOCK_HEADER_SIZE_MIN 8 +# define LZMA_BLOCK_HEADER_SIZE_MAX 1024 + + /** + * \brief Type of integrity Check + * + * The Check ID is not stored into the Block Header, thus its value + * must be provided also when decoding. + * + * Read by: + * - lzma_block_header_encode() + * - lzma_block_header_decode() + * - lzma_block_compressed_size() + * - lzma_block_unpadded_size() + * - lzma_block_total_size() + * - lzma_block_encoder() + * - lzma_block_decoder() + * - lzma_block_buffer_encode() + * - lzma_block_buffer_decode() + */ + lzma_check check; + + /** + * \brief Size of the Compressed Data in bytes + * + * Encoding: If this is not LZMA_VLI_UNKNOWN, Block Header encoder + * will store this value to the Block Header. Block encoder doesn't + * care about this value, but will set it once the encoding has been + * finished. + * + * Decoding: If this is not LZMA_VLI_UNKNOWN, Block decoder will + * verify that the size of the Compressed Data field matches + * compressed_size. + * + * Usually you don't know this value when encoding in streamed mode, + * and thus cannot write this field into the Block Header. + * + * In non-streamed mode you can reserve space for this field before + * encoding the actual Block. After encoding the data, finish the + * Block by encoding the Block Header. Steps in detail: + * + * - Set compressed_size to some big enough value. If you don't know + * better, use LZMA_VLI_MAX, but remember that bigger values take + * more space in Block Header. + * + * - Call lzma_block_header_size() to see how much space you need to + * reserve for the Block Header. + * + * - Encode the Block using lzma_block_encoder() and lzma_code(). + * It sets compressed_size to the correct value. + * + * - Use lzma_block_header_encode() to encode the Block Header. + * Because space was reserved in the first step, you don't need + * to call lzma_block_header_size() anymore, because due to + * reserving, header_size has to be big enough. If it is "too big", + * lzma_block_header_encode() will add enough Header Padding to + * make Block Header to match the size specified by header_size. + * + * Read by: + * - lzma_block_header_size() + * - lzma_block_header_encode() + * - lzma_block_compressed_size() + * - lzma_block_unpadded_size() + * - lzma_block_total_size() + * - lzma_block_decoder() + * - lzma_block_buffer_decode() + * + * Written by: + * - lzma_block_header_decode() + * - lzma_block_compressed_size() + * - lzma_block_encoder() + * - lzma_block_decoder() + * - lzma_block_buffer_encode() + * - lzma_block_uncomp_encode() + * - lzma_block_buffer_decode() + */ + lzma_vli compressed_size; + + /** + * \brief Uncompressed Size in bytes + * + * This is handled very similarly to compressed_size above. + * + * uncompressed_size is needed by fewer functions than + * compressed_size. This is because uncompressed_size isn't + * needed to validate that Block stays within proper limits. + * + * Read by: + * - lzma_block_header_size() + * - lzma_block_header_encode() + * - lzma_block_decoder() + * - lzma_block_buffer_decode() + * + * Written by: + * - lzma_block_header_decode() + * - lzma_block_encoder() + * - lzma_block_decoder() + * - lzma_block_buffer_encode() + * - lzma_block_uncomp_encode() + * - lzma_block_buffer_decode() + */ + lzma_vli uncompressed_size; + + /** + * \brief Array of filters + * + * There can be 1-4 filters. The end of the array is marked with + * .id = LZMA_VLI_UNKNOWN. + * + * Read by: + * - lzma_block_header_size() + * - lzma_block_header_encode() + * - lzma_block_encoder() + * - lzma_block_decoder() + * - lzma_block_buffer_encode() + * - lzma_block_buffer_decode() + * + * Written by: + * - lzma_block_header_decode(): Note that this does NOT free() + * the old filter options structures. All unused filters[] will + * have .id == LZMA_VLI_UNKNOWN and .options == NULL. If + * decoding fails, all filters[] are guaranteed to be + * LZMA_VLI_UNKNOWN and NULL. + * + * \note Because of the array is terminated with + * .id = LZMA_VLI_UNKNOWN, the actual array must + * have LZMA_FILTERS_MAX + 1 members or the Block + * Header decoder will overflow the buffer. + */ + lzma_filter *filters; + + /** + * \brief Raw value stored in the Check field + * + * After successful coding, the first lzma_check_size(check) bytes + * of this array contain the raw value stored in the Check field. + * + * Note that CRC32 and CRC64 are stored in little endian byte order. + * Take it into account if you display the Check values to the user. + * + * Written by: + * - lzma_block_encoder() + * - lzma_block_decoder() + * - lzma_block_buffer_encode() + * - lzma_block_uncomp_encode() + * - lzma_block_buffer_decode() + */ + uint8_t raw_check[LZMA_CHECK_SIZE_MAX]; + + /* + * Reserved space to allow possible future extensions without + * breaking the ABI. You should not touch these, because the names + * of these variables may change. These are and will never be used + * with the currently supported options, so it is safe to leave these + * uninitialized. + */ + + /** \private Reserved member. */ + void *reserved_ptr1; + + /** \private Reserved member. */ + void *reserved_ptr2; + + /** \private Reserved member. */ + void *reserved_ptr3; + + /** \private Reserved member. */ + uint32_t reserved_int1; + + /** \private Reserved member. */ + uint32_t reserved_int2; + + /** \private Reserved member. */ + lzma_vli reserved_int3; + + /** \private Reserved member. */ + lzma_vli reserved_int4; + + /** \private Reserved member. */ + lzma_vli reserved_int5; + + /** \private Reserved member. */ + lzma_vli reserved_int6; + + /** \private Reserved member. */ + lzma_vli reserved_int7; + + /** \private Reserved member. */ + lzma_vli reserved_int8; + + /** \private Reserved member. */ + lzma_reserved_enum reserved_enum1; + + /** \private Reserved member. */ + lzma_reserved_enum reserved_enum2; + + /** \private Reserved member. */ + lzma_reserved_enum reserved_enum3; + + /** \private Reserved member. */ + lzma_reserved_enum reserved_enum4; + + /** + * \brief A flag to Block decoder to not verify the Check field + * + * This member is supported by liblzma >= 5.1.4beta if .version >= 1. + * + * If this is set to true, the integrity check won't be calculated + * and verified. Unless you know what you are doing, you should + * leave this to false. (A reason to set this to true is when the + * file integrity is verified externally anyway and you want to + * speed up the decompression, which matters mostly when using + * SHA-256 as the integrity check.) + * + * If .version >= 1, read by: + * - lzma_block_decoder() + * - lzma_block_buffer_decode() + * + * Written by (.version is ignored): + * - lzma_block_header_decode() always sets this to false + */ + lzma_bool ignore_check; + + /** \private Reserved member. */ + lzma_bool reserved_bool2; + + /** \private Reserved member. */ + lzma_bool reserved_bool3; + + /** \private Reserved member. */ + lzma_bool reserved_bool4; + + /** \private Reserved member. */ + lzma_bool reserved_bool5; + + /** \private Reserved member. */ + lzma_bool reserved_bool6; + + /** \private Reserved member. */ + lzma_bool reserved_bool7; + + /** \private Reserved member. */ + lzma_bool reserved_bool8; + +} lzma_block; + + +/** + * \brief Decode the Block Header Size field + * + * To decode Block Header using lzma_block_header_decode(), the size of the + * Block Header has to be known and stored into lzma_block.header_size. + * The size can be calculated from the first byte of a Block using this macro. + * Note that if the first byte is 0x00, it indicates beginning of Index; use + * this macro only when the byte is not 0x00. + * + * There is no encoding macro because lzma_block_header_size() and + * lzma_block_header_encode() should be used. + */ +#define lzma_block_header_size_decode(b) (((uint32_t)(b) + 1) * 4) + + +/** + * \brief Calculate Block Header Size + * + * Calculate the minimum size needed for the Block Header field using the + * settings specified in the lzma_block structure. Note that it is OK to + * increase the calculated header_size value as long as it is a multiple of + * four and doesn't exceed LZMA_BLOCK_HEADER_SIZE_MAX. Increasing header_size + * just means that lzma_block_header_encode() will add Header Padding. + * + * \note This doesn't check that all the options are valid i.e. this + * may return LZMA_OK even if lzma_block_header_encode() or + * lzma_block_encoder() would fail. If you want to validate the + * filter chain, consider using lzma_memlimit_encoder() which as + * a side-effect validates the filter chain. + * + * \param block Block options + * + * \return Possible lzma_ret values: + * - LZMA_OK: Size calculated successfully and stored to + * block->header_size. + * - LZMA_OPTIONS_ERROR: Unsupported version, filters or + * filter options. + * - LZMA_PROG_ERROR: Invalid values like compressed_size == 0. + */ +extern LZMA_API(lzma_ret) lzma_block_header_size(lzma_block *block) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Encode Block Header + * + * The caller must have calculated the size of the Block Header already with + * lzma_block_header_size(). If a value larger than the one calculated by + * lzma_block_header_size() is used, the Block Header will be padded to the + * specified size. + * + * \param block Block options to be encoded. + * \param[out] out Beginning of the output buffer. This must be + * at least block->header_size bytes. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Encoding was successful. block->header_size + * bytes were written to output buffer. + * - LZMA_OPTIONS_ERROR: Invalid or unsupported options. + * - LZMA_PROG_ERROR: Invalid arguments, for example + * block->header_size is invalid or block->filters is NULL. + */ +extern LZMA_API(lzma_ret) lzma_block_header_encode( + const lzma_block *block, uint8_t *out) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Decode Block Header + * + * block->version should (usually) be set to the highest value supported + * by the application. If the application sets block->version to a value + * higher than supported by the current liblzma version, this function will + * downgrade block->version to the highest value supported by it. Thus one + * should check the value of block->version after calling this function if + * block->version was set to a non-zero value and the application doesn't + * otherwise know that the liblzma version being used is new enough to + * support the specified block->version. + * + * The size of the Block Header must have already been decoded with + * lzma_block_header_size_decode() macro and stored to block->header_size. + * + * The integrity check type from Stream Header must have been stored + * to block->check. + * + * block->filters must have been allocated, but they don't need to be + * initialized (possible existing filter options are not freed). + * + * \param[out] block Destination for Block options + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() (and also free() + * if an error occurs). + * \param in Beginning of the input buffer. This must be + * at least block->header_size bytes. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Decoding was successful. block->header_size + * bytes were read from the input buffer. + * - LZMA_OPTIONS_ERROR: The Block Header specifies some + * unsupported options such as unsupported filters. This can + * happen also if block->version was set to a too low value + * compared to what would be required to properly represent + * the information stored in the Block Header. + * - LZMA_DATA_ERROR: Block Header is corrupt, for example, + * the CRC32 doesn't match. + * - LZMA_PROG_ERROR: Invalid arguments, for example + * block->header_size is invalid or block->filters is NULL. + */ +extern LZMA_API(lzma_ret) lzma_block_header_decode(lzma_block *block, + const lzma_allocator *allocator, const uint8_t *in) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Validate and set Compressed Size according to Unpadded Size + * + * Block Header stores Compressed Size, but Index has Unpadded Size. If the + * application has already parsed the Index and is now decoding Blocks, + * it can calculate Compressed Size from Unpadded Size. This function does + * exactly that with error checking: + * + * - Compressed Size calculated from Unpadded Size must be positive integer, + * that is, Unpadded Size must be big enough that after Block Header and + * Check fields there's still at least one byte for Compressed Size. + * + * - If Compressed Size was present in Block Header, the new value + * calculated from Unpadded Size is compared against the value + * from Block Header. + * + * \note This function must be called _after_ decoding the Block Header + * field so that it can properly validate Compressed Size if it + * was present in Block Header. + * + * \param block Block options: block->header_size must + * already be set with lzma_block_header_size(). + * \param unpadded_size Unpadded Size from the Index field in bytes + * + * \return Possible lzma_ret values: + * - LZMA_OK: block->compressed_size was set successfully. + * - LZMA_DATA_ERROR: unpadded_size is too small compared to + * block->header_size and lzma_check_size(block->check). + * - LZMA_PROG_ERROR: Some values are invalid. For example, + * block->header_size must be a multiple of four and + * between 8 and 1024 inclusive. + */ +extern LZMA_API(lzma_ret) lzma_block_compressed_size( + lzma_block *block, lzma_vli unpadded_size) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Calculate Unpadded Size + * + * The Index field stores Unpadded Size and Uncompressed Size. The latter + * can be taken directly from the lzma_block structure after coding a Block, + * but Unpadded Size needs to be calculated from Block Header Size, + * Compressed Size, and size of the Check field. This is where this function + * is needed. + * + * \param block Block options: block->header_size must already be + * set with lzma_block_header_size(). + * + * \return Unpadded Size on success, or zero on error. + */ +extern LZMA_API(lzma_vli) lzma_block_unpadded_size(const lzma_block *block) + lzma_nothrow lzma_attr_pure; + + +/** + * \brief Calculate the total encoded size of a Block + * + * This is equivalent to lzma_block_unpadded_size() except that the returned + * value includes the size of the Block Padding field. + * + * \param block Block options: block->header_size must already be + * set with lzma_block_header_size(). + * + * \return On success, total encoded size of the Block. On error, + * zero is returned. + */ +extern LZMA_API(lzma_vli) lzma_block_total_size(const lzma_block *block) + lzma_nothrow lzma_attr_pure; + + +/** + * \brief Initialize .xz Block encoder + * + * Valid actions for lzma_code() are LZMA_RUN, LZMA_SYNC_FLUSH (only if the + * filter chain supports it), and LZMA_FINISH. + * + * The Block encoder encodes the Block Data, Block Padding, and Check value. + * It does NOT encode the Block Header which can be encoded with + * lzma_block_header_encode(). + * + * \param strm Pointer to lzma_stream that is at least initialized + * with LZMA_STREAM_INIT. + * \param block Block options: block->version, block->check, + * and block->filters must have been initialized. + * + * \return Possible lzma_ret values: + * - LZMA_OK: All good, continue with lzma_code(). + * - LZMA_MEM_ERROR + * - LZMA_OPTIONS_ERROR + * - LZMA_UNSUPPORTED_CHECK: block->check specifies a Check ID + * that is not supported by this build of liblzma. Initializing + * the encoder failed. + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_block_encoder( + lzma_stream *strm, lzma_block *block) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Initialize .xz Block decoder + * + * Valid actions for lzma_code() are LZMA_RUN and LZMA_FINISH. Using + * LZMA_FINISH is not required. It is supported only for convenience. + * + * The Block decoder decodes the Block Data, Block Padding, and Check value. + * It does NOT decode the Block Header which can be decoded with + * lzma_block_header_decode(). + * + * \param strm Pointer to lzma_stream that is at least initialized + * with LZMA_STREAM_INIT. + * \param block Block options + * + * \return Possible lzma_ret values: + * - LZMA_OK: All good, continue with lzma_code(). + * - LZMA_PROG_ERROR + * - LZMA_MEM_ERROR + */ +extern LZMA_API(lzma_ret) lzma_block_decoder( + lzma_stream *strm, lzma_block *block) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Calculate maximum output size for single-call Block encoding + * + * This is equivalent to lzma_stream_buffer_bound() but for .xz Blocks. + * See the documentation of lzma_stream_buffer_bound(). + * + * \param uncompressed_size Size of the data to be encoded with the + * single-call Block encoder. + * + * \return Maximum output size in bytes for single-call Block encoding. + */ +extern LZMA_API(size_t) lzma_block_buffer_bound(size_t uncompressed_size) + lzma_nothrow; + + +/** + * \brief Single-call .xz Block encoder + * + * In contrast to the multi-call encoder initialized with + * lzma_block_encoder(), this function encodes also the Block Header. This + * is required to make it possible to write appropriate Block Header also + * in case the data isn't compressible, and different filter chain has to be + * used to encode the data in uncompressed form using uncompressed chunks + * of the LZMA2 filter. + * + * When the data isn't compressible, header_size, compressed_size, and + * uncompressed_size are set just like when the data was compressible, but + * it is possible that header_size is too small to hold the filter chain + * specified in block->filters, because that isn't necessarily the filter + * chain that was actually used to encode the data. lzma_block_unpadded_size() + * still works normally, because it doesn't read the filters array. + * + * \param block Block options: block->version, block->check, + * and block->filters must have been initialized. + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + * \param in Beginning of the input buffer + * \param in_size Size of the input buffer + * \param[out] out Beginning of the output buffer + * \param[out] out_pos The next byte will be written to out[*out_pos]. + * *out_pos is updated only if encoding succeeds. + * \param out_size Size of the out buffer; the first byte into + * which no data is written to is out[out_size]. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Encoding was successful. + * - LZMA_BUF_ERROR: Not enough output buffer space. + * - LZMA_UNSUPPORTED_CHECK + * - LZMA_OPTIONS_ERROR + * - LZMA_MEM_ERROR + * - LZMA_DATA_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_block_buffer_encode( + lzma_block *block, const lzma_allocator *allocator, + const uint8_t *in, size_t in_size, + uint8_t *out, size_t *out_pos, size_t out_size) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Single-call uncompressed .xz Block encoder + * + * This is like lzma_block_buffer_encode() except this doesn't try to + * compress the data and instead encodes the data using LZMA2 uncompressed + * chunks. The required output buffer size can be determined with + * lzma_block_buffer_bound(). + * + * Since the data won't be compressed, this function ignores block->filters. + * This function doesn't take lzma_allocator because this function doesn't + * allocate any memory from the heap. + * + * \param block Block options: block->version, block->check, + * and block->filters must have been initialized. + * \param in Beginning of the input buffer + * \param in_size Size of the input buffer + * \param[out] out Beginning of the output buffer + * \param[out] out_pos The next byte will be written to out[*out_pos]. + * *out_pos is updated only if encoding succeeds. + * \param out_size Size of the out buffer; the first byte into + * which no data is written to is out[out_size]. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Encoding was successful. + * - LZMA_BUF_ERROR: Not enough output buffer space. + * - LZMA_UNSUPPORTED_CHECK + * - LZMA_OPTIONS_ERROR + * - LZMA_MEM_ERROR + * - LZMA_DATA_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_block_uncomp_encode(lzma_block *block, + const uint8_t *in, size_t in_size, + uint8_t *out, size_t *out_pos, size_t out_size) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Single-call .xz Block decoder + * + * This is single-call equivalent of lzma_block_decoder(), and requires that + * the caller has already decoded Block Header and checked its memory usage. + * + * \param block Block options + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + * \param in Beginning of the input buffer + * \param in_pos The next byte will be read from in[*in_pos]. + * *in_pos is updated only if decoding succeeds. + * \param in_size Size of the input buffer; the first byte that + * won't be read is in[in_size]. + * \param[out] out Beginning of the output buffer + * \param[out] out_pos The next byte will be written to out[*out_pos]. + * *out_pos is updated only if encoding succeeds. + * \param out_size Size of the out buffer; the first byte into + * which no data is written to is out[out_size]. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Decoding was successful. + * - LZMA_OPTIONS_ERROR + * - LZMA_DATA_ERROR + * - LZMA_MEM_ERROR + * - LZMA_BUF_ERROR: Output buffer was too small. + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_block_buffer_decode( + lzma_block *block, const lzma_allocator *allocator, + const uint8_t *in, size_t *in_pos, size_t in_size, + uint8_t *out, size_t *out_pos, size_t out_size) + lzma_nothrow; diff --git a/vcpkg/installed/x64-osx/include/lzma/check.h b/vcpkg/installed/x64-osx/include/lzma/check.h new file mode 100644 index 0000000..e7a50ed --- /dev/null +++ b/vcpkg/installed/x64-osx/include/lzma/check.h @@ -0,0 +1,163 @@ +/* SPDX-License-Identifier: 0BSD */ + +/** + * \file lzma/check.h + * \brief Integrity checks + * \note Never include this file directly. Use instead. + */ + +/* + * Author: Lasse Collin + */ + +#ifndef LZMA_H_INTERNAL +# error Never include this file directly. Use instead. +#endif + + +/** + * \brief Type of the integrity check (Check ID) + * + * The .xz format supports multiple types of checks that are calculated + * from the uncompressed data. They vary in both speed and ability to + * detect errors. + */ +typedef enum { + LZMA_CHECK_NONE = 0, + /**< + * No Check is calculated. + * + * Size of the Check field: 0 bytes + */ + + LZMA_CHECK_CRC32 = 1, + /**< + * CRC32 using the polynomial from the IEEE 802.3 standard + * + * Size of the Check field: 4 bytes + */ + + LZMA_CHECK_CRC64 = 4, + /**< + * CRC64 using the polynomial from the ECMA-182 standard + * + * Size of the Check field: 8 bytes + */ + + LZMA_CHECK_SHA256 = 10 + /**< + * SHA-256 + * + * Size of the Check field: 32 bytes + */ +} lzma_check; + + +/** + * \brief Maximum valid Check ID + * + * The .xz file format specification specifies 16 Check IDs (0-15). Some + * of them are only reserved, that is, no actual Check algorithm has been + * assigned. When decoding, liblzma still accepts unknown Check IDs for + * future compatibility. If a valid but unsupported Check ID is detected, + * liblzma can indicate a warning; see the flags LZMA_TELL_NO_CHECK, + * LZMA_TELL_UNSUPPORTED_CHECK, and LZMA_TELL_ANY_CHECK in container.h. + */ +#define LZMA_CHECK_ID_MAX 15 + + +/** + * \brief Test if the given Check ID is supported + * + * LZMA_CHECK_NONE and LZMA_CHECK_CRC32 are always supported (even if + * liblzma is built with limited features). + * + * \note It is safe to call this with a value that is not in the + * range [0, 15]; in that case the return value is always false. + * + * \param check Check ID + * + * \return lzma_bool: + * - true if Check ID is supported by this liblzma build. + * - false otherwise. + */ +extern LZMA_API(lzma_bool) lzma_check_is_supported(lzma_check check) + lzma_nothrow lzma_attr_const; + + +/** + * \brief Get the size of the Check field with the given Check ID + * + * Although not all Check IDs have a check algorithm associated, the size of + * every Check is already frozen. This function returns the size (in bytes) of + * the Check field with the specified Check ID. The values are: + * { 0, 4, 4, 4, 8, 8, 8, 16, 16, 16, 32, 32, 32, 64, 64, 64 } + * + * \param check Check ID + * + * \return Size of the Check field in bytes. If the argument is not in + * the range [0, 15], UINT32_MAX is returned. + */ +extern LZMA_API(uint32_t) lzma_check_size(lzma_check check) + lzma_nothrow lzma_attr_const; + + +/** + * \brief Maximum size of a Check field + */ +#define LZMA_CHECK_SIZE_MAX 64 + + +/** + * \brief Calculate CRC32 + * + * Calculate CRC32 using the polynomial from the IEEE 802.3 standard. + * + * \param buf Pointer to the input buffer + * \param size Size of the input buffer + * \param crc Previously returned CRC value. This is used to + * calculate the CRC of a big buffer in smaller chunks. + * Set to zero when starting a new calculation. + * + * \return Updated CRC value, which can be passed to this function + * again to continue CRC calculation. + */ +extern LZMA_API(uint32_t) lzma_crc32( + const uint8_t *buf, size_t size, uint32_t crc) + lzma_nothrow lzma_attr_pure; + + +/** + * \brief Calculate CRC64 + * + * Calculate CRC64 using the polynomial from the ECMA-182 standard. + * + * This function is used similarly to lzma_crc32(). + * + * \param buf Pointer to the input buffer + * \param size Size of the input buffer + * \param crc Previously returned CRC value. This is used to + * calculate the CRC of a big buffer in smaller chunks. + * Set to zero when starting a new calculation. + * + * \return Updated CRC value, which can be passed to this function + * again to continue CRC calculation. + */ +extern LZMA_API(uint64_t) lzma_crc64( + const uint8_t *buf, size_t size, uint64_t crc) + lzma_nothrow lzma_attr_pure; + + +/** + * \brief Get the type of the integrity check + * + * This function can be called only immediately after lzma_code() has + * returned LZMA_NO_CHECK, LZMA_UNSUPPORTED_CHECK, or LZMA_GET_CHECK. + * Calling this function in any other situation has undefined behavior. + * + * \param strm Pointer to lzma_stream meeting the above conditions. + * + * \return Check ID in the lzma_stream, or undefined if called improperly. + */ +extern LZMA_API(lzma_check) lzma_get_check(const lzma_stream *strm) + lzma_nothrow; diff --git a/vcpkg/installed/x64-osx/include/lzma/container.h b/vcpkg/installed/x64-osx/include/lzma/container.h new file mode 100644 index 0000000..8e4af42 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/lzma/container.h @@ -0,0 +1,995 @@ +/* SPDX-License-Identifier: 0BSD */ + +/** + * \file lzma/container.h + * \brief File formats + * \note Never include this file directly. Use instead. + */ + +/* + * Author: Lasse Collin + */ + +#ifndef LZMA_H_INTERNAL +# error Never include this file directly. Use instead. +#endif + + +/************ + * Encoding * + ************/ + +/** + * \brief Default compression preset + * + * It's not straightforward to recommend a default preset, because in some + * cases keeping the resource usage relatively low is more important that + * getting the maximum compression ratio. + */ +#define LZMA_PRESET_DEFAULT UINT32_C(6) + + +/** + * \brief Mask for preset level + * + * This is useful only if you need to extract the level from the preset + * variable. That should be rare. + */ +#define LZMA_PRESET_LEVEL_MASK UINT32_C(0x1F) + + +/* + * Preset flags + * + * Currently only one flag is defined. + */ + +/** + * \brief Extreme compression preset + * + * This flag modifies the preset to make the encoding significantly slower + * while improving the compression ratio only marginally. This is useful + * when you don't mind spending time to get as small result as possible. + * + * This flag doesn't affect the memory usage requirements of the decoder (at + * least not significantly). The memory usage of the encoder may be increased + * a little but only at the lowest preset levels (0-3). + */ +#define LZMA_PRESET_EXTREME (UINT32_C(1) << 31) + + +/** + * \brief Multithreading options + */ +typedef struct { + /** + * \brief Flags + * + * Set this to zero if no flags are wanted. + * + * Encoder: No flags are currently supported. + * + * Decoder: Bitwise-or of zero or more of the decoder flags: + * - LZMA_TELL_NO_CHECK + * - LZMA_TELL_UNSUPPORTED_CHECK + * - LZMA_TELL_ANY_CHECK + * - LZMA_IGNORE_CHECK + * - LZMA_CONCATENATED + * - LZMA_FAIL_FAST + */ + uint32_t flags; + + /** + * \brief Number of worker threads to use + */ + uint32_t threads; + + /** + * \brief Encoder only: Maximum uncompressed size of a Block + * + * The encoder will start a new .xz Block every block_size bytes. + * Using LZMA_FULL_FLUSH or LZMA_FULL_BARRIER with lzma_code() + * the caller may tell liblzma to start a new Block earlier. + * + * With LZMA2, a recommended block size is 2-4 times the LZMA2 + * dictionary size. With very small dictionaries, it is recommended + * to use at least 1 MiB block size for good compression ratio, even + * if this is more than four times the dictionary size. Note that + * these are only recommendations for typical use cases; feel free + * to use other values. Just keep in mind that using a block size + * less than the LZMA2 dictionary size is waste of RAM. + * + * Set this to 0 to let liblzma choose the block size depending + * on the compression options. For LZMA2 it will be 3*dict_size + * or 1 MiB, whichever is more. + * + * For each thread, about 3 * block_size bytes of memory will be + * allocated. This may change in later liblzma versions. If so, + * the memory usage will probably be reduced, not increased. + */ + uint64_t block_size; + + /** + * \brief Timeout to allow lzma_code() to return early + * + * Multithreading can make liblzma consume input and produce + * output in a very bursty way: it may first read a lot of input + * to fill internal buffers, then no input or output occurs for + * a while. + * + * In single-threaded mode, lzma_code() won't return until it has + * either consumed all the input or filled the output buffer. If + * this is done in multithreaded mode, it may cause a call + * lzma_code() to take even tens of seconds, which isn't acceptable + * in all applications. + * + * To avoid very long blocking times in lzma_code(), a timeout + * (in milliseconds) may be set here. If lzma_code() would block + * longer than this number of milliseconds, it will return with + * LZMA_OK. Reasonable values are 100 ms or more. The xz command + * line tool uses 300 ms. + * + * If long blocking times are acceptable, set timeout to a special + * value of 0. This will disable the timeout mechanism and will make + * lzma_code() block until all the input is consumed or the output + * buffer has been filled. + * + * \note Even with a timeout, lzma_code() might sometimes take + * a long time to return. No timing guarantees are made. + */ + uint32_t timeout; + + /** + * \brief Encoder only: Compression preset + * + * The preset is set just like with lzma_easy_encoder(). + * The preset is ignored if filters below is non-NULL. + */ + uint32_t preset; + + /** + * \brief Encoder only: Filter chain (alternative to a preset) + * + * If this is NULL, the preset above is used. Otherwise the preset + * is ignored and the filter chain specified here is used. + */ + const lzma_filter *filters; + + /** + * \brief Encoder only: Integrity check type + * + * See check.h for available checks. The xz command line tool + * defaults to LZMA_CHECK_CRC64, which is a good choice if you + * are unsure. + */ + lzma_check check; + + /* + * Reserved space to allow possible future extensions without + * breaking the ABI. You should not touch these, because the names + * of these variables may change. These are and will never be used + * with the currently supported options, so it is safe to leave these + * uninitialized. + */ + /** \private Reserved member. */ + lzma_reserved_enum reserved_enum1; + + /** \private Reserved member. */ + lzma_reserved_enum reserved_enum2; + + /** \private Reserved member. */ + lzma_reserved_enum reserved_enum3; + + /** \private Reserved member. */ + uint32_t reserved_int1; + + /** \private Reserved member. */ + uint32_t reserved_int2; + + /** \private Reserved member. */ + uint32_t reserved_int3; + + /** \private Reserved member. */ + uint32_t reserved_int4; + + /** + * \brief Memory usage limit to reduce the number of threads + * + * Encoder: Ignored. + * + * Decoder: + * + * If the number of threads has been set so high that more than + * memlimit_threading bytes of memory would be needed, the number + * of threads will be reduced so that the memory usage will not exceed + * memlimit_threading bytes. However, if memlimit_threading cannot + * be met even in single-threaded mode, then decoding will continue + * in single-threaded mode and memlimit_threading may be exceeded + * even by a large amount. That is, memlimit_threading will never make + * lzma_code() return LZMA_MEMLIMIT_ERROR. To truly cap the memory + * usage, see memlimit_stop below. + * + * Setting memlimit_threading to UINT64_MAX or a similar huge value + * means that liblzma is allowed to keep the whole compressed file + * and the whole uncompressed file in memory in addition to the memory + * needed by the decompressor data structures used by each thread! + * In other words, a reasonable value limit must be set here or it + * will cause problems sooner or later. If you have no idea what + * a reasonable value could be, try lzma_physmem() / 4 as a starting + * point. Setting this limit will never prevent decompression of + * a file; this will only reduce the number of threads. + * + * If memlimit_threading is greater than memlimit_stop, then the value + * of memlimit_stop will be used for both. + */ + uint64_t memlimit_threading; + + /** + * \brief Memory usage limit that should never be exceeded + * + * Encoder: Ignored. + * + * Decoder: If decompressing will need more than this amount of + * memory even in the single-threaded mode, then lzma_code() will + * return LZMA_MEMLIMIT_ERROR. + */ + uint64_t memlimit_stop; + + /** \private Reserved member. */ + uint64_t reserved_int7; + + /** \private Reserved member. */ + uint64_t reserved_int8; + + /** \private Reserved member. */ + void *reserved_ptr1; + + /** \private Reserved member. */ + void *reserved_ptr2; + + /** \private Reserved member. */ + void *reserved_ptr3; + + /** \private Reserved member. */ + void *reserved_ptr4; + +} lzma_mt; + + +/** + * \brief Calculate approximate memory usage of easy encoder + * + * This function is a wrapper for lzma_raw_encoder_memusage(). + * + * \param preset Compression preset (level and possible flags) + * + * \return Number of bytes of memory required for the given + * preset when encoding or UINT64_MAX on error. + */ +extern LZMA_API(uint64_t) lzma_easy_encoder_memusage(uint32_t preset) + lzma_nothrow lzma_attr_pure; + + +/** + * \brief Calculate approximate decoder memory usage of a preset + * + * This function is a wrapper for lzma_raw_decoder_memusage(). + * + * \param preset Compression preset (level and possible flags) + * + * \return Number of bytes of memory required to decompress a file + * that was compressed using the given preset or UINT64_MAX + * on error. + */ +extern LZMA_API(uint64_t) lzma_easy_decoder_memusage(uint32_t preset) + lzma_nothrow lzma_attr_pure; + + +/** + * \brief Initialize .xz Stream encoder using a preset number + * + * This function is intended for those who just want to use the basic features + * of liblzma (that is, most developers out there). + * + * If initialization fails (return value is not LZMA_OK), all the memory + * allocated for *strm by liblzma is always freed. Thus, there is no need + * to call lzma_end() after failed initialization. + * + * If initialization succeeds, use lzma_code() to do the actual encoding. + * Valid values for 'action' (the second argument of lzma_code()) are + * LZMA_RUN, LZMA_SYNC_FLUSH, LZMA_FULL_FLUSH, and LZMA_FINISH. In future, + * there may be compression levels or flags that don't support LZMA_SYNC_FLUSH. + * + * \param strm Pointer to lzma_stream that is at least initialized + * with LZMA_STREAM_INIT. + * \param preset Compression preset to use. A preset consist of level + * number and zero or more flags. Usually flags aren't + * used, so preset is simply a number [0, 9] which match + * the options -0 ... -9 of the xz command line tool. + * Additional flags can be be set using bitwise-or with + * the preset level number, e.g. 6 | LZMA_PRESET_EXTREME. + * \param check Integrity check type to use. See check.h for available + * checks. The xz command line tool defaults to + * LZMA_CHECK_CRC64, which is a good choice if you are + * unsure. LZMA_CHECK_CRC32 is good too as long as the + * uncompressed file is not many gigabytes. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Initialization succeeded. Use lzma_code() to + * encode your data. + * - LZMA_MEM_ERROR: Memory allocation failed. + * - LZMA_OPTIONS_ERROR: The given compression preset is not + * supported by this build of liblzma. + * - LZMA_UNSUPPORTED_CHECK: The given check type is not + * supported by this liblzma build. + * - LZMA_PROG_ERROR: One or more of the parameters have values + * that will never be valid. For example, strm == NULL. + */ +extern LZMA_API(lzma_ret) lzma_easy_encoder( + lzma_stream *strm, uint32_t preset, lzma_check check) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Single-call .xz Stream encoding using a preset number + * + * The maximum required output buffer size can be calculated with + * lzma_stream_buffer_bound(). + * + * \param preset Compression preset to use. See the description + * in lzma_easy_encoder(). + * \param check Type of the integrity check to calculate from + * uncompressed data. + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + * \param in Beginning of the input buffer + * \param in_size Size of the input buffer + * \param[out] out Beginning of the output buffer + * \param[out] out_pos The next byte will be written to out[*out_pos]. + * *out_pos is updated only if encoding succeeds. + * \param out_size Size of the out buffer; the first byte into + * which no data is written to is out[out_size]. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Encoding was successful. + * - LZMA_BUF_ERROR: Not enough output buffer space. + * - LZMA_UNSUPPORTED_CHECK + * - LZMA_OPTIONS_ERROR + * - LZMA_MEM_ERROR + * - LZMA_DATA_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_easy_buffer_encode( + uint32_t preset, lzma_check check, + const lzma_allocator *allocator, + const uint8_t *in, size_t in_size, + uint8_t *out, size_t *out_pos, size_t out_size) lzma_nothrow; + + +/** + * \brief Initialize .xz Stream encoder using a custom filter chain + * + * \param strm Pointer to lzma_stream that is at least initialized + * with LZMA_STREAM_INIT. + * \param filters Array of filters terminated with + * .id == LZMA_VLI_UNKNOWN. See filters.h for more + * information. + * \param check Type of the integrity check to calculate from + * uncompressed data. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Initialization was successful. + * - LZMA_MEM_ERROR + * - LZMA_UNSUPPORTED_CHECK + * - LZMA_OPTIONS_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_stream_encoder(lzma_stream *strm, + const lzma_filter *filters, lzma_check check) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Calculate approximate memory usage of multithreaded .xz encoder + * + * Since doing the encoding in threaded mode doesn't affect the memory + * requirements of single-threaded decompressor, you can use + * lzma_easy_decoder_memusage(options->preset) or + * lzma_raw_decoder_memusage(options->filters) to calculate + * the decompressor memory requirements. + * + * \param options Compression options + * + * \return Number of bytes of memory required for encoding with the + * given options. If an error occurs, for example due to + * unsupported preset or filter chain, UINT64_MAX is returned. + */ +extern LZMA_API(uint64_t) lzma_stream_encoder_mt_memusage( + const lzma_mt *options) lzma_nothrow lzma_attr_pure; + + +/** + * \brief Initialize multithreaded .xz Stream encoder + * + * This provides the functionality of lzma_easy_encoder() and + * lzma_stream_encoder() as a single function for multithreaded use. + * + * The supported actions for lzma_code() are LZMA_RUN, LZMA_FULL_FLUSH, + * LZMA_FULL_BARRIER, and LZMA_FINISH. Support for LZMA_SYNC_FLUSH might be + * added in the future. + * + * \param strm Pointer to lzma_stream that is at least initialized + * with LZMA_STREAM_INIT. + * \param options Pointer to multithreaded compression options + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_MEM_ERROR + * - LZMA_UNSUPPORTED_CHECK + * - LZMA_OPTIONS_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_stream_encoder_mt( + lzma_stream *strm, const lzma_mt *options) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Calculate recommended Block size for multithreaded .xz encoder + * + * This calculates a recommended Block size for multithreaded encoding given + * a filter chain. This is used internally by lzma_stream_encoder_mt() to + * determine the Block size if the block_size member is not set to the + * special value of 0 in the lzma_mt options struct. + * + * If one wishes to change the filters between Blocks, this function is + * helpful to set the block_size member of the lzma_mt struct before calling + * lzma_stream_encoder_mt(). Since the block_size member represents the + * maximum possible Block size for the multithreaded .xz encoder, one can + * use this function to find the maximum recommended Block size based on + * all planned filter chains. Otherwise, the multithreaded encoder will + * base its maximum Block size on the first filter chain used (if the + * block_size member is not set), which may unnecessarily limit the Block + * size for a later filter chain. + * + * \param filters Array of filters terminated with + * .id == LZMA_VLI_UNKNOWN. + * + * \return Recommended Block size in bytes, or UINT64_MAX if + * an error occurred. + */ +extern LZMA_API(uint64_t) lzma_mt_block_size(const lzma_filter *filters) + lzma_nothrow; + + +/** + * \brief Initialize .lzma encoder (legacy file format) + * + * The .lzma format is sometimes called the LZMA_Alone format, which is the + * reason for the name of this function. The .lzma format supports only the + * LZMA1 filter. There is no support for integrity checks like CRC32. + * + * Use this function if and only if you need to create files readable by + * legacy LZMA tools such as LZMA Utils 4.32.x. Moving to the .xz format + * is strongly recommended. + * + * The valid action values for lzma_code() are LZMA_RUN and LZMA_FINISH. + * No kind of flushing is supported, because the file format doesn't make + * it possible. + * + * \param strm Pointer to lzma_stream that is at least initialized + * with LZMA_STREAM_INIT. + * \param options Pointer to encoder options + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_MEM_ERROR + * - LZMA_OPTIONS_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_alone_encoder( + lzma_stream *strm, const lzma_options_lzma *options) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Calculate output buffer size for single-call Stream encoder + * + * When trying to compress incompressible data, the encoded size will be + * slightly bigger than the input data. This function calculates how much + * output buffer space is required to be sure that lzma_stream_buffer_encode() + * doesn't return LZMA_BUF_ERROR. + * + * The calculated value is not exact, but it is guaranteed to be big enough. + * The actual maximum output space required may be slightly smaller (up to + * about 100 bytes). This should not be a problem in practice. + * + * If the calculated maximum size doesn't fit into size_t or would make the + * Stream grow past LZMA_VLI_MAX (which should never happen in practice), + * zero is returned to indicate the error. + * + * \note The limit calculated by this function applies only to + * single-call encoding. Multi-call encoding may (and probably + * will) have larger maximum expansion when encoding + * incompressible data. Currently there is no function to + * calculate the maximum expansion of multi-call encoding. + * + * \param uncompressed_size Size in bytes of the uncompressed + * input data + * + * \return Maximum number of bytes needed to store the compressed data. + */ +extern LZMA_API(size_t) lzma_stream_buffer_bound(size_t uncompressed_size) + lzma_nothrow; + + +/** + * \brief Single-call .xz Stream encoder + * + * \param filters Array of filters terminated with + * .id == LZMA_VLI_UNKNOWN. See filters.h for more + * information. + * \param check Type of the integrity check to calculate from + * uncompressed data. + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + * \param in Beginning of the input buffer + * \param in_size Size of the input buffer + * \param[out] out Beginning of the output buffer + * \param[out] out_pos The next byte will be written to out[*out_pos]. + * *out_pos is updated only if encoding succeeds. + * \param out_size Size of the out buffer; the first byte into + * which no data is written to is out[out_size]. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Encoding was successful. + * - LZMA_BUF_ERROR: Not enough output buffer space. + * - LZMA_UNSUPPORTED_CHECK + * - LZMA_OPTIONS_ERROR + * - LZMA_MEM_ERROR + * - LZMA_DATA_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_stream_buffer_encode( + lzma_filter *filters, lzma_check check, + const lzma_allocator *allocator, + const uint8_t *in, size_t in_size, + uint8_t *out, size_t *out_pos, size_t out_size) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief MicroLZMA encoder + * + * The MicroLZMA format is a raw LZMA stream whose first byte (always 0x00) + * has been replaced with bitwise-negation of the LZMA properties (lc/lp/pb). + * This encoding ensures that the first byte of MicroLZMA stream is never + * 0x00. There is no end of payload marker and thus the uncompressed size + * must be stored separately. For the best error detection the dictionary + * size should be stored separately as well but alternatively one may use + * the uncompressed size as the dictionary size when decoding. + * + * With the MicroLZMA encoder, lzma_code() behaves slightly unusually. + * The action argument must be LZMA_FINISH and the return value will never be + * LZMA_OK. Thus the encoding is always done with a single lzma_code() after + * the initialization. The benefit of the combination of initialization + * function and lzma_code() is that memory allocations can be re-used for + * better performance. + * + * lzma_code() will try to encode as much input as is possible to fit into + * the given output buffer. If not all input can be encoded, the stream will + * be finished without encoding all the input. The caller must check both + * input and output buffer usage after lzma_code() (total_in and total_out + * in lzma_stream can be convenient). Often lzma_code() can fill the output + * buffer completely if there is a lot of input, but sometimes a few bytes + * may remain unused because the next LZMA symbol would require more space. + * + * lzma_stream.avail_out must be at least 6. Otherwise LZMA_PROG_ERROR + * will be returned. + * + * The LZMA dictionary should be reasonably low to speed up the encoder + * re-initialization. A good value is bigger than the resulting + * uncompressed size of most of the output chunks. For example, if output + * size is 4 KiB, dictionary size of 32 KiB or 64 KiB is good. If the + * data compresses extremely well, even 128 KiB may be useful. + * + * The MicroLZMA format and this encoder variant were made with the EROFS + * file system in mind. This format may be convenient in other embedded + * uses too where many small streams are needed. XZ Embedded includes a + * decoder for this format. + * + * \param strm Pointer to lzma_stream that is at least initialized + * with LZMA_STREAM_INIT. + * \param options Pointer to encoder options + * + * \return Possible lzma_ret values: + * - LZMA_STREAM_END: All good. Check the amounts of input used + * and output produced. Store the amount of input used + * (uncompressed size) as it needs to be known to decompress + * the data. + * - LZMA_OPTIONS_ERROR + * - LZMA_MEM_ERROR + * - LZMA_PROG_ERROR: In addition to the generic reasons for this + * error code, this may also be returned if there isn't enough + * output space (6 bytes) to create a valid MicroLZMA stream. + */ +extern LZMA_API(lzma_ret) lzma_microlzma_encoder( + lzma_stream *strm, const lzma_options_lzma *options) + lzma_nothrow; + + +/************ + * Decoding * + ************/ + +/** + * This flag makes lzma_code() return LZMA_NO_CHECK if the input stream + * being decoded has no integrity check. Note that when used with + * lzma_auto_decoder(), all .lzma files will trigger LZMA_NO_CHECK + * if LZMA_TELL_NO_CHECK is used. + */ +#define LZMA_TELL_NO_CHECK UINT32_C(0x01) + + +/** + * This flag makes lzma_code() return LZMA_UNSUPPORTED_CHECK if the input + * stream has an integrity check, but the type of the integrity check is not + * supported by this liblzma version or build. Such files can still be + * decoded, but the integrity check cannot be verified. + */ +#define LZMA_TELL_UNSUPPORTED_CHECK UINT32_C(0x02) + + +/** + * This flag makes lzma_code() return LZMA_GET_CHECK as soon as the type + * of the integrity check is known. The type can then be got with + * lzma_get_check(). + */ +#define LZMA_TELL_ANY_CHECK UINT32_C(0x04) + + +/** + * This flag makes lzma_code() not calculate and verify the integrity check + * of the compressed data in .xz files. This means that invalid integrity + * check values won't be detected and LZMA_DATA_ERROR won't be returned in + * such cases. + * + * This flag only affects the checks of the compressed data itself; the CRC32 + * values in the .xz headers will still be verified normally. + * + * Don't use this flag unless you know what you are doing. Possible reasons + * to use this flag: + * + * - Trying to recover data from a corrupt .xz file. + * + * - Speeding up decompression, which matters mostly with SHA-256 + * or with files that have compressed extremely well. It's recommended + * to not use this flag for this purpose unless the file integrity is + * verified externally in some other way. + * + * Support for this flag was added in liblzma 5.1.4beta. + */ +#define LZMA_IGNORE_CHECK UINT32_C(0x10) + + +/** + * This flag enables decoding of concatenated files with file formats that + * allow concatenating compressed files as is. From the formats currently + * supported by liblzma, only the .xz and .lz formats allow concatenated + * files. Concatenated files are not allowed with the legacy .lzma format. + * + * This flag also affects the usage of the 'action' argument for lzma_code(). + * When LZMA_CONCATENATED is used, lzma_code() won't return LZMA_STREAM_END + * unless LZMA_FINISH is used as 'action'. Thus, the application has to set + * LZMA_FINISH in the same way as it does when encoding. + * + * If LZMA_CONCATENATED is not used, the decoders still accept LZMA_FINISH + * as 'action' for lzma_code(), but the usage of LZMA_FINISH isn't required. + */ +#define LZMA_CONCATENATED UINT32_C(0x08) + + +/** + * This flag makes the threaded decoder report errors (like LZMA_DATA_ERROR) + * as soon as they are detected. This saves time when the application has no + * interest in a partially decompressed truncated or corrupt file. Note that + * due to timing randomness, if the same truncated or corrupt input is + * decompressed multiple times with this flag, a different amount of output + * may be produced by different runs, and even the error code might vary. + * + * When using LZMA_FAIL_FAST, it is recommended to use LZMA_FINISH to tell + * the decoder when no more input will be coming because it can help fast + * detection and reporting of truncated files. Note that in this situation + * truncated files might be diagnosed with LZMA_DATA_ERROR instead of + * LZMA_OK or LZMA_BUF_ERROR! + * + * Without this flag the threaded decoder will provide as much output as + * possible at first and then report the pending error. This default behavior + * matches the single-threaded decoder and provides repeatable behavior + * with truncated or corrupt input. There are a few special cases where the + * behavior can still differ like memory allocation failures (LZMA_MEM_ERROR). + * + * Single-threaded decoders currently ignore this flag. + * + * Support for this flag was added in liblzma 5.3.3alpha. Note that in older + * versions this flag isn't supported (LZMA_OPTIONS_ERROR) even by functions + * that ignore this flag in newer liblzma versions. + */ +#define LZMA_FAIL_FAST UINT32_C(0x20) + + +/** + * \brief Initialize .xz Stream decoder + * + * \param strm Pointer to lzma_stream that is at least initialized + * with LZMA_STREAM_INIT. + * \param memlimit Memory usage limit as bytes. Use UINT64_MAX + * to effectively disable the limiter. liblzma + * 5.2.3 and earlier don't allow 0 here and return + * LZMA_PROG_ERROR; later versions treat 0 as if 1 + * had been specified. + * \param flags Bitwise-or of zero or more of the decoder flags: + * LZMA_TELL_NO_CHECK, LZMA_TELL_UNSUPPORTED_CHECK, + * LZMA_TELL_ANY_CHECK, LZMA_IGNORE_CHECK, + * LZMA_CONCATENATED, LZMA_FAIL_FAST + * + * \return Possible lzma_ret values: + * - LZMA_OK: Initialization was successful. + * - LZMA_MEM_ERROR: Cannot allocate memory. + * - LZMA_OPTIONS_ERROR: Unsupported flags + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_stream_decoder( + lzma_stream *strm, uint64_t memlimit, uint32_t flags) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Initialize multithreaded .xz Stream decoder + * + * The decoder can decode multiple Blocks in parallel. This requires that each + * Block Header contains the Compressed Size and Uncompressed size fields + * which are added by the multi-threaded encoder, see lzma_stream_encoder_mt(). + * + * A Stream with one Block will only utilize one thread. A Stream with multiple + * Blocks but without size information in Block Headers will be processed in + * single-threaded mode in the same way as done by lzma_stream_decoder(). + * Concatenated Streams are processed one Stream at a time; no inter-Stream + * parallelization is done. + * + * This function behaves like lzma_stream_decoder() when options->threads == 1 + * and options->memlimit_threading <= 1. + * + * \param strm Pointer to lzma_stream that is at least initialized + * with LZMA_STREAM_INIT. + * \param options Pointer to multithreaded compression options + * + * \return Possible lzma_ret values: + * - LZMA_OK: Initialization was successful. + * - LZMA_MEM_ERROR: Cannot allocate memory. + * - LZMA_MEMLIMIT_ERROR: Memory usage limit was reached. + * - LZMA_OPTIONS_ERROR: Unsupported flags. + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_stream_decoder_mt( + lzma_stream *strm, const lzma_mt *options) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Decode .xz, .lzma, and .lz (lzip) files with autodetection + * + * This decoder autodetects between the .xz, .lzma, and .lz file formats, + * and calls lzma_stream_decoder(), lzma_alone_decoder(), or + * lzma_lzip_decoder() once the type of the input file has been detected. + * + * Support for .lz was added in 5.4.0. + * + * If the flag LZMA_CONCATENATED is used and the input is a .lzma file: + * For historical reasons concatenated .lzma files aren't supported. + * If there is trailing data after one .lzma stream, lzma_code() will + * return LZMA_DATA_ERROR. (lzma_alone_decoder() doesn't have such a check + * as it doesn't support any decoder flags. It will return LZMA_STREAM_END + * after one .lzma stream.) + * + * \param strm Pointer to lzma_stream that is at least initialized + * with LZMA_STREAM_INIT. + * \param memlimit Memory usage limit as bytes. Use UINT64_MAX + * to effectively disable the limiter. liblzma + * 5.2.3 and earlier don't allow 0 here and return + * LZMA_PROG_ERROR; later versions treat 0 as if 1 + * had been specified. + * \param flags Bitwise-or of zero or more of the decoder flags: + * LZMA_TELL_NO_CHECK, LZMA_TELL_UNSUPPORTED_CHECK, + * LZMA_TELL_ANY_CHECK, LZMA_IGNORE_CHECK, + * LZMA_CONCATENATED, LZMA_FAIL_FAST + * + * \return Possible lzma_ret values: + * - LZMA_OK: Initialization was successful. + * - LZMA_MEM_ERROR: Cannot allocate memory. + * - LZMA_OPTIONS_ERROR: Unsupported flags + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_auto_decoder( + lzma_stream *strm, uint64_t memlimit, uint32_t flags) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Initialize .lzma decoder (legacy file format) + * + * Valid 'action' arguments to lzma_code() are LZMA_RUN and LZMA_FINISH. + * There is no need to use LZMA_FINISH, but it's allowed because it may + * simplify certain types of applications. + * + * \param strm Pointer to lzma_stream that is at least initialized + * with LZMA_STREAM_INIT. + * \param memlimit Memory usage limit as bytes. Use UINT64_MAX + * to effectively disable the limiter. liblzma + * 5.2.3 and earlier don't allow 0 here and return + * LZMA_PROG_ERROR; later versions treat 0 as if 1 + * had been specified. + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_MEM_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_alone_decoder( + lzma_stream *strm, uint64_t memlimit) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Initialize .lz (lzip) decoder (a foreign file format) + * + * This decoder supports the .lz format version 0 and the unextended .lz + * format version 1: + * + * - Files in the format version 0 were produced by lzip 1.3 and older. + * Such files aren't common but may be found from file archives + * as a few source packages were released in this format. People + * might have old personal files in this format too. Decompression + * support for the format version 0 was removed in lzip 1.18. + * + * - lzip 1.3 added decompression support for .lz format version 1 files. + * Compression support was added in lzip 1.4. In lzip 1.6 the .lz format + * version 1 was extended to support the Sync Flush marker. This extension + * is not supported by liblzma. lzma_code() will return LZMA_DATA_ERROR + * at the location of the Sync Flush marker. In practice files with + * the Sync Flush marker are very rare and thus liblzma can decompress + * almost all .lz files. + * + * Just like with lzma_stream_decoder() for .xz files, LZMA_CONCATENATED + * should be used when decompressing normal standalone .lz files. + * + * The .lz format allows putting non-.lz data at the end of a file after at + * least one valid .lz member. That is, one can append custom data at the end + * of a .lz file and the decoder is required to ignore it. In liblzma this + * is relevant only when LZMA_CONCATENATED is used. In that case lzma_code() + * will return LZMA_STREAM_END and leave lzma_stream.next_in pointing to + * the first byte of the non-.lz data. An exception to this is if the first + * 1-3 bytes of the non-.lz data are identical to the .lz magic bytes + * (0x4C, 0x5A, 0x49, 0x50; "LZIP" in US-ASCII). In such a case the 1-3 bytes + * will have been ignored by lzma_code(). If one wishes to locate the non-.lz + * data reliably, one must ensure that the first byte isn't 0x4C. Actually + * one should ensure that none of the first four bytes of trailing data are + * equal to the magic bytes because lzip >= 1.20 requires it by default. + * + * \param strm Pointer to lzma_stream that is at least initialized + * with LZMA_STREAM_INIT. + * \param memlimit Memory usage limit as bytes. Use UINT64_MAX + * to effectively disable the limiter. + * \param flags Bitwise-or of flags, or zero for no flags. + * All decoder flags listed above are supported + * although only LZMA_CONCATENATED and (in very rare + * cases) LZMA_IGNORE_CHECK are actually useful. + * LZMA_TELL_NO_CHECK, LZMA_TELL_UNSUPPORTED_CHECK, + * and LZMA_FAIL_FAST do nothing. LZMA_TELL_ANY_CHECK + * is supported for consistency only as CRC32 is + * always used in the .lz format. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Initialization was successful. + * - LZMA_MEM_ERROR: Cannot allocate memory. + * - LZMA_OPTIONS_ERROR: Unsupported flags + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_lzip_decoder( + lzma_stream *strm, uint64_t memlimit, uint32_t flags) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Single-call .xz Stream decoder + * + * \param memlimit Pointer to how much memory the decoder is allowed + * to allocate. The value pointed by this pointer is + * modified if and only if LZMA_MEMLIMIT_ERROR is + * returned. + * \param flags Bitwise-or of zero or more of the decoder flags: + * LZMA_TELL_NO_CHECK, LZMA_TELL_UNSUPPORTED_CHECK, + * LZMA_IGNORE_CHECK, LZMA_CONCATENATED, + * LZMA_FAIL_FAST. Note that LZMA_TELL_ANY_CHECK + * is not allowed and will return LZMA_PROG_ERROR. + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + * \param in Beginning of the input buffer + * \param in_pos The next byte will be read from in[*in_pos]. + * *in_pos is updated only if decoding succeeds. + * \param in_size Size of the input buffer; the first byte that + * won't be read is in[in_size]. + * \param[out] out Beginning of the output buffer + * \param[out] out_pos The next byte will be written to out[*out_pos]. + * *out_pos is updated only if decoding succeeds. + * \param out_size Size of the out buffer; the first byte into + * which no data is written to is out[out_size]. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Decoding was successful. + * - LZMA_FORMAT_ERROR + * - LZMA_OPTIONS_ERROR + * - LZMA_DATA_ERROR + * - LZMA_NO_CHECK: This can be returned only if using + * the LZMA_TELL_NO_CHECK flag. + * - LZMA_UNSUPPORTED_CHECK: This can be returned only if using + * the LZMA_TELL_UNSUPPORTED_CHECK flag. + * - LZMA_MEM_ERROR + * - LZMA_MEMLIMIT_ERROR: Memory usage limit was reached. + * The minimum required memlimit value was stored to *memlimit. + * - LZMA_BUF_ERROR: Output buffer was too small. + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_stream_buffer_decode( + uint64_t *memlimit, uint32_t flags, + const lzma_allocator *allocator, + const uint8_t *in, size_t *in_pos, size_t in_size, + uint8_t *out, size_t *out_pos, size_t out_size) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief MicroLZMA decoder + * + * See lzma_microlzma_encoder() for more information. + * + * The lzma_code() usage with this decoder is completely normal. The + * special behavior of lzma_code() applies to lzma_microlzma_encoder() only. + * + * \param strm Pointer to lzma_stream that is at least initialized + * with LZMA_STREAM_INIT. + * \param comp_size Compressed size of the MicroLZMA stream. + * The caller must somehow know this exactly. + * \param uncomp_size Uncompressed size of the MicroLZMA stream. + * If the exact uncompressed size isn't known, this + * can be set to a value that is at most as big as + * the exact uncompressed size would be, but then the + * next argument uncomp_size_is_exact must be false. + * \param uncomp_size_is_exact + * If true, uncomp_size must be exactly correct. + * This will improve error detection at the end of + * the stream. If the exact uncompressed size isn't + * known, this must be false. uncomp_size must still + * be at most as big as the exact uncompressed size + * is. Setting this to false when the exact size is + * known will work but error detection at the end of + * the stream will be weaker. + * \param dict_size LZMA dictionary size that was used when + * compressing the data. It is OK to use a bigger + * value too but liblzma will then allocate more + * memory than would actually be required and error + * detection will be slightly worse. (Note that with + * the implementation in XZ Embedded it doesn't + * affect the memory usage if one specifies bigger + * dictionary than actually required.) + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_MEM_ERROR + * - LZMA_OPTIONS_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_microlzma_decoder( + lzma_stream *strm, uint64_t comp_size, + uint64_t uncomp_size, lzma_bool uncomp_size_is_exact, + uint32_t dict_size) lzma_nothrow; diff --git a/vcpkg/installed/x64-osx/include/lzma/delta.h b/vcpkg/installed/x64-osx/include/lzma/delta.h new file mode 100644 index 0000000..5ebacef --- /dev/null +++ b/vcpkg/installed/x64-osx/include/lzma/delta.h @@ -0,0 +1,95 @@ +/* SPDX-License-Identifier: 0BSD */ + +/** + * \file lzma/delta.h + * \brief Delta filter + * \note Never include this file directly. Use instead. + */ + +/* + * Author: Lasse Collin + */ + +#ifndef LZMA_H_INTERNAL +# error Never include this file directly. Use instead. +#endif + + +/** + * \brief Filter ID + * + * Filter ID of the Delta filter. This is used as lzma_filter.id. + */ +#define LZMA_FILTER_DELTA LZMA_VLI_C(0x03) + + +/** + * \brief Type of the delta calculation + * + * Currently only byte-wise delta is supported. Other possible types could + * be, for example, delta of 16/32/64-bit little/big endian integers, but + * these are not currently planned since byte-wise delta is almost as good. + */ +typedef enum { + LZMA_DELTA_TYPE_BYTE +} lzma_delta_type; + + +/** + * \brief Options for the Delta filter + * + * These options are needed by both encoder and decoder. + */ +typedef struct { + /** For now, this must always be LZMA_DELTA_TYPE_BYTE. */ + lzma_delta_type type; + + /** + * \brief Delta distance + * + * With the only currently supported type, LZMA_DELTA_TYPE_BYTE, + * the distance is as bytes. + * + * Examples: + * - 16-bit stereo audio: distance = 4 bytes + * - 24-bit RGB image data: distance = 3 bytes + */ + uint32_t dist; + + /** + * \brief Minimum value for lzma_options_delta.dist. + */ +# define LZMA_DELTA_DIST_MIN 1 + + /** + * \brief Maximum value for lzma_options_delta.dist. + */ +# define LZMA_DELTA_DIST_MAX 256 + + /* + * Reserved space to allow possible future extensions without + * breaking the ABI. You should not touch these, because the names + * of these variables may change. These are and will never be used + * when type is LZMA_DELTA_TYPE_BYTE, so it is safe to leave these + * uninitialized. + */ + + /** \private Reserved member. */ + uint32_t reserved_int1; + + /** \private Reserved member. */ + uint32_t reserved_int2; + + /** \private Reserved member. */ + uint32_t reserved_int3; + + /** \private Reserved member. */ + uint32_t reserved_int4; + + /** \private Reserved member. */ + void *reserved_ptr1; + + /** \private Reserved member. */ + void *reserved_ptr2; + +} lzma_options_delta; diff --git a/vcpkg/installed/x64-osx/include/lzma/filter.h b/vcpkg/installed/x64-osx/include/lzma/filter.h new file mode 100644 index 0000000..e86809c --- /dev/null +++ b/vcpkg/installed/x64-osx/include/lzma/filter.h @@ -0,0 +1,769 @@ +/* SPDX-License-Identifier: 0BSD */ + +/** + * \file lzma/filter.h + * \brief Common filter related types and functions + * \note Never include this file directly. Use instead. + */ + +/* + * Author: Lasse Collin + */ + +#ifndef LZMA_H_INTERNAL +# error Never include this file directly. Use instead. +#endif + + +/** + * \brief Maximum number of filters in a chain + * + * A filter chain can have 1-4 filters, of which three are allowed to change + * the size of the data. Usually only one or two filters are needed. + */ +#define LZMA_FILTERS_MAX 4 + + +/** + * \brief Filter options + * + * This structure is used to pass a Filter ID and a pointer to the filter's + * options to liblzma. A few functions work with a single lzma_filter + * structure, while most functions expect a filter chain. + * + * A filter chain is indicated with an array of lzma_filter structures. + * The array is terminated with .id = LZMA_VLI_UNKNOWN. Thus, the filter + * array must have LZMA_FILTERS_MAX + 1 elements (that is, five) to + * be able to hold any arbitrary filter chain. This is important when + * using lzma_block_header_decode() from block.h, because a filter array + * that is too small would make liblzma write past the end of the array. + */ +typedef struct { + /** + * \brief Filter ID + * + * Use constants whose name begin with 'LZMA_FILTER_' to specify + * different filters. In an array of lzma_filter structures, use + * LZMA_VLI_UNKNOWN to indicate end of filters. + * + * \note This is not an enum, because on some systems enums + * cannot be 64-bit. + */ + lzma_vli id; + + /** + * \brief Pointer to filter-specific options structure + * + * If the filter doesn't need options, set this to NULL. If id is + * set to LZMA_VLI_UNKNOWN, options is ignored, and thus + * doesn't need be initialized. + */ + void *options; + +} lzma_filter; + + +/** + * \brief Test if the given Filter ID is supported for encoding + * + * \param id Filter ID + * + * \return lzma_bool: + * - true if the Filter ID is supported for encoding by this + * liblzma build. + * - false otherwise. + */ +extern LZMA_API(lzma_bool) lzma_filter_encoder_is_supported(lzma_vli id) + lzma_nothrow lzma_attr_const; + + +/** + * \brief Test if the given Filter ID is supported for decoding + * + * \param id Filter ID + * + * \return lzma_bool: + * - true if the Filter ID is supported for decoding by this + * liblzma build. + * - false otherwise. + */ +extern LZMA_API(lzma_bool) lzma_filter_decoder_is_supported(lzma_vli id) + lzma_nothrow lzma_attr_const; + + +/** + * \brief Copy the filters array + * + * Copy the Filter IDs and filter-specific options from src to dest. + * Up to LZMA_FILTERS_MAX filters are copied, plus the terminating + * .id == LZMA_VLI_UNKNOWN. Thus, dest should have at least + * LZMA_FILTERS_MAX + 1 elements space unless the caller knows that + * src is smaller than that. + * + * Unless the filter-specific options is NULL, the Filter ID has to be + * supported by liblzma, because liblzma needs to know the size of every + * filter-specific options structure. The filter-specific options are not + * validated. If options is NULL, any unsupported Filter IDs are copied + * without returning an error. + * + * Old filter-specific options in dest are not freed, so dest doesn't + * need to be initialized by the caller in any way. + * + * If an error occurs, memory possibly already allocated by this function + * is always freed. liblzma versions older than 5.2.7 may modify the dest + * array and leave its contents in an undefined state if an error occurs. + * liblzma 5.2.7 and newer only modify the dest array when returning LZMA_OK. + * + * \param src Array of filters terminated with + * .id == LZMA_VLI_UNKNOWN. + * \param[out] dest Destination filter array + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_MEM_ERROR + * - LZMA_OPTIONS_ERROR: Unsupported Filter ID and its options + * is not NULL. + * - LZMA_PROG_ERROR: src or dest is NULL. + */ +extern LZMA_API(lzma_ret) lzma_filters_copy( + const lzma_filter *src, lzma_filter *dest, + const lzma_allocator *allocator) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Free the options in the array of lzma_filter structures + * + * This frees the filter chain options. The filters array itself is not freed. + * + * The filters array must have at most LZMA_FILTERS_MAX + 1 elements + * including the terminating element which must have .id = LZMA_VLI_UNKNOWN. + * For all elements before the terminating element: + * - options will be freed using the given lzma_allocator or, + * if allocator is NULL, using free(). + * - options will be set to NULL. + * - id will be set to LZMA_VLI_UNKNOWN. + * + * If filters is NULL, this does nothing. Again, this never frees the + * filters array itself. + * + * \param filters Array of filters terminated with + * .id == LZMA_VLI_UNKNOWN. + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + */ +extern LZMA_API(void) lzma_filters_free( + lzma_filter *filters, const lzma_allocator *allocator) + lzma_nothrow; + + +/** + * \brief Calculate approximate memory requirements for raw encoder + * + * This function can be used to calculate the memory requirements for + * Block and Stream encoders too because Block and Stream encoders don't + * need significantly more memory than raw encoder. + * + * \param filters Array of filters terminated with + * .id == LZMA_VLI_UNKNOWN. + * + * \return Number of bytes of memory required for the given + * filter chain when encoding or UINT64_MAX on error. + */ +extern LZMA_API(uint64_t) lzma_raw_encoder_memusage(const lzma_filter *filters) + lzma_nothrow lzma_attr_pure; + + +/** + * \brief Calculate approximate memory requirements for raw decoder + * + * This function can be used to calculate the memory requirements for + * Block and Stream decoders too because Block and Stream decoders don't + * need significantly more memory than raw decoder. + * + * \param filters Array of filters terminated with + * .id == LZMA_VLI_UNKNOWN. + * + * \return Number of bytes of memory required for the given + * filter chain when decoding or UINT64_MAX on error. + */ +extern LZMA_API(uint64_t) lzma_raw_decoder_memusage(const lzma_filter *filters) + lzma_nothrow lzma_attr_pure; + + +/** + * \brief Initialize raw encoder + * + * This function may be useful when implementing custom file formats. + * + * The 'action' with lzma_code() can be LZMA_RUN, LZMA_SYNC_FLUSH (if the + * filter chain supports it), or LZMA_FINISH. + * + * \param strm Pointer to lzma_stream that is at least + * initialized with LZMA_STREAM_INIT. + * \param filters Array of filters terminated with + * .id == LZMA_VLI_UNKNOWN. + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_MEM_ERROR + * - LZMA_OPTIONS_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_raw_encoder( + lzma_stream *strm, const lzma_filter *filters) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Initialize raw decoder + * + * The initialization of raw decoder goes similarly to raw encoder. + * + * The 'action' with lzma_code() can be LZMA_RUN or LZMA_FINISH. Using + * LZMA_FINISH is not required, it is supported just for convenience. + * + * \param strm Pointer to lzma_stream that is at least + * initialized with LZMA_STREAM_INIT. + * \param filters Array of filters terminated with + * .id == LZMA_VLI_UNKNOWN. + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_MEM_ERROR + * - LZMA_OPTIONS_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_raw_decoder( + lzma_stream *strm, const lzma_filter *filters) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Update the filter chain in the encoder + * + * This function may be called after lzma_code() has returned LZMA_STREAM_END + * when LZMA_FULL_BARRIER, LZMA_FULL_FLUSH, or LZMA_SYNC_FLUSH was used: + * + * - After LZMA_FULL_BARRIER or LZMA_FULL_FLUSH: Single-threaded .xz Stream + * encoder (lzma_stream_encoder()) and (since liblzma 5.4.0) multi-threaded + * Stream encoder (lzma_stream_encoder_mt()) allow setting a new filter + * chain to be used for the next Block(s). + * + * - After LZMA_SYNC_FLUSH: Raw encoder (lzma_raw_encoder()), + * Block encoder (lzma_block_encoder()), and single-threaded .xz Stream + * encoder (lzma_stream_encoder()) allow changing certain filter-specific + * options in the middle of encoding. The actual filters in the chain + * (Filter IDs) must not be changed! Currently only the lc, lp, and pb + * options of LZMA2 (not LZMA1) can be changed this way. + * + * - In the future some filters might allow changing some of their options + * without any barrier or flushing but currently such filters don't exist. + * + * This function may also be called when no data has been compressed yet + * although this is rarely useful. In that case, this function will behave + * as if LZMA_FULL_FLUSH (Stream encoders) or LZMA_SYNC_FLUSH (Raw or Block + * encoder) had been used right before calling this function. + * + * \param strm Pointer to lzma_stream that is at least + * initialized with LZMA_STREAM_INIT. + * \param filters Array of filters terminated with + * .id == LZMA_VLI_UNKNOWN. + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_MEM_ERROR + * - LZMA_MEMLIMIT_ERROR + * - LZMA_OPTIONS_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_filters_update( + lzma_stream *strm, const lzma_filter *filters) lzma_nothrow; + + +/** + * \brief Single-call raw encoder + * + * \note There is no function to calculate how big output buffer + * would surely be big enough. (lzma_stream_buffer_bound() + * works only for lzma_stream_buffer_encode(); raw encoder + * won't necessarily meet that bound.) + * + * \param filters Array of filters terminated with + * .id == LZMA_VLI_UNKNOWN. + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + * \param in Beginning of the input buffer + * \param in_size Size of the input buffer + * \param[out] out Beginning of the output buffer + * \param[out] out_pos The next byte will be written to out[*out_pos]. + * *out_pos is updated only if encoding succeeds. + * \param out_size Size of the out buffer; the first byte into + * which no data is written to is out[out_size]. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Encoding was successful. + * - LZMA_BUF_ERROR: Not enough output buffer space. + * - LZMA_OPTIONS_ERROR + * - LZMA_MEM_ERROR + * - LZMA_DATA_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_raw_buffer_encode( + const lzma_filter *filters, const lzma_allocator *allocator, + const uint8_t *in, size_t in_size, uint8_t *out, + size_t *out_pos, size_t out_size) lzma_nothrow; + + +/** + * \brief Single-call raw decoder + * + * \param filters Array of filters terminated with + * .id == LZMA_VLI_UNKNOWN. + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + * \param in Beginning of the input buffer + * \param in_pos The next byte will be read from in[*in_pos]. + * *in_pos is updated only if decoding succeeds. + * \param in_size Size of the input buffer; the first byte that + * won't be read is in[in_size]. + * \param[out] out Beginning of the output buffer + * \param[out] out_pos The next byte will be written to out[*out_pos]. + * *out_pos is updated only if encoding succeeds. + * \param out_size Size of the out buffer; the first byte into + * which no data is written to is out[out_size]. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Decoding was successful. + * - LZMA_BUF_ERROR: Not enough output buffer space. + * - LZMA_OPTIONS_ERROR + * - LZMA_MEM_ERROR + * - LZMA_DATA_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_raw_buffer_decode( + const lzma_filter *filters, const lzma_allocator *allocator, + const uint8_t *in, size_t *in_pos, size_t in_size, + uint8_t *out, size_t *out_pos, size_t out_size) lzma_nothrow; + + +/** + * \brief Get the size of the Filter Properties field + * + * This function may be useful when implementing custom file formats + * using the raw encoder and decoder. + * + * \note This function validates the Filter ID, but does not + * necessarily validate the options. Thus, it is possible + * that this returns LZMA_OK while the following call to + * lzma_properties_encode() returns LZMA_OPTIONS_ERROR. + * + * \param[out] size Pointer to uint32_t to hold the size of the properties + * \param filter Filter ID and options (the size of the properties may + * vary depending on the options) + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_OPTIONS_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_properties_size( + uint32_t *size, const lzma_filter *filter) lzma_nothrow; + + +/** + * \brief Encode the Filter Properties field + * + * \note Even this function won't validate more options than actually + * necessary. Thus, it is possible that encoding the properties + * succeeds but using the same options to initialize the encoder + * will fail. + * + * \note If lzma_properties_size() indicated that the size + * of the Filter Properties field is zero, calling + * lzma_properties_encode() is not required, but it + * won't do any harm either. + * + * \param filter Filter ID and options + * \param[out] props Buffer to hold the encoded options. The size of + * the buffer must have been already determined with + * lzma_properties_size(). + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_properties_encode( + const lzma_filter *filter, uint8_t *props) lzma_nothrow; + + +/** + * \brief Decode the Filter Properties field + * + * \param filter filter->id must have been set to the correct + * Filter ID. filter->options doesn't need to be + * initialized (it's not freed by this function). The + * decoded options will be stored in filter->options; + * it's application's responsibility to free it when + * appropriate. filter->options is set to NULL if + * there are no properties or if an error occurs. + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + * and in case of an error, also free(). + * \param props Input buffer containing the properties. + * \param props_size Size of the properties. This must be the exact + * size; giving too much or too little input will + * return LZMA_OPTIONS_ERROR. + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_OPTIONS_ERROR + * - LZMA_MEM_ERROR + */ +extern LZMA_API(lzma_ret) lzma_properties_decode( + lzma_filter *filter, const lzma_allocator *allocator, + const uint8_t *props, size_t props_size) lzma_nothrow; + + +/** + * \brief Calculate encoded size of a Filter Flags field + * + * Knowing the size of Filter Flags is useful to know when allocating + * memory to hold the encoded Filter Flags. + * + * \note If you need to calculate size of List of Filter Flags, + * you need to loop over every lzma_filter entry. + * + * \param[out] size Pointer to integer to hold the calculated size + * \param filter Filter ID and associated options whose encoded + * size is to be calculated + * + * \return Possible lzma_ret values: + * - LZMA_OK: *size set successfully. Note that this doesn't + * guarantee that filter->options is valid, thus + * lzma_filter_flags_encode() may still fail. + * - LZMA_OPTIONS_ERROR: Unknown Filter ID or unsupported options. + * - LZMA_PROG_ERROR: Invalid options + */ +extern LZMA_API(lzma_ret) lzma_filter_flags_size( + uint32_t *size, const lzma_filter *filter) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Encode Filter Flags into given buffer + * + * In contrast to some functions, this doesn't allocate the needed buffer. + * This is due to how this function is used internally by liblzma. + * + * \param filter Filter ID and options to be encoded + * \param[out] out Beginning of the output buffer + * \param[out] out_pos out[*out_pos] is the next write position. This + * is updated by the encoder. + * \param out_size out[out_size] is the first byte to not write. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Encoding was successful. + * - LZMA_OPTIONS_ERROR: Invalid or unsupported options. + * - LZMA_PROG_ERROR: Invalid options or not enough output + * buffer space (you should have checked it with + * lzma_filter_flags_size()). + */ +extern LZMA_API(lzma_ret) lzma_filter_flags_encode(const lzma_filter *filter, + uint8_t *out, size_t *out_pos, size_t out_size) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Decode Filter Flags from given buffer + * + * The decoded result is stored into *filter. The old value of + * filter->options is not free()d. If anything other than LZMA_OK + * is returned, filter->options is set to NULL. + * + * \param[out] filter Destination filter. The decoded Filter ID will + * be stored in filter->id. If options are needed + * they will be allocated and the pointer will be + * stored in filter->options. + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + * \param in Beginning of the input buffer + * \param[out] in_pos The next byte will be read from in[*in_pos]. + * *in_pos is updated only if decoding succeeds. + * \param in_size Size of the input buffer; the first byte that + * won't be read is in[in_size]. + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_OPTIONS_ERROR + * - LZMA_MEM_ERROR + * - LZMA_DATA_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_filter_flags_decode( + lzma_filter *filter, const lzma_allocator *allocator, + const uint8_t *in, size_t *in_pos, size_t in_size) + lzma_nothrow lzma_attr_warn_unused_result; + + +/*********** + * Strings * + ***********/ + +/** + * \brief Allow or show all filters + * + * By default only the filters supported in the .xz format are accept by + * lzma_str_to_filters() or shown by lzma_str_list_filters(). + */ +#define LZMA_STR_ALL_FILTERS UINT32_C(0x01) + + +/** + * \brief Do not validate the filter chain in lzma_str_to_filters() + * + * By default lzma_str_to_filters() can return an error if the filter chain + * as a whole isn't usable in the .xz format or in the raw encoder or decoder. + * With this flag, this validation is skipped. This flag doesn't affect the + * handling of the individual filter options. To allow non-.xz filters also + * LZMA_STR_ALL_FILTERS is needed. + */ +#define LZMA_STR_NO_VALIDATION UINT32_C(0x02) + + +/** + * \brief Stringify encoder options + * + * Show the filter-specific options that the encoder will use. + * This may be useful for verbose diagnostic messages. + * + * Note that if options were decoded from .xz headers then the encoder options + * may be undefined. This flag shouldn't be used in such a situation. + */ +#define LZMA_STR_ENCODER UINT32_C(0x10) + + +/** + * \brief Stringify decoder options + * + * Show the filter-specific options that the decoder will use. + * This may be useful for showing what filter options were decoded + * from file headers. + */ +#define LZMA_STR_DECODER UINT32_C(0x20) + + +/** + * \brief Produce xz-compatible getopt_long() syntax + * + * That is, "delta:dist=2 lzma2:dict=4MiB,pb=1,lp=1" becomes + * "--delta=dist=2 --lzma2=dict=4MiB,pb=1,lp=1". + * + * This syntax is compatible with xz 5.0.0 as long as the filters and + * their options are supported too. + */ +#define LZMA_STR_GETOPT_LONG UINT32_C(0x40) + + +/** + * \brief Use two dashes "--" instead of a space to separate filters + * + * That is, "delta:dist=2 lzma2:pb=1,lp=1" becomes + * "delta:dist=2--lzma2:pb=1,lp=1". This looks slightly odd but this + * kind of strings should be usable on the command line without quoting. + * However, it is possible that future versions with new filter options + * might produce strings that require shell quoting anyway as the exact + * set of possible characters isn't frozen for now. + * + * It is guaranteed that the single quote (') will never be used in + * filter chain strings (even if LZMA_STR_NO_SPACES isn't used). + */ +#define LZMA_STR_NO_SPACES UINT32_C(0x80) + + +/** + * \brief Convert a string to a filter chain + * + * This tries to make it easier to write applications that allow users + * to set custom compression options. This only handles the filter + * configuration (including presets) but not the number of threads, + * block size, check type, or memory limits. + * + * The input string can be either a preset or a filter chain. Presets + * begin with a digit 0-9 and may be followed by zero or more flags + * which are lower-case letters. Currently only "e" is supported, matching + * LZMA_PRESET_EXTREME. For partial xz command line syntax compatibility, + * a preset string may start with a single dash "-". + * + * A filter chain consists of one or more "filtername:opt1=value1,opt2=value2" + * strings separated by one or more spaces. Leading and trailing spaces are + * ignored. All names and values must be lower-case. Extra commas in the + * option list are ignored. The order of filters is significant: when + * encoding, the uncompressed input data goes to the leftmost filter first. + * Normally "lzma2" is the last filter in the chain. + * + * If one wishes to avoid spaces, for example, to avoid shell quoting, + * it is possible to use two dashes "--" instead of spaces to separate + * the filters. + * + * For xz command line compatibility, each filter may be prefixed with + * two dashes "--" and the colon ":" separating the filter name from + * the options may be replaced with an equals sign "=". + * + * By default, only filters that can be used in the .xz format are accepted. + * To allow all filters (LZMA1) use the flag LZMA_STR_ALL_FILTERS. + * + * By default, very basic validation is done for the filter chain as a whole, + * for example, that LZMA2 is only used as the last filter in the chain. + * The validation isn't perfect though and it's possible that this function + * succeeds but using the filter chain for encoding or decoding will still + * result in LZMA_OPTIONS_ERROR. To disable this validation, use the flag + * LZMA_STR_NO_VALIDATION. + * + * The available filter names and their options are available via + * lzma_str_list_filters(). See the xz man page for the description + * of filter names and options. + * + * For command line applications, below is an example how an error message + * can be displayed. Note the use of an empty string for the field width. + * If "^" was used there it would create an off-by-one error except at + * the very beginning of the line. + * + * \code{.c} + * const char *str = ...; // From user + * lzma_filter filters[LZMA_FILTERS_MAX + 1]; + * int pos; + * const char *msg = lzma_str_to_filters(str, &pos, filters, 0, NULL); + * if (msg != NULL) { + * printf("%s: Error in XZ compression options:\n", argv[0]); + * printf("%s: %s\n", argv[0], str); + * printf("%s: %*s^\n", argv[0], errpos, ""); + * printf("%s: %s\n", argv[0], msg); + * } + * \endcode + * + * \param str User-supplied string describing a preset or + * a filter chain. If a default value is needed and + * you don't know what would be good, use "6" since + * that is the default preset in xz too. + * \param[out] error_pos If this isn't NULL, this value will be set on + * both success and on all errors. This tells the + * location of the error in the string. This is + * an int to make it straightforward to use this + * as printf() field width. The value is guaranteed + * to be in the range [0, INT_MAX] even if strlen(str) + * somehow was greater than INT_MAX. + * \param[out] filters An array of lzma_filter structures. There must + * be LZMA_FILTERS_MAX + 1 (that is, five) elements + * in the array. The old contents are ignored so it + * doesn't need to be initialized. This array is + * modified only if this function returns NULL. + * Once the allocated filter options are no longer + * needed, lzma_filters_free() can be used to free the + * options (it doesn't free the filters array itself). + * \param flags Bitwise-or of zero or more of the flags + * LZMA_STR_ALL_FILTERS and LZMA_STR_NO_VALIDATION. + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + * + * \return On success, NULL is returned. On error, a statically-allocated + * error message is returned which together with the error_pos + * should give some idea what is wrong. + */ +extern LZMA_API(const char *) lzma_str_to_filters( + const char *str, int *error_pos, lzma_filter *filters, + uint32_t flags, const lzma_allocator *allocator) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Convert a filter chain to a string + * + * Use cases: + * + * - Verbose output showing the full encoder options to the user + * (use LZMA_STR_ENCODER in flags) + * + * - Showing the filters and options that are required to decode a file + * (use LZMA_STR_DECODER in flags) + * + * - Showing the filter names without any options in informational messages + * where the technical details aren't important (no flags). In this case + * the .options in the filters array are ignored and may be NULL even if + * a filter has a mandatory options structure. + * + * Note that even if the filter chain was specified using a preset, + * the resulting filter chain isn't reversed to a preset. So if you + * specify "6" to lzma_str_to_filters() then lzma_str_from_filters() + * will produce a string containing "lzma2". + * + * \param[out] str On success *str will be set to point to an + * allocated string describing the given filter + * chain. Old value is ignored. On error *str is + * always set to NULL. + * \param filters Array of filters terminated with + * .id == LZMA_VLI_UNKNOWN. + * \param flags Bitwise-or of zero or more of the flags + * LZMA_STR_ENCODER, LZMA_STR_DECODER, + * LZMA_STR_GETOPT_LONG, and LZMA_STR_NO_SPACES. + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_OPTIONS_ERROR: Empty filter chain + * (filters[0].id == LZMA_VLI_UNKNOWN) or the filter chain + * includes a Filter ID that is not supported by this function. + * - LZMA_MEM_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_str_from_filters( + char **str, const lzma_filter *filters, uint32_t flags, + const lzma_allocator *allocator) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief List available filters and/or their options (for help message) + * + * If a filter_id is given then only one line is created which contains the + * filter name. If LZMA_STR_ENCODER or LZMA_STR_DECODER is used then the + * options read by the encoder or decoder are printed on the same line. + * + * If filter_id is LZMA_VLI_UNKNOWN then all supported .xz-compatible filters + * are listed: + * + * - If neither LZMA_STR_ENCODER nor LZMA_STR_DECODER is used then + * the supported filter names are listed on a single line separated + * by spaces. + * + * - If LZMA_STR_ENCODER or LZMA_STR_DECODER is used then filters and + * the supported options are listed one filter per line. There won't + * be a newline after the last filter. + * + * - If LZMA_STR_ALL_FILTERS is used then the list will include also + * those filters that cannot be used in the .xz format (LZMA1). + * + * \param str On success *str will be set to point to an + * allocated string listing the filters and options. + * Old value is ignored. On error *str is always set + * to NULL. + * \param filter_id Filter ID or LZMA_VLI_UNKNOWN. + * \param flags Bitwise-or of zero or more of the flags + * LZMA_STR_ALL_FILTERS, LZMA_STR_ENCODER, + * LZMA_STR_DECODER, and LZMA_STR_GETOPT_LONG. + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_OPTIONS_ERROR: Unsupported filter_id or flags + * - LZMA_MEM_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_str_list_filters( + char **str, lzma_vli filter_id, uint32_t flags, + const lzma_allocator *allocator) + lzma_nothrow lzma_attr_warn_unused_result; diff --git a/vcpkg/installed/x64-osx/include/lzma/hardware.h b/vcpkg/installed/x64-osx/include/lzma/hardware.h new file mode 100644 index 0000000..7a1a84f --- /dev/null +++ b/vcpkg/installed/x64-osx/include/lzma/hardware.h @@ -0,0 +1,62 @@ +/* SPDX-License-Identifier: 0BSD */ + +/** + * \file lzma/hardware.h + * \brief Hardware information + * \note Never include this file directly. Use instead. + * + * Since liblzma can consume a lot of system resources, it also provides + * ways to limit the resource usage. Applications linking against liblzma + * need to do the actual decisions how much resources to let liblzma to use. + * To ease making these decisions, liblzma provides functions to find out + * the relevant capabilities of the underlying hardware. Currently there + * is only a function to find out the amount of RAM, but in the future there + * will be also a function to detect how many concurrent threads the system + * can run. + * + * \note On some operating systems, these function may temporarily + * load a shared library or open file descriptor(s) to find out + * the requested hardware information. Unless the application + * assumes that specific file descriptors are not touched by + * other threads, this should have no effect on thread safety. + * Possible operations involving file descriptors will restart + * the syscalls if they return EINTR. + */ + +/* + * Author: Lasse Collin + */ + +#ifndef LZMA_H_INTERNAL +# error Never include this file directly. Use instead. +#endif + + +/** + * \brief Get the total amount of physical memory (RAM) in bytes + * + * This function may be useful when determining a reasonable memory + * usage limit for decompressing or how much memory it is OK to use + * for compressing. + * + * \return On success, the total amount of physical memory in bytes + * is returned. If the amount of RAM cannot be determined, + * zero is returned. This can happen if an error occurs + * or if there is no code in liblzma to detect the amount + * of RAM on the specific operating system. + */ +extern LZMA_API(uint64_t) lzma_physmem(void) lzma_nothrow; + + +/** + * \brief Get the number of processor cores or threads + * + * This function may be useful when determining how many threads to use. + * If the hardware supports more than one thread per CPU core, the number + * of hardware threads is returned if that information is available. + * + * \return On success, the number of available CPU threads or cores is + * returned. If this information isn't available or an error + * occurs, zero is returned. + */ +extern LZMA_API(uint32_t) lzma_cputhreads(void) lzma_nothrow; diff --git a/vcpkg/installed/x64-osx/include/lzma/index.h b/vcpkg/installed/x64-osx/include/lzma/index.h new file mode 100644 index 0000000..b17025e --- /dev/null +++ b/vcpkg/installed/x64-osx/include/lzma/index.h @@ -0,0 +1,882 @@ +/* SPDX-License-Identifier: 0BSD */ + +/** + * \file lzma/index.h + * \brief Handling of .xz Index and related information + * \note Never include this file directly. Use instead. + */ + +/* + * Author: Lasse Collin + */ + +#ifndef LZMA_H_INTERNAL +# error Never include this file directly. Use instead. +#endif + + +/** + * \brief Opaque data type to hold the Index(es) and other information + * + * lzma_index often holds just one .xz Index and possibly the Stream Flags + * of the same Stream and size of the Stream Padding field. However, + * multiple lzma_indexes can be concatenated with lzma_index_cat() and then + * there may be information about multiple Streams in the same lzma_index. + * + * Notes about thread safety: Only one thread may modify lzma_index at + * a time. All functions that take non-const pointer to lzma_index + * modify it. As long as no thread is modifying the lzma_index, getting + * information from the same lzma_index can be done from multiple threads + * at the same time with functions that take a const pointer to + * lzma_index or use lzma_index_iter. The same iterator must be used + * only by one thread at a time, of course, but there can be as many + * iterators for the same lzma_index as needed. + */ +typedef struct lzma_index_s lzma_index; + + +/** + * \brief Iterator to get information about Blocks and Streams + */ +typedef struct { + struct { + /** + * \brief Pointer to Stream Flags + * + * This is NULL if Stream Flags have not been set for + * this Stream with lzma_index_stream_flags(). + */ + const lzma_stream_flags *flags; + + /** \private Reserved member. */ + const void *reserved_ptr1; + + /** \private Reserved member. */ + const void *reserved_ptr2; + + /** \private Reserved member. */ + const void *reserved_ptr3; + + /** + * \brief Stream number in the lzma_index + * + * The first Stream is 1. + */ + lzma_vli number; + + /** + * \brief Number of Blocks in the Stream + * + * If this is zero, the block structure below has + * undefined values. + */ + lzma_vli block_count; + + /** + * \brief Compressed start offset of this Stream + * + * The offset is relative to the beginning of the lzma_index + * (i.e. usually the beginning of the .xz file). + */ + lzma_vli compressed_offset; + + /** + * \brief Uncompressed start offset of this Stream + * + * The offset is relative to the beginning of the lzma_index + * (i.e. usually the beginning of the .xz file). + */ + lzma_vli uncompressed_offset; + + /** + * \brief Compressed size of this Stream + * + * This includes all headers except the possible + * Stream Padding after this Stream. + */ + lzma_vli compressed_size; + + /** + * \brief Uncompressed size of this Stream + */ + lzma_vli uncompressed_size; + + /** + * \brief Size of Stream Padding after this Stream + * + * If it hasn't been set with lzma_index_stream_padding(), + * this defaults to zero. Stream Padding is always + * a multiple of four bytes. + */ + lzma_vli padding; + + + /** \private Reserved member. */ + lzma_vli reserved_vli1; + + /** \private Reserved member. */ + lzma_vli reserved_vli2; + + /** \private Reserved member. */ + lzma_vli reserved_vli3; + + /** \private Reserved member. */ + lzma_vli reserved_vli4; + } stream; + + struct { + /** + * \brief Block number in the file + * + * The first Block is 1. + */ + lzma_vli number_in_file; + + /** + * \brief Compressed start offset of this Block + * + * This offset is relative to the beginning of the + * lzma_index (i.e. usually the beginning of the .xz file). + * Normally this is where you should seek in the .xz file + * to start decompressing this Block. + */ + lzma_vli compressed_file_offset; + + /** + * \brief Uncompressed start offset of this Block + * + * This offset is relative to the beginning of the lzma_index + * (i.e. usually the beginning of the .xz file). + * + * When doing random-access reading, it is possible that + * the target offset is not exactly at Block boundary. One + * will need to compare the target offset against + * uncompressed_file_offset or uncompressed_stream_offset, + * and possibly decode and throw away some amount of data + * before reaching the target offset. + */ + lzma_vli uncompressed_file_offset; + + /** + * \brief Block number in this Stream + * + * The first Block is 1. + */ + lzma_vli number_in_stream; + + /** + * \brief Compressed start offset of this Block + * + * This offset is relative to the beginning of the Stream + * containing this Block. + */ + lzma_vli compressed_stream_offset; + + /** + * \brief Uncompressed start offset of this Block + * + * This offset is relative to the beginning of the Stream + * containing this Block. + */ + lzma_vli uncompressed_stream_offset; + + /** + * \brief Uncompressed size of this Block + * + * You should pass this to the Block decoder if you will + * decode this Block. It will allow the Block decoder to + * validate the uncompressed size. + */ + lzma_vli uncompressed_size; + + /** + * \brief Unpadded size of this Block + * + * You should pass this to the Block decoder if you will + * decode this Block. It will allow the Block decoder to + * validate the unpadded size. + */ + lzma_vli unpadded_size; + + /** + * \brief Total compressed size + * + * This includes all headers and padding in this Block. + * This is useful if you need to know how many bytes + * the Block decoder will actually read. + */ + lzma_vli total_size; + + /** \private Reserved member. */ + lzma_vli reserved_vli1; + + /** \private Reserved member. */ + lzma_vli reserved_vli2; + + /** \private Reserved member. */ + lzma_vli reserved_vli3; + + /** \private Reserved member. */ + lzma_vli reserved_vli4; + + /** \private Reserved member. */ + const void *reserved_ptr1; + + /** \private Reserved member. */ + const void *reserved_ptr2; + + /** \private Reserved member. */ + const void *reserved_ptr3; + + /** \private Reserved member. */ + const void *reserved_ptr4; + } block; + + /** + * \private Internal data + * + * Internal data which is used to store the state of the iterator. + * The exact format may vary between liblzma versions, so don't + * touch these in any way. + */ + union { + /** \private Internal member. */ + const void *p; + + /** \private Internal member. */ + size_t s; + + /** \private Internal member. */ + lzma_vli v; + } internal[6]; +} lzma_index_iter; + + +/** + * \brief Operation mode for lzma_index_iter_next() + */ +typedef enum { + LZMA_INDEX_ITER_ANY = 0, + /**< + * \brief Get the next Block or Stream + * + * Go to the next Block if the current Stream has at least + * one Block left. Otherwise go to the next Stream even if + * it has no Blocks. If the Stream has no Blocks + * (lzma_index_iter.stream.block_count == 0), + * lzma_index_iter.block will have undefined values. + */ + + LZMA_INDEX_ITER_STREAM = 1, + /**< + * \brief Get the next Stream + * + * Go to the next Stream even if the current Stream has + * unread Blocks left. If the next Stream has at least one + * Block, the iterator will point to the first Block. + * If there are no Blocks, lzma_index_iter.block will have + * undefined values. + */ + + LZMA_INDEX_ITER_BLOCK = 2, + /**< + * \brief Get the next Block + * + * Go to the next Block if the current Stream has at least + * one Block left. If the current Stream has no Blocks left, + * the next Stream with at least one Block is located and + * the iterator will be made to point to the first Block of + * that Stream. + */ + + LZMA_INDEX_ITER_NONEMPTY_BLOCK = 3 + /**< + * \brief Get the next non-empty Block + * + * This is like LZMA_INDEX_ITER_BLOCK except that it will + * skip Blocks whose Uncompressed Size is zero. + */ + +} lzma_index_iter_mode; + + +/** + * \brief Mask for return value from lzma_index_checks() for check none + * + * \note This and the other CHECK_MASK macros were added in 5.5.1alpha. + */ +#define LZMA_INDEX_CHECK_MASK_NONE (UINT32_C(1) << LZMA_CHECK_NONE) + +/** + * \brief Mask for return value from lzma_index_checks() for check CRC32 + */ +#define LZMA_INDEX_CHECK_MASK_CRC32 (UINT32_C(1) << LZMA_CHECK_CRC32) + +/** + * \brief Mask for return value from lzma_index_checks() for check CRC64 + */ +#define LZMA_INDEX_CHECK_MASK_CRC64 (UINT32_C(1) << LZMA_CHECK_CRC64) + +/** + * \brief Mask for return value from lzma_index_checks() for check SHA256 + */ +#define LZMA_INDEX_CHECK_MASK_SHA256 (UINT32_C(1) << LZMA_CHECK_SHA256) + +/** + * \brief Calculate memory usage of lzma_index + * + * On disk, the size of the Index field depends on both the number of Records + * stored and the size of the Records (due to variable-length integer + * encoding). When the Index is kept in lzma_index structure, the memory usage + * depends only on the number of Records/Blocks stored in the Index(es), and + * in case of concatenated lzma_indexes, the number of Streams. The size in + * RAM is almost always significantly bigger than in the encoded form on disk. + * + * This function calculates an approximate amount of memory needed to hold + * the given number of Streams and Blocks in lzma_index structure. This + * value may vary between CPU architectures and also between liblzma versions + * if the internal implementation is modified. + * + * \param streams Number of Streams + * \param blocks Number of Blocks + * + * \return Approximate memory in bytes needed in a lzma_index structure. + */ +extern LZMA_API(uint64_t) lzma_index_memusage( + lzma_vli streams, lzma_vli blocks) lzma_nothrow; + + +/** + * \brief Calculate the memory usage of an existing lzma_index + * + * This is a shorthand for lzma_index_memusage(lzma_index_stream_count(i), + * lzma_index_block_count(i)). + * + * \param i Pointer to lzma_index structure + * + * \return Approximate memory in bytes used by the lzma_index structure. + */ +extern LZMA_API(uint64_t) lzma_index_memused(const lzma_index *i) + lzma_nothrow; + + +/** + * \brief Allocate and initialize a new lzma_index structure + * + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + * + * \return On success, a pointer to an empty initialized lzma_index is + * returned. If allocation fails, NULL is returned. + */ +extern LZMA_API(lzma_index *) lzma_index_init(const lzma_allocator *allocator) + lzma_nothrow; + + +/** + * \brief Deallocate lzma_index + * + * If i is NULL, this does nothing. + * + * \param i Pointer to lzma_index structure to deallocate + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + */ +extern LZMA_API(void) lzma_index_end( + lzma_index *i, const lzma_allocator *allocator) lzma_nothrow; + + +/** + * \brief Add a new Block to lzma_index + * + * \param i Pointer to a lzma_index structure + * \param allocator lzma_allocator for custom allocator + * functions. Set to NULL to use malloc() + * and free(). + * \param unpadded_size Unpadded Size of a Block. This can be + * calculated with lzma_block_unpadded_size() + * after encoding or decoding the Block. + * \param uncompressed_size Uncompressed Size of a Block. This can be + * taken directly from lzma_block structure + * after encoding or decoding the Block. + * + * Appending a new Block does not invalidate iterators. For example, + * if an iterator was pointing to the end of the lzma_index, after + * lzma_index_append() it is possible to read the next Block with + * an existing iterator. + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_MEM_ERROR + * - LZMA_DATA_ERROR: Compressed or uncompressed size of the + * Stream or size of the Index field would grow too big. + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_index_append( + lzma_index *i, const lzma_allocator *allocator, + lzma_vli unpadded_size, lzma_vli uncompressed_size) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Set the Stream Flags + * + * Set the Stream Flags of the last (and typically the only) Stream + * in lzma_index. This can be useful when reading information from the + * lzma_index, because to decode Blocks, knowing the integrity check type + * is needed. + * + * \param i Pointer to lzma_index structure + * \param stream_flags Pointer to lzma_stream_flags structure. This + * is copied into the internal preallocated + * structure, so the caller doesn't need to keep + * the flags' data available after calling this + * function. + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_OPTIONS_ERROR: Unsupported stream_flags->version. + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_index_stream_flags( + lzma_index *i, const lzma_stream_flags *stream_flags) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Get the types of integrity Checks + * + * If lzma_index_stream_flags() is used to set the Stream Flags for + * every Stream, lzma_index_checks() can be used to get a bitmask to + * indicate which Check types have been used. It can be useful e.g. if + * showing the Check types to the user. + * + * The bitmask is 1 << check_id, e.g. CRC32 is 1 << 1 and SHA-256 is 1 << 10. + * These masks are defined for convenience as LZMA_INDEX_CHECK_MASK_XXX + * + * \param i Pointer to lzma_index structure + * + * \return Bitmask indicating which Check types are used in the lzma_index + */ +extern LZMA_API(uint32_t) lzma_index_checks(const lzma_index *i) + lzma_nothrow lzma_attr_pure; + + +/** + * \brief Set the amount of Stream Padding + * + * Set the amount of Stream Padding of the last (and typically the only) + * Stream in the lzma_index. This is needed when planning to do random-access + * reading within multiple concatenated Streams. + * + * By default, the amount of Stream Padding is assumed to be zero bytes. + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_DATA_ERROR: The file size would grow too big. + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_index_stream_padding( + lzma_index *i, lzma_vli stream_padding) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Get the number of Streams + * + * \param i Pointer to lzma_index structure + * + * \return Number of Streams in the lzma_index + */ +extern LZMA_API(lzma_vli) lzma_index_stream_count(const lzma_index *i) + lzma_nothrow lzma_attr_pure; + + +/** + * \brief Get the number of Blocks + * + * This returns the total number of Blocks in lzma_index. To get number + * of Blocks in individual Streams, use lzma_index_iter. + * + * \param i Pointer to lzma_index structure + * + * \return Number of blocks in the lzma_index + */ +extern LZMA_API(lzma_vli) lzma_index_block_count(const lzma_index *i) + lzma_nothrow lzma_attr_pure; + + +/** + * \brief Get the size of the Index field as bytes + * + * This is needed to verify the Backward Size field in the Stream Footer. + * + * \param i Pointer to lzma_index structure + * + * \return Size in bytes of the Index + */ +extern LZMA_API(lzma_vli) lzma_index_size(const lzma_index *i) + lzma_nothrow lzma_attr_pure; + + +/** + * \brief Get the total size of the Stream + * + * If multiple lzma_indexes have been combined, this works as if the Blocks + * were in a single Stream. This is useful if you are going to combine + * Blocks from multiple Streams into a single new Stream. + * + * \param i Pointer to lzma_index structure + * + * \return Size in bytes of the Stream (if all Blocks are combined + * into one Stream). + */ +extern LZMA_API(lzma_vli) lzma_index_stream_size(const lzma_index *i) + lzma_nothrow lzma_attr_pure; + + +/** + * \brief Get the total size of the Blocks + * + * This doesn't include the Stream Header, Stream Footer, Stream Padding, + * or Index fields. + * + * \param i Pointer to lzma_index structure + * + * \return Size in bytes of all Blocks in the Stream(s) + */ +extern LZMA_API(lzma_vli) lzma_index_total_size(const lzma_index *i) + lzma_nothrow lzma_attr_pure; + + +/** + * \brief Get the total size of the file + * + * When no lzma_indexes have been combined with lzma_index_cat() and there is + * no Stream Padding, this function is identical to lzma_index_stream_size(). + * If multiple lzma_indexes have been combined, this includes also the headers + * of each separate Stream and the possible Stream Padding fields. + * + * \param i Pointer to lzma_index structure + * + * \return Total size of the .xz file in bytes + */ +extern LZMA_API(lzma_vli) lzma_index_file_size(const lzma_index *i) + lzma_nothrow lzma_attr_pure; + + +/** + * \brief Get the uncompressed size of the file + * + * \param i Pointer to lzma_index structure + * + * \return Size in bytes of the uncompressed data in the file + */ +extern LZMA_API(lzma_vli) lzma_index_uncompressed_size(const lzma_index *i) + lzma_nothrow lzma_attr_pure; + + +/** + * \brief Initialize an iterator + * + * This function associates the iterator with the given lzma_index, and calls + * lzma_index_iter_rewind() on the iterator. + * + * This function doesn't allocate any memory, thus there is no + * lzma_index_iter_end(). The iterator is valid as long as the + * associated lzma_index is valid, that is, until lzma_index_end() or + * using it as source in lzma_index_cat(). Specifically, lzma_index doesn't + * become invalid if new Blocks are added to it with lzma_index_append() or + * if it is used as the destination in lzma_index_cat(). + * + * It is safe to make copies of an initialized lzma_index_iter, for example, + * to easily restart reading at some particular position. + * + * \param iter Pointer to a lzma_index_iter structure + * \param i lzma_index to which the iterator will be associated + */ +extern LZMA_API(void) lzma_index_iter_init( + lzma_index_iter *iter, const lzma_index *i) lzma_nothrow; + + +/** + * \brief Rewind the iterator + * + * Rewind the iterator so that next call to lzma_index_iter_next() will + * return the first Block or Stream. + * + * \param iter Pointer to a lzma_index_iter structure + */ +extern LZMA_API(void) lzma_index_iter_rewind(lzma_index_iter *iter) + lzma_nothrow; + + +/** + * \brief Get the next Block or Stream + * + * \param iter Iterator initialized with lzma_index_iter_init() + * \param mode Specify what kind of information the caller wants + * to get. See lzma_index_iter_mode for details. + * + * \return lzma_bool: + * - true if no Block or Stream matching the mode is found. + * *iter is not updated (failure). + * - false if the next Block or Stream matching the mode was + * found. *iter is updated (success). + */ +extern LZMA_API(lzma_bool) lzma_index_iter_next( + lzma_index_iter *iter, lzma_index_iter_mode mode) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Locate a Block + * + * If it is possible to seek in the .xz file, it is possible to parse + * the Index field(s) and use lzma_index_iter_locate() to do random-access + * reading with granularity of Block size. + * + * If the target is smaller than the uncompressed size of the Stream (can be + * checked with lzma_index_uncompressed_size()): + * - Information about the Stream and Block containing the requested + * uncompressed offset is stored into *iter. + * - Internal state of the iterator is adjusted so that + * lzma_index_iter_next() can be used to read subsequent Blocks or Streams. + * + * If the target is greater than the uncompressed size of the Stream, *iter + * is not modified. + * + * \param iter Iterator that was earlier initialized with + * lzma_index_iter_init(). + * \param target Uncompressed target offset which the caller would + * like to locate from the Stream + * + * \return lzma_bool: + * - true if the target is greater than or equal to the + * uncompressed size of the Stream (failure) + * - false if the target is smaller than the uncompressed size + * of the Stream (success) + */ +extern LZMA_API(lzma_bool) lzma_index_iter_locate( + lzma_index_iter *iter, lzma_vli target) lzma_nothrow; + + +/** + * \brief Concatenate lzma_indexes + * + * Concatenating lzma_indexes is useful when doing random-access reading in + * multi-Stream .xz file, or when combining multiple Streams into single + * Stream. + * + * \param[out] dest lzma_index after which src is appended + * \param src lzma_index to be appended after dest. If this + * function succeeds, the memory allocated for src + * is freed or moved to be part of dest, and all + * iterators pointing to src will become invalid. + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + * + * \return Possible lzma_ret values: + * - LZMA_OK: lzma_indexes were concatenated successfully. + * src is now a dangling pointer. + * - LZMA_DATA_ERROR: *dest would grow too big. + * - LZMA_MEM_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_index_cat(lzma_index *dest, lzma_index *src, + const lzma_allocator *allocator) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Duplicate lzma_index + * + * \param i Pointer to lzma_index structure to be duplicated + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + * + * \return A copy of the lzma_index, or NULL if memory allocation failed. + */ +extern LZMA_API(lzma_index *) lzma_index_dup( + const lzma_index *i, const lzma_allocator *allocator) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Initialize .xz Index encoder + * + * \param strm Pointer to properly prepared lzma_stream + * \param i Pointer to lzma_index which should be encoded. + * + * The valid 'action' values for lzma_code() are LZMA_RUN and LZMA_FINISH. + * It is enough to use only one of them (you can choose freely). + * + * \return Possible lzma_ret values: + * - LZMA_OK: Initialization succeeded, continue with lzma_code(). + * - LZMA_MEM_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_index_encoder( + lzma_stream *strm, const lzma_index *i) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Initialize .xz Index decoder + * + * \param strm Pointer to properly prepared lzma_stream + * \param[out] i The decoded Index will be made available via + * this pointer. Initially this function will + * set *i to NULL (the old value is ignored). If + * decoding succeeds (lzma_code() returns + * LZMA_STREAM_END), *i will be set to point + * to a new lzma_index, which the application + * has to later free with lzma_index_end(). + * \param memlimit How much memory the resulting lzma_index is + * allowed to require. liblzma 5.2.3 and earlier + * don't allow 0 here and return LZMA_PROG_ERROR; + * later versions treat 0 as if 1 had been specified. + * + * Valid 'action' arguments to lzma_code() are LZMA_RUN and LZMA_FINISH. + * There is no need to use LZMA_FINISH, but it's allowed because it may + * simplify certain types of applications. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Initialization succeeded, continue with lzma_code(). + * - LZMA_MEM_ERROR + * - LZMA_PROG_ERROR + * + * \note liblzma 5.2.3 and older list also LZMA_MEMLIMIT_ERROR here + * but that error code has never been possible from this + * initialization function. + */ +extern LZMA_API(lzma_ret) lzma_index_decoder( + lzma_stream *strm, lzma_index **i, uint64_t memlimit) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Single-call .xz Index encoder + * + * \note This function doesn't take allocator argument since all + * the internal data is allocated on stack. + * + * \param i lzma_index to be encoded + * \param[out] out Beginning of the output buffer + * \param[out] out_pos The next byte will be written to out[*out_pos]. + * *out_pos is updated only if encoding succeeds. + * \param out_size Size of the out buffer; the first byte into + * which no data is written to is out[out_size]. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Encoding was successful. + * - LZMA_BUF_ERROR: Output buffer is too small. Use + * lzma_index_size() to find out how much output + * space is needed. + * - LZMA_PROG_ERROR + * + */ +extern LZMA_API(lzma_ret) lzma_index_buffer_encode(const lzma_index *i, + uint8_t *out, size_t *out_pos, size_t out_size) lzma_nothrow; + + +/** + * \brief Single-call .xz Index decoder + * + * \param[out] i If decoding succeeds, *i will point to a new + * lzma_index, which the application has to + * later free with lzma_index_end(). If an error + * occurs, *i will be NULL. The old value of *i + * is always ignored and thus doesn't need to be + * initialized by the caller. + * \param[out] memlimit Pointer to how much memory the resulting + * lzma_index is allowed to require. The value + * pointed by this pointer is modified if and only + * if LZMA_MEMLIMIT_ERROR is returned. + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + * \param in Beginning of the input buffer + * \param in_pos The next byte will be read from in[*in_pos]. + * *in_pos is updated only if decoding succeeds. + * \param in_size Size of the input buffer; the first byte that + * won't be read is in[in_size]. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Decoding was successful. + * - LZMA_MEM_ERROR + * - LZMA_MEMLIMIT_ERROR: Memory usage limit was reached. + * The minimum required memlimit value was stored to *memlimit. + * - LZMA_DATA_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_index_buffer_decode(lzma_index **i, + uint64_t *memlimit, const lzma_allocator *allocator, + const uint8_t *in, size_t *in_pos, size_t in_size) + lzma_nothrow; + + +/** + * \brief Initialize a .xz file information decoder + * + * This decoder decodes the Stream Header, Stream Footer, Index, and + * Stream Padding field(s) from the input .xz file and stores the resulting + * combined index in *dest_index. This information can be used to get the + * uncompressed file size with lzma_index_uncompressed_size(*dest_index) or, + * for example, to implement random access reading by locating the Blocks + * in the Streams. + * + * To get the required information from the .xz file, lzma_code() may ask + * the application to seek in the input file by returning LZMA_SEEK_NEEDED + * and having the target file position specified in lzma_stream.seek_pos. + * The number of seeks required depends on the input file and how big buffers + * the application provides. When possible, the decoder will seek backward + * and forward in the given buffer to avoid useless seek requests. Thus, if + * the application provides the whole file at once, no external seeking will + * be required (that is, lzma_code() won't return LZMA_SEEK_NEEDED). + * + * The value in lzma_stream.total_in can be used to estimate how much data + * liblzma had to read to get the file information. However, due to seeking + * and the way total_in is updated, the value of total_in will be somewhat + * inaccurate (a little too big). Thus, total_in is a good estimate but don't + * expect to see the same exact value for the same file if you change the + * input buffer size or switch to a different liblzma version. + * + * Valid 'action' arguments to lzma_code() are LZMA_RUN and LZMA_FINISH. + * You only need to use LZMA_RUN; LZMA_FINISH is only supported because it + * might be convenient for some applications. If you use LZMA_FINISH and if + * lzma_code() asks the application to seek, remember to reset 'action' back + * to LZMA_RUN unless you hit the end of the file again. + * + * Possible return values from lzma_code(): + * - LZMA_OK: All OK so far, more input needed + * - LZMA_SEEK_NEEDED: Provide more input starting from the absolute + * file position strm->seek_pos + * - LZMA_STREAM_END: Decoding was successful, *dest_index has been set + * - LZMA_FORMAT_ERROR: The input file is not in the .xz format (the + * expected magic bytes were not found from the beginning of the file) + * - LZMA_OPTIONS_ERROR: File looks valid but contains headers that aren't + * supported by this version of liblzma + * - LZMA_DATA_ERROR: File is corrupt + * - LZMA_BUF_ERROR + * - LZMA_MEM_ERROR + * - LZMA_MEMLIMIT_ERROR + * - LZMA_PROG_ERROR + * + * \param strm Pointer to a properly prepared lzma_stream + * \param[out] dest_index Pointer to a pointer where the decoder will put + * the decoded lzma_index. The old value + * of *dest_index is ignored (not freed). + * \param memlimit How much memory the resulting lzma_index is + * allowed to require. Use UINT64_MAX to + * effectively disable the limiter. + * \param file_size Size of the input .xz file + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_MEM_ERROR + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_file_info_decoder( + lzma_stream *strm, lzma_index **dest_index, + uint64_t memlimit, uint64_t file_size) + lzma_nothrow; diff --git a/vcpkg/installed/x64-osx/include/lzma/index_hash.h b/vcpkg/installed/x64-osx/include/lzma/index_hash.h new file mode 100644 index 0000000..68f9024 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/lzma/index_hash.h @@ -0,0 +1,123 @@ +/* SPDX-License-Identifier: 0BSD */ + +/** + * \file lzma/index_hash.h + * \brief Validate Index by using a hash function + * \note Never include this file directly. Use instead. + * + * Hashing makes it possible to use constant amount of memory to validate + * Index of arbitrary size. + */ + +/* + * Author: Lasse Collin + */ + +#ifndef LZMA_H_INTERNAL +# error Never include this file directly. Use instead. +#endif + +/** + * \brief Opaque data type to hold the Index hash + */ +typedef struct lzma_index_hash_s lzma_index_hash; + + +/** + * \brief Allocate and initialize a new lzma_index_hash structure + * + * If index_hash is NULL, this function allocates and initializes a new + * lzma_index_hash structure and returns a pointer to it. If allocation + * fails, NULL is returned. + * + * If index_hash is non-NULL, this function reinitializes the lzma_index_hash + * structure and returns the same pointer. In this case, return value cannot + * be NULL or a different pointer than the index_hash that was given as + * an argument. + * + * \param index_hash Pointer to a lzma_index_hash structure or NULL. + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + * + * \return Initialized lzma_index_hash structure on success or + * NULL on failure. + */ +extern LZMA_API(lzma_index_hash *) lzma_index_hash_init( + lzma_index_hash *index_hash, const lzma_allocator *allocator) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Deallocate lzma_index_hash structure + * + * \param index_hash Pointer to a lzma_index_hash structure to free. + * \param allocator lzma_allocator for custom allocator functions. + * Set to NULL to use malloc() and free(). + */ +extern LZMA_API(void) lzma_index_hash_end( + lzma_index_hash *index_hash, const lzma_allocator *allocator) + lzma_nothrow; + + +/** + * \brief Add a new Record to an Index hash + * + * \param index_hash Pointer to a lzma_index_hash structure + * \param unpadded_size Unpadded Size of a Block + * \param uncompressed_size Uncompressed Size of a Block + * + * \return Possible lzma_ret values: + * - LZMA_OK + * - LZMA_DATA_ERROR: Compressed or uncompressed size of the + * Stream or size of the Index field would grow too big. + * - LZMA_PROG_ERROR: Invalid arguments or this function is being + * used when lzma_index_hash_decode() has already been used. + */ +extern LZMA_API(lzma_ret) lzma_index_hash_append(lzma_index_hash *index_hash, + lzma_vli unpadded_size, lzma_vli uncompressed_size) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Decode and validate the Index field + * + * After telling the sizes of all Blocks with lzma_index_hash_append(), + * the actual Index field is decoded with this function. Specifically, + * once decoding of the Index field has been started, no more Records + * can be added using lzma_index_hash_append(). + * + * This function doesn't use lzma_stream structure to pass the input data. + * Instead, the input buffer is specified using three arguments. This is + * because it matches better the internal APIs of liblzma. + * + * \param index_hash Pointer to a lzma_index_hash structure + * \param in Pointer to the beginning of the input buffer + * \param[out] in_pos in[*in_pos] is the next byte to process + * \param in_size in[in_size] is the first byte not to process + * + * \return Possible lzma_ret values: + * - LZMA_OK: So far good, but more input is needed. + * - LZMA_STREAM_END: Index decoded successfully and it matches + * the Records given with lzma_index_hash_append(). + * - LZMA_DATA_ERROR: Index is corrupt or doesn't match the + * information given with lzma_index_hash_append(). + * - LZMA_BUF_ERROR: Cannot progress because *in_pos >= in_size. + * - LZMA_PROG_ERROR + */ +extern LZMA_API(lzma_ret) lzma_index_hash_decode(lzma_index_hash *index_hash, + const uint8_t *in, size_t *in_pos, size_t in_size) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Get the size of the Index field as bytes + * + * This is needed to verify the Backward Size field in the Stream Footer. + * + * \param index_hash Pointer to a lzma_index_hash structure + * + * \return Size of the Index field in bytes. + */ +extern LZMA_API(lzma_vli) lzma_index_hash_size( + const lzma_index_hash *index_hash) + lzma_nothrow lzma_attr_pure; diff --git a/vcpkg/installed/x64-osx/include/lzma/lzma12.h b/vcpkg/installed/x64-osx/include/lzma/lzma12.h new file mode 100644 index 0000000..05f5b66 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/lzma/lzma12.h @@ -0,0 +1,568 @@ +/* SPDX-License-Identifier: 0BSD */ + +/** + * \file lzma/lzma12.h + * \brief LZMA1 and LZMA2 filters + * \note Never include this file directly. Use instead. + */ + +/* + * Author: Lasse Collin + */ + +#ifndef LZMA_H_INTERNAL +# error Never include this file directly. Use instead. +#endif + + +/** + * \brief LZMA1 Filter ID (for raw encoder/decoder only, not in .xz) + * + * LZMA1 is the very same thing as what was called just LZMA in LZMA Utils, + * 7-Zip, and LZMA SDK. It's called LZMA1 here to prevent developers from + * accidentally using LZMA when they actually want LZMA2. + */ +#define LZMA_FILTER_LZMA1 LZMA_VLI_C(0x4000000000000001) + +/** + * \brief LZMA1 Filter ID with extended options (for raw encoder/decoder) + * + * This is like LZMA_FILTER_LZMA1 but with this ID a few extra options + * are supported in the lzma_options_lzma structure: + * + * - A flag to tell the encoder if the end of payload marker (EOPM) alias + * end of stream (EOS) marker must be written at the end of the stream. + * In contrast, LZMA_FILTER_LZMA1 always writes the end marker. + * + * - Decoder needs to be told the uncompressed size of the stream + * or that it is unknown (using the special value UINT64_MAX). + * If the size is known, a flag can be set to allow the presence of + * the end marker anyway. In contrast, LZMA_FILTER_LZMA1 always + * behaves as if the uncompressed size was unknown. + * + * This allows handling file formats where LZMA1 streams are used but where + * the end marker isn't allowed or where it might not (always) be present. + * This extended LZMA1 functionality is provided as a Filter ID for raw + * encoder and decoder instead of adding new encoder and decoder initialization + * functions because this way it is possible to also use extra filters, + * for example, LZMA_FILTER_X86 in a filter chain with LZMA_FILTER_LZMA1EXT, + * which might be needed to handle some file formats. + */ +#define LZMA_FILTER_LZMA1EXT LZMA_VLI_C(0x4000000000000002) + +/** + * \brief LZMA2 Filter ID + * + * Usually you want this instead of LZMA1. Compared to LZMA1, LZMA2 adds + * support for LZMA_SYNC_FLUSH, uncompressed chunks (smaller expansion + * when trying to compress incompressible data), possibility to change + * lc/lp/pb in the middle of encoding, and some other internal improvements. + */ +#define LZMA_FILTER_LZMA2 LZMA_VLI_C(0x21) + + +/** + * \brief Match finders + * + * Match finder has major effect on both speed and compression ratio. + * Usually hash chains are faster than binary trees. + * + * If you will use LZMA_SYNC_FLUSH often, the hash chains may be a better + * choice, because binary trees get much higher compression ratio penalty + * with LZMA_SYNC_FLUSH. + * + * The memory usage formulas are only rough estimates, which are closest to + * reality when dict_size is a power of two. The formulas are more complex + * in reality, and can also change a little between liblzma versions. Use + * lzma_raw_encoder_memusage() to get more accurate estimate of memory usage. + */ +typedef enum { + LZMA_MF_HC3 = 0x03, + /**< + * \brief Hash Chain with 2- and 3-byte hashing + * + * Minimum nice_len: 3 + * + * Memory usage: + * - dict_size <= 16 MiB: dict_size * 7.5 + * - dict_size > 16 MiB: dict_size * 5.5 + 64 MiB + */ + + LZMA_MF_HC4 = 0x04, + /**< + * \brief Hash Chain with 2-, 3-, and 4-byte hashing + * + * Minimum nice_len: 4 + * + * Memory usage: + * - dict_size <= 32 MiB: dict_size * 7.5 + * - dict_size > 32 MiB: dict_size * 6.5 + */ + + LZMA_MF_BT2 = 0x12, + /**< + * \brief Binary Tree with 2-byte hashing + * + * Minimum nice_len: 2 + * + * Memory usage: dict_size * 9.5 + */ + + LZMA_MF_BT3 = 0x13, + /**< + * \brief Binary Tree with 2- and 3-byte hashing + * + * Minimum nice_len: 3 + * + * Memory usage: + * - dict_size <= 16 MiB: dict_size * 11.5 + * - dict_size > 16 MiB: dict_size * 9.5 + 64 MiB + */ + + LZMA_MF_BT4 = 0x14 + /**< + * \brief Binary Tree with 2-, 3-, and 4-byte hashing + * + * Minimum nice_len: 4 + * + * Memory usage: + * - dict_size <= 32 MiB: dict_size * 11.5 + * - dict_size > 32 MiB: dict_size * 10.5 + */ +} lzma_match_finder; + + +/** + * \brief Test if given match finder is supported + * + * It is safe to call this with a value that isn't listed in + * lzma_match_finder enumeration; the return value will be false. + * + * There is no way to list which match finders are available in this + * particular liblzma version and build. It would be useless, because + * a new match finder, which the application developer wasn't aware, + * could require giving additional options to the encoder that the older + * match finders don't need. + * + * \param match_finder Match finder ID + * + * \return lzma_bool: + * - true if the match finder is supported by this liblzma build. + * - false otherwise. + */ +extern LZMA_API(lzma_bool) lzma_mf_is_supported(lzma_match_finder match_finder) + lzma_nothrow lzma_attr_const; + + +/** + * \brief Compression modes + * + * This selects the function used to analyze the data produced by the match + * finder. + */ +typedef enum { + LZMA_MODE_FAST = 1, + /**< + * \brief Fast compression + * + * Fast mode is usually at its best when combined with + * a hash chain match finder. + */ + + LZMA_MODE_NORMAL = 2 + /**< + * \brief Normal compression + * + * This is usually notably slower than fast mode. Use this + * together with binary tree match finders to expose the + * full potential of the LZMA1 or LZMA2 encoder. + */ +} lzma_mode; + + +/** + * \brief Test if given compression mode is supported + * + * It is safe to call this with a value that isn't listed in lzma_mode + * enumeration; the return value will be false. + * + * There is no way to list which modes are available in this particular + * liblzma version and build. It would be useless, because a new compression + * mode, which the application developer wasn't aware, could require giving + * additional options to the encoder that the older modes don't need. + * + * \param mode Mode ID. + * + * \return lzma_bool: + * - true if the compression mode is supported by this liblzma + * build. + * - false otherwise. + */ +extern LZMA_API(lzma_bool) lzma_mode_is_supported(lzma_mode mode) + lzma_nothrow lzma_attr_const; + + +/** + * \brief Options specific to the LZMA1 and LZMA2 filters + * + * Since LZMA1 and LZMA2 share most of the code, it's simplest to share + * the options structure too. For encoding, all but the reserved variables + * need to be initialized unless specifically mentioned otherwise. + * lzma_lzma_preset() can be used to get a good starting point. + * + * For raw decoding, both LZMA1 and LZMA2 need dict_size, preset_dict, and + * preset_dict_size (if preset_dict != NULL). LZMA1 needs also lc, lp, and pb. + */ +typedef struct { + /** + * \brief Dictionary size in bytes + * + * Dictionary size indicates how many bytes of the recently processed + * uncompressed data is kept in memory. One method to reduce size of + * the uncompressed data is to store distance-length pairs, which + * indicate what data to repeat from the dictionary buffer. Thus, + * the bigger the dictionary, the better the compression ratio + * usually is. + * + * Maximum size of the dictionary depends on multiple things: + * - Memory usage limit + * - Available address space (not a problem on 64-bit systems) + * - Selected match finder (encoder only) + * + * Currently the maximum dictionary size for encoding is 1.5 GiB + * (i.e. (UINT32_C(1) << 30) + (UINT32_C(1) << 29)) even on 64-bit + * systems for certain match finder implementation reasons. In the + * future, there may be match finders that support bigger + * dictionaries. + * + * Decoder already supports dictionaries up to 4 GiB - 1 B (i.e. + * UINT32_MAX), so increasing the maximum dictionary size of the + * encoder won't cause problems for old decoders. + * + * Because extremely small dictionaries sizes would have unneeded + * overhead in the decoder, the minimum dictionary size is 4096 bytes. + * + * \note When decoding, too big dictionary does no other harm + * than wasting memory. + */ + uint32_t dict_size; +# define LZMA_DICT_SIZE_MIN UINT32_C(4096) +# define LZMA_DICT_SIZE_DEFAULT (UINT32_C(1) << 23) + + /** + * \brief Pointer to an initial dictionary + * + * It is possible to initialize the LZ77 history window using + * a preset dictionary. It is useful when compressing many + * similar, relatively small chunks of data independently from + * each other. The preset dictionary should contain typical + * strings that occur in the files being compressed. The most + * probable strings should be near the end of the preset dictionary. + * + * This feature should be used only in special situations. For + * now, it works correctly only with raw encoding and decoding. + * Currently none of the container formats supported by + * liblzma allow preset dictionary when decoding, thus if + * you create a .xz or .lzma file with preset dictionary, it + * cannot be decoded with the regular decoder functions. In the + * future, the .xz format will likely get support for preset + * dictionary though. + */ + const uint8_t *preset_dict; + + /** + * \brief Size of the preset dictionary + * + * Specifies the size of the preset dictionary. If the size is + * bigger than dict_size, only the last dict_size bytes are + * processed. + * + * This variable is read only when preset_dict is not NULL. + * If preset_dict is not NULL but preset_dict_size is zero, + * no preset dictionary is used (identical to only setting + * preset_dict to NULL). + */ + uint32_t preset_dict_size; + + /** + * \brief Number of literal context bits + * + * How many of the highest bits of the previous uncompressed + * eight-bit byte (also known as 'literal') are taken into + * account when predicting the bits of the next literal. + * + * E.g. in typical English text, an upper-case letter is + * often followed by a lower-case letter, and a lower-case + * letter is usually followed by another lower-case letter. + * In the US-ASCII character set, the highest three bits are 010 + * for upper-case letters and 011 for lower-case letters. + * When lc is at least 3, the literal coding can take advantage of + * this property in the uncompressed data. + * + * There is a limit that applies to literal context bits and literal + * position bits together: lc + lp <= 4. Without this limit the + * decoding could become very slow, which could have security related + * results in some cases like email servers doing virus scanning. + * This limit also simplifies the internal implementation in liblzma. + * + * There may be LZMA1 streams that have lc + lp > 4 (maximum possible + * lc would be 8). It is not possible to decode such streams with + * liblzma. + */ + uint32_t lc; +# define LZMA_LCLP_MIN 0 +# define LZMA_LCLP_MAX 4 +# define LZMA_LC_DEFAULT 3 + + /** + * \brief Number of literal position bits + * + * lp affects what kind of alignment in the uncompressed data is + * assumed when encoding literals. A literal is a single 8-bit byte. + * See pb below for more information about alignment. + */ + uint32_t lp; +# define LZMA_LP_DEFAULT 0 + + /** + * \brief Number of position bits + * + * pb affects what kind of alignment in the uncompressed data is + * assumed in general. The default means four-byte alignment + * (2^ pb =2^2=4), which is often a good choice when there's + * no better guess. + * + * When the alignment is known, setting pb accordingly may reduce + * the file size a little. E.g. with text files having one-byte + * alignment (US-ASCII, ISO-8859-*, UTF-8), setting pb=0 can + * improve compression slightly. For UTF-16 text, pb=1 is a good + * choice. If the alignment is an odd number like 3 bytes, pb=0 + * might be the best choice. + * + * Even though the assumed alignment can be adjusted with pb and + * lp, LZMA1 and LZMA2 still slightly favor 16-byte alignment. + * It might be worth taking into account when designing file formats + * that are likely to be often compressed with LZMA1 or LZMA2. + */ + uint32_t pb; +# define LZMA_PB_MIN 0 +# define LZMA_PB_MAX 4 +# define LZMA_PB_DEFAULT 2 + + /** Compression mode */ + lzma_mode mode; + + /** + * \brief Nice length of a match + * + * This determines how many bytes the encoder compares from the match + * candidates when looking for the best match. Once a match of at + * least nice_len bytes long is found, the encoder stops looking for + * better candidates and encodes the match. (Naturally, if the found + * match is actually longer than nice_len, the actual length is + * encoded; it's not truncated to nice_len.) + * + * Bigger values usually increase the compression ratio and + * compression time. For most files, 32 to 128 is a good value, + * which gives very good compression ratio at good speed. + * + * The exact minimum value depends on the match finder. The maximum + * is 273, which is the maximum length of a match that LZMA1 and + * LZMA2 can encode. + */ + uint32_t nice_len; + + /** Match finder ID */ + lzma_match_finder mf; + + /** + * \brief Maximum search depth in the match finder + * + * For every input byte, match finder searches through the hash chain + * or binary tree in a loop, each iteration going one step deeper in + * the chain or tree. The searching stops if + * - a match of at least nice_len bytes long is found; + * - all match candidates from the hash chain or binary tree have + * been checked; or + * - maximum search depth is reached. + * + * Maximum search depth is needed to prevent the match finder from + * wasting too much time in case there are lots of short match + * candidates. On the other hand, stopping the search before all + * candidates have been checked can reduce compression ratio. + * + * Setting depth to zero tells liblzma to use an automatic default + * value, that depends on the selected match finder and nice_len. + * The default is in the range [4, 200] or so (it may vary between + * liblzma versions). + * + * Using a bigger depth value than the default can increase + * compression ratio in some cases. There is no strict maximum value, + * but high values (thousands or millions) should be used with care: + * the encoder could remain fast enough with typical input, but + * malicious input could cause the match finder to slow down + * dramatically, possibly creating a denial of service attack. + */ + uint32_t depth; + + /** + * \brief For LZMA_FILTER_LZMA1EXT: Extended flags + * + * This is used only with LZMA_FILTER_LZMA1EXT. + * + * Currently only one flag is supported, LZMA_LZMA1EXT_ALLOW_EOPM: + * + * - Encoder: If the flag is set, then end marker is written just + * like it is with LZMA_FILTER_LZMA1. Without this flag the + * end marker isn't written and the application has to store + * the uncompressed size somewhere outside the compressed stream. + * To decompress streams without the end marker, the application + * has to set the correct uncompressed size in ext_size_low and + * ext_size_high. + * + * - Decoder: If the uncompressed size in ext_size_low and + * ext_size_high is set to the special value UINT64_MAX + * (indicating unknown uncompressed size) then this flag is + * ignored and the end marker must always be present, that is, + * the behavior is identical to LZMA_FILTER_LZMA1. + * + * Otherwise, if this flag isn't set, then the input stream + * must not have the end marker; if the end marker is detected + * then it will result in LZMA_DATA_ERROR. This is useful when + * it is known that the stream must not have the end marker and + * strict validation is wanted. + * + * If this flag is set, then it is autodetected if the end marker + * is present after the specified number of uncompressed bytes + * has been decompressed (ext_size_low and ext_size_high). The + * end marker isn't allowed in any other position. This behavior + * is useful when uncompressed size is known but the end marker + * may or may not be present. This is the case, for example, + * in .7z files (valid .7z files that have the end marker in + * LZMA1 streams are rare but they do exist). + */ + uint32_t ext_flags; +# define LZMA_LZMA1EXT_ALLOW_EOPM UINT32_C(0x01) + + /** + * \brief For LZMA_FILTER_LZMA1EXT: Uncompressed size (low bits) + * + * The 64-bit uncompressed size is needed for decompression with + * LZMA_FILTER_LZMA1EXT. The size is ignored by the encoder. + * + * The special value UINT64_MAX indicates that the uncompressed size + * is unknown and that the end of payload marker (also known as + * end of stream marker) must be present to indicate the end of + * the LZMA1 stream. Any other value indicates the expected + * uncompressed size of the LZMA1 stream. (If LZMA1 was used together + * with filters that change the size of the data then the uncompressed + * size of the LZMA1 stream could be different than the final + * uncompressed size of the filtered stream.) + * + * ext_size_low holds the least significant 32 bits of the + * uncompressed size. The most significant 32 bits must be set + * in ext_size_high. The macro lzma_ext_size_set(opt_lzma, u64size) + * can be used to set these members. + * + * The 64-bit uncompressed size is split into two uint32_t variables + * because there were no reserved uint64_t members and using the + * same options structure for LZMA_FILTER_LZMA1, LZMA_FILTER_LZMA1EXT, + * and LZMA_FILTER_LZMA2 was otherwise more convenient than having + * a new options structure for LZMA_FILTER_LZMA1EXT. (Replacing two + * uint32_t members with one uint64_t changes the ABI on some systems + * as the alignment of this struct can increase from 4 bytes to 8.) + */ + uint32_t ext_size_low; + + /** + * \brief For LZMA_FILTER_LZMA1EXT: Uncompressed size (high bits) + * + * This holds the most significant 32 bits of the uncompressed size. + */ + uint32_t ext_size_high; + + /* + * Reserved space to allow possible future extensions without + * breaking the ABI. You should not touch these, because the names + * of these variables may change. These are and will never be used + * with the currently supported options, so it is safe to leave these + * uninitialized. + */ + + /** \private Reserved member. */ + uint32_t reserved_int4; + + /** \private Reserved member. */ + uint32_t reserved_int5; + + /** \private Reserved member. */ + uint32_t reserved_int6; + + /** \private Reserved member. */ + uint32_t reserved_int7; + + /** \private Reserved member. */ + uint32_t reserved_int8; + + /** \private Reserved member. */ + lzma_reserved_enum reserved_enum1; + + /** \private Reserved member. */ + lzma_reserved_enum reserved_enum2; + + /** \private Reserved member. */ + lzma_reserved_enum reserved_enum3; + + /** \private Reserved member. */ + lzma_reserved_enum reserved_enum4; + + /** \private Reserved member. */ + void *reserved_ptr1; + + /** \private Reserved member. */ + void *reserved_ptr2; + +} lzma_options_lzma; + + +/** + * \brief Macro to set the 64-bit uncompressed size in ext_size_* + * + * This might be convenient when decoding using LZMA_FILTER_LZMA1EXT. + * This isn't used with LZMA_FILTER_LZMA1 or LZMA_FILTER_LZMA2. + */ +#define lzma_set_ext_size(opt_lzma2, u64size) \ +do { \ + (opt_lzma2).ext_size_low = (uint32_t)(u64size); \ + (opt_lzma2).ext_size_high = (uint32_t)((uint64_t)(u64size) >> 32); \ +} while (0) + + +/** + * \brief Set a compression preset to lzma_options_lzma structure + * + * 0 is the fastest and 9 is the slowest. These match the switches -0 .. -9 + * of the xz command line tool. In addition, it is possible to bitwise-or + * flags to the preset. Currently only LZMA_PRESET_EXTREME is supported. + * The flags are defined in container.h, because the flags are used also + * with lzma_easy_encoder(). + * + * The preset levels are subject to changes between liblzma versions. + * + * This function is available only if LZMA1 or LZMA2 encoder has been enabled + * when building liblzma. + * + * If features (like certain match finders) have been disabled at build time, + * then the function may return success (false) even though the resulting + * LZMA1/LZMA2 options may not be usable for encoder initialization + * (LZMA_OPTIONS_ERROR). + * + * \param[out] options Pointer to LZMA1 or LZMA2 options to be filled + * \param preset Preset level bitwse-ORed with preset flags + * + * \return lzma_bool: + * - true if the preset is not supported (failure). + * - false otherwise (success). + */ +extern LZMA_API(lzma_bool) lzma_lzma_preset( + lzma_options_lzma *options, uint32_t preset) lzma_nothrow; diff --git a/vcpkg/installed/x64-osx/include/lzma/stream_flags.h b/vcpkg/installed/x64-osx/include/lzma/stream_flags.h new file mode 100644 index 0000000..a33fe46 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/lzma/stream_flags.h @@ -0,0 +1,265 @@ +/* SPDX-License-Identifier: 0BSD */ + +/** + * \file lzma/stream_flags.h + * \brief .xz Stream Header and Stream Footer encoder and decoder + * \note Never include this file directly. Use instead. + */ + +/* + * Author: Lasse Collin + */ + +#ifndef LZMA_H_INTERNAL +# error Never include this file directly. Use instead. +#endif + + +/** + * \brief Size of Stream Header and Stream Footer + * + * Stream Header and Stream Footer have the same size and they are not + * going to change even if a newer version of the .xz file format is + * developed in future. + */ +#define LZMA_STREAM_HEADER_SIZE 12 + + +/** + * \brief Options for encoding/decoding Stream Header and Stream Footer + */ +typedef struct { + /** + * \brief Stream Flags format version + * + * To prevent API and ABI breakages if new features are needed in + * Stream Header or Stream Footer, a version number is used to + * indicate which members in this structure are in use. For now, + * version must always be zero. With non-zero version, the + * lzma_stream_header_encode() and lzma_stream_footer_encode() + * will return LZMA_OPTIONS_ERROR. + * + * lzma_stream_header_decode() and lzma_stream_footer_decode() + * will always set this to the lowest value that supports all the + * features indicated by the Stream Flags field. The application + * must check that the version number set by the decoding functions + * is supported by the application. Otherwise it is possible that + * the application will decode the Stream incorrectly. + */ + uint32_t version; + + /** + * \brief Backward Size + * + * Backward Size must be a multiple of four bytes. In this Stream + * format version, Backward Size is the size of the Index field. + * + * Backward Size isn't actually part of the Stream Flags field, but + * it is convenient to include in this structure anyway. Backward + * Size is present only in the Stream Footer. There is no need to + * initialize backward_size when encoding Stream Header. + * + * lzma_stream_header_decode() always sets backward_size to + * LZMA_VLI_UNKNOWN so that it is convenient to use + * lzma_stream_flags_compare() when both Stream Header and Stream + * Footer have been decoded. + */ + lzma_vli backward_size; + + /** + * \brief Minimum value for lzma_stream_flags.backward_size + */ +# define LZMA_BACKWARD_SIZE_MIN 4 + + /** + * \brief Maximum value for lzma_stream_flags.backward_size + */ +# define LZMA_BACKWARD_SIZE_MAX (LZMA_VLI_C(1) << 34) + + /** + * \brief Check ID + * + * This indicates the type of the integrity check calculated from + * uncompressed data. + */ + lzma_check check; + + /* + * Reserved space to allow possible future extensions without + * breaking the ABI. You should not touch these, because the + * names of these variables may change. + * + * (We will never be able to use all of these since Stream Flags + * is just two bytes plus Backward Size of four bytes. But it's + * nice to have the proper types when they are needed.) + */ + + /** \private Reserved member. */ + lzma_reserved_enum reserved_enum1; + + /** \private Reserved member. */ + lzma_reserved_enum reserved_enum2; + + /** \private Reserved member. */ + lzma_reserved_enum reserved_enum3; + + /** \private Reserved member. */ + lzma_reserved_enum reserved_enum4; + + /** \private Reserved member. */ + lzma_bool reserved_bool1; + + /** \private Reserved member. */ + lzma_bool reserved_bool2; + + /** \private Reserved member. */ + lzma_bool reserved_bool3; + + /** \private Reserved member. */ + lzma_bool reserved_bool4; + + /** \private Reserved member. */ + lzma_bool reserved_bool5; + + /** \private Reserved member. */ + lzma_bool reserved_bool6; + + /** \private Reserved member. */ + lzma_bool reserved_bool7; + + /** \private Reserved member. */ + lzma_bool reserved_bool8; + + /** \private Reserved member. */ + uint32_t reserved_int1; + + /** \private Reserved member. */ + uint32_t reserved_int2; + +} lzma_stream_flags; + + +/** + * \brief Encode Stream Header + * + * \param options Stream Header options to be encoded. + * options->backward_size is ignored and doesn't + * need to be initialized. + * \param[out] out Beginning of the output buffer of + * LZMA_STREAM_HEADER_SIZE bytes. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Encoding was successful. + * - LZMA_OPTIONS_ERROR: options->version is not supported by + * this liblzma version. + * - LZMA_PROG_ERROR: Invalid options. + */ +extern LZMA_API(lzma_ret) lzma_stream_header_encode( + const lzma_stream_flags *options, uint8_t *out) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Encode Stream Footer + * + * \param options Stream Footer options to be encoded. + * \param[out] out Beginning of the output buffer of + * LZMA_STREAM_HEADER_SIZE bytes. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Encoding was successful. + * - LZMA_OPTIONS_ERROR: options->version is not supported by + * this liblzma version. + * - LZMA_PROG_ERROR: Invalid options. + */ +extern LZMA_API(lzma_ret) lzma_stream_footer_encode( + const lzma_stream_flags *options, uint8_t *out) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Decode Stream Header + * + * options->backward_size is always set to LZMA_VLI_UNKNOWN. This is to + * help comparing Stream Flags from Stream Header and Stream Footer with + * lzma_stream_flags_compare(). + * + * \note When decoding .xz files that contain multiple Streams, it may + * make sense to print "file format not recognized" only if + * decoding of the Stream Header of the \a first Stream gives + * LZMA_FORMAT_ERROR. If non-first Stream Header gives + * LZMA_FORMAT_ERROR, the message used for LZMA_DATA_ERROR is + * probably more appropriate. + * For example, the Stream decoder in liblzma uses + * LZMA_DATA_ERROR if LZMA_FORMAT_ERROR is returned by + * lzma_stream_header_decode() when decoding non-first Stream. + * + * \param[out] options Target for the decoded Stream Header options. + * \param in Beginning of the input buffer of + * LZMA_STREAM_HEADER_SIZE bytes. + * + * + * \return Possible lzma_ret values: + * - LZMA_OK: Decoding was successful. + * - LZMA_FORMAT_ERROR: Magic bytes don't match, thus the given + * buffer cannot be Stream Header. + * - LZMA_DATA_ERROR: CRC32 doesn't match, thus the header + * is corrupt. + * - LZMA_OPTIONS_ERROR: Unsupported options are present + * in the header. + */ +extern LZMA_API(lzma_ret) lzma_stream_header_decode( + lzma_stream_flags *options, const uint8_t *in) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Decode Stream Footer + * + * \note If Stream Header was already decoded successfully, but + * decoding Stream Footer returns LZMA_FORMAT_ERROR, the + * application should probably report some other error message + * than "file format not recognized". The file likely + * is corrupt (possibly truncated). The Stream decoder in liblzma + * uses LZMA_DATA_ERROR in this situation. + * + * \param[out] options Target for the decoded Stream Footer options. + * \param in Beginning of the input buffer of + * LZMA_STREAM_HEADER_SIZE bytes. + * + * \return Possible lzma_ret values: + * - LZMA_OK: Decoding was successful. + * - LZMA_FORMAT_ERROR: Magic bytes don't match, thus the given + * buffer cannot be Stream Footer. + * - LZMA_DATA_ERROR: CRC32 doesn't match, thus the Stream Footer + * is corrupt. + * - LZMA_OPTIONS_ERROR: Unsupported options are present + * in Stream Footer. + */ +extern LZMA_API(lzma_ret) lzma_stream_footer_decode( + lzma_stream_flags *options, const uint8_t *in) + lzma_nothrow lzma_attr_warn_unused_result; + + +/** + * \brief Compare two lzma_stream_flags structures + * + * backward_size values are compared only if both are not + * LZMA_VLI_UNKNOWN. + * + * \param a Pointer to lzma_stream_flags structure + * \param b Pointer to lzma_stream_flags structure + * + * \return Possible lzma_ret values: + * - LZMA_OK: Both are equal. If either had backward_size set + * to LZMA_VLI_UNKNOWN, backward_size values were not + * compared or validated. + * - LZMA_DATA_ERROR: The structures differ. + * - LZMA_OPTIONS_ERROR: version in either structure is greater + * than the maximum supported version (currently zero). + * - LZMA_PROG_ERROR: Invalid value, e.g. invalid check or + * backward_size. + */ +extern LZMA_API(lzma_ret) lzma_stream_flags_compare( + const lzma_stream_flags *a, const lzma_stream_flags *b) + lzma_nothrow lzma_attr_pure; diff --git a/vcpkg/installed/x64-osx/include/lzma/version.h b/vcpkg/installed/x64-osx/include/lzma/version.h new file mode 100644 index 0000000..53526b9 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/lzma/version.h @@ -0,0 +1,134 @@ +/* SPDX-License-Identifier: 0BSD */ + +/** + * \file lzma/version.h + * \brief Version number + * \note Never include this file directly. Use instead. + */ + +/* + * Author: Lasse Collin + */ + +#ifndef LZMA_H_INTERNAL +# error Never include this file directly. Use instead. +#endif + + +/** \brief Major version number of the liblzma release. */ +#define LZMA_VERSION_MAJOR 5 + +/** \brief Minor version number of the liblzma release. */ +#define LZMA_VERSION_MINOR 6 + +/** \brief Patch version number of the liblzma release. */ +#define LZMA_VERSION_PATCH 2 + +/** + * \brief Version stability marker + * + * This will always be one of three values: + * - LZMA_VERSION_STABILITY_ALPHA + * - LZMA_VERSION_STABILITY_BETA + * - LZMA_VERSION_STABILITY_STABLE + */ +#define LZMA_VERSION_STABILITY LZMA_VERSION_STABILITY_STABLE + +/** \brief Commit version number of the liblzma release */ +#ifndef LZMA_VERSION_COMMIT +# define LZMA_VERSION_COMMIT "" +#endif + + +/* + * Map symbolic stability levels to integers. + */ +#define LZMA_VERSION_STABILITY_ALPHA 0 +#define LZMA_VERSION_STABILITY_BETA 1 +#define LZMA_VERSION_STABILITY_STABLE 2 + + +/** + * \brief Compile-time version number + * + * The version number is of format xyyyzzzs where + * - x = major + * - yyy = minor + * - zzz = revision + * - s indicates stability: 0 = alpha, 1 = beta, 2 = stable + * + * The same xyyyzzz triplet is never reused with different stability levels. + * For example, if 5.1.0alpha has been released, there will never be 5.1.0beta + * or 5.1.0 stable. + * + * \note The version number of liblzma has nothing to with + * the version number of Igor Pavlov's LZMA SDK. + */ +#define LZMA_VERSION (LZMA_VERSION_MAJOR * UINT32_C(10000000) \ + + LZMA_VERSION_MINOR * UINT32_C(10000) \ + + LZMA_VERSION_PATCH * UINT32_C(10) \ + + LZMA_VERSION_STABILITY) + + +/* + * Macros to construct the compile-time version string + */ +#if LZMA_VERSION_STABILITY == LZMA_VERSION_STABILITY_ALPHA +# define LZMA_VERSION_STABILITY_STRING "alpha" +#elif LZMA_VERSION_STABILITY == LZMA_VERSION_STABILITY_BETA +# define LZMA_VERSION_STABILITY_STRING "beta" +#elif LZMA_VERSION_STABILITY == LZMA_VERSION_STABILITY_STABLE +# define LZMA_VERSION_STABILITY_STRING "" +#else +# error Incorrect LZMA_VERSION_STABILITY +#endif + +#define LZMA_VERSION_STRING_C_(major, minor, patch, stability, commit) \ + #major "." #minor "." #patch stability commit + +#define LZMA_VERSION_STRING_C(major, minor, patch, stability, commit) \ + LZMA_VERSION_STRING_C_(major, minor, patch, stability, commit) + + +/** + * \brief Compile-time version as a string + * + * This can be for example "4.999.5alpha", "4.999.8beta", or "5.0.0" (stable + * versions don't have any "stable" suffix). In future, a snapshot built + * from source code repository may include an additional suffix, for example + * "4.999.8beta-21-g1d92". The commit ID won't be available in numeric form + * in LZMA_VERSION macro. + */ +#define LZMA_VERSION_STRING LZMA_VERSION_STRING_C( \ + LZMA_VERSION_MAJOR, LZMA_VERSION_MINOR, \ + LZMA_VERSION_PATCH, LZMA_VERSION_STABILITY_STRING, \ + LZMA_VERSION_COMMIT) + + +/* #ifndef is needed for use with windres (MinGW-w64 or Cygwin). */ +#ifndef LZMA_H_INTERNAL_RC + +/** + * \brief Run-time version number as an integer + * + * This allows an application to compare if it was built against the same, + * older, or newer version of liblzma that is currently running. + * + * \return The value of LZMA_VERSION macro at the compile time of liblzma + */ +extern LZMA_API(uint32_t) lzma_version_number(void) + lzma_nothrow lzma_attr_const; + + +/** + * \brief Run-time version as a string + * + * This function may be useful to display which version of liblzma an + * application is currently using. + * + * \return Run-time version of liblzma + */ +extern LZMA_API(const char *) lzma_version_string(void) + lzma_nothrow lzma_attr_const; + +#endif diff --git a/vcpkg/installed/x64-osx/include/lzma/vli.h b/vcpkg/installed/x64-osx/include/lzma/vli.h new file mode 100644 index 0000000..6b04902 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/lzma/vli.h @@ -0,0 +1,166 @@ +/* SPDX-License-Identifier: 0BSD */ + +/** + * \file lzma/vli.h + * \brief Variable-length integer handling + * \note Never include this file directly. Use instead. + * + * In the .xz format, most integers are encoded in a variable-length + * representation, which is sometimes called little endian base-128 encoding. + * This saves space when smaller values are more likely than bigger values. + * + * The encoding scheme encodes seven bits to every byte, using minimum + * number of bytes required to represent the given value. Encodings that use + * non-minimum number of bytes are invalid, thus every integer has exactly + * one encoded representation. The maximum number of bits in a VLI is 63, + * thus the vli argument must be less than or equal to UINT64_MAX / 2. You + * should use LZMA_VLI_MAX for clarity. + */ + +/* + * Author: Lasse Collin + */ + +#ifndef LZMA_H_INTERNAL +# error Never include this file directly. Use instead. +#endif + + +/** + * \brief Maximum supported value of a variable-length integer + */ +#define LZMA_VLI_MAX (UINT64_MAX / 2) + +/** + * \brief VLI value to denote that the value is unknown + */ +#define LZMA_VLI_UNKNOWN UINT64_MAX + +/** + * \brief Maximum supported encoded length of variable length integers + */ +#define LZMA_VLI_BYTES_MAX 9 + +/** + * \brief VLI constant suffix + */ +#define LZMA_VLI_C(n) UINT64_C(n) + + +/** + * \brief Variable-length integer type + * + * Valid VLI values are in the range [0, LZMA_VLI_MAX]. Unknown value is + * indicated with LZMA_VLI_UNKNOWN, which is the maximum value of the + * underlying integer type. + * + * lzma_vli will be uint64_t for the foreseeable future. If a bigger size + * is needed in the future, it is guaranteed that 2 * LZMA_VLI_MAX will + * not overflow lzma_vli. This simplifies integer overflow detection. + */ +typedef uint64_t lzma_vli; + + +/** + * \brief Validate a variable-length integer + * + * This is useful to test that application has given acceptable values + * for example in the uncompressed_size and compressed_size variables. + * + * \return True if the integer is representable as a VLI or if it + * indicates an unknown value. False otherwise. + */ +#define lzma_vli_is_valid(vli) \ + ((vli) <= LZMA_VLI_MAX || (vli) == LZMA_VLI_UNKNOWN) + + +/** + * \brief Encode a variable-length integer + * + * This function has two modes: single-call and multi-call. Single-call mode + * encodes the whole integer at once; it is an error if the output buffer is + * too small. Multi-call mode saves the position in *vli_pos, and thus it is + * possible to continue encoding if the buffer becomes full before the whole + * integer has been encoded. + * + * \param vli Integer to be encoded + * \param[out] vli_pos How many VLI-encoded bytes have already been written + * out. When starting to encode a new integer in + * multi-call mode, *vli_pos must be set to zero. + * To use single-call encoding, set vli_pos to NULL. + * \param[out] out Beginning of the output buffer + * \param[out] out_pos The next byte will be written to out[*out_pos]. + * \param out_size Size of the out buffer; the first byte into + * which no data is written to is out[out_size]. + * + * \return Slightly different return values are used in multi-call and + * single-call modes. + * + * Single-call (vli_pos == NULL): + * - LZMA_OK: Integer successfully encoded. + * - LZMA_PROG_ERROR: Arguments are not sane. This can be due + * to too little output space; single-call mode doesn't use + * LZMA_BUF_ERROR, since the application should have checked + * the encoded size with lzma_vli_size(). + * + * Multi-call (vli_pos != NULL): + * - LZMA_OK: So far all OK, but the integer is not + * completely written out yet. + * - LZMA_STREAM_END: Integer successfully encoded. + * - LZMA_BUF_ERROR: No output space was provided. + * - LZMA_PROG_ERROR: Arguments are not sane. + */ +extern LZMA_API(lzma_ret) lzma_vli_encode(lzma_vli vli, size_t *vli_pos, + uint8_t *out, size_t *out_pos, size_t out_size) lzma_nothrow; + + +/** + * \brief Decode a variable-length integer + * + * Like lzma_vli_encode(), this function has single-call and multi-call modes. + * + * \param[out] vli Pointer to decoded integer. The decoder will + * initialize it to zero when *vli_pos == 0, so + * application isn't required to initialize *vli. + * \param[out] vli_pos How many bytes have already been decoded. When + * starting to decode a new integer in multi-call + * mode, *vli_pos must be initialized to zero. To + * use single-call decoding, set vli_pos to NULL. + * \param in Beginning of the input buffer + * \param[out] in_pos The next byte will be read from in[*in_pos]. + * \param in_size Size of the input buffer; the first byte that + * won't be read is in[in_size]. + * + * \return Slightly different return values are used in multi-call and + * single-call modes. + * + * Single-call (vli_pos == NULL): + * - LZMA_OK: Integer successfully decoded. + * - LZMA_DATA_ERROR: Integer is corrupt. This includes hitting + * the end of the input buffer before the whole integer was + * decoded; providing no input at all will use LZMA_DATA_ERROR. + * - LZMA_PROG_ERROR: Arguments are not sane. + * + * Multi-call (vli_pos != NULL): + * - LZMA_OK: So far all OK, but the integer is not + * completely decoded yet. + * - LZMA_STREAM_END: Integer successfully decoded. + * - LZMA_DATA_ERROR: Integer is corrupt. + * - LZMA_BUF_ERROR: No input was provided. + * - LZMA_PROG_ERROR: Arguments are not sane. + */ +extern LZMA_API(lzma_ret) lzma_vli_decode(lzma_vli *vli, size_t *vli_pos, + const uint8_t *in, size_t *in_pos, size_t in_size) + lzma_nothrow; + + +/** + * \brief Get the number of bytes required to encode a VLI + * + * \param vli Integer whose encoded size is to be determined + * + * \return Number of bytes on success (1-9). If vli isn't valid, + * zero is returned. + */ +extern LZMA_API(uint32_t) lzma_vli_size(lzma_vli vli) + lzma_nothrow lzma_attr_pure; diff --git a/vcpkg/installed/x64-osx/include/pcre2.h b/vcpkg/installed/x64-osx/include/pcre2.h new file mode 100644 index 0000000..02aefc6 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/pcre2.h @@ -0,0 +1,1007 @@ +/************************************************* +* Perl-Compatible Regular Expressions * +*************************************************/ + +/* This is the public header file for the PCRE library, second API, to be +#included by applications that call PCRE2 functions. + + Copyright (c) 2016-2024 University of Cambridge + +----------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the University of Cambridge nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +----------------------------------------------------------------------------- +*/ + +#ifndef PCRE2_H_IDEMPOTENT_GUARD +#define PCRE2_H_IDEMPOTENT_GUARD + +/* The current PCRE version information. */ + +#define PCRE2_MAJOR 10 +#define PCRE2_MINOR 43 +#define PCRE2_PRERELEASE +#define PCRE2_DATE 2024-02-16 + +/* When an application links to a PCRE DLL in Windows, the symbols that are +imported have to be identified as such. When building PCRE2, the appropriate +export setting is defined in pcre2_internal.h, which includes this file. So we +don't change existing definitions of PCRE2_EXP_DECL. */ + +#if defined(_WIN32) && !1 +# ifndef PCRE2_EXP_DECL +# define PCRE2_EXP_DECL extern __declspec(dllimport) +# endif +#endif + +/* By default, we use the standard "extern" declarations. */ + +#ifndef PCRE2_EXP_DECL +# ifdef __cplusplus +# define PCRE2_EXP_DECL extern "C" +# else +# define PCRE2_EXP_DECL extern +# endif +#endif + +/* When compiling with the MSVC compiler, it is sometimes necessary to include +a "calling convention" before exported function names. (This is secondhand +information; I know nothing about MSVC myself). For example, something like + + void __cdecl function(....) + +might be needed. In order so make this easy, all the exported functions have +PCRE2_CALL_CONVENTION just before their names. It is rarely needed; if not +set, we ensure here that it has no effect. */ + +#ifndef PCRE2_CALL_CONVENTION +#define PCRE2_CALL_CONVENTION +#endif + +/* Have to include limits.h, stdlib.h, and inttypes.h to ensure that size_t and +uint8_t, UCHAR_MAX, etc are defined. Some systems that do have inttypes.h do +not have stdint.h, which is why we use inttypes.h, which according to the C +standard is a superset of stdint.h. If inttypes.h is not available the build +will break and the relevant values must be provided by some other means. */ + +#include +#include +#include + +/* Allow for C++ users compiling this directly. */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* The following option bits can be passed to pcre2_compile(), pcre2_match(), +or pcre2_dfa_match(). PCRE2_NO_UTF_CHECK affects only the function to which it +is passed. Put these bits at the most significant end of the options word so +others can be added next to them */ + +#define PCRE2_ANCHORED 0x80000000u +#define PCRE2_NO_UTF_CHECK 0x40000000u +#define PCRE2_ENDANCHORED 0x20000000u + +/* The following option bits can be passed only to pcre2_compile(). However, +they may affect compilation, JIT compilation, and/or interpretive execution. +The following tags indicate which: + +C alters what is compiled by pcre2_compile() +J alters what is compiled by pcre2_jit_compile() +M is inspected during pcre2_match() execution +D is inspected during pcre2_dfa_match() execution +*/ + +#define PCRE2_ALLOW_EMPTY_CLASS 0x00000001u /* C */ +#define PCRE2_ALT_BSUX 0x00000002u /* C */ +#define PCRE2_AUTO_CALLOUT 0x00000004u /* C */ +#define PCRE2_CASELESS 0x00000008u /* C */ +#define PCRE2_DOLLAR_ENDONLY 0x00000010u /* J M D */ +#define PCRE2_DOTALL 0x00000020u /* C */ +#define PCRE2_DUPNAMES 0x00000040u /* C */ +#define PCRE2_EXTENDED 0x00000080u /* C */ +#define PCRE2_FIRSTLINE 0x00000100u /* J M D */ +#define PCRE2_MATCH_UNSET_BACKREF 0x00000200u /* C J M */ +#define PCRE2_MULTILINE 0x00000400u /* C */ +#define PCRE2_NEVER_UCP 0x00000800u /* C */ +#define PCRE2_NEVER_UTF 0x00001000u /* C */ +#define PCRE2_NO_AUTO_CAPTURE 0x00002000u /* C */ +#define PCRE2_NO_AUTO_POSSESS 0x00004000u /* C */ +#define PCRE2_NO_DOTSTAR_ANCHOR 0x00008000u /* C */ +#define PCRE2_NO_START_OPTIMIZE 0x00010000u /* J M D */ +#define PCRE2_UCP 0x00020000u /* C J M D */ +#define PCRE2_UNGREEDY 0x00040000u /* C */ +#define PCRE2_UTF 0x00080000u /* C J M D */ +#define PCRE2_NEVER_BACKSLASH_C 0x00100000u /* C */ +#define PCRE2_ALT_CIRCUMFLEX 0x00200000u /* J M D */ +#define PCRE2_ALT_VERBNAMES 0x00400000u /* C */ +#define PCRE2_USE_OFFSET_LIMIT 0x00800000u /* J M D */ +#define PCRE2_EXTENDED_MORE 0x01000000u /* C */ +#define PCRE2_LITERAL 0x02000000u /* C */ +#define PCRE2_MATCH_INVALID_UTF 0x04000000u /* J M D */ + +/* An additional compile options word is available in the compile context. */ + +#define PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES 0x00000001u /* C */ +#define PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL 0x00000002u /* C */ +#define PCRE2_EXTRA_MATCH_WORD 0x00000004u /* C */ +#define PCRE2_EXTRA_MATCH_LINE 0x00000008u /* C */ +#define PCRE2_EXTRA_ESCAPED_CR_IS_LF 0x00000010u /* C */ +#define PCRE2_EXTRA_ALT_BSUX 0x00000020u /* C */ +#define PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK 0x00000040u /* C */ +#define PCRE2_EXTRA_CASELESS_RESTRICT 0x00000080u /* C */ +#define PCRE2_EXTRA_ASCII_BSD 0x00000100u /* C */ +#define PCRE2_EXTRA_ASCII_BSS 0x00000200u /* C */ +#define PCRE2_EXTRA_ASCII_BSW 0x00000400u /* C */ +#define PCRE2_EXTRA_ASCII_POSIX 0x00000800u /* C */ +#define PCRE2_EXTRA_ASCII_DIGIT 0x00001000u /* C */ + +/* These are for pcre2_jit_compile(). */ + +#define PCRE2_JIT_COMPLETE 0x00000001u /* For full matching */ +#define PCRE2_JIT_PARTIAL_SOFT 0x00000002u +#define PCRE2_JIT_PARTIAL_HARD 0x00000004u +#define PCRE2_JIT_INVALID_UTF 0x00000100u + +/* These are for pcre2_match(), pcre2_dfa_match(), pcre2_jit_match(), and +pcre2_substitute(). Some are allowed only for one of the functions, and in +these cases it is noted below. Note that PCRE2_ANCHORED, PCRE2_ENDANCHORED and +PCRE2_NO_UTF_CHECK can also be passed to these functions (though +pcre2_jit_match() ignores the latter since it bypasses all sanity checks). */ + +#define PCRE2_NOTBOL 0x00000001u +#define PCRE2_NOTEOL 0x00000002u +#define PCRE2_NOTEMPTY 0x00000004u /* ) These two must be kept */ +#define PCRE2_NOTEMPTY_ATSTART 0x00000008u /* ) adjacent to each other. */ +#define PCRE2_PARTIAL_SOFT 0x00000010u +#define PCRE2_PARTIAL_HARD 0x00000020u +#define PCRE2_DFA_RESTART 0x00000040u /* pcre2_dfa_match() only */ +#define PCRE2_DFA_SHORTEST 0x00000080u /* pcre2_dfa_match() only */ +#define PCRE2_SUBSTITUTE_GLOBAL 0x00000100u /* pcre2_substitute() only */ +#define PCRE2_SUBSTITUTE_EXTENDED 0x00000200u /* pcre2_substitute() only */ +#define PCRE2_SUBSTITUTE_UNSET_EMPTY 0x00000400u /* pcre2_substitute() only */ +#define PCRE2_SUBSTITUTE_UNKNOWN_UNSET 0x00000800u /* pcre2_substitute() only */ +#define PCRE2_SUBSTITUTE_OVERFLOW_LENGTH 0x00001000u /* pcre2_substitute() only */ +#define PCRE2_NO_JIT 0x00002000u /* not for pcre2_dfa_match() */ +#define PCRE2_COPY_MATCHED_SUBJECT 0x00004000u +#define PCRE2_SUBSTITUTE_LITERAL 0x00008000u /* pcre2_substitute() only */ +#define PCRE2_SUBSTITUTE_MATCHED 0x00010000u /* pcre2_substitute() only */ +#define PCRE2_SUBSTITUTE_REPLACEMENT_ONLY 0x00020000u /* pcre2_substitute() only */ +#define PCRE2_DISABLE_RECURSELOOP_CHECK 0x00040000u /* not for pcre2_dfa_match() or pcre2_jit_match() */ + +/* Options for pcre2_pattern_convert(). */ + +#define PCRE2_CONVERT_UTF 0x00000001u +#define PCRE2_CONVERT_NO_UTF_CHECK 0x00000002u +#define PCRE2_CONVERT_POSIX_BASIC 0x00000004u +#define PCRE2_CONVERT_POSIX_EXTENDED 0x00000008u +#define PCRE2_CONVERT_GLOB 0x00000010u +#define PCRE2_CONVERT_GLOB_NO_WILD_SEPARATOR 0x00000030u +#define PCRE2_CONVERT_GLOB_NO_STARSTAR 0x00000050u + +/* Newline and \R settings, for use in compile contexts. The newline values +must be kept in step with values set in config.h and both sets must all be +greater than zero. */ + +#define PCRE2_NEWLINE_CR 1 +#define PCRE2_NEWLINE_LF 2 +#define PCRE2_NEWLINE_CRLF 3 +#define PCRE2_NEWLINE_ANY 4 +#define PCRE2_NEWLINE_ANYCRLF 5 +#define PCRE2_NEWLINE_NUL 6 + +#define PCRE2_BSR_UNICODE 1 +#define PCRE2_BSR_ANYCRLF 2 + +/* Error codes for pcre2_compile(). Some of these are also used by +pcre2_pattern_convert(). */ + +#define PCRE2_ERROR_END_BACKSLASH 101 +#define PCRE2_ERROR_END_BACKSLASH_C 102 +#define PCRE2_ERROR_UNKNOWN_ESCAPE 103 +#define PCRE2_ERROR_QUANTIFIER_OUT_OF_ORDER 104 +#define PCRE2_ERROR_QUANTIFIER_TOO_BIG 105 +#define PCRE2_ERROR_MISSING_SQUARE_BRACKET 106 +#define PCRE2_ERROR_ESCAPE_INVALID_IN_CLASS 107 +#define PCRE2_ERROR_CLASS_RANGE_ORDER 108 +#define PCRE2_ERROR_QUANTIFIER_INVALID 109 +#define PCRE2_ERROR_INTERNAL_UNEXPECTED_REPEAT 110 +#define PCRE2_ERROR_INVALID_AFTER_PARENS_QUERY 111 +#define PCRE2_ERROR_POSIX_CLASS_NOT_IN_CLASS 112 +#define PCRE2_ERROR_POSIX_NO_SUPPORT_COLLATING 113 +#define PCRE2_ERROR_MISSING_CLOSING_PARENTHESIS 114 +#define PCRE2_ERROR_BAD_SUBPATTERN_REFERENCE 115 +#define PCRE2_ERROR_NULL_PATTERN 116 +#define PCRE2_ERROR_BAD_OPTIONS 117 +#define PCRE2_ERROR_MISSING_COMMENT_CLOSING 118 +#define PCRE2_ERROR_PARENTHESES_NEST_TOO_DEEP 119 +#define PCRE2_ERROR_PATTERN_TOO_LARGE 120 +#define PCRE2_ERROR_HEAP_FAILED 121 +#define PCRE2_ERROR_UNMATCHED_CLOSING_PARENTHESIS 122 +#define PCRE2_ERROR_INTERNAL_CODE_OVERFLOW 123 +#define PCRE2_ERROR_MISSING_CONDITION_CLOSING 124 +#define PCRE2_ERROR_LOOKBEHIND_NOT_FIXED_LENGTH 125 +#define PCRE2_ERROR_ZERO_RELATIVE_REFERENCE 126 +#define PCRE2_ERROR_TOO_MANY_CONDITION_BRANCHES 127 +#define PCRE2_ERROR_CONDITION_ASSERTION_EXPECTED 128 +#define PCRE2_ERROR_BAD_RELATIVE_REFERENCE 129 +#define PCRE2_ERROR_UNKNOWN_POSIX_CLASS 130 +#define PCRE2_ERROR_INTERNAL_STUDY_ERROR 131 +#define PCRE2_ERROR_UNICODE_NOT_SUPPORTED 132 +#define PCRE2_ERROR_PARENTHESES_STACK_CHECK 133 +#define PCRE2_ERROR_CODE_POINT_TOO_BIG 134 +#define PCRE2_ERROR_LOOKBEHIND_TOO_COMPLICATED 135 +#define PCRE2_ERROR_LOOKBEHIND_INVALID_BACKSLASH_C 136 +#define PCRE2_ERROR_UNSUPPORTED_ESCAPE_SEQUENCE 137 +#define PCRE2_ERROR_CALLOUT_NUMBER_TOO_BIG 138 +#define PCRE2_ERROR_MISSING_CALLOUT_CLOSING 139 +#define PCRE2_ERROR_ESCAPE_INVALID_IN_VERB 140 +#define PCRE2_ERROR_UNRECOGNIZED_AFTER_QUERY_P 141 +#define PCRE2_ERROR_MISSING_NAME_TERMINATOR 142 +#define PCRE2_ERROR_DUPLICATE_SUBPATTERN_NAME 143 +#define PCRE2_ERROR_INVALID_SUBPATTERN_NAME 144 +#define PCRE2_ERROR_UNICODE_PROPERTIES_UNAVAILABLE 145 +#define PCRE2_ERROR_MALFORMED_UNICODE_PROPERTY 146 +#define PCRE2_ERROR_UNKNOWN_UNICODE_PROPERTY 147 +#define PCRE2_ERROR_SUBPATTERN_NAME_TOO_LONG 148 +#define PCRE2_ERROR_TOO_MANY_NAMED_SUBPATTERNS 149 +#define PCRE2_ERROR_CLASS_INVALID_RANGE 150 +#define PCRE2_ERROR_OCTAL_BYTE_TOO_BIG 151 +#define PCRE2_ERROR_INTERNAL_OVERRAN_WORKSPACE 152 +#define PCRE2_ERROR_INTERNAL_MISSING_SUBPATTERN 153 +#define PCRE2_ERROR_DEFINE_TOO_MANY_BRANCHES 154 +#define PCRE2_ERROR_BACKSLASH_O_MISSING_BRACE 155 +#define PCRE2_ERROR_INTERNAL_UNKNOWN_NEWLINE 156 +#define PCRE2_ERROR_BACKSLASH_G_SYNTAX 157 +#define PCRE2_ERROR_PARENS_QUERY_R_MISSING_CLOSING 158 +/* Error 159 is obsolete and should now never occur */ +#define PCRE2_ERROR_VERB_ARGUMENT_NOT_ALLOWED 159 +#define PCRE2_ERROR_VERB_UNKNOWN 160 +#define PCRE2_ERROR_SUBPATTERN_NUMBER_TOO_BIG 161 +#define PCRE2_ERROR_SUBPATTERN_NAME_EXPECTED 162 +#define PCRE2_ERROR_INTERNAL_PARSED_OVERFLOW 163 +#define PCRE2_ERROR_INVALID_OCTAL 164 +#define PCRE2_ERROR_SUBPATTERN_NAMES_MISMATCH 165 +#define PCRE2_ERROR_MARK_MISSING_ARGUMENT 166 +#define PCRE2_ERROR_INVALID_HEXADECIMAL 167 +#define PCRE2_ERROR_BACKSLASH_C_SYNTAX 168 +#define PCRE2_ERROR_BACKSLASH_K_SYNTAX 169 +#define PCRE2_ERROR_INTERNAL_BAD_CODE_LOOKBEHINDS 170 +#define PCRE2_ERROR_BACKSLASH_N_IN_CLASS 171 +#define PCRE2_ERROR_CALLOUT_STRING_TOO_LONG 172 +#define PCRE2_ERROR_UNICODE_DISALLOWED_CODE_POINT 173 +#define PCRE2_ERROR_UTF_IS_DISABLED 174 +#define PCRE2_ERROR_UCP_IS_DISABLED 175 +#define PCRE2_ERROR_VERB_NAME_TOO_LONG 176 +#define PCRE2_ERROR_BACKSLASH_U_CODE_POINT_TOO_BIG 177 +#define PCRE2_ERROR_MISSING_OCTAL_OR_HEX_DIGITS 178 +#define PCRE2_ERROR_VERSION_CONDITION_SYNTAX 179 +#define PCRE2_ERROR_INTERNAL_BAD_CODE_AUTO_POSSESS 180 +#define PCRE2_ERROR_CALLOUT_NO_STRING_DELIMITER 181 +#define PCRE2_ERROR_CALLOUT_BAD_STRING_DELIMITER 182 +#define PCRE2_ERROR_BACKSLASH_C_CALLER_DISABLED 183 +#define PCRE2_ERROR_QUERY_BARJX_NEST_TOO_DEEP 184 +#define PCRE2_ERROR_BACKSLASH_C_LIBRARY_DISABLED 185 +#define PCRE2_ERROR_PATTERN_TOO_COMPLICATED 186 +#define PCRE2_ERROR_LOOKBEHIND_TOO_LONG 187 +#define PCRE2_ERROR_PATTERN_STRING_TOO_LONG 188 +#define PCRE2_ERROR_INTERNAL_BAD_CODE 189 +#define PCRE2_ERROR_INTERNAL_BAD_CODE_IN_SKIP 190 +#define PCRE2_ERROR_NO_SURROGATES_IN_UTF16 191 +#define PCRE2_ERROR_BAD_LITERAL_OPTIONS 192 +#define PCRE2_ERROR_SUPPORTED_ONLY_IN_UNICODE 193 +#define PCRE2_ERROR_INVALID_HYPHEN_IN_OPTIONS 194 +#define PCRE2_ERROR_ALPHA_ASSERTION_UNKNOWN 195 +#define PCRE2_ERROR_SCRIPT_RUN_NOT_AVAILABLE 196 +#define PCRE2_ERROR_TOO_MANY_CAPTURES 197 +#define PCRE2_ERROR_CONDITION_ATOMIC_ASSERTION_EXPECTED 198 +#define PCRE2_ERROR_BACKSLASH_K_IN_LOOKAROUND 199 + + +/* "Expected" matching error codes: no match and partial match. */ + +#define PCRE2_ERROR_NOMATCH (-1) +#define PCRE2_ERROR_PARTIAL (-2) + +/* Error codes for UTF-8 validity checks */ + +#define PCRE2_ERROR_UTF8_ERR1 (-3) +#define PCRE2_ERROR_UTF8_ERR2 (-4) +#define PCRE2_ERROR_UTF8_ERR3 (-5) +#define PCRE2_ERROR_UTF8_ERR4 (-6) +#define PCRE2_ERROR_UTF8_ERR5 (-7) +#define PCRE2_ERROR_UTF8_ERR6 (-8) +#define PCRE2_ERROR_UTF8_ERR7 (-9) +#define PCRE2_ERROR_UTF8_ERR8 (-10) +#define PCRE2_ERROR_UTF8_ERR9 (-11) +#define PCRE2_ERROR_UTF8_ERR10 (-12) +#define PCRE2_ERROR_UTF8_ERR11 (-13) +#define PCRE2_ERROR_UTF8_ERR12 (-14) +#define PCRE2_ERROR_UTF8_ERR13 (-15) +#define PCRE2_ERROR_UTF8_ERR14 (-16) +#define PCRE2_ERROR_UTF8_ERR15 (-17) +#define PCRE2_ERROR_UTF8_ERR16 (-18) +#define PCRE2_ERROR_UTF8_ERR17 (-19) +#define PCRE2_ERROR_UTF8_ERR18 (-20) +#define PCRE2_ERROR_UTF8_ERR19 (-21) +#define PCRE2_ERROR_UTF8_ERR20 (-22) +#define PCRE2_ERROR_UTF8_ERR21 (-23) + +/* Error codes for UTF-16 validity checks */ + +#define PCRE2_ERROR_UTF16_ERR1 (-24) +#define PCRE2_ERROR_UTF16_ERR2 (-25) +#define PCRE2_ERROR_UTF16_ERR3 (-26) + +/* Error codes for UTF-32 validity checks */ + +#define PCRE2_ERROR_UTF32_ERR1 (-27) +#define PCRE2_ERROR_UTF32_ERR2 (-28) + +/* Miscellaneous error codes for pcre2[_dfa]_match(), substring extraction +functions, context functions, and serializing functions. They are in numerical +order. Originally they were in alphabetical order too, but now that PCRE2 is +released, the numbers must not be changed. */ + +#define PCRE2_ERROR_BADDATA (-29) +#define PCRE2_ERROR_MIXEDTABLES (-30) /* Name was changed */ +#define PCRE2_ERROR_BADMAGIC (-31) +#define PCRE2_ERROR_BADMODE (-32) +#define PCRE2_ERROR_BADOFFSET (-33) +#define PCRE2_ERROR_BADOPTION (-34) +#define PCRE2_ERROR_BADREPLACEMENT (-35) +#define PCRE2_ERROR_BADUTFOFFSET (-36) +#define PCRE2_ERROR_CALLOUT (-37) /* Never used by PCRE2 itself */ +#define PCRE2_ERROR_DFA_BADRESTART (-38) +#define PCRE2_ERROR_DFA_RECURSE (-39) +#define PCRE2_ERROR_DFA_UCOND (-40) +#define PCRE2_ERROR_DFA_UFUNC (-41) +#define PCRE2_ERROR_DFA_UITEM (-42) +#define PCRE2_ERROR_DFA_WSSIZE (-43) +#define PCRE2_ERROR_INTERNAL (-44) +#define PCRE2_ERROR_JIT_BADOPTION (-45) +#define PCRE2_ERROR_JIT_STACKLIMIT (-46) +#define PCRE2_ERROR_MATCHLIMIT (-47) +#define PCRE2_ERROR_NOMEMORY (-48) +#define PCRE2_ERROR_NOSUBSTRING (-49) +#define PCRE2_ERROR_NOUNIQUESUBSTRING (-50) +#define PCRE2_ERROR_NULL (-51) +#define PCRE2_ERROR_RECURSELOOP (-52) +#define PCRE2_ERROR_DEPTHLIMIT (-53) +#define PCRE2_ERROR_RECURSIONLIMIT (-53) /* Obsolete synonym */ +#define PCRE2_ERROR_UNAVAILABLE (-54) +#define PCRE2_ERROR_UNSET (-55) +#define PCRE2_ERROR_BADOFFSETLIMIT (-56) +#define PCRE2_ERROR_BADREPESCAPE (-57) +#define PCRE2_ERROR_REPMISSINGBRACE (-58) +#define PCRE2_ERROR_BADSUBSTITUTION (-59) +#define PCRE2_ERROR_BADSUBSPATTERN (-60) +#define PCRE2_ERROR_TOOMANYREPLACE (-61) +#define PCRE2_ERROR_BADSERIALIZEDDATA (-62) +#define PCRE2_ERROR_HEAPLIMIT (-63) +#define PCRE2_ERROR_CONVERT_SYNTAX (-64) +#define PCRE2_ERROR_INTERNAL_DUPMATCH (-65) +#define PCRE2_ERROR_DFA_UINVALID_UTF (-66) +#define PCRE2_ERROR_INVALIDOFFSET (-67) + + +/* Request types for pcre2_pattern_info() */ + +#define PCRE2_INFO_ALLOPTIONS 0 +#define PCRE2_INFO_ARGOPTIONS 1 +#define PCRE2_INFO_BACKREFMAX 2 +#define PCRE2_INFO_BSR 3 +#define PCRE2_INFO_CAPTURECOUNT 4 +#define PCRE2_INFO_FIRSTCODEUNIT 5 +#define PCRE2_INFO_FIRSTCODETYPE 6 +#define PCRE2_INFO_FIRSTBITMAP 7 +#define PCRE2_INFO_HASCRORLF 8 +#define PCRE2_INFO_JCHANGED 9 +#define PCRE2_INFO_JITSIZE 10 +#define PCRE2_INFO_LASTCODEUNIT 11 +#define PCRE2_INFO_LASTCODETYPE 12 +#define PCRE2_INFO_MATCHEMPTY 13 +#define PCRE2_INFO_MATCHLIMIT 14 +#define PCRE2_INFO_MAXLOOKBEHIND 15 +#define PCRE2_INFO_MINLENGTH 16 +#define PCRE2_INFO_NAMECOUNT 17 +#define PCRE2_INFO_NAMEENTRYSIZE 18 +#define PCRE2_INFO_NAMETABLE 19 +#define PCRE2_INFO_NEWLINE 20 +#define PCRE2_INFO_DEPTHLIMIT 21 +#define PCRE2_INFO_RECURSIONLIMIT 21 /* Obsolete synonym */ +#define PCRE2_INFO_SIZE 22 +#define PCRE2_INFO_HASBACKSLASHC 23 +#define PCRE2_INFO_FRAMESIZE 24 +#define PCRE2_INFO_HEAPLIMIT 25 +#define PCRE2_INFO_EXTRAOPTIONS 26 + +/* Request types for pcre2_config(). */ + +#define PCRE2_CONFIG_BSR 0 +#define PCRE2_CONFIG_JIT 1 +#define PCRE2_CONFIG_JITTARGET 2 +#define PCRE2_CONFIG_LINKSIZE 3 +#define PCRE2_CONFIG_MATCHLIMIT 4 +#define PCRE2_CONFIG_NEWLINE 5 +#define PCRE2_CONFIG_PARENSLIMIT 6 +#define PCRE2_CONFIG_DEPTHLIMIT 7 +#define PCRE2_CONFIG_RECURSIONLIMIT 7 /* Obsolete synonym */ +#define PCRE2_CONFIG_STACKRECURSE 8 /* Obsolete */ +#define PCRE2_CONFIG_UNICODE 9 +#define PCRE2_CONFIG_UNICODE_VERSION 10 +#define PCRE2_CONFIG_VERSION 11 +#define PCRE2_CONFIG_HEAPLIMIT 12 +#define PCRE2_CONFIG_NEVER_BACKSLASH_C 13 +#define PCRE2_CONFIG_COMPILED_WIDTHS 14 +#define PCRE2_CONFIG_TABLES_LENGTH 15 + + +/* Types for code units in patterns and subject strings. */ + +typedef uint8_t PCRE2_UCHAR8; +typedef uint16_t PCRE2_UCHAR16; +typedef uint32_t PCRE2_UCHAR32; + +typedef const PCRE2_UCHAR8 *PCRE2_SPTR8; +typedef const PCRE2_UCHAR16 *PCRE2_SPTR16; +typedef const PCRE2_UCHAR32 *PCRE2_SPTR32; + +/* The PCRE2_SIZE type is used for all string lengths and offsets in PCRE2, +including pattern offsets for errors and subject offsets after a match. We +define special values to indicate zero-terminated strings and unset offsets in +the offset vector (ovector). */ + +#define PCRE2_SIZE size_t +#define PCRE2_SIZE_MAX SIZE_MAX +#define PCRE2_ZERO_TERMINATED (~(PCRE2_SIZE)0) +#define PCRE2_UNSET (~(PCRE2_SIZE)0) + +/* Generic types for opaque structures and JIT callback functions. These +declarations are defined in a macro that is expanded for each width later. */ + +#define PCRE2_TYPES_LIST \ +struct pcre2_real_general_context; \ +typedef struct pcre2_real_general_context pcre2_general_context; \ +\ +struct pcre2_real_compile_context; \ +typedef struct pcre2_real_compile_context pcre2_compile_context; \ +\ +struct pcre2_real_match_context; \ +typedef struct pcre2_real_match_context pcre2_match_context; \ +\ +struct pcre2_real_convert_context; \ +typedef struct pcre2_real_convert_context pcre2_convert_context; \ +\ +struct pcre2_real_code; \ +typedef struct pcre2_real_code pcre2_code; \ +\ +struct pcre2_real_match_data; \ +typedef struct pcre2_real_match_data pcre2_match_data; \ +\ +struct pcre2_real_jit_stack; \ +typedef struct pcre2_real_jit_stack pcre2_jit_stack; \ +\ +typedef pcre2_jit_stack *(*pcre2_jit_callback)(void *); + + +/* The structures for passing out data via callout functions. We use structures +so that new fields can be added on the end in future versions, without changing +the API of the function, thereby allowing old clients to work without +modification. Define the generic versions in a macro; the width-specific +versions are generated from this macro below. */ + +/* Flags for the callout_flags field. These are cleared after a callout. */ + +#define PCRE2_CALLOUT_STARTMATCH 0x00000001u /* Set for each bumpalong */ +#define PCRE2_CALLOUT_BACKTRACK 0x00000002u /* Set after a backtrack */ + +#define PCRE2_STRUCTURE_LIST \ +typedef struct pcre2_callout_block { \ + uint32_t version; /* Identifies version of block */ \ + /* ------------------------ Version 0 ------------------------------- */ \ + uint32_t callout_number; /* Number compiled into pattern */ \ + uint32_t capture_top; /* Max current capture */ \ + uint32_t capture_last; /* Most recently closed capture */ \ + PCRE2_SIZE *offset_vector; /* The offset vector */ \ + PCRE2_SPTR mark; /* Pointer to current mark or NULL */ \ + PCRE2_SPTR subject; /* The subject being matched */ \ + PCRE2_SIZE subject_length; /* The length of the subject */ \ + PCRE2_SIZE start_match; /* Offset to start of this match attempt */ \ + PCRE2_SIZE current_position; /* Where we currently are in the subject */ \ + PCRE2_SIZE pattern_position; /* Offset to next item in the pattern */ \ + PCRE2_SIZE next_item_length; /* Length of next item in the pattern */ \ + /* ------------------- Added for Version 1 -------------------------- */ \ + PCRE2_SIZE callout_string_offset; /* Offset to string within pattern */ \ + PCRE2_SIZE callout_string_length; /* Length of string compiled into pattern */ \ + PCRE2_SPTR callout_string; /* String compiled into pattern */ \ + /* ------------------- Added for Version 2 -------------------------- */ \ + uint32_t callout_flags; /* See above for list */ \ + /* ------------------------------------------------------------------ */ \ +} pcre2_callout_block; \ +\ +typedef struct pcre2_callout_enumerate_block { \ + uint32_t version; /* Identifies version of block */ \ + /* ------------------------ Version 0 ------------------------------- */ \ + PCRE2_SIZE pattern_position; /* Offset to next item in the pattern */ \ + PCRE2_SIZE next_item_length; /* Length of next item in the pattern */ \ + uint32_t callout_number; /* Number compiled into pattern */ \ + PCRE2_SIZE callout_string_offset; /* Offset to string within pattern */ \ + PCRE2_SIZE callout_string_length; /* Length of string compiled into pattern */ \ + PCRE2_SPTR callout_string; /* String compiled into pattern */ \ + /* ------------------------------------------------------------------ */ \ +} pcre2_callout_enumerate_block; \ +\ +typedef struct pcre2_substitute_callout_block { \ + uint32_t version; /* Identifies version of block */ \ + /* ------------------------ Version 0 ------------------------------- */ \ + PCRE2_SPTR input; /* Pointer to input subject string */ \ + PCRE2_SPTR output; /* Pointer to output buffer */ \ + PCRE2_SIZE output_offsets[2]; /* Changed portion of the output */ \ + PCRE2_SIZE *ovector; /* Pointer to current ovector */ \ + uint32_t oveccount; /* Count of pairs set in ovector */ \ + uint32_t subscount; /* Substitution number */ \ + /* ------------------------------------------------------------------ */ \ +} pcre2_substitute_callout_block; + + +/* List the generic forms of all other functions in macros, which will be +expanded for each width below. Start with functions that give general +information. */ + +#define PCRE2_GENERAL_INFO_FUNCTIONS \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION pcre2_config(uint32_t, void *); + + +/* Functions for manipulating contexts. */ + +#define PCRE2_GENERAL_CONTEXT_FUNCTIONS \ +PCRE2_EXP_DECL pcre2_general_context *PCRE2_CALL_CONVENTION \ + pcre2_general_context_copy(pcre2_general_context *); \ +PCRE2_EXP_DECL pcre2_general_context *PCRE2_CALL_CONVENTION \ + pcre2_general_context_create(void *(*)(size_t, void *), \ + void (*)(void *, void *), void *); \ +PCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \ + pcre2_general_context_free(pcre2_general_context *); + +#define PCRE2_COMPILE_CONTEXT_FUNCTIONS \ +PCRE2_EXP_DECL pcre2_compile_context *PCRE2_CALL_CONVENTION \ + pcre2_compile_context_copy(pcre2_compile_context *); \ +PCRE2_EXP_DECL pcre2_compile_context *PCRE2_CALL_CONVENTION \ + pcre2_compile_context_create(pcre2_general_context *);\ +PCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \ + pcre2_compile_context_free(pcre2_compile_context *); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_bsr(pcre2_compile_context *, uint32_t); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_character_tables(pcre2_compile_context *, const uint8_t *); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_compile_extra_options(pcre2_compile_context *, uint32_t); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_max_pattern_length(pcre2_compile_context *, PCRE2_SIZE); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_max_varlookbehind(pcre2_compile_context *, uint32_t); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_newline(pcre2_compile_context *, uint32_t); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_parens_nest_limit(pcre2_compile_context *, uint32_t); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_compile_recursion_guard(pcre2_compile_context *, \ + int (*)(uint32_t, void *), void *); + +#define PCRE2_MATCH_CONTEXT_FUNCTIONS \ +PCRE2_EXP_DECL pcre2_match_context *PCRE2_CALL_CONVENTION \ + pcre2_match_context_copy(pcre2_match_context *); \ +PCRE2_EXP_DECL pcre2_match_context *PCRE2_CALL_CONVENTION \ + pcre2_match_context_create(pcre2_general_context *); \ +PCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \ + pcre2_match_context_free(pcre2_match_context *); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_callout(pcre2_match_context *, \ + int (*)(pcre2_callout_block *, void *), void *); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_substitute_callout(pcre2_match_context *, \ + int (*)(pcre2_substitute_callout_block *, void *), void *); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_depth_limit(pcre2_match_context *, uint32_t); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_heap_limit(pcre2_match_context *, uint32_t); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_match_limit(pcre2_match_context *, uint32_t); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_offset_limit(pcre2_match_context *, PCRE2_SIZE); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_recursion_limit(pcre2_match_context *, uint32_t); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_recursion_memory_management(pcre2_match_context *, \ + void *(*)(size_t, void *), void (*)(void *, void *), void *); + +#define PCRE2_CONVERT_CONTEXT_FUNCTIONS \ +PCRE2_EXP_DECL pcre2_convert_context *PCRE2_CALL_CONVENTION \ + pcre2_convert_context_copy(pcre2_convert_context *); \ +PCRE2_EXP_DECL pcre2_convert_context *PCRE2_CALL_CONVENTION \ + pcre2_convert_context_create(pcre2_general_context *); \ +PCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \ + pcre2_convert_context_free(pcre2_convert_context *); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_glob_escape(pcre2_convert_context *, uint32_t); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_glob_separator(pcre2_convert_context *, uint32_t); + + +/* Functions concerned with compiling a pattern to PCRE internal code. */ + +#define PCRE2_COMPILE_FUNCTIONS \ +PCRE2_EXP_DECL pcre2_code *PCRE2_CALL_CONVENTION \ + pcre2_compile(PCRE2_SPTR, PCRE2_SIZE, uint32_t, int *, PCRE2_SIZE *, \ + pcre2_compile_context *); \ +PCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \ + pcre2_code_free(pcre2_code *); \ +PCRE2_EXP_DECL pcre2_code *PCRE2_CALL_CONVENTION \ + pcre2_code_copy(const pcre2_code *); \ +PCRE2_EXP_DECL pcre2_code *PCRE2_CALL_CONVENTION \ + pcre2_code_copy_with_tables(const pcre2_code *); + + +/* Functions that give information about a compiled pattern. */ + +#define PCRE2_PATTERN_INFO_FUNCTIONS \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_pattern_info(const pcre2_code *, uint32_t, void *); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_callout_enumerate(const pcre2_code *, \ + int (*)(pcre2_callout_enumerate_block *, void *), void *); + + +/* Functions for running a match and inspecting the result. */ + +#define PCRE2_MATCH_FUNCTIONS \ +PCRE2_EXP_DECL pcre2_match_data *PCRE2_CALL_CONVENTION \ + pcre2_match_data_create(uint32_t, pcre2_general_context *); \ +PCRE2_EXP_DECL pcre2_match_data *PCRE2_CALL_CONVENTION \ + pcre2_match_data_create_from_pattern(const pcre2_code *, \ + pcre2_general_context *); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_dfa_match(const pcre2_code *, PCRE2_SPTR, PCRE2_SIZE, PCRE2_SIZE, \ + uint32_t, pcre2_match_data *, pcre2_match_context *, int *, PCRE2_SIZE); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_match(const pcre2_code *, PCRE2_SPTR, PCRE2_SIZE, PCRE2_SIZE, \ + uint32_t, pcre2_match_data *, pcre2_match_context *); \ +PCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \ + pcre2_match_data_free(pcre2_match_data *); \ +PCRE2_EXP_DECL PCRE2_SPTR PCRE2_CALL_CONVENTION \ + pcre2_get_mark(pcre2_match_data *); \ +PCRE2_EXP_DECL PCRE2_SIZE PCRE2_CALL_CONVENTION \ + pcre2_get_match_data_size(pcre2_match_data *); \ +PCRE2_EXP_DECL PCRE2_SIZE PCRE2_CALL_CONVENTION \ + pcre2_get_match_data_heapframes_size(pcre2_match_data *); \ +PCRE2_EXP_DECL uint32_t PCRE2_CALL_CONVENTION \ + pcre2_get_ovector_count(pcre2_match_data *); \ +PCRE2_EXP_DECL PCRE2_SIZE *PCRE2_CALL_CONVENTION \ + pcre2_get_ovector_pointer(pcre2_match_data *); \ +PCRE2_EXP_DECL PCRE2_SIZE PCRE2_CALL_CONVENTION \ + pcre2_get_startchar(pcre2_match_data *); + + +/* Convenience functions for handling matched substrings. */ + +#define PCRE2_SUBSTRING_FUNCTIONS \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_substring_copy_byname(pcre2_match_data *, PCRE2_SPTR, PCRE2_UCHAR *, \ + PCRE2_SIZE *); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_substring_copy_bynumber(pcre2_match_data *, uint32_t, PCRE2_UCHAR *, \ + PCRE2_SIZE *); \ +PCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \ + pcre2_substring_free(PCRE2_UCHAR *); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_substring_get_byname(pcre2_match_data *, PCRE2_SPTR, PCRE2_UCHAR **, \ + PCRE2_SIZE *); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_substring_get_bynumber(pcre2_match_data *, uint32_t, PCRE2_UCHAR **, \ + PCRE2_SIZE *); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_substring_length_byname(pcre2_match_data *, PCRE2_SPTR, PCRE2_SIZE *); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_substring_length_bynumber(pcre2_match_data *, uint32_t, PCRE2_SIZE *); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_substring_nametable_scan(const pcre2_code *, PCRE2_SPTR, PCRE2_SPTR *, \ + PCRE2_SPTR *); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_substring_number_from_name(const pcre2_code *, PCRE2_SPTR); \ +PCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \ + pcre2_substring_list_free(PCRE2_UCHAR **); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_substring_list_get(pcre2_match_data *, PCRE2_UCHAR ***, PCRE2_SIZE **); + +/* Functions for serializing / deserializing compiled patterns. */ + +#define PCRE2_SERIALIZE_FUNCTIONS \ +PCRE2_EXP_DECL int32_t PCRE2_CALL_CONVENTION \ + pcre2_serialize_encode(const pcre2_code **, int32_t, uint8_t **, \ + PCRE2_SIZE *, pcre2_general_context *); \ +PCRE2_EXP_DECL int32_t PCRE2_CALL_CONVENTION \ + pcre2_serialize_decode(pcre2_code **, int32_t, const uint8_t *, \ + pcre2_general_context *); \ +PCRE2_EXP_DECL int32_t PCRE2_CALL_CONVENTION \ + pcre2_serialize_get_number_of_codes(const uint8_t *); \ +PCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \ + pcre2_serialize_free(uint8_t *); + + +/* Convenience function for match + substitute. */ + +#define PCRE2_SUBSTITUTE_FUNCTION \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_substitute(const pcre2_code *, PCRE2_SPTR, PCRE2_SIZE, PCRE2_SIZE, \ + uint32_t, pcre2_match_data *, pcre2_match_context *, PCRE2_SPTR, \ + PCRE2_SIZE, PCRE2_UCHAR *, PCRE2_SIZE *); + + +/* Functions for converting pattern source strings. */ + +#define PCRE2_CONVERT_FUNCTIONS \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_pattern_convert(PCRE2_SPTR, PCRE2_SIZE, uint32_t, PCRE2_UCHAR **, \ + PCRE2_SIZE *, pcre2_convert_context *); \ +PCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \ + pcre2_converted_pattern_free(PCRE2_UCHAR *); + + +/* Functions for JIT processing */ + +#define PCRE2_JIT_FUNCTIONS \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_jit_compile(pcre2_code *, uint32_t); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_jit_match(const pcre2_code *, PCRE2_SPTR, PCRE2_SIZE, PCRE2_SIZE, \ + uint32_t, pcre2_match_data *, pcre2_match_context *); \ +PCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \ + pcre2_jit_free_unused_memory(pcre2_general_context *); \ +PCRE2_EXP_DECL pcre2_jit_stack *PCRE2_CALL_CONVENTION \ + pcre2_jit_stack_create(size_t, size_t, pcre2_general_context *); \ +PCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \ + pcre2_jit_stack_assign(pcre2_match_context *, pcre2_jit_callback, void *); \ +PCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \ + pcre2_jit_stack_free(pcre2_jit_stack *); + + +/* Other miscellaneous functions. */ + +#define PCRE2_OTHER_FUNCTIONS \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_get_error_message(int, PCRE2_UCHAR *, PCRE2_SIZE); \ +PCRE2_EXP_DECL const uint8_t *PCRE2_CALL_CONVENTION \ + pcre2_maketables(pcre2_general_context *); \ +PCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \ + pcre2_maketables_free(pcre2_general_context *, const uint8_t *); + +/* Define macros that generate width-specific names from generic versions. The +three-level macro scheme is necessary to get the macros expanded when we want +them to be. First we get the width from PCRE2_LOCAL_WIDTH, which is used for +generating three versions of everything below. After that, PCRE2_SUFFIX will be +re-defined to use PCRE2_CODE_UNIT_WIDTH, for use when macros such as +pcre2_compile are called by application code. */ + +#define PCRE2_JOIN(a,b) a ## b +#define PCRE2_GLUE(a,b) PCRE2_JOIN(a,b) +#define PCRE2_SUFFIX(a) PCRE2_GLUE(a,PCRE2_LOCAL_WIDTH) + + +/* Data types */ + +#define PCRE2_UCHAR PCRE2_SUFFIX(PCRE2_UCHAR) +#define PCRE2_SPTR PCRE2_SUFFIX(PCRE2_SPTR) + +#define pcre2_code PCRE2_SUFFIX(pcre2_code_) +#define pcre2_jit_callback PCRE2_SUFFIX(pcre2_jit_callback_) +#define pcre2_jit_stack PCRE2_SUFFIX(pcre2_jit_stack_) + +#define pcre2_real_code PCRE2_SUFFIX(pcre2_real_code_) +#define pcre2_real_general_context PCRE2_SUFFIX(pcre2_real_general_context_) +#define pcre2_real_compile_context PCRE2_SUFFIX(pcre2_real_compile_context_) +#define pcre2_real_convert_context PCRE2_SUFFIX(pcre2_real_convert_context_) +#define pcre2_real_match_context PCRE2_SUFFIX(pcre2_real_match_context_) +#define pcre2_real_jit_stack PCRE2_SUFFIX(pcre2_real_jit_stack_) +#define pcre2_real_match_data PCRE2_SUFFIX(pcre2_real_match_data_) + + +/* Data blocks */ + +#define pcre2_callout_block PCRE2_SUFFIX(pcre2_callout_block_) +#define pcre2_callout_enumerate_block PCRE2_SUFFIX(pcre2_callout_enumerate_block_) +#define pcre2_substitute_callout_block PCRE2_SUFFIX(pcre2_substitute_callout_block_) +#define pcre2_general_context PCRE2_SUFFIX(pcre2_general_context_) +#define pcre2_compile_context PCRE2_SUFFIX(pcre2_compile_context_) +#define pcre2_convert_context PCRE2_SUFFIX(pcre2_convert_context_) +#define pcre2_match_context PCRE2_SUFFIX(pcre2_match_context_) +#define pcre2_match_data PCRE2_SUFFIX(pcre2_match_data_) + + +/* Functions: the complete list in alphabetical order */ + +#define pcre2_callout_enumerate PCRE2_SUFFIX(pcre2_callout_enumerate_) +#define pcre2_code_copy PCRE2_SUFFIX(pcre2_code_copy_) +#define pcre2_code_copy_with_tables PCRE2_SUFFIX(pcre2_code_copy_with_tables_) +#define pcre2_code_free PCRE2_SUFFIX(pcre2_code_free_) +#define pcre2_compile PCRE2_SUFFIX(pcre2_compile_) +#define pcre2_compile_context_copy PCRE2_SUFFIX(pcre2_compile_context_copy_) +#define pcre2_compile_context_create PCRE2_SUFFIX(pcre2_compile_context_create_) +#define pcre2_compile_context_free PCRE2_SUFFIX(pcre2_compile_context_free_) +#define pcre2_config PCRE2_SUFFIX(pcre2_config_) +#define pcre2_convert_context_copy PCRE2_SUFFIX(pcre2_convert_context_copy_) +#define pcre2_convert_context_create PCRE2_SUFFIX(pcre2_convert_context_create_) +#define pcre2_convert_context_free PCRE2_SUFFIX(pcre2_convert_context_free_) +#define pcre2_converted_pattern_free PCRE2_SUFFIX(pcre2_converted_pattern_free_) +#define pcre2_dfa_match PCRE2_SUFFIX(pcre2_dfa_match_) +#define pcre2_general_context_copy PCRE2_SUFFIX(pcre2_general_context_copy_) +#define pcre2_general_context_create PCRE2_SUFFIX(pcre2_general_context_create_) +#define pcre2_general_context_free PCRE2_SUFFIX(pcre2_general_context_free_) +#define pcre2_get_error_message PCRE2_SUFFIX(pcre2_get_error_message_) +#define pcre2_get_mark PCRE2_SUFFIX(pcre2_get_mark_) +#define pcre2_get_match_data_heapframes_size PCRE2_SUFFIX(pcre2_get_match_data_heapframes_size_) +#define pcre2_get_match_data_size PCRE2_SUFFIX(pcre2_get_match_data_size_) +#define pcre2_get_ovector_pointer PCRE2_SUFFIX(pcre2_get_ovector_pointer_) +#define pcre2_get_ovector_count PCRE2_SUFFIX(pcre2_get_ovector_count_) +#define pcre2_get_startchar PCRE2_SUFFIX(pcre2_get_startchar_) +#define pcre2_jit_compile PCRE2_SUFFIX(pcre2_jit_compile_) +#define pcre2_jit_match PCRE2_SUFFIX(pcre2_jit_match_) +#define pcre2_jit_free_unused_memory PCRE2_SUFFIX(pcre2_jit_free_unused_memory_) +#define pcre2_jit_stack_assign PCRE2_SUFFIX(pcre2_jit_stack_assign_) +#define pcre2_jit_stack_create PCRE2_SUFFIX(pcre2_jit_stack_create_) +#define pcre2_jit_stack_free PCRE2_SUFFIX(pcre2_jit_stack_free_) +#define pcre2_maketables PCRE2_SUFFIX(pcre2_maketables_) +#define pcre2_maketables_free PCRE2_SUFFIX(pcre2_maketables_free_) +#define pcre2_match PCRE2_SUFFIX(pcre2_match_) +#define pcre2_match_context_copy PCRE2_SUFFIX(pcre2_match_context_copy_) +#define pcre2_match_context_create PCRE2_SUFFIX(pcre2_match_context_create_) +#define pcre2_match_context_free PCRE2_SUFFIX(pcre2_match_context_free_) +#define pcre2_match_data_create PCRE2_SUFFIX(pcre2_match_data_create_) +#define pcre2_match_data_create_from_pattern PCRE2_SUFFIX(pcre2_match_data_create_from_pattern_) +#define pcre2_match_data_free PCRE2_SUFFIX(pcre2_match_data_free_) +#define pcre2_pattern_convert PCRE2_SUFFIX(pcre2_pattern_convert_) +#define pcre2_pattern_info PCRE2_SUFFIX(pcre2_pattern_info_) +#define pcre2_serialize_decode PCRE2_SUFFIX(pcre2_serialize_decode_) +#define pcre2_serialize_encode PCRE2_SUFFIX(pcre2_serialize_encode_) +#define pcre2_serialize_free PCRE2_SUFFIX(pcre2_serialize_free_) +#define pcre2_serialize_get_number_of_codes PCRE2_SUFFIX(pcre2_serialize_get_number_of_codes_) +#define pcre2_set_bsr PCRE2_SUFFIX(pcre2_set_bsr_) +#define pcre2_set_callout PCRE2_SUFFIX(pcre2_set_callout_) +#define pcre2_set_character_tables PCRE2_SUFFIX(pcre2_set_character_tables_) +#define pcre2_set_compile_extra_options PCRE2_SUFFIX(pcre2_set_compile_extra_options_) +#define pcre2_set_compile_recursion_guard PCRE2_SUFFIX(pcre2_set_compile_recursion_guard_) +#define pcre2_set_depth_limit PCRE2_SUFFIX(pcre2_set_depth_limit_) +#define pcre2_set_glob_escape PCRE2_SUFFIX(pcre2_set_glob_escape_) +#define pcre2_set_glob_separator PCRE2_SUFFIX(pcre2_set_glob_separator_) +#define pcre2_set_heap_limit PCRE2_SUFFIX(pcre2_set_heap_limit_) +#define pcre2_set_match_limit PCRE2_SUFFIX(pcre2_set_match_limit_) +#define pcre2_set_max_varlookbehind PCRE2_SUFFIX(pcre2_set_max_varlookbehind_) +#define pcre2_set_max_pattern_length PCRE2_SUFFIX(pcre2_set_max_pattern_length_) +#define pcre2_set_newline PCRE2_SUFFIX(pcre2_set_newline_) +#define pcre2_set_parens_nest_limit PCRE2_SUFFIX(pcre2_set_parens_nest_limit_) +#define pcre2_set_offset_limit PCRE2_SUFFIX(pcre2_set_offset_limit_) +#define pcre2_set_substitute_callout PCRE2_SUFFIX(pcre2_set_substitute_callout_) +#define pcre2_substitute PCRE2_SUFFIX(pcre2_substitute_) +#define pcre2_substring_copy_byname PCRE2_SUFFIX(pcre2_substring_copy_byname_) +#define pcre2_substring_copy_bynumber PCRE2_SUFFIX(pcre2_substring_copy_bynumber_) +#define pcre2_substring_free PCRE2_SUFFIX(pcre2_substring_free_) +#define pcre2_substring_get_byname PCRE2_SUFFIX(pcre2_substring_get_byname_) +#define pcre2_substring_get_bynumber PCRE2_SUFFIX(pcre2_substring_get_bynumber_) +#define pcre2_substring_length_byname PCRE2_SUFFIX(pcre2_substring_length_byname_) +#define pcre2_substring_length_bynumber PCRE2_SUFFIX(pcre2_substring_length_bynumber_) +#define pcre2_substring_list_get PCRE2_SUFFIX(pcre2_substring_list_get_) +#define pcre2_substring_list_free PCRE2_SUFFIX(pcre2_substring_list_free_) +#define pcre2_substring_nametable_scan PCRE2_SUFFIX(pcre2_substring_nametable_scan_) +#define pcre2_substring_number_from_name PCRE2_SUFFIX(pcre2_substring_number_from_name_) + +/* Keep this old function name for backwards compatibility */ +#define pcre2_set_recursion_limit PCRE2_SUFFIX(pcre2_set_recursion_limit_) + +/* Keep this obsolete function for backwards compatibility: it is now a noop. */ +#define pcre2_set_recursion_memory_management PCRE2_SUFFIX(pcre2_set_recursion_memory_management_) + +/* Now generate all three sets of width-specific structures and function +prototypes. */ + +#define PCRE2_TYPES_STRUCTURES_AND_FUNCTIONS \ +PCRE2_TYPES_LIST \ +PCRE2_STRUCTURE_LIST \ +PCRE2_GENERAL_INFO_FUNCTIONS \ +PCRE2_GENERAL_CONTEXT_FUNCTIONS \ +PCRE2_COMPILE_CONTEXT_FUNCTIONS \ +PCRE2_CONVERT_CONTEXT_FUNCTIONS \ +PCRE2_CONVERT_FUNCTIONS \ +PCRE2_MATCH_CONTEXT_FUNCTIONS \ +PCRE2_COMPILE_FUNCTIONS \ +PCRE2_PATTERN_INFO_FUNCTIONS \ +PCRE2_MATCH_FUNCTIONS \ +PCRE2_SUBSTRING_FUNCTIONS \ +PCRE2_SERIALIZE_FUNCTIONS \ +PCRE2_SUBSTITUTE_FUNCTION \ +PCRE2_JIT_FUNCTIONS \ +PCRE2_OTHER_FUNCTIONS + +#define PCRE2_LOCAL_WIDTH 8 +PCRE2_TYPES_STRUCTURES_AND_FUNCTIONS +#undef PCRE2_LOCAL_WIDTH + +#define PCRE2_LOCAL_WIDTH 16 +PCRE2_TYPES_STRUCTURES_AND_FUNCTIONS +#undef PCRE2_LOCAL_WIDTH + +#define PCRE2_LOCAL_WIDTH 32 +PCRE2_TYPES_STRUCTURES_AND_FUNCTIONS +#undef PCRE2_LOCAL_WIDTH + +/* Undefine the list macros; they are no longer needed. */ + +#undef PCRE2_TYPES_LIST +#undef PCRE2_STRUCTURE_LIST +#undef PCRE2_GENERAL_INFO_FUNCTIONS +#undef PCRE2_GENERAL_CONTEXT_FUNCTIONS +#undef PCRE2_COMPILE_CONTEXT_FUNCTIONS +#undef PCRE2_CONVERT_CONTEXT_FUNCTIONS +#undef PCRE2_MATCH_CONTEXT_FUNCTIONS +#undef PCRE2_COMPILE_FUNCTIONS +#undef PCRE2_PATTERN_INFO_FUNCTIONS +#undef PCRE2_MATCH_FUNCTIONS +#undef PCRE2_SUBSTRING_FUNCTIONS +#undef PCRE2_SERIALIZE_FUNCTIONS +#undef PCRE2_SUBSTITUTE_FUNCTION +#undef PCRE2_JIT_FUNCTIONS +#undef PCRE2_OTHER_FUNCTIONS +#undef PCRE2_TYPES_STRUCTURES_AND_FUNCTIONS + +/* PCRE2_CODE_UNIT_WIDTH must be defined. If it is 8, 16, or 32, redefine +PCRE2_SUFFIX to use it. If it is 0, undefine the other macros and make +PCRE2_SUFFIX a no-op. Otherwise, generate an error. */ + +#undef PCRE2_SUFFIX +#ifndef PCRE2_CODE_UNIT_WIDTH +#error PCRE2_CODE_UNIT_WIDTH must be defined before including pcre2.h. +#error Use 8, 16, or 32; or 0 for a multi-width application. +#else /* PCRE2_CODE_UNIT_WIDTH is defined */ +#if PCRE2_CODE_UNIT_WIDTH == 8 || \ + PCRE2_CODE_UNIT_WIDTH == 16 || \ + PCRE2_CODE_UNIT_WIDTH == 32 +#define PCRE2_SUFFIX(a) PCRE2_GLUE(a, PCRE2_CODE_UNIT_WIDTH) +#elif PCRE2_CODE_UNIT_WIDTH == 0 +#undef PCRE2_JOIN +#undef PCRE2_GLUE +#define PCRE2_SUFFIX(a) a +#else +#error PCRE2_CODE_UNIT_WIDTH must be 0, 8, 16, or 32. +#endif +#endif /* PCRE2_CODE_UNIT_WIDTH is defined */ + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* PCRE2_H_IDEMPOTENT_GUARD */ + +/* End of pcre2.h */ diff --git a/vcpkg/installed/x64-osx/include/pcre2posix.h b/vcpkg/installed/x64-osx/include/pcre2posix.h new file mode 100644 index 0000000..cccea57 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/pcre2posix.h @@ -0,0 +1,187 @@ +/************************************************* +* Perl-Compatible Regular Expressions * +*************************************************/ + +/* PCRE2 is a library of functions to support regular expressions whose syntax +and semantics are as close as possible to those of the Perl 5 language. This is +the public header file to be #included by applications that call PCRE2 via the +POSIX wrapper interface. + + Written by Philip Hazel + Original API code Copyright (c) 1997-2012 University of Cambridge + New API code Copyright (c) 2016-2023 University of Cambridge + +----------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the University of Cambridge nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +----------------------------------------------------------------------------- +*/ + +#ifndef PCRE2POSIX_H_IDEMPOTENT_GUARD +#define PCRE2POSIX_H_IDEMPOTENT_GUARD + +/* Have to include stdlib.h in order to ensure that size_t is defined. */ + +#include + +/* Allow for C++ users */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Options, mostly defined by POSIX, but with some extras. */ + +#define REG_ICASE 0x0001 /* Maps to PCRE2_CASELESS */ +#define REG_NEWLINE 0x0002 /* Maps to PCRE2_MULTILINE */ +#define REG_NOTBOL 0x0004 /* Maps to PCRE2_NOTBOL */ +#define REG_NOTEOL 0x0008 /* Maps to PCRE2_NOTEOL */ +#define REG_DOTALL 0x0010 /* NOT defined by POSIX; maps to PCRE2_DOTALL */ +#define REG_NOSUB 0x0020 /* Do not report what was matched */ +#define REG_UTF 0x0040 /* NOT defined by POSIX; maps to PCRE2_UTF */ +#define REG_STARTEND 0x0080 /* BSD feature: pass subject string by so,eo */ +#define REG_NOTEMPTY 0x0100 /* NOT defined by POSIX; maps to PCRE2_NOTEMPTY */ +#define REG_UNGREEDY 0x0200 /* NOT defined by POSIX; maps to PCRE2_UNGREEDY */ +#define REG_UCP 0x0400 /* NOT defined by POSIX; maps to PCRE2_UCP */ +#define REG_PEND 0x0800 /* GNU feature: pass end pattern by re_endp */ +#define REG_NOSPEC 0x1000 /* Maps to PCRE2_LITERAL */ + +/* This is not used by PCRE2, but by defining it we make it easier +to slot PCRE2 into existing programs that make POSIX calls. */ + +#define REG_EXTENDED 0 + +/* Error values. Not all these are relevant or used by the wrapper. */ + +enum { + REG_ASSERT = 1, /* internal error ? */ + REG_BADBR, /* invalid repeat counts in {} */ + REG_BADPAT, /* pattern error */ + REG_BADRPT, /* ? * + invalid */ + REG_EBRACE, /* unbalanced {} */ + REG_EBRACK, /* unbalanced [] */ + REG_ECOLLATE, /* collation error - not relevant */ + REG_ECTYPE, /* bad class */ + REG_EESCAPE, /* bad escape sequence */ + REG_EMPTY, /* empty expression */ + REG_EPAREN, /* unbalanced () */ + REG_ERANGE, /* bad range inside [] */ + REG_ESIZE, /* expression too big */ + REG_ESPACE, /* failed to get memory */ + REG_ESUBREG, /* bad back reference */ + REG_INVARG, /* bad argument */ + REG_NOMATCH /* match failed */ +}; + + +/* The structure representing a compiled regular expression. It is also used +for passing the pattern end pointer when REG_PEND is set. */ + +typedef struct { + void *re_pcre2_code; + void *re_match_data; + const char *re_endp; + size_t re_nsub; + size_t re_erroffset; + int re_cflags; +} regex_t; + +/* The structure in which a captured offset is returned. */ + +typedef int regoff_t; + +typedef struct { + regoff_t rm_so; + regoff_t rm_eo; +} regmatch_t; + +/* When compiling with the MSVC compiler, it is sometimes necessary to include +a "calling convention" before exported function names. (This is secondhand +information; I know nothing about MSVC myself). For example, something like + + void __cdecl function(....) + +might be needed. In order to make this easy, all the exported functions have +PCRE2_CALL_CONVENTION just before their names. It is rarely needed; if not +set, we ensure here that it has no effect. */ + +#ifndef PCRE2_CALL_CONVENTION +#define PCRE2_CALL_CONVENTION +#endif + +#ifndef PCRE2_EXPORT +#define PCRE2_EXPORT +#endif + +/* When an application links to a PCRE2 DLL in Windows, the symbols that are +imported have to be identified as such. When building PCRE2, the appropriate +export settings are needed, and are set in pcre2posix.c before including this +file. */ + +/* By default, we use the standard "extern" declarations. */ + +#ifndef PCRE2POSIX_EXP_DECL +# if defined(_WIN32) && defined(PCRE2POSIX_SHARED) && !defined(PCRE2_STATIC) +# define PCRE2POSIX_EXP_DECL extern __declspec(dllimport) +# define PCRE2POSIX_EXP_DEFN __declspec(dllimport) +# else +# define PCRE2POSIX_EXP_DECL extern PCRE2_EXPORT +# define PCRE2POSIX_EXP_DEFN +# endif +#endif + +/* The functions. The actual code is in functions with pcre2_xxx names for +uniqueness. POSIX names are provided as macros for API compatibility with POSIX +regex functions. It's done this way to ensure to they are always linked from +the PCRE2 library and not by accident from elsewhere (regex_t differs in size +elsewhere). */ + +PCRE2POSIX_EXP_DECL int PCRE2_CALL_CONVENTION pcre2_regcomp(regex_t *, const char *, int); +PCRE2POSIX_EXP_DECL int PCRE2_CALL_CONVENTION pcre2_regexec(const regex_t *, const char *, size_t, + regmatch_t *, int); +PCRE2POSIX_EXP_DECL size_t PCRE2_CALL_CONVENTION pcre2_regerror(int, const regex_t *, char *, size_t); +PCRE2POSIX_EXP_DECL void PCRE2_CALL_CONVENTION pcre2_regfree(regex_t *); + +#define regcomp pcre2_regcomp +#define regexec pcre2_regexec +#define regerror pcre2_regerror +#define regfree pcre2_regfree + +/* Debian had a patch that used different names. These are now here to save +them having to maintain their own patch, but are not documented by PCRE2. */ + +#define PCRE2regcomp pcre2_regcomp +#define PCRE2regexec pcre2_regexec +#define PCRE2regerror pcre2_regerror +#define PCRE2regfree pcre2_regfree + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* PCRE2POSIX_H_IDEMPOTENT_GUARD */ + +/* End of pcre2posix.h */ diff --git a/vcpkg/installed/x64-osx/include/png.h b/vcpkg/installed/x64-osx/include/png.h new file mode 100644 index 0000000..83d3903 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/png.h @@ -0,0 +1,3250 @@ + +/* png.h - header file for PNG reference library + * + * libpng version 1.6.43 + * + * Copyright (c) 2018-2024 Cosmin Truta + * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson + * Copyright (c) 1996-1997 Andreas Dilger + * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + * + * This code is released under the libpng license. (See LICENSE, below.) + * + * Authors and maintainers: + * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat + * libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger + * libpng versions 0.97, January 1998, through 1.6.35, July 2018: + * Glenn Randers-Pehrson + * libpng versions 1.6.36, December 2018, through 1.6.43, February 2024: + * Cosmin Truta + * See also "Contributing Authors", below. + */ + +/* + * COPYRIGHT NOTICE, DISCLAIMER, and LICENSE + * ========================================= + * + * PNG Reference Library License version 2 + * --------------------------------------- + * + * * Copyright (c) 1995-2024 The PNG Reference Library Authors. + * * Copyright (c) 2018-2024 Cosmin Truta. + * * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. + * * Copyright (c) 1996-1997 Andreas Dilger. + * * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + * + * The software is supplied "as is", without warranty of any kind, + * express or implied, including, without limitation, the warranties + * of merchantability, fitness for a particular purpose, title, and + * non-infringement. In no event shall the Copyright owners, or + * anyone distributing the software, be liable for any damages or + * other liability, whether in contract, tort or otherwise, arising + * from, out of, or in connection with the software, or the use or + * other dealings in the software, even if advised of the possibility + * of such damage. + * + * Permission is hereby granted to use, copy, modify, and distribute + * this software, or portions hereof, for any purpose, without fee, + * subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you + * use this software in a product, an acknowledgment in the product + * documentation would be appreciated, but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must + * not be misrepresented as being the original software. + * + * 3. This Copyright notice may not be removed or altered from any + * source or altered source distribution. + * + * + * PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) + * ----------------------------------------------------------------------- + * + * libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are + * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are + * derived from libpng-1.0.6, and are distributed according to the same + * disclaimer and license as libpng-1.0.6 with the following individuals + * added to the list of Contributing Authors: + * + * Simon-Pierre Cadieux + * Eric S. Raymond + * Mans Rullgard + * Cosmin Truta + * Gilles Vollant + * James Yu + * Mandar Sahastrabuddhe + * Google Inc. + * Vadim Barkov + * + * and with the following additions to the disclaimer: + * + * There is no warranty against interference with your enjoyment of + * the library or against infringement. There is no warranty that our + * efforts or the library will fulfill any of your particular purposes + * or needs. This library is provided with all faults, and the entire + * risk of satisfactory quality, performance, accuracy, and effort is + * with the user. + * + * Some files in the "contrib" directory and some configure-generated + * files that are distributed with libpng have other copyright owners, and + * are released under other open source licenses. + * + * libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are + * Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from + * libpng-0.96, and are distributed according to the same disclaimer and + * license as libpng-0.96, with the following individuals added to the + * list of Contributing Authors: + * + * Tom Lane + * Glenn Randers-Pehrson + * Willem van Schaik + * + * libpng versions 0.89, June 1996, through 0.96, May 1997, are + * Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, + * and are distributed according to the same disclaimer and license as + * libpng-0.88, with the following individuals added to the list of + * Contributing Authors: + * + * John Bowler + * Kevin Bracey + * Sam Bushell + * Magnus Holmgren + * Greg Roelofs + * Tom Tanner + * + * Some files in the "scripts" directory have other copyright owners, + * but are released under this license. + * + * libpng versions 0.5, May 1995, through 0.88, January 1996, are + * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + * + * For the purposes of this copyright and license, "Contributing Authors" + * is defined as the following set of individuals: + * + * Andreas Dilger + * Dave Martindale + * Guy Eric Schalnat + * Paul Schmidt + * Tim Wegner + * + * The PNG Reference Library is supplied "AS IS". The Contributing + * Authors and Group 42, Inc. disclaim all warranties, expressed or + * implied, including, without limitation, the warranties of + * merchantability and of fitness for any purpose. The Contributing + * Authors and Group 42, Inc. assume no liability for direct, indirect, + * incidental, special, exemplary, or consequential damages, which may + * result from the use of the PNG Reference Library, even if advised of + * the possibility of such damage. + * + * Permission is hereby granted to use, copy, modify, and distribute this + * source code, or portions hereof, for any purpose, without fee, subject + * to the following restrictions: + * + * 1. The origin of this source code must not be misrepresented. + * + * 2. Altered versions must be plainly marked as such and must not + * be misrepresented as being the original source. + * + * 3. This Copyright notice may not be removed or altered from any + * source or altered source distribution. + * + * The Contributing Authors and Group 42, Inc. specifically permit, + * without fee, and encourage the use of this source code as a component + * to supporting the PNG file format in commercial products. If you use + * this source code in a product, acknowledgment is not required but would + * be appreciated. + * + * END OF COPYRIGHT NOTICE, DISCLAIMER, and LICENSE. + * + * TRADEMARK + * ========= + * + * The name "libpng" has not been registered by the Copyright owners + * as a trademark in any jurisdiction. However, because libpng has + * been distributed and maintained world-wide, continually since 1995, + * the Copyright owners claim "common-law trademark protection" in any + * jurisdiction where common-law trademark is recognized. + */ + +/* + * A "png_get_copyright" function is available, for convenient use in "about" + * boxes and the like: + * + * printf("%s", png_get_copyright(NULL)); + * + * Also, the PNG logo (in PNG format, of course) is supplied in the + * files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31). + */ + +/* + * The contributing authors would like to thank all those who helped + * with testing, bug fixes, and patience. This wouldn't have been + * possible without all of you. + * + * Thanks to Frank J. T. Wojcik for helping with the documentation. + */ + +/* Note about libpng version numbers: + * + * Due to various miscommunications, unforeseen code incompatibilities + * and occasional factors outside the authors' control, version numbering + * on the library has not always been consistent and straightforward. + * The following table summarizes matters since version 0.89c, which was + * the first widely used release: + * + * source png.h png.h shared-lib + * version string int version + * ------- ------ ----- ---------- + * 0.89c "1.0 beta 3" 0.89 89 1.0.89 + * 0.90 "1.0 beta 4" 0.90 90 0.90 [should have been 2.0.90] + * 0.95 "1.0 beta 5" 0.95 95 0.95 [should have been 2.0.95] + * 0.96 "1.0 beta 6" 0.96 96 0.96 [should have been 2.0.96] + * 0.97b "1.00.97 beta 7" 1.00.97 97 1.0.1 [should have been 2.0.97] + * 0.97c 0.97 97 2.0.97 + * 0.98 0.98 98 2.0.98 + * 0.99 0.99 98 2.0.99 + * 0.99a-m 0.99 99 2.0.99 + * 1.00 1.00 100 2.1.0 [100 should be 10000] + * 1.0.0 (from here on, the 100 2.1.0 [100 should be 10000] + * 1.0.1 png.h string is 10001 2.1.0 + * 1.0.1a-e identical to the 10002 from here on, the shared library + * 1.0.2 source version) 10002 is 2.V where V is the source code + * 1.0.2a-b 10003 version, except as noted. + * 1.0.3 10003 + * 1.0.3a-d 10004 + * 1.0.4 10004 + * 1.0.4a-f 10005 + * 1.0.5 (+ 2 patches) 10005 + * 1.0.5a-d 10006 + * 1.0.5e-r 10100 (not source compatible) + * 1.0.5s-v 10006 (not binary compatible) + * 1.0.6 (+ 3 patches) 10006 (still binary incompatible) + * 1.0.6d-f 10007 (still binary incompatible) + * 1.0.6g 10007 + * 1.0.6h 10007 10.6h (testing xy.z so-numbering) + * 1.0.6i 10007 10.6i + * 1.0.6j 10007 2.1.0.6j (incompatible with 1.0.0) + * 1.0.7beta11-14 DLLNUM 10007 2.1.0.7beta11-14 (binary compatible) + * 1.0.7beta15-18 1 10007 2.1.0.7beta15-18 (binary compatible) + * 1.0.7rc1-2 1 10007 2.1.0.7rc1-2 (binary compatible) + * 1.0.7 1 10007 (still compatible) + * ... + * 1.0.69 10 10069 10.so.0.69[.0] + * ... + * 1.2.59 13 10259 12.so.0.59[.0] + * ... + * 1.4.20 14 10420 14.so.0.20[.0] + * ... + * 1.5.30 15 10530 15.so.15.30[.0] + * ... + * 1.6.43 16 10643 16.so.16.43[.0] + * + * Henceforth the source version will match the shared-library major and + * minor numbers; the shared-library major version number will be used for + * changes in backward compatibility, as it is intended. + * The PNG_LIBPNG_VER macro, which is not used within libpng but is + * available for applications, is an unsigned integer of the form XYYZZ + * corresponding to the source version X.Y.Z (leading zeros in Y and Z). + * Beta versions were given the previous public release number plus a + * letter, until version 1.0.6j; from then on they were given the upcoming + * public release number plus "betaNN" or "rcNN". + * + * Binary incompatibility exists only when applications make direct access + * to the info_ptr or png_ptr members through png.h, and the compiled + * application is loaded with a different version of the library. + * + * See libpng.txt or libpng.3 for more information. The PNG specification + * is available as a W3C Recommendation and as an ISO/IEC Standard; see + * + */ + +#ifndef PNG_H +#define PNG_H + +/* This is not the place to learn how to use libpng. The file libpng-manual.txt + * describes how to use libpng, and the file example.c summarizes it + * with some code on which to build. This file is useful for looking + * at the actual function definitions and structure components. If that + * file has been stripped from your copy of libpng, you can find it at + * + * + * If you just need to read a PNG file and don't want to read the documentation + * skip to the end of this file and read the section entitled 'simplified API'. + */ + +/* Version information for png.h - this should match the version in png.c */ +#define PNG_LIBPNG_VER_STRING "1.6.43" +#define PNG_HEADER_VERSION_STRING " libpng version " PNG_LIBPNG_VER_STRING "\n" + +/* The versions of shared library builds should stay in sync, going forward */ +#define PNG_LIBPNG_VER_SHAREDLIB 16 +#define PNG_LIBPNG_VER_SONUM PNG_LIBPNG_VER_SHAREDLIB /* [Deprecated] */ +#define PNG_LIBPNG_VER_DLLNUM PNG_LIBPNG_VER_SHAREDLIB /* [Deprecated] */ + +/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */ +#define PNG_LIBPNG_VER_MAJOR 1 +#define PNG_LIBPNG_VER_MINOR 6 +#define PNG_LIBPNG_VER_RELEASE 43 + +/* This should be zero for a public release, or non-zero for a + * development version. + */ +#define PNG_LIBPNG_VER_BUILD 0 + +/* Release Status */ +#define PNG_LIBPNG_BUILD_ALPHA 1 +#define PNG_LIBPNG_BUILD_BETA 2 +#define PNG_LIBPNG_BUILD_RC 3 +#define PNG_LIBPNG_BUILD_STABLE 4 +#define PNG_LIBPNG_BUILD_RELEASE_STATUS_MASK 7 + +/* Release-Specific Flags */ +#define PNG_LIBPNG_BUILD_PATCH 8 /* Can be OR'ed with + PNG_LIBPNG_BUILD_STABLE only */ +#define PNG_LIBPNG_BUILD_PRIVATE 16 /* Cannot be OR'ed with + PNG_LIBPNG_BUILD_SPECIAL */ +#define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with + PNG_LIBPNG_BUILD_PRIVATE */ + +#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_STABLE + +/* Careful here. At one time, Guy wanted to use 082, but that + * would be octal. We must not include leading zeros. + * Versions 0.7 through 1.0.0 were in the range 0 to 100 here + * (only version 1.0.0 was mis-numbered 100 instead of 10000). + * From version 1.0.1 it is: + * XXYYZZ, where XX=major, YY=minor, ZZ=release + */ +#define PNG_LIBPNG_VER 10643 /* 1.6.43 */ + +/* Library configuration: these options cannot be changed after + * the library has been built. + */ +#ifndef PNGLCONF_H +/* If pnglibconf.h is missing, you can + * copy scripts/pnglibconf.h.prebuilt to pnglibconf.h + */ +# include "pnglibconf.h" +#endif + +#ifndef PNG_VERSION_INFO_ONLY +/* Machine specific configuration. */ +# include "pngconf.h" +#endif + +/* + * Added at libpng-1.2.8 + * + * Ref MSDN: Private as priority over Special + * VS_FF_PRIVATEBUILD File *was not* built using standard release + * procedures. If this value is given, the StringFileInfo block must + * contain a PrivateBuild string. + * + * VS_FF_SPECIALBUILD File *was* built by the original company using + * standard release procedures but is a variation of the standard + * file of the same version number. If this value is given, the + * StringFileInfo block must contain a SpecialBuild string. + */ + +#ifdef PNG_USER_PRIVATEBUILD /* From pnglibconf.h */ +# define PNG_LIBPNG_BUILD_TYPE \ + (PNG_LIBPNG_BUILD_BASE_TYPE | PNG_LIBPNG_BUILD_PRIVATE) +#else +# ifdef PNG_LIBPNG_SPECIALBUILD +# define PNG_LIBPNG_BUILD_TYPE \ + (PNG_LIBPNG_BUILD_BASE_TYPE | PNG_LIBPNG_BUILD_SPECIAL) +# else +# define PNG_LIBPNG_BUILD_TYPE (PNG_LIBPNG_BUILD_BASE_TYPE) +# endif +#endif + +#ifndef PNG_VERSION_INFO_ONLY + +/* Inhibit C++ name-mangling for libpng functions but not for system calls. */ +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/* Version information for C files, stored in png.c. This had better match + * the version above. + */ +#define png_libpng_ver png_get_header_ver(NULL) + +/* This file is arranged in several sections: + * + * 1. [omitted] + * 2. Any configuration options that can be specified by for the application + * code when it is built. (Build time configuration is in pnglibconf.h) + * 3. Type definitions (base types are defined in pngconf.h), structure + * definitions. + * 4. Exported library functions. + * 5. Simplified API. + * 6. Implementation options. + * + * The library source code has additional files (principally pngpriv.h) that + * allow configuration of the library. + */ + +/* Section 1: [omitted] */ + +/* Section 2: run time configuration + * See pnglibconf.h for build time configuration + * + * Run time configuration allows the application to choose between + * implementations of certain arithmetic APIs. The default is set + * at build time and recorded in pnglibconf.h, but it is safe to + * override these (and only these) settings. Note that this won't + * change what the library does, only application code, and the + * settings can (and probably should) be made on a per-file basis + * by setting the #defines before including png.h + * + * Use macros to read integers from PNG data or use the exported + * functions? + * PNG_USE_READ_MACROS: use the macros (see below) Note that + * the macros evaluate their argument multiple times. + * PNG_NO_USE_READ_MACROS: call the relevant library function. + * + * Use the alternative algorithm for compositing alpha samples that + * does not use division? + * PNG_READ_COMPOSITE_NODIV_SUPPORTED: use the 'no division' + * algorithm. + * PNG_NO_READ_COMPOSITE_NODIV: use the 'division' algorithm. + * + * How to handle benign errors if PNG_ALLOW_BENIGN_ERRORS is + * false? + * PNG_ALLOW_BENIGN_ERRORS: map calls to the benign error + * APIs to png_warning. + * Otherwise the calls are mapped to png_error. + */ + +/* Section 3: type definitions, including structures and compile time + * constants. + * See pngconf.h for base types that vary by machine/system + */ + +/* This triggers a compiler error in png.c, if png.c and png.h + * do not agree upon the version number. + */ +typedef char* png_libpng_version_1_6_43; + +/* Basic control structions. Read libpng-manual.txt or libpng.3 for more info. + * + * png_struct is the cache of information used while reading or writing a single + * PNG file. One of these is always required, although the simplified API + * (below) hides the creation and destruction of it. + */ +typedef struct png_struct_def png_struct; +typedef const png_struct * png_const_structp; +typedef png_struct * png_structp; +typedef png_struct * * png_structpp; + +/* png_info contains information read from or to be written to a PNG file. One + * or more of these must exist while reading or creating a PNG file. The + * information is not used by libpng during read but is used to control what + * gets written when a PNG file is created. "png_get_" function calls read + * information during read and "png_set_" functions calls write information + * when creating a PNG. + * been moved into a separate header file that is not accessible to + * applications. Read libpng-manual.txt or libpng.3 for more info. + */ +typedef struct png_info_def png_info; +typedef png_info * png_infop; +typedef const png_info * png_const_infop; +typedef png_info * * png_infopp; + +/* Types with names ending 'p' are pointer types. The corresponding types with + * names ending 'rp' are identical pointer types except that the pointer is + * marked 'restrict', which means that it is the only pointer to the object + * passed to the function. Applications should not use the 'restrict' types; + * it is always valid to pass 'p' to a pointer with a function argument of the + * corresponding 'rp' type. Different compilers have different rules with + * regard to type matching in the presence of 'restrict'. For backward + * compatibility libpng callbacks never have 'restrict' in their parameters and, + * consequentially, writing portable application code is extremely difficult if + * an attempt is made to use 'restrict'. + */ +typedef png_struct * PNG_RESTRICT png_structrp; +typedef const png_struct * PNG_RESTRICT png_const_structrp; +typedef png_info * PNG_RESTRICT png_inforp; +typedef const png_info * PNG_RESTRICT png_const_inforp; + +/* Three color definitions. The order of the red, green, and blue, (and the + * exact size) is not important, although the size of the fields need to + * be png_byte or png_uint_16 (as defined below). + */ +typedef struct png_color_struct +{ + png_byte red; + png_byte green; + png_byte blue; +} png_color; +typedef png_color * png_colorp; +typedef const png_color * png_const_colorp; +typedef png_color * * png_colorpp; + +typedef struct png_color_16_struct +{ + png_byte index; /* used for palette files */ + png_uint_16 red; /* for use in red green blue files */ + png_uint_16 green; + png_uint_16 blue; + png_uint_16 gray; /* for use in grayscale files */ +} png_color_16; +typedef png_color_16 * png_color_16p; +typedef const png_color_16 * png_const_color_16p; +typedef png_color_16 * * png_color_16pp; + +typedef struct png_color_8_struct +{ + png_byte red; /* for use in red green blue files */ + png_byte green; + png_byte blue; + png_byte gray; /* for use in grayscale files */ + png_byte alpha; /* for alpha channel files */ +} png_color_8; +typedef png_color_8 * png_color_8p; +typedef const png_color_8 * png_const_color_8p; +typedef png_color_8 * * png_color_8pp; + +/* + * The following two structures are used for the in-core representation + * of sPLT chunks. + */ +typedef struct png_sPLT_entry_struct +{ + png_uint_16 red; + png_uint_16 green; + png_uint_16 blue; + png_uint_16 alpha; + png_uint_16 frequency; +} png_sPLT_entry; +typedef png_sPLT_entry * png_sPLT_entryp; +typedef const png_sPLT_entry * png_const_sPLT_entryp; +typedef png_sPLT_entry * * png_sPLT_entrypp; + +/* When the depth of the sPLT palette is 8 bits, the color and alpha samples + * occupy the LSB of their respective members, and the MSB of each member + * is zero-filled. The frequency member always occupies the full 16 bits. + */ + +typedef struct png_sPLT_struct +{ + png_charp name; /* palette name */ + png_byte depth; /* depth of palette samples */ + png_sPLT_entryp entries; /* palette entries */ + png_int_32 nentries; /* number of palette entries */ +} png_sPLT_t; +typedef png_sPLT_t * png_sPLT_tp; +typedef const png_sPLT_t * png_const_sPLT_tp; +typedef png_sPLT_t * * png_sPLT_tpp; + +#ifdef PNG_TEXT_SUPPORTED +/* png_text holds the contents of a text/ztxt/itxt chunk in a PNG file, + * and whether that contents is compressed or not. The "key" field + * points to a regular zero-terminated C string. The "text" fields can be a + * regular C string, an empty string, or a NULL pointer. + * However, the structure returned by png_get_text() will always contain + * the "text" field as a regular zero-terminated C string (possibly + * empty), never a NULL pointer, so it can be safely used in printf() and + * other string-handling functions. Note that the "itxt_length", "lang", and + * "lang_key" members of the structure only exist when the library is built + * with iTXt chunk support. Prior to libpng-1.4.0 the library was built by + * default without iTXt support. Also note that when iTXt *is* supported, + * the "lang" and "lang_key" fields contain NULL pointers when the + * "compression" field contains * PNG_TEXT_COMPRESSION_NONE or + * PNG_TEXT_COMPRESSION_zTXt. Note that the "compression value" is not the + * same as what appears in the PNG tEXt/zTXt/iTXt chunk's "compression flag" + * which is always 0 or 1, or its "compression method" which is always 0. + */ +typedef struct png_text_struct +{ + int compression; /* compression value: + -1: tEXt, none + 0: zTXt, deflate + 1: iTXt, none + 2: iTXt, deflate */ + png_charp key; /* keyword, 1-79 character description of "text" */ + png_charp text; /* comment, may be an empty string (ie "") + or a NULL pointer */ + size_t text_length; /* length of the text string */ + size_t itxt_length; /* length of the itxt string */ + png_charp lang; /* language code, 0-79 characters + or a NULL pointer */ + png_charp lang_key; /* keyword translated UTF-8 string, 0 or more + chars or a NULL pointer */ +} png_text; +typedef png_text * png_textp; +typedef const png_text * png_const_textp; +typedef png_text * * png_textpp; +#endif + +/* Supported compression types for text in PNG files (tEXt, and zTXt). + * The values of the PNG_TEXT_COMPRESSION_ defines should NOT be changed. */ +#define PNG_TEXT_COMPRESSION_NONE_WR -3 +#define PNG_TEXT_COMPRESSION_zTXt_WR -2 +#define PNG_TEXT_COMPRESSION_NONE -1 +#define PNG_TEXT_COMPRESSION_zTXt 0 +#define PNG_ITXT_COMPRESSION_NONE 1 +#define PNG_ITXT_COMPRESSION_zTXt 2 +#define PNG_TEXT_COMPRESSION_LAST 3 /* Not a valid value */ + +/* png_time is a way to hold the time in an machine independent way. + * Two conversions are provided, both from time_t and struct tm. There + * is no portable way to convert to either of these structures, as far + * as I know. If you know of a portable way, send it to me. As a side + * note - PNG has always been Year 2000 compliant! + */ +typedef struct png_time_struct +{ + png_uint_16 year; /* full year, as in, 1995 */ + png_byte month; /* month of year, 1 - 12 */ + png_byte day; /* day of month, 1 - 31 */ + png_byte hour; /* hour of day, 0 - 23 */ + png_byte minute; /* minute of hour, 0 - 59 */ + png_byte second; /* second of minute, 0 - 60 (for leap seconds) */ +} png_time; +typedef png_time * png_timep; +typedef const png_time * png_const_timep; +typedef png_time * * png_timepp; + +#if defined(PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED) ||\ + defined(PNG_USER_CHUNKS_SUPPORTED) +/* png_unknown_chunk is a structure to hold queued chunks for which there is + * no specific support. The idea is that we can use this to queue + * up private chunks for output even though the library doesn't actually + * know about their semantics. + * + * The data in the structure is set by libpng on read and used on write. + */ +typedef struct png_unknown_chunk_t +{ + png_byte name[5]; /* Textual chunk name with '\0' terminator */ + png_byte *data; /* Data, should not be modified on read! */ + size_t size; + + /* On write 'location' must be set using the flag values listed below. + * Notice that on read it is set by libpng however the values stored have + * more bits set than are listed below. Always treat the value as a + * bitmask. On write set only one bit - setting multiple bits may cause the + * chunk to be written in multiple places. + */ + png_byte location; /* mode of operation at read time */ +} +png_unknown_chunk; + +typedef png_unknown_chunk * png_unknown_chunkp; +typedef const png_unknown_chunk * png_const_unknown_chunkp; +typedef png_unknown_chunk * * png_unknown_chunkpp; +#endif + +/* Flag values for the unknown chunk location byte. */ +#define PNG_HAVE_IHDR 0x01 +#define PNG_HAVE_PLTE 0x02 +#define PNG_AFTER_IDAT 0x08 + +/* Maximum positive integer used in PNG is (2^31)-1 */ +#define PNG_UINT_31_MAX ((png_uint_32)0x7fffffffL) +#define PNG_UINT_32_MAX ((png_uint_32)(-1)) +#define PNG_SIZE_MAX ((size_t)(-1)) + +/* These are constants for fixed point values encoded in the + * PNG specification manner (x100000) + */ +#define PNG_FP_1 100000 +#define PNG_FP_HALF 50000 +#define PNG_FP_MAX ((png_fixed_point)0x7fffffffL) +#define PNG_FP_MIN (-PNG_FP_MAX) + +/* These describe the color_type field in png_info. */ +/* color type masks */ +#define PNG_COLOR_MASK_PALETTE 1 +#define PNG_COLOR_MASK_COLOR 2 +#define PNG_COLOR_MASK_ALPHA 4 + +/* color types. Note that not all combinations are legal */ +#define PNG_COLOR_TYPE_GRAY 0 +#define PNG_COLOR_TYPE_PALETTE (PNG_COLOR_MASK_COLOR | PNG_COLOR_MASK_PALETTE) +#define PNG_COLOR_TYPE_RGB (PNG_COLOR_MASK_COLOR) +#define PNG_COLOR_TYPE_RGB_ALPHA (PNG_COLOR_MASK_COLOR | PNG_COLOR_MASK_ALPHA) +#define PNG_COLOR_TYPE_GRAY_ALPHA (PNG_COLOR_MASK_ALPHA) +/* aliases */ +#define PNG_COLOR_TYPE_RGBA PNG_COLOR_TYPE_RGB_ALPHA +#define PNG_COLOR_TYPE_GA PNG_COLOR_TYPE_GRAY_ALPHA + +/* This is for compression type. PNG 1.0-1.2 only define the single type. */ +#define PNG_COMPRESSION_TYPE_BASE 0 /* Deflate method 8, 32K window */ +#define PNG_COMPRESSION_TYPE_DEFAULT PNG_COMPRESSION_TYPE_BASE + +/* This is for filter type. PNG 1.0-1.2 only define the single type. */ +#define PNG_FILTER_TYPE_BASE 0 /* Single row per-byte filtering */ +#define PNG_INTRAPIXEL_DIFFERENCING 64 /* Used only in MNG datastreams */ +#define PNG_FILTER_TYPE_DEFAULT PNG_FILTER_TYPE_BASE + +/* These are for the interlacing type. These values should NOT be changed. */ +#define PNG_INTERLACE_NONE 0 /* Non-interlaced image */ +#define PNG_INTERLACE_ADAM7 1 /* Adam7 interlacing */ +#define PNG_INTERLACE_LAST 2 /* Not a valid value */ + +/* These are for the oFFs chunk. These values should NOT be changed. */ +#define PNG_OFFSET_PIXEL 0 /* Offset in pixels */ +#define PNG_OFFSET_MICROMETER 1 /* Offset in micrometers (1/10^6 meter) */ +#define PNG_OFFSET_LAST 2 /* Not a valid value */ + +/* These are for the pCAL chunk. These values should NOT be changed. */ +#define PNG_EQUATION_LINEAR 0 /* Linear transformation */ +#define PNG_EQUATION_BASE_E 1 /* Exponential base e transform */ +#define PNG_EQUATION_ARBITRARY 2 /* Arbitrary base exponential transform */ +#define PNG_EQUATION_HYPERBOLIC 3 /* Hyperbolic sine transformation */ +#define PNG_EQUATION_LAST 4 /* Not a valid value */ + +/* These are for the sCAL chunk. These values should NOT be changed. */ +#define PNG_SCALE_UNKNOWN 0 /* unknown unit (image scale) */ +#define PNG_SCALE_METER 1 /* meters per pixel */ +#define PNG_SCALE_RADIAN 2 /* radians per pixel */ +#define PNG_SCALE_LAST 3 /* Not a valid value */ + +/* These are for the pHYs chunk. These values should NOT be changed. */ +#define PNG_RESOLUTION_UNKNOWN 0 /* pixels/unknown unit (aspect ratio) */ +#define PNG_RESOLUTION_METER 1 /* pixels/meter */ +#define PNG_RESOLUTION_LAST 2 /* Not a valid value */ + +/* These are for the sRGB chunk. These values should NOT be changed. */ +#define PNG_sRGB_INTENT_PERCEPTUAL 0 +#define PNG_sRGB_INTENT_RELATIVE 1 +#define PNG_sRGB_INTENT_SATURATION 2 +#define PNG_sRGB_INTENT_ABSOLUTE 3 +#define PNG_sRGB_INTENT_LAST 4 /* Not a valid value */ + +/* This is for text chunks */ +#define PNG_KEYWORD_MAX_LENGTH 79 + +/* Maximum number of entries in PLTE/sPLT/tRNS arrays */ +#define PNG_MAX_PALETTE_LENGTH 256 + +/* These determine if an ancillary chunk's data has been successfully read + * from the PNG header, or if the application has filled in the corresponding + * data in the info_struct to be written into the output file. The values + * of the PNG_INFO_ defines should NOT be changed. + */ +#define PNG_INFO_gAMA 0x0001U +#define PNG_INFO_sBIT 0x0002U +#define PNG_INFO_cHRM 0x0004U +#define PNG_INFO_PLTE 0x0008U +#define PNG_INFO_tRNS 0x0010U +#define PNG_INFO_bKGD 0x0020U +#define PNG_INFO_hIST 0x0040U +#define PNG_INFO_pHYs 0x0080U +#define PNG_INFO_oFFs 0x0100U +#define PNG_INFO_tIME 0x0200U +#define PNG_INFO_pCAL 0x0400U +#define PNG_INFO_sRGB 0x0800U /* GR-P, 0.96a */ +#define PNG_INFO_iCCP 0x1000U /* ESR, 1.0.6 */ +#define PNG_INFO_sPLT 0x2000U /* ESR, 1.0.6 */ +#define PNG_INFO_sCAL 0x4000U /* ESR, 1.0.6 */ +#define PNG_INFO_IDAT 0x8000U /* ESR, 1.0.6 */ +#define PNG_INFO_eXIf 0x10000U /* GR-P, 1.6.31 */ + +/* This is used for the transformation routines, as some of them + * change these values for the row. It also should enable using + * the routines for other purposes. + */ +typedef struct png_row_info_struct +{ + png_uint_32 width; /* width of row */ + size_t rowbytes; /* number of bytes in row */ + png_byte color_type; /* color type of row */ + png_byte bit_depth; /* bit depth of row */ + png_byte channels; /* number of channels (1, 2, 3, or 4) */ + png_byte pixel_depth; /* bits per pixel (depth * channels) */ +} png_row_info; + +typedef png_row_info * png_row_infop; +typedef png_row_info * * png_row_infopp; + +/* These are the function types for the I/O functions and for the functions + * that allow the user to override the default I/O functions with his or her + * own. The png_error_ptr type should match that of user-supplied warning + * and error functions, while the png_rw_ptr type should match that of the + * user read/write data functions. Note that the 'write' function must not + * modify the buffer it is passed. The 'read' function, on the other hand, is + * expected to return the read data in the buffer. + */ +typedef PNG_CALLBACK(void, *png_error_ptr, (png_structp, png_const_charp)); +typedef PNG_CALLBACK(void, *png_rw_ptr, (png_structp, png_bytep, size_t)); +typedef PNG_CALLBACK(void, *png_flush_ptr, (png_structp)); +typedef PNG_CALLBACK(void, *png_read_status_ptr, (png_structp, png_uint_32, + int)); +typedef PNG_CALLBACK(void, *png_write_status_ptr, (png_structp, png_uint_32, + int)); + +#ifdef PNG_PROGRESSIVE_READ_SUPPORTED +typedef PNG_CALLBACK(void, *png_progressive_info_ptr, (png_structp, png_infop)); +typedef PNG_CALLBACK(void, *png_progressive_end_ptr, (png_structp, png_infop)); + +/* The following callback receives png_uint_32 row_number, int pass for the + * png_bytep data of the row. When transforming an interlaced image the + * row number is the row number within the sub-image of the interlace pass, so + * the value will increase to the height of the sub-image (not the full image) + * then reset to 0 for the next pass. + * + * Use PNG_ROW_FROM_PASS_ROW(row, pass) and PNG_COL_FROM_PASS_COL(col, pass) to + * find the output pixel (x,y) given an interlaced sub-image pixel + * (row,col,pass). (See below for these macros.) + */ +typedef PNG_CALLBACK(void, *png_progressive_row_ptr, (png_structp, png_bytep, + png_uint_32, int)); +#endif + +#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \ + defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) +typedef PNG_CALLBACK(void, *png_user_transform_ptr, (png_structp, png_row_infop, + png_bytep)); +#endif + +#ifdef PNG_USER_CHUNKS_SUPPORTED +typedef PNG_CALLBACK(int, *png_user_chunk_ptr, (png_structp, + png_unknown_chunkp)); +#endif +#ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED +/* not used anywhere */ +/* typedef PNG_CALLBACK(void, *png_unknown_chunk_ptr, (png_structp)); */ +#endif + +#ifdef PNG_SETJMP_SUPPORTED +/* This must match the function definition in , and the application + * must include this before png.h to obtain the definition of jmp_buf. The + * function is required to be PNG_NORETURN, but this is not checked. If the + * function does return the application will crash via an abort() or similar + * system level call. + * + * If you get a warning here while building the library you may need to make + * changes to ensure that pnglibconf.h records the calling convention used by + * your compiler. This may be very difficult - try using a different compiler + * to build the library! + */ +PNG_FUNCTION(void, (PNGCAPI *png_longjmp_ptr), PNGARG((jmp_buf, int)), typedef); +#endif + +/* Transform masks for the high-level interface */ +#define PNG_TRANSFORM_IDENTITY 0x0000 /* read and write */ +#define PNG_TRANSFORM_STRIP_16 0x0001 /* read only */ +#define PNG_TRANSFORM_STRIP_ALPHA 0x0002 /* read only */ +#define PNG_TRANSFORM_PACKING 0x0004 /* read and write */ +#define PNG_TRANSFORM_PACKSWAP 0x0008 /* read and write */ +#define PNG_TRANSFORM_EXPAND 0x0010 /* read only */ +#define PNG_TRANSFORM_INVERT_MONO 0x0020 /* read and write */ +#define PNG_TRANSFORM_SHIFT 0x0040 /* read and write */ +#define PNG_TRANSFORM_BGR 0x0080 /* read and write */ +#define PNG_TRANSFORM_SWAP_ALPHA 0x0100 /* read and write */ +#define PNG_TRANSFORM_SWAP_ENDIAN 0x0200 /* read and write */ +#define PNG_TRANSFORM_INVERT_ALPHA 0x0400 /* read and write */ +#define PNG_TRANSFORM_STRIP_FILLER 0x0800 /* write only */ +/* Added to libpng-1.2.34 */ +#define PNG_TRANSFORM_STRIP_FILLER_BEFORE PNG_TRANSFORM_STRIP_FILLER +#define PNG_TRANSFORM_STRIP_FILLER_AFTER 0x1000 /* write only */ +/* Added to libpng-1.4.0 */ +#define PNG_TRANSFORM_GRAY_TO_RGB 0x2000 /* read only */ +/* Added to libpng-1.5.4 */ +#define PNG_TRANSFORM_EXPAND_16 0x4000 /* read only */ +#if ~0U > 0xffffU /* or else this might break on a 16-bit machine */ +#define PNG_TRANSFORM_SCALE_16 0x8000 /* read only */ +#endif + +/* Flags for MNG supported features */ +#define PNG_FLAG_MNG_EMPTY_PLTE 0x01 +#define PNG_FLAG_MNG_FILTER_64 0x04 +#define PNG_ALL_MNG_FEATURES 0x05 + +/* NOTE: prior to 1.5 these functions had no 'API' style declaration, + * this allowed the zlib default functions to be used on Windows + * platforms. In 1.5 the zlib default malloc (which just calls malloc and + * ignores the first argument) should be completely compatible with the + * following. + */ +typedef PNG_CALLBACK(png_voidp, *png_malloc_ptr, (png_structp, + png_alloc_size_t)); +typedef PNG_CALLBACK(void, *png_free_ptr, (png_structp, png_voidp)); + +/* Section 4: exported functions + * Here are the function definitions most commonly used. This is not + * the place to find out how to use libpng. See libpng-manual.txt for the + * full explanation, see example.c for the summary. This just provides + * a simple one line description of the use of each function. + * + * The PNG_EXPORT() and PNG_EXPORTA() macros used below are defined in + * pngconf.h and in the *.dfn files in the scripts directory. + * + * PNG_EXPORT(ordinal, type, name, (args)); + * + * ordinal: ordinal that is used while building + * *.def files. The ordinal value is only + * relevant when preprocessing png.h with + * the *.dfn files for building symbol table + * entries, and are removed by pngconf.h. + * type: return type of the function + * name: function name + * args: function arguments, with types + * + * When we wish to append attributes to a function prototype we use + * the PNG_EXPORTA() macro instead. + * + * PNG_EXPORTA(ordinal, type, name, (args), attributes); + * + * ordinal, type, name, and args: same as in PNG_EXPORT(). + * attributes: function attributes + */ + +/* Returns the version number of the library */ +PNG_EXPORT(1, png_uint_32, png_access_version_number, (void)); + +/* Tell lib we have already handled the first magic bytes. + * Handling more than 8 bytes from the beginning of the file is an error. + */ +PNG_EXPORT(2, void, png_set_sig_bytes, (png_structrp png_ptr, int num_bytes)); + +/* Check sig[start] through sig[start + num_to_check - 1] to see if it's a + * PNG file. Returns zero if the supplied bytes match the 8-byte PNG + * signature, and non-zero otherwise. Having num_to_check == 0 or + * start > 7 will always fail (i.e. return non-zero). + */ +PNG_EXPORT(3, int, png_sig_cmp, (png_const_bytep sig, size_t start, + size_t num_to_check)); + +/* Simple signature checking function. This is the same as calling + * png_check_sig(sig, n) := (png_sig_cmp(sig, 0, n) == 0). + */ +#define png_check_sig(sig, n) (png_sig_cmp((sig), 0, (n)) == 0) /* DEPRECATED */ + +/* Allocate and initialize png_ptr struct for reading, and any other memory. */ +PNG_EXPORTA(4, png_structp, png_create_read_struct, + (png_const_charp user_png_ver, png_voidp error_ptr, + png_error_ptr error_fn, png_error_ptr warn_fn), + PNG_ALLOCATED); + +/* Allocate and initialize png_ptr struct for writing, and any other memory */ +PNG_EXPORTA(5, png_structp, png_create_write_struct, + (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, + png_error_ptr warn_fn), + PNG_ALLOCATED); + +PNG_EXPORT(6, size_t, png_get_compression_buffer_size, + (png_const_structrp png_ptr)); + +PNG_EXPORT(7, void, png_set_compression_buffer_size, (png_structrp png_ptr, + size_t size)); + +/* Moved from pngconf.h in 1.4.0 and modified to ensure setjmp/longjmp + * match up. + */ +#ifdef PNG_SETJMP_SUPPORTED +/* This function returns the jmp_buf built in to *png_ptr. It must be + * supplied with an appropriate 'longjmp' function to use on that jmp_buf + * unless the default error function is overridden in which case NULL is + * acceptable. The size of the jmp_buf is checked against the actual size + * allocated by the library - the call will return NULL on a mismatch + * indicating an ABI mismatch. + */ +PNG_EXPORT(8, jmp_buf*, png_set_longjmp_fn, (png_structrp png_ptr, + png_longjmp_ptr longjmp_fn, size_t jmp_buf_size)); +# define png_jmpbuf(png_ptr) \ + (*png_set_longjmp_fn((png_ptr), longjmp, (sizeof (jmp_buf)))) +#else +# define png_jmpbuf(png_ptr) \ + (LIBPNG_WAS_COMPILED_WITH__PNG_NO_SETJMP) +#endif +/* This function should be used by libpng applications in place of + * longjmp(png_ptr->jmpbuf, val). If longjmp_fn() has been set, it + * will use it; otherwise it will call PNG_ABORT(). This function was + * added in libpng-1.5.0. + */ +PNG_EXPORTA(9, void, png_longjmp, (png_const_structrp png_ptr, int val), + PNG_NORETURN); + +#ifdef PNG_READ_SUPPORTED +/* Reset the compression stream */ +PNG_EXPORTA(10, int, png_reset_zstream, (png_structrp png_ptr), PNG_DEPRECATED); +#endif + +/* New functions added in libpng-1.0.2 (not enabled by default until 1.2.0) */ +#ifdef PNG_USER_MEM_SUPPORTED +PNG_EXPORTA(11, png_structp, png_create_read_struct_2, + (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, + png_error_ptr warn_fn, + png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn), + PNG_ALLOCATED); +PNG_EXPORTA(12, png_structp, png_create_write_struct_2, + (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, + png_error_ptr warn_fn, + png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn), + PNG_ALLOCATED); +#endif + +/* Write the PNG file signature. */ +PNG_EXPORT(13, void, png_write_sig, (png_structrp png_ptr)); + +/* Write a PNG chunk - size, type, (optional) data, CRC. */ +PNG_EXPORT(14, void, png_write_chunk, (png_structrp png_ptr, png_const_bytep + chunk_name, png_const_bytep data, size_t length)); + +/* Write the start of a PNG chunk - length and chunk name. */ +PNG_EXPORT(15, void, png_write_chunk_start, (png_structrp png_ptr, + png_const_bytep chunk_name, png_uint_32 length)); + +/* Write the data of a PNG chunk started with png_write_chunk_start(). */ +PNG_EXPORT(16, void, png_write_chunk_data, (png_structrp png_ptr, + png_const_bytep data, size_t length)); + +/* Finish a chunk started with png_write_chunk_start() (includes CRC). */ +PNG_EXPORT(17, void, png_write_chunk_end, (png_structrp png_ptr)); + +/* Allocate and initialize the info structure */ +PNG_EXPORTA(18, png_infop, png_create_info_struct, (png_const_structrp png_ptr), + PNG_ALLOCATED); + +/* DEPRECATED: this function allowed init structures to be created using the + * default allocation method (typically malloc). Use is deprecated in 1.6.0 and + * the API will be removed in the future. + */ +PNG_EXPORTA(19, void, png_info_init_3, (png_infopp info_ptr, + size_t png_info_struct_size), PNG_DEPRECATED); + +/* Writes all the PNG information before the image. */ +PNG_EXPORT(20, void, png_write_info_before_PLTE, + (png_structrp png_ptr, png_const_inforp info_ptr)); +PNG_EXPORT(21, void, png_write_info, + (png_structrp png_ptr, png_const_inforp info_ptr)); + +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read the information before the actual image data. */ +PNG_EXPORT(22, void, png_read_info, + (png_structrp png_ptr, png_inforp info_ptr)); +#endif + +#ifdef PNG_TIME_RFC1123_SUPPORTED + /* Convert to a US string format: there is no localization support in this + * routine. The original implementation used a 29 character buffer in + * png_struct, this will be removed in future versions. + */ +#if PNG_LIBPNG_VER < 10700 +/* To do: remove this from libpng17 (and from libpng17/png.c and pngstruct.h) */ +PNG_EXPORTA(23, png_const_charp, png_convert_to_rfc1123, (png_structrp png_ptr, + png_const_timep ptime),PNG_DEPRECATED); +#endif +PNG_EXPORT(241, int, png_convert_to_rfc1123_buffer, (char out[29], + png_const_timep ptime)); +#endif + +#ifdef PNG_CONVERT_tIME_SUPPORTED +/* Convert from a struct tm to png_time */ +PNG_EXPORT(24, void, png_convert_from_struct_tm, (png_timep ptime, + const struct tm * ttime)); + +/* Convert from time_t to png_time. Uses gmtime() */ +PNG_EXPORT(25, void, png_convert_from_time_t, (png_timep ptime, time_t ttime)); +#endif /* CONVERT_tIME */ + +#ifdef PNG_READ_EXPAND_SUPPORTED +/* Expand data to 24-bit RGB, or 8-bit grayscale, with alpha if available. */ +PNG_EXPORT(26, void, png_set_expand, (png_structrp png_ptr)); +PNG_EXPORT(27, void, png_set_expand_gray_1_2_4_to_8, (png_structrp png_ptr)); +PNG_EXPORT(28, void, png_set_palette_to_rgb, (png_structrp png_ptr)); +PNG_EXPORT(29, void, png_set_tRNS_to_alpha, (png_structrp png_ptr)); +#endif + +#ifdef PNG_READ_EXPAND_16_SUPPORTED +/* Expand to 16-bit channels, forces conversion of palette to RGB and expansion + * of a tRNS chunk if present. + */ +PNG_EXPORT(221, void, png_set_expand_16, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_BGR_SUPPORTED) || defined(PNG_WRITE_BGR_SUPPORTED) +/* Use blue, green, red order for pixels. */ +PNG_EXPORT(30, void, png_set_bgr, (png_structrp png_ptr)); +#endif + +#ifdef PNG_READ_GRAY_TO_RGB_SUPPORTED +/* Expand the grayscale to 24-bit RGB if necessary. */ +PNG_EXPORT(31, void, png_set_gray_to_rgb, (png_structrp png_ptr)); +#endif + +#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED +/* Reduce RGB to grayscale. */ +#define PNG_ERROR_ACTION_NONE 1 +#define PNG_ERROR_ACTION_WARN 2 +#define PNG_ERROR_ACTION_ERROR 3 +#define PNG_RGB_TO_GRAY_DEFAULT (-1)/*for red/green coefficients*/ + +PNG_FP_EXPORT(32, void, png_set_rgb_to_gray, (png_structrp png_ptr, + int error_action, double red, double green)) +PNG_FIXED_EXPORT(33, void, png_set_rgb_to_gray_fixed, (png_structrp png_ptr, + int error_action, png_fixed_point red, png_fixed_point green)) + +PNG_EXPORT(34, png_byte, png_get_rgb_to_gray_status, (png_const_structrp + png_ptr)); +#endif + +#ifdef PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED +PNG_EXPORT(35, void, png_build_grayscale_palette, (int bit_depth, + png_colorp palette)); +#endif + +#ifdef PNG_READ_ALPHA_MODE_SUPPORTED +/* How the alpha channel is interpreted - this affects how the color channels + * of a PNG file are returned to the calling application when an alpha channel, + * or a tRNS chunk in a palette file, is present. + * + * This has no effect on the way pixels are written into a PNG output + * datastream. The color samples in a PNG datastream are never premultiplied + * with the alpha samples. + * + * The default is to return data according to the PNG specification: the alpha + * channel is a linear measure of the contribution of the pixel to the + * corresponding composited pixel, and the color channels are unassociated + * (not premultiplied). The gamma encoded color channels must be scaled + * according to the contribution and to do this it is necessary to undo + * the encoding, scale the color values, perform the composition and re-encode + * the values. This is the 'PNG' mode. + * + * The alternative is to 'associate' the alpha with the color information by + * storing color channel values that have been scaled by the alpha. + * image. These are the 'STANDARD', 'ASSOCIATED' or 'PREMULTIPLIED' modes + * (the latter being the two common names for associated alpha color channels). + * + * For the 'OPTIMIZED' mode, a pixel is treated as opaque only if the alpha + * value is equal to the maximum value. + * + * The final choice is to gamma encode the alpha channel as well. This is + * broken because, in practice, no implementation that uses this choice + * correctly undoes the encoding before handling alpha composition. Use this + * choice only if other serious errors in the software or hardware you use + * mandate it; the typical serious error is for dark halos to appear around + * opaque areas of the composited PNG image because of arithmetic overflow. + * + * The API function png_set_alpha_mode specifies which of these choices to use + * with an enumerated 'mode' value and the gamma of the required output: + */ +#define PNG_ALPHA_PNG 0 /* according to the PNG standard */ +#define PNG_ALPHA_STANDARD 1 /* according to Porter/Duff */ +#define PNG_ALPHA_ASSOCIATED 1 /* as above; this is the normal practice */ +#define PNG_ALPHA_PREMULTIPLIED 1 /* as above */ +#define PNG_ALPHA_OPTIMIZED 2 /* 'PNG' for opaque pixels, else 'STANDARD' */ +#define PNG_ALPHA_BROKEN 3 /* the alpha channel is gamma encoded */ + +PNG_FP_EXPORT(227, void, png_set_alpha_mode, (png_structrp png_ptr, int mode, + double output_gamma)) +PNG_FIXED_EXPORT(228, void, png_set_alpha_mode_fixed, (png_structrp png_ptr, + int mode, png_fixed_point output_gamma)) +#endif + +#if defined(PNG_GAMMA_SUPPORTED) || defined(PNG_READ_ALPHA_MODE_SUPPORTED) +/* The output_gamma value is a screen gamma in libpng terminology: it expresses + * how to decode the output values, not how they are encoded. + */ +#define PNG_DEFAULT_sRGB -1 /* sRGB gamma and color space */ +#define PNG_GAMMA_MAC_18 -2 /* Old Mac '1.8' gamma and color space */ +#define PNG_GAMMA_sRGB 220000 /* Television standards--matches sRGB gamma */ +#define PNG_GAMMA_LINEAR PNG_FP_1 /* Linear */ +#endif + +/* The following are examples of calls to png_set_alpha_mode to achieve the + * required overall gamma correction and, where necessary, alpha + * premultiplication. + * + * png_set_alpha_mode(pp, PNG_ALPHA_PNG, PNG_DEFAULT_sRGB); + * This is the default libpng handling of the alpha channel - it is not + * pre-multiplied into the color components. In addition the call states + * that the output is for a sRGB system and causes all PNG files without gAMA + * chunks to be assumed to be encoded using sRGB. + * + * png_set_alpha_mode(pp, PNG_ALPHA_PNG, PNG_GAMMA_MAC); + * In this case the output is assumed to be something like an sRGB conformant + * display preceded by a power-law lookup table of power 1.45. This is how + * early Mac systems behaved. + * + * png_set_alpha_mode(pp, PNG_ALPHA_STANDARD, PNG_GAMMA_LINEAR); + * This is the classic Jim Blinn approach and will work in academic + * environments where everything is done by the book. It has the shortcoming + * of assuming that input PNG data with no gamma information is linear - this + * is unlikely to be correct unless the PNG files where generated locally. + * Most of the time the output precision will be so low as to show + * significant banding in dark areas of the image. + * + * png_set_expand_16(pp); + * png_set_alpha_mode(pp, PNG_ALPHA_STANDARD, PNG_DEFAULT_sRGB); + * This is a somewhat more realistic Jim Blinn inspired approach. PNG files + * are assumed to have the sRGB encoding if not marked with a gamma value and + * the output is always 16 bits per component. This permits accurate scaling + * and processing of the data. If you know that your input PNG files were + * generated locally you might need to replace PNG_DEFAULT_sRGB with the + * correct value for your system. + * + * png_set_alpha_mode(pp, PNG_ALPHA_OPTIMIZED, PNG_DEFAULT_sRGB); + * If you just need to composite the PNG image onto an existing background + * and if you control the code that does this you can use the optimization + * setting. In this case you just copy completely opaque pixels to the + * output. For pixels that are not completely transparent (you just skip + * those) you do the composition math using png_composite or png_composite_16 + * below then encode the resultant 8-bit or 16-bit values to match the output + * encoding. + * + * Other cases + * If neither the PNG nor the standard linear encoding work for you because + * of the software or hardware you use then you have a big problem. The PNG + * case will probably result in halos around the image. The linear encoding + * will probably result in a washed out, too bright, image (it's actually too + * contrasty.) Try the ALPHA_OPTIMIZED mode above - this will probably + * substantially reduce the halos. Alternatively try: + * + * png_set_alpha_mode(pp, PNG_ALPHA_BROKEN, PNG_DEFAULT_sRGB); + * This option will also reduce the halos, but there will be slight dark + * halos round the opaque parts of the image where the background is light. + * In the OPTIMIZED mode the halos will be light halos where the background + * is dark. Take your pick - the halos are unavoidable unless you can get + * your hardware/software fixed! (The OPTIMIZED approach is slightly + * faster.) + * + * When the default gamma of PNG files doesn't match the output gamma. + * If you have PNG files with no gamma information png_set_alpha_mode allows + * you to provide a default gamma, but it also sets the output gamma to the + * matching value. If you know your PNG files have a gamma that doesn't + * match the output you can take advantage of the fact that + * png_set_alpha_mode always sets the output gamma but only sets the PNG + * default if it is not already set: + * + * png_set_alpha_mode(pp, PNG_ALPHA_PNG, PNG_DEFAULT_sRGB); + * png_set_alpha_mode(pp, PNG_ALPHA_PNG, PNG_GAMMA_MAC); + * The first call sets both the default and the output gamma values, the + * second call overrides the output gamma without changing the default. This + * is easier than achieving the same effect with png_set_gamma. You must use + * PNG_ALPHA_PNG for the first call - internal checking in png_set_alpha will + * fire if more than one call to png_set_alpha_mode and png_set_background is + * made in the same read operation, however multiple calls with PNG_ALPHA_PNG + * are ignored. + */ + +#ifdef PNG_READ_STRIP_ALPHA_SUPPORTED +PNG_EXPORT(36, void, png_set_strip_alpha, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_SWAP_ALPHA_SUPPORTED) || \ + defined(PNG_WRITE_SWAP_ALPHA_SUPPORTED) +PNG_EXPORT(37, void, png_set_swap_alpha, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_INVERT_ALPHA_SUPPORTED) || \ + defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED) +PNG_EXPORT(38, void, png_set_invert_alpha, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED) +/* Add a filler byte to 8-bit or 16-bit Gray or 24-bit or 48-bit RGB images. */ +PNG_EXPORT(39, void, png_set_filler, (png_structrp png_ptr, png_uint_32 filler, + int flags)); +/* The values of the PNG_FILLER_ defines should NOT be changed */ +# define PNG_FILLER_BEFORE 0 +# define PNG_FILLER_AFTER 1 +/* Add an alpha byte to 8-bit or 16-bit Gray or 24-bit or 48-bit RGB images. */ +PNG_EXPORT(40, void, png_set_add_alpha, (png_structrp png_ptr, + png_uint_32 filler, int flags)); +#endif /* READ_FILLER || WRITE_FILLER */ + +#if defined(PNG_READ_SWAP_SUPPORTED) || defined(PNG_WRITE_SWAP_SUPPORTED) +/* Swap bytes in 16-bit depth files. */ +PNG_EXPORT(41, void, png_set_swap, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_PACK_SUPPORTED) || defined(PNG_WRITE_PACK_SUPPORTED) +/* Use 1 byte per pixel in 1, 2, or 4-bit depth files. */ +PNG_EXPORT(42, void, png_set_packing, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_PACKSWAP_SUPPORTED) || \ + defined(PNG_WRITE_PACKSWAP_SUPPORTED) +/* Swap packing order of pixels in bytes. */ +PNG_EXPORT(43, void, png_set_packswap, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_SHIFT_SUPPORTED) || defined(PNG_WRITE_SHIFT_SUPPORTED) +/* Converts files to legal bit depths. */ +PNG_EXPORT(44, void, png_set_shift, (png_structrp png_ptr, png_const_color_8p + true_bits)); +#endif + +#if defined(PNG_READ_INTERLACING_SUPPORTED) || \ + defined(PNG_WRITE_INTERLACING_SUPPORTED) +/* Have the code handle the interlacing. Returns the number of passes. + * MUST be called before png_read_update_info or png_start_read_image, + * otherwise it will not have the desired effect. Note that it is still + * necessary to call png_read_row or png_read_rows png_get_image_height + * times for each pass. +*/ +PNG_EXPORT(45, int, png_set_interlace_handling, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_INVERT_SUPPORTED) || defined(PNG_WRITE_INVERT_SUPPORTED) +/* Invert monochrome files */ +PNG_EXPORT(46, void, png_set_invert_mono, (png_structrp png_ptr)); +#endif + +#ifdef PNG_READ_BACKGROUND_SUPPORTED +/* Handle alpha and tRNS by replacing with a background color. Prior to + * libpng-1.5.4 this API must not be called before the PNG file header has been + * read. Doing so will result in unexpected behavior and possible warnings or + * errors if the PNG file contains a bKGD chunk. + */ +PNG_FP_EXPORT(47, void, png_set_background, (png_structrp png_ptr, + png_const_color_16p background_color, int background_gamma_code, + int need_expand, double background_gamma)) +PNG_FIXED_EXPORT(215, void, png_set_background_fixed, (png_structrp png_ptr, + png_const_color_16p background_color, int background_gamma_code, + int need_expand, png_fixed_point background_gamma)) +#endif +#ifdef PNG_READ_BACKGROUND_SUPPORTED +# define PNG_BACKGROUND_GAMMA_UNKNOWN 0 +# define PNG_BACKGROUND_GAMMA_SCREEN 1 +# define PNG_BACKGROUND_GAMMA_FILE 2 +# define PNG_BACKGROUND_GAMMA_UNIQUE 3 +#endif + +#ifdef PNG_READ_SCALE_16_TO_8_SUPPORTED +/* Scale a 16-bit depth file down to 8-bit, accurately. */ +PNG_EXPORT(229, void, png_set_scale_16, (png_structrp png_ptr)); +#endif + +#ifdef PNG_READ_STRIP_16_TO_8_SUPPORTED +#define PNG_READ_16_TO_8_SUPPORTED /* Name prior to 1.5.4 */ +/* Strip the second byte of information from a 16-bit depth file. */ +PNG_EXPORT(48, void, png_set_strip_16, (png_structrp png_ptr)); +#endif + +#ifdef PNG_READ_QUANTIZE_SUPPORTED +/* Turn on quantizing, and reduce the palette to the number of colors + * available. + */ +PNG_EXPORT(49, void, png_set_quantize, (png_structrp png_ptr, + png_colorp palette, int num_palette, int maximum_colors, + png_const_uint_16p histogram, int full_quantize)); +#endif + +#ifdef PNG_READ_GAMMA_SUPPORTED +/* The threshold on gamma processing is configurable but hard-wired into the + * library. The following is the floating point variant. + */ +#define PNG_GAMMA_THRESHOLD (PNG_GAMMA_THRESHOLD_FIXED*.00001) + +/* Handle gamma correction. Screen_gamma=(display_exponent). + * NOTE: this API simply sets the screen and file gamma values. It will + * therefore override the value for gamma in a PNG file if it is called after + * the file header has been read - use with care - call before reading the PNG + * file for best results! + * + * These routines accept the same gamma values as png_set_alpha_mode (described + * above). The PNG_GAMMA_ defines and PNG_DEFAULT_sRGB can be passed to either + * API (floating point or fixed.) Notice, however, that the 'file_gamma' value + * is the inverse of a 'screen gamma' value. + */ +PNG_FP_EXPORT(50, void, png_set_gamma, (png_structrp png_ptr, + double screen_gamma, double override_file_gamma)) +PNG_FIXED_EXPORT(208, void, png_set_gamma_fixed, (png_structrp png_ptr, + png_fixed_point screen_gamma, png_fixed_point override_file_gamma)) +#endif + +#ifdef PNG_WRITE_FLUSH_SUPPORTED +/* Set how many lines between output flushes - 0 for no flushing */ +PNG_EXPORT(51, void, png_set_flush, (png_structrp png_ptr, int nrows)); +/* Flush the current PNG output buffer */ +PNG_EXPORT(52, void, png_write_flush, (png_structrp png_ptr)); +#endif + +/* Optional update palette with requested transformations */ +PNG_EXPORT(53, void, png_start_read_image, (png_structrp png_ptr)); + +/* Optional call to update the users info structure */ +PNG_EXPORT(54, void, png_read_update_info, (png_structrp png_ptr, + png_inforp info_ptr)); + +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read one or more rows of image data. */ +PNG_EXPORT(55, void, png_read_rows, (png_structrp png_ptr, png_bytepp row, + png_bytepp display_row, png_uint_32 num_rows)); +#endif + +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read a row of data. */ +PNG_EXPORT(56, void, png_read_row, (png_structrp png_ptr, png_bytep row, + png_bytep display_row)); +#endif + +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read the whole image into memory at once. */ +PNG_EXPORT(57, void, png_read_image, (png_structrp png_ptr, png_bytepp image)); +#endif + +/* Write a row of image data */ +PNG_EXPORT(58, void, png_write_row, (png_structrp png_ptr, + png_const_bytep row)); + +/* Write a few rows of image data: (*row) is not written; however, the type + * is declared as writeable to maintain compatibility with previous versions + * of libpng and to allow the 'display_row' array from read_rows to be passed + * unchanged to write_rows. + */ +PNG_EXPORT(59, void, png_write_rows, (png_structrp png_ptr, png_bytepp row, + png_uint_32 num_rows)); + +/* Write the image data */ +PNG_EXPORT(60, void, png_write_image, (png_structrp png_ptr, png_bytepp image)); + +/* Write the end of the PNG file. */ +PNG_EXPORT(61, void, png_write_end, (png_structrp png_ptr, + png_inforp info_ptr)); + +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read the end of the PNG file. */ +PNG_EXPORT(62, void, png_read_end, (png_structrp png_ptr, png_inforp info_ptr)); +#endif + +/* Free any memory associated with the png_info_struct */ +PNG_EXPORT(63, void, png_destroy_info_struct, (png_const_structrp png_ptr, + png_infopp info_ptr_ptr)); + +/* Free any memory associated with the png_struct and the png_info_structs */ +PNG_EXPORT(64, void, png_destroy_read_struct, (png_structpp png_ptr_ptr, + png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr)); + +/* Free any memory associated with the png_struct and the png_info_structs */ +PNG_EXPORT(65, void, png_destroy_write_struct, (png_structpp png_ptr_ptr, + png_infopp info_ptr_ptr)); + +/* Set the libpng method of handling chunk CRC errors */ +PNG_EXPORT(66, void, png_set_crc_action, (png_structrp png_ptr, int crit_action, + int ancil_action)); + +/* Values for png_set_crc_action() say how to handle CRC errors in + * ancillary and critical chunks, and whether to use the data contained + * therein. Note that it is impossible to "discard" data in a critical + * chunk. For versions prior to 0.90, the action was always error/quit, + * whereas in version 0.90 and later, the action for CRC errors in ancillary + * chunks is warn/discard. These values should NOT be changed. + * + * value action:critical action:ancillary + */ +#define PNG_CRC_DEFAULT 0 /* error/quit warn/discard data */ +#define PNG_CRC_ERROR_QUIT 1 /* error/quit error/quit */ +#define PNG_CRC_WARN_DISCARD 2 /* (INVALID) warn/discard data */ +#define PNG_CRC_WARN_USE 3 /* warn/use data warn/use data */ +#define PNG_CRC_QUIET_USE 4 /* quiet/use data quiet/use data */ +#define PNG_CRC_NO_CHANGE 5 /* use current value use current value */ + +#ifdef PNG_WRITE_SUPPORTED +/* These functions give the user control over the scan-line filtering in + * libpng and the compression methods used by zlib. These functions are + * mainly useful for testing, as the defaults should work with most users. + * Those users who are tight on memory or want faster performance at the + * expense of compression can modify them. See the compression library + * header file (zlib.h) for an explanation of the compression functions. + */ + +/* Set the filtering method(s) used by libpng. Currently, the only valid + * value for "method" is 0. + */ +PNG_EXPORT(67, void, png_set_filter, (png_structrp png_ptr, int method, + int filters)); +#endif /* WRITE */ + +/* Flags for png_set_filter() to say which filters to use. The flags + * are chosen so that they don't conflict with real filter types + * below, in case they are supplied instead of the #defined constants. + * These values should NOT be changed. + */ +#define PNG_NO_FILTERS 0x00 +#define PNG_FILTER_NONE 0x08 +#define PNG_FILTER_SUB 0x10 +#define PNG_FILTER_UP 0x20 +#define PNG_FILTER_AVG 0x40 +#define PNG_FILTER_PAETH 0x80 +#define PNG_FAST_FILTERS (PNG_FILTER_NONE | PNG_FILTER_SUB | PNG_FILTER_UP) +#define PNG_ALL_FILTERS (PNG_FAST_FILTERS | PNG_FILTER_AVG | PNG_FILTER_PAETH) + +/* Filter values (not flags) - used in pngwrite.c, pngwutil.c for now. + * These defines should NOT be changed. + */ +#define PNG_FILTER_VALUE_NONE 0 +#define PNG_FILTER_VALUE_SUB 1 +#define PNG_FILTER_VALUE_UP 2 +#define PNG_FILTER_VALUE_AVG 3 +#define PNG_FILTER_VALUE_PAETH 4 +#define PNG_FILTER_VALUE_LAST 5 + +#ifdef PNG_WRITE_SUPPORTED +#ifdef PNG_WRITE_WEIGHTED_FILTER_SUPPORTED /* DEPRECATED */ +PNG_FP_EXPORT(68, void, png_set_filter_heuristics, (png_structrp png_ptr, + int heuristic_method, int num_weights, png_const_doublep filter_weights, + png_const_doublep filter_costs)) +PNG_FIXED_EXPORT(209, void, png_set_filter_heuristics_fixed, + (png_structrp png_ptr, int heuristic_method, int num_weights, + png_const_fixed_point_p filter_weights, + png_const_fixed_point_p filter_costs)) +#endif /* WRITE_WEIGHTED_FILTER */ + +/* The following are no longer used and will be removed from libpng-1.7: */ +#define PNG_FILTER_HEURISTIC_DEFAULT 0 /* Currently "UNWEIGHTED" */ +#define PNG_FILTER_HEURISTIC_UNWEIGHTED 1 /* Used by libpng < 0.95 */ +#define PNG_FILTER_HEURISTIC_WEIGHTED 2 /* Experimental feature */ +#define PNG_FILTER_HEURISTIC_LAST 3 /* Not a valid value */ + +/* Set the library compression level. Currently, valid values range from + * 0 - 9, corresponding directly to the zlib compression levels 0 - 9 + * (0 - no compression, 9 - "maximal" compression). Note that tests have + * shown that zlib compression levels 3-6 usually perform as well as level 9 + * for PNG images, and do considerably fewer calculations. In the future, + * these values may not correspond directly to the zlib compression levels. + */ +#ifdef PNG_WRITE_CUSTOMIZE_COMPRESSION_SUPPORTED +PNG_EXPORT(69, void, png_set_compression_level, (png_structrp png_ptr, + int level)); + +PNG_EXPORT(70, void, png_set_compression_mem_level, (png_structrp png_ptr, + int mem_level)); + +PNG_EXPORT(71, void, png_set_compression_strategy, (png_structrp png_ptr, + int strategy)); + +/* If PNG_WRITE_OPTIMIZE_CMF_SUPPORTED is defined, libpng will use a + * smaller value of window_bits if it can do so safely. + */ +PNG_EXPORT(72, void, png_set_compression_window_bits, (png_structrp png_ptr, + int window_bits)); + +PNG_EXPORT(73, void, png_set_compression_method, (png_structrp png_ptr, + int method)); +#endif /* WRITE_CUSTOMIZE_COMPRESSION */ + +#ifdef PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED +/* Also set zlib parameters for compressing non-IDAT chunks */ +PNG_EXPORT(222, void, png_set_text_compression_level, (png_structrp png_ptr, + int level)); + +PNG_EXPORT(223, void, png_set_text_compression_mem_level, (png_structrp png_ptr, + int mem_level)); + +PNG_EXPORT(224, void, png_set_text_compression_strategy, (png_structrp png_ptr, + int strategy)); + +/* If PNG_WRITE_OPTIMIZE_CMF_SUPPORTED is defined, libpng will use a + * smaller value of window_bits if it can do so safely. + */ +PNG_EXPORT(225, void, png_set_text_compression_window_bits, + (png_structrp png_ptr, int window_bits)); + +PNG_EXPORT(226, void, png_set_text_compression_method, (png_structrp png_ptr, + int method)); +#endif /* WRITE_CUSTOMIZE_ZTXT_COMPRESSION */ +#endif /* WRITE */ + +/* These next functions are called for input/output, memory, and error + * handling. They are in the file pngrio.c, pngwio.c, and pngerror.c, + * and call standard C I/O routines such as fread(), fwrite(), and + * fprintf(). These functions can be made to use other I/O routines + * at run time for those applications that need to handle I/O in a + * different manner by calling png_set_???_fn(). See libpng-manual.txt for + * more information. + */ + +#ifdef PNG_STDIO_SUPPORTED +/* Initialize the input/output for the PNG file to the default functions. */ +PNG_EXPORT(74, void, png_init_io, (png_structrp png_ptr, png_FILE_p fp)); +#endif + +/* Replace the (error and abort), and warning functions with user + * supplied functions. If no messages are to be printed you must still + * write and use replacement functions. The replacement error_fn should + * still do a longjmp to the last setjmp location if you are using this + * method of error handling. If error_fn or warning_fn is NULL, the + * default function will be used. + */ + +PNG_EXPORT(75, void, png_set_error_fn, (png_structrp png_ptr, + png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warning_fn)); + +/* Return the user pointer associated with the error functions */ +PNG_EXPORT(76, png_voidp, png_get_error_ptr, (png_const_structrp png_ptr)); + +/* Replace the default data output functions with a user supplied one(s). + * If buffered output is not used, then output_flush_fn can be set to NULL. + * If PNG_WRITE_FLUSH_SUPPORTED is not defined at libpng compile time + * output_flush_fn will be ignored (and thus can be NULL). + * It is probably a mistake to use NULL for output_flush_fn if + * write_data_fn is not also NULL unless you have built libpng with + * PNG_WRITE_FLUSH_SUPPORTED undefined, because in this case libpng's + * default flush function, which uses the standard *FILE structure, will + * be used. + */ +PNG_EXPORT(77, void, png_set_write_fn, (png_structrp png_ptr, png_voidp io_ptr, + png_rw_ptr write_data_fn, png_flush_ptr output_flush_fn)); + +/* Replace the default data input function with a user supplied one. */ +PNG_EXPORT(78, void, png_set_read_fn, (png_structrp png_ptr, png_voidp io_ptr, + png_rw_ptr read_data_fn)); + +/* Return the user pointer associated with the I/O functions */ +PNG_EXPORT(79, png_voidp, png_get_io_ptr, (png_const_structrp png_ptr)); + +PNG_EXPORT(80, void, png_set_read_status_fn, (png_structrp png_ptr, + png_read_status_ptr read_row_fn)); + +PNG_EXPORT(81, void, png_set_write_status_fn, (png_structrp png_ptr, + png_write_status_ptr write_row_fn)); + +#ifdef PNG_USER_MEM_SUPPORTED +/* Replace the default memory allocation functions with user supplied one(s). */ +PNG_EXPORT(82, void, png_set_mem_fn, (png_structrp png_ptr, png_voidp mem_ptr, + png_malloc_ptr malloc_fn, png_free_ptr free_fn)); +/* Return the user pointer associated with the memory functions */ +PNG_EXPORT(83, png_voidp, png_get_mem_ptr, (png_const_structrp png_ptr)); +#endif + +#ifdef PNG_READ_USER_TRANSFORM_SUPPORTED +PNG_EXPORT(84, void, png_set_read_user_transform_fn, (png_structrp png_ptr, + png_user_transform_ptr read_user_transform_fn)); +#endif + +#ifdef PNG_WRITE_USER_TRANSFORM_SUPPORTED +PNG_EXPORT(85, void, png_set_write_user_transform_fn, (png_structrp png_ptr, + png_user_transform_ptr write_user_transform_fn)); +#endif + +#ifdef PNG_USER_TRANSFORM_PTR_SUPPORTED +PNG_EXPORT(86, void, png_set_user_transform_info, (png_structrp png_ptr, + png_voidp user_transform_ptr, int user_transform_depth, + int user_transform_channels)); +/* Return the user pointer associated with the user transform functions */ +PNG_EXPORT(87, png_voidp, png_get_user_transform_ptr, + (png_const_structrp png_ptr)); +#endif + +#ifdef PNG_USER_TRANSFORM_INFO_SUPPORTED +/* Return information about the row currently being processed. Note that these + * APIs do not fail but will return unexpected results if called outside a user + * transform callback. Also note that when transforming an interlaced image the + * row number is the row number within the sub-image of the interlace pass, so + * the value will increase to the height of the sub-image (not the full image) + * then reset to 0 for the next pass. + * + * Use PNG_ROW_FROM_PASS_ROW(row, pass) and PNG_COL_FROM_PASS_COL(col, pass) to + * find the output pixel (x,y) given an interlaced sub-image pixel + * (row,col,pass). (See below for these macros.) + */ +PNG_EXPORT(217, png_uint_32, png_get_current_row_number, (png_const_structrp)); +PNG_EXPORT(218, png_byte, png_get_current_pass_number, (png_const_structrp)); +#endif + +#ifdef PNG_READ_USER_CHUNKS_SUPPORTED +/* This callback is called only for *unknown* chunks. If + * PNG_HANDLE_AS_UNKNOWN_SUPPORTED is set then it is possible to set known + * chunks to be treated as unknown, however in this case the callback must do + * any processing required by the chunk (e.g. by calling the appropriate + * png_set_ APIs.) + * + * There is no write support - on write, by default, all the chunks in the + * 'unknown' list are written in the specified position. + * + * The integer return from the callback function is interpreted thus: + * + * negative: An error occurred; png_chunk_error will be called. + * zero: The chunk was not handled, the chunk will be saved. A critical + * chunk will cause an error at this point unless it is to be saved. + * positive: The chunk was handled, libpng will ignore/discard it. + * + * See "INTERACTION WITH USER CHUNK CALLBACKS" below for important notes about + * how this behavior will change in libpng 1.7 + */ +PNG_EXPORT(88, void, png_set_read_user_chunk_fn, (png_structrp png_ptr, + png_voidp user_chunk_ptr, png_user_chunk_ptr read_user_chunk_fn)); +#endif + +#ifdef PNG_USER_CHUNKS_SUPPORTED +PNG_EXPORT(89, png_voidp, png_get_user_chunk_ptr, (png_const_structrp png_ptr)); +#endif + +#ifdef PNG_PROGRESSIVE_READ_SUPPORTED +/* Sets the function callbacks for the push reader, and a pointer to a + * user-defined structure available to the callback functions. + */ +PNG_EXPORT(90, void, png_set_progressive_read_fn, (png_structrp png_ptr, + png_voidp progressive_ptr, png_progressive_info_ptr info_fn, + png_progressive_row_ptr row_fn, png_progressive_end_ptr end_fn)); + +/* Returns the user pointer associated with the push read functions */ +PNG_EXPORT(91, png_voidp, png_get_progressive_ptr, + (png_const_structrp png_ptr)); + +/* Function to be called when data becomes available */ +PNG_EXPORT(92, void, png_process_data, (png_structrp png_ptr, + png_inforp info_ptr, png_bytep buffer, size_t buffer_size)); + +/* A function which may be called *only* within png_process_data to stop the + * processing of any more data. The function returns the number of bytes + * remaining, excluding any that libpng has cached internally. A subsequent + * call to png_process_data must supply these bytes again. If the argument + * 'save' is set to true the routine will first save all the pending data and + * will always return 0. + */ +PNG_EXPORT(219, size_t, png_process_data_pause, (png_structrp, int save)); + +/* A function which may be called *only* outside (after) a call to + * png_process_data. It returns the number of bytes of data to skip in the + * input. Normally it will return 0, but if it returns a non-zero value the + * application must skip than number of bytes of input data and pass the + * following data to the next call to png_process_data. + */ +PNG_EXPORT(220, png_uint_32, png_process_data_skip, (png_structrp)); + +/* Function that combines rows. 'new_row' is a flag that should come from + * the callback and be non-NULL if anything needs to be done; the library + * stores its own version of the new data internally and ignores the passed + * in value. + */ +PNG_EXPORT(93, void, png_progressive_combine_row, (png_const_structrp png_ptr, + png_bytep old_row, png_const_bytep new_row)); +#endif /* PROGRESSIVE_READ */ + +PNG_EXPORTA(94, png_voidp, png_malloc, (png_const_structrp png_ptr, + png_alloc_size_t size), PNG_ALLOCATED); +/* Added at libpng version 1.4.0 */ +PNG_EXPORTA(95, png_voidp, png_calloc, (png_const_structrp png_ptr, + png_alloc_size_t size), PNG_ALLOCATED); + +/* Added at libpng version 1.2.4 */ +PNG_EXPORTA(96, png_voidp, png_malloc_warn, (png_const_structrp png_ptr, + png_alloc_size_t size), PNG_ALLOCATED); + +/* Frees a pointer allocated by png_malloc() */ +PNG_EXPORT(97, void, png_free, (png_const_structrp png_ptr, png_voidp ptr)); + +/* Free data that was allocated internally */ +PNG_EXPORT(98, void, png_free_data, (png_const_structrp png_ptr, + png_inforp info_ptr, png_uint_32 free_me, int num)); + +/* Reassign the responsibility for freeing existing data, whether allocated + * by libpng or by the application; this works on the png_info structure passed + * in, without changing the state for other png_info structures. + */ +PNG_EXPORT(99, void, png_data_freer, (png_const_structrp png_ptr, + png_inforp info_ptr, int freer, png_uint_32 mask)); + +/* Assignments for png_data_freer */ +#define PNG_DESTROY_WILL_FREE_DATA 1 +#define PNG_SET_WILL_FREE_DATA 1 +#define PNG_USER_WILL_FREE_DATA 2 +/* Flags for png_ptr->free_me and info_ptr->free_me */ +#define PNG_FREE_HIST 0x0008U +#define PNG_FREE_ICCP 0x0010U +#define PNG_FREE_SPLT 0x0020U +#define PNG_FREE_ROWS 0x0040U +#define PNG_FREE_PCAL 0x0080U +#define PNG_FREE_SCAL 0x0100U +#ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED +# define PNG_FREE_UNKN 0x0200U +#endif +/* PNG_FREE_LIST 0x0400U removed in 1.6.0 because it is ignored */ +#define PNG_FREE_PLTE 0x1000U +#define PNG_FREE_TRNS 0x2000U +#define PNG_FREE_TEXT 0x4000U +#define PNG_FREE_EXIF 0x8000U /* Added at libpng-1.6.31 */ +#define PNG_FREE_ALL 0xffffU +#define PNG_FREE_MUL 0x4220U /* PNG_FREE_SPLT|PNG_FREE_TEXT|PNG_FREE_UNKN */ + +#ifdef PNG_USER_MEM_SUPPORTED +PNG_EXPORTA(100, png_voidp, png_malloc_default, (png_const_structrp png_ptr, + png_alloc_size_t size), PNG_ALLOCATED PNG_DEPRECATED); +PNG_EXPORTA(101, void, png_free_default, (png_const_structrp png_ptr, + png_voidp ptr), PNG_DEPRECATED); +#endif + +#ifdef PNG_ERROR_TEXT_SUPPORTED +/* Fatal error in PNG image of libpng - can't continue */ +PNG_EXPORTA(102, void, png_error, (png_const_structrp png_ptr, + png_const_charp error_message), PNG_NORETURN); + +/* The same, but the chunk name is prepended to the error string. */ +PNG_EXPORTA(103, void, png_chunk_error, (png_const_structrp png_ptr, + png_const_charp error_message), PNG_NORETURN); + +#else +/* Fatal error in PNG image of libpng - can't continue */ +PNG_EXPORTA(104, void, png_err, (png_const_structrp png_ptr), PNG_NORETURN); +# define png_error(s1,s2) png_err(s1) +# define png_chunk_error(s1,s2) png_err(s1) +#endif + +#ifdef PNG_WARNINGS_SUPPORTED +/* Non-fatal error in libpng. Can continue, but may have a problem. */ +PNG_EXPORT(105, void, png_warning, (png_const_structrp png_ptr, + png_const_charp warning_message)); + +/* Non-fatal error in libpng, chunk name is prepended to message. */ +PNG_EXPORT(106, void, png_chunk_warning, (png_const_structrp png_ptr, + png_const_charp warning_message)); +#else +# define png_warning(s1,s2) ((void)(s1)) +# define png_chunk_warning(s1,s2) ((void)(s1)) +#endif + +#ifdef PNG_BENIGN_ERRORS_SUPPORTED +/* Benign error in libpng. Can continue, but may have a problem. + * User can choose whether to handle as a fatal error or as a warning. */ +PNG_EXPORT(107, void, png_benign_error, (png_const_structrp png_ptr, + png_const_charp warning_message)); + +#ifdef PNG_READ_SUPPORTED +/* Same, chunk name is prepended to message (only during read) */ +PNG_EXPORT(108, void, png_chunk_benign_error, (png_const_structrp png_ptr, + png_const_charp warning_message)); +#endif + +PNG_EXPORT(109, void, png_set_benign_errors, + (png_structrp png_ptr, int allowed)); +#else +# ifdef PNG_ALLOW_BENIGN_ERRORS +# define png_benign_error png_warning +# define png_chunk_benign_error png_chunk_warning +# else +# define png_benign_error png_error +# define png_chunk_benign_error png_chunk_error +# endif +#endif + +/* The png_set_ functions are for storing values in the png_info_struct. + * Similarly, the png_get_ calls are used to read values from the + * png_info_struct, either storing the parameters in the passed variables, or + * setting pointers into the png_info_struct where the data is stored. The + * png_get_ functions return a non-zero value if the data was available + * in info_ptr, or return zero and do not change any of the parameters if the + * data was not available. + * + * These functions should be used instead of directly accessing png_info + * to avoid problems with future changes in the size and internal layout of + * png_info_struct. + */ +/* Returns "flag" if chunk data is valid in info_ptr. */ +PNG_EXPORT(110, png_uint_32, png_get_valid, (png_const_structrp png_ptr, + png_const_inforp info_ptr, png_uint_32 flag)); + +/* Returns number of bytes needed to hold a transformed row. */ +PNG_EXPORT(111, size_t, png_get_rowbytes, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +#ifdef PNG_INFO_IMAGE_SUPPORTED +/* Returns row_pointers, which is an array of pointers to scanlines that was + * returned from png_read_png(). + */ +PNG_EXPORT(112, png_bytepp, png_get_rows, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Set row_pointers, which is an array of pointers to scanlines for use + * by png_write_png(). + */ +PNG_EXPORT(113, void, png_set_rows, (png_const_structrp png_ptr, + png_inforp info_ptr, png_bytepp row_pointers)); +#endif + +/* Returns number of color channels in image. */ +PNG_EXPORT(114, png_byte, png_get_channels, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +#ifdef PNG_EASY_ACCESS_SUPPORTED +/* Returns image width in pixels. */ +PNG_EXPORT(115, png_uint_32, png_get_image_width, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image height in pixels. */ +PNG_EXPORT(116, png_uint_32, png_get_image_height, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image bit_depth. */ +PNG_EXPORT(117, png_byte, png_get_bit_depth, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image color_type. */ +PNG_EXPORT(118, png_byte, png_get_color_type, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image filter_type. */ +PNG_EXPORT(119, png_byte, png_get_filter_type, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image interlace_type. */ +PNG_EXPORT(120, png_byte, png_get_interlace_type, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image compression_type. */ +PNG_EXPORT(121, png_byte, png_get_compression_type, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image resolution in pixels per meter, from pHYs chunk data. */ +PNG_EXPORT(122, png_uint_32, png_get_pixels_per_meter, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); +PNG_EXPORT(123, png_uint_32, png_get_x_pixels_per_meter, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); +PNG_EXPORT(124, png_uint_32, png_get_y_pixels_per_meter, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); + +/* Returns pixel aspect ratio, computed from pHYs chunk data. */ +PNG_FP_EXPORT(125, float, png_get_pixel_aspect_ratio, + (png_const_structrp png_ptr, png_const_inforp info_ptr)) +PNG_FIXED_EXPORT(210, png_fixed_point, png_get_pixel_aspect_ratio_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr)) + +/* Returns image x, y offset in pixels or microns, from oFFs chunk data. */ +PNG_EXPORT(126, png_int_32, png_get_x_offset_pixels, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); +PNG_EXPORT(127, png_int_32, png_get_y_offset_pixels, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); +PNG_EXPORT(128, png_int_32, png_get_x_offset_microns, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); +PNG_EXPORT(129, png_int_32, png_get_y_offset_microns, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); + +#endif /* EASY_ACCESS */ + +#ifdef PNG_READ_SUPPORTED +/* Returns pointer to signature string read from PNG header */ +PNG_EXPORT(130, png_const_bytep, png_get_signature, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); +#endif + +#ifdef PNG_bKGD_SUPPORTED +PNG_EXPORT(131, png_uint_32, png_get_bKGD, (png_const_structrp png_ptr, + png_inforp info_ptr, png_color_16p *background)); +#endif + +#ifdef PNG_bKGD_SUPPORTED +PNG_EXPORT(132, void, png_set_bKGD, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_color_16p background)); +#endif + +#ifdef PNG_cHRM_SUPPORTED +PNG_FP_EXPORT(133, png_uint_32, png_get_cHRM, (png_const_structrp png_ptr, + png_const_inforp info_ptr, double *white_x, double *white_y, double *red_x, + double *red_y, double *green_x, double *green_y, double *blue_x, + double *blue_y)) +PNG_FP_EXPORT(230, png_uint_32, png_get_cHRM_XYZ, (png_const_structrp png_ptr, + png_const_inforp info_ptr, double *red_X, double *red_Y, double *red_Z, + double *green_X, double *green_Y, double *green_Z, double *blue_X, + double *blue_Y, double *blue_Z)) +PNG_FIXED_EXPORT(134, png_uint_32, png_get_cHRM_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr, + png_fixed_point *int_white_x, png_fixed_point *int_white_y, + png_fixed_point *int_red_x, png_fixed_point *int_red_y, + png_fixed_point *int_green_x, png_fixed_point *int_green_y, + png_fixed_point *int_blue_x, png_fixed_point *int_blue_y)) +PNG_FIXED_EXPORT(231, png_uint_32, png_get_cHRM_XYZ_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr, + png_fixed_point *int_red_X, png_fixed_point *int_red_Y, + png_fixed_point *int_red_Z, png_fixed_point *int_green_X, + png_fixed_point *int_green_Y, png_fixed_point *int_green_Z, + png_fixed_point *int_blue_X, png_fixed_point *int_blue_Y, + png_fixed_point *int_blue_Z)) +#endif + +#ifdef PNG_cHRM_SUPPORTED +PNG_FP_EXPORT(135, void, png_set_cHRM, (png_const_structrp png_ptr, + png_inforp info_ptr, + double white_x, double white_y, double red_x, double red_y, double green_x, + double green_y, double blue_x, double blue_y)) +PNG_FP_EXPORT(232, void, png_set_cHRM_XYZ, (png_const_structrp png_ptr, + png_inforp info_ptr, double red_X, double red_Y, double red_Z, + double green_X, double green_Y, double green_Z, double blue_X, + double blue_Y, double blue_Z)) +PNG_FIXED_EXPORT(136, void, png_set_cHRM_fixed, (png_const_structrp png_ptr, + png_inforp info_ptr, png_fixed_point int_white_x, + png_fixed_point int_white_y, png_fixed_point int_red_x, + png_fixed_point int_red_y, png_fixed_point int_green_x, + png_fixed_point int_green_y, png_fixed_point int_blue_x, + png_fixed_point int_blue_y)) +PNG_FIXED_EXPORT(233, void, png_set_cHRM_XYZ_fixed, (png_const_structrp png_ptr, + png_inforp info_ptr, png_fixed_point int_red_X, png_fixed_point int_red_Y, + png_fixed_point int_red_Z, png_fixed_point int_green_X, + png_fixed_point int_green_Y, png_fixed_point int_green_Z, + png_fixed_point int_blue_X, png_fixed_point int_blue_Y, + png_fixed_point int_blue_Z)) +#endif + +#ifdef PNG_eXIf_SUPPORTED +PNG_EXPORT(246, png_uint_32, png_get_eXIf, (png_const_structrp png_ptr, + png_inforp info_ptr, png_bytep *exif)); +PNG_EXPORT(247, void, png_set_eXIf, (png_const_structrp png_ptr, + png_inforp info_ptr, png_bytep exif)); + +PNG_EXPORT(248, png_uint_32, png_get_eXIf_1, (png_const_structrp png_ptr, + png_const_inforp info_ptr, png_uint_32 *num_exif, png_bytep *exif)); +PNG_EXPORT(249, void, png_set_eXIf_1, (png_const_structrp png_ptr, + png_inforp info_ptr, png_uint_32 num_exif, png_bytep exif)); +#endif + +#ifdef PNG_gAMA_SUPPORTED +PNG_FP_EXPORT(137, png_uint_32, png_get_gAMA, (png_const_structrp png_ptr, + png_const_inforp info_ptr, double *file_gamma)) +PNG_FIXED_EXPORT(138, png_uint_32, png_get_gAMA_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr, + png_fixed_point *int_file_gamma)) +#endif + +#ifdef PNG_gAMA_SUPPORTED +PNG_FP_EXPORT(139, void, png_set_gAMA, (png_const_structrp png_ptr, + png_inforp info_ptr, double file_gamma)) +PNG_FIXED_EXPORT(140, void, png_set_gAMA_fixed, (png_const_structrp png_ptr, + png_inforp info_ptr, png_fixed_point int_file_gamma)) +#endif + +#ifdef PNG_hIST_SUPPORTED +PNG_EXPORT(141, png_uint_32, png_get_hIST, (png_const_structrp png_ptr, + png_inforp info_ptr, png_uint_16p *hist)); +PNG_EXPORT(142, void, png_set_hIST, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_uint_16p hist)); +#endif + +PNG_EXPORT(143, png_uint_32, png_get_IHDR, (png_const_structrp png_ptr, + png_const_inforp info_ptr, png_uint_32 *width, png_uint_32 *height, + int *bit_depth, int *color_type, int *interlace_method, + int *compression_method, int *filter_method)); + +PNG_EXPORT(144, void, png_set_IHDR, (png_const_structrp png_ptr, + png_inforp info_ptr, png_uint_32 width, png_uint_32 height, int bit_depth, + int color_type, int interlace_method, int compression_method, + int filter_method)); + +#ifdef PNG_oFFs_SUPPORTED +PNG_EXPORT(145, png_uint_32, png_get_oFFs, (png_const_structrp png_ptr, + png_const_inforp info_ptr, png_int_32 *offset_x, png_int_32 *offset_y, + int *unit_type)); +#endif + +#ifdef PNG_oFFs_SUPPORTED +PNG_EXPORT(146, void, png_set_oFFs, (png_const_structrp png_ptr, + png_inforp info_ptr, png_int_32 offset_x, png_int_32 offset_y, + int unit_type)); +#endif + +#ifdef PNG_pCAL_SUPPORTED +PNG_EXPORT(147, png_uint_32, png_get_pCAL, (png_const_structrp png_ptr, + png_inforp info_ptr, png_charp *purpose, png_int_32 *X0, + png_int_32 *X1, int *type, int *nparams, png_charp *units, + png_charpp *params)); +#endif + +#ifdef PNG_pCAL_SUPPORTED +PNG_EXPORT(148, void, png_set_pCAL, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_charp purpose, png_int_32 X0, png_int_32 X1, + int type, int nparams, png_const_charp units, png_charpp params)); +#endif + +#ifdef PNG_pHYs_SUPPORTED +PNG_EXPORT(149, png_uint_32, png_get_pHYs, (png_const_structrp png_ptr, + png_const_inforp info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, + int *unit_type)); +#endif + +#ifdef PNG_pHYs_SUPPORTED +PNG_EXPORT(150, void, png_set_pHYs, (png_const_structrp png_ptr, + png_inforp info_ptr, png_uint_32 res_x, png_uint_32 res_y, int unit_type)); +#endif + +PNG_EXPORT(151, png_uint_32, png_get_PLTE, (png_const_structrp png_ptr, + png_inforp info_ptr, png_colorp *palette, int *num_palette)); + +PNG_EXPORT(152, void, png_set_PLTE, (png_structrp png_ptr, + png_inforp info_ptr, png_const_colorp palette, int num_palette)); + +#ifdef PNG_sBIT_SUPPORTED +PNG_EXPORT(153, png_uint_32, png_get_sBIT, (png_const_structrp png_ptr, + png_inforp info_ptr, png_color_8p *sig_bit)); +#endif + +#ifdef PNG_sBIT_SUPPORTED +PNG_EXPORT(154, void, png_set_sBIT, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_color_8p sig_bit)); +#endif + +#ifdef PNG_sRGB_SUPPORTED +PNG_EXPORT(155, png_uint_32, png_get_sRGB, (png_const_structrp png_ptr, + png_const_inforp info_ptr, int *file_srgb_intent)); +#endif + +#ifdef PNG_sRGB_SUPPORTED +PNG_EXPORT(156, void, png_set_sRGB, (png_const_structrp png_ptr, + png_inforp info_ptr, int srgb_intent)); +PNG_EXPORT(157, void, png_set_sRGB_gAMA_and_cHRM, (png_const_structrp png_ptr, + png_inforp info_ptr, int srgb_intent)); +#endif + +#ifdef PNG_iCCP_SUPPORTED +PNG_EXPORT(158, png_uint_32, png_get_iCCP, (png_const_structrp png_ptr, + png_inforp info_ptr, png_charpp name, int *compression_type, + png_bytepp profile, png_uint_32 *proflen)); +#endif + +#ifdef PNG_iCCP_SUPPORTED +PNG_EXPORT(159, void, png_set_iCCP, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_charp name, int compression_type, + png_const_bytep profile, png_uint_32 proflen)); +#endif + +#ifdef PNG_sPLT_SUPPORTED +PNG_EXPORT(160, int, png_get_sPLT, (png_const_structrp png_ptr, + png_inforp info_ptr, png_sPLT_tpp entries)); +#endif + +#ifdef PNG_sPLT_SUPPORTED +PNG_EXPORT(161, void, png_set_sPLT, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_sPLT_tp entries, int nentries)); +#endif + +#ifdef PNG_TEXT_SUPPORTED +/* png_get_text also returns the number of text chunks in *num_text */ +PNG_EXPORT(162, int, png_get_text, (png_const_structrp png_ptr, + png_inforp info_ptr, png_textp *text_ptr, int *num_text)); +#endif + +/* Note while png_set_text() will accept a structure whose text, + * language, and translated keywords are NULL pointers, the structure + * returned by png_get_text will always contain regular + * zero-terminated C strings. They might be empty strings but + * they will never be NULL pointers. + */ + +#ifdef PNG_TEXT_SUPPORTED +PNG_EXPORT(163, void, png_set_text, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_textp text_ptr, int num_text)); +#endif + +#ifdef PNG_tIME_SUPPORTED +PNG_EXPORT(164, png_uint_32, png_get_tIME, (png_const_structrp png_ptr, + png_inforp info_ptr, png_timep *mod_time)); +#endif + +#ifdef PNG_tIME_SUPPORTED +PNG_EXPORT(165, void, png_set_tIME, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_timep mod_time)); +#endif + +#ifdef PNG_tRNS_SUPPORTED +PNG_EXPORT(166, png_uint_32, png_get_tRNS, (png_const_structrp png_ptr, + png_inforp info_ptr, png_bytep *trans_alpha, int *num_trans, + png_color_16p *trans_color)); +#endif + +#ifdef PNG_tRNS_SUPPORTED +PNG_EXPORT(167, void, png_set_tRNS, (png_structrp png_ptr, + png_inforp info_ptr, png_const_bytep trans_alpha, int num_trans, + png_const_color_16p trans_color)); +#endif + +#ifdef PNG_sCAL_SUPPORTED +PNG_FP_EXPORT(168, png_uint_32, png_get_sCAL, (png_const_structrp png_ptr, + png_const_inforp info_ptr, int *unit, double *width, double *height)) +#if defined(PNG_FLOATING_ARITHMETIC_SUPPORTED) || \ + defined(PNG_FLOATING_POINT_SUPPORTED) +/* NOTE: this API is currently implemented using floating point arithmetic, + * consequently it can only be used on systems with floating point support. + * In any case the range of values supported by png_fixed_point is small and it + * is highly recommended that png_get_sCAL_s be used instead. + */ +PNG_FIXED_EXPORT(214, png_uint_32, png_get_sCAL_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr, int *unit, + png_fixed_point *width, png_fixed_point *height)) +#endif +PNG_EXPORT(169, png_uint_32, png_get_sCAL_s, + (png_const_structrp png_ptr, png_const_inforp info_ptr, int *unit, + png_charpp swidth, png_charpp sheight)); + +PNG_FP_EXPORT(170, void, png_set_sCAL, (png_const_structrp png_ptr, + png_inforp info_ptr, int unit, double width, double height)) +PNG_FIXED_EXPORT(213, void, png_set_sCAL_fixed, (png_const_structrp png_ptr, + png_inforp info_ptr, int unit, png_fixed_point width, + png_fixed_point height)) +PNG_EXPORT(171, void, png_set_sCAL_s, (png_const_structrp png_ptr, + png_inforp info_ptr, int unit, + png_const_charp swidth, png_const_charp sheight)); +#endif /* sCAL */ + +#ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED +/* Provide the default handling for all unknown chunks or, optionally, for + * specific unknown chunks. + * + * NOTE: prior to 1.6.0 the handling specified for particular chunks on read was + * ignored and the default was used, the per-chunk setting only had an effect on + * write. If you wish to have chunk-specific handling on read in code that must + * work on earlier versions you must use a user chunk callback to specify the + * desired handling (keep or discard.) + * + * The 'keep' parameter is a PNG_HANDLE_CHUNK_ value as listed below. The + * parameter is interpreted as follows: + * + * READ: + * PNG_HANDLE_CHUNK_AS_DEFAULT: + * Known chunks: do normal libpng processing, do not keep the chunk (but + * see the comments below about PNG_HANDLE_AS_UNKNOWN_SUPPORTED) + * Unknown chunks: for a specific chunk use the global default, when used + * as the default discard the chunk data. + * PNG_HANDLE_CHUNK_NEVER: + * Discard the chunk data. + * PNG_HANDLE_CHUNK_IF_SAFE: + * Keep the chunk data if the chunk is not critical else raise a chunk + * error. + * PNG_HANDLE_CHUNK_ALWAYS: + * Keep the chunk data. + * + * If the chunk data is saved it can be retrieved using png_get_unknown_chunks, + * below. Notice that specifying "AS_DEFAULT" as a global default is equivalent + * to specifying "NEVER", however when "AS_DEFAULT" is used for specific chunks + * it simply resets the behavior to the libpng default. + * + * INTERACTION WITH USER CHUNK CALLBACKS: + * The per-chunk handling is always used when there is a png_user_chunk_ptr + * callback and the callback returns 0; the chunk is then always stored *unless* + * it is critical and the per-chunk setting is other than ALWAYS. Notice that + * the global default is *not* used in this case. (In effect the per-chunk + * value is incremented to at least IF_SAFE.) + * + * IMPORTANT NOTE: this behavior will change in libpng 1.7 - the global and + * per-chunk defaults will be honored. If you want to preserve the current + * behavior when your callback returns 0 you must set PNG_HANDLE_CHUNK_IF_SAFE + * as the default - if you don't do this libpng 1.6 will issue a warning. + * + * If you want unhandled unknown chunks to be discarded in libpng 1.6 and + * earlier simply return '1' (handled). + * + * PNG_HANDLE_AS_UNKNOWN_SUPPORTED: + * If this is *not* set known chunks will always be handled by libpng and + * will never be stored in the unknown chunk list. Known chunks listed to + * png_set_keep_unknown_chunks will have no effect. If it is set then known + * chunks listed with a keep other than AS_DEFAULT will *never* be processed + * by libpng, in addition critical chunks must either be processed by the + * callback or saved. + * + * The IHDR and IEND chunks must not be listed. Because this turns off the + * default handling for chunks that would otherwise be recognized the + * behavior of libpng transformations may well become incorrect! + * + * WRITE: + * When writing chunks the options only apply to the chunks specified by + * png_set_unknown_chunks (below), libpng will *always* write known chunks + * required by png_set_ calls and will always write the core critical chunks + * (as required for PLTE). + * + * Each chunk in the png_set_unknown_chunks list is looked up in the + * png_set_keep_unknown_chunks list to find the keep setting, this is then + * interpreted as follows: + * + * PNG_HANDLE_CHUNK_AS_DEFAULT: + * Write safe-to-copy chunks and write other chunks if the global + * default is set to _ALWAYS, otherwise don't write this chunk. + * PNG_HANDLE_CHUNK_NEVER: + * Do not write the chunk. + * PNG_HANDLE_CHUNK_IF_SAFE: + * Write the chunk if it is safe-to-copy, otherwise do not write it. + * PNG_HANDLE_CHUNK_ALWAYS: + * Write the chunk. + * + * Note that the default behavior is effectively the opposite of the read case - + * in read unknown chunks are not stored by default, in write they are written + * by default. Also the behavior of PNG_HANDLE_CHUNK_IF_SAFE is very different + * - on write the safe-to-copy bit is checked, on read the critical bit is + * checked and on read if the chunk is critical an error will be raised. + * + * num_chunks: + * =========== + * If num_chunks is positive, then the "keep" parameter specifies the manner + * for handling only those chunks appearing in the chunk_list array, + * otherwise the chunk list array is ignored. + * + * If num_chunks is 0 the "keep" parameter specifies the default behavior for + * unknown chunks, as described above. + * + * If num_chunks is negative, then the "keep" parameter specifies the manner + * for handling all unknown chunks plus all chunks recognized by libpng + * except for the IHDR, PLTE, tRNS, IDAT, and IEND chunks (which continue to + * be processed by libpng. + */ +#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED +PNG_EXPORT(172, void, png_set_keep_unknown_chunks, (png_structrp png_ptr, + int keep, png_const_bytep chunk_list, int num_chunks)); +#endif /* HANDLE_AS_UNKNOWN */ + +/* The "keep" PNG_HANDLE_CHUNK_ parameter for the specified chunk is returned; + * the result is therefore true (non-zero) if special handling is required, + * false for the default handling. + */ +PNG_EXPORT(173, int, png_handle_as_unknown, (png_const_structrp png_ptr, + png_const_bytep chunk_name)); +#endif /* SET_UNKNOWN_CHUNKS */ + +#ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED +PNG_EXPORT(174, void, png_set_unknown_chunks, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_unknown_chunkp unknowns, + int num_unknowns)); + /* NOTE: prior to 1.6.0 this routine set the 'location' field of the added + * unknowns to the location currently stored in the png_struct. This is + * invariably the wrong value on write. To fix this call the following API + * for each chunk in the list with the correct location. If you know your + * code won't be compiled on earlier versions you can rely on + * png_set_unknown_chunks(write-ptr, png_get_unknown_chunks(read-ptr)) doing + * the correct thing. + */ + +PNG_EXPORT(175, void, png_set_unknown_chunk_location, + (png_const_structrp png_ptr, png_inforp info_ptr, int chunk, int location)); + +PNG_EXPORT(176, int, png_get_unknown_chunks, (png_const_structrp png_ptr, + png_inforp info_ptr, png_unknown_chunkpp entries)); +#endif + +/* Png_free_data() will turn off the "valid" flag for anything it frees. + * If you need to turn it off for a chunk that your application has freed, + * you can use png_set_invalid(png_ptr, info_ptr, PNG_INFO_CHNK); + */ +PNG_EXPORT(177, void, png_set_invalid, (png_const_structrp png_ptr, + png_inforp info_ptr, int mask)); + +#ifdef PNG_INFO_IMAGE_SUPPORTED +/* The "params" pointer is currently not used and is for future expansion. */ +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +PNG_EXPORT(178, void, png_read_png, (png_structrp png_ptr, png_inforp info_ptr, + int transforms, png_voidp params)); +#endif +#ifdef PNG_WRITE_SUPPORTED +PNG_EXPORT(179, void, png_write_png, (png_structrp png_ptr, png_inforp info_ptr, + int transforms, png_voidp params)); +#endif +#endif + +PNG_EXPORT(180, png_const_charp, png_get_copyright, + (png_const_structrp png_ptr)); +PNG_EXPORT(181, png_const_charp, png_get_header_ver, + (png_const_structrp png_ptr)); +PNG_EXPORT(182, png_const_charp, png_get_header_version, + (png_const_structrp png_ptr)); +PNG_EXPORT(183, png_const_charp, png_get_libpng_ver, + (png_const_structrp png_ptr)); + +#ifdef PNG_MNG_FEATURES_SUPPORTED +PNG_EXPORT(184, png_uint_32, png_permit_mng_features, (png_structrp png_ptr, + png_uint_32 mng_features_permitted)); +#endif + +/* For use in png_set_keep_unknown, added to version 1.2.6 */ +#define PNG_HANDLE_CHUNK_AS_DEFAULT 0 +#define PNG_HANDLE_CHUNK_NEVER 1 +#define PNG_HANDLE_CHUNK_IF_SAFE 2 +#define PNG_HANDLE_CHUNK_ALWAYS 3 +#define PNG_HANDLE_CHUNK_LAST 4 + +/* Strip the prepended error numbers ("#nnn ") from error and warning + * messages before passing them to the error or warning handler. + */ +#ifdef PNG_ERROR_NUMBERS_SUPPORTED +PNG_EXPORT(185, void, png_set_strip_error_numbers, (png_structrp png_ptr, + png_uint_32 strip_mode)); +#endif + +/* Added in libpng-1.2.6 */ +#ifdef PNG_SET_USER_LIMITS_SUPPORTED +PNG_EXPORT(186, void, png_set_user_limits, (png_structrp png_ptr, + png_uint_32 user_width_max, png_uint_32 user_height_max)); +PNG_EXPORT(187, png_uint_32, png_get_user_width_max, + (png_const_structrp png_ptr)); +PNG_EXPORT(188, png_uint_32, png_get_user_height_max, + (png_const_structrp png_ptr)); +/* Added in libpng-1.4.0 */ +PNG_EXPORT(189, void, png_set_chunk_cache_max, (png_structrp png_ptr, + png_uint_32 user_chunk_cache_max)); +PNG_EXPORT(190, png_uint_32, png_get_chunk_cache_max, + (png_const_structrp png_ptr)); +/* Added in libpng-1.4.1 */ +PNG_EXPORT(191, void, png_set_chunk_malloc_max, (png_structrp png_ptr, + png_alloc_size_t user_chunk_cache_max)); +PNG_EXPORT(192, png_alloc_size_t, png_get_chunk_malloc_max, + (png_const_structrp png_ptr)); +#endif + +#if defined(PNG_INCH_CONVERSIONS_SUPPORTED) +PNG_EXPORT(193, png_uint_32, png_get_pixels_per_inch, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); + +PNG_EXPORT(194, png_uint_32, png_get_x_pixels_per_inch, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); + +PNG_EXPORT(195, png_uint_32, png_get_y_pixels_per_inch, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); + +PNG_FP_EXPORT(196, float, png_get_x_offset_inches, + (png_const_structrp png_ptr, png_const_inforp info_ptr)) +#ifdef PNG_FIXED_POINT_SUPPORTED /* otherwise not implemented. */ +PNG_FIXED_EXPORT(211, png_fixed_point, png_get_x_offset_inches_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr)) +#endif + +PNG_FP_EXPORT(197, float, png_get_y_offset_inches, (png_const_structrp png_ptr, + png_const_inforp info_ptr)) +#ifdef PNG_FIXED_POINT_SUPPORTED /* otherwise not implemented. */ +PNG_FIXED_EXPORT(212, png_fixed_point, png_get_y_offset_inches_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr)) +#endif + +# ifdef PNG_pHYs_SUPPORTED +PNG_EXPORT(198, png_uint_32, png_get_pHYs_dpi, (png_const_structrp png_ptr, + png_const_inforp info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, + int *unit_type)); +# endif /* pHYs */ +#endif /* INCH_CONVERSIONS */ + +/* Added in libpng-1.4.0 */ +#ifdef PNG_IO_STATE_SUPPORTED +PNG_EXPORT(199, png_uint_32, png_get_io_state, (png_const_structrp png_ptr)); + +/* Removed from libpng 1.6; use png_get_io_chunk_type. */ +PNG_REMOVED(200, png_const_bytep, png_get_io_chunk_name, (png_structrp png_ptr), + PNG_DEPRECATED) + +PNG_EXPORT(216, png_uint_32, png_get_io_chunk_type, + (png_const_structrp png_ptr)); + +/* The flags returned by png_get_io_state() are the following: */ +# define PNG_IO_NONE 0x0000 /* no I/O at this moment */ +# define PNG_IO_READING 0x0001 /* currently reading */ +# define PNG_IO_WRITING 0x0002 /* currently writing */ +# define PNG_IO_SIGNATURE 0x0010 /* currently at the file signature */ +# define PNG_IO_CHUNK_HDR 0x0020 /* currently at the chunk header */ +# define PNG_IO_CHUNK_DATA 0x0040 /* currently at the chunk data */ +# define PNG_IO_CHUNK_CRC 0x0080 /* currently at the chunk crc */ +# define PNG_IO_MASK_OP 0x000f /* current operation: reading/writing */ +# define PNG_IO_MASK_LOC 0x00f0 /* current location: sig/hdr/data/crc */ +#endif /* IO_STATE */ + +/* Interlace support. The following macros are always defined so that if + * libpng interlace handling is turned off the macros may be used to handle + * interlaced images within the application. + */ +#define PNG_INTERLACE_ADAM7_PASSES 7 + +/* Two macros to return the first row and first column of the original, + * full, image which appears in a given pass. 'pass' is in the range 0 + * to 6 and the result is in the range 0 to 7. + */ +#define PNG_PASS_START_ROW(pass) (((1&~(pass))<<(3-((pass)>>1)))&7) +#define PNG_PASS_START_COL(pass) (((1& (pass))<<(3-(((pass)+1)>>1)))&7) + +/* A macro to return the offset between pixels in the output row for a pair of + * pixels in the input - effectively the inverse of the 'COL_SHIFT' macro that + * follows. Note that ROW_OFFSET is the offset from one row to the next whereas + * COL_OFFSET is from one column to the next, within a row. + */ +#define PNG_PASS_ROW_OFFSET(pass) ((pass)>2?(8>>(((pass)-1)>>1)):8) +#define PNG_PASS_COL_OFFSET(pass) (1<<((7-(pass))>>1)) + +/* Two macros to help evaluate the number of rows or columns in each + * pass. This is expressed as a shift - effectively log2 of the number or + * rows or columns in each 8x8 tile of the original image. + */ +#define PNG_PASS_ROW_SHIFT(pass) ((pass)>2?(8-(pass))>>1:3) +#define PNG_PASS_COL_SHIFT(pass) ((pass)>1?(7-(pass))>>1:3) + +/* Hence two macros to determine the number of rows or columns in a given + * pass of an image given its height or width. In fact these macros may + * return non-zero even though the sub-image is empty, because the other + * dimension may be empty for a small image. + */ +#define PNG_PASS_ROWS(height, pass) (((height)+(((1<>PNG_PASS_ROW_SHIFT(pass)) +#define PNG_PASS_COLS(width, pass) (((width)+(((1<>PNG_PASS_COL_SHIFT(pass)) + +/* For the reader row callbacks (both progressive and sequential) it is + * necessary to find the row in the output image given a row in an interlaced + * image, so two more macros: + */ +#define PNG_ROW_FROM_PASS_ROW(y_in, pass) \ + (((y_in)<>(((7-(off))-(pass))<<2)) & 0xF) | \ + ((0x01145AF0>>(((7-(off))-(pass))<<2)) & 0xF0)) + +#define PNG_ROW_IN_INTERLACE_PASS(y, pass) \ + ((PNG_PASS_MASK(pass,0) >> ((y)&7)) & 1) +#define PNG_COL_IN_INTERLACE_PASS(x, pass) \ + ((PNG_PASS_MASK(pass,1) >> ((x)&7)) & 1) + +#ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED +/* With these routines we avoid an integer divide, which will be slower on + * most machines. However, it does take more operations than the corresponding + * divide method, so it may be slower on a few RISC systems. There are two + * shifts (by 8 or 16 bits) and an addition, versus a single integer divide. + * + * Note that the rounding factors are NOT supposed to be the same! 128 and + * 32768 are correct for the NODIV code; 127 and 32767 are correct for the + * standard method. + * + * [Optimized code by Greg Roelofs and Mark Adler...blame us for bugs. :-) ] + */ + + /* fg and bg should be in `gamma 1.0' space; alpha is the opacity */ + +# define png_composite(composite, fg, alpha, bg) \ + { \ + png_uint_16 temp = (png_uint_16)((png_uint_16)(fg) \ + * (png_uint_16)(alpha) \ + + (png_uint_16)(bg)*(png_uint_16)(255 \ + - (png_uint_16)(alpha)) + 128); \ + (composite) = (png_byte)(((temp + (temp >> 8)) >> 8) & 0xff); \ + } + +# define png_composite_16(composite, fg, alpha, bg) \ + { \ + png_uint_32 temp = (png_uint_32)((png_uint_32)(fg) \ + * (png_uint_32)(alpha) \ + + (png_uint_32)(bg)*(65535 \ + - (png_uint_32)(alpha)) + 32768); \ + (composite) = (png_uint_16)(0xffff & ((temp + (temp >> 16)) >> 16)); \ + } + +#else /* Standard method using integer division */ + +# define png_composite(composite, fg, alpha, bg) \ + (composite) = \ + (png_byte)(0xff & (((png_uint_16)(fg) * (png_uint_16)(alpha) + \ + (png_uint_16)(bg) * (png_uint_16)(255 - (png_uint_16)(alpha)) + \ + 127) / 255)) + +# define png_composite_16(composite, fg, alpha, bg) \ + (composite) = \ + (png_uint_16)(0xffff & (((png_uint_32)(fg) * (png_uint_32)(alpha) + \ + (png_uint_32)(bg)*(png_uint_32)(65535 - (png_uint_32)(alpha)) + \ + 32767) / 65535)) +#endif /* READ_COMPOSITE_NODIV */ + +#ifdef PNG_READ_INT_FUNCTIONS_SUPPORTED +PNG_EXPORT(201, png_uint_32, png_get_uint_32, (png_const_bytep buf)); +PNG_EXPORT(202, png_uint_16, png_get_uint_16, (png_const_bytep buf)); +PNG_EXPORT(203, png_int_32, png_get_int_32, (png_const_bytep buf)); +#endif + +PNG_EXPORT(204, png_uint_32, png_get_uint_31, (png_const_structrp png_ptr, + png_const_bytep buf)); +/* No png_get_int_16 -- may be added if there's a real need for it. */ + +/* Place a 32-bit number into a buffer in PNG byte order (big-endian). */ +#ifdef PNG_WRITE_INT_FUNCTIONS_SUPPORTED +PNG_EXPORT(205, void, png_save_uint_32, (png_bytep buf, png_uint_32 i)); +#endif +#ifdef PNG_SAVE_INT_32_SUPPORTED +PNG_EXPORT(206, void, png_save_int_32, (png_bytep buf, png_int_32 i)); +#endif + +/* Place a 16-bit number into a buffer in PNG byte order. + * The parameter is declared unsigned int, not png_uint_16, + * just to avoid potential problems on pre-ANSI C compilers. + */ +#ifdef PNG_WRITE_INT_FUNCTIONS_SUPPORTED +PNG_EXPORT(207, void, png_save_uint_16, (png_bytep buf, unsigned int i)); +/* No png_save_int_16 -- may be added if there's a real need for it. */ +#endif + +#ifdef PNG_USE_READ_MACROS +/* Inline macros to do direct reads of bytes from the input buffer. + * The png_get_int_32() routine assumes we are using two's complement + * format for negative values, which is almost certainly true. + */ +# define PNG_get_uint_32(buf) \ + (((png_uint_32)(*(buf)) << 24) + \ + ((png_uint_32)(*((buf) + 1)) << 16) + \ + ((png_uint_32)(*((buf) + 2)) << 8) + \ + ((png_uint_32)(*((buf) + 3)))) + + /* From libpng-1.4.0 until 1.4.4, the png_get_uint_16 macro (but not the + * function) incorrectly returned a value of type png_uint_32. + */ +# define PNG_get_uint_16(buf) \ + ((png_uint_16) \ + (((unsigned int)(*(buf)) << 8) + \ + ((unsigned int)(*((buf) + 1))))) + +# define PNG_get_int_32(buf) \ + ((png_int_32)((*(buf) & 0x80) \ + ? -((png_int_32)(((png_get_uint_32(buf)^0xffffffffU)+1U)&0x7fffffffU)) \ + : (png_int_32)png_get_uint_32(buf))) + +/* If PNG_PREFIX is defined the same thing as below happens in pnglibconf.h, + * but defining a macro name prefixed with PNG_PREFIX. + */ +# ifndef PNG_PREFIX +# define png_get_uint_32(buf) PNG_get_uint_32(buf) +# define png_get_uint_16(buf) PNG_get_uint_16(buf) +# define png_get_int_32(buf) PNG_get_int_32(buf) +# endif +#else +# ifdef PNG_PREFIX + /* No macros; revert to the (redefined) function */ +# define PNG_get_uint_32 (png_get_uint_32) +# define PNG_get_uint_16 (png_get_uint_16) +# define PNG_get_int_32 (png_get_int_32) +# endif +#endif + +#ifdef PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED +PNG_EXPORT(242, void, png_set_check_for_invalid_index, + (png_structrp png_ptr, int allowed)); +# ifdef PNG_GET_PALETTE_MAX_SUPPORTED +PNG_EXPORT(243, int, png_get_palette_max, (png_const_structp png_ptr, + png_const_infop info_ptr)); +# endif +#endif /* CHECK_FOR_INVALID_INDEX */ + +/******************************************************************************* + * Section 5: SIMPLIFIED API + ******************************************************************************* + * + * Please read the documentation in libpng-manual.txt (TODO: write said + * documentation) if you don't understand what follows. + * + * The simplified API hides the details of both libpng and the PNG file format + * itself. It allows PNG files to be read into a very limited number of + * in-memory bitmap formats or to be written from the same formats. If these + * formats do not accommodate your needs then you can, and should, use the more + * sophisticated APIs above - these support a wide variety of in-memory formats + * and a wide variety of sophisticated transformations to those formats as well + * as a wide variety of APIs to manipulate ancillary information. + * + * To read a PNG file using the simplified API: + * + * 1) Declare a 'png_image' structure (see below) on the stack, set the + * version field to PNG_IMAGE_VERSION and the 'opaque' pointer to NULL + * (this is REQUIRED, your program may crash if you don't do it.) + * 2) Call the appropriate png_image_begin_read... function. + * 3) Set the png_image 'format' member to the required sample format. + * 4) Allocate a buffer for the image and, if required, the color-map. + * 5) Call png_image_finish_read to read the image and, if required, the + * color-map into your buffers. + * + * There are no restrictions on the format of the PNG input itself; all valid + * color types, bit depths, and interlace methods are acceptable, and the + * input image is transformed as necessary to the requested in-memory format + * during the png_image_finish_read() step. The only caveat is that if you + * request a color-mapped image from a PNG that is full-color or makes + * complex use of an alpha channel the transformation is extremely lossy and the + * result may look terrible. + * + * To write a PNG file using the simplified API: + * + * 1) Declare a 'png_image' structure on the stack and memset() it to all zero. + * 2) Initialize the members of the structure that describe the image, setting + * the 'format' member to the format of the image samples. + * 3) Call the appropriate png_image_write... function with a pointer to the + * image and, if necessary, the color-map to write the PNG data. + * + * png_image is a structure that describes the in-memory format of an image + * when it is being read or defines the in-memory format of an image that you + * need to write: + */ +#if defined(PNG_SIMPLIFIED_READ_SUPPORTED) || \ + defined(PNG_SIMPLIFIED_WRITE_SUPPORTED) + +#define PNG_IMAGE_VERSION 1 + +typedef struct png_control *png_controlp; +typedef struct +{ + png_controlp opaque; /* Initialize to NULL, free with png_image_free */ + png_uint_32 version; /* Set to PNG_IMAGE_VERSION */ + png_uint_32 width; /* Image width in pixels (columns) */ + png_uint_32 height; /* Image height in pixels (rows) */ + png_uint_32 format; /* Image format as defined below */ + png_uint_32 flags; /* A bit mask containing informational flags */ + png_uint_32 colormap_entries; + /* Number of entries in the color-map */ + + /* In the event of an error or warning the following field will be set to a + * non-zero value and the 'message' field will contain a '\0' terminated + * string with the libpng error or warning message. If both warnings and + * an error were encountered, only the error is recorded. If there + * are multiple warnings, only the first one is recorded. + * + * The upper 30 bits of this value are reserved, the low two bits contain + * a value as follows: + */ +# define PNG_IMAGE_WARNING 1 +# define PNG_IMAGE_ERROR 2 + /* + * The result is a two-bit code such that a value more than 1 indicates + * a failure in the API just called: + * + * 0 - no warning or error + * 1 - warning + * 2 - error + * 3 - error preceded by warning + */ +# define PNG_IMAGE_FAILED(png_cntrl) ((((png_cntrl).warning_or_error)&0x03)>1) + + png_uint_32 warning_or_error; + + char message[64]; +} png_image, *png_imagep; + +/* The samples of the image have one to four channels whose components have + * original values in the range 0 to 1.0: + * + * 1: A single gray or luminance channel (G). + * 2: A gray/luminance channel and an alpha channel (GA). + * 3: Three red, green, blue color channels (RGB). + * 4: Three color channels and an alpha channel (RGBA). + * + * The components are encoded in one of two ways: + * + * a) As a small integer, value 0..255, contained in a single byte. For the + * alpha channel the original value is simply value/255. For the color or + * luminance channels the value is encoded according to the sRGB specification + * and matches the 8-bit format expected by typical display devices. + * + * The color/gray channels are not scaled (pre-multiplied) by the alpha + * channel and are suitable for passing to color management software. + * + * b) As a value in the range 0..65535, contained in a 2-byte integer. All + * channels can be converted to the original value by dividing by 65535; all + * channels are linear. Color channels use the RGB encoding (RGB end-points) of + * the sRGB specification. This encoding is identified by the + * PNG_FORMAT_FLAG_LINEAR flag below. + * + * When the simplified API needs to convert between sRGB and linear colorspaces, + * the actual sRGB transfer curve defined in the sRGB specification (see the + * article at ) is used, not the gamma=1/2.2 + * approximation used elsewhere in libpng. + * + * When an alpha channel is present it is expected to denote pixel coverage + * of the color or luminance channels and is returned as an associated alpha + * channel: the color/gray channels are scaled (pre-multiplied) by the alpha + * value. + * + * The samples are either contained directly in the image data, between 1 and 8 + * bytes per pixel according to the encoding, or are held in a color-map indexed + * by bytes in the image data. In the case of a color-map the color-map entries + * are individual samples, encoded as above, and the image data has one byte per + * pixel to select the relevant sample from the color-map. + */ + +/* PNG_FORMAT_* + * + * #defines to be used in png_image::format. Each #define identifies a + * particular layout of sample data and, if present, alpha values. There are + * separate defines for each of the two component encodings. + * + * A format is built up using single bit flag values. All combinations are + * valid. Formats can be built up from the flag values or you can use one of + * the predefined values below. When testing formats always use the FORMAT_FLAG + * macros to test for individual features - future versions of the library may + * add new flags. + * + * When reading or writing color-mapped images the format should be set to the + * format of the entries in the color-map then png_image_{read,write}_colormap + * called to read or write the color-map and set the format correctly for the + * image data. Do not set the PNG_FORMAT_FLAG_COLORMAP bit directly! + * + * NOTE: libpng can be built with particular features disabled. If you see + * compiler errors because the definition of one of the following flags has been + * compiled out it is because libpng does not have the required support. It is + * possible, however, for the libpng configuration to enable the format on just + * read or just write; in that case you may see an error at run time. You can + * guard against this by checking for the definition of the appropriate + * "_SUPPORTED" macro, one of: + * + * PNG_SIMPLIFIED_{READ,WRITE}_{BGR,AFIRST}_SUPPORTED + */ +#define PNG_FORMAT_FLAG_ALPHA 0x01U /* format with an alpha channel */ +#define PNG_FORMAT_FLAG_COLOR 0x02U /* color format: otherwise grayscale */ +#define PNG_FORMAT_FLAG_LINEAR 0x04U /* 2-byte channels else 1-byte */ +#define PNG_FORMAT_FLAG_COLORMAP 0x08U /* image data is color-mapped */ + +#ifdef PNG_FORMAT_BGR_SUPPORTED +# define PNG_FORMAT_FLAG_BGR 0x10U /* BGR colors, else order is RGB */ +#endif + +#ifdef PNG_FORMAT_AFIRST_SUPPORTED +# define PNG_FORMAT_FLAG_AFIRST 0x20U /* alpha channel comes first */ +#endif + +#define PNG_FORMAT_FLAG_ASSOCIATED_ALPHA 0x40U /* alpha channel is associated */ + +/* Commonly used formats have predefined macros. + * + * First the single byte (sRGB) formats: + */ +#define PNG_FORMAT_GRAY 0 +#define PNG_FORMAT_GA PNG_FORMAT_FLAG_ALPHA +#define PNG_FORMAT_AG (PNG_FORMAT_GA|PNG_FORMAT_FLAG_AFIRST) +#define PNG_FORMAT_RGB PNG_FORMAT_FLAG_COLOR +#define PNG_FORMAT_BGR (PNG_FORMAT_FLAG_COLOR|PNG_FORMAT_FLAG_BGR) +#define PNG_FORMAT_RGBA (PNG_FORMAT_RGB|PNG_FORMAT_FLAG_ALPHA) +#define PNG_FORMAT_ARGB (PNG_FORMAT_RGBA|PNG_FORMAT_FLAG_AFIRST) +#define PNG_FORMAT_BGRA (PNG_FORMAT_BGR|PNG_FORMAT_FLAG_ALPHA) +#define PNG_FORMAT_ABGR (PNG_FORMAT_BGRA|PNG_FORMAT_FLAG_AFIRST) + +/* Then the linear 2-byte formats. When naming these "Y" is used to + * indicate a luminance (gray) channel. + */ +#define PNG_FORMAT_LINEAR_Y PNG_FORMAT_FLAG_LINEAR +#define PNG_FORMAT_LINEAR_Y_ALPHA (PNG_FORMAT_FLAG_LINEAR|PNG_FORMAT_FLAG_ALPHA) +#define PNG_FORMAT_LINEAR_RGB (PNG_FORMAT_FLAG_LINEAR|PNG_FORMAT_FLAG_COLOR) +#define PNG_FORMAT_LINEAR_RGB_ALPHA \ + (PNG_FORMAT_FLAG_LINEAR|PNG_FORMAT_FLAG_COLOR|PNG_FORMAT_FLAG_ALPHA) + +/* With color-mapped formats the image data is one byte for each pixel, the byte + * is an index into the color-map which is formatted as above. To obtain a + * color-mapped format it is sufficient just to add the PNG_FOMAT_FLAG_COLORMAP + * to one of the above definitions, or you can use one of the definitions below. + */ +#define PNG_FORMAT_RGB_COLORMAP (PNG_FORMAT_RGB|PNG_FORMAT_FLAG_COLORMAP) +#define PNG_FORMAT_BGR_COLORMAP (PNG_FORMAT_BGR|PNG_FORMAT_FLAG_COLORMAP) +#define PNG_FORMAT_RGBA_COLORMAP (PNG_FORMAT_RGBA|PNG_FORMAT_FLAG_COLORMAP) +#define PNG_FORMAT_ARGB_COLORMAP (PNG_FORMAT_ARGB|PNG_FORMAT_FLAG_COLORMAP) +#define PNG_FORMAT_BGRA_COLORMAP (PNG_FORMAT_BGRA|PNG_FORMAT_FLAG_COLORMAP) +#define PNG_FORMAT_ABGR_COLORMAP (PNG_FORMAT_ABGR|PNG_FORMAT_FLAG_COLORMAP) + +/* PNG_IMAGE macros + * + * These are convenience macros to derive information from a png_image + * structure. The PNG_IMAGE_SAMPLE_ macros return values appropriate to the + * actual image sample values - either the entries in the color-map or the + * pixels in the image. The PNG_IMAGE_PIXEL_ macros return corresponding values + * for the pixels and will always return 1 for color-mapped formats. The + * remaining macros return information about the rows in the image and the + * complete image. + * + * NOTE: All the macros that take a png_image::format parameter are compile time + * constants if the format parameter is, itself, a constant. Therefore these + * macros can be used in array declarations and case labels where required. + * Similarly the macros are also pre-processor constants (sizeof is not used) so + * they can be used in #if tests. + * + * First the information about the samples. + */ +#define PNG_IMAGE_SAMPLE_CHANNELS(fmt)\ + (((fmt)&(PNG_FORMAT_FLAG_COLOR|PNG_FORMAT_FLAG_ALPHA))+1) + /* Return the total number of channels in a given format: 1..4 */ + +#define PNG_IMAGE_SAMPLE_COMPONENT_SIZE(fmt)\ + ((((fmt) & PNG_FORMAT_FLAG_LINEAR) >> 2)+1) + /* Return the size in bytes of a single component of a pixel or color-map + * entry (as appropriate) in the image: 1 or 2. + */ + +#define PNG_IMAGE_SAMPLE_SIZE(fmt)\ + (PNG_IMAGE_SAMPLE_CHANNELS(fmt) * PNG_IMAGE_SAMPLE_COMPONENT_SIZE(fmt)) + /* This is the size of the sample data for one sample. If the image is + * color-mapped it is the size of one color-map entry (and image pixels are + * one byte in size), otherwise it is the size of one image pixel. + */ + +#define PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(fmt)\ + (PNG_IMAGE_SAMPLE_CHANNELS(fmt) * 256) + /* The maximum size of the color-map required by the format expressed in a + * count of components. This can be used to compile-time allocate a + * color-map: + * + * png_uint_16 colormap[PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(linear_fmt)]; + * + * png_byte colormap[PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(sRGB_fmt)]; + * + * Alternatively use the PNG_IMAGE_COLORMAP_SIZE macro below to use the + * information from one of the png_image_begin_read_ APIs and dynamically + * allocate the required memory. + */ + +/* Corresponding information about the pixels */ +#define PNG_IMAGE_PIXEL_(test,fmt)\ + (((fmt)&PNG_FORMAT_FLAG_COLORMAP)?1:test(fmt)) + +#define PNG_IMAGE_PIXEL_CHANNELS(fmt)\ + PNG_IMAGE_PIXEL_(PNG_IMAGE_SAMPLE_CHANNELS,fmt) + /* The number of separate channels (components) in a pixel; 1 for a + * color-mapped image. + */ + +#define PNG_IMAGE_PIXEL_COMPONENT_SIZE(fmt)\ + PNG_IMAGE_PIXEL_(PNG_IMAGE_SAMPLE_COMPONENT_SIZE,fmt) + /* The size, in bytes, of each component in a pixel; 1 for a color-mapped + * image. + */ + +#define PNG_IMAGE_PIXEL_SIZE(fmt) PNG_IMAGE_PIXEL_(PNG_IMAGE_SAMPLE_SIZE,fmt) + /* The size, in bytes, of a complete pixel; 1 for a color-mapped image. */ + +/* Information about the whole row, or whole image */ +#define PNG_IMAGE_ROW_STRIDE(image)\ + (PNG_IMAGE_PIXEL_CHANNELS((image).format) * (image).width) + /* Return the total number of components in a single row of the image; this + * is the minimum 'row stride', the minimum count of components between each + * row. For a color-mapped image this is the minimum number of bytes in a + * row. + * + * WARNING: this macro overflows for some images with more than one component + * and very large image widths. libpng will refuse to process an image where + * this macro would overflow. + */ + +#define PNG_IMAGE_BUFFER_SIZE(image, row_stride)\ + (PNG_IMAGE_PIXEL_COMPONENT_SIZE((image).format)*(image).height*(row_stride)) + /* Return the size, in bytes, of an image buffer given a png_image and a row + * stride - the number of components to leave space for in each row. + * + * WARNING: this macro overflows a 32-bit integer for some large PNG images, + * libpng will refuse to process an image where such an overflow would occur. + */ + +#define PNG_IMAGE_SIZE(image)\ + PNG_IMAGE_BUFFER_SIZE(image, PNG_IMAGE_ROW_STRIDE(image)) + /* Return the size, in bytes, of the image in memory given just a png_image; + * the row stride is the minimum stride required for the image. + */ + +#define PNG_IMAGE_COLORMAP_SIZE(image)\ + (PNG_IMAGE_SAMPLE_SIZE((image).format) * (image).colormap_entries) + /* Return the size, in bytes, of the color-map of this image. If the image + * format is not a color-map format this will return a size sufficient for + * 256 entries in the given format; check PNG_FORMAT_FLAG_COLORMAP if + * you don't want to allocate a color-map in this case. + */ + +/* PNG_IMAGE_FLAG_* + * + * Flags containing additional information about the image are held in the + * 'flags' field of png_image. + */ +#define PNG_IMAGE_FLAG_COLORSPACE_NOT_sRGB 0x01 + /* This indicates that the RGB values of the in-memory bitmap do not + * correspond to the red, green and blue end-points defined by sRGB. + */ + +#define PNG_IMAGE_FLAG_FAST 0x02 + /* On write emphasise speed over compression; the resultant PNG file will be + * larger but will be produced significantly faster, particular for large + * images. Do not use this option for images which will be distributed, only + * used it when producing intermediate files that will be read back in + * repeatedly. For a typical 24-bit image the option will double the read + * speed at the cost of increasing the image size by 25%, however for many + * more compressible images the PNG file can be 10 times larger with only a + * slight speed gain. + */ + +#define PNG_IMAGE_FLAG_16BIT_sRGB 0x04 + /* On read if the image is a 16-bit per component image and there is no gAMA + * or sRGB chunk assume that the components are sRGB encoded. Notice that + * images output by the simplified API always have gamma information; setting + * this flag only affects the interpretation of 16-bit images from an + * external source. It is recommended that the application expose this flag + * to the user; the user can normally easily recognize the difference between + * linear and sRGB encoding. This flag has no effect on write - the data + * passed to the write APIs must have the correct encoding (as defined + * above.) + * + * If the flag is not set (the default) input 16-bit per component data is + * assumed to be linear. + * + * NOTE: the flag can only be set after the png_image_begin_read_ call, + * because that call initializes the 'flags' field. + */ + +#ifdef PNG_SIMPLIFIED_READ_SUPPORTED +/* READ APIs + * --------- + * + * The png_image passed to the read APIs must have been initialized by setting + * the png_controlp field 'opaque' to NULL (or, safer, memset the whole thing.) + */ +#ifdef PNG_STDIO_SUPPORTED +PNG_EXPORT(234, int, png_image_begin_read_from_file, (png_imagep image, + const char *file_name)); + /* The named file is opened for read and the image header is filled in + * from the PNG header in the file. + */ + +PNG_EXPORT(235, int, png_image_begin_read_from_stdio, (png_imagep image, + FILE* file)); + /* The PNG header is read from the stdio FILE object. */ +#endif /* STDIO */ + +PNG_EXPORT(236, int, png_image_begin_read_from_memory, (png_imagep image, + png_const_voidp memory, size_t size)); + /* The PNG header is read from the given memory buffer. */ + +PNG_EXPORT(237, int, png_image_finish_read, (png_imagep image, + png_const_colorp background, void *buffer, png_int_32 row_stride, + void *colormap)); + /* Finish reading the image into the supplied buffer and clean up the + * png_image structure. + * + * row_stride is the step, in byte or 2-byte units as appropriate, + * between adjacent rows. A positive stride indicates that the top-most row + * is first in the buffer - the normal top-down arrangement. A negative + * stride indicates that the bottom-most row is first in the buffer. + * + * background need only be supplied if an alpha channel must be removed from + * a png_byte format and the removal is to be done by compositing on a solid + * color; otherwise it may be NULL and any composition will be done directly + * onto the buffer. The value is an sRGB color to use for the background, + * for grayscale output the green channel is used. + * + * background must be supplied when an alpha channel must be removed from a + * single byte color-mapped output format, in other words if: + * + * 1) The original format from png_image_begin_read_from_* had + * PNG_FORMAT_FLAG_ALPHA set. + * 2) The format set by the application does not. + * 3) The format set by the application has PNG_FORMAT_FLAG_COLORMAP set and + * PNG_FORMAT_FLAG_LINEAR *not* set. + * + * For linear output removing the alpha channel is always done by compositing + * on black and background is ignored. + * + * colormap must be supplied when PNG_FORMAT_FLAG_COLORMAP is set. It must + * be at least the size (in bytes) returned by PNG_IMAGE_COLORMAP_SIZE. + * image->colormap_entries will be updated to the actual number of entries + * written to the colormap; this may be less than the original value. + */ + +PNG_EXPORT(238, void, png_image_free, (png_imagep image)); + /* Free any data allocated by libpng in image->opaque, setting the pointer to + * NULL. May be called at any time after the structure is initialized. + */ +#endif /* SIMPLIFIED_READ */ + +#ifdef PNG_SIMPLIFIED_WRITE_SUPPORTED +/* WRITE APIS + * ---------- + * For write you must initialize a png_image structure to describe the image to + * be written. To do this use memset to set the whole structure to 0 then + * initialize fields describing your image. + * + * version: must be set to PNG_IMAGE_VERSION + * opaque: must be initialized to NULL + * width: image width in pixels + * height: image height in rows + * format: the format of the data (image and color-map) you wish to write + * flags: set to 0 unless one of the defined flags applies; set + * PNG_IMAGE_FLAG_COLORSPACE_NOT_sRGB for color format images where the RGB + * values do not correspond to the colors in sRGB. + * colormap_entries: set to the number of entries in the color-map (0 to 256) + */ +#ifdef PNG_SIMPLIFIED_WRITE_STDIO_SUPPORTED +PNG_EXPORT(239, int, png_image_write_to_file, (png_imagep image, + const char *file, int convert_to_8bit, const void *buffer, + png_int_32 row_stride, const void *colormap)); + /* Write the image to the named file. */ + +PNG_EXPORT(240, int, png_image_write_to_stdio, (png_imagep image, FILE *file, + int convert_to_8_bit, const void *buffer, png_int_32 row_stride, + const void *colormap)); + /* Write the image to the given (FILE*). */ +#endif /* SIMPLIFIED_WRITE_STDIO */ + +/* With all write APIs if image is in one of the linear formats with 16-bit + * data then setting convert_to_8_bit will cause the output to be an 8-bit PNG + * gamma encoded according to the sRGB specification, otherwise a 16-bit linear + * encoded PNG file is written. + * + * With color-mapped data formats the colormap parameter point to a color-map + * with at least image->colormap_entries encoded in the specified format. If + * the format is linear the written PNG color-map will be converted to sRGB + * regardless of the convert_to_8_bit flag. + * + * With all APIs row_stride is handled as in the read APIs - it is the spacing + * from one row to the next in component sized units (1 or 2 bytes) and if + * negative indicates a bottom-up row layout in the buffer. If row_stride is + * zero, libpng will calculate it for you from the image width and number of + * channels. + * + * Note that the write API does not support interlacing, sub-8-bit pixels or + * most ancillary chunks. If you need to write text chunks (e.g. for copyright + * notices) you need to use one of the other APIs. + */ + +PNG_EXPORT(245, int, png_image_write_to_memory, (png_imagep image, void *memory, + png_alloc_size_t * PNG_RESTRICT memory_bytes, int convert_to_8_bit, + const void *buffer, png_int_32 row_stride, const void *colormap)); + /* Write the image to the given memory buffer. The function both writes the + * whole PNG data stream to *memory and updates *memory_bytes with the count + * of bytes written. + * + * 'memory' may be NULL. In this case *memory_bytes is not read however on + * success the number of bytes which would have been written will still be + * stored in *memory_bytes. On failure *memory_bytes will contain 0. + * + * If 'memory' is not NULL it must point to memory[*memory_bytes] of + * writeable memory. + * + * If the function returns success memory[*memory_bytes] (if 'memory' is not + * NULL) contains the written PNG data. *memory_bytes will always be less + * than or equal to the original value. + * + * If the function returns false and *memory_bytes was not changed an error + * occurred during write. If *memory_bytes was changed, or is not 0 if + * 'memory' was NULL, the write would have succeeded but for the memory + * buffer being too small. *memory_bytes contains the required number of + * bytes and will be bigger that the original value. + */ + +#define png_image_write_get_memory_size(image, size, convert_to_8_bit, buffer,\ + row_stride, colormap)\ + png_image_write_to_memory(&(image), 0, &(size), convert_to_8_bit, buffer,\ + row_stride, colormap) + /* Return the amount of memory in 'size' required to compress this image. + * The png_image structure 'image' must be filled in as in the above + * function and must not be changed before the actual write call, the buffer + * and all other parameters must also be identical to that in the final + * write call. The 'size' variable need not be initialized. + * + * NOTE: the macro returns true/false, if false is returned 'size' will be + * set to zero and the write failed and probably will fail if tried again. + */ + +/* You can pre-allocate the buffer by making sure it is of sufficient size + * regardless of the amount of compression achieved. The buffer size will + * always be bigger than the original image and it will never be filled. The + * following macros are provided to assist in allocating the buffer. + */ +#define PNG_IMAGE_DATA_SIZE(image) (PNG_IMAGE_SIZE(image)+(image).height) + /* The number of uncompressed bytes in the PNG byte encoding of the image; + * uncompressing the PNG IDAT data will give this number of bytes. + * + * NOTE: while PNG_IMAGE_SIZE cannot overflow for an image in memory this + * macro can because of the extra bytes used in the PNG byte encoding. You + * need to avoid this macro if your image size approaches 2^30 in width or + * height. The same goes for the remainder of these macros; they all produce + * bigger numbers than the actual in-memory image size. + */ +#ifndef PNG_ZLIB_MAX_SIZE +# define PNG_ZLIB_MAX_SIZE(b) ((b)+(((b)+7U)>>3)+(((b)+63U)>>6)+11U) + /* An upper bound on the number of compressed bytes given 'b' uncompressed + * bytes. This is based on deflateBounds() in zlib; different + * implementations of zlib compression may conceivably produce more data so + * if your zlib implementation is not zlib itself redefine this macro + * appropriately. + */ +#endif + +#define PNG_IMAGE_COMPRESSED_SIZE_MAX(image)\ + PNG_ZLIB_MAX_SIZE((png_alloc_size_t)PNG_IMAGE_DATA_SIZE(image)) + /* An upper bound on the size of the data in the PNG IDAT chunks. */ + +#define PNG_IMAGE_PNG_SIZE_MAX_(image, image_size)\ + ((8U/*sig*/+25U/*IHDR*/+16U/*gAMA*/+44U/*cHRM*/+12U/*IEND*/+\ + (((image).format&PNG_FORMAT_FLAG_COLORMAP)?/*colormap: PLTE, tRNS*/\ + 12U+3U*(image).colormap_entries/*PLTE data*/+\ + (((image).format&PNG_FORMAT_FLAG_ALPHA)?\ + 12U/*tRNS*/+(image).colormap_entries:0U):0U)+\ + 12U)+(12U*((image_size)/PNG_ZBUF_SIZE))/*IDAT*/+(image_size)) + /* A helper for the following macro; if your compiler cannot handle the + * following macro use this one with the result of + * PNG_IMAGE_COMPRESSED_SIZE_MAX(image) as the second argument (most + * compilers should handle this just fine.) + */ + +#define PNG_IMAGE_PNG_SIZE_MAX(image)\ + PNG_IMAGE_PNG_SIZE_MAX_(image, PNG_IMAGE_COMPRESSED_SIZE_MAX(image)) + /* An upper bound on the total length of the PNG data stream for 'image'. + * The result is of type png_alloc_size_t, on 32-bit systems this may + * overflow even though PNG_IMAGE_DATA_SIZE does not overflow; the write will + * run out of buffer space but return a corrected size which should work. + */ +#endif /* SIMPLIFIED_WRITE */ +/******************************************************************************* + * END OF SIMPLIFIED API + ******************************************************************************/ +#endif /* SIMPLIFIED_{READ|WRITE} */ + +/******************************************************************************* + * Section 6: IMPLEMENTATION OPTIONS + ******************************************************************************* + * + * Support for arbitrary implementation-specific optimizations. The API allows + * particular options to be turned on or off. 'Option' is the number of the + * option and 'onoff' is 0 (off) or non-0 (on). The value returned is given + * by the PNG_OPTION_ defines below. + * + * HARDWARE: normally hardware capabilities, such as the Intel SSE instructions, + * are detected at run time, however sometimes it may be impossible + * to do this in user mode, in which case it is necessary to discover + * the capabilities in an OS specific way. Such capabilities are + * listed here when libpng has support for them and must be turned + * ON by the application if present. + * + * SOFTWARE: sometimes software optimizations actually result in performance + * decrease on some architectures or systems, or with some sets of + * PNG images. 'Software' options allow such optimizations to be + * selected at run time. + */ +#ifdef PNG_SET_OPTION_SUPPORTED +#ifdef PNG_ARM_NEON_API_SUPPORTED +# define PNG_ARM_NEON 0 /* HARDWARE: ARM Neon SIMD instructions supported */ +#endif +#define PNG_MAXIMUM_INFLATE_WINDOW 2 /* SOFTWARE: force maximum window */ +#define PNG_SKIP_sRGB_CHECK_PROFILE 4 /* SOFTWARE: Check ICC profile for sRGB */ +#ifdef PNG_MIPS_MSA_API_SUPPORTED +# define PNG_MIPS_MSA 6 /* HARDWARE: MIPS Msa SIMD instructions supported */ +#endif +#ifdef PNG_DISABLE_ADLER32_CHECK_SUPPORTED +# define PNG_IGNORE_ADLER32 8 /* SOFTWARE: disable Adler32 check on IDAT */ +#endif +#ifdef PNG_POWERPC_VSX_API_SUPPORTED +# define PNG_POWERPC_VSX 10 /* HARDWARE: PowerPC VSX SIMD instructions + * supported */ +#endif +#ifdef PNG_MIPS_MMI_API_SUPPORTED +# define PNG_MIPS_MMI 12 /* HARDWARE: MIPS MMI SIMD instructions supported */ +#endif + +#define PNG_OPTION_NEXT 14 /* Next option - numbers must be even */ + +/* Return values: NOTE: there are four values and 'off' is *not* zero */ +#define PNG_OPTION_UNSET 0 /* Unset - defaults to off */ +#define PNG_OPTION_INVALID 1 /* Option number out of range */ +#define PNG_OPTION_OFF 2 +#define PNG_OPTION_ON 3 + +PNG_EXPORT(244, int, png_set_option, (png_structrp png_ptr, int option, + int onoff)); +#endif /* SET_OPTION */ + +/******************************************************************************* + * END OF HARDWARE AND SOFTWARE OPTIONS + ******************************************************************************/ + +/* Maintainer: Put new public prototypes here ^, in libpng.3, in project + * defs, and in scripts/symbols.def. + */ + +/* The last ordinal number (this is the *last* one already used; the next + * one to use is one more than this.) + */ +#ifdef PNG_EXPORT_LAST_ORDINAL + PNG_EXPORT_LAST_ORDINAL(249); +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* PNG_VERSION_INFO_ONLY */ +/* Do not put anything past this line */ +#endif /* PNG_H */ diff --git a/vcpkg/installed/x64-osx/include/pngconf.h b/vcpkg/installed/x64-osx/include/pngconf.h new file mode 100644 index 0000000..000d7b1 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/pngconf.h @@ -0,0 +1,623 @@ + +/* pngconf.h - machine-configurable file for libpng + * + * libpng version 1.6.43 + * + * Copyright (c) 2018-2024 Cosmin Truta + * Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson + * Copyright (c) 1996-1997 Andreas Dilger + * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + * + * This code is released under the libpng license. + * For conditions of distribution and use, see the disclaimer + * and license in png.h + * + * Any machine specific code is near the front of this file, so if you + * are configuring libpng for a machine, you may want to read the section + * starting here down to where it starts to typedef png_color, png_text, + * and png_info. + */ + +#ifndef PNGCONF_H +#define PNGCONF_H + +#ifndef PNG_BUILDING_SYMBOL_TABLE /* else includes may cause problems */ + +/* From libpng 1.6.0 libpng requires an ANSI X3.159-1989 ("ISOC90") compliant C + * compiler for correct compilation. The following header files are required by + * the standard. If your compiler doesn't provide these header files, or they + * do not match the standard, you will need to provide/improve them. + */ +#include +#include + +/* Library header files. These header files are all defined by ISOC90; libpng + * expects conformant implementations, however, an ISOC90 conformant system need + * not provide these header files if the functionality cannot be implemented. + * In this case it will be necessary to disable the relevant parts of libpng in + * the build of pnglibconf.h. + * + * Prior to 1.6.0 string.h was included here; the API changes in 1.6.0 to not + * include this unnecessary header file. + */ + +#ifdef PNG_STDIO_SUPPORTED + /* Required for the definition of FILE: */ +# include +#endif + +#ifdef PNG_SETJMP_SUPPORTED + /* Required for the definition of jmp_buf and the declaration of longjmp: */ +# include +#endif + +#ifdef PNG_CONVERT_tIME_SUPPORTED + /* Required for struct tm: */ +# include +#endif + +#endif /* PNG_BUILDING_SYMBOL_TABLE */ + +/* Prior to 1.6.0, it was possible to turn off 'const' in declarations, + * using PNG_NO_CONST. This is no longer supported. + */ +#define PNG_CONST const /* backward compatibility only */ + +/* This controls optimization of the reading of 16-bit and 32-bit + * values from PNG files. It can be set on a per-app-file basis: it + * just changes whether a macro is used when the function is called. + * The library builder sets the default; if read functions are not + * built into the library the macro implementation is forced on. + */ +#ifndef PNG_READ_INT_FUNCTIONS_SUPPORTED +# define PNG_USE_READ_MACROS +#endif +#if !defined(PNG_NO_USE_READ_MACROS) && !defined(PNG_USE_READ_MACROS) +# if PNG_DEFAULT_READ_MACROS +# define PNG_USE_READ_MACROS +# endif +#endif + +/* COMPILER SPECIFIC OPTIONS. + * + * These options are provided so that a variety of difficult compilers + * can be used. Some are fixed at build time (e.g. PNG_API_RULE + * below) but still have compiler specific implementations, others + * may be changed on a per-file basis when compiling against libpng. + */ + +/* The PNGARG macro was used in versions of libpng prior to 1.6.0 to protect + * against legacy (pre ISOC90) compilers that did not understand function + * prototypes. It is not required for modern C compilers. + */ +#ifndef PNGARG +# define PNGARG(arglist) arglist +#endif + +/* Function calling conventions. + * ============================= + * Normally it is not necessary to specify to the compiler how to call + * a function - it just does it - however on x86 systems derived from + * Microsoft and Borland C compilers ('IBM PC', 'DOS', 'Windows' systems + * and some others) there are multiple ways to call a function and the + * default can be changed on the compiler command line. For this reason + * libpng specifies the calling convention of every exported function and + * every function called via a user supplied function pointer. This is + * done in this file by defining the following macros: + * + * PNGAPI Calling convention for exported functions. + * PNGCBAPI Calling convention for user provided (callback) functions. + * PNGCAPI Calling convention used by the ANSI-C library (required + * for longjmp callbacks and sometimes used internally to + * specify the calling convention for zlib). + * + * These macros should never be overridden. If it is necessary to + * change calling convention in a private build this can be done + * by setting PNG_API_RULE (which defaults to 0) to one of the values + * below to select the correct 'API' variants. + * + * PNG_API_RULE=0 Use PNGCAPI - the 'C' calling convention - throughout. + * This is correct in every known environment. + * PNG_API_RULE=1 Use the operating system convention for PNGAPI and + * the 'C' calling convention (from PNGCAPI) for + * callbacks (PNGCBAPI). This is no longer required + * in any known environment - if it has to be used + * please post an explanation of the problem to the + * libpng mailing list. + * + * These cases only differ if the operating system does not use the C + * calling convention, at present this just means the above cases + * (x86 DOS/Windows systems) and, even then, this does not apply to + * Cygwin running on those systems. + * + * Note that the value must be defined in pnglibconf.h so that what + * the application uses to call the library matches the conventions + * set when building the library. + */ + +/* Symbol export + * ============= + * When building a shared library it is almost always necessary to tell + * the compiler which symbols to export. The png.h macro 'PNG_EXPORT' + * is used to mark the symbols. On some systems these symbols can be + * extracted at link time and need no special processing by the compiler, + * on other systems the symbols are flagged by the compiler and just + * the declaration requires a special tag applied (unfortunately) in a + * compiler dependent way. Some systems can do either. + * + * A small number of older systems also require a symbol from a DLL to + * be flagged to the program that calls it. This is a problem because + * we do not know in the header file included by application code that + * the symbol will come from a shared library, as opposed to a statically + * linked one. For this reason the application must tell us by setting + * the magic flag PNG_USE_DLL to turn on the special processing before + * it includes png.h. + * + * Four additional macros are used to make this happen: + * + * PNG_IMPEXP The magic (if any) to cause a symbol to be exported from + * the build or imported if PNG_USE_DLL is set - compiler + * and system specific. + * + * PNG_EXPORT_TYPE(type) A macro that pre or appends PNG_IMPEXP to + * 'type', compiler specific. + * + * PNG_DLL_EXPORT Set to the magic to use during a libpng build to + * make a symbol exported from the DLL. Not used in the + * public header files; see pngpriv.h for how it is used + * in the libpng build. + * + * PNG_DLL_IMPORT Set to the magic to force the libpng symbols to come + * from a DLL - used to define PNG_IMPEXP when + * PNG_USE_DLL is set. + */ + +/* System specific discovery. + * ========================== + * This code is used at build time to find PNG_IMPEXP, the API settings + * and PNG_EXPORT_TYPE(), it may also set a macro to indicate the DLL + * import processing is possible. On Windows systems it also sets + * compiler-specific macros to the values required to change the calling + * conventions of the various functions. + */ +#if defined(_WIN32) || defined(__WIN32__) || defined(__NT__) || \ + defined(__CYGWIN__) + /* Windows system (DOS doesn't support DLLs). Includes builds under Cygwin or + * MinGW on any architecture currently supported by Windows. Also includes + * Watcom builds but these need special treatment because they are not + * compatible with GCC or Visual C because of different calling conventions. + */ +# if PNG_API_RULE == 2 + /* If this line results in an error, either because __watcall is not + * understood or because of a redefine just below you cannot use *this* + * build of the library with the compiler you are using. *This* build was + * build using Watcom and applications must also be built using Watcom! + */ +# define PNGCAPI __watcall +# endif + +# if defined(__GNUC__) || (defined(_MSC_VER) && (_MSC_VER >= 800)) +# define PNGCAPI __cdecl +# if PNG_API_RULE == 1 + /* If this line results in an error __stdcall is not understood and + * PNG_API_RULE should not have been set to '1'. + */ +# define PNGAPI __stdcall +# endif +# else + /* An older compiler, or one not detected (erroneously) above, + * if necessary override on the command line to get the correct + * variants for the compiler. + */ +# ifndef PNGCAPI +# define PNGCAPI _cdecl +# endif +# if PNG_API_RULE == 1 && !defined(PNGAPI) +# define PNGAPI _stdcall +# endif +# endif /* compiler/api */ + + /* NOTE: PNGCBAPI always defaults to PNGCAPI. */ + +# if defined(PNGAPI) && !defined(PNG_USER_PRIVATEBUILD) +# error "PNG_USER_PRIVATEBUILD must be defined if PNGAPI is changed" +# endif + +# if (defined(_MSC_VER) && _MSC_VER < 800) ||\ + (defined(__BORLANDC__) && __BORLANDC__ < 0x500) + /* older Borland and MSC + * compilers used '__export' and required this to be after + * the type. + */ +# ifndef PNG_EXPORT_TYPE +# define PNG_EXPORT_TYPE(type) type PNG_IMPEXP +# endif +# define PNG_DLL_EXPORT __export +# else /* newer compiler */ +# define PNG_DLL_EXPORT __declspec(dllexport) +# ifndef PNG_DLL_IMPORT +# define PNG_DLL_IMPORT __declspec(dllimport) +# endif +# endif /* compiler */ + +#else /* !Windows */ +# if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__) +# define PNGAPI _System +# else /* !Windows/x86 && !OS/2 */ + /* Use the defaults, or define PNG*API on the command line (but + * this will have to be done for every compile!) + */ +# endif /* other system, !OS/2 */ +#endif /* !Windows/x86 */ + +/* Now do all the defaulting . */ +#ifndef PNGCAPI +# define PNGCAPI +#endif +#ifndef PNGCBAPI +# define PNGCBAPI PNGCAPI +#endif +#ifndef PNGAPI +# define PNGAPI PNGCAPI +#endif + +/* PNG_IMPEXP may be set on the compilation system command line or (if not set) + * then in an internal header file when building the library, otherwise (when + * using the library) it is set here. + */ +#ifndef PNG_IMPEXP +# if defined(PNG_USE_DLL) && defined(PNG_DLL_IMPORT) + /* This forces use of a DLL, disallowing static linking */ +# define PNG_IMPEXP PNG_DLL_IMPORT +# endif + +# ifndef PNG_IMPEXP +# define PNG_IMPEXP +# endif +#endif + +/* In 1.5.2 the definition of PNG_FUNCTION has been changed to always treat + * 'attributes' as a storage class - the attributes go at the start of the + * function definition, and attributes are always appended regardless of the + * compiler. This considerably simplifies these macros but may cause problems + * if any compilers both need function attributes and fail to handle them as + * a storage class (this is unlikely.) + */ +#ifndef PNG_FUNCTION +# define PNG_FUNCTION(type, name, args, attributes) attributes type name args +#endif + +#ifndef PNG_EXPORT_TYPE +# define PNG_EXPORT_TYPE(type) PNG_IMPEXP type +#endif + + /* The ordinal value is only relevant when preprocessing png.h for symbol + * table entries, so we discard it here. See the .dfn files in the + * scripts directory. + */ + +#ifndef PNG_EXPORTA +# define PNG_EXPORTA(ordinal, type, name, args, attributes) \ + PNG_FUNCTION(PNG_EXPORT_TYPE(type), (PNGAPI name), PNGARG(args), \ + PNG_LINKAGE_API attributes) +#endif + +/* ANSI-C (C90) does not permit a macro to be invoked with an empty argument, + * so make something non-empty to satisfy the requirement: + */ +#define PNG_EMPTY /*empty list*/ + +#define PNG_EXPORT(ordinal, type, name, args) \ + PNG_EXPORTA(ordinal, type, name, args, PNG_EMPTY) + +/* Use PNG_REMOVED to comment out a removed interface. */ +#ifndef PNG_REMOVED +# define PNG_REMOVED(ordinal, type, name, args, attributes) +#endif + +#ifndef PNG_CALLBACK +# define PNG_CALLBACK(type, name, args) type (PNGCBAPI name) PNGARG(args) +#endif + +/* Support for compiler specific function attributes. These are used + * so that where compiler support is available incorrect use of API + * functions in png.h will generate compiler warnings. + * + * Added at libpng-1.2.41. + */ + +#ifndef PNG_NO_PEDANTIC_WARNINGS +# ifndef PNG_PEDANTIC_WARNINGS_SUPPORTED +# define PNG_PEDANTIC_WARNINGS_SUPPORTED +# endif +#endif + +#ifdef PNG_PEDANTIC_WARNINGS_SUPPORTED + /* Support for compiler specific function attributes. These are used + * so that where compiler support is available, incorrect use of API + * functions in png.h will generate compiler warnings. Added at libpng + * version 1.2.41. Disabling these removes the warnings but may also produce + * less efficient code. + */ +# if defined(__clang__) && defined(__has_attribute) + /* Clang defines both __clang__ and __GNUC__. Check __clang__ first. */ +# if !defined(PNG_USE_RESULT) && __has_attribute(__warn_unused_result__) +# define PNG_USE_RESULT __attribute__((__warn_unused_result__)) +# endif +# if !defined(PNG_NORETURN) && __has_attribute(__noreturn__) +# define PNG_NORETURN __attribute__((__noreturn__)) +# endif +# if !defined(PNG_ALLOCATED) && __has_attribute(__malloc__) +# define PNG_ALLOCATED __attribute__((__malloc__)) +# endif +# if !defined(PNG_DEPRECATED) && __has_attribute(__deprecated__) +# define PNG_DEPRECATED __attribute__((__deprecated__)) +# endif +# if !defined(PNG_PRIVATE) +# ifdef __has_extension +# if __has_extension(attribute_unavailable_with_message) +# define PNG_PRIVATE __attribute__((__unavailable__(\ + "This function is not exported by libpng."))) +# endif +# endif +# endif +# ifndef PNG_RESTRICT +# define PNG_RESTRICT __restrict +# endif + +# elif defined(__GNUC__) +# ifndef PNG_USE_RESULT +# define PNG_USE_RESULT __attribute__((__warn_unused_result__)) +# endif +# ifndef PNG_NORETURN +# define PNG_NORETURN __attribute__((__noreturn__)) +# endif +# if __GNUC__ >= 3 +# ifndef PNG_ALLOCATED +# define PNG_ALLOCATED __attribute__((__malloc__)) +# endif +# ifndef PNG_DEPRECATED +# define PNG_DEPRECATED __attribute__((__deprecated__)) +# endif +# ifndef PNG_PRIVATE +# if 0 /* Doesn't work so we use deprecated instead*/ +# define PNG_PRIVATE \ + __attribute__((warning("This function is not exported by libpng."))) +# else +# define PNG_PRIVATE \ + __attribute__((__deprecated__)) +# endif +# endif +# if ((__GNUC__ > 3) || !defined(__GNUC_MINOR__) || (__GNUC_MINOR__ >= 1)) +# ifndef PNG_RESTRICT +# define PNG_RESTRICT __restrict +# endif +# endif /* __GNUC__.__GNUC_MINOR__ > 3.0 */ +# endif /* __GNUC__ >= 3 */ + +# elif defined(_MSC_VER) && (_MSC_VER >= 1300) +# ifndef PNG_USE_RESULT +# define PNG_USE_RESULT /* not supported */ +# endif +# ifndef PNG_NORETURN +# define PNG_NORETURN __declspec(noreturn) +# endif +# ifndef PNG_ALLOCATED +# if (_MSC_VER >= 1400) +# define PNG_ALLOCATED __declspec(restrict) +# endif +# endif +# ifndef PNG_DEPRECATED +# define PNG_DEPRECATED __declspec(deprecated) +# endif +# ifndef PNG_PRIVATE +# define PNG_PRIVATE __declspec(deprecated) +# endif +# ifndef PNG_RESTRICT +# if (_MSC_VER >= 1400) +# define PNG_RESTRICT __restrict +# endif +# endif + +# elif defined(__WATCOMC__) +# ifndef PNG_RESTRICT +# define PNG_RESTRICT __restrict +# endif +# endif +#endif /* PNG_PEDANTIC_WARNINGS */ + +#ifndef PNG_DEPRECATED +# define PNG_DEPRECATED /* Use of this function is deprecated */ +#endif +#ifndef PNG_USE_RESULT +# define PNG_USE_RESULT /* The result of this function must be checked */ +#endif +#ifndef PNG_NORETURN +# define PNG_NORETURN /* This function does not return */ +#endif +#ifndef PNG_ALLOCATED +# define PNG_ALLOCATED /* The result of the function is new memory */ +#endif +#ifndef PNG_PRIVATE +# define PNG_PRIVATE /* This is a private libpng function */ +#endif +#ifndef PNG_RESTRICT +# define PNG_RESTRICT /* The C99 "restrict" feature */ +#endif + +#ifndef PNG_FP_EXPORT /* A floating point API. */ +# ifdef PNG_FLOATING_POINT_SUPPORTED +# define PNG_FP_EXPORT(ordinal, type, name, args)\ + PNG_EXPORT(ordinal, type, name, args); +# else /* No floating point APIs */ +# define PNG_FP_EXPORT(ordinal, type, name, args) +# endif +#endif +#ifndef PNG_FIXED_EXPORT /* A fixed point API. */ +# ifdef PNG_FIXED_POINT_SUPPORTED +# define PNG_FIXED_EXPORT(ordinal, type, name, args)\ + PNG_EXPORT(ordinal, type, name, args); +# else /* No fixed point APIs */ +# define PNG_FIXED_EXPORT(ordinal, type, name, args) +# endif +#endif + +#ifndef PNG_BUILDING_SYMBOL_TABLE +/* Some typedefs to get us started. These should be safe on most of the common + * platforms. + * + * png_uint_32 and png_int_32 may, currently, be larger than required to hold a + * 32-bit value however this is not normally advisable. + * + * png_uint_16 and png_int_16 should always be two bytes in size - this is + * verified at library build time. + * + * png_byte must always be one byte in size. + * + * The checks below use constants from limits.h, as defined by the ISOC90 + * standard. + */ +#if CHAR_BIT == 8 && UCHAR_MAX == 255 + typedef unsigned char png_byte; +#else +# error "libpng requires 8-bit bytes" +#endif + +#if INT_MIN == -32768 && INT_MAX == 32767 + typedef int png_int_16; +#elif SHRT_MIN == -32768 && SHRT_MAX == 32767 + typedef short png_int_16; +#else +# error "libpng requires a signed 16-bit type" +#endif + +#if UINT_MAX == 65535 + typedef unsigned int png_uint_16; +#elif USHRT_MAX == 65535 + typedef unsigned short png_uint_16; +#else +# error "libpng requires an unsigned 16-bit type" +#endif + +#if INT_MIN < -2147483646 && INT_MAX > 2147483646 + typedef int png_int_32; +#elif LONG_MIN < -2147483646 && LONG_MAX > 2147483646 + typedef long int png_int_32; +#else +# error "libpng requires a signed 32-bit (or more) type" +#endif + +#if UINT_MAX > 4294967294U + typedef unsigned int png_uint_32; +#elif ULONG_MAX > 4294967294U + typedef unsigned long int png_uint_32; +#else +# error "libpng requires an unsigned 32-bit (or more) type" +#endif + +/* Prior to 1.6.0, it was possible to disable the use of size_t and ptrdiff_t. + * From 1.6.0 onwards, an ISO C90 compiler, as well as a standard-compliant + * behavior of sizeof and ptrdiff_t are required. + * The legacy typedefs are provided here for backwards compatibility. + */ +typedef size_t png_size_t; +typedef ptrdiff_t png_ptrdiff_t; + +/* libpng needs to know the maximum value of 'size_t' and this controls the + * definition of png_alloc_size_t, below. This maximum value of size_t limits + * but does not control the maximum allocations the library makes - there is + * direct application control of this through png_set_user_limits(). + */ +#ifndef PNG_SMALL_SIZE_T + /* Compiler specific tests for systems where size_t is known to be less than + * 32 bits (some of these systems may no longer work because of the lack of + * 'far' support; see above.) + */ +# if (defined(__TURBOC__) && !defined(__FLAT__)) ||\ + (defined(_MSC_VER) && defined(MAXSEG_64K)) +# define PNG_SMALL_SIZE_T +# endif +#endif + +/* png_alloc_size_t is guaranteed to be no smaller than size_t, and no smaller + * than png_uint_32. Casts from size_t or png_uint_32 to png_alloc_size_t are + * not necessary; in fact, it is recommended not to use them at all, so that + * the compiler can complain when something turns out to be problematic. + * + * Casts in the other direction (from png_alloc_size_t to size_t or + * png_uint_32) should be explicitly applied; however, we do not expect to + * encounter practical situations that require such conversions. + * + * PNG_SMALL_SIZE_T must be defined if the maximum value of size_t is less than + * 4294967295 - i.e. less than the maximum value of png_uint_32. + */ +#ifdef PNG_SMALL_SIZE_T + typedef png_uint_32 png_alloc_size_t; +#else + typedef size_t png_alloc_size_t; +#endif + +/* Prior to 1.6.0 libpng offered limited support for Microsoft C compiler + * implementations of Intel CPU specific support of user-mode segmented address + * spaces, where 16-bit pointers address more than 65536 bytes of memory using + * separate 'segment' registers. The implementation requires two different + * types of pointer (only one of which includes the segment value.) + * + * If required this support is available in version 1.2 of libpng and may be + * available in versions through 1.5, although the correctness of the code has + * not been verified recently. + */ + +/* Typedef for floating-point numbers that are converted to fixed-point with a + * multiple of 100,000, e.g., gamma + */ +typedef png_int_32 png_fixed_point; + +/* Add typedefs for pointers */ +typedef void * png_voidp; +typedef const void * png_const_voidp; +typedef png_byte * png_bytep; +typedef const png_byte * png_const_bytep; +typedef png_uint_32 * png_uint_32p; +typedef const png_uint_32 * png_const_uint_32p; +typedef png_int_32 * png_int_32p; +typedef const png_int_32 * png_const_int_32p; +typedef png_uint_16 * png_uint_16p; +typedef const png_uint_16 * png_const_uint_16p; +typedef png_int_16 * png_int_16p; +typedef const png_int_16 * png_const_int_16p; +typedef char * png_charp; +typedef const char * png_const_charp; +typedef png_fixed_point * png_fixed_point_p; +typedef const png_fixed_point * png_const_fixed_point_p; +typedef size_t * png_size_tp; +typedef const size_t * png_const_size_tp; + +#ifdef PNG_STDIO_SUPPORTED +typedef FILE * png_FILE_p; +#endif + +#ifdef PNG_FLOATING_POINT_SUPPORTED +typedef double * png_doublep; +typedef const double * png_const_doublep; +#endif + +/* Pointers to pointers; i.e. arrays */ +typedef png_byte * * png_bytepp; +typedef png_uint_32 * * png_uint_32pp; +typedef png_int_32 * * png_int_32pp; +typedef png_uint_16 * * png_uint_16pp; +typedef png_int_16 * * png_int_16pp; +typedef const char * * png_const_charpp; +typedef char * * png_charpp; +typedef png_fixed_point * * png_fixed_point_pp; +#ifdef PNG_FLOATING_POINT_SUPPORTED +typedef double * * png_doublepp; +#endif + +/* Pointers to pointers to pointers; i.e., pointer to array */ +typedef char * * * png_charppp; + +#endif /* PNG_BUILDING_SYMBOL_TABLE */ + +#endif /* PNGCONF_H */ diff --git a/vcpkg/installed/x64-osx/include/pnglibconf.h b/vcpkg/installed/x64-osx/include/pnglibconf.h new file mode 100644 index 0000000..c62c497 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/pnglibconf.h @@ -0,0 +1,224 @@ +/* pnglibconf.h - library build configuration */ + +/* libpng version 1.6.43 */ + +/* Copyright (c) 2018-2024 Cosmin Truta */ +/* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson */ + +/* This code is released under the libpng license. */ +/* For conditions of distribution and use, see the disclaimer */ +/* and license in png.h */ + +/* pnglibconf.h */ +/* Machine generated file: DO NOT EDIT */ +/* Derived from: scripts/pnglibconf.dfa */ +#ifndef PNGLCONF_H +#define PNGLCONF_H +/* options */ +#define PNG_16BIT_SUPPORTED +#define PNG_ALIGNED_MEMORY_SUPPORTED +/*#undef PNG_ARM_NEON_API_SUPPORTED*/ +/*#undef PNG_ARM_NEON_CHECK_SUPPORTED*/ +#define PNG_BENIGN_ERRORS_SUPPORTED +#define PNG_BENIGN_READ_ERRORS_SUPPORTED +/*#undef PNG_BENIGN_WRITE_ERRORS_SUPPORTED*/ +#define PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED +#define PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED +#define PNG_COLORSPACE_SUPPORTED +#define PNG_CONSOLE_IO_SUPPORTED +#define PNG_CONVERT_tIME_SUPPORTED +/*#undef PNG_DISABLE_ADLER32_CHECK_SUPPORTED*/ +#define PNG_EASY_ACCESS_SUPPORTED +/*#undef PNG_ERROR_NUMBERS_SUPPORTED*/ +#define PNG_ERROR_TEXT_SUPPORTED +#define PNG_FIXED_POINT_SUPPORTED +#define PNG_FLOATING_ARITHMETIC_SUPPORTED +#define PNG_FLOATING_POINT_SUPPORTED +#define PNG_FORMAT_AFIRST_SUPPORTED +#define PNG_FORMAT_BGR_SUPPORTED +#define PNG_GAMMA_SUPPORTED +#define PNG_GET_PALETTE_MAX_SUPPORTED +#define PNG_HANDLE_AS_UNKNOWN_SUPPORTED +#define PNG_INCH_CONVERSIONS_SUPPORTED +#define PNG_INFO_IMAGE_SUPPORTED +#define PNG_IO_STATE_SUPPORTED +/*#undef PNG_MIPS_MMI_API_SUPPORTED*/ +/*#undef PNG_MIPS_MMI_CHECK_SUPPORTED*/ +/*#undef PNG_MIPS_MSA_API_SUPPORTED*/ +/*#undef PNG_MIPS_MSA_CHECK_SUPPORTED*/ +#define PNG_MNG_FEATURES_SUPPORTED +#define PNG_POINTER_INDEXING_SUPPORTED +/*#undef PNG_POWERPC_VSX_API_SUPPORTED*/ +/*#undef PNG_POWERPC_VSX_CHECK_SUPPORTED*/ +#define PNG_PROGRESSIVE_READ_SUPPORTED +#define PNG_READ_16BIT_SUPPORTED +#define PNG_READ_ALPHA_MODE_SUPPORTED +#define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED +#define PNG_READ_BACKGROUND_SUPPORTED +#define PNG_READ_BGR_SUPPORTED +#define PNG_READ_CHECK_FOR_INVALID_INDEX_SUPPORTED +#define PNG_READ_COMPOSITE_NODIV_SUPPORTED +#define PNG_READ_COMPRESSED_TEXT_SUPPORTED +#define PNG_READ_EXPAND_16_SUPPORTED +#define PNG_READ_EXPAND_SUPPORTED +#define PNG_READ_FILLER_SUPPORTED +#define PNG_READ_GAMMA_SUPPORTED +#define PNG_READ_GET_PALETTE_MAX_SUPPORTED +#define PNG_READ_GRAY_TO_RGB_SUPPORTED +#define PNG_READ_INTERLACING_SUPPORTED +#define PNG_READ_INT_FUNCTIONS_SUPPORTED +#define PNG_READ_INVERT_ALPHA_SUPPORTED +#define PNG_READ_INVERT_SUPPORTED +#define PNG_READ_OPT_PLTE_SUPPORTED +#define PNG_READ_PACKSWAP_SUPPORTED +#define PNG_READ_PACK_SUPPORTED +#define PNG_READ_QUANTIZE_SUPPORTED +#define PNG_READ_RGB_TO_GRAY_SUPPORTED +#define PNG_READ_SCALE_16_TO_8_SUPPORTED +#define PNG_READ_SHIFT_SUPPORTED +#define PNG_READ_STRIP_16_TO_8_SUPPORTED +#define PNG_READ_STRIP_ALPHA_SUPPORTED +#define PNG_READ_SUPPORTED +#define PNG_READ_SWAP_ALPHA_SUPPORTED +#define PNG_READ_SWAP_SUPPORTED +#define PNG_READ_TEXT_SUPPORTED +#define PNG_READ_TRANSFORMS_SUPPORTED +#define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_READ_USER_CHUNKS_SUPPORTED +#define PNG_READ_USER_TRANSFORM_SUPPORTED +#define PNG_READ_bKGD_SUPPORTED +#define PNG_READ_cHRM_SUPPORTED +#define PNG_READ_eXIf_SUPPORTED +#define PNG_READ_gAMA_SUPPORTED +#define PNG_READ_hIST_SUPPORTED +#define PNG_READ_iCCP_SUPPORTED +#define PNG_READ_iTXt_SUPPORTED +#define PNG_READ_oFFs_SUPPORTED +#define PNG_READ_pCAL_SUPPORTED +#define PNG_READ_pHYs_SUPPORTED +#define PNG_READ_sBIT_SUPPORTED +#define PNG_READ_sCAL_SUPPORTED +#define PNG_READ_sPLT_SUPPORTED +#define PNG_READ_sRGB_SUPPORTED +#define PNG_READ_tEXt_SUPPORTED +#define PNG_READ_tIME_SUPPORTED +#define PNG_READ_tRNS_SUPPORTED +#define PNG_READ_zTXt_SUPPORTED +#define PNG_SAVE_INT_32_SUPPORTED +#define PNG_SAVE_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_SEQUENTIAL_READ_SUPPORTED +#define PNG_SETJMP_SUPPORTED +#define PNG_SET_OPTION_SUPPORTED +#define PNG_SET_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_SET_USER_LIMITS_SUPPORTED +#define PNG_SIMPLIFIED_READ_AFIRST_SUPPORTED +#define PNG_SIMPLIFIED_READ_BGR_SUPPORTED +#define PNG_SIMPLIFIED_READ_SUPPORTED +#define PNG_SIMPLIFIED_WRITE_AFIRST_SUPPORTED +#define PNG_SIMPLIFIED_WRITE_BGR_SUPPORTED +#define PNG_SIMPLIFIED_WRITE_STDIO_SUPPORTED +#define PNG_SIMPLIFIED_WRITE_SUPPORTED +#define PNG_STDIO_SUPPORTED +#define PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_TEXT_SUPPORTED +#define PNG_TIME_RFC1123_SUPPORTED +#define PNG_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_USER_CHUNKS_SUPPORTED +#define PNG_USER_LIMITS_SUPPORTED +#define PNG_USER_MEM_SUPPORTED +#define PNG_USER_TRANSFORM_INFO_SUPPORTED +#define PNG_USER_TRANSFORM_PTR_SUPPORTED +#define PNG_WARNINGS_SUPPORTED +#define PNG_WRITE_16BIT_SUPPORTED +#define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED +#define PNG_WRITE_BGR_SUPPORTED +#define PNG_WRITE_CHECK_FOR_INVALID_INDEX_SUPPORTED +#define PNG_WRITE_COMPRESSED_TEXT_SUPPORTED +#define PNG_WRITE_CUSTOMIZE_COMPRESSION_SUPPORTED +#define PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED +#define PNG_WRITE_FILLER_SUPPORTED +#define PNG_WRITE_FILTER_SUPPORTED +#define PNG_WRITE_FLUSH_SUPPORTED +#define PNG_WRITE_GET_PALETTE_MAX_SUPPORTED +#define PNG_WRITE_INTERLACING_SUPPORTED +#define PNG_WRITE_INT_FUNCTIONS_SUPPORTED +#define PNG_WRITE_INVERT_ALPHA_SUPPORTED +#define PNG_WRITE_INVERT_SUPPORTED +#define PNG_WRITE_OPTIMIZE_CMF_SUPPORTED +#define PNG_WRITE_PACKSWAP_SUPPORTED +#define PNG_WRITE_PACK_SUPPORTED +#define PNG_WRITE_SHIFT_SUPPORTED +#define PNG_WRITE_SUPPORTED +#define PNG_WRITE_SWAP_ALPHA_SUPPORTED +#define PNG_WRITE_SWAP_SUPPORTED +#define PNG_WRITE_TEXT_SUPPORTED +#define PNG_WRITE_TRANSFORMS_SUPPORTED +#define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_WRITE_USER_TRANSFORM_SUPPORTED +#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED +#define PNG_WRITE_bKGD_SUPPORTED +#define PNG_WRITE_cHRM_SUPPORTED +#define PNG_WRITE_eXIf_SUPPORTED +#define PNG_WRITE_gAMA_SUPPORTED +#define PNG_WRITE_hIST_SUPPORTED +#define PNG_WRITE_iCCP_SUPPORTED +#define PNG_WRITE_iTXt_SUPPORTED +#define PNG_WRITE_oFFs_SUPPORTED +#define PNG_WRITE_pCAL_SUPPORTED +#define PNG_WRITE_pHYs_SUPPORTED +#define PNG_WRITE_sBIT_SUPPORTED +#define PNG_WRITE_sCAL_SUPPORTED +#define PNG_WRITE_sPLT_SUPPORTED +#define PNG_WRITE_sRGB_SUPPORTED +#define PNG_WRITE_tEXt_SUPPORTED +#define PNG_WRITE_tIME_SUPPORTED +#define PNG_WRITE_tRNS_SUPPORTED +#define PNG_WRITE_zTXt_SUPPORTED +#define PNG_bKGD_SUPPORTED +#define PNG_cHRM_SUPPORTED +#define PNG_eXIf_SUPPORTED +#define PNG_gAMA_SUPPORTED +#define PNG_hIST_SUPPORTED +#define PNG_iCCP_SUPPORTED +#define PNG_iTXt_SUPPORTED +#define PNG_oFFs_SUPPORTED +#define PNG_pCAL_SUPPORTED +#define PNG_pHYs_SUPPORTED +#define PNG_sBIT_SUPPORTED +#define PNG_sCAL_SUPPORTED +#define PNG_sPLT_SUPPORTED +#define PNG_sRGB_SUPPORTED +#define PNG_tEXt_SUPPORTED +#define PNG_tIME_SUPPORTED +#define PNG_tRNS_SUPPORTED +#define PNG_zTXt_SUPPORTED +/* end of options */ +/* settings */ +#define PNG_API_RULE 0 +#define PNG_DEFAULT_READ_MACROS 1 +#define PNG_GAMMA_THRESHOLD_FIXED 5000 +#define PNG_IDAT_READ_SIZE PNG_ZBUF_SIZE +#define PNG_INFLATE_BUF_SIZE 1024 +#define PNG_LINKAGE_API extern +#define PNG_LINKAGE_CALLBACK extern +#define PNG_LINKAGE_DATA extern +#define PNG_LINKAGE_FUNCTION extern +#define PNG_MAX_GAMMA_8 11 +#define PNG_QUANTIZE_BLUE_BITS 5 +#define PNG_QUANTIZE_GREEN_BITS 5 +#define PNG_QUANTIZE_RED_BITS 5 +#define PNG_TEXT_Z_DEFAULT_COMPRESSION (-1) +#define PNG_TEXT_Z_DEFAULT_STRATEGY 0 +#define PNG_USER_CHUNK_CACHE_MAX 1000 +#define PNG_USER_CHUNK_MALLOC_MAX 8000000 +#define PNG_USER_HEIGHT_MAX 1000000 +#define PNG_USER_WIDTH_MAX 1000000 +#define PNG_ZBUF_SIZE 8192 +#define PNG_ZLIB_VERNUM 0x1310 +#define PNG_Z_DEFAULT_COMPRESSION (-1) +#define PNG_Z_DEFAULT_NOFILTER_STRATEGY 0 +#define PNG_Z_DEFAULT_STRATEGY 1 +#define PNG_sCAL_PRECISION 5 +#define PNG_sRGB_PROFILE_CHECKS 2 +/* end of settings */ +#endif /* PNGLCONF_H */ diff --git a/vcpkg/installed/x64-osx/include/tiff.h b/vcpkg/installed/x64-osx/include/tiff.h new file mode 100644 index 0000000..d8da33d --- /dev/null +++ b/vcpkg/installed/x64-osx/include/tiff.h @@ -0,0 +1,899 @@ +/* + * Copyright (c) 1988-1997 Sam Leffler + * Copyright (c) 1991-1997 Silicon Graphics, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and + * its documentation for any purpose is hereby granted without fee, provided + * that (i) the above copyright notices and this permission notice appear in + * all copies of the software and related documentation, and (ii) the names of + * Sam Leffler and Silicon Graphics may not be used in any advertising or + * publicity relating to the software without the specific, prior written + * permission of Sam Leffler and Silicon Graphics. + * + * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, + * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY + * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + * + * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR + * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF + * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifndef _TIFF_ +#define _TIFF_ + +#include "tiffconf.h" + +/* + * Tag Image File Format (TIFF) + * + * Based on Rev 6.0 from: + * Developer's Desk + * Aldus Corporation + * 411 First Ave. South + * Suite 200 + * Seattle, WA 98104 + * 206-622-5500 + * + * (http://partners.adobe.com/asn/developer/PDFS/TN/TIFF6.pdf) + * + * For BigTIFF design notes see the following links + * http://www.remotesensing.org/libtiff/bigtiffdesign.html + * http://www.awaresystems.be/imaging/tiff/bigtiff.html + */ + +#define TIFF_VERSION_CLASSIC 42 +#define TIFF_VERSION_BIG 43 + +#define TIFF_BIGENDIAN 0x4d4d +#define TIFF_LITTLEENDIAN 0x4949 +#define MDI_LITTLEENDIAN 0x5045 +#define MDI_BIGENDIAN 0x4550 + +/* + * Intrinsic data types required by the file format: + * + * 8-bit quantities int8_t/uint_8_t + * 16-bit quantities int16_t/uint_16_t + * 32-bit quantities int32_t/uint_32_t + * 64-bit quantities int64_t/uint_64_t + * strings unsigned char* + */ +#ifdef __GNUC__ +#define TIFF_GCC_DEPRECATED __attribute__((deprecated)) +#else +#define TIFF_GCC_DEPRECATED +#endif +#ifdef _MSC_VER +#define TIFF_MSC_DEPRECATED \ + __declspec(deprecated("libtiff type deprecated; please use corresponding " \ + "C99 stdint.h type")) +#else +#define TIFF_MSC_DEPRECATED +#endif + +#ifndef TIFF_DISABLE_DEPRECATED +typedef TIFF_MSC_DEPRECATED int8_t int8 TIFF_GCC_DEPRECATED; +typedef TIFF_MSC_DEPRECATED uint8_t uint8 TIFF_GCC_DEPRECATED; + +typedef TIFF_MSC_DEPRECATED int16_t int16 TIFF_GCC_DEPRECATED; +typedef TIFF_MSC_DEPRECATED uint16_t uint16 TIFF_GCC_DEPRECATED; + +typedef TIFF_MSC_DEPRECATED int32_t int32 TIFF_GCC_DEPRECATED; +typedef TIFF_MSC_DEPRECATED uint32_t uint32 TIFF_GCC_DEPRECATED; + +typedef TIFF_MSC_DEPRECATED int64_t int64 TIFF_GCC_DEPRECATED; +typedef TIFF_MSC_DEPRECATED uint64_t uint64 TIFF_GCC_DEPRECATED; +#endif /* TIFF_DISABLE_DEPRECATED */ + +/* + * Some types as promoted in a variable argument list + * We use uint16_vap rather then directly using int, because this way + * we document the type we actually want to pass through, conceptually, + * rather then confusing the issue by merely stating the type it gets + * promoted to + */ + +typedef int uint16_vap; + +/* + * TIFF header. + */ +typedef struct +{ + uint16_t tiff_magic; /* magic number (defines byte order) */ + uint16_t tiff_version; /* TIFF version number */ +} TIFFHeaderCommon; +typedef struct +{ + uint16_t tiff_magic; /* magic number (defines byte order) */ + uint16_t tiff_version; /* TIFF version number */ + uint32_t tiff_diroff; /* byte offset to first directory */ +} TIFFHeaderClassic; +typedef struct +{ + uint16_t tiff_magic; /* magic number (defines byte order) */ + uint16_t tiff_version; /* TIFF version number */ + uint16_t tiff_offsetsize; /* size of offsets, should be 8 */ + uint16_t tiff_unused; /* unused word, should be 0 */ + uint64_t tiff_diroff; /* byte offset to first directory */ +} TIFFHeaderBig; + +/* + * NB: In the comments below, + * - items marked with a + are obsoleted by revision 5.0, + * - items marked with a ! are introduced in revision 6.0. + * - items marked with a % are introduced post revision 6.0. + * - items marked with a $ are obsoleted by revision 6.0. + * - items marked with a & are introduced by Adobe DNG specification. + */ + +/* + * Tag data type information. + * + * Note: RATIONALs are the ratio of two 32-bit integer values. + *--: + * Note2: TIFF_IFD8 data type is used in tiffFields[]-tag definition in order to + distinguish the write-handling of those tags between ClassicTIFF and BigTiff: + For ClassicTIFF libtiff writes a 32-bit value and the TIFF_IFD + type-id into the file For BigTIFF libtiff writes a 64-bit value and the + TIFF_IFD8 type-id into the file + */ +typedef enum +{ + TIFF_NOTYPE = 0, /* placeholder */ + TIFF_BYTE = 1, /* 8-bit unsigned integer */ + TIFF_ASCII = 2, /* 8-bit bytes w/ last byte null */ + TIFF_SHORT = 3, /* 16-bit unsigned integer */ + TIFF_LONG = 4, /* 32-bit unsigned integer */ + TIFF_RATIONAL = 5, /* 64-bit unsigned fraction */ + TIFF_SBYTE = 6, /* !8-bit signed integer */ + TIFF_UNDEFINED = 7, /* !8-bit untyped data */ + TIFF_SSHORT = 8, /* !16-bit signed integer */ + TIFF_SLONG = 9, /* !32-bit signed integer */ + TIFF_SRATIONAL = 10, /* !64-bit signed fraction */ + TIFF_FLOAT = 11, /* !32-bit IEEE floating point */ + TIFF_DOUBLE = 12, /* !64-bit IEEE floating point */ + TIFF_IFD = 13, /* %32-bit unsigned integer (offset) */ + TIFF_LONG8 = 16, /* BigTIFF 64-bit unsigned integer */ + TIFF_SLONG8 = 17, /* BigTIFF 64-bit signed integer */ + TIFF_IFD8 = 18 /* BigTIFF 64-bit unsigned integer (offset) */ +} TIFFDataType; + +/* + * TIFF Tag Definitions. + */ +/* clang-format off */ /* for better readability of tag comments */ +#define TIFFTAG_SUBFILETYPE 254 /* subfile data descriptor */ +#define FILETYPE_REDUCEDIMAGE 0x1 /* reduced resolution version */ +#define FILETYPE_PAGE 0x2 /* one page of many */ +#define FILETYPE_MASK 0x4 /* transparency mask */ +#define TIFFTAG_OSUBFILETYPE 255 /* +kind of data in subfile */ +#define OFILETYPE_IMAGE 1 /* full resolution image data */ +#define OFILETYPE_REDUCEDIMAGE 2 /* reduced size image data */ +#define OFILETYPE_PAGE 3 /* one page of many */ +#define TIFFTAG_IMAGEWIDTH 256 /* image width in pixels */ +#define TIFFTAG_IMAGELENGTH 257 /* image height in pixels */ +#define TIFFTAG_BITSPERSAMPLE 258 /* bits per channel (sample) */ +#define TIFFTAG_COMPRESSION 259 /* data compression technique */ +#define COMPRESSION_NONE 1 /* dump mode */ +#define COMPRESSION_CCITTRLE 2 /* CCITT modified Huffman RLE */ +#define COMPRESSION_CCITTFAX3 3 /* CCITT Group 3 fax encoding */ +#define COMPRESSION_CCITT_T4 3 /* CCITT T.4 (TIFF 6 name) */ +#define COMPRESSION_CCITTFAX4 4 /* CCITT Group 4 fax encoding */ +#define COMPRESSION_CCITT_T6 4 /* CCITT T.6 (TIFF 6 name) */ +#define COMPRESSION_LZW 5 /* Lempel-Ziv & Welch */ +#define COMPRESSION_OJPEG 6 /* !6.0 JPEG */ +#define COMPRESSION_JPEG 7 /* %JPEG DCT compression */ +#define COMPRESSION_T85 9 /* !TIFF/FX T.85 JBIG compression */ +#define COMPRESSION_T43 10 /* !TIFF/FX T.43 colour by layered JBIG compression */ +#define COMPRESSION_NEXT 32766 /* NeXT 2-bit RLE */ +#define COMPRESSION_CCITTRLEW 32771 /* #1 w/ word alignment */ +#define COMPRESSION_PACKBITS 32773 /* Macintosh RLE */ +#define COMPRESSION_THUNDERSCAN 32809 /* ThunderScan RLE */ +/* codes 32895-32898 are reserved for ANSI IT8 TIFF/IT */ +#define COMPRESSION_DCS 32947 /* Kodak DCS encoding */ +#define COMPRESSION_JBIG 34661 /* ISO JBIG */ +#define COMPRESSION_SGILOG 34676 /* SGI Log Luminance RLE */ +#define COMPRESSION_SGILOG24 34677 /* SGI Log 24-bit packed */ +#define COMPRESSION_JP2000 34712 /* Leadtools JPEG2000 */ +#define COMPRESSION_LERC 34887 /* ESRI Lerc codec: https://github.com/Esri/lerc */ +/* compression codes 34887-34889 are reserved for ESRI */ +#define COMPRESSION_LZMA 34925 /* LZMA2 */ +#define COMPRESSION_ZSTD 50000 /* ZSTD: WARNING not registered in Adobe-maintained registry */ +#define COMPRESSION_WEBP 50001 /* WEBP: WARNING not registered in Adobe-maintained registry */ +#define COMPRESSION_JXL 50002 /* JPEGXL: WARNING not registered in Adobe-maintained registry */ +#define TIFFTAG_PHOTOMETRIC 262 /* photometric interpretation */ +#define PHOTOMETRIC_MINISWHITE 0 /* min value is white */ +#define PHOTOMETRIC_MINISBLACK 1 /* min value is black */ +#define PHOTOMETRIC_RGB 2 /* RGB color model */ +#define PHOTOMETRIC_PALETTE 3 /* color map indexed */ +#define PHOTOMETRIC_MASK 4 /* $holdout mask */ +#define PHOTOMETRIC_SEPARATED 5 /* !color separations */ +#define PHOTOMETRIC_YCBCR 6 /* !CCIR 601 */ +#define PHOTOMETRIC_CIELAB 8 /* !1976 CIE L*a*b* */ +#define PHOTOMETRIC_ICCLAB 9 /* ICC L*a*b* [Adobe TIFF Technote 4] */ +#define PHOTOMETRIC_ITULAB 10 /* ITU L*a*b* */ +#define PHOTOMETRIC_CFA 32803 /* color filter array */ +#define PHOTOMETRIC_LOGL 32844 /* CIE Log2(L) */ +#define PHOTOMETRIC_LOGLUV 32845 /* CIE Log2(L) (u',v') */ +#define TIFFTAG_THRESHHOLDING 263 /* +thresholding used on data */ +#define THRESHHOLD_BILEVEL 1 /* b&w art scan */ +#define THRESHHOLD_HALFTONE 2 /* or dithered scan */ +#define THRESHHOLD_ERRORDIFFUSE 3 /* usually floyd-steinberg */ +#define TIFFTAG_CELLWIDTH 264 /* +dithering matrix width */ +#define TIFFTAG_CELLLENGTH 265 /* +dithering matrix height */ +#define TIFFTAG_FILLORDER 266 /* data order within a byte */ +#define FILLORDER_MSB2LSB 1 /* most significant -> least */ +#define FILLORDER_LSB2MSB 2 /* least significant -> most */ +#define TIFFTAG_DOCUMENTNAME 269 /* name of doc. image is from */ +#define TIFFTAG_IMAGEDESCRIPTION 270 /* info about image */ +#define TIFFTAG_MAKE 271 /* scanner manufacturer name */ +#define TIFFTAG_MODEL 272 /* scanner model name/number */ +#define TIFFTAG_STRIPOFFSETS 273 /* offsets to data strips */ +#define TIFFTAG_ORIENTATION 274 /* +image orientation */ +#define ORIENTATION_TOPLEFT 1 /* row 0 top, col 0 lhs */ +#define ORIENTATION_TOPRIGHT 2 /* row 0 top, col 0 rhs */ +#define ORIENTATION_BOTRIGHT 3 /* row 0 bottom, col 0 rhs */ +#define ORIENTATION_BOTLEFT 4 /* row 0 bottom, col 0 lhs */ +#define ORIENTATION_LEFTTOP 5 /* row 0 lhs, col 0 top */ +#define ORIENTATION_RIGHTTOP 6 /* row 0 rhs, col 0 top */ +#define ORIENTATION_RIGHTBOT 7 /* row 0 rhs, col 0 bottom */ +#define ORIENTATION_LEFTBOT 8 /* row 0 lhs, col 0 bottom */ +#define TIFFTAG_SAMPLESPERPIXEL 277 /* samples per pixel */ +#define TIFFTAG_ROWSPERSTRIP 278 /* rows per strip of data */ +#define TIFFTAG_STRIPBYTECOUNTS 279 /* bytes counts for strips */ +#define TIFFTAG_MINSAMPLEVALUE 280 /* +minimum sample value */ +#define TIFFTAG_MAXSAMPLEVALUE 281 /* +maximum sample value */ +#define TIFFTAG_XRESOLUTION 282 /* pixels/resolution in x */ +#define TIFFTAG_YRESOLUTION 283 /* pixels/resolution in y */ +#define TIFFTAG_PLANARCONFIG 284 /* storage organization */ +#define PLANARCONFIG_CONTIG 1 /* single image plane */ +#define PLANARCONFIG_SEPARATE 2 /* separate planes of data */ +#define TIFFTAG_PAGENAME 285 /* page name image is from */ +#define TIFFTAG_XPOSITION 286 /* x page offset of image lhs */ +#define TIFFTAG_YPOSITION 287 /* y page offset of image lhs */ +#define TIFFTAG_FREEOFFSETS 288 /* +byte offset to free block */ +#define TIFFTAG_FREEBYTECOUNTS 289 /* +sizes of free blocks */ +#define TIFFTAG_GRAYRESPONSEUNIT 290 /* $gray scale curve accuracy */ +#define GRAYRESPONSEUNIT_10S 1 /* tenths of a unit */ +#define GRAYRESPONSEUNIT_100S 2 /* hundredths of a unit */ +#define GRAYRESPONSEUNIT_1000S 3 /* thousandths of a unit */ +#define GRAYRESPONSEUNIT_10000S 4 /* ten-thousandths of a unit */ +#define GRAYRESPONSEUNIT_100000S 5 /* hundred-thousandths */ +#define TIFFTAG_GRAYRESPONSECURVE 291 /* $gray scale response curve */ +#define TIFFTAG_GROUP3OPTIONS 292 /* 32 flag bits */ +#define TIFFTAG_T4OPTIONS 292 /* TIFF 6.0 proper name alias */ +#define GROUP3OPT_2DENCODING 0x1 /* 2-dimensional coding */ +#define GROUP3OPT_UNCOMPRESSED 0x2 /* data not compressed */ +#define GROUP3OPT_FILLBITS 0x4 /* fill to byte boundary */ +#define TIFFTAG_GROUP4OPTIONS 293 /* 32 flag bits */ +#define TIFFTAG_T6OPTIONS 293 /* TIFF 6.0 proper name */ +#define GROUP4OPT_UNCOMPRESSED 0x2 /* data not compressed */ +#define TIFFTAG_RESOLUTIONUNIT 296 /* units of resolutions */ +#define RESUNIT_NONE 1 /* no meaningful units */ +#define RESUNIT_INCH 2 /* english */ +#define RESUNIT_CENTIMETER 3 /* metric */ +#define TIFFTAG_PAGENUMBER 297 /* page numbers of multi-page */ +#define TIFFTAG_COLORRESPONSEUNIT 300 /* $color curve accuracy */ +#define COLORRESPONSEUNIT_10S 1 /* tenths of a unit */ +#define COLORRESPONSEUNIT_100S 2 /* hundredths of a unit */ +#define COLORRESPONSEUNIT_1000S 3 /* thousandths of a unit */ +#define COLORRESPONSEUNIT_10000S 4 /* ten-thousandths of a unit */ +#define COLORRESPONSEUNIT_100000S 5 /* hundred-thousandths */ +#define TIFFTAG_TRANSFERFUNCTION 301 /* !colorimetry info */ +#define TIFFTAG_SOFTWARE 305 /* name & release */ +#define TIFFTAG_DATETIME 306 /* creation date and time */ +#define TIFFTAG_ARTIST 315 /* creator of image */ +#define TIFFTAG_HOSTCOMPUTER 316 /* machine where created */ +#define TIFFTAG_PREDICTOR 317 /* prediction scheme w/ LZW */ +#define PREDICTOR_NONE 1 /* no prediction scheme used */ +#define PREDICTOR_HORIZONTAL 2 /* horizontal differencing */ +#define PREDICTOR_FLOATINGPOINT 3 /* floating point predictor */ +#define TIFFTAG_WHITEPOINT 318 /* image white point */ +#define TIFFTAG_PRIMARYCHROMATICITIES 319 /* !primary chromaticities */ +#define TIFFTAG_COLORMAP 320 /* RGB map for palette image */ +#define TIFFTAG_HALFTONEHINTS 321 /* !highlight+shadow info */ +#define TIFFTAG_TILEWIDTH 322 /* !tile width in pixels */ +#define TIFFTAG_TILELENGTH 323 /* !tile height in pixels */ +#define TIFFTAG_TILEOFFSETS 324 /* !offsets to data tiles */ +#define TIFFTAG_TILEBYTECOUNTS 325 /* !byte counts for tiles */ +#define TIFFTAG_BADFAXLINES 326 /* lines w/ wrong pixel count */ +#define TIFFTAG_CLEANFAXDATA 327 /* regenerated line info */ +#define CLEANFAXDATA_CLEAN 0 /* no errors detected */ +#define CLEANFAXDATA_REGENERATED 1 /* receiver regenerated lines */ +#define CLEANFAXDATA_UNCLEAN 2 /* uncorrected errors exist */ +#define TIFFTAG_CONSECUTIVEBADFAXLINES 328 /* max consecutive bad lines */ +#define TIFFTAG_SUBIFD 330 /* subimage descriptors */ +#define TIFFTAG_INKSET 332 /* !inks in separated image */ +#define INKSET_CMYK 1 /* !cyan-magenta-yellow-black color */ +#define INKSET_MULTIINK 2 /* !multi-ink or hi-fi color */ +#define TIFFTAG_INKNAMES 333 /* !ascii names of inks */ +#define TIFFTAG_NUMBEROFINKS 334 /* !number of inks */ +#define TIFFTAG_DOTRANGE 336 /* !0% and 100% dot codes */ +#define TIFFTAG_TARGETPRINTER 337 /* !separation target */ +#define TIFFTAG_EXTRASAMPLES 338 /* !info about extra samples */ +#define EXTRASAMPLE_UNSPECIFIED 0 /* !unspecified data */ +#define EXTRASAMPLE_ASSOCALPHA 1 /* !associated alpha data */ +#define EXTRASAMPLE_UNASSALPHA 2 /* !unassociated alpha data */ +#define TIFFTAG_SAMPLEFORMAT 339 /* !data sample format */ +#define SAMPLEFORMAT_UINT 1 /* !unsigned integer data */ +#define SAMPLEFORMAT_INT 2 /* !signed integer data */ +#define SAMPLEFORMAT_IEEEFP 3 /* !IEEE floating point data */ +#define SAMPLEFORMAT_VOID 4 /* !untyped data */ +#define SAMPLEFORMAT_COMPLEXINT 5 /* !complex signed int */ +#define SAMPLEFORMAT_COMPLEXIEEEFP 6 /* !complex ieee floating */ +#define TIFFTAG_SMINSAMPLEVALUE 340 /* !variable MinSampleValue */ +#define TIFFTAG_SMAXSAMPLEVALUE 341 /* !variable MaxSampleValue */ +#define TIFFTAG_CLIPPATH 343 /* %ClipPath [Adobe TIFF technote 2] */ +#define TIFFTAG_XCLIPPATHUNITS 344 /* %XClipPathUnits [Adobe TIFF technote 2] */ +#define TIFFTAG_YCLIPPATHUNITS 345 /* %YClipPathUnits [Adobe TIFF technote 2] */ +#define TIFFTAG_INDEXED 346 /* %Indexed [Adobe TIFF Technote 3] */ +#define TIFFTAG_JPEGTABLES 347 /* %JPEG table stream */ +#define TIFFTAG_OPIPROXY 351 /* %OPI Proxy [Adobe TIFF technote] */ +/* Tags 400-435 are from the TIFF/FX spec */ +#define TIFFTAG_GLOBALPARAMETERSIFD 400 /* ! */ +#define TIFFTAG_PROFILETYPE 401 /* ! */ +#define PROFILETYPE_UNSPECIFIED 0 /* ! */ +#define PROFILETYPE_G3_FAX 1 /* ! */ +#define TIFFTAG_FAXPROFILE 402 /* ! */ +#define FAXPROFILE_S 1 /* !TIFF/FX FAX profile S */ +#define FAXPROFILE_F 2 /* !TIFF/FX FAX profile F */ +#define FAXPROFILE_J 3 /* !TIFF/FX FAX profile J */ +#define FAXPROFILE_C 4 /* !TIFF/FX FAX profile C */ +#define FAXPROFILE_L 5 /* !TIFF/FX FAX profile L */ +#define FAXPROFILE_M 6 /* !TIFF/FX FAX profile LM */ +#define TIFFTAG_CODINGMETHODS 403 /* !TIFF/FX coding methods */ +#define CODINGMETHODS_T4_1D (1 << 1) /* !T.4 1D */ +#define CODINGMETHODS_T4_2D (1 << 2) /* !T.4 2D */ +#define CODINGMETHODS_T6 (1 << 3) /* !T.6 */ +#define CODINGMETHODS_T85 (1 << 4) /* !T.85 JBIG */ +#define CODINGMETHODS_T42 (1 << 5) /* !T.42 JPEG */ +#define CODINGMETHODS_T43 (1 << 6) /* !T.43 colour by layered JBIG */ +#define TIFFTAG_VERSIONYEAR 404 /* !TIFF/FX version year */ +#define TIFFTAG_MODENUMBER 405 /* !TIFF/FX mode number */ +#define TIFFTAG_DECODE 433 /* !TIFF/FX decode */ +#define TIFFTAG_IMAGEBASECOLOR 434 /* !TIFF/FX image base colour */ +#define TIFFTAG_T82OPTIONS 435 /* !TIFF/FX T.82 options */ +/* + * Tags 512-521 are obsoleted by Technical Note #2 which specifies a + * revised JPEG-in-TIFF scheme. + */ +#define TIFFTAG_JPEGPROC 512 /* !JPEG processing algorithm */ +#define JPEGPROC_BASELINE 1 /* !baseline sequential */ +#define JPEGPROC_LOSSLESS 14 /* !Huffman coded lossless */ +#define TIFFTAG_JPEGIFOFFSET 513 /* !pointer to SOI marker */ +#define TIFFTAG_JPEGIFBYTECOUNT 514 /* !JFIF stream length */ +#define TIFFTAG_JPEGRESTARTINTERVAL 515 /* !restart interval length */ +#define TIFFTAG_JPEGLOSSLESSPREDICTORS 517 /* !lossless proc predictor */ +#define TIFFTAG_JPEGPOINTTRANSFORM 518 /* !lossless point transform */ +#define TIFFTAG_JPEGQTABLES 519 /* !Q matrix offsets */ +#define TIFFTAG_JPEGDCTABLES 520 /* !DCT table offsets */ +#define TIFFTAG_JPEGACTABLES 521 /* !AC coefficient offsets */ +#define TIFFTAG_YCBCRCOEFFICIENTS 529 /* !RGB -> YCbCr transform */ +#define TIFFTAG_YCBCRSUBSAMPLING 530 /* !YCbCr subsampling factors */ +#define TIFFTAG_YCBCRPOSITIONING 531 /* !subsample positioning */ +#define YCBCRPOSITION_CENTERED 1 /* !as in PostScript Level 2 */ +#define YCBCRPOSITION_COSITED 2 /* !as in CCIR 601-1 */ +#define TIFFTAG_REFERENCEBLACKWHITE 532 /* !colorimetry info */ +#define TIFFTAG_STRIPROWCOUNTS 559 /* !TIFF/FX strip row counts */ +#define TIFFTAG_XMLPACKET 700 /* %XML packet [Adobe XMP Specification, January 2004 */ +#define TIFFTAG_OPIIMAGEID 32781 /* %OPI ImageID [Adobe TIFF technote] */ +/* For eiStream Annotation Specification, Version 1.00.06 see + * http://web.archive.org/web/20050309141348/http://www.kofile.com/support%20pro/faqs/annospec.htm */ +#define TIFFTAG_TIFFANNOTATIONDATA 32932 +/* tags 32952-32956 are private tags registered to Island Graphics */ +#define TIFFTAG_REFPTS 32953 /* image reference points */ +#define TIFFTAG_REGIONTACKPOINT 32954 /* region-xform tack point */ +#define TIFFTAG_REGIONWARPCORNERS 32955 /* warp quadrilateral */ +#define TIFFTAG_REGIONAFFINE 32956 /* affine transformation mat */ +/* tags 32995-32999 are private tags registered to SGI */ +#define TIFFTAG_MATTEING 32995 /* $use ExtraSamples */ +#define TIFFTAG_DATATYPE 32996 /* $use SampleFormat */ +#define TIFFTAG_IMAGEDEPTH 32997 /* z depth of image */ +#define TIFFTAG_TILEDEPTH 32998 /* z depth/data tile */ +/* tags 33300-33309 are private tags registered to Pixar */ +/* + * TIFFTAG_PIXAR_IMAGEFULLWIDTH and TIFFTAG_PIXAR_IMAGEFULLLENGTH + * are set when an image has been cropped out of a larger image. + * They reflect the size of the original uncropped image. + * The TIFFTAG_XPOSITION and TIFFTAG_YPOSITION can be used + * to determine the position of the smaller image in the larger one. + */ +#define TIFFTAG_PIXAR_IMAGEFULLWIDTH 33300 /* full image size in x */ +#define TIFFTAG_PIXAR_IMAGEFULLLENGTH 33301 /* full image size in y */ +/* Tags 33302-33306 are used to identify special image modes and data + * used by Pixar's texture formats. + */ +#define TIFFTAG_PIXAR_TEXTUREFORMAT 33302 /* texture map format */ +#define TIFFTAG_PIXAR_WRAPMODES 33303 /* s & t wrap modes */ +#define TIFFTAG_PIXAR_FOVCOT 33304 /* cotan(fov) for env. maps */ +#define TIFFTAG_PIXAR_MATRIX_WORLDTOSCREEN 33305 +#define TIFFTAG_PIXAR_MATRIX_WORLDTOCAMERA 33306 +/* tag 33405 is a private tag registered to Eastman Kodak */ +#define TIFFTAG_WRITERSERIALNUMBER 33405 /* device serial number */ +#define TIFFTAG_CFAREPEATPATTERNDIM 33421 /* (alias for TIFFTAG_EP_CFAREPEATPATTERNDIM)*/ +#define TIFFTAG_CFAPATTERN 33422 /* (alias for TIFFTAG_EP_CFAPATTERN) */ +#define TIFFTAG_BATTERYLEVEL 33423 /* (alias for TIFFTAG_EP_BATTERYLEVEL) */ +/* tag 33432 is listed in the 6.0 spec w/ unknown ownership */ +#define TIFFTAG_COPYRIGHT 33432 /* copyright string */ +/* Tags 33445-33452 are used for Molecular Dynamics GEL fileformat, + * see http://research.stowers-institute.org/mcm/efg/ScientificSoftware/Utility/TiffTags/GEL-FileFormat.pdf + * (2023: the above web site is unavailable but tags are explained briefly at + * https://www.awaresystems.be/imaging/tiff/tifftags/docs/gel.html + */ +#define TIFFTAG_MD_FILETAG 33445 /* Specifies the pixel data format encoding in the GEL file format. */ +#define TIFFTAG_MD_SCALEPIXEL 33446 /* scale factor */ +#define TIFFTAG_MD_COLORTABLE 33447 /* conversion from 16bit to 8bit */ +#define TIFFTAG_MD_LABNAME 33448 /* name of the lab that scanned this file. */ +#define TIFFTAG_MD_SAMPLEINFO 33449 /* information about the scanned GEL sample */ +#define TIFFTAG_MD_PREPDATE 33450 /* information about the date the sample was prepared YY/MM/DD */ +#define TIFFTAG_MD_PREPTIME 33451 /* information about the time the sample was prepared HH:MM*/ +#define TIFFTAG_MD_FILEUNITS 33452 /* Units for data in this file, as used in the GEL file format. */ +/* IPTC TAG from RichTIFF specifications */ +#define TIFFTAG_RICHTIFFIPTC 33723 +#define TIFFTAG_INGR_PACKET_DATA_TAG 33918 /* Intergraph Application specific storage. */ +#define TIFFTAG_INGR_FLAG_REGISTERS 33919 /* Intergraph Application specific flags. */ +#define TIFFTAG_IRASB_TRANSORMATION_MATRIX 33920 /* Originally part of Intergraph's GeoTIFF tags, but likely understood by IrasB only. */ +#define TIFFTAG_MODELTIEPOINTTAG 33922 /* GeoTIFF */ +/* 34016-34029 are reserved for ANSI IT8 TIFF/IT */ +#define TIFFTAG_STONITS 37439 /* Sample value to Nits */ +/* tag 34929 is a private tag registered to FedEx */ +#define TIFFTAG_FEDEX_EDR 34929 /* unknown use */ +#define TIFFTAG_IMAGESOURCEDATA 37724 /* http://justsolve.archiveteam.org/wiki/PSD, http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/ */ +#define TIFFTAG_INTEROPERABILITYIFD 40965 /* Pointer to EXIF Interoperability private directory */ +#define TIFFTAG_GDAL_METADATA 42112 /* Used by the GDAL library */ +#define TIFFTAG_GDAL_NODATA 42113 /* Used by the GDAL library */ +#define TIFFTAG_OCE_SCANJOB_DESCRIPTION 50215 /* Used in the Oce scanning process */ +#define TIFFTAG_OCE_APPLICATION_SELECTOR 50216 /* Used in the Oce scanning process. */ +#define TIFFTAG_OCE_IDENTIFICATION_NUMBER 50217 +#define TIFFTAG_OCE_IMAGELOGIC_CHARACTERISTICS 50218 +/* tags 50674 to 50677 are reserved for ESRI */ +#define TIFFTAG_LERC_PARAMETERS 50674 /* Stores LERC version and additional compression method */ + +/* Adobe Digital Negative (DNG) format tags */ +#define TIFFTAG_DNGVERSION 50706 /* &DNG version number */ +#define TIFFTAG_DNGBACKWARDVERSION 50707 /* &DNG compatibility version */ +#define TIFFTAG_UNIQUECAMERAMODEL 50708 /* &name for the camera model */ +#define TIFFTAG_LOCALIZEDCAMERAMODEL 50709 /* &localized camera model name (UTF-8) */ +#define TIFFTAG_CFAPLANECOLOR 50710 /* &CFAPattern->LinearRaw space mapping */ +#define TIFFTAG_CFALAYOUT 50711 /* &spatial layout of the CFA */ +#define TIFFTAG_LINEARIZATIONTABLE 50712 /* &lookup table description */ +#define TIFFTAG_BLACKLEVELREPEATDIM 50713 /* &repeat pattern size for the BlackLevel tag */ +#define TIFFTAG_BLACKLEVEL 50714 /* &zero light encoding level */ +#define TIFFTAG_BLACKLEVELDELTAH 50715 /* &zero light encoding level differences (columns) */ +#define TIFFTAG_BLACKLEVELDELTAV 50716 /* &zero light encoding level differences (rows) */ +#define TIFFTAG_WHITELEVEL 50717 /* &fully saturated encoding level */ +#define TIFFTAG_DEFAULTSCALE 50718 /* &default scale factors */ +#define TIFFTAG_DEFAULTCROPORIGIN 50719 /* &origin of the final image area */ +#define TIFFTAG_DEFAULTCROPSIZE 50720 /* &size of the final image area */ +#define TIFFTAG_COLORMATRIX1 50721 /* &XYZ->reference color space transformation matrix 1 */ +#define TIFFTAG_COLORMATRIX2 50722 /* &XYZ->reference color space transformation matrix 2 */ +#define TIFFTAG_CAMERACALIBRATION1 50723 /* &calibration matrix 1 */ +#define TIFFTAG_CAMERACALIBRATION2 50724 /* &calibration matrix 2 */ +#define TIFFTAG_REDUCTIONMATRIX1 50725 /* &dimensionality reduction matrix 1 */ +#define TIFFTAG_REDUCTIONMATRIX2 50726 /* &dimensionality reduction matrix 2 */ +#define TIFFTAG_ANALOGBALANCE 50727 /* &gain applied the stored raw values*/ +#define TIFFTAG_ASSHOTNEUTRAL 50728 /* &selected white balance in linear reference space */ +#define TIFFTAG_ASSHOTWHITEXY 50729 /* &selected white balance in x-y chromaticity coordinates */ +#define TIFFTAG_BASELINEEXPOSURE 50730 /* &how much to move the zero point */ +#define TIFFTAG_BASELINENOISE 50731 /* &relative noise level */ +#define TIFFTAG_BASELINESHARPNESS 50732 /* &relative amount of sharpening */ +/* TIFFTAG_BAYERGREENSPLIT: &how closely the values of the green pixels in the blue/green rows + * track the values of the green pixels in the red/green rows */ +#define TIFFTAG_BAYERGREENSPLIT 50733 +#define TIFFTAG_LINEARRESPONSELIMIT 50734 /* &non-linear encoding range */ +#define TIFFTAG_CAMERASERIALNUMBER 50735 /* &camera's serial number */ +#define TIFFTAG_LENSINFO 50736 /* info about the lens */ +#define TIFFTAG_CHROMABLURRADIUS 50737 /* &chroma blur radius */ +#define TIFFTAG_ANTIALIASSTRENGTH 50738 /* &relative strength of the camera's anti-alias filter */ +#define TIFFTAG_SHADOWSCALE 50739 /* &used by Adobe Camera Raw */ +#define TIFFTAG_DNGPRIVATEDATA 50740 /* &manufacturer's private data */ +#define TIFFTAG_MAKERNOTESAFETY 50741 /* &whether the EXIF MakerNote tag is safe to preserve along with the rest of the EXIF data */ +#define TIFFTAG_CALIBRATIONILLUMINANT1 50778 /* &illuminant 1 */ +#define TIFFTAG_CALIBRATIONILLUMINANT2 50779 /* &illuminant 2 */ +#define TIFFTAG_BESTQUALITYSCALE 50780 /* &best quality multiplier */ +#define TIFFTAG_RAWDATAUNIQUEID 50781 /* &unique identifier for the raw image data */ +#define TIFFTAG_ORIGINALRAWFILENAME 50827 /* &file name of the original raw file (UTF-8) */ +#define TIFFTAG_ORIGINALRAWFILEDATA 50828 /* &contents of the original raw file */ +#define TIFFTAG_ACTIVEAREA 50829 /* &active (non-masked) pixels of the sensor */ +#define TIFFTAG_MASKEDAREAS 50830 /* &list of coordinates of fully masked pixels */ +#define TIFFTAG_ASSHOTICCPROFILE 50831 /* &these two tags used to */ +#define TIFFTAG_ASSHOTPREPROFILEMATRIX 50832 /* map cameras's color space into ICC profile space */ +#define TIFFTAG_CURRENTICCPROFILE 50833 /* & */ +#define TIFFTAG_CURRENTPREPROFILEMATRIX 50834 /* & */ + +/* DNG 1.2.0.0 */ +#define TIFFTAG_COLORIMETRICREFERENCE 50879 /* &colorimetric reference */ +#define TIFFTAG_CAMERACALIBRATIONSIGNATURE 50931 /* &camera calibration signature (UTF-8) */ +#define TIFFTAG_PROFILECALIBRATIONSIGNATURE 50932 /* &profile calibration signature (UTF-8) */ +/* TIFFTAG_EXTRACAMERAPROFILES 50933 &extra camera profiles : is already defined for GeoTIFF DGIWG */ +#define TIFFTAG_ASSHOTPROFILENAME 50934 /* &as shot profile name (UTF-8) */ +#define TIFFTAG_NOISEREDUCTIONAPPLIED 50935 /* &amount of applied noise reduction */ +#define TIFFTAG_PROFILENAME 50936 /* &camera profile name (UTF-8) */ +#define TIFFTAG_PROFILEHUESATMAPDIMS 50937 /* &dimensions of HSV mapping */ +#define TIFFTAG_PROFILEHUESATMAPDATA1 50938 /* &first HSV mapping table */ +#define TIFFTAG_PROFILEHUESATMAPDATA2 50939 /* &second HSV mapping table */ +#define TIFFTAG_PROFILETONECURVE 50940 /* &default tone curve */ +#define TIFFTAG_PROFILEEMBEDPOLICY 50941 /* &profile embedding policy */ +#define TIFFTAG_PROFILECOPYRIGHT 50942 /* &profile copyright information (UTF-8) */ +#define TIFFTAG_FORWARDMATRIX1 50964 /* &matrix for mapping white balanced camera colors to XYZ D50 */ +#define TIFFTAG_FORWARDMATRIX2 50965 /* &matrix for mapping white balanced camera colors to XYZ D50 */ +#define TIFFTAG_PREVIEWAPPLICATIONNAME 50966 /* &name of application that created preview (UTF-8) */ +#define TIFFTAG_PREVIEWAPPLICATIONVERSION 50967 /* &version of application that created preview (UTF-8) */ +#define TIFFTAG_PREVIEWSETTINGSNAME 50968 /* &name of conversion settings (UTF-8) */ +#define TIFFTAG_PREVIEWSETTINGSDIGEST 50969 /* &unique id of conversion settings */ +#define TIFFTAG_PREVIEWCOLORSPACE 50970 /* &preview color space */ +#define TIFFTAG_PREVIEWDATETIME 50971 /* &date/time preview was rendered */ +#define TIFFTAG_RAWIMAGEDIGEST 50972 /* &md5 of raw image data */ +#define TIFFTAG_ORIGINALRAWFILEDIGEST 50973 /* &md5 of the data stored in the OriginalRawFileData tag */ +#define TIFFTAG_SUBTILEBLOCKSIZE 50974 /* &subtile block size */ +#define TIFFTAG_ROWINTERLEAVEFACTOR 50975 /* &number of interleaved fields */ +#define TIFFTAG_PROFILELOOKTABLEDIMS 50981 /* &num of input samples in each dim of default "look" table */ +#define TIFFTAG_PROFILELOOKTABLEDATA 50982 /* &default "look" table for use as starting point */ + +/* DNG 1.3.0.0 */ +#define TIFFTAG_OPCODELIST1 51008 /* &opcodes that should be applied to raw image after reading */ +#define TIFFTAG_OPCODELIST2 51009 /* &opcodes that should be applied after mapping to linear reference */ +#define TIFFTAG_OPCODELIST3 51022 /* &opcodes that should be applied after demosaicing */ +#define TIFFTAG_NOISEPROFILE 51041 /* &noise profile */ + +/* DNG 1.4.0.0 */ +#define TIFFTAG_DEFAULTUSERCROP 51125 /* &default user crop rectangle in relative coords */ +#define TIFFTAG_DEFAULTBLACKRENDER 51110 /* &black rendering hint */ +#define TIFFTAG_BASELINEEXPOSUREOFFSET 51109 /* &baseline exposure offset */ +#define TIFFTAG_PROFILELOOKTABLEENCODING 51108 /* &3D LookTable indexing conversion */ +#define TIFFTAG_PROFILEHUESATMAPENCODING 51107 /* &3D HueSatMap indexing conversion */ +#define TIFFTAG_ORIGINALDEFAULTFINALSIZE 51089 /* &default final size of larger original file for this proxy */ +#define TIFFTAG_ORIGINALBESTQUALITYFINALSIZE 51090 /* &best quality final size of larger original file for this proxy */ +#define TIFFTAG_ORIGINALDEFAULTCROPSIZE 51091 /* &the default crop size of larger original file for this proxy */ +#define TIFFTAG_NEWRAWIMAGEDIGEST 51111 /* &modified MD5 digest of the raw image data */ +#define TIFFTAG_RAWTOPREVIEWGAIN 51112 /* &The gain between the main raw FD and the preview IFD containing this tag */ + +/* DNG 1.5.0.0 */ +#define TIFFTAG_DEPTHFORMAT 51177 /* &encoding of the depth data in the file */ +#define TIFFTAG_DEPTHNEAR 51178 /* &distance from the camera represented by value 0 in the depth map */ +#define TIFFTAG_DEPTHFAR 51179 /* &distance from the camera represented by the maximum value in the depth map */ +#define TIFFTAG_DEPTHUNITS 51180 /* &measurement units for DepthNear and DepthFar */ +#define TIFFTAG_DEPTHMEASURETYPE 51181 /* &measurement geometry for the depth map */ +#define TIFFTAG_ENHANCEPARAMS 51182 /* &a string that documents how the enhanced image data was processed. */ + +/* DNG 1.6.0.0 */ +#define TIFFTAG_PROFILEGAINTABLEMAP 52525 /* &spatially varying gain tables that can be applied as starting point */ +#define TIFFTAG_SEMANTICNAME 52526 /* &a string that identifies the semantic mask */ +#define TIFFTAG_SEMANTICINSTANCEID 52528 /* &a string that identifies a specific instance in a semantic mask */ +#define TIFFTAG_MASKSUBAREA 52536 /* &the crop rectangle of this IFD's mask, relative to the main image */ +#define TIFFTAG_RGBTABLES 52543 /* &color transforms to apply to masked image regions */ +#define TIFFTAG_CALIBRATIONILLUMINANT3 52529 /* &the illuminant used for the third set of color calibration tags */ +#define TIFFTAG_COLORMATRIX3 52531 /* &matrix to convert XYZ values to reference camera native color space under CalibrationIlluminant3 */ +#define TIFFTAG_CAMERACALIBRATION3 52530 /* &matrix to transform reference camera native space values to individual camera native space values under CalibrationIlluminant3 */ +#define TIFFTAG_REDUCTIONMATRIX3 52538 /* &dimensionality reduction matrix for use in color conversion to XYZ under CalibrationIlluminant3 */ +#define TIFFTAG_PROFILEHUESATMAPDATA3 52537 /* &the data for the third HSV table */ +#define TIFFTAG_FORWARDMATRIX3 52532 /* &matrix to map white balanced camera colors to XYZ D50 */ +#define TIFFTAG_ILLUMINANTDATA1 52533 /* &data for the first calibration illuminant */ +#define TIFFTAG_ILLUMINANTDATA2 52534 /* &data for the second calibration illuminant */ +#define TIFFTAG_ILLUMINANTDATA3 53535 /* &data for the third calibration illuminant */ + +/* TIFF/EP */ +#define TIFFTAG_EP_CFAREPEATPATTERNDIM 33421 /* dimensions of CFA pattern */ +#define TIFFTAG_EP_CFAPATTERN 33422 /* color filter array pattern */ +#define TIFFTAG_EP_BATTERYLEVEL 33423 /* battery level (rational or ASCII) */ +#define TIFFTAG_EP_INTERLACE 34857 /* Number of multi-field images */ +/* TIFFTAG_EP_IPTC_NAA and TIFFTAG_RICHTIFFIPTC share the same tag number (33723) + * LibTIFF type is UNDEFINED or BYTE, but often times incorrectly specified as LONG, + * because TIFF/EP (ISO/DIS 12234-2) specifies type LONG or ASCII. */ +#define TIFFTAG_EP_IPTC_NAA 33723 /* Alias IPTC/NAA Newspaper Association RichTIFF */ +#define TIFFTAG_EP_TIMEZONEOFFSET 34858 /* Time zone offset relative to UTC */ +#define TIFFTAG_EP_SELFTIMERMODE 34859 /* Number of seconds capture was delayed from button press */ +#define TIFFTAG_EP_FLASHENERGY 37387 /* Flash energy, or range if there is uncertainty */ +#define TIFFTAG_EP_SPATIALFREQUENCYRESPONSE 37388 /* Spatial frequency response */ +#define TIFFTAG_EP_NOISE 37389 /* Camera noise measurement values */ +#define TIFFTAG_EP_FOCALPLANEXRESOLUTION 37390 /* Focal plane X resolution */ +#define TIFFTAG_EP_FOCALPLANEYRESOLUTION 37391 /* Focal plane Y resolution */ +#define TIFFTAG_EP_FOCALPLANERESOLUTIONUNIT 37392 /* Focal plane resolution unit */ +#define TIFFTAG_EP_IMAGENUMBER 37393 /* Number of image when several of burst shot stored in same TIFF/EP */ +#define TIFFTAG_EP_SECURITYCLASSIFICATION 37394 /* Security classification */ +#define TIFFTAG_EP_IMAGEHISTORY 37395 /* Record of what has been done to the image */ +#define TIFFTAG_EP_EXPOSUREINDEX 37397 /* Exposure index */ +#define TIFFTAG_EP_STANDARDID 37398 /* TIFF/EP standard version, n.n.n.n */ +#define TIFFTAG_EP_SENSINGMETHOD 37399 /* Type of image sensor */ +/* + * TIFF/EP tags equivalent to EXIF tags + * Note that TIFF-EP and EXIF use nearly the same metadata tag set, but TIFF-EP stores the tags in IFD 0, + * while EXIF store the tags in a separate IFD. Either location is allowed by DNG, but the EXIF location is preferred. + */ +#define TIFFTAG_EP_EXPOSURETIME 33434 /* Exposure time */ +#define TIFFTAG_EP_FNUMBER 33437 /* F number */ +#define TIFFTAG_EP_EXPOSUREPROGRAM 34850 /* Exposure program */ +#define TIFFTAG_EP_SPECTRALSENSITIVITY 34852 /* Spectral sensitivity */ +#define TIFFTAG_EP_ISOSPEEDRATINGS 34855 /* ISO speed rating */ +#define TIFFTAG_EP_OECF 34856 /* Optoelectric conversion factor */ +#define TIFFTAG_EP_DATETIMEORIGINAL 36867 /* Date and time of original data generation */ +#define TIFFTAG_EP_COMPRESSEDBITSPERPIXEL 37122 /* Image compression mode */ +#define TIFFTAG_EP_SHUTTERSPEEDVALUE 37377 /* Shutter speed */ +#define TIFFTAG_EP_APERTUREVALUE 37378 /* Aperture */ +#define TIFFTAG_EP_BRIGHTNESSVALUE 37379 /* Brightness */ +#define TIFFTAG_EP_EXPOSUREBIASVALUE 37380 /* Exposure bias */ +#define TIFFTAG_EP_MAXAPERTUREVALUE 37381 /* Maximum lens aperture */ +#define TIFFTAG_EP_SUBJECTDISTANCE 37382 /* Subject distance */ +#define TIFFTAG_EP_METERINGMODE 37383 /* Metering mode */ +#define TIFFTAG_EP_LIGHTSOURCE 37384 /* Light source */ +#define TIFFTAG_EP_FLASH 37385 /* Flash */ +#define TIFFTAG_EP_FOCALLENGTH 37386 /* Lens focal length */ +#define TIFFTAG_EP_SUBJECTLOCATION 37396 /* Subject location (area) */ + +#define TIFFTAG_RPCCOEFFICIENT 50844 /* Define by GDAL for geospatial georeferencing through RPC: http://geotiff.maptools.org/rpc_prop.html */ +#define TIFFTAG_ALIAS_LAYER_METADATA 50784 /* Alias Sketchbook Pro layer usage description. */ + +/* GeoTIFF DGIWG */ +#define TIFFTAG_TIFF_RSID 50908 /* https://www.awaresystems.be/imaging/tiff/tifftags/tiff_rsid.html */ +#define TIFFTAG_GEO_METADATA 50909 /* https://www.awaresystems.be/imaging/tiff/tifftags/geo_metadata.html */ +#define TIFFTAG_EXTRACAMERAPROFILES 50933 /* http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/products/photoshop/pdfs/dng_spec_1.4.0.0.pdf */ + +/* tag 65535 is an undefined tag used by Eastman Kodak */ +#define TIFFTAG_DCSHUESHIFTVALUES 65535 /* hue shift correction data */ + +/* + * The following are ``pseudo tags'' that can be used to control + * codec-specific functionality. These tags are not written to file. + * Note that these values start at 0xffff+1 so that they'll never + * collide with Aldus-assigned tags. + * + * If you want your private pseudo tags ``registered'' (i.e. added to + * this file), please post a bug report via the tracking system at + * http://www.remotesensing.org/libtiff/bugs.html with the appropriate + * C definitions to add. + */ +#define TIFFTAG_FAXMODE 65536 /* Group 3/4 format control */ +#define FAXMODE_CLASSIC 0x0000 /* default, include RTC */ +#define FAXMODE_NORTC 0x0001 /* no RTC at end of data */ +#define FAXMODE_NOEOL 0x0002 /* no EOL code at end of row */ +#define FAXMODE_BYTEALIGN 0x0004 /* byte align row */ +#define FAXMODE_WORDALIGN 0x0008 /* word align row */ +#define FAXMODE_CLASSF FAXMODE_NORTC /* TIFF Class F */ +#define TIFFTAG_JPEGQUALITY 65537 /* Compression quality level */ +/* Note: quality level is on the IJG 0-100 scale. Default value is 75 */ +#define TIFFTAG_JPEGCOLORMODE 65538 /* Auto RGB<=>YCbCr convert? */ +#define JPEGCOLORMODE_RAW 0x0000 /* no conversion (default) */ +#define JPEGCOLORMODE_RGB 0x0001 /* do auto conversion */ +#define TIFFTAG_JPEGTABLESMODE 65539 /* What to put in JPEGTables */ +#define JPEGTABLESMODE_QUANT 0x0001 /* include quantization tbls */ +#define JPEGTABLESMODE_HUFF 0x0002 /* include Huffman tbls */ +/* Note: default is JPEGTABLESMODE_QUANT | JPEGTABLESMODE_HUFF */ +#define TIFFTAG_FAXFILLFUNC 65540 /* G3/G4 fill function */ +#define TIFFTAG_PIXARLOGDATAFMT 65549 /* PixarLogCodec I/O data sz */ +#define PIXARLOGDATAFMT_8BIT 0 /* regular u_char samples */ +#define PIXARLOGDATAFMT_8BITABGR 1 /* ABGR-order u_chars */ +#define PIXARLOGDATAFMT_11BITLOG 2 /* 11-bit log-encoded (raw) */ +#define PIXARLOGDATAFMT_12BITPICIO 3 /* as per PICIO (1.0==2048) */ +#define PIXARLOGDATAFMT_16BIT 4 /* signed short samples */ +#define PIXARLOGDATAFMT_FLOAT 5 /* IEEE float samples */ +/* 65550-65556 are allocated to Oceana Matrix */ +#define TIFFTAG_DCSIMAGERTYPE 65550 /* imager model & filter */ +#define DCSIMAGERMODEL_M3 0 /* M3 chip (1280 x 1024) */ +#define DCSIMAGERMODEL_M5 1 /* M5 chip (1536 x 1024) */ +#define DCSIMAGERMODEL_M6 2 /* M6 chip (3072 x 2048) */ +#define DCSIMAGERFILTER_IR 0 /* infrared filter */ +#define DCSIMAGERFILTER_MONO 1 /* monochrome filter */ +#define DCSIMAGERFILTER_CFA 2 /* color filter array */ +#define DCSIMAGERFILTER_OTHER 3 /* other filter */ +#define TIFFTAG_DCSINTERPMODE 65551 /* interpolation mode */ +#define DCSINTERPMODE_NORMAL 0x0 /* whole image, default */ +#define DCSINTERPMODE_PREVIEW 0x1 /* preview of image (384x256) */ +#define TIFFTAG_DCSBALANCEARRAY 65552 /* color balance values */ +#define TIFFTAG_DCSCORRECTMATRIX 65553 /* color correction values */ +#define TIFFTAG_DCSGAMMA 65554 /* gamma value */ +#define TIFFTAG_DCSTOESHOULDERPTS 65555 /* toe & shoulder points */ +#define TIFFTAG_DCSCALIBRATIONFD 65556 /* calibration file desc */ +/* Note: quality level is on the ZLIB 1-9 scale. Default value is -1 */ +#define TIFFTAG_ZIPQUALITY 65557 /* compression quality level */ +#define TIFFTAG_PIXARLOGQUALITY 65558 /* PixarLog uses same scale */ +/* 65559 is allocated to Oceana Matrix */ +#define TIFFTAG_DCSCLIPRECTANGLE 65559 /* area of image to acquire */ +#define TIFFTAG_SGILOGDATAFMT 65560 /* SGILog user data format */ +#define SGILOGDATAFMT_FLOAT 0 /* IEEE float samples */ +#define SGILOGDATAFMT_16BIT 1 /* 16-bit samples */ +#define SGILOGDATAFMT_RAW 2 /* uninterpreted data */ +#define SGILOGDATAFMT_8BIT 3 /* 8-bit RGB monitor values */ +#define TIFFTAG_SGILOGENCODE 65561 /* SGILog data encoding control*/ +#define SGILOGENCODE_NODITHER 0 /* do not dither encoded values*/ +#define SGILOGENCODE_RANDITHER 1 /* randomly dither encd values */ +#define TIFFTAG_LZMAPRESET 65562 /* LZMA2 preset (compression level) */ +#define TIFFTAG_PERSAMPLE 65563 /* interface for per sample tags */ +#define PERSAMPLE_MERGED 0 /* present as a single value */ +#define PERSAMPLE_MULTI 1 /* present as multiple values */ +#define TIFFTAG_ZSTD_LEVEL 65564 /* ZSTD compression level */ +#define TIFFTAG_LERC_VERSION 65565 /* LERC version */ +#define LERC_VERSION_2_4 4 +#define TIFFTAG_LERC_ADD_COMPRESSION 65566 /* LERC additional compression */ +#define LERC_ADD_COMPRESSION_NONE 0 +#define LERC_ADD_COMPRESSION_DEFLATE 1 +#define LERC_ADD_COMPRESSION_ZSTD 2 +#define TIFFTAG_LERC_MAXZERROR 65567 /* LERC maximum error */ +#define TIFFTAG_WEBP_LEVEL 65568 /* WebP compression level */ +#define TIFFTAG_WEBP_LOSSLESS 65569 /* WebP lossless/lossy */ +#define TIFFTAG_WEBP_LOSSLESS_EXACT 65571 /* WebP lossless exact mode. Set-only mode. Default is 1. Can be set to 0 to increase compression rate, but R,G,B in areas where alpha = 0 will not be preserved */ +#define TIFFTAG_DEFLATE_SUBCODEC 65570 /* ZIP codec: to get/set the sub-codec to use. Will default to libdeflate when available */ +#define DEFLATE_SUBCODEC_ZLIB 0 +#define DEFLATE_SUBCODEC_LIBDEFLATE 1 + +/* + * EXIF tags + */ +#define EXIFTAG_EXPOSURETIME 33434 /* Exposure time */ +#define EXIFTAG_FNUMBER 33437 /* F number */ +#define EXIFTAG_EXPOSUREPROGRAM 34850 /* Exposure program */ +#define EXIFTAG_SPECTRALSENSITIVITY 34852 /* Spectral sensitivity */ +/* After EXIF 2.2.1 ISOSpeedRatings is named PhotographicSensitivity. + In addition, while "Count=Any", only 1 count should be used. */ +#define EXIFTAG_ISOSPEEDRATINGS 34855 /* ISO speed rating */ +#define EXIFTAG_PHOTOGRAPHICSENSITIVITY 34855 /* Photographic Sensitivity (new name for tag 34855) */ +#define EXIFTAG_OECF 34856 /* Optoelectric conversion factor */ +#define EXIFTAG_EXIFVERSION 36864 /* Exif version */ +#define EXIFTAG_DATETIMEORIGINAL 36867 /* Date and time of original data generation */ +#define EXIFTAG_DATETIMEDIGITIZED 36868 /* Date and time of digital data generation */ +#define EXIFTAG_COMPONENTSCONFIGURATION 37121 /* Meaning of each component */ +#define EXIFTAG_COMPRESSEDBITSPERPIXEL 37122 /* Image compression mode */ +#define EXIFTAG_SHUTTERSPEEDVALUE 37377 /* Shutter speed */ +#define EXIFTAG_APERTUREVALUE 37378 /* Aperture */ +#define EXIFTAG_BRIGHTNESSVALUE 37379 /* Brightness */ +#define EXIFTAG_EXPOSUREBIASVALUE 37380 /* Exposure bias */ +#define EXIFTAG_MAXAPERTUREVALUE 37381 /* Maximum lens aperture */ +#define EXIFTAG_SUBJECTDISTANCE 37382 /* Subject distance */ +#define EXIFTAG_METERINGMODE 37383 /* Metering mode */ +#define EXIFTAG_LIGHTSOURCE 37384 /* Light source */ +#define EXIFTAG_FLASH 37385 /* Flash */ +#define EXIFTAG_FOCALLENGTH 37386 /* Lens focal length */ +#define EXIFTAG_SUBJECTAREA 37396 /* Subject area */ +#define EXIFTAG_MAKERNOTE 37500 /* Manufacturer notes */ +#define EXIFTAG_USERCOMMENT 37510 /* User comments */ +#define EXIFTAG_SUBSECTIME 37520 /* DateTime subseconds */ +#define EXIFTAG_SUBSECTIMEORIGINAL 37521 /* DateTimeOriginal subseconds */ +#define EXIFTAG_SUBSECTIMEDIGITIZED 37522 /* DateTimeDigitized subseconds */ +#define EXIFTAG_FLASHPIXVERSION 40960 /* Supported Flashpix version */ +#define EXIFTAG_COLORSPACE 40961 /* Color space information */ +#define EXIFTAG_PIXELXDIMENSION 40962 /* Valid image width */ +#define EXIFTAG_PIXELYDIMENSION 40963 /* Valid image height */ +#define EXIFTAG_RELATEDSOUNDFILE 40964 /* Related audio file */ +#define EXIFTAG_FLASHENERGY 41483 /* Flash energy */ +#define EXIFTAG_SPATIALFREQUENCYRESPONSE 41484 /* Spatial frequency response */ +#define EXIFTAG_FOCALPLANEXRESOLUTION 41486 /* Focal plane X resolution */ +#define EXIFTAG_FOCALPLANEYRESOLUTION 41487 /* Focal plane Y resolution */ +#define EXIFTAG_FOCALPLANERESOLUTIONUNIT 41488 /* Focal plane resolution unit */ +#define EXIFTAG_SUBJECTLOCATION 41492 /* Subject location */ +#define EXIFTAG_EXPOSUREINDEX 41493 /* Exposure index */ +#define EXIFTAG_SENSINGMETHOD 41495 /* Sensing method */ +#define EXIFTAG_FILESOURCE 41728 /* File source */ +#define EXIFTAG_SCENETYPE 41729 /* Scene type */ +#define EXIFTAG_CFAPATTERN 41730 /* CFA pattern */ +#define EXIFTAG_CUSTOMRENDERED 41985 /* Custom image processing */ +#define EXIFTAG_EXPOSUREMODE 41986 /* Exposure mode */ +#define EXIFTAG_WHITEBALANCE 41987 /* White balance */ +#define EXIFTAG_DIGITALZOOMRATIO 41988 /* Digital zoom ratio */ +#define EXIFTAG_FOCALLENGTHIN35MMFILM 41989 /* Focal length in 35 mm film */ +#define EXIFTAG_SCENECAPTURETYPE 41990 /* Scene capture type */ +#define EXIFTAG_GAINCONTROL 41991 /* Gain control */ +#define EXIFTAG_CONTRAST 41992 /* Contrast */ +#define EXIFTAG_SATURATION 41993 /* Saturation */ +#define EXIFTAG_SHARPNESS 41994 /* Sharpness */ +#define EXIFTAG_DEVICESETTINGDESCRIPTION 41995 /* Device settings description */ +#define EXIFTAG_SUBJECTDISTANCERANGE 41996 /* Subject distance range */ +#define EXIFTAG_IMAGEUNIQUEID 42016 /* Unique image ID */ + +/*--: New for EXIF-Version 2.32, May 2019 ... */ +#define EXIFTAG_SENSITIVITYTYPE 34864 /* The SensitivityType tag indicates which one of the parameters of ISO12232 is the PhotographicSensitivity tag. */ +#define EXIFTAG_STANDARDOUTPUTSENSITIVITY 34865 /* This tag indicates the standard output sensitivity value of a camera or input device defined in ISO 12232. */ +#define EXIFTAG_RECOMMENDEDEXPOSUREINDEX 34866 /* recommended exposure index */ +#define EXIFTAG_ISOSPEED 34867 /* ISO speed value */ +#define EXIFTAG_ISOSPEEDLATITUDEYYY 34868 /* ISO speed latitude yyy */ +#define EXIFTAG_ISOSPEEDLATITUDEZZZ 34869 /* ISO speed latitude zzz */ +#define EXIFTAG_OFFSETTIME 36880 /* offset from UTC of the time of DateTime tag. */ +#define EXIFTAG_OFFSETTIMEORIGINAL 36881 /* offset from UTC of the time of DateTimeOriginal tag. */ +#define EXIFTAG_OFFSETTIMEDIGITIZED 36882 /* offset from UTC of the time of DateTimeDigitized tag. */ +#define EXIFTAG_TEMPERATURE 37888 /* Temperature as the ambient situation at the shot in dergee Celsius */ +#define EXIFTAG_HUMIDITY 37889 /* Humidity as the ambient situation at the shot in percent */ +#define EXIFTAG_PRESSURE 37890 /* Pressure as the ambient situation at the shot hecto-Pascal (hPa) */ +#define EXIFTAG_WATERDEPTH 37891 /* WaterDepth as the ambient situation at the shot in meter (m) */ +#define EXIFTAG_ACCELERATION 37892 /* Acceleration (a scalar regardless of direction) as the ambientsituation at the shot in units of mGal (10-5 m/s^2) */ +/* EXIFTAG_CAMERAELEVATIONANGLE: Elevation/depression. angle of the orientation of the camera(imaging optical axis) + * as the ambient situation at the shot in degree from -180deg to +180deg. */ +#define EXIFTAG_CAMERAELEVATIONANGLE 37893 +#define EXIFTAG_CAMERAOWNERNAME 42032 /* owner of a camera */ +#define EXIFTAG_BODYSERIALNUMBER 42033 /* serial number of the body of the camera */ +/* EXIFTAG_LENSSPECIFICATION: minimum focal length (in mm), maximum focal length (in mm),minimum F number in the minimum focal length, + * and minimum F number in the maximum focal length, */ +#define EXIFTAG_LENSSPECIFICATION 42034 +#define EXIFTAG_LENSMAKE 42035 /* the lens manufacturer */ +#define EXIFTAG_LENSMODEL 42036 /* the lens model name and model number */ +#define EXIFTAG_LENSSERIALNUMBER 42037 /* the serial number of the interchangeable lens */ +#define EXIFTAG_GAMMA 42240 /* value of coefficient gamma */ +#define EXIFTAG_COMPOSITEIMAGE 42080 /* composite image */ +#define EXIFTAG_SOURCEIMAGENUMBEROFCOMPOSITEIMAGE 42081 /* source image number of composite image */ +#define EXIFTAG_SOURCEEXPOSURETIMESOFCOMPOSITEIMAGE 42082 /* source exposure times of composite image */ + +/* + * EXIF-GPS tags (Version 2.31, July 2016) + */ +#define GPSTAG_VERSIONID 0 /* Indicates the version of GPSInfoIFD. */ +#define GPSTAG_LATITUDEREF 1 /* Indicates whether the latitude is north or south latitude. */ +#define GPSTAG_LATITUDE 2 /* Indicates the latitude. */ +#define GPSTAG_LONGITUDEREF 3 /* Indicates whether the longitude is east or west longitude. */ +#define GPSTAG_LONGITUDE 4 /* Indicates the longitude. */ +#define GPSTAG_ALTITUDEREF 5 /* Indicates the altitude used as the reference altitude. */ +#define GPSTAG_ALTITUDE 6 /* Indicates the altitude based on the reference in GPSAltitudeRef. */ +#define GPSTAG_TIMESTAMP 7 /*Indicates the time as UTC (Coordinated Universal Time). */ +#define GPSTAG_SATELLITES 8 /*Indicates the GPS satellites used for measurements. */ +#define GPSTAG_STATUS 9 /* Indicates the status of the GPS receiver when the image is recorded. */ +#define GPSTAG_MEASUREMODE 10 /* Indicates the GPS measurement mode. */ +#define GPSTAG_DOP 11 /* Indicates the GPS DOP (data degree of precision). */ +#define GPSTAG_SPEEDREF 12 /* Indicates the unit used to express the GPS receiver speed of movement. */ +#define GPSTAG_SPEED 13 /* Indicates the speed of GPS receiver movement. */ +#define GPSTAG_TRACKREF 14 /* Indicates the reference for giving the direction of GPS receiver movement. */ +#define GPSTAG_TRACK 15 /* Indicates the direction of GPS receiver movement. */ +#define GPSTAG_IMGDIRECTIONREF 16 /* Indicates the reference for giving the direction of the image when it is captured. */ +#define GPSTAG_IMGDIRECTION 17 /* Indicates the direction of the image when it was captured. */ +#define GPSTAG_MAPDATUM 18 /* Indicates the geodetic survey data used by the GPS receiver. (e.g. WGS-84) */ +#define GPSTAG_DESTLATITUDEREF 19 /* Indicates whether the latitude of the destination point is north or south latitude. */ +#define GPSTAG_DESTLATITUDE 20 /* Indicates the latitude of the destination point. */ +#define GPSTAG_DESTLONGITUDEREF 21 /* Indicates whether the longitude of the destination point is east or west longitude. */ +#define GPSTAG_DESTLONGITUDE 22 /* Indicates the longitude of the destination point. */ +#define GPSTAG_DESTBEARINGREF 23 /* Indicates the reference used for giving the bearing to the destination point. */ +#define GPSTAG_DESTBEARING 24 /* Indicates the bearing to the destination point. */ +#define GPSTAG_DESTDISTANCEREF 25 /* Indicates the unit used to express the distance to the destination point. */ +#define GPSTAG_DESTDISTANCE 26 /* Indicates the distance to the destination point. */ +#define GPSTAG_PROCESSINGMETHOD 27 /* A character string recording the name of the method used for location finding. */ +#define GPSTAG_AREAINFORMATION 28 /* A character string recording the name of the GPS area. */ +#define GPSTAG_DATESTAMP 29 /* A character string recording date and time information relative to UTC (Coordinated Universal Time). */ +#define GPSTAG_DIFFERENTIAL 30 /* Indicates whether differential correction is applied to the GPS receiver. */ +#define GPSTAG_GPSHPOSITIONINGERROR 31 /* Indicates horizontal positioning errors in meters. */ + +#endif /* _TIFF_ */ diff --git a/vcpkg/installed/x64-osx/include/tiffconf.h b/vcpkg/installed/x64-osx/include/tiffconf.h new file mode 100644 index 0000000..97d19e1 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/tiffconf.h @@ -0,0 +1,144 @@ +/* + Configuration defines for installed libtiff. + This file maintained for backward compatibility. Do not use definitions + from this file in your programs. +*/ + +/* clang-format off */ +/* clang-format disabled because CMake scripts are very sensitive to the + * formatting of this file. configure_file variables of type "" are + * modified by clang-format and won't be substituted. + */ + +#ifndef _TIFFCONF_ +#define _TIFFCONF_ + + +#include +#include +#include + + +/* Signed 16-bit type */ +#define TIFF_INT16_T int16_t + +/* Signed 32-bit type */ +#define TIFF_INT32_T int32_t + +/* Signed 64-bit type */ +#define TIFF_INT64_T int64_t + +/* Signed 8-bit type */ +#define TIFF_INT8_T int8_t + +/* Unsigned 16-bit type */ +#define TIFF_UINT16_T uint16_t + +/* Unsigned 32-bit type */ +#define TIFF_UINT32_T uint32_t + +/* Unsigned 64-bit type */ +#define TIFF_UINT64_T uint64_t + +/* Unsigned 8-bit type */ +#define TIFF_UINT8_T uint8_t + +/* Signed size type */ +#define TIFF_SSIZE_T int64_t + +/* Compatibility stuff. */ + +/* Define as 0 or 1 according to the floating point format supported by the + machine */ +#define HAVE_IEEEFP 1 + +/* The concept of HOST_FILLORDER is broken. Since libtiff 4.5.1 + * this macro will always be hardcoded to FILLORDER_LSB2MSB on all + * architectures, to reflect past long behavior of doing so on x86 architecture. + * Note however that the default FillOrder used by libtiff is FILLORDER_MSB2LSB, + * as mandated per the TIFF specification. + * The influence of HOST_FILLORDER is only when passing the 'H' mode in + * TIFFOpen(). + * You should NOT rely on this macro to decide the CPU endianness! + * This macro will be removed in libtiff 4.6 + */ +#define HOST_FILLORDER FILLORDER_LSB2MSB + +/* Native cpu byte order: 1 if big-endian (Motorola) or 0 if little-endian + (Intel) */ +#define HOST_BIGENDIAN 0 + +/* Support CCITT Group 3 & 4 algorithms */ +#define CCITT_SUPPORT 1 + +/* Support JPEG compression (requires IJG JPEG library) */ +#define JPEG_SUPPORT 1 + +/* Support JBIG compression (requires JBIG-KIT library) */ +/* #undef JBIG_SUPPORT */ + +/* Support LERC compression */ +/* #undef LERC_SUPPORT */ + +/* Support LogLuv high dynamic range encoding */ +#define LOGLUV_SUPPORT 1 + +/* Support LZW algorithm */ +#define LZW_SUPPORT 1 + +/* Support NeXT 2-bit RLE algorithm */ +#define NEXT_SUPPORT 1 + +/* Support Old JPEG compresson (read contrib/ojpeg/README first! Compilation + fails with unpatched IJG JPEG library) */ +#define OJPEG_SUPPORT 1 + +/* Support Macintosh PackBits algorithm */ +#define PACKBITS_SUPPORT 1 + +/* Support Pixar log-format algorithm (requires Zlib) */ +#define PIXARLOG_SUPPORT 1 + +/* Support ThunderScan 4-bit RLE algorithm */ +#define THUNDER_SUPPORT 1 + +/* Support Deflate compression */ +#define ZIP_SUPPORT 1 + +/* Support libdeflate enhanced compression */ +/* #undef LIBDEFLATE_SUPPORT */ + +/* Support strip chopping (whether or not to convert single-strip uncompressed + images to multiple strips of ~8Kb to reduce memory usage) */ +#define STRIPCHOP_DEFAULT TIFF_STRIPCHOP + +/* Enable SubIFD tag (330) support */ +#define SUBIFD_SUPPORT 1 + +/* Treat extra sample as alpha (default enabled). The RGBA interface will + treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA. Many + packages produce RGBA files but don't mark the alpha properly. */ +#define DEFAULT_EXTRASAMPLE_AS_ALPHA 1 + +/* Pick up YCbCr subsampling info from the JPEG data stream to support files + lacking the tag (default enabled). */ +#define CHECK_JPEG_YCBCR_SUBSAMPLING 1 + +/* Support MS MDI magic number files as TIFF */ +#define MDI_SUPPORT 1 + +/* + * Feature support definitions. + * XXX: These macros are obsoleted. Don't use them in your apps! + * Macros stays here for backward compatibility and should be always defined. + */ +#define COLORIMETRY_SUPPORT +#define YCBCR_SUPPORT +#define CMYK_SUPPORT +#define ICC_SUPPORT +#define PHOTOSHOP_SUPPORT +#define IPTC_SUPPORT + +#endif /* _TIFFCONF_ */ + +/* clang-format on */ diff --git a/vcpkg/installed/x64-osx/include/tiffio.h b/vcpkg/installed/x64-osx/include/tiffio.h new file mode 100644 index 0000000..2046054 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/tiffio.h @@ -0,0 +1,653 @@ +/* + * Copyright (c) 1988-1997 Sam Leffler + * Copyright (c) 1991-1997 Silicon Graphics, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and + * its documentation for any purpose is hereby granted without fee, provided + * that (i) the above copyright notices and this permission notice appear in + * all copies of the software and related documentation, and (ii) the names of + * Sam Leffler and Silicon Graphics may not be used in any advertising or + * publicity relating to the software without the specific, prior written + * permission of Sam Leffler and Silicon Graphics. + * + * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, + * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY + * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + * + * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR + * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF + * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifndef _TIFFIO_ +#define _TIFFIO_ + +/* + * TIFF I/O Library Definitions. + */ +#include "tiff.h" +#include "tiffvers.h" + +/* + * TIFF is defined as an incomplete type to hide the + * library's internal data structures from clients. + */ +typedef struct tiff TIFF; + +/* + * The following typedefs define the intrinsic size of + * data types used in the *exported* interfaces. These + * definitions depend on the proper definition of types + * in tiff.h. Note also that the varargs interface used + * to pass tag types and values uses the types defined in + * tiff.h directly. + * + * NB: ttag_t is unsigned int and not unsigned short because + * ANSI C requires that the type before the ellipsis be a + * promoted type (i.e. one of int, unsigned int, pointer, + * or double) and because we defined pseudo-tags that are + * outside the range of legal Aldus-assigned tags. + * NB: tsize_t is signed and not unsigned because some functions + * return -1. + * NB: toff_t is not off_t for many reasons; TIFFs max out at + * 32-bit file offsets, and BigTIFF maxes out at 64-bit + * offsets being the most important, and to ensure use of + * a consistently unsigned type across architectures. + * Prior to libtiff 4.0, this was an unsigned 32 bit type. + */ +/* + * this is the machine addressing size type, only it's signed, so make it + * int32_t on 32bit machines, int64_t on 64bit machines + */ +typedef TIFF_SSIZE_T tmsize_t; +#define TIFF_TMSIZE_T_MAX (tmsize_t)(SIZE_MAX >> 1) + +typedef uint64_t toff_t; /* file offset */ +/* the following are deprecated and should be replaced by their defining + counterparts */ +typedef uint32_t ttag_t; /* directory tag */ +typedef uint32_t tdir_t; /* directory index */ +typedef uint16_t tsample_t; /* sample number */ +typedef uint32_t tstrile_t; /* strip or tile number */ +typedef tstrile_t tstrip_t; /* strip number */ +typedef tstrile_t ttile_t; /* tile number */ +typedef tmsize_t tsize_t; /* i/o size in bytes */ +typedef void *tdata_t; /* image data ref */ + +#if !defined(__WIN32__) && (defined(_WIN32) || defined(WIN32)) +#define __WIN32__ +#endif + +/* + * On windows you should define USE_WIN32_FILEIO if you are using tif_win32.c + * or AVOID_WIN32_FILEIO if you are using something else (like tif_unix.c). + * + * By default tif_unix.c is assumed. + */ + +#if defined(_WINDOWS) || defined(__WIN32__) || defined(_Windows) +#if !defined(__CYGWIN) && !defined(AVOID_WIN32_FILEIO) && \ + !defined(USE_WIN32_FILEIO) +#define AVOID_WIN32_FILEIO +#endif +#endif + +#if defined(USE_WIN32_FILEIO) +#define VC_EXTRALEAN +#include +#ifdef __WIN32__ +DECLARE_HANDLE(thandle_t); /* Win32 file handle */ +#else +typedef HFILE thandle_t; /* client data handle */ +#endif /* __WIN32__ */ +#else +typedef void *thandle_t; /* client data handle */ +#endif /* USE_WIN32_FILEIO */ + +/* + * Flags to pass to TIFFPrintDirectory to control + * printing of data structures that are potentially + * very large. Bit-or these flags to enable printing + * multiple items. + */ +#define TIFFPRINT_NONE 0x0 /* no extra info */ +#define TIFFPRINT_STRIPS 0x1 /* strips/tiles info */ +#define TIFFPRINT_CURVES 0x2 /* color/gray response curves */ +#define TIFFPRINT_COLORMAP 0x4 /* colormap */ +#define TIFFPRINT_JPEGQTABLES 0x100 /* JPEG Q matrices */ +#define TIFFPRINT_JPEGACTABLES 0x200 /* JPEG AC tables */ +#define TIFFPRINT_JPEGDCTABLES 0x200 /* JPEG DC tables */ + +/* + * Colour conversion stuff + */ + +/* reference white */ +#define D65_X0 (95.0470F) +#define D65_Y0 (100.0F) +#define D65_Z0 (108.8827F) + +#define D50_X0 (96.4250F) +#define D50_Y0 (100.0F) +#define D50_Z0 (82.4680F) + +/* Structure for holding information about a display device. */ + +typedef unsigned char TIFFRGBValue; /* 8-bit samples */ + +typedef struct +{ + float d_mat[3][3]; /* XYZ -> luminance matrix */ + float d_YCR; /* Light o/p for reference white */ + float d_YCG; + float d_YCB; + uint32_t d_Vrwr; /* Pixel values for ref. white */ + uint32_t d_Vrwg; + uint32_t d_Vrwb; + float d_Y0R; /* Residual light for black pixel */ + float d_Y0G; + float d_Y0B; + float d_gammaR; /* Gamma values for the three guns */ + float d_gammaG; + float d_gammaB; +} TIFFDisplay; + +typedef struct +{ /* YCbCr->RGB support */ + TIFFRGBValue *clamptab; /* range clamping table */ + int *Cr_r_tab; + int *Cb_b_tab; + int32_t *Cr_g_tab; + int32_t *Cb_g_tab; + int32_t *Y_tab; +} TIFFYCbCrToRGB; + +typedef struct +{ /* CIE Lab 1976->RGB support */ + int range; /* Size of conversion table */ +#define CIELABTORGB_TABLE_RANGE 1500 + float rstep, gstep, bstep; + float X0, Y0, Z0; /* Reference white point */ + TIFFDisplay display; + float Yr2r[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yr to r */ + float Yg2g[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yg to g */ + float Yb2b[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yb to b */ +} TIFFCIELabToRGB; + +/* + * RGBA-style image support. + */ +typedef struct _TIFFRGBAImage TIFFRGBAImage; +/* + * The image reading and conversion routines invoke + * ``put routines'' to copy/image/whatever tiles of + * raw image data. A default set of routines are + * provided to convert/copy raw image data to 8-bit + * packed ABGR format rasters. Applications can supply + * alternate routines that unpack the data into a + * different format or, for example, unpack the data + * and draw the unpacked raster on the display. + */ +typedef void (*tileContigRoutine)(TIFFRGBAImage *, uint32_t *, uint32_t, + uint32_t, uint32_t, uint32_t, int32_t, + int32_t, unsigned char *); +typedef void (*tileSeparateRoutine)(TIFFRGBAImage *, uint32_t *, uint32_t, + uint32_t, uint32_t, uint32_t, int32_t, + int32_t, unsigned char *, unsigned char *, + unsigned char *, unsigned char *); +/* + * RGBA-reader state. + */ +struct _TIFFRGBAImage +{ + TIFF *tif; /* image handle */ + int stoponerr; /* stop on read error */ + int isContig; /* data is packed/separate */ + int alpha; /* type of alpha data present */ + uint32_t width; /* image width */ + uint32_t height; /* image height */ + uint16_t bitspersample; /* image bits/sample */ + uint16_t samplesperpixel; /* image samples/pixel */ + uint16_t orientation; /* image orientation */ + uint16_t req_orientation; /* requested orientation */ + uint16_t photometric; /* image photometric interp */ + uint16_t *redcmap; /* colormap palette */ + uint16_t *greencmap; + uint16_t *bluecmap; + /* get image data routine */ + int (*get)(TIFFRGBAImage *, uint32_t *, uint32_t, uint32_t); + /* put decoded strip/tile */ + union + { + void (*any)(TIFFRGBAImage *); + tileContigRoutine contig; + tileSeparateRoutine separate; + } put; + TIFFRGBValue *Map; /* sample mapping array */ + uint32_t **BWmap; /* black&white map */ + uint32_t **PALmap; /* palette image map */ + TIFFYCbCrToRGB *ycbcr; /* YCbCr conversion state */ + TIFFCIELabToRGB *cielab; /* CIE L*a*b conversion state */ + + uint8_t *UaToAa; /* Unassociated alpha to associated alpha conversion LUT */ + uint8_t *Bitdepth16To8; /* LUT for conversion from 16bit to 8bit values */ + + int row_offset; + int col_offset; +}; + +/* + * Macros for extracting components from the + * packed ABGR form returned by TIFFReadRGBAImage. + */ +#define TIFFGetR(abgr) ((abgr)&0xff) +#define TIFFGetG(abgr) (((abgr) >> 8) & 0xff) +#define TIFFGetB(abgr) (((abgr) >> 16) & 0xff) +#define TIFFGetA(abgr) (((abgr) >> 24) & 0xff) + +/* + * A CODEC is a software package that implements decoding, + * encoding, or decoding+encoding of a compression algorithm. + * The library provides a collection of builtin codecs. + * More codecs may be registered through calls to the library + * and/or the builtin implementations may be overridden. + */ +typedef int (*TIFFInitMethod)(TIFF *, int); +typedef struct +{ + char *name; + uint16_t scheme; + TIFFInitMethod init; +} TIFFCodec; + +typedef struct +{ + uint32_t uNum; + uint32_t uDenom; +} TIFFRational_t; + +#include +#include + +/* share internal LogLuv conversion routines? */ +#ifndef LOGLUV_PUBLIC +#define LOGLUV_PUBLIC 1 +#endif + +#if defined(__GNUC__) || defined(__clang__) || defined(__attribute__) +#define TIFF_ATTRIBUTE(x) __attribute__(x) +#else +#define TIFF_ATTRIBUTE(x) /*nothing*/ +#endif + +#if defined(c_plusplus) || defined(__cplusplus) +extern "C" +{ +#endif + typedef void (*TIFFErrorHandler)(const char *, const char *, va_list); + typedef void (*TIFFErrorHandlerExt)(thandle_t, const char *, const char *, + va_list); + typedef int (*TIFFErrorHandlerExtR)(TIFF *, void *user_data, const char *, + const char *, va_list); + typedef tmsize_t (*TIFFReadWriteProc)(thandle_t, void *, tmsize_t); + typedef toff_t (*TIFFSeekProc)(thandle_t, toff_t, int); + typedef int (*TIFFCloseProc)(thandle_t); + typedef toff_t (*TIFFSizeProc)(thandle_t); + typedef int (*TIFFMapFileProc)(thandle_t, void **base, toff_t *size); + typedef void (*TIFFUnmapFileProc)(thandle_t, void *base, toff_t size); + typedef void (*TIFFExtendProc)(TIFF *); + + extern const char *TIFFGetVersion(void); + + extern const TIFFCodec *TIFFFindCODEC(uint16_t); + extern TIFFCodec *TIFFRegisterCODEC(uint16_t, const char *, TIFFInitMethod); + extern void TIFFUnRegisterCODEC(TIFFCodec *); + extern int TIFFIsCODECConfigured(uint16_t); + extern TIFFCodec *TIFFGetConfiguredCODECs(void); + + /* + * Auxiliary functions. + */ + + extern void *_TIFFmalloc(tmsize_t s); + extern void *_TIFFcalloc(tmsize_t nmemb, tmsize_t siz); + extern void *_TIFFrealloc(void *p, tmsize_t s); + extern void _TIFFmemset(void *p, int v, tmsize_t c); + extern void _TIFFmemcpy(void *d, const void *s, tmsize_t c); + extern int _TIFFmemcmp(const void *p1, const void *p2, tmsize_t c); + extern void _TIFFfree(void *p); + + /* + ** Stuff, related to tag handling and creating custom tags. + */ + extern int TIFFGetTagListCount(TIFF *); + extern uint32_t TIFFGetTagListEntry(TIFF *, int tag_index); + +#define TIFF_ANY TIFF_NOTYPE /* for field descriptor searching */ +#define TIFF_VARIABLE -1 /* marker for variable length tags */ +#define TIFF_SPP -2 /* marker for SamplesPerPixel tags */ +#define TIFF_VARIABLE2 -3 /* marker for uint32_t var-length tags */ + +#define FIELD_CUSTOM 65 + + typedef struct _TIFFField TIFFField; + typedef struct _TIFFFieldArray TIFFFieldArray; + + extern const TIFFField *TIFFFindField(TIFF *, uint32_t, TIFFDataType); + extern const TIFFField *TIFFFieldWithTag(TIFF *, uint32_t); + extern const TIFFField *TIFFFieldWithName(TIFF *, const char *); + + extern uint32_t TIFFFieldTag(const TIFFField *); + extern const char *TIFFFieldName(const TIFFField *); + extern TIFFDataType TIFFFieldDataType(const TIFFField *); + extern int TIFFFieldPassCount(const TIFFField *); + extern int TIFFFieldReadCount(const TIFFField *); + extern int TIFFFieldWriteCount(const TIFFField *); + extern int + TIFFFieldSetGetSize(const TIFFField *); /* returns internal storage size of + TIFFSetGetFieldType in bytes. */ + extern int TIFFFieldSetGetCountSize( + const TIFFField *); /* returns size of count parameter 0=none, + 2=uint16_t, 4=uint32_t */ + extern int TIFFFieldIsAnonymous(const TIFFField *); + + typedef int (*TIFFVSetMethod)(TIFF *, uint32_t, va_list); + typedef int (*TIFFVGetMethod)(TIFF *, uint32_t, va_list); + typedef void (*TIFFPrintMethod)(TIFF *, FILE *, long); + + typedef struct + { + TIFFVSetMethod vsetfield; /* tag set routine */ + TIFFVGetMethod vgetfield; /* tag get routine */ + TIFFPrintMethod printdir; /* directory print routine */ + } TIFFTagMethods; + + extern TIFFTagMethods *TIFFAccessTagMethods(TIFF *); + extern void *TIFFGetClientInfo(TIFF *, const char *); + extern void TIFFSetClientInfo(TIFF *, void *, const char *); + + extern void TIFFCleanup(TIFF *tif); + extern void TIFFClose(TIFF *tif); + extern int TIFFFlush(TIFF *tif); + extern int TIFFFlushData(TIFF *tif); + extern int TIFFGetField(TIFF *tif, uint32_t tag, ...); + extern int TIFFVGetField(TIFF *tif, uint32_t tag, va_list ap); + extern int TIFFGetFieldDefaulted(TIFF *tif, uint32_t tag, ...); + extern int TIFFVGetFieldDefaulted(TIFF *tif, uint32_t tag, va_list ap); + extern int TIFFReadDirectory(TIFF *tif); + extern int TIFFReadCustomDirectory(TIFF *tif, toff_t diroff, + const TIFFFieldArray *infoarray); + extern int TIFFReadEXIFDirectory(TIFF *tif, toff_t diroff); + extern int TIFFReadGPSDirectory(TIFF *tif, toff_t diroff); + extern uint64_t TIFFScanlineSize64(TIFF *tif); + extern tmsize_t TIFFScanlineSize(TIFF *tif); + extern uint64_t TIFFRasterScanlineSize64(TIFF *tif); + extern tmsize_t TIFFRasterScanlineSize(TIFF *tif); + extern uint64_t TIFFStripSize64(TIFF *tif); + extern tmsize_t TIFFStripSize(TIFF *tif); + extern uint64_t TIFFRawStripSize64(TIFF *tif, uint32_t strip); + extern tmsize_t TIFFRawStripSize(TIFF *tif, uint32_t strip); + extern uint64_t TIFFVStripSize64(TIFF *tif, uint32_t nrows); + extern tmsize_t TIFFVStripSize(TIFF *tif, uint32_t nrows); + extern uint64_t TIFFTileRowSize64(TIFF *tif); + extern tmsize_t TIFFTileRowSize(TIFF *tif); + extern uint64_t TIFFTileSize64(TIFF *tif); + extern tmsize_t TIFFTileSize(TIFF *tif); + extern uint64_t TIFFVTileSize64(TIFF *tif, uint32_t nrows); + extern tmsize_t TIFFVTileSize(TIFF *tif, uint32_t nrows); + extern uint32_t TIFFDefaultStripSize(TIFF *tif, uint32_t request); + extern void TIFFDefaultTileSize(TIFF *, uint32_t *, uint32_t *); + extern int TIFFFileno(TIFF *); + extern int TIFFSetFileno(TIFF *, int); + extern thandle_t TIFFClientdata(TIFF *); + extern thandle_t TIFFSetClientdata(TIFF *, thandle_t); + extern int TIFFGetMode(TIFF *); + extern int TIFFSetMode(TIFF *, int); + extern int TIFFIsTiled(TIFF *); + extern int TIFFIsByteSwapped(TIFF *); + extern int TIFFIsUpSampled(TIFF *); + extern int TIFFIsMSB2LSB(TIFF *); + extern int TIFFIsBigEndian(TIFF *); + extern int TIFFIsBigTIFF(TIFF *); + extern TIFFReadWriteProc TIFFGetReadProc(TIFF *); + extern TIFFReadWriteProc TIFFGetWriteProc(TIFF *); + extern TIFFSeekProc TIFFGetSeekProc(TIFF *); + extern TIFFCloseProc TIFFGetCloseProc(TIFF *); + extern TIFFSizeProc TIFFGetSizeProc(TIFF *); + extern TIFFMapFileProc TIFFGetMapFileProc(TIFF *); + extern TIFFUnmapFileProc TIFFGetUnmapFileProc(TIFF *); + extern uint32_t TIFFCurrentRow(TIFF *); + extern tdir_t TIFFCurrentDirectory(TIFF *); + extern tdir_t TIFFNumberOfDirectories(TIFF *); + extern uint64_t TIFFCurrentDirOffset(TIFF *); + extern uint32_t TIFFCurrentStrip(TIFF *); + extern uint32_t TIFFCurrentTile(TIFF *tif); + extern int TIFFReadBufferSetup(TIFF *tif, void *bp, tmsize_t size); + extern int TIFFWriteBufferSetup(TIFF *tif, void *bp, tmsize_t size); + extern int TIFFSetupStrips(TIFF *); + extern int TIFFWriteCheck(TIFF *, int, const char *); + extern void TIFFFreeDirectory(TIFF *); + extern int TIFFCreateDirectory(TIFF *); + extern int TIFFCreateCustomDirectory(TIFF *, const TIFFFieldArray *); + extern int TIFFCreateEXIFDirectory(TIFF *); + extern int TIFFCreateGPSDirectory(TIFF *); + extern int TIFFLastDirectory(TIFF *); + extern int TIFFSetDirectory(TIFF *, tdir_t); + extern int TIFFSetSubDirectory(TIFF *, uint64_t); + extern int TIFFUnlinkDirectory(TIFF *, tdir_t); + extern int TIFFSetField(TIFF *, uint32_t, ...); + extern int TIFFVSetField(TIFF *, uint32_t, va_list); + extern int TIFFUnsetField(TIFF *, uint32_t); + extern int TIFFWriteDirectory(TIFF *); + extern int TIFFWriteCustomDirectory(TIFF *, uint64_t *); + extern int TIFFCheckpointDirectory(TIFF *); + extern int TIFFRewriteDirectory(TIFF *); + extern int TIFFDeferStrileArrayWriting(TIFF *); + extern int TIFFForceStrileArrayWriting(TIFF *); + +#if defined(c_plusplus) || defined(__cplusplus) + extern void TIFFPrintDirectory(TIFF *, FILE *, long = 0); + extern int TIFFReadScanline(TIFF *tif, void *buf, uint32_t row, + uint16_t sample = 0); + extern int TIFFWriteScanline(TIFF *tif, void *buf, uint32_t row, + uint16_t sample = 0); + extern int TIFFReadRGBAImage(TIFF *, uint32_t, uint32_t, uint32_t *, + int = 0); + extern int TIFFReadRGBAImageOriented(TIFF *, uint32_t, uint32_t, uint32_t *, + int = ORIENTATION_BOTLEFT, int = 0); +#else +extern void TIFFPrintDirectory(TIFF *, FILE *, long); +extern int TIFFReadScanline(TIFF *tif, void *buf, uint32_t row, + uint16_t sample); +extern int TIFFWriteScanline(TIFF *tif, void *buf, uint32_t row, + uint16_t sample); +extern int TIFFReadRGBAImage(TIFF *, uint32_t, uint32_t, uint32_t *, int); +extern int TIFFReadRGBAImageOriented(TIFF *, uint32_t, uint32_t, uint32_t *, + int, int); +#endif + + extern int TIFFReadRGBAStrip(TIFF *, uint32_t, uint32_t *); + extern int TIFFReadRGBATile(TIFF *, uint32_t, uint32_t, uint32_t *); + extern int TIFFReadRGBAStripExt(TIFF *, uint32_t, uint32_t *, + int stop_on_error); + extern int TIFFReadRGBATileExt(TIFF *, uint32_t, uint32_t, uint32_t *, + int stop_on_error); + extern int TIFFRGBAImageOK(TIFF *, char[1024]); + extern int TIFFRGBAImageBegin(TIFFRGBAImage *, TIFF *, int, char[1024]); + extern int TIFFRGBAImageGet(TIFFRGBAImage *, uint32_t *, uint32_t, + uint32_t); + extern void TIFFRGBAImageEnd(TIFFRGBAImage *); + + extern const char *TIFFFileName(TIFF *); + extern const char *TIFFSetFileName(TIFF *, const char *); + extern void TIFFError(const char *, const char *, ...) + TIFF_ATTRIBUTE((__format__(__printf__, 2, 3))); + extern void TIFFErrorExt(thandle_t, const char *, const char *, ...) + TIFF_ATTRIBUTE((__format__(__printf__, 3, 4))); + extern void TIFFWarning(const char *, const char *, ...) + TIFF_ATTRIBUTE((__format__(__printf__, 2, 3))); + extern void TIFFWarningExt(thandle_t, const char *, const char *, ...) + TIFF_ATTRIBUTE((__format__(__printf__, 3, 4))); + extern TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler); + extern TIFFErrorHandlerExt TIFFSetErrorHandlerExt(TIFFErrorHandlerExt); + extern TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler); + extern TIFFErrorHandlerExt TIFFSetWarningHandlerExt(TIFFErrorHandlerExt); + + extern void TIFFWarningExtR(TIFF *, const char *, const char *, ...) + TIFF_ATTRIBUTE((__format__(__printf__, 3, 4))); + extern void TIFFErrorExtR(TIFF *, const char *, const char *, ...) + TIFF_ATTRIBUTE((__format__(__printf__, 3, 4))); + + typedef struct TIFFOpenOptions TIFFOpenOptions; + extern TIFFOpenOptions *TIFFOpenOptionsAlloc(void); + extern void TIFFOpenOptionsFree(TIFFOpenOptions *); + extern void + TIFFOpenOptionsSetMaxSingleMemAlloc(TIFFOpenOptions *opts, + tmsize_t max_single_mem_alloc); + extern void + TIFFOpenOptionsSetErrorHandlerExtR(TIFFOpenOptions *opts, + TIFFErrorHandlerExtR handler, + void *errorhandler_user_data); + extern void + TIFFOpenOptionsSetWarningHandlerExtR(TIFFOpenOptions *opts, + TIFFErrorHandlerExtR handler, + void *warnhandler_user_data); + + extern TIFF *TIFFOpen(const char *, const char *); + extern TIFF *TIFFOpenExt(const char *, const char *, TIFFOpenOptions *opts); +#ifdef __WIN32__ + extern TIFF *TIFFOpenW(const wchar_t *, const char *); + extern TIFF *TIFFOpenWExt(const wchar_t *, const char *, + TIFFOpenOptions *opts); +#endif /* __WIN32__ */ + extern TIFF *TIFFFdOpen(int, const char *, const char *); + extern TIFF *TIFFFdOpenExt(int, const char *, const char *, + TIFFOpenOptions *opts); + extern TIFF *TIFFClientOpen(const char *, const char *, thandle_t, + TIFFReadWriteProc, TIFFReadWriteProc, + TIFFSeekProc, TIFFCloseProc, TIFFSizeProc, + TIFFMapFileProc, TIFFUnmapFileProc); + extern TIFF *TIFFClientOpenExt(const char *, const char *, thandle_t, + TIFFReadWriteProc, TIFFReadWriteProc, + TIFFSeekProc, TIFFCloseProc, TIFFSizeProc, + TIFFMapFileProc, TIFFUnmapFileProc, + TIFFOpenOptions *opts); + extern TIFFExtendProc TIFFSetTagExtender(TIFFExtendProc); + extern uint32_t TIFFComputeTile(TIFF *tif, uint32_t x, uint32_t y, + uint32_t z, uint16_t s); + extern int TIFFCheckTile(TIFF *tif, uint32_t x, uint32_t y, uint32_t z, + uint16_t s); + extern uint32_t TIFFNumberOfTiles(TIFF *); + extern tmsize_t TIFFReadTile(TIFF *tif, void *buf, uint32_t x, uint32_t y, + uint32_t z, uint16_t s); + extern tmsize_t TIFFWriteTile(TIFF *tif, void *buf, uint32_t x, uint32_t y, + uint32_t z, uint16_t s); + extern uint32_t TIFFComputeStrip(TIFF *, uint32_t, uint16_t); + extern uint32_t TIFFNumberOfStrips(TIFF *); + extern tmsize_t TIFFReadEncodedStrip(TIFF *tif, uint32_t strip, void *buf, + tmsize_t size); + extern tmsize_t TIFFReadRawStrip(TIFF *tif, uint32_t strip, void *buf, + tmsize_t size); + extern tmsize_t TIFFReadEncodedTile(TIFF *tif, uint32_t tile, void *buf, + tmsize_t size); + extern tmsize_t TIFFReadRawTile(TIFF *tif, uint32_t tile, void *buf, + tmsize_t size); + extern int TIFFReadFromUserBuffer(TIFF *tif, uint32_t strile, void *inbuf, + tmsize_t insize, void *outbuf, + tmsize_t outsize); + extern tmsize_t TIFFWriteEncodedStrip(TIFF *tif, uint32_t strip, void *data, + tmsize_t cc); + extern tmsize_t TIFFWriteRawStrip(TIFF *tif, uint32_t strip, void *data, + tmsize_t cc); + extern tmsize_t TIFFWriteEncodedTile(TIFF *tif, uint32_t tile, void *data, + tmsize_t cc); + extern tmsize_t TIFFWriteRawTile(TIFF *tif, uint32_t tile, void *data, + tmsize_t cc); + extern int TIFFDataWidth( + TIFFDataType); /* table of tag datatype widths within TIFF file. */ + extern void TIFFSetWriteOffset(TIFF *tif, toff_t off); + extern void TIFFSwabShort(uint16_t *); + extern void TIFFSwabLong(uint32_t *); + extern void TIFFSwabLong8(uint64_t *); + extern void TIFFSwabFloat(float *); + extern void TIFFSwabDouble(double *); + extern void TIFFSwabArrayOfShort(uint16_t *wp, tmsize_t n); + extern void TIFFSwabArrayOfTriples(uint8_t *tp, tmsize_t n); + extern void TIFFSwabArrayOfLong(uint32_t *lp, tmsize_t n); + extern void TIFFSwabArrayOfLong8(uint64_t *lp, tmsize_t n); + extern void TIFFSwabArrayOfFloat(float *fp, tmsize_t n); + extern void TIFFSwabArrayOfDouble(double *dp, tmsize_t n); + extern void TIFFReverseBits(uint8_t *cp, tmsize_t n); + extern const unsigned char *TIFFGetBitRevTable(int); + + extern uint64_t TIFFGetStrileOffset(TIFF *tif, uint32_t strile); + extern uint64_t TIFFGetStrileByteCount(TIFF *tif, uint32_t strile); + extern uint64_t TIFFGetStrileOffsetWithErr(TIFF *tif, uint32_t strile, + int *pbErr); + extern uint64_t TIFFGetStrileByteCountWithErr(TIFF *tif, uint32_t strile, + int *pbErr); + +#ifdef LOGLUV_PUBLIC +#define U_NEU 0.210526316 +#define V_NEU 0.473684211 +#define UVSCALE 410. + extern double LogL16toY(int); + extern double LogL10toY(int); + extern void XYZtoRGB24(float *, uint8_t *); + extern int uv_decode(double *, double *, int); + extern void LogLuv24toXYZ(uint32_t, float *); + extern void LogLuv32toXYZ(uint32_t, float *); +#if defined(c_plusplus) || defined(__cplusplus) + extern int LogL16fromY(double, int = SGILOGENCODE_NODITHER); + extern int LogL10fromY(double, int = SGILOGENCODE_NODITHER); + extern int uv_encode(double, double, int = SGILOGENCODE_NODITHER); + extern uint32_t LogLuv24fromXYZ(float *, int = SGILOGENCODE_NODITHER); + extern uint32_t LogLuv32fromXYZ(float *, int = SGILOGENCODE_NODITHER); +#else + extern int LogL16fromY(double, int); + extern int LogL10fromY(double, int); + extern int uv_encode(double, double, int); + extern uint32_t LogLuv24fromXYZ(float *, int); + extern uint32_t LogLuv32fromXYZ(float *, int); +#endif +#endif /* LOGLUV_PUBLIC */ + + extern int TIFFCIELabToRGBInit(TIFFCIELabToRGB *, const TIFFDisplay *, + float *); + extern void TIFFCIELabToXYZ(TIFFCIELabToRGB *, uint32_t, int32_t, int32_t, + float *, float *, float *); + extern void TIFFXYZToRGB(TIFFCIELabToRGB *, float, float, float, uint32_t *, + uint32_t *, uint32_t *); + + extern int TIFFYCbCrToRGBInit(TIFFYCbCrToRGB *, float *, float *); + extern void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *, uint32_t, int32_t, int32_t, + uint32_t *, uint32_t *, uint32_t *); + + /**************************************************************************** + * O B S O L E T E D I N T E R F A C E S + * + * Don't use this stuff in your applications, it may be removed in the + *future libtiff versions. + ****************************************************************************/ + typedef struct + { + ttag_t field_tag; /* field's tag */ + short field_readcount; /* read count/TIFF_VARIABLE/TIFF_SPP */ + short field_writecount; /* write count/TIFF_VARIABLE */ + TIFFDataType field_type; /* type of associated data */ + unsigned short field_bit; /* bit in fieldsset bit vector */ + unsigned char field_oktochange; /* if true, can change while writing */ + unsigned char field_passcount; /* if true, pass dir count on set */ + char *field_name; /* ASCII name */ + } TIFFFieldInfo; + + extern int TIFFMergeFieldInfo(TIFF *, const TIFFFieldInfo[], uint32_t); + +#if defined(c_plusplus) || defined(__cplusplus) +} +#endif + +#endif /* _TIFFIO_ */ diff --git a/vcpkg/installed/x64-osx/include/tiffvers.h b/vcpkg/installed/x64-osx/include/tiffvers.h new file mode 100644 index 0000000..4630580 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/tiffvers.h @@ -0,0 +1,36 @@ +/* tiffvers.h version information is updated according to version information + * in configure.ac */ + +/* clang-format off */ + +/* clang-format disabled because FindTIFF.cmake is very sensitive to the + * formatting of below line being a single line. + * Furthermore, configure_file variables of type "" are + * modified by clang-format and won't be substituted by CMake. + */ +#define TIFFLIB_VERSION_STR "LIBTIFF, Version 4.6.0\nCopyright (c) 1988-1996 Sam Leffler\nCopyright (c) 1991-1996 Silicon Graphics, Inc." +/* + * This define can be used in code that requires + * compilation-related definitions specific to a + * version or versions of the library. Runtime + * version checking should be done based on the + * string returned by TIFFGetVersion. + */ +#define TIFFLIB_VERSION 20230908 + +/* The following defines have been added in 4.5.0 */ +#define TIFFLIB_MAJOR_VERSION 4 +#define TIFFLIB_MINOR_VERSION 6 +#define TIFFLIB_MICRO_VERSION 0 +#define TIFFLIB_VERSION_STR_MAJ_MIN_MIC "4.6.0" + +/* Macro added in 4.5.0. Returns TRUE if the current libtiff version is + * greater or equal to major.minor.micro + */ +#define TIFFLIB_AT_LEAST(major, minor, micro) \ + (TIFFLIB_MAJOR_VERSION > (major) || \ + (TIFFLIB_MAJOR_VERSION == (major) && TIFFLIB_MINOR_VERSION > (minor)) || \ + (TIFFLIB_MAJOR_VERSION == (major) && TIFFLIB_MINOR_VERSION == (minor) && \ + TIFFLIB_MICRO_VERSION >= (micro))) + +/* clang-format on */ diff --git a/vcpkg/installed/x64-osx/include/turbojpeg.h b/vcpkg/installed/x64-osx/include/turbojpeg.h new file mode 100644 index 0000000..68b88a4 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/turbojpeg.h @@ -0,0 +1,2328 @@ +/* + * Copyright (C)2009-2015, 2017, 2020-2023 D. R. Commander. + * All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither the name of the libjpeg-turbo Project nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __TURBOJPEG_H__ +#define __TURBOJPEG_H__ + +#include + +#if defined(_WIN32) && defined(DLLDEFINE) +#define DLLEXPORT __declspec(dllexport) +#else +#define DLLEXPORT +#endif +#define DLLCALL + + +/** + * @addtogroup TurboJPEG + * TurboJPEG API. This API provides an interface for generating, decoding, and + * transforming planar YUV and JPEG images in memory. + * + * @anchor YUVnotes + * YUV Image Format Notes + * ---------------------- + * Technically, the JPEG format uses the YCbCr colorspace (which is technically + * not a colorspace but a color transform), but per the convention of the + * digital video community, the TurboJPEG API uses "YUV" to refer to an image + * format consisting of Y, Cb, and Cr image planes. + * + * Each plane is simply a 2D array of bytes, each byte representing the value + * of one of the components (Y, Cb, or Cr) at a particular location in the + * image. The width and height of each plane are determined by the image + * width, height, and level of chrominance subsampling. The luminance plane + * width is the image width padded to the nearest multiple of the horizontal + * subsampling factor (1 in the case of 4:4:4, grayscale, 4:4:0, or 4:4:1; 2 in + * the case of 4:2:2 or 4:2:0; 4 in the case of 4:1:1.) Similarly, the + * luminance plane height is the image height padded to the nearest multiple of + * the vertical subsampling factor (1 in the case of 4:4:4, 4:2:2, grayscale, + * or 4:1:1; 2 in the case of 4:2:0 or 4:4:0; 4 in the case of 4:4:1.) This is + * irrespective of any additional padding that may be specified as an argument + * to the various YUV functions. The chrominance plane width is equal to the + * luminance plane width divided by the horizontal subsampling factor, and the + * chrominance plane height is equal to the luminance plane height divided by + * the vertical subsampling factor. + * + * For example, if the source image is 35 x 35 pixels and 4:2:2 subsampling is + * used, then the luminance plane would be 36 x 35 bytes, and each of the + * chrominance planes would be 18 x 35 bytes. If you specify a row alignment + * of 4 bytes on top of this, then the luminance plane would be 36 x 35 bytes, + * and each of the chrominance planes would be 20 x 35 bytes. + * + * @{ + */ + + +/** + * The number of initialization options + */ +#define TJ_NUMINIT 3 + +/** + * Initialization options. + */ +enum TJINIT { + /** + * Initialize the TurboJPEG instance for compression. + */ + TJINIT_COMPRESS, + /** + * Initialize the TurboJPEG instance for decompression. + */ + TJINIT_DECOMPRESS, + /** + * Initialize the TurboJPEG instance for lossless transformation (both + * compression and decompression.) + */ + TJINIT_TRANSFORM +}; + + +/** + * The number of chrominance subsampling options + */ +#define TJ_NUMSAMP 7 + +/** + * Chrominance subsampling options. + * When pixels are converted from RGB to YCbCr (see #TJCS_YCbCr) or from CMYK + * to YCCK (see #TJCS_YCCK) as part of the JPEG compression process, some of + * the Cb and Cr (chrominance) components can be discarded or averaged together + * to produce a smaller image with little perceptible loss of image clarity. + * (The human eye is more sensitive to small changes in brightness than to + * small changes in color.) This is called "chrominance subsampling". + */ +enum TJSAMP { + /** + * 4:4:4 chrominance subsampling (no chrominance subsampling). The JPEG or + * YUV image will contain one chrominance component for every pixel in the + * source image. + */ + TJSAMP_444, + /** + * 4:2:2 chrominance subsampling. The JPEG or YUV image will contain one + * chrominance component for every 2x1 block of pixels in the source image. + */ + TJSAMP_422, + /** + * 4:2:0 chrominance subsampling. The JPEG or YUV image will contain one + * chrominance component for every 2x2 block of pixels in the source image. + */ + TJSAMP_420, + /** + * Grayscale. The JPEG or YUV image will contain no chrominance components. + */ + TJSAMP_GRAY, + /** + * 4:4:0 chrominance subsampling. The JPEG or YUV image will contain one + * chrominance component for every 1x2 block of pixels in the source image. + * + * @note 4:4:0 subsampling is not fully accelerated in libjpeg-turbo. + */ + TJSAMP_440, + /** + * 4:1:1 chrominance subsampling. The JPEG or YUV image will contain one + * chrominance component for every 4x1 block of pixels in the source image. + * JPEG images compressed with 4:1:1 subsampling will be almost exactly the + * same size as those compressed with 4:2:0 subsampling, and in the + * aggregate, both subsampling methods produce approximately the same + * perceptual quality. However, 4:1:1 is better able to reproduce sharp + * horizontal features. + * + * @note 4:1:1 subsampling is not fully accelerated in libjpeg-turbo. + */ + TJSAMP_411, + /** + * 4:4:1 chrominance subsampling. The JPEG or YUV image will contain one + * chrominance component for every 1x4 block of pixels in the source image. + * JPEG images compressed with 4:4:1 subsampling will be almost exactly the + * same size as those compressed with 4:2:0 subsampling, and in the + * aggregate, both subsampling methods produce approximately the same + * perceptual quality. However, 4:4:1 is better able to reproduce sharp + * vertical features. + * + * @note 4:4:1 subsampling is not fully accelerated in libjpeg-turbo. + */ + TJSAMP_441, + /** + * Unknown subsampling. The JPEG image uses an unusual type of chrominance + * subsampling. Such images can be decompressed into packed-pixel images, + * but they cannot be + * - decompressed into planar YUV images, + * - losslessly transformed if #TJXOPT_CROP is specified, or + * - partially decompressed using a cropping region. + */ + TJSAMP_UNKNOWN = -1 +}; + +/** + * MCU block width (in pixels) for a given level of chrominance subsampling. + * MCU block sizes: + * - 8x8 for no subsampling or grayscale + * - 16x8 for 4:2:2 + * - 8x16 for 4:4:0 + * - 16x16 for 4:2:0 + * - 32x8 for 4:1:1 + * - 8x32 for 4:4:1 + */ +static const int tjMCUWidth[TJ_NUMSAMP] = { 8, 16, 16, 8, 8, 32, 8 }; + +/** + * MCU block height (in pixels) for a given level of chrominance subsampling. + * MCU block sizes: + * - 8x8 for no subsampling or grayscale + * - 16x8 for 4:2:2 + * - 8x16 for 4:4:0 + * - 16x16 for 4:2:0 + * - 32x8 for 4:1:1 + * - 8x32 for 4:4:1 + */ +static const int tjMCUHeight[TJ_NUMSAMP] = { 8, 8, 16, 8, 16, 8, 32 }; + + +/** + * The number of pixel formats + */ +#define TJ_NUMPF 12 + +/** + * Pixel formats + */ +enum TJPF { + /** + * RGB pixel format. The red, green, and blue components in the image are + * stored in 3-sample pixels in the order R, G, B from lowest to highest + * memory address within each pixel. + */ + TJPF_RGB, + /** + * BGR pixel format. The red, green, and blue components in the image are + * stored in 3-sample pixels in the order B, G, R from lowest to highest + * memory address within each pixel. + */ + TJPF_BGR, + /** + * RGBX pixel format. The red, green, and blue components in the image are + * stored in 4-sample pixels in the order R, G, B from lowest to highest + * memory address within each pixel. The X component is ignored when + * compressing and undefined when decompressing. + */ + TJPF_RGBX, + /** + * BGRX pixel format. The red, green, and blue components in the image are + * stored in 4-sample pixels in the order B, G, R from lowest to highest + * memory address within each pixel. The X component is ignored when + * compressing and undefined when decompressing. + */ + TJPF_BGRX, + /** + * XBGR pixel format. The red, green, and blue components in the image are + * stored in 4-sample pixels in the order R, G, B from highest to lowest + * memory address within each pixel. The X component is ignored when + * compressing and undefined when decompressing. + */ + TJPF_XBGR, + /** + * XRGB pixel format. The red, green, and blue components in the image are + * stored in 4-sample pixels in the order B, G, R from highest to lowest + * memory address within each pixel. The X component is ignored when + * compressing and undefined when decompressing. + */ + TJPF_XRGB, + /** + * Grayscale pixel format. Each 1-sample pixel represents a luminance + * (brightness) level from 0 to the maximum sample value (255 for 8-bit + * samples, 4095 for 12-bit samples, and 65535 for 16-bit samples.) + */ + TJPF_GRAY, + /** + * RGBA pixel format. This is the same as @ref TJPF_RGBX, except that when + * decompressing, the X component is guaranteed to be equal to the maximum + * sample value, which can be interpreted as an opaque alpha channel. + */ + TJPF_RGBA, + /** + * BGRA pixel format. This is the same as @ref TJPF_BGRX, except that when + * decompressing, the X component is guaranteed to be equal to the maximum + * sample value, which can be interpreted as an opaque alpha channel. + */ + TJPF_BGRA, + /** + * ABGR pixel format. This is the same as @ref TJPF_XBGR, except that when + * decompressing, the X component is guaranteed to be equal to the maximum + * sample value, which can be interpreted as an opaque alpha channel. + */ + TJPF_ABGR, + /** + * ARGB pixel format. This is the same as @ref TJPF_XRGB, except that when + * decompressing, the X component is guaranteed to be equal to the maximum + * sample value, which can be interpreted as an opaque alpha channel. + */ + TJPF_ARGB, + /** + * CMYK pixel format. Unlike RGB, which is an additive color model used + * primarily for display, CMYK (Cyan/Magenta/Yellow/Key) is a subtractive + * color model used primarily for printing. In the CMYK color model, the + * value of each color component typically corresponds to an amount of cyan, + * magenta, yellow, or black ink that is applied to a white background. In + * order to convert between CMYK and RGB, it is necessary to use a color + * management system (CMS.) A CMS will attempt to map colors within the + * printer's gamut to perceptually similar colors in the display's gamut and + * vice versa, but the mapping is typically not 1:1 or reversible, nor can it + * be defined with a simple formula. Thus, such a conversion is out of scope + * for a codec library. However, the TurboJPEG API allows for compressing + * packed-pixel CMYK images into YCCK JPEG images (see #TJCS_YCCK) and + * decompressing YCCK JPEG images into packed-pixel CMYK images. + */ + TJPF_CMYK, + /** + * Unknown pixel format. Currently this is only used by #tj3LoadImage8(), + * #tj3LoadImage12(), and #tj3LoadImage16(). + */ + TJPF_UNKNOWN = -1 +}; + +/** + * Red offset (in samples) for a given pixel format. This specifies the number + * of samples that the red component is offset from the start of the pixel. + * For instance, if an 8-bit-per-component pixel of format TJPF_BGRX is stored + * in `unsigned char pixel[]`, then the red component will be + * `pixel[tjRedOffset[TJPF_BGRX]]`. This will be -1 if the pixel format does + * not have a red component. + */ +static const int tjRedOffset[TJ_NUMPF] = { + 0, 2, 0, 2, 3, 1, -1, 0, 2, 3, 1, -1 +}; +/** + * Green offset (in samples) for a given pixel format. This specifies the + * number of samples that the green component is offset from the start of the + * pixel. For instance, if an 8-bit-per-component pixel of format TJPF_BGRX is + * stored in `unsigned char pixel[]`, then the green component will be + * `pixel[tjGreenOffset[TJPF_BGRX]]`. This will be -1 if the pixel format does + * not have a green component. + */ +static const int tjGreenOffset[TJ_NUMPF] = { + 1, 1, 1, 1, 2, 2, -1, 1, 1, 2, 2, -1 +}; +/** + * Blue offset (in samples) for a given pixel format. This specifies the + * number of samples that the blue component is offset from the start of the + * pixel. For instance, if an 8-bit-per-component pixel of format TJPF_BGRX is + * stored in `unsigned char pixel[]`, then the blue component will be + * `pixel[tjBlueOffset[TJPF_BGRX]]`. This will be -1 if the pixel format does + * not have a blue component. + */ +static const int tjBlueOffset[TJ_NUMPF] = { + 2, 0, 2, 0, 1, 3, -1, 2, 0, 1, 3, -1 +}; +/** + * Alpha offset (in samples) for a given pixel format. This specifies the + * number of samples that the alpha component is offset from the start of the + * pixel. For instance, if an 8-bit-per-component pixel of format TJPF_BGRA is + * stored in `unsigned char pixel[]`, then the alpha component will be + * `pixel[tjAlphaOffset[TJPF_BGRA]]`. This will be -1 if the pixel format does + * not have an alpha component. + */ +static const int tjAlphaOffset[TJ_NUMPF] = { + -1, -1, -1, -1, -1, -1, -1, 3, 3, 0, 0, -1 +}; +/** + * Pixel size (in samples) for a given pixel format + */ +static const int tjPixelSize[TJ_NUMPF] = { + 3, 3, 4, 4, 4, 4, 1, 4, 4, 4, 4, 4 +}; + + +/** + * The number of JPEG colorspaces + */ +#define TJ_NUMCS 5 + +/** + * JPEG colorspaces + */ +enum TJCS { + /** + * RGB colorspace. When compressing the JPEG image, the R, G, and B + * components in the source image are reordered into image planes, but no + * colorspace conversion or subsampling is performed. RGB JPEG images can be + * compressed from and decompressed to packed-pixel images with any of the + * extended RGB or grayscale pixel formats, but they cannot be compressed + * from or decompressed to planar YUV images. + */ + TJCS_RGB, + /** + * YCbCr colorspace. YCbCr is not an absolute colorspace but rather a + * mathematical transformation of RGB designed solely for storage and + * transmission. YCbCr images must be converted to RGB before they can + * actually be displayed. In the YCbCr colorspace, the Y (luminance) + * component represents the black & white portion of the original image, and + * the Cb and Cr (chrominance) components represent the color portion of the + * original image. Originally, the analog equivalent of this transformation + * allowed the same signal to drive both black & white and color televisions, + * but JPEG images use YCbCr primarily because it allows the color data to be + * optionally subsampled for the purposes of reducing network or disk usage. + * YCbCr is the most common JPEG colorspace, and YCbCr JPEG images can be + * compressed from and decompressed to packed-pixel images with any of the + * extended RGB or grayscale pixel formats. YCbCr JPEG images can also be + * compressed from and decompressed to planar YUV images. + */ + TJCS_YCbCr, + /** + * Grayscale colorspace. The JPEG image retains only the luminance data (Y + * component), and any color data from the source image is discarded. + * Grayscale JPEG images can be compressed from and decompressed to + * packed-pixel images with any of the extended RGB or grayscale pixel + * formats, or they can be compressed from and decompressed to planar YUV + * images. + */ + TJCS_GRAY, + /** + * CMYK colorspace. When compressing the JPEG image, the C, M, Y, and K + * components in the source image are reordered into image planes, but no + * colorspace conversion or subsampling is performed. CMYK JPEG images can + * only be compressed from and decompressed to packed-pixel images with the + * CMYK pixel format. + */ + TJCS_CMYK, + /** + * YCCK colorspace. YCCK (AKA "YCbCrK") is not an absolute colorspace but + * rather a mathematical transformation of CMYK designed solely for storage + * and transmission. It is to CMYK as YCbCr is to RGB. CMYK pixels can be + * reversibly transformed into YCCK, and as with YCbCr, the chrominance + * components in the YCCK pixels can be subsampled without incurring major + * perceptual loss. YCCK JPEG images can only be compressed from and + * decompressed to packed-pixel images with the CMYK pixel format. + */ + TJCS_YCCK +}; + + +/** + * Parameters + */ +enum TJPARAM { + /** + * Error handling behavior + * + * **Value** + * - `0` *[default]* Allow the current compression/decompression/transform + * operation to complete unless a fatal error is encountered. + * - `1` Immediately discontinue the current + * compression/decompression/transform operation if a warning (non-fatal + * error) occurs. + */ + TJPARAM_STOPONWARNING, + /** + * Row order in packed-pixel source/destination images + * + * **Value** + * - `0` *[default]* top-down (X11) order + * - `1` bottom-up (Windows, OpenGL) order + */ + TJPARAM_BOTTOMUP, + /** + * JPEG destination buffer (re)allocation [compression, lossless + * transformation] + * + * **Value** + * - `0` *[default]* Attempt to allocate or reallocate the JPEG destination + * buffer as needed. + * - `1` Generate an error if the JPEG destination buffer is invalid or too + * small. + */ + TJPARAM_NOREALLOC, + /** + * Perceptual quality of lossy JPEG images [compression only] + * + * **Value** + * - `1`-`100` (`1` = worst quality but best compression, `100` = best + * quality but worst compression) *[no default; must be explicitly + * specified]* + */ + TJPARAM_QUALITY, + /** + * Chrominance subsampling level + * + * The JPEG or YUV image uses (decompression, decoding) or will use (lossy + * compression, encoding) the specified level of chrominance subsampling. + * + * **Value** + * - One of the @ref TJSAMP "chrominance subsampling options" *[no default; + * must be explicitly specified for lossy compression, encoding, and + * decoding]* + */ + TJPARAM_SUBSAMP, + /** + * JPEG width (in pixels) [decompression only, read-only] + */ + TJPARAM_JPEGWIDTH, + /** + * JPEG height (in pixels) [decompression only, read-only] + */ + TJPARAM_JPEGHEIGHT, + /** + * JPEG data precision (bits per sample) [decompression only, read-only] + * + * The JPEG image uses the specified number of bits per sample. + * + * **Value** + * - `8`, `12`, or `16` + * + * 12-bit data precision implies #TJPARAM_OPTIMIZE unless #TJPARAM_ARITHMETIC + * is set. + */ + TJPARAM_PRECISION, + /** + * JPEG colorspace + * + * The JPEG image uses (decompression) or will use (lossy compression) the + * specified colorspace. + * + * **Value** + * - One of the @ref TJCS "JPEG colorspaces" *[default for lossy compression: + * automatically selected based on the subsampling level and pixel format]* + */ + TJPARAM_COLORSPACE, + /** + * Chrominance upsampling algorithm [lossy decompression only] + * + * **Value** + * - `0` *[default]* Use smooth upsampling when decompressing a JPEG image + * that was compressed using chrominance subsampling. This creates a smooth + * transition between neighboring chrominance components in order to reduce + * upsampling artifacts in the decompressed image. + * - `1` Use the fastest chrominance upsampling algorithm available, which + * may combine upsampling with color conversion. + */ + TJPARAM_FASTUPSAMPLE, + /** + * DCT/IDCT algorithm [lossy compression and decompression] + * + * **Value** + * - `0` *[default]* Use the most accurate DCT/IDCT algorithm available. + * - `1` Use the fastest DCT/IDCT algorithm available. + * + * This parameter is provided mainly for backward compatibility with libjpeg, + * which historically implemented several different DCT/IDCT algorithms + * because of performance limitations with 1990s CPUs. In the libjpeg-turbo + * implementation of the TurboJPEG API: + * - The "fast" and "accurate" DCT/IDCT algorithms perform similarly on + * modern x86/x86-64 CPUs that support AVX2 instructions. + * - The "fast" algorithm is generally only about 5-15% faster than the + * "accurate" algorithm on other types of CPUs. + * - The difference in accuracy between the "fast" and "accurate" algorithms + * is the most pronounced at JPEG quality levels above 90 and tends to be + * more pronounced with decompression than with compression. + * - The "fast" algorithm degrades and is not fully accelerated for JPEG + * quality levels above 97, so it will be slower than the "accurate" + * algorithm. + */ + TJPARAM_FASTDCT, + /** + * Optimized baseline entropy coding [lossy compression only] + * + * **Value** + * - `0` *[default]* The JPEG image will use the default Huffman tables. + * - `1` Optimal Huffman tables will be computed for the JPEG image. For + * lossless transformation, this can also be specified using + * #TJXOPT_OPTIMIZE. + * + * Optimized baseline entropy coding will improve compression slightly + * (generally 5% or less), but it will reduce compression performance + * considerably. + */ + TJPARAM_OPTIMIZE, + /** + * Progressive entropy coding + * + * **Value** + * - `0` *[default for compression, lossless transformation]* The lossy JPEG + * image uses (decompression) or will use (compression, lossless + * transformation) baseline entropy coding. + * - `1` The lossy JPEG image uses (decompression) or will use (compression, + * lossless transformation) progressive entropy coding. For lossless + * transformation, this can also be specified using #TJXOPT_PROGRESSIVE. + * + * Progressive entropy coding will generally improve compression relative to + * baseline entropy coding, but it will reduce compression and decompression + * performance considerably. Can be combined with #TJPARAM_ARITHMETIC. + * Implies #TJPARAM_OPTIMIZE unless #TJPARAM_ARITHMETIC is also set. + */ + TJPARAM_PROGRESSIVE, + /** + * Progressive JPEG scan limit for lossy JPEG images [decompression, lossless + * transformation] + * + * Setting this parameter will cause the decompression and transform + * functions to return an error if the number of scans in a progressive JPEG + * image exceeds the specified limit. The primary purpose of this is to + * allow security-critical applications to guard against an exploit of the + * progressive JPEG format described in + * this report. + * + * **Value** + * - maximum number of progressive JPEG scans that the decompression and + * transform functions will process *[default: `0` (no limit)]* + * + * @see #TJPARAM_PROGRESSIVE + */ + TJPARAM_SCANLIMIT, + /** + * Arithmetic entropy coding + * + * **Value** + * - `0` *[default for compression, lossless transformation]* The lossy JPEG + * image uses (decompression) or will use (compression, lossless + * transformation) Huffman entropy coding. + * - `1` The lossy JPEG image uses (decompression) or will use (compression, + * lossless transformation) arithmetic entropy coding. For lossless + * transformation, this can also be specified using #TJXOPT_ARITHMETIC. + * + * Arithmetic entropy coding will generally improve compression relative to + * Huffman entropy coding, but it will reduce compression and decompression + * performance considerably. Can be combined with #TJPARAM_PROGRESSIVE. + */ + TJPARAM_ARITHMETIC, + /** + * Lossless JPEG + * + * **Value** + * - `0` *[default for compression]* The JPEG image is (decompression) or + * will be (compression) lossy/DCT-based. + * - `1` The JPEG image is (decompression) or will be (compression) + * lossless/predictive. + * + * In most cases, compressing and decompressing lossless JPEG images is + * considerably slower than compressing and decompressing lossy JPEG images, + * and lossless JPEG images are much larger than lossy JPEG images. Thus, + * lossless JPEG images are typically used only for applications that require + * mathematically lossless compression. Also note that the following + * features are not available with lossless JPEG images: + * - Colorspace conversion (lossless JPEG images always use #TJCS_RGB, + * #TJCS_GRAY, or #TJCS_CMYK, depending on the pixel format of the source + * image) + * - Chrominance subsampling (lossless JPEG images always use #TJSAMP_444) + * - JPEG quality selection + * - DCT/IDCT algorithm selection + * - Progressive entropy coding + * - Arithmetic entropy coding + * - Compression from/decompression to planar YUV images + * - Decompression scaling + * - Lossless transformation + * + * @see #TJPARAM_LOSSLESSPSV, #TJPARAM_LOSSLESSPT + */ + TJPARAM_LOSSLESS, + /** + * Lossless JPEG predictor selection value (PSV) + * + * **Value** + * - `1`-`7` *[default for compression: `1`]* + * + * Lossless JPEG compression shares no algorithms with lossy JPEG + * compression. Instead, it uses differential pulse-code modulation (DPCM), + * an algorithm whereby each sample is encoded as the difference between the + * sample's value and a "predictor", which is based on the values of + * neighboring samples. If Ra is the sample immediately to the left of the + * current sample, Rb is the sample immediately above the current sample, and + * Rc is the sample diagonally to the left and above the current sample, then + * the relationship between the predictor selection value and the predictor + * is as follows: + * + * PSV | Predictor + * ----|---------- + * 1 | Ra + * 2 | Rb + * 3 | Rc + * 4 | Ra + Rb – Rc + * 5 | Ra + (Rb – Rc) / 2 + * 6 | Rb + (Ra – Rc) / 2 + * 7 | (Ra + Rb) / 2 + * + * Predictors 1-3 are 1-dimensional predictors, whereas Predictors 4-7 are + * 2-dimensional predictors. The best predictor for a particular image + * depends on the image. + * + * @see #TJPARAM_LOSSLESS + */ + TJPARAM_LOSSLESSPSV, + /** + * Lossless JPEG point transform (Pt) + * + * **Value** + * - `0` through ***precision*** *- 1*, where ***precision*** is the JPEG + * data precision in bits *[default for compression: `0`]* + * + * A point transform value of `0` is necessary in order to generate a fully + * lossless JPEG image. (A non-zero point transform value right-shifts the + * input samples by the specified number of bits, which is effectively a form + * of lossy color quantization.) + * + * @see #TJPARAM_LOSSLESS, #TJPARAM_PRECISION + */ + TJPARAM_LOSSLESSPT, + /** + * JPEG restart marker interval in MCU blocks (lossy) or samples (lossless) + * [compression only] + * + * The nature of entropy coding is such that a corrupt JPEG image cannot + * be decompressed beyond the point of corruption unless it contains restart + * markers. A restart marker stops and restarts the entropy coding algorithm + * so that, if a JPEG image is corrupted, decompression can resume at the + * next marker. Thus, adding more restart markers improves the fault + * tolerance of the JPEG image, but adding too many restart markers can + * adversely affect the compression ratio and performance. + * + * **Value** + * - the number of MCU blocks or samples between each restart marker + * *[default: `0` (no restart markers)]* + * + * Setting this parameter to a non-zero value sets #TJPARAM_RESTARTROWS to 0. + */ + TJPARAM_RESTARTBLOCKS, + /** + * JPEG restart marker interval in MCU rows (lossy) or sample rows (lossless) + * [compression only] + * + * See #TJPARAM_RESTARTBLOCKS for a description of restart markers. + * + * **Value** + * - the number of MCU rows or sample rows between each restart marker + * *[default: `0` (no restart markers)]* + * + * Setting this parameter to a non-zero value sets #TJPARAM_RESTARTBLOCKS to + * 0. + */ + TJPARAM_RESTARTROWS, + /** + * JPEG horizontal pixel density + * + * **Value** + * - The JPEG image has (decompression) or will have (compression) the + * specified horizontal pixel density *[default for compression: `1`]*. + * + * This value is stored in or read from the JPEG header. It does not affect + * the contents of the JPEG image. Note that this parameter is set by + * #tj3LoadImage8() when loading a Windows BMP file that contains pixel + * density information, and the value of this parameter is stored to a + * Windows BMP file by #tj3SaveImage8() if the value of #TJPARAM_DENSITYUNITS + * is `2`. + * + * @see TJPARAM_DENSITYUNITS + */ + TJPARAM_XDENSITY, + /** + * JPEG vertical pixel density + * + * **Value** + * - The JPEG image has (decompression) or will have (compression) the + * specified vertical pixel density *[default for compression: `1`]*. + * + * This value is stored in or read from the JPEG header. It does not affect + * the contents of the JPEG image. Note that this parameter is set by + * #tj3LoadImage8() when loading a Windows BMP file that contains pixel + * density information, and the value of this parameter is stored to a + * Windows BMP file by #tj3SaveImage8() if the value of #TJPARAM_DENSITYUNITS + * is `2`. + * + * @see TJPARAM_DENSITYUNITS + */ + TJPARAM_YDENSITY, + /** + * JPEG pixel density units + * + * **Value** + * - `0` *[default for compression]* The pixel density of the JPEG image is + * expressed (decompression) or will be expressed (compression) in unknown + * units. + * - `1` The pixel density of the JPEG image is expressed (decompression) or + * will be expressed (compression) in units of pixels/inch. + * - `2` The pixel density of the JPEG image is expressed (decompression) or + * will be expressed (compression) in units of pixels/cm. + * + * This value is stored in or read from the JPEG header. It does not affect + * the contents of the JPEG image. Note that this parameter is set by + * #tj3LoadImage8() when loading a Windows BMP file that contains pixel + * density information, and the value of this parameter is stored to a + * Windows BMP file by #tj3SaveImage8() if the value is `2`. + * + * @see TJPARAM_XDENSITY, TJPARAM_YDENSITY + */ + TJPARAM_DENSITYUNITS, + /** + * Memory limit for intermediate buffers + * + * **Value** + * - the maximum amount of memory (in megabytes) that will be allocated for + * intermediate buffers, which are used with progressive JPEG compression and + * decompression, optimized baseline entropy coding, lossless JPEG + * compression, and lossless transformation *[default: `0` (no limit)]* + */ + TJPARAM_MAXMEMORY, + /** + * Image size limit [decompression, lossless transformation, packed-pixel + * image loading] + * + * Setting this parameter will cause the decompression, transform, and image + * loading functions to return an error if the number of pixels in the source + * image exceeds the specified limit. This allows security-critical + * applications to guard against excessive memory consumption. + * + * **Value** + * - maximum number of pixels that the decompression, transform, and image + * loading functions will process *[default: `0` (no limit)]* + */ + TJPARAM_MAXPIXELS +}; + + +/** + * The number of error codes + */ +#define TJ_NUMERR 2 + +/** + * Error codes + */ +enum TJERR { + /** + * The error was non-fatal and recoverable, but the destination image may + * still be corrupt. + */ + TJERR_WARNING, + /** + * The error was fatal and non-recoverable. + */ + TJERR_FATAL +}; + + +/** + * The number of transform operations + */ +#define TJ_NUMXOP 8 + +/** + * Transform operations for #tj3Transform() + */ +enum TJXOP { + /** + * Do not transform the position of the image pixels + */ + TJXOP_NONE, + /** + * Flip (mirror) image horizontally. This transform is imperfect if there + * are any partial MCU blocks on the right edge (see #TJXOPT_PERFECT.) + */ + TJXOP_HFLIP, + /** + * Flip (mirror) image vertically. This transform is imperfect if there are + * any partial MCU blocks on the bottom edge (see #TJXOPT_PERFECT.) + */ + TJXOP_VFLIP, + /** + * Transpose image (flip/mirror along upper left to lower right axis.) This + * transform is always perfect. + */ + TJXOP_TRANSPOSE, + /** + * Transverse transpose image (flip/mirror along upper right to lower left + * axis.) This transform is imperfect if there are any partial MCU blocks in + * the image (see #TJXOPT_PERFECT.) + */ + TJXOP_TRANSVERSE, + /** + * Rotate image clockwise by 90 degrees. This transform is imperfect if + * there are any partial MCU blocks on the bottom edge (see + * #TJXOPT_PERFECT.) + */ + TJXOP_ROT90, + /** + * Rotate image 180 degrees. This transform is imperfect if there are any + * partial MCU blocks in the image (see #TJXOPT_PERFECT.) + */ + TJXOP_ROT180, + /** + * Rotate image counter-clockwise by 90 degrees. This transform is imperfect + * if there are any partial MCU blocks on the right edge (see + * #TJXOPT_PERFECT.) + */ + TJXOP_ROT270 +}; + + +/** + * This option will cause #tj3Transform() to return an error if the transform + * is not perfect. Lossless transforms operate on MCU blocks, whose size + * depends on the level of chrominance subsampling used (see #tjMCUWidth and + * #tjMCUHeight.) If the image's width or height is not evenly divisible by + * the MCU block size, then there will be partial MCU blocks on the right + * and/or bottom edges. It is not possible to move these partial MCU blocks to + * the top or left of the image, so any transform that would require that is + * "imperfect." If this option is not specified, then any partial MCU blocks + * that cannot be transformed will be left in place, which will create + * odd-looking strips on the right or bottom edge of the image. + */ +#define TJXOPT_PERFECT (1 << 0) +/** + * This option will cause #tj3Transform() to discard any partial MCU blocks + * that cannot be transformed. + */ +#define TJXOPT_TRIM (1 << 1) +/** + * This option will enable lossless cropping. See #tj3Transform() for more + * information. + */ +#define TJXOPT_CROP (1 << 2) +/** + * This option will discard the color data in the source image and produce a + * grayscale destination image. + */ +#define TJXOPT_GRAY (1 << 3) +/** + * This option will prevent #tj3Transform() from outputting a JPEG image for + * this particular transform. (This can be used in conjunction with a custom + * filter to capture the transformed DCT coefficients without transcoding + * them.) + */ +#define TJXOPT_NOOUTPUT (1 << 4) +/** + * This option will enable progressive entropy coding in the JPEG image + * generated by this particular transform. Progressive entropy coding will + * generally improve compression relative to baseline entropy coding (the + * default), but it will reduce decompression performance considerably. + * Can be combined with #TJXOPT_ARITHMETIC. Implies #TJXOPT_OPTIMIZE unless + * #TJXOPT_ARITHMETIC is also specified. + */ +#define TJXOPT_PROGRESSIVE (1 << 5) +/** + * This option will prevent #tj3Transform() from copying any extra markers + * (including EXIF and ICC profile data) from the source image to the + * destination image. + */ +#define TJXOPT_COPYNONE (1 << 6) +/** + * This option will enable arithmetic entropy coding in the JPEG image + * generated by this particular transform. Arithmetic entropy coding will + * generally improve compression relative to Huffman entropy coding (the + * default), but it will reduce decompression performance considerably. Can be + * combined with #TJXOPT_PROGRESSIVE. + */ +#define TJXOPT_ARITHMETIC (1 << 7) +/** + * This option will enable optimized baseline entropy coding in the JPEG image + * generated by this particular transform. Optimized baseline entropy coding + * will improve compression slightly (generally 5% or less.) + */ +#define TJXOPT_OPTIMIZE (1 << 8) + + +/** + * Scaling factor + */ +typedef struct { + /** + * Numerator + */ + int num; + /** + * Denominator + */ + int denom; +} tjscalingfactor; + +/** + * Cropping region + */ +typedef struct { + /** + * The left boundary of the cropping region. This must be evenly divisible + * by the MCU block width (see #tjMCUWidth.) + */ + int x; + /** + * The upper boundary of the cropping region. For lossless transformation, + * this must be evenly divisible by the MCU block height (see #tjMCUHeight.) + */ + int y; + /** + * The width of the cropping region. Setting this to 0 is the equivalent of + * setting it to the width of the source JPEG image - x. + */ + int w; + /** + * The height of the cropping region. Setting this to 0 is the equivalent of + * setting it to the height of the source JPEG image - y. + */ + int h; +} tjregion; + +/** + * A #tjregion structure that specifies no cropping + */ +static const tjregion TJUNCROPPED = { 0, 0, 0, 0 }; + +/** + * Lossless transform + */ +typedef struct tjtransform { + /** + * Cropping region + */ + tjregion r; + /** + * One of the @ref TJXOP "transform operations" + */ + int op; + /** + * The bitwise OR of one of more of the @ref TJXOPT_ARITHMETIC + * "transform options" + */ + int options; + /** + * Arbitrary data that can be accessed within the body of the callback + * function + */ + void *data; + /** + * A callback function that can be used to modify the DCT coefficients after + * they are losslessly transformed but before they are transcoded to a new + * JPEG image. This allows for custom filters or other transformations to be + * applied in the frequency domain. + * + * @param coeffs pointer to an array of transformed DCT coefficients. (NOTE: + * this pointer is not guaranteed to be valid once the callback returns, so + * applications wishing to hand off the DCT coefficients to another function + * or library should make a copy of them within the body of the callback.) + * + * @param arrayRegion #tjregion structure containing the width and height of + * the array pointed to by `coeffs` as well as its offset relative to the + * component plane. TurboJPEG implementations may choose to split each + * component plane into multiple DCT coefficient arrays and call the callback + * function once for each array. + * + * @param planeRegion #tjregion structure containing the width and height of + * the component plane to which `coeffs` belongs + * + * @param componentID ID number of the component plane to which `coeffs` + * belongs. (Y, Cb, and Cr have, respectively, ID's of 0, 1, and 2 in + * typical JPEG images.) + * + * @param transformID ID number of the transformed image to which `coeffs` + * belongs. This is the same as the index of the transform in the + * `transforms` array that was passed to #tj3Transform(). + * + * @param transform a pointer to a #tjtransform structure that specifies the + * parameters and/or cropping region for this transform + * + * @return 0 if the callback was successful, or -1 if an error occurred. + */ + int (*customFilter) (short *coeffs, tjregion arrayRegion, + tjregion planeRegion, int componentID, int transformID, + struct tjtransform *transform); +} tjtransform; + +/** + * TurboJPEG instance handle + */ +typedef void *tjhandle; + + +/** + * Compute the scaled value of `dimension` using the given scaling factor. + * This macro performs the integer equivalent of `ceil(dimension * + * scalingFactor)`. + */ +#define TJSCALED(dimension, scalingFactor) \ + (((dimension) * scalingFactor.num + scalingFactor.denom - 1) / \ + scalingFactor.denom) + +/** + * A #tjscalingfactor structure that specifies a scaling factor of 1/1 (no + * scaling) + */ +static const tjscalingfactor TJUNSCALED = { 1, 1 }; + + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * Create a new TurboJPEG instance. + * + * @param initType one of the @ref TJINIT "initialization options" + * + * @return a handle to the newly-created instance, or NULL if an error occurred + * (see #tj3GetErrorStr().) + */ +DLLEXPORT tjhandle tj3Init(int initType); + + +/** + * Set the value of a parameter. + * + * @param handle handle to a TurboJPEG instance + * + * @param param one of the @ref TJPARAM "parameters" + * + * @param value value of the parameter (refer to @ref TJPARAM + * "parameter documentation") + * + * @return 0 if successful, or -1 if an error occurred (see #tj3GetErrorStr().) + */ +DLLEXPORT int tj3Set(tjhandle handle, int param, int value); + + +/** + * Get the value of a parameter. + * + * @param handle handle to a TurboJPEG instance + * + * @param param one of the @ref TJPARAM "parameters" + * + * @return the value of the specified parameter, or -1 if the value is unknown. + */ +DLLEXPORT int tj3Get(tjhandle handle, int param); + + +/** + * Compress an 8-bit-per-sample packed-pixel RGB, grayscale, or CMYK image into + * an 8-bit-per-sample JPEG image. + * + * @param handle handle to a TurboJPEG instance that has been initialized for + * compression + * + * @param srcBuf pointer to a buffer containing a packed-pixel RGB, grayscale, + * or CMYK source image to be compressed. This buffer should normally be + * `pitch * height` samples in size. However, you can also use this parameter + * to compress from a specific region of a larger buffer. + * + * @param width width (in pixels) of the source image + * + * @param pitch samples per row in the source image. Normally this should be + * width * #tjPixelSize[pixelFormat], if the image is unpadded. + * (Setting this parameter to 0 is the equivalent of setting it to + * width * #tjPixelSize[pixelFormat].) However, you can also use this + * parameter to specify the row alignment/padding of the source image, to skip + * rows, or to compress from a specific region of a larger buffer. + * + * @param height height (in pixels) of the source image + * + * @param pixelFormat pixel format of the source image (see @ref TJPF + * "Pixel formats".) + * + * @param jpegBuf address of a pointer to a byte buffer that will receive the + * JPEG image. TurboJPEG has the ability to reallocate the JPEG buffer to + * accommodate the size of the JPEG image. Thus, you can choose to: + * -# pre-allocate the JPEG buffer with an arbitrary size using #tj3Alloc() and + * let TurboJPEG grow the buffer as needed, + * -# set `*jpegBuf` to NULL to tell TurboJPEG to allocate the buffer for you, + * or + * -# pre-allocate the buffer to a "worst case" size determined by calling + * #tj3JPEGBufSize(). This should ensure that the buffer never has to be + * re-allocated. (Setting #TJPARAM_NOREALLOC guarantees that it won't be.) + * . + * If you choose option 1, then `*jpegSize` should be set to the size of your + * pre-allocated buffer. In any case, unless you have set #TJPARAM_NOREALLOC, + * you should always check `*jpegBuf` upon return from this function, as it may + * have changed. + * + * @param jpegSize pointer to a size_t variable that holds the size of the JPEG + * buffer. If `*jpegBuf` points to a pre-allocated buffer, then `*jpegSize` + * should be set to the size of the buffer. Upon return, `*jpegSize` will + * contain the size of the JPEG image (in bytes.) If `*jpegBuf` points to a + * JPEG buffer that is being reused from a previous call to one of the JPEG + * compression functions, then `*jpegSize` is ignored. + * + * @return 0 if successful, or -1 if an error occurred (see #tj3GetErrorStr() + * and #tj3GetErrorCode().) + */ +DLLEXPORT int tj3Compress8(tjhandle handle, const unsigned char *srcBuf, + int width, int pitch, int height, int pixelFormat, + unsigned char **jpegBuf, size_t *jpegSize); + +/** + * Compress a 12-bit-per-sample packed-pixel RGB, grayscale, or CMYK image into + * a 12-bit-per-sample JPEG image. + * + * \details \copydetails tj3Compress8() + */ +DLLEXPORT int tj3Compress12(tjhandle handle, const short *srcBuf, int width, + int pitch, int height, int pixelFormat, + unsigned char **jpegBuf, size_t *jpegSize); + +/** + * Compress a 16-bit-per-sample packed-pixel RGB, grayscale, or CMYK image into + * a 16-bit-per-sample lossless JPEG image. + * + * \details \copydetails tj3Compress8() + */ +DLLEXPORT int tj3Compress16(tjhandle handle, const unsigned short *srcBuf, + int width, int pitch, int height, int pixelFormat, + unsigned char **jpegBuf, size_t *jpegSize); + + +/** + * Compress an 8-bit-per-sample unified planar YUV image into an + * 8-bit-per-sample JPEG image. + * + * @param handle handle to a TurboJPEG instance that has been initialized for + * compression + * + * @param srcBuf pointer to a buffer containing a unified planar YUV source + * image to be compressed. The size of this buffer should match the value + * returned by #tj3YUVBufSize() for the given image width, height, row + * alignment, and level of chrominance subsampling (see #TJPARAM_SUBSAMP.) The + * Y, U (Cb), and V (Cr) image planes should be stored sequentially in the + * buffer. (Refer to @ref YUVnotes "YUV Image Format Notes".) + * + * @param width width (in pixels) of the source image. If the width is not an + * even multiple of the MCU block width (see #tjMCUWidth), then an intermediate + * buffer copy will be performed. + * + * @param align row alignment (in bytes) of the source image (must be a power + * of 2.) Setting this parameter to n indicates that each row in each plane of + * the source image is padded to the nearest multiple of n bytes + * (1 = unpadded.) + * + * @param height height (in pixels) of the source image. If the height is not + * an even multiple of the MCU block height (see #tjMCUHeight), then an + * intermediate buffer copy will be performed. + * + * @param jpegBuf address of a pointer to a byte buffer that will receive the + * JPEG image. TurboJPEG has the ability to reallocate the JPEG buffer to + * accommodate the size of the JPEG image. Thus, you can choose to: + * -# pre-allocate the JPEG buffer with an arbitrary size using #tj3Alloc() and + * let TurboJPEG grow the buffer as needed, + * -# set `*jpegBuf` to NULL to tell TurboJPEG to allocate the buffer for you, + * or + * -# pre-allocate the buffer to a "worst case" size determined by calling + * #tj3JPEGBufSize(). This should ensure that the buffer never has to be + * re-allocated. (Setting #TJPARAM_NOREALLOC guarantees that it won't be.) + * . + * If you choose option 1, then `*jpegSize` should be set to the size of your + * pre-allocated buffer. In any case, unless you have set #TJPARAM_NOREALLOC, + * you should always check `*jpegBuf` upon return from this function, as it may + * have changed. + * + * @param jpegSize pointer to a size_t variable that holds the size of the JPEG + * buffer. If `*jpegBuf` points to a pre-allocated buffer, then `*jpegSize` + * should be set to the size of the buffer. Upon return, `*jpegSize` will + * contain the size of the JPEG image (in bytes.) If `*jpegBuf` points to a + * JPEG buffer that is being reused from a previous call to one of the JPEG + * compression functions, then `*jpegSize` is ignored. + * + * @return 0 if successful, or -1 if an error occurred (see #tj3GetErrorStr() + * and #tj3GetErrorCode().) + */ +DLLEXPORT int tj3CompressFromYUV8(tjhandle handle, + const unsigned char *srcBuf, int width, + int align, int height, + unsigned char **jpegBuf, size_t *jpegSize); + + +/** + * Compress a set of 8-bit-per-sample Y, U (Cb), and V (Cr) image planes into + * an 8-bit-per-sample JPEG image. + * + * @param handle handle to a TurboJPEG instance that has been initialized for + * compression + * + * @param srcPlanes an array of pointers to Y, U (Cb), and V (Cr) image planes + * (or just a Y plane, if compressing a grayscale image) that contain a YUV + * source image to be compressed. These planes can be contiguous or + * non-contiguous in memory. The size of each plane should match the value + * returned by #tj3YUVPlaneSize() for the given image width, height, strides, + * and level of chrominance subsampling (see #TJPARAM_SUBSAMP.) Refer to + * @ref YUVnotes "YUV Image Format Notes" for more details. + * + * @param width width (in pixels) of the source image. If the width is not an + * even multiple of the MCU block width (see #tjMCUWidth), then an intermediate + * buffer copy will be performed. + * + * @param strides an array of integers, each specifying the number of bytes per + * row in the corresponding plane of the YUV source image. Setting the stride + * for any plane to 0 is the same as setting it to the plane width (see + * @ref YUVnotes "YUV Image Format Notes".) If `strides` is NULL, then the + * strides for all planes will be set to their respective plane widths. You + * can adjust the strides in order to specify an arbitrary amount of row + * padding in each plane or to create a JPEG image from a subregion of a larger + * planar YUV image. + * + * @param height height (in pixels) of the source image. If the height is not + * an even multiple of the MCU block height (see #tjMCUHeight), then an + * intermediate buffer copy will be performed. + * + * @param jpegBuf address of a pointer to a byte buffer that will receive the + * JPEG image. TurboJPEG has the ability to reallocate the JPEG buffer to + * accommodate the size of the JPEG image. Thus, you can choose to: + * -# pre-allocate the JPEG buffer with an arbitrary size using #tj3Alloc() and + * let TurboJPEG grow the buffer as needed, + * -# set `*jpegBuf` to NULL to tell TurboJPEG to allocate the buffer for you, + * or + * -# pre-allocate the buffer to a "worst case" size determined by calling + * #tj3JPEGBufSize(). This should ensure that the buffer never has to be + * re-allocated. (Setting #TJPARAM_NOREALLOC guarantees that it won't be.) + * . + * If you choose option 1, then `*jpegSize` should be set to the size of your + * pre-allocated buffer. In any case, unless you have set #TJPARAM_NOREALLOC, + * you should always check `*jpegBuf` upon return from this function, as it may + * have changed. + * + * @param jpegSize pointer to a size_t variable that holds the size of the JPEG + * buffer. If `*jpegBuf` points to a pre-allocated buffer, then `*jpegSize` + * should be set to the size of the buffer. Upon return, `*jpegSize` will + * contain the size of the JPEG image (in bytes.) If `*jpegBuf` points to a + * JPEG buffer that is being reused from a previous call to one of the JPEG + * compression functions, then `*jpegSize` is ignored. + * + * @return 0 if successful, or -1 if an error occurred (see #tj3GetErrorStr() + * and #tj3GetErrorCode().) + */ +DLLEXPORT int tj3CompressFromYUVPlanes8(tjhandle handle, + const unsigned char * const *srcPlanes, + int width, const int *strides, + int height, unsigned char **jpegBuf, + size_t *jpegSize); + + +/** + * The maximum size of the buffer (in bytes) required to hold a JPEG image with + * the given parameters. The number of bytes returned by this function is + * larger than the size of the uncompressed source image. The reason for this + * is that the JPEG format uses 16-bit coefficients, so it is possible for a + * very high-quality source image with very high-frequency content to expand + * rather than compress when converted to the JPEG format. Such images + * represent very rare corner cases, but since there is no way to predict the + * size of a JPEG image prior to compression, the corner cases have to be + * handled. + * + * @param width width (in pixels) of the image + * + * @param height height (in pixels) of the image + * + * @param jpegSubsamp the level of chrominance subsampling to be used when + * generating the JPEG image (see @ref TJSAMP + * "Chrominance subsampling options".) #TJSAMP_UNKNOWN is treated like + * #TJSAMP_444, since a buffer large enough to hold a JPEG image with no + * subsampling should also be large enough to hold a JPEG image with an + * arbitrary level of subsampling. Note that lossless JPEG images always + * use #TJSAMP_444. + * + * @return the maximum size of the buffer (in bytes) required to hold the + * image, or 0 if the arguments are out of bounds. + */ +DLLEXPORT size_t tj3JPEGBufSize(int width, int height, int jpegSubsamp); + + +/** + * The size of the buffer (in bytes) required to hold a unified planar YUV + * image with the given parameters. + * + * @param width width (in pixels) of the image + * + * @param align row alignment (in bytes) of the image (must be a power of 2.) + * Setting this parameter to n specifies that each row in each plane of the + * image will be padded to the nearest multiple of n bytes (1 = unpadded.) + * + * @param height height (in pixels) of the image + * + * @param subsamp level of chrominance subsampling in the image (see + * @ref TJSAMP "Chrominance subsampling options".) + * + * @return the size of the buffer (in bytes) required to hold the image, or 0 + * if the arguments are out of bounds. + */ +DLLEXPORT size_t tj3YUVBufSize(int width, int align, int height, int subsamp); + + +/** + * The size of the buffer (in bytes) required to hold a YUV image plane with + * the given parameters. + * + * @param componentID ID number of the image plane (0 = Y, 1 = U/Cb, 2 = V/Cr) + * + * @param width width (in pixels) of the YUV image. NOTE: this is the width of + * the whole image, not the plane width. + * + * @param stride bytes per row in the image plane. Setting this to 0 is the + * equivalent of setting it to the plane width. + * + * @param height height (in pixels) of the YUV image. NOTE: this is the height + * of the whole image, not the plane height. + * + * @param subsamp level of chrominance subsampling in the image (see + * @ref TJSAMP "Chrominance subsampling options".) + * + * @return the size of the buffer (in bytes) required to hold the YUV image + * plane, or 0 if the arguments are out of bounds. + */ +DLLEXPORT size_t tj3YUVPlaneSize(int componentID, int width, int stride, + int height, int subsamp); + + +/** + * The plane width of a YUV image plane with the given parameters. Refer to + * @ref YUVnotes "YUV Image Format Notes" for a description of plane width. + * + * @param componentID ID number of the image plane (0 = Y, 1 = U/Cb, 2 = V/Cr) + * + * @param width width (in pixels) of the YUV image + * + * @param subsamp level of chrominance subsampling in the image (see + * @ref TJSAMP "Chrominance subsampling options".) + * + * @return the plane width of a YUV image plane with the given parameters, or 0 + * if the arguments are out of bounds. + */ +DLLEXPORT int tj3YUVPlaneWidth(int componentID, int width, int subsamp); + + +/** + * The plane height of a YUV image plane with the given parameters. Refer to + * @ref YUVnotes "YUV Image Format Notes" for a description of plane height. + * + * @param componentID ID number of the image plane (0 = Y, 1 = U/Cb, 2 = V/Cr) + * + * @param height height (in pixels) of the YUV image + * + * @param subsamp level of chrominance subsampling in the image (see + * @ref TJSAMP "Chrominance subsampling options".) + * + * @return the plane height of a YUV image plane with the given parameters, or + * 0 if the arguments are out of bounds. + */ +DLLEXPORT int tj3YUVPlaneHeight(int componentID, int height, int subsamp); + + +/** + * Encode an 8-bit-per-sample packed-pixel RGB or grayscale image into an + * 8-bit-per-sample unified planar YUV image. This function performs color + * conversion (which is accelerated in the libjpeg-turbo implementation) but + * does not execute any of the other steps in the JPEG compression process. + * + * @param handle handle to a TurboJPEG instance that has been initialized for + * compression + * + * @param srcBuf pointer to a buffer containing a packed-pixel RGB or grayscale + * source image to be encoded. This buffer should normally be `pitch * height` + * bytes in size. However, you can also use this parameter to encode from a + * specific region of a larger buffer. + * + * @param width width (in pixels) of the source image + * + * @param pitch bytes per row in the source image. Normally this should be + * width * #tjPixelSize[pixelFormat], if the image is unpadded. + * (Setting this parameter to 0 is the equivalent of setting it to + * width * #tjPixelSize[pixelFormat].) However, you can also use this + * parameter to specify the row alignment/padding of the source image, to skip + * rows, or to encode from a specific region of a larger packed-pixel image. + * + * @param height height (in pixels) of the source image + * + * @param pixelFormat pixel format of the source image (see @ref TJPF + * "Pixel formats".) + * + * @param dstBuf pointer to a buffer that will receive the unified planar YUV + * image. Use #tj3YUVBufSize() to determine the appropriate size for this + * buffer based on the image width, height, row alignment, and level of + * chrominance subsampling (see #TJPARAM_SUBSAMP.) The Y, U (Cb), and V (Cr) + * image planes will be stored sequentially in the buffer. (Refer to + * @ref YUVnotes "YUV Image Format Notes".) + * + * @param align row alignment (in bytes) of the YUV image (must be a power of + * 2.) Setting this parameter to n will cause each row in each plane of the + * YUV image to be padded to the nearest multiple of n bytes (1 = unpadded.) + * To generate images suitable for X Video, `align` should be set to 4. + * + * @return 0 if successful, or -1 if an error occurred (see #tj3GetErrorStr() + * and #tj3GetErrorCode().) + */ +DLLEXPORT int tj3EncodeYUV8(tjhandle handle, const unsigned char *srcBuf, + int width, int pitch, int height, int pixelFormat, + unsigned char *dstBuf, int align); + + +/** + * Encode an 8-bit-per-sample packed-pixel RGB or grayscale image into separate + * 8-bit-per-sample Y, U (Cb), and V (Cr) image planes. This function performs + * color conversion (which is accelerated in the libjpeg-turbo implementation) + * but does not execute any of the other steps in the JPEG compression process. + * + * @param handle handle to a TurboJPEG instance that has been initialized for + * compression + * + * @param srcBuf pointer to a buffer containing a packed-pixel RGB or grayscale + * source image to be encoded. This buffer should normally be `pitch * height` + * bytes in size. However, you can also use this parameter to encode from a + * specific region of a larger buffer. + * + * + * @param width width (in pixels) of the source image + * + * @param pitch bytes per row in the source image. Normally this should be + * width * #tjPixelSize[pixelFormat], if the image is unpadded. + * (Setting this parameter to 0 is the equivalent of setting it to + * width * #tjPixelSize[pixelFormat].) However, you can also use this + * parameter to specify the row alignment/padding of the source image, to skip + * rows, or to encode from a specific region of a larger packed-pixel image. + * + * @param height height (in pixels) of the source image + * + * @param pixelFormat pixel format of the source image (see @ref TJPF + * "Pixel formats".) + * + * @param dstPlanes an array of pointers to Y, U (Cb), and V (Cr) image planes + * (or just a Y plane, if generating a grayscale image) that will receive the + * encoded image. These planes can be contiguous or non-contiguous in memory. + * Use #tj3YUVPlaneSize() to determine the appropriate size for each plane + * based on the image width, height, strides, and level of chrominance + * subsampling (see #TJPARAM_SUBSAMP.) Refer to @ref YUVnotes + * "YUV Image Format Notes" for more details. + * + * @param strides an array of integers, each specifying the number of bytes per + * row in the corresponding plane of the YUV image. Setting the stride for any + * plane to 0 is the same as setting it to the plane width (see @ref YUVnotes + * "YUV Image Format Notes".) If `strides` is NULL, then the strides for all + * planes will be set to their respective plane widths. You can adjust the + * strides in order to add an arbitrary amount of row padding to each plane or + * to encode an RGB or grayscale image into a subregion of a larger planar YUV + * image. + * + * @return 0 if successful, or -1 if an error occurred (see #tj3GetErrorStr() + * and #tj3GetErrorCode().) + */ +DLLEXPORT int tj3EncodeYUVPlanes8(tjhandle handle, const unsigned char *srcBuf, + int width, int pitch, int height, + int pixelFormat, unsigned char **dstPlanes, + int *strides); + + +/** + * Retrieve information about a JPEG image without decompressing it, or prime + * the decompressor with quantization and Huffman tables. If a JPEG image is + * passed to this function, then the @ref TJPARAM "parameters" that describe + * the JPEG image will be set when the function returns. + * + * @param handle handle to a TurboJPEG instance that has been initialized for + * decompression + * + * @param jpegBuf pointer to a byte buffer containing a JPEG image or an + * "abbreviated table specification" (AKA "tables-only") datastream. Passing a + * tables-only datastream to this function primes the decompressor with + * quantization and Huffman tables that can be used when decompressing + * subsequent "abbreviated image" datastreams. This is useful, for instance, + * when decompressing video streams in which all frames share the same + * quantization and Huffman tables. + * + * @param jpegSize size of the JPEG image or tables-only datastream (in bytes) + * + * @return 0 if successful, or -1 if an error occurred (see #tj3GetErrorStr() + * and #tj3GetErrorCode().) + */ +DLLEXPORT int tj3DecompressHeader(tjhandle handle, + const unsigned char *jpegBuf, + size_t jpegSize); + + +/** + * Returns a list of fractional scaling factors that the JPEG decompressor + * supports. + * + * @param numScalingFactors pointer to an integer variable that will receive + * the number of elements in the list + * + * @return a pointer to a list of fractional scaling factors, or NULL if an + * error is encountered (see #tj3GetErrorStr().) + */ +DLLEXPORT tjscalingfactor *tj3GetScalingFactors(int *numScalingFactors); + + +/** + * Set the scaling factor for subsequent lossy decompression operations. + * + * @param handle handle to a TurboJPEG instance that has been initialized for + * decompression + * + * @param scalingFactor #tjscalingfactor structure that specifies a fractional + * scaling factor that the decompressor supports (see #tj3GetScalingFactors()), + * or #TJUNSCALED for no scaling. Decompression scaling is a function + * of the IDCT algorithm, so scaling factors are generally limited to multiples + * of 1/8. If the entire JPEG image will be decompressed, then the width and + * height of the scaled destination image can be determined by calling + * #TJSCALED() with the JPEG width and height (see #TJPARAM_JPEGWIDTH and + * #TJPARAM_JPEGHEIGHT) and the specified scaling factor. When decompressing + * into a planar YUV image, an intermediate buffer copy will be performed if + * the width or height of the scaled destination image is not an even multiple + * of the MCU block size (see #tjMCUWidth and #tjMCUHeight.) Note that + * decompression scaling is not available (and the specified scaling factor is + * ignored) when decompressing lossless JPEG images (see #TJPARAM_LOSSLESS), + * since the IDCT algorithm is not used with those images. Note also that + * #TJPARAM_FASTDCT is ignored when decompression scaling is enabled. + * + * @return 0 if successful, or -1 if an error occurred (see #tj3GetErrorStr().) + */ +DLLEXPORT int tj3SetScalingFactor(tjhandle handle, + tjscalingfactor scalingFactor); + + +/** + * Set the cropping region for partially decompressing a lossy JPEG image into + * a packed-pixel image + * + * @param handle handle to a TurboJPEG instance that has been initialized for + * decompression + * + * @param croppingRegion #tjregion structure that specifies a subregion of the + * JPEG image to decompress, or #TJUNCROPPED for no cropping. The + * left boundary of the cropping region must be evenly divisible by the scaled + * MCU block width (#TJSCALED(#tjMCUWidth[subsamp], scalingFactor), + * where `subsamp` is the level of chrominance subsampling in the JPEG image + * (see #TJPARAM_SUBSAMP) and `scalingFactor` is the decompression scaling + * factor (see #tj3SetScalingFactor().) The cropping region should be + * specified relative to the scaled image dimensions. Unless `croppingRegion` + * is #TJUNCROPPED, the JPEG header must be read (see + * #tj3DecompressHeader()) prior to calling this function. + * + * @return 0 if successful, or -1 if an error occurred (see #tj3GetErrorStr().) + */ +DLLEXPORT int tj3SetCroppingRegion(tjhandle handle, tjregion croppingRegion); + + +/** + * Decompress an 8-bit-per-sample JPEG image into an 8-bit-per-sample + * packed-pixel RGB, grayscale, or CMYK image. The @ref TJPARAM "parameters" + * that describe the JPEG image will be set when this function returns. + * + * @param handle handle to a TurboJPEG instance that has been initialized for + * decompression + * + * @param jpegBuf pointer to a byte buffer containing the JPEG image to + * decompress + * + * @param jpegSize size of the JPEG image (in bytes) + * + * @param dstBuf pointer to a buffer that will receive the packed-pixel + * decompressed image. This buffer should normally be + * `pitch * destinationHeight` samples in size. However, you can also use this + * parameter to decompress into a specific region of a larger buffer. NOTE: + * If the JPEG image is lossy, then `destinationHeight` is either the scaled + * JPEG height (see #TJSCALED(), #TJPARAM_JPEGHEIGHT, and + * #tj3SetScalingFactor()) or the height of the cropping region (see + * #tj3SetCroppingRegion().) If the JPEG image is lossless, then + * `destinationHeight` is the JPEG height. + * + * @param pitch samples per row in the destination image. Normally this should + * be set to destinationWidth * #tjPixelSize[pixelFormat], if the + * destination image should be unpadded. (Setting this parameter to 0 is the + * equivalent of setting it to + * destinationWidth * #tjPixelSize[pixelFormat].) However, you can + * also use this parameter to specify the row alignment/padding of the + * destination image, to skip rows, or to decompress into a specific region of + * a larger buffer. NOTE: If the JPEG image is lossy, then `destinationWidth` + * is either the scaled JPEG width (see #TJSCALED(), #TJPARAM_JPEGWIDTH, and + * #tj3SetScalingFactor()) or the width of the cropping region (see + * #tj3SetCroppingRegion().) If the JPEG image is lossless, then + * `destinationWidth` is the JPEG width. + * + * @param pixelFormat pixel format of the destination image (see @ref + * TJPF "Pixel formats".) + * + * @return 0 if successful, or -1 if an error occurred (see #tj3GetErrorStr() + * and #tj3GetErrorCode().) + */ +DLLEXPORT int tj3Decompress8(tjhandle handle, const unsigned char *jpegBuf, + size_t jpegSize, unsigned char *dstBuf, int pitch, + int pixelFormat); + +/** + * Decompress a 12-bit-per-sample JPEG image into a 12-bit-per-sample + * packed-pixel RGB, grayscale, or CMYK image. + * + * \details \copydetails tj3Decompress8() + */ +DLLEXPORT int tj3Decompress12(tjhandle handle, const unsigned char *jpegBuf, + size_t jpegSize, short *dstBuf, int pitch, + int pixelFormat); + +/** + * Decompress a 16-bit-per-sample lossless JPEG image into a 16-bit-per-sample + * packed-pixel RGB, grayscale, or CMYK image. + * + * \details \copydetails tj3Decompress8() + */ +DLLEXPORT int tj3Decompress16(tjhandle handle, const unsigned char *jpegBuf, + size_t jpegSize, unsigned short *dstBuf, + int pitch, int pixelFormat); + + +/** + * Decompress an 8-bit-per-sample JPEG image into an 8-bit-per-sample unified + * planar YUV image. This function performs JPEG decompression but leaves out + * the color conversion step, so a planar YUV image is generated instead of a + * packed-pixel image. The @ref TJPARAM "parameters" that describe the JPEG + * image will be set when this function returns. + * + * @param handle handle to a TurboJPEG instance that has been initialized for + * decompression + * + * @param jpegBuf pointer to a byte buffer containing the JPEG image to + * decompress + * + * @param jpegSize size of the JPEG image (in bytes) + * + * @param dstBuf pointer to a buffer that will receive the unified planar YUV + * decompressed image. Use #tj3YUVBufSize() to determine the appropriate size + * for this buffer based on the scaled JPEG width and height (see #TJSCALED(), + * #TJPARAM_JPEGWIDTH, #TJPARAM_JPEGHEIGHT, and #tj3SetScalingFactor()), row + * alignment, and level of chrominance subsampling (see #TJPARAM_SUBSAMP.) The + * Y, U (Cb), and V (Cr) image planes will be stored sequentially in the + * buffer. (Refer to @ref YUVnotes "YUV Image Format Notes".) + * + * @param align row alignment (in bytes) of the YUV image (must be a power of + * 2.) Setting this parameter to n will cause each row in each plane of the + * YUV image to be padded to the nearest multiple of n bytes (1 = unpadded.) + * To generate images suitable for X Video, `align` should be set to 4. + * + * @return 0 if successful, or -1 if an error occurred (see #tj3GetErrorStr() + * and #tj3GetErrorCode().) + */ +DLLEXPORT int tj3DecompressToYUV8(tjhandle handle, + const unsigned char *jpegBuf, + size_t jpegSize, + unsigned char *dstBuf, int align); + + +/** + * Decompress an 8-bit-per-sample JPEG image into separate 8-bit-per-sample Y, + * U (Cb), and V (Cr) image planes. This function performs JPEG decompression + * but leaves out the color conversion step, so a planar YUV image is generated + * instead of a packed-pixel image. The @ref TJPARAM "parameters" that + * describe the JPEG image will be set when this function returns. + * + * @param handle handle to a TurboJPEG instance that has been initialized for + * decompression + * + * @param jpegBuf pointer to a byte buffer containing the JPEG image to + * decompress + * + * @param jpegSize size of the JPEG image (in bytes) + * + * @param dstPlanes an array of pointers to Y, U (Cb), and V (Cr) image planes + * (or just a Y plane, if decompressing a grayscale image) that will receive + * the decompressed image. These planes can be contiguous or non-contiguous in + * memory. Use #tj3YUVPlaneSize() to determine the appropriate size for each + * plane based on the scaled JPEG width and height (see #TJSCALED(), + * #TJPARAM_JPEGWIDTH, #TJPARAM_JPEGHEIGHT, and #tj3SetScalingFactor()), + * strides, and level of chrominance subsampling (see #TJPARAM_SUBSAMP.) Refer + * to @ref YUVnotes "YUV Image Format Notes" for more details. + * + * @param strides an array of integers, each specifying the number of bytes per + * row in the corresponding plane of the YUV image. Setting the stride for any + * plane to 0 is the same as setting it to the scaled plane width (see + * @ref YUVnotes "YUV Image Format Notes".) If `strides` is NULL, then the + * strides for all planes will be set to their respective scaled plane widths. + * You can adjust the strides in order to add an arbitrary amount of row + * padding to each plane or to decompress the JPEG image into a subregion of a + * larger planar YUV image. + * + * @return 0 if successful, or -1 if an error occurred (see #tj3GetErrorStr() + * and #tj3GetErrorCode().) + */ +DLLEXPORT int tj3DecompressToYUVPlanes8(tjhandle handle, + const unsigned char *jpegBuf, + size_t jpegSize, + unsigned char **dstPlanes, + int *strides); + + +/** + * Decode an 8-bit-per-sample unified planar YUV image into an 8-bit-per-sample + * packed-pixel RGB or grayscale image. This function performs color + * conversion (which is accelerated in the libjpeg-turbo implementation) but + * does not execute any of the other steps in the JPEG decompression process. + * + * @param handle handle to a TurboJPEG instance that has been initialized for + * decompression + * + * @param srcBuf pointer to a buffer containing a unified planar YUV source + * image to be decoded. The size of this buffer should match the value + * returned by #tj3YUVBufSize() for the given image width, height, row + * alignment, and level of chrominance subsampling (see #TJPARAM_SUBSAMP.) The + * Y, U (Cb), and V (Cr) image planes should be stored sequentially in the + * source buffer. (Refer to @ref YUVnotes "YUV Image Format Notes".) + * + * @param align row alignment (in bytes) of the YUV source image (must be a + * power of 2.) Setting this parameter to n indicates that each row in each + * plane of the YUV source image is padded to the nearest multiple of n bytes + * (1 = unpadded.) + * + * @param dstBuf pointer to a buffer that will receive the packed-pixel decoded + * image. This buffer should normally be `pitch * height` bytes in size. + * However, you can also use this parameter to decode into a specific region of + * a larger buffer. + * + * @param width width (in pixels) of the source and destination images + * + * @param pitch bytes per row in the destination image. Normally this should + * be set to width * #tjPixelSize[pixelFormat], if the destination + * image should be unpadded. (Setting this parameter to 0 is the equivalent of + * setting it to width * #tjPixelSize[pixelFormat].) However, you can + * also use this parameter to specify the row alignment/padding of the + * destination image, to skip rows, or to decode into a specific region of a + * larger buffer. + * + * @param height height (in pixels) of the source and destination images + * + * @param pixelFormat pixel format of the destination image (see @ref TJPF + * "Pixel formats".) + * + * @return 0 if successful, or -1 if an error occurred (see #tj3GetErrorStr() + * and #tj3GetErrorCode().) + */ +DLLEXPORT int tj3DecodeYUV8(tjhandle handle, const unsigned char *srcBuf, + int align, unsigned char *dstBuf, int width, + int pitch, int height, int pixelFormat); + + +/** + * Decode a set of 8-bit-per-sample Y, U (Cb), and V (Cr) image planes into an + * 8-bit-per-sample packed-pixel RGB or grayscale image. This function + * performs color conversion (which is accelerated in the libjpeg-turbo + * implementation) but does not execute any of the other steps in the JPEG + * decompression process. + * + * @param handle handle to a TurboJPEG instance that has been initialized for + * decompression + * + * @param srcPlanes an array of pointers to Y, U (Cb), and V (Cr) image planes + * (or just a Y plane, if decoding a grayscale image) that contain a YUV image + * to be decoded. These planes can be contiguous or non-contiguous in memory. + * The size of each plane should match the value returned by #tj3YUVPlaneSize() + * for the given image width, height, strides, and level of chrominance + * subsampling (see #TJPARAM_SUBSAMP.) Refer to @ref YUVnotes + * "YUV Image Format Notes" for more details. + * + * @param strides an array of integers, each specifying the number of bytes per + * row in the corresponding plane of the YUV source image. Setting the stride + * for any plane to 0 is the same as setting it to the plane width (see + * @ref YUVnotes "YUV Image Format Notes".) If `strides` is NULL, then the + * strides for all planes will be set to their respective plane widths. You + * can adjust the strides in order to specify an arbitrary amount of row + * padding in each plane or to decode a subregion of a larger planar YUV image. + * + * @param dstBuf pointer to a buffer that will receive the packed-pixel decoded + * image. This buffer should normally be `pitch * height` bytes in size. + * However, you can also use this parameter to decode into a specific region of + * a larger buffer. + * + * @param width width (in pixels) of the source and destination images + * + * @param pitch bytes per row in the destination image. Normally this should + * be set to width * #tjPixelSize[pixelFormat], if the destination + * image should be unpadded. (Setting this parameter to 0 is the equivalent of + * setting it to width * #tjPixelSize[pixelFormat].) However, you can + * also use this parameter to specify the row alignment/padding of the + * destination image, to skip rows, or to decode into a specific region of a + * larger buffer. + * + * @param height height (in pixels) of the source and destination images + * + * @param pixelFormat pixel format of the destination image (see @ref TJPF + * "Pixel formats".) + * + * @return 0 if successful, or -1 if an error occurred (see #tj3GetErrorStr() + * and #tj3GetErrorCode().) + */ +DLLEXPORT int tj3DecodeYUVPlanes8(tjhandle handle, + const unsigned char * const *srcPlanes, + const int *strides, unsigned char *dstBuf, + int width, int pitch, int height, + int pixelFormat); + + +/** + * Losslessly transform a JPEG image into another JPEG image. Lossless + * transforms work by moving the raw DCT coefficients from one JPEG image + * structure to another without altering the values of the coefficients. While + * this is typically faster than decompressing the image, transforming it, and + * re-compressing it, lossless transforms are not free. Each lossless + * transform requires reading and performing entropy decoding on all of the + * coefficients in the source image, regardless of the size of the destination + * image. Thus, this function provides a means of generating multiple + * transformed images from the same source or applying multiple transformations + * simultaneously, in order to eliminate the need to read the source + * coefficients multiple times. + * + * @param handle handle to a TurboJPEG instance that has been initialized for + * lossless transformation + * + * @param jpegBuf pointer to a byte buffer containing the JPEG source image to + * transform + * + * @param jpegSize size of the JPEG source image (in bytes) + * + * @param n the number of transformed JPEG images to generate + * + * @param dstBufs pointer to an array of n byte buffers. `dstBufs[i]` will + * receive a JPEG image that has been transformed using the parameters in + * `transforms[i]`. TurboJPEG has the ability to reallocate the JPEG + * destination buffer to accommodate the size of the transformed JPEG image. + * Thus, you can choose to: + * -# pre-allocate the JPEG destination buffer with an arbitrary size using + * #tj3Alloc() and let TurboJPEG grow the buffer as needed, + * -# set `dstBufs[i]` to NULL to tell TurboJPEG to allocate the buffer for + * you, or + * -# pre-allocate the buffer to a "worst case" size determined by calling + * #tj3JPEGBufSize() with the transformed or cropped width and height and the + * level of subsampling used in the source image. Under normal circumstances, + * this should ensure that the buffer never has to be re-allocated. (Setting + * #TJPARAM_NOREALLOC guarantees that it won't be.) Note, however, that there + * are some rare cases (such as transforming images with a large amount of + * embedded EXIF or ICC profile data) in which the transformed JPEG image will + * be larger than the worst-case size, and #TJPARAM_NOREALLOC cannot be used in + * those cases. + * . + * If you choose option 1, then `dstSizes[i]` should be set to the size of your + * pre-allocated buffer. In any case, unless you have set #TJPARAM_NOREALLOC, + * you should always check `dstBufs[i]` upon return from this function, as it + * may have changed. + * + * @param dstSizes pointer to an array of n size_t variables that will receive + * the actual sizes (in bytes) of each transformed JPEG image. If `dstBufs[i]` + * points to a pre-allocated buffer, then `dstSizes[i]` should be set to the + * size of the buffer. Upon return, `dstSizes[i]` will contain the size of the + * transformed JPEG image (in bytes.) + * + * @param transforms pointer to an array of n #tjtransform structures, each of + * which specifies the transform parameters and/or cropping region for the + * corresponding transformed JPEG image. + * + * @return 0 if successful, or -1 if an error occurred (see #tj3GetErrorStr() + * and #tj3GetErrorCode().) + */ +DLLEXPORT int tj3Transform(tjhandle handle, const unsigned char *jpegBuf, + size_t jpegSize, int n, unsigned char **dstBufs, + size_t *dstSizes, const tjtransform *transforms); + + +/** + * Destroy a TurboJPEG instance. + * + * @param handle handle to a TurboJPEG instance. If the handle is NULL, then + * this function has no effect. + */ +DLLEXPORT void tj3Destroy(tjhandle handle); + + +/** + * Allocate a byte buffer for use with TurboJPEG. You should always use this + * function to allocate the JPEG destination buffer(s) for the compression and + * transform functions unless you are disabling automatic buffer (re)allocation + * (by setting #TJPARAM_NOREALLOC.) + * + * @param bytes the number of bytes to allocate + * + * @return a pointer to a newly-allocated buffer with the specified number of + * bytes. + * + * @see tj3Free() + */ +DLLEXPORT void *tj3Alloc(size_t bytes); + + +/** + * Load an 8-bit-per-sample packed-pixel image from disk into memory. + * + * @param handle handle to a TurboJPEG instance + * + * @param filename name of a file containing a packed-pixel image in Windows + * BMP or PBMPLUS (PPM/PGM) format. Windows BMP files require 8-bit-per-sample + * data precision. If the data precision of the PBMPLUS file does not match + * the target data precision, then upconverting or downconverting will be + * performed. + * + * @param width pointer to an integer variable that will receive the width (in + * pixels) of the packed-pixel image + * + * @param align row alignment (in samples) of the packed-pixel buffer to be + * returned (must be a power of 2.) Setting this parameter to n will cause all + * rows in the buffer to be padded to the nearest multiple of n samples + * (1 = unpadded.) + * + * @param height pointer to an integer variable that will receive the height + * (in pixels) of the packed-pixel image + * + * @param pixelFormat pointer to an integer variable that specifies or will + * receive the pixel format of the packed-pixel buffer. The behavior of this + * function will vary depending on the value of `*pixelFormat` passed to the + * function: + * - @ref TJPF_UNKNOWN : The packed-pixel buffer returned by this function will + * use the most optimal pixel format for the file type, and `*pixelFormat` will + * contain the ID of that pixel format upon successful return from this + * function. + * - @ref TJPF_GRAY : Only PGM files and 8-bit-per-pixel BMP files with a + * grayscale colormap can be loaded. + * - @ref TJPF_CMYK : The RGB or grayscale pixels stored in the file will be + * converted using a quick & dirty algorithm that is suitable only for testing + * purposes. (Proper conversion between CMYK and other formats requires a + * color management system.) + * - Other @ref TJPF "pixel formats" : The packed-pixel buffer will use the + * specified pixel format, and pixel format conversion will be performed if + * necessary. + * + * @return a pointer to a newly-allocated buffer containing the packed-pixel + * image, converted to the chosen pixel format and with the chosen row + * alignment, or NULL if an error occurred (see #tj3GetErrorStr().) This + * buffer should be freed using #tj3Free(). + */ +DLLEXPORT unsigned char *tj3LoadImage8(tjhandle handle, const char *filename, + int *width, int align, int *height, + int *pixelFormat); + +/** + * Load a 12-bit-per-sample packed-pixel image from disk into memory. + * + * \details \copydetails tj3LoadImage8() + */ +DLLEXPORT short *tj3LoadImage12(tjhandle handle, const char *filename, + int *width, int align, int *height, + int *pixelFormat); + +/** + * Load a 16-bit-per-sample packed-pixel image from disk into memory. + * + * \details \copydetails tj3LoadImage8() + */ +DLLEXPORT unsigned short *tj3LoadImage16(tjhandle handle, const char *filename, + int *width, int align, int *height, + int *pixelFormat); + + +/** + * Save an 8-bit-per-sample packed-pixel image from memory to disk. + * + * @param handle handle to a TurboJPEG instance + * + * @param filename name of a file to which to save the packed-pixel image. The + * image will be stored in Windows BMP or PBMPLUS (PPM/PGM) format, depending + * on the file extension. Windows BMP files require 8-bit-per-sample data + * precision. + * + * @param buffer pointer to a buffer containing a packed-pixel RGB, grayscale, + * or CMYK image to be saved + * + * @param width width (in pixels) of the packed-pixel image + * + * @param pitch samples per row in the packed-pixel image. Setting this + * parameter to 0 is the equivalent of setting it to + * width * #tjPixelSize[pixelFormat]. + * + * @param height height (in pixels) of the packed-pixel image + * + * @param pixelFormat pixel format of the packed-pixel image (see @ref TJPF + * "Pixel formats".) If this parameter is set to @ref TJPF_GRAY, then the + * image will be stored in PGM or 8-bit-per-pixel (indexed color) BMP format. + * Otherwise, the image will be stored in PPM or 24-bit-per-pixel BMP format. + * If this parameter is set to @ref TJPF_CMYK, then the CMYK pixels will be + * converted to RGB using a quick & dirty algorithm that is suitable only for + * testing purposes. (Proper conversion between CMYK and other formats + * requires a color management system.) + * + * @return 0 if successful, or -1 if an error occurred (see #tj3GetErrorStr().) + */ +DLLEXPORT int tj3SaveImage8(tjhandle handle, const char *filename, + const unsigned char *buffer, int width, int pitch, + int height, int pixelFormat); + +/** + * Save a 12-bit-per-sample packed-pixel image from memory to disk. + * + * \details \copydetails tj3SaveImage8() + */ +DLLEXPORT int tj3SaveImage12(tjhandle handle, const char *filename, + const short *buffer, int width, int pitch, + int height, int pixelFormat); + +/** + * Save a 16-bit-per-sample packed-pixel image from memory to disk. + * + * \details \copydetails tj3SaveImage8() + */ +DLLEXPORT int tj3SaveImage16(tjhandle handle, const char *filename, + const unsigned short *buffer, int width, + int pitch, int height, int pixelFormat); + + +/** + * Free a byte buffer previously allocated by TurboJPEG. You should always use + * this function to free JPEG destination buffer(s) that were automatically + * (re)allocated by the compression and transform functions or that were + * manually allocated using #tj3Alloc(). + * + * @param buffer address of the buffer to free. If the address is NULL, then + * this function has no effect. + * + * @see tj3Alloc() + */ +DLLEXPORT void tj3Free(void *buffer); + + +/** + * Returns a descriptive error message explaining why the last command failed. + * + * @param handle handle to a TurboJPEG instance, or NULL if the error was + * generated by a global function (but note that retrieving the error message + * for a global function is thread-safe only on platforms that support + * thread-local storage.) + * + * @return a descriptive error message explaining why the last command failed. + */ +DLLEXPORT char *tj3GetErrorStr(tjhandle handle); + + +/** + * Returns a code indicating the severity of the last error. See + * @ref TJERR "Error codes". + * + * @param handle handle to a TurboJPEG instance + * + * @return a code indicating the severity of the last error. See + * @ref TJERR "Error codes". + */ +DLLEXPORT int tj3GetErrorCode(tjhandle handle); + + +/* Backward compatibility functions and macros (nothing to see here) */ + +/* TurboJPEG 1.0+ */ + +#define NUMSUBOPT TJ_NUMSAMP +#define TJ_444 TJSAMP_444 +#define TJ_422 TJSAMP_422 +#define TJ_420 TJSAMP_420 +#define TJ_411 TJSAMP_420 +#define TJ_GRAYSCALE TJSAMP_GRAY + +#define TJ_BGR 1 +#define TJ_BOTTOMUP TJFLAG_BOTTOMUP +#define TJ_FORCEMMX TJFLAG_FORCEMMX +#define TJ_FORCESSE TJFLAG_FORCESSE +#define TJ_FORCESSE2 TJFLAG_FORCESSE2 +#define TJ_ALPHAFIRST 64 +#define TJ_FORCESSE3 TJFLAG_FORCESSE3 +#define TJ_FASTUPSAMPLE TJFLAG_FASTUPSAMPLE + +#define TJPAD(width) (((width) + 3) & (~3)) + +DLLEXPORT unsigned long TJBUFSIZE(int width, int height); + +DLLEXPORT int tjCompress(tjhandle handle, unsigned char *srcBuf, int width, + int pitch, int height, int pixelSize, + unsigned char *dstBuf, unsigned long *compressedSize, + int jpegSubsamp, int jpegQual, int flags); + +DLLEXPORT int tjDecompress(tjhandle handle, unsigned char *jpegBuf, + unsigned long jpegSize, unsigned char *dstBuf, + int width, int pitch, int height, int pixelSize, + int flags); + +DLLEXPORT int tjDecompressHeader(tjhandle handle, unsigned char *jpegBuf, + unsigned long jpegSize, int *width, + int *height); + +DLLEXPORT int tjDestroy(tjhandle handle); + +DLLEXPORT char *tjGetErrorStr(void); + +DLLEXPORT tjhandle tjInitCompress(void); + +DLLEXPORT tjhandle tjInitDecompress(void); + +/* TurboJPEG 1.1+ */ + +#define TJ_YUV 512 + +DLLEXPORT unsigned long TJBUFSIZEYUV(int width, int height, int jpegSubsamp); + +DLLEXPORT int tjDecompressHeader2(tjhandle handle, unsigned char *jpegBuf, + unsigned long jpegSize, int *width, + int *height, int *jpegSubsamp); + +DLLEXPORT int tjDecompressToYUV(tjhandle handle, unsigned char *jpegBuf, + unsigned long jpegSize, unsigned char *dstBuf, + int flags); + +DLLEXPORT int tjEncodeYUV(tjhandle handle, unsigned char *srcBuf, int width, + int pitch, int height, int pixelSize, + unsigned char *dstBuf, int subsamp, int flags); + +/* TurboJPEG 1.2+ */ + +#define TJFLAG_BOTTOMUP 2 +#define TJFLAG_FORCEMMX 8 +#define TJFLAG_FORCESSE 16 +#define TJFLAG_FORCESSE2 32 +#define TJFLAG_FORCESSE3 128 +#define TJFLAG_FASTUPSAMPLE 256 +#define TJFLAG_NOREALLOC 1024 + +DLLEXPORT unsigned char *tjAlloc(int bytes); + +DLLEXPORT unsigned long tjBufSize(int width, int height, int jpegSubsamp); + +DLLEXPORT unsigned long tjBufSizeYUV(int width, int height, int subsamp); + +DLLEXPORT int tjCompress2(tjhandle handle, const unsigned char *srcBuf, + int width, int pitch, int height, int pixelFormat, + unsigned char **jpegBuf, unsigned long *jpegSize, + int jpegSubsamp, int jpegQual, int flags); + +DLLEXPORT int tjDecompress2(tjhandle handle, const unsigned char *jpegBuf, + unsigned long jpegSize, unsigned char *dstBuf, + int width, int pitch, int height, int pixelFormat, + int flags); + +DLLEXPORT int tjEncodeYUV2(tjhandle handle, unsigned char *srcBuf, int width, + int pitch, int height, int pixelFormat, + unsigned char *dstBuf, int subsamp, int flags); + +DLLEXPORT void tjFree(unsigned char *buffer); + +DLLEXPORT tjscalingfactor *tjGetScalingFactors(int *numscalingfactors); + +DLLEXPORT tjhandle tjInitTransform(void); + +DLLEXPORT int tjTransform(tjhandle handle, const unsigned char *jpegBuf, + unsigned long jpegSize, int n, + unsigned char **dstBufs, unsigned long *dstSizes, + tjtransform *transforms, int flags); + +/* TurboJPEG 1.2.1+ */ + +#define TJFLAG_FASTDCT 2048 +#define TJFLAG_ACCURATEDCT 4096 + +/* TurboJPEG 1.4+ */ + +DLLEXPORT unsigned long tjBufSizeYUV2(int width, int align, int height, + int subsamp); + +DLLEXPORT int tjCompressFromYUV(tjhandle handle, const unsigned char *srcBuf, + int width, int align, int height, int subsamp, + unsigned char **jpegBuf, + unsigned long *jpegSize, int jpegQual, + int flags); + +DLLEXPORT int tjCompressFromYUVPlanes(tjhandle handle, + const unsigned char **srcPlanes, + int width, const int *strides, + int height, int subsamp, + unsigned char **jpegBuf, + unsigned long *jpegSize, int jpegQual, + int flags); + +DLLEXPORT int tjDecodeYUV(tjhandle handle, const unsigned char *srcBuf, + int align, int subsamp, unsigned char *dstBuf, + int width, int pitch, int height, int pixelFormat, + int flags); + +DLLEXPORT int tjDecodeYUVPlanes(tjhandle handle, + const unsigned char **srcPlanes, + const int *strides, int subsamp, + unsigned char *dstBuf, int width, int pitch, + int height, int pixelFormat, int flags); + +DLLEXPORT int tjDecompressHeader3(tjhandle handle, + const unsigned char *jpegBuf, + unsigned long jpegSize, int *width, + int *height, int *jpegSubsamp, + int *jpegColorspace); + +DLLEXPORT int tjDecompressToYUV2(tjhandle handle, const unsigned char *jpegBuf, + unsigned long jpegSize, unsigned char *dstBuf, + int width, int align, int height, int flags); + +DLLEXPORT int tjDecompressToYUVPlanes(tjhandle handle, + const unsigned char *jpegBuf, + unsigned long jpegSize, + unsigned char **dstPlanes, int width, + int *strides, int height, int flags); + +DLLEXPORT int tjEncodeYUV3(tjhandle handle, const unsigned char *srcBuf, + int width, int pitch, int height, int pixelFormat, + unsigned char *dstBuf, int align, int subsamp, + int flags); + +DLLEXPORT int tjEncodeYUVPlanes(tjhandle handle, const unsigned char *srcBuf, + int width, int pitch, int height, + int pixelFormat, unsigned char **dstPlanes, + int *strides, int subsamp, int flags); + +DLLEXPORT int tjPlaneHeight(int componentID, int height, int subsamp); + +DLLEXPORT unsigned long tjPlaneSizeYUV(int componentID, int width, int stride, + int height, int subsamp); + +DLLEXPORT int tjPlaneWidth(int componentID, int width, int subsamp); + +/* TurboJPEG 2.0+ */ + +#define TJFLAG_STOPONWARNING 8192 +#define TJFLAG_PROGRESSIVE 16384 + +DLLEXPORT int tjGetErrorCode(tjhandle handle); + +DLLEXPORT char *tjGetErrorStr2(tjhandle handle); + +DLLEXPORT unsigned char *tjLoadImage(const char *filename, int *width, + int align, int *height, int *pixelFormat, + int flags); + +DLLEXPORT int tjSaveImage(const char *filename, unsigned char *buffer, + int width, int pitch, int height, int pixelFormat, + int flags); + +/* TurboJPEG 2.1+ */ + +#define TJFLAG_LIMITSCANS 32768 + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/vcpkg/installed/x64-osx/include/x265.h b/vcpkg/installed/x64-osx/include/x265.h new file mode 100644 index 0000000..4452526 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/x265.h @@ -0,0 +1,2674 @@ +/***************************************************************************** + * Copyright (C) 2013-2020 MulticoreWare, Inc + * + * Authors: Steve Borho + * Min Chen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. + * + * This program is also available under a commercial proprietary license. + * For more information, contact us at license @ x265.com. + *****************************************************************************/ + +#ifndef X265_H +#define X265_H +#include +#include +#include +#include "x265_config.h" +#ifdef __cplusplus +extern "C" { +#endif + +#if _MSC_VER +#pragma warning(disable: 4201) // non-standard extension used (nameless struct/union) +#endif + +/* x265_encoder: + * opaque handler for encoder */ +typedef struct x265_encoder x265_encoder; + +/* x265_picyuv: + * opaque handler for PicYuv */ +typedef struct x265_picyuv x265_picyuv; + +/* Application developers planning to link against a shared library version of + * libx265 from a Microsoft Visual Studio or similar development environment + * will need to define X265_API_IMPORTS before including this header. + * This clause does not apply to MinGW, similar development environments, or non + * Windows platforms. */ +#ifdef X265_API_IMPORTS +#define X265_API __declspec(dllimport) +#else +#define X265_API +#endif + +typedef enum +{ + NAL_UNIT_CODED_SLICE_TRAIL_N = 0, + NAL_UNIT_CODED_SLICE_TRAIL_R, + NAL_UNIT_CODED_SLICE_TSA_N, + NAL_UNIT_CODED_SLICE_TSA_R, + NAL_UNIT_CODED_SLICE_STSA_N, + NAL_UNIT_CODED_SLICE_STSA_R, + NAL_UNIT_CODED_SLICE_RADL_N, + NAL_UNIT_CODED_SLICE_RADL_R, + NAL_UNIT_CODED_SLICE_RASL_N, + NAL_UNIT_CODED_SLICE_RASL_R, + NAL_UNIT_CODED_SLICE_BLA_W_LP = 16, + NAL_UNIT_CODED_SLICE_BLA_W_RADL, + NAL_UNIT_CODED_SLICE_BLA_N_LP, + NAL_UNIT_CODED_SLICE_IDR_W_RADL, + NAL_UNIT_CODED_SLICE_IDR_N_LP, + NAL_UNIT_CODED_SLICE_CRA, + NAL_UNIT_VPS = 32, + NAL_UNIT_SPS, + NAL_UNIT_PPS, + NAL_UNIT_ACCESS_UNIT_DELIMITER, + NAL_UNIT_EOS, + NAL_UNIT_EOB, + NAL_UNIT_FILLER_DATA, + NAL_UNIT_PREFIX_SEI, + NAL_UNIT_SUFFIX_SEI, + NAL_UNIT_UNSPECIFIED = 62, + NAL_UNIT_INVALID = 64, +} NalUnitType; + +/* The data within the payload is already NAL-encapsulated; the type is merely + * in the struct for easy access by the calling application. All data returned + * in an x265_nal, including the data in payload, is no longer valid after the + * next call to x265_encoder_encode. Thus it must be used or copied before + * calling x265_encoder_encode again. */ +typedef struct x265_nal +{ + uint32_t type; /* NalUnitType */ + uint32_t sizeBytes; /* size in bytes */ + uint8_t* payload; +} x265_nal; + +#define X265_LOOKAHEAD_MAX 250 + +typedef struct x265_lookahead_data +{ + int64_t plannedSatd[X265_LOOKAHEAD_MAX + 1]; + uint32_t *vbvCost; + uint32_t *intraVbvCost; + uint32_t *satdForVbv; + uint32_t *intraSatdForVbv; + int keyframe; + int lastMiniGopBFrame; + int plannedType[X265_LOOKAHEAD_MAX + 1]; + int64_t dts; + int64_t reorderedPts; +} x265_lookahead_data; + +typedef struct x265_analysis_validate +{ + int maxNumReferences; + int analysisReuseLevel; + int sourceWidth; + int sourceHeight; + int keyframeMax; + int keyframeMin; + int openGOP; + int bframes; + int bPyramid; + int maxCUSize; + int minCUSize; + int intraRefresh; + int lookaheadDepth; + int chunkStart; + int chunkEnd; + int cuTree; + int ctuDistortionRefine; + int rightOffset; + int bottomOffset; + int frameDuplication; +}x265_analysis_validate; + +/* Stores intra analysis data for a single frame. This struct needs better packing */ +typedef struct x265_analysis_intra_data +{ + uint8_t* depth; + uint8_t* modes; + char* partSizes; + uint8_t* chromaModes; + int8_t* cuQPOff; +}x265_analysis_intra_data; + +typedef struct x265_analysis_MV +{ + union{ + struct { int32_t x, y; }; + + int64_t word; + }; +}x265_analysis_MV; + +/* Stores inter analysis data for a single frame */ +typedef struct x265_analysis_inter_data +{ + int32_t* ref; + uint8_t* depth; + uint8_t* modes; + uint8_t* partSize; + uint8_t* mergeFlag; + uint8_t* interDir; + uint8_t* mvpIdx[2]; + int8_t* refIdx[2]; + x265_analysis_MV* mv[2]; + int64_t* sadCost; + int8_t* cuQPOff; +}x265_analysis_inter_data; + +typedef struct x265_weight_param +{ + uint32_t log2WeightDenom; + int inputWeight; + int inputOffset; + int wtPresent; +}x265_weight_param; + +#if X265_DEPTH < 10 +typedef uint32_t sse_t; +#else +typedef uint64_t sse_t; +#endif + +#define CTU_DISTORTION_OFF 0 +#define CTU_DISTORTION_INTERNAL 1 +#define CTU_DISTORTION_EXTERNAL 2 + +typedef struct x265_analysis_distortion_data +{ + sse_t* ctuDistortion; + double* scaledDistortion; + double averageDistortion; + double sdDistortion; + uint32_t highDistortionCtuCount; + uint32_t lowDistortionCtuCount; + double* offset; + double* threshold; + +}x265_analysis_distortion_data; + +#define MAX_NUM_REF 16 +#define EDGE_BINS 2 +#define MAX_HIST_BINS 1024 + +/* Stores all analysis data for a single frame */ +typedef struct x265_analysis_data +{ + int64_t satdCost; + uint32_t frameRecordSize; + uint32_t poc; + uint32_t sliceType; + uint32_t numCUsInFrame; + uint32_t numPartitions; + uint32_t depthBytes; + int32_t edgeHist[EDGE_BINS]; + int32_t yuvHist[3][MAX_HIST_BINS]; + int bScenecut; + x265_weight_param* wt; + x265_analysis_inter_data* interData; + x265_analysis_intra_data* intraData; + uint32_t numCuInHeight; + x265_lookahead_data lookahead; + uint8_t* modeFlag[2]; + x265_analysis_validate saveParam; + x265_analysis_distortion_data* distortionData; + uint64_t frameBits; + int list0POC[MAX_NUM_REF]; + int list1POC[MAX_NUM_REF]; + double totalIntraPercent; +} x265_analysis_data; + +/* cu statistics */ +typedef struct x265_cu_stats +{ + double percentSkipCu[4]; // Percentage of skip cu in all depths + double percentMergeCu[4]; // Percentage of merge cu in all depths + double percentIntraDistribution[4][3]; // Percentage of DC, Planar, Angular intra modes in all depths + double percentInterDistribution[4][3]; // Percentage of 2Nx2N inter, rect and amp in all depths + double percentIntraNxN; // Percentage of 4x4 cu + + /* All the above values will add up to 100%. */ +} x265_cu_stats; + + +/* pu statistics */ +typedef struct x265_pu_stats +{ + double percentSkipPu[4]; // Percentage of skip cu in all depths + double percentIntraPu[4]; // Percentage of intra modes in all depths + double percentAmpPu[4]; // Percentage of amp modes in all depths + double percentInterPu[4][3]; // Percentage of inter 2nx2n, 2nxn and nx2n in all depths + double percentMergePu[4][3]; // Percentage of merge 2nx2n, 2nxn and nx2n in all depth + double percentNxN; + + /* All the above values will add up to 100%. */ +} x265_pu_stats; + +/* Frame level statistics */ +typedef struct x265_frame_stats +{ + double qp; + double rateFactor; + double psnrY; + double psnrU; + double psnrV; + double psnr; + double ssim; + double decideWaitTime; + double row0WaitTime; + double wallTime; + double refWaitWallTime; + double totalCTUTime; + double stallTime; + double avgWPP; + double avgLumaDistortion; + double avgChromaDistortion; + double avgPsyEnergy; + double avgResEnergy; + double avgLumaLevel; + double bufferFill; + uint64_t bits; + int encoderOrder; + int poc; + int countRowBlocks; + int list0POC[MAX_NUM_REF]; + int list1POC[MAX_NUM_REF]; + uint16_t maxLumaLevel; + uint16_t minLumaLevel; + + uint16_t maxChromaULevel; + uint16_t minChromaULevel; + double avgChromaULevel; + + + uint16_t maxChromaVLevel; + uint16_t minChromaVLevel; + double avgChromaVLevel; + + char sliceType; + int bScenecut; + double ipCostRatio; + int frameLatency; + x265_cu_stats cuStats; + x265_pu_stats puStats; + double totalFrameTime; + double vmafFrameScore; + double bufferFillFinal; + double unclippedBufferFillFinal; + uint8_t tLayer; +} x265_frame_stats; + +typedef struct x265_ctu_info_t +{ + int32_t ctuAddress; + int32_t ctuPartitions[64]; + void* ctuInfo; +} x265_ctu_info_t; + +typedef enum +{ + NO_CTU_INFO = 0, + HAS_CTU_INFO = 1, + CTU_INFO_CHANGE = 2, +}CTUInfo; + +typedef enum +{ + DEFAULT = 0, + AVC_INFO = 1, + HEVC_INFO = 2, +}AnalysisRefineType; + +/* Arbitrary User SEI + * Payload size is in bytes and the payload pointer must be non-NULL. + * Payload types and syntax can be found in Annex D of the H.265 Specification. + * SEI Payload Alignment bits as described in Annex D must be included at the + * end of the payload if needed. The payload should not be NAL-encapsulated. + * Payloads are written in the order of input */ + +typedef enum +{ + BUFFERING_PERIOD = 0, + PICTURE_TIMING = 1, + PAN_SCAN_RECT = 2, + FILLER_PAYLOAD = 3, + USER_DATA_REGISTERED_ITU_T_T35 = 4, + USER_DATA_UNREGISTERED = 5, + RECOVERY_POINT = 6, + SCENE_INFO = 9, + FULL_FRAME_SNAPSHOT = 15, + PROGRESSIVE_REFINEMENT_SEGMENT_START = 16, + PROGRESSIVE_REFINEMENT_SEGMENT_END = 17, + FILM_GRAIN_CHARACTERISTICS = 19, + POST_FILTER_HINT = 22, + TONE_MAPPING_INFO = 23, + FRAME_PACKING = 45, + DISPLAY_ORIENTATION = 47, + SOP_DESCRIPTION = 128, + ACTIVE_PARAMETER_SETS = 129, + DECODING_UNIT_INFO = 130, + TEMPORAL_LEVEL0_INDEX = 131, + DECODED_PICTURE_HASH = 132, + SCALABLE_NESTING = 133, + REGION_REFRESH_INFO = 134, + MASTERING_DISPLAY_INFO = 137, + CONTENT_LIGHT_LEVEL_INFO = 144, + ALTERNATIVE_TRANSFER_CHARACTERISTICS = 147, +} SEIPayloadType; + +typedef struct x265_sei_payload +{ + int payloadSize; + SEIPayloadType payloadType; + uint8_t* payload; +} x265_sei_payload; + +typedef struct x265_sei +{ + int numPayloads; + x265_sei_payload *payloads; +} x265_sei; + +typedef struct x265_dolby_vision_rpu +{ + int payloadSize; + uint8_t* payload; +}x265_dolby_vision_rpu; + +/* Used to pass pictures into the encoder, and to get picture data back out of + * the encoder. The input and output semantics are different */ +typedef struct x265_picture +{ + /* presentation time stamp: user-specified, returned on output */ + int64_t pts; + + /* display time stamp: ignored on input, copied from reordered pts. Returned + * on output */ + int64_t dts; + + /* force quantizer for != X265_QP_AUTO */ + /* The value provided on input is returned with the same picture (POC) on + * output */ + void* userData; + + /* Must be specified on input pictures, the number of planes is determined + * by the colorSpace value */ + void* planes[3]; + + /* Stride is the number of bytes between row starts */ + int stride[3]; + + /* Must be specified on input pictures. x265_picture_init() will set it to + * the encoder's internal bit depth, but this field must describe the depth + * of the input pictures. Must be between 8 and 16. Values larger than 8 + * imply 16bits per input sample. If input bit depth is larger than the + * internal bit depth, the encoder will down-shift pixels. Input samples + * larger than 8bits will be masked to internal bit depth. On output the + * bitDepth will be the internal encoder bit depth */ + int bitDepth; + + /* Must be specified on input pictures: X265_TYPE_AUTO or other. + * x265_picture_init() sets this to auto, returned on output */ + int sliceType; + + /* Ignored on input, set to picture count, returned on output */ + int poc; + + /* Must be specified on input pictures: X265_CSP_I420 or other. It must + * match the internal color space of the encoder. x265_picture_init() will + * initialize this value to the internal color space */ + int colorSpace; + + /* Force the slice base QP for this picture within the encoder. Set to 0 + * to allow the encoder to determine base QP */ + int forceqp; + + /* If param.analysisLoad and param.analysisSave are disabled, this field is + * ignored on input and output. Else the user must call x265_alloc_analysis_data() + * to allocate analysis buffers for every picture passed to the encoder. + * + * On input when param.analysisLoad is enabled and analysisData + * member pointers are valid, the encoder will use the data stored here to + * reduce encoder work. + * + * On output when param.analysisSave is enabled and analysisData + * member pointers are valid, the encoder will write output analysis into + * this data structure */ + x265_analysis_data analysisData; + + /* An array of quantizer offsets to be applied to this image during encoding. + * These are added on top of the decisions made by rateControl. + * Adaptive quantization must be enabled to use this feature. These quantizer + * offsets should be given for each 16x16 block (8x8 block, when qg-size is 8). + * Behavior if quant offsets differ between encoding passes is undefined. */ + float *quantOffsets; + + /* Frame level statistics */ + x265_frame_stats frameData; + + /* User defined SEI */ + x265_sei userSEI; + + /* Ratecontrol statistics for collecting the ratecontrol information. + * It is not used for collecting the last pass ratecontrol data in + * multi pass ratecontrol mode. */ + void* rcData; + + size_t framesize; + + int height; + + // pts is reordered in the order of encoding. + int64_t reorderedPts; + + //Dolby Vision RPU metadata + x265_dolby_vision_rpu rpu; + + int fieldNum; + + //SEI picture structure message + uint32_t picStruct; + + int width; +} x265_picture; + +typedef enum +{ + X265_DIA_SEARCH, + X265_HEX_SEARCH, + X265_UMH_SEARCH, + X265_STAR_SEARCH, + X265_SEA, + X265_FULL_SEARCH +} X265_ME_METHODS; + +/* CPU flags */ + +/* x86 */ +#define X265_CPU_MMX (1 << 0) +#define X265_CPU_MMX2 (1 << 1) /* MMX2 aka MMXEXT aka ISSE */ +#define X265_CPU_MMXEXT X265_CPU_MMX2 +#define X265_CPU_SSE (1 << 2) +#define X265_CPU_SSE2 (1 << 3) +#define X265_CPU_LZCNT (1 << 4) +#define X265_CPU_SSE3 (1 << 5) +#define X265_CPU_SSSE3 (1 << 6) +#define X265_CPU_SSE4 (1 << 7) /* SSE4.1 */ +#define X265_CPU_SSE42 (1 << 8) /* SSE4.2 */ +#define X265_CPU_AVX (1 << 9) /* Requires OS support even if YMM registers aren't used. */ +#define X265_CPU_XOP (1 << 10) /* AMD XOP */ +#define X265_CPU_FMA4 (1 << 11) /* AMD FMA4 */ +#define X265_CPU_FMA3 (1 << 12) /* Intel FMA3 */ +#define X265_CPU_BMI1 (1 << 13) /* BMI1 */ +#define X265_CPU_BMI2 (1 << 14) /* BMI2 */ +#define X265_CPU_AVX2 (1 << 15) /* AVX2 */ +#define X265_CPU_AVX512 (1 << 16) /* AVX-512 {F, CD, BW, DQ, VL}, requires OS support */ +/* x86 modifiers */ +#define X265_CPU_CACHELINE_32 (1 << 17) /* avoid memory loads that span the border between two cachelines */ +#define X265_CPU_CACHELINE_64 (1 << 18) /* 32/64 is the size of a cacheline in bytes */ +#define X265_CPU_SSE2_IS_SLOW (1 << 19) /* avoid most SSE2 functions on Athlon64 */ +#define X265_CPU_SSE2_IS_FAST (1 << 20) /* a few functions are only faster on Core2 and Phenom */ +#define X265_CPU_SLOW_SHUFFLE (1 << 21) /* The Conroe has a slow shuffle unit (relative to overall SSE performance) */ +#define X265_CPU_STACK_MOD4 (1 << 22) /* if stack is only mod4 and not mod16 */ +#define X265_CPU_SLOW_ATOM (1 << 23) /* The Atom is terrible: slow SSE unaligned loads, slow + * SIMD multiplies, slow SIMD variable shifts, slow pshufb, + * cacheline split penalties -- gather everything here that + * isn't shared by other CPUs to avoid making half a dozen + * new SLOW flags. */ +#define X265_CPU_SLOW_PSHUFB (1 << 24) /* such as on the Intel Atom */ +#define X265_CPU_SLOW_PALIGNR (1 << 25) /* such as on the AMD Bobcat */ + +/* ARM */ +#define X265_CPU_ARMV6 0x0000001 +#define X265_CPU_NEON 0x0000002 /* ARM NEON */ +#define X265_CPU_SVE2 0x0000008 /* ARM SVE2 */ +#define X265_CPU_SVE 0x0000010 /* ARM SVE2 */ +#define X265_CPU_FAST_NEON_MRC 0x0000004 /* Transfer from NEON to ARM register is fast (Cortex-A9) */ + +/* IBM Power8 */ +#define X265_CPU_ALTIVEC 0x0000001 + +#define X265_MAX_SUBPEL_LEVEL 7 + +/* Log level */ +#define X265_LOG_NONE (-1) +#define X265_LOG_ERROR 0 +#define X265_LOG_WARNING 1 +#define X265_LOG_INFO 2 +#define X265_LOG_DEBUG 3 +#define X265_LOG_FULL 4 + +#define X265_B_ADAPT_NONE 0 +#define X265_B_ADAPT_FAST 1 +#define X265_B_ADAPT_TRELLIS 2 + +#define X265_REF_LIMIT_DEPTH 1 +#define X265_REF_LIMIT_CU 2 + +#define X265_TU_LIMIT_BFS 1 +#define X265_TU_LIMIT_DFS 2 +#define X265_TU_LIMIT_NEIGH 4 + +#define X265_BFRAME_MAX 16 +#define X265_MAX_FRAME_THREADS 16 + +#define X265_TYPE_AUTO 0x0000 /* Let x265 choose the right type */ +#define X265_TYPE_IDR 0x0001 +#define X265_TYPE_I 0x0002 +#define X265_TYPE_P 0x0003 +#define X265_TYPE_BREF 0x0004 /* Non-disposable B-frame */ +#define X265_TYPE_B 0x0005 +#define IS_X265_TYPE_I(x) ((x) == X265_TYPE_I || (x) == X265_TYPE_IDR) +#define IS_X265_TYPE_B(x) ((x) == X265_TYPE_B || (x) == X265_TYPE_BREF) + +#define X265_QP_AUTO 0 + +#define X265_AQ_NONE 0 +#define X265_AQ_VARIANCE 1 +#define X265_AQ_AUTO_VARIANCE 2 +#define X265_AQ_AUTO_VARIANCE_BIASED 3 +#define X265_AQ_EDGE 4 +#define x265_ADAPT_RD_STRENGTH 4 +#define X265_REFINE_INTER_LEVELS 3 +/* NOTE! For this release only X265_CSP_I420 and X265_CSP_I444 are supported */ +/* Supported internal color space types (according to semantics of chroma_format_idc) */ +#define X265_CSP_I400 0 /* yuv 4:0:0 planar */ +#define X265_CSP_I420 1 /* yuv 4:2:0 planar */ +#define X265_CSP_I422 2 /* yuv 4:2:2 planar */ +#define X265_CSP_I444 3 /* yuv 4:4:4 planar */ +#define X265_CSP_COUNT 4 /* Number of supported internal color spaces */ + +/* These color spaces will eventually be supported as input pictures. The pictures will + * be converted to the appropriate planar color spaces at ingest */ +#define X265_CSP_NV12 4 /* yuv 4:2:0, with one y plane and one packed u+v */ +#define X265_CSP_NV16 5 /* yuv 4:2:2, with one y plane and one packed u+v */ + +/* Interleaved color-spaces may eventually be supported as input pictures */ +#define X265_CSP_BGR 6 /* packed bgr 24bits */ +#define X265_CSP_BGRA 7 /* packed bgr 32bits */ +#define X265_CSP_RGB 8 /* packed rgb 24bits */ +#define X265_CSP_MAX 9 /* end of list */ +#define X265_EXTENDED_SAR 255 /* aspect ratio explicitly specified as width:height */ +/* Analysis options */ +#define X265_ANALYSIS_OFF 0 +#define X265_ANALYSIS_SAVE 1 +#define X265_ANALYSIS_LOAD 2 + +#define FORWARD 1 +#define BACKWARD 2 +#define BI_DIRECTIONAL 3 +#define SLICE_TYPE_DELTA 0.3 /* The offset decremented or incremented for P-frames or b-frames respectively*/ +#define BACKWARD_WINDOW 1 /* Scenecut window before a scenecut */ +#define FORWARD_WINDOW 2 /* Scenecut window after a scenecut */ +#define BWD_WINDOW_DELTA 0.4 + +#define X265_MAX_GOP_CONFIG 3 +#define X265_MAX_GOP_LENGTH 16 +#define MAX_T_LAYERS 7 + +#define X265_IPRATIO_STRENGTH 1.43 + +typedef struct x265_cli_csp +{ + int planes; + int width[3]; + int height[3]; +} x265_cli_csp; + +static const x265_cli_csp x265_cli_csps[] = +{ + { 1, { 0, 0, 0 }, { 0, 0, 0 } }, /* i400 */ + { 3, { 0, 1, 1 }, { 0, 1, 1 } }, /* i420 */ + { 3, { 0, 1, 1 }, { 0, 0, 0 } }, /* i422 */ + { 3, { 0, 0, 0 }, { 0, 0, 0 } }, /* i444 */ + { 2, { 0, 0 }, { 0, 1 } }, /* nv12 */ + { 2, { 0, 0 }, { 0, 0 } }, /* nv16 */ +}; + +/* rate tolerance method */ +typedef enum +{ + X265_RC_ABR, + X265_RC_CQP, + X265_RC_CRF +} X265_RC_METHODS; + +/* slice type statistics */ +typedef struct x265_sliceType_stats +{ + double avgQp; + double bitrate; + double psnrY; + double psnrU; + double psnrV; + double ssim; + uint32_t numPics; +} x265_sliceType_stats; + +/* Output statistics from encoder */ +typedef struct x265_stats +{ + double globalPsnrY; + double globalPsnrU; + double globalPsnrV; + double globalPsnr; + double globalSsim; + double elapsedEncodeTime; /* wall time since encoder was opened */ + double elapsedVideoTime; /* encoded picture count / frame rate */ + double bitrate; /* accBits / elapsed video time */ + double aggregateVmafScore; /* aggregate VMAF score for input video*/ + uint64_t accBits; /* total bits output thus far */ + uint32_t encodedPictureCount; /* number of output pictures thus far */ + uint32_t totalWPFrames; /* number of uni-directional weighted frames used */ + x265_sliceType_stats statsI; /* statistics of I slice */ + x265_sliceType_stats statsP; /* statistics of P slice */ + x265_sliceType_stats statsB; /* statistics of B slice */ + uint16_t maxCLL; /* maximum content light level */ + uint16_t maxFALL; /* maximum frame average light level */ +} x265_stats; + +/* String values accepted by x265_param_parse() (and CLI) for various parameters */ +static const char * const x265_motion_est_names[] = { "dia", "hex", "umh", "star", "sea", "full", 0 }; +static const char * const x265_source_csp_names[] = { "i400", "i420", "i422", "i444", "nv12", "nv16", 0 }; +static const char * const x265_video_format_names[] = { "component", "pal", "ntsc", "secam", "mac", "unknown", 0 }; +static const char * const x265_fullrange_names[] = { "limited", "full", 0 }; +static const char * const x265_colorprim_names[] = { "reserved", "bt709", "unknown", "reserved", "bt470m", "bt470bg", "smpte170m", "smpte240m", "film", "bt2020", "smpte428", "smpte431", "smpte432", 0 }; +static const char * const x265_transfer_names[] = { "reserved", "bt709", "unknown", "reserved", "bt470m", "bt470bg", "smpte170m", "smpte240m", "linear", "log100", + "log316", "iec61966-2-4", "bt1361e", "iec61966-2-1", "bt2020-10", "bt2020-12", + "smpte2084", "smpte428", "arib-std-b67", 0 }; +static const char * const x265_colmatrix_names[] = { "gbr", "bt709", "unknown", "", "fcc", "bt470bg", "smpte170m", "smpte240m", + "ycgco", "bt2020nc", "bt2020c", "smpte2085", "chroma-derived-nc", "chroma-derived-c", "ictcp", 0 }; +static const char * const x265_sar_names[] = { "unknown", "1:1", "12:11", "10:11", "16:11", "40:33", "24:11", "20:11", + "32:11", "80:33", "18:11", "15:11", "64:33", "160:99", "4:3", "3:2", "2:1", 0 }; +static const char * const x265_interlace_names[] = { "prog", "tff", "bff", 0 }; +static const char * const x265_analysis_names[] = { "off", "save", "load", 0 }; + +struct x265_zone; +struct x265_param; +/* Zones: override ratecontrol for specific sections of the video. + * If zones overlap, whichever comes later in the list takes precedence. */ +typedef struct x265_zone +{ + int startFrame, endFrame; /* range of frame numbers */ + int keyframeMax; /* it store the default/user defined keyframeMax value*/ + int bForceQp; /* whether to use qp vs bitrate factor */ + int qp; + float bitrateFactor; + struct x265_param* zoneParam; + double* relativeComplexity; +} x265_zone; + +/* data to calculate aggregate VMAF score */ +typedef struct x265_vmaf_data +{ + int width; + int height; + size_t offset; + int internalBitDepth; + FILE *reference_file; /* FILE pointer for input file */ + FILE *distorted_file; /* FILE pointer for recon file generated*/ +}x265_vmaf_data; + +/* data to calculate frame level VMAF score */ +typedef struct x265_vmaf_framedata +{ + int width; + int height; + int frame_set; + int internalBitDepth; + void *reference_frame; /* points to fenc of particular frame */ + void *distorted_frame; /* points to recon of particular frame */ +}x265_vmaf_framedata; + +/* common data needed to calculate both frame level and video level VMAF scores */ +typedef struct x265_vmaf_commondata +{ + char *format; + char *model_path; + char *log_path; + char *log_fmt; + int disable_clip; + int disable_avx; + int enable_transform; + int phone_model; + int psnr; + int ssim; + int ms_ssim; + char *pool; + int thread; + int subsample; + int enable_conf_interval; +}x265_vmaf_commondata; + +static const x265_vmaf_commondata vcd[] = { { NULL, (char *)"/usr/local/share/model/vmaf_v0.6.1.pkl", NULL, NULL, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 1, 0 } }; + +typedef struct x265_temporal_layer { + int poc_offset; /* POC offset */ + int8_t layer; /* Current layer */ + int8_t qp_offset; /* QP offset */ +} x265_temporal_layer; + +static const int8_t x265_temporal_layer_bframes[MAX_T_LAYERS] = {-1, -1, 3, 7, 15, -1, -1}; + +static const int8_t x265_gop_ra_length[X265_MAX_GOP_CONFIG] = { 4, 8, 16}; +static const x265_temporal_layer x265_gop_ra[X265_MAX_GOP_CONFIG][X265_MAX_GOP_LENGTH] = { + { + { + 4, + 0, + 1, + }, + { + 2, + 1, + 5, + }, + { + 1, + 2, + 3, + }, + { + 3, + 2, + 5, + }, + { + -1, + -1, + -1, + }, + { + -1, + -1, + -1, + }, + { + -1, + -1, + -1, + }, + { + -1, + -1, + -1, + }, + { + -1, + -1, + -1, + }, + { + -1, + -1, + -1, + }, + { + -1, + -1, + -1, + }, + { + -1, + -1, + -1, + }, + { + -1, + -1, + -1, + }, + { + -1, + -1, + -1, + }, + { + -1, + -1, + -1, + }, + { + -1, + -1, + -1, + } + }, + + { + { + 8, + 0, + 1, + }, + { + 4, + 1, + 5, + }, + { + 2, + 2, + 4, + }, + { + 1, + 3, + 5, + }, + { + 3, + 3, + 2, + }, + { + 6, + 2, + 5, + }, + { + 5, + 3, + 4, + }, + { + 7, + 3, + 5, + }, + { + -1, + -1, + -1, + }, + { + -1, + -1, + -1, + }, + { + -1, + -1, + -1, + }, + { + -1, + -1, + -1, + }, + { + -1, + -1, + -1, + }, + { + -1, + -1, + -1, + }, + { + -1, + -1, + -1, + }, + { + -1, + -1, + -1, + }, + }, + { + { + 16, + 0, + 1, + }, + { + 8, + 1, + 6, + }, + { + 4, + 2, + 5, + }, + { + 2, + 3, + 6, + }, + { + 1, + 4, + 4, + }, + { + 3, + 4, + 6, + }, + { + 6, + 3, + 5, + }, + { + 5, + 4, + 6, + }, + { + 7, + 4, + 1, + }, + { + 12, + 2, + 6, + }, + { + 10, + 3, + 5, + }, + { + 9, + 4, + 6, + }, + { + 11, + 4, + 4, + }, + { + 14, + 3, + 6, + }, + { + 13, + 4, + 5, + }, + { + 15, + 4, + 6, + } + } +}; + +typedef enum +{ + X265_SHARE_MODE_FILE = 0, + X265_SHARE_MODE_SHAREDMEM +}X265_DATA_SHARE_MODES; + +/* x265 input parameters + * + * For version safety you may use x265_param_alloc/free() to manage the + * allocation of x265_param instances, and x265_param_parse() to assign values + * by name. By never dereferencing param fields in your own code you can treat + * x265_param as an opaque data structure */ +typedef struct x265_param +{ + /* x265_param_default() will auto-detect this cpu capability bitmap. it is + * recommended to not change this value unless you know the cpu detection is + * somehow flawed on your target hardware. The asm function tables are + * process global, the first encoder configures them for all encoders */ + int cpuid; + /*== Parallelism Features ==*/ + + /* Number of concurrently encoded frames between 1 and X265_MAX_FRAME_THREADS + * or 0 for auto-detection. By default x265 will use a number of frame + * threads empirically determined to be optimal for your CPU core count, + * between 2 and 6. Using more than one frame thread causes motion search + * in the down direction to be clamped but otherwise encode behavior is + * unaffected. With CQP rate control the output bitstream is deterministic + * for all values of frameNumThreads greater than 1. All other forms of + * rate-control can be negatively impacted by increases to the number of + * frame threads because the extra concurrency adds uncertainty to the + * bitrate estimations. Frame parallelism is generally limited by the the + * is generally limited by the the number of CU rows + * + * When thread pools are used, each frame thread is assigned to a single + * pool and the frame thread itself is given the node affinity of its pool. + * But when no thread pools are used no node affinity is assigned. */ + int frameNumThreads; + + /* Comma seperated list of threads per NUMA node. If "none", then no worker + * pools are created and only frame parallelism is possible. If NULL or "" + * (default) x265 will use all available threads on each NUMA node. + * + * '+' is a special value indicating all cores detected on the node + * '*' is a special value indicating all cores detected on the node and all + * remaining nodes. + * '-' is a special value indicating no cores on the node, same as '0' + * + * example strings for a 4-node system: + * "" - default, unspecified, all numa nodes are used for thread pools + * "*" - same as default + * "none" - no thread pools are created, only frame parallelism possible + * "-" - same as "none" + * "10" - allocate one pool, using up to 10 cores on node 0 + * "-,+" - allocate one pool, using all cores on node 1 + * "+,-,+" - allocate two pools, using all cores on nodes 0 and 2 + * "+,-,+,-" - allocate two pools, using all cores on nodes 0 and 2 + * "-,*" - allocate three pools, using all cores on nodes 1, 2 and 3 + * "8,8,8,8" - allocate four pools with up to 8 threads in each pool + * + * The total number of threads will be determined by the number of threads + * assigned to all nodes. The worker threads will each be given affinity for + * their node, they will not be allowed to migrate between nodes, but they + * will be allowed to move between CPU cores within their node. + * + * If the three pool features: bEnableWavefront, bDistributeModeAnalysis and + * bDistributeMotionEstimation are all disabled, then numaPools is ignored + * and no thread pools are created. + * + * If "none" is specified, then all three of the thread pool features are + * implicitly disabled. + * + * Multiple thread pools will be allocated for any NUMA node with more than + * 64 logical CPU cores. But any given thread pool will always use at most + * one NUMA node. + * + * Frame encoders are distributed between the available thread pools, and + * the encoder will never generate more thread pools than frameNumThreads */ + const char* numaPools; + + /* Enable wavefront parallel processing, greatly increases parallelism for + * less than 1% compression efficiency loss. Requires a thread pool, enabled + * by default */ + int bEnableWavefront; + + /* Use multiple threads to measure CU mode costs. Recommended for many core + * CPUs. On RD levels less than 5, it may not offload enough work to warrant + * the overhead. It is useful with the slow preset since it has the + * rectangular predictions enabled. At RD level 5 and 6 (preset slower and + * below), this feature should be an unambiguous win if you have CPU + * cores available for work. Default disabled */ + int bDistributeModeAnalysis; + + /* Use multiple threads to perform motion estimation to (ME to one reference + * per thread). Recommended for many core CPUs. The more references the more + * motion searches there will be to distribute. This option is often not a + * win, particularly in video sequences with low motion. Default disabled */ + int bDistributeMotionEstimation; + + /*== Logging Features ==*/ + + /* Enable analysis and logging distribution of CUs. Now deprecated */ + int bLogCuStats; + + /* Enable the measurement and reporting of PSNR. Default is enabled */ + int bEnablePsnr; + + /* Enable the measurement and reporting of SSIM. Default is disabled */ + int bEnableSsim; + + /* The level of logging detail emitted by the encoder. X265_LOG_NONE to + * X265_LOG_FULL, default is X265_LOG_INFO */ + int logLevel; + + /* Level of csv logging. 0 is summary, 1 is frame level logging, + * 2 is frame level logging with performance statistics */ + int csvLogLevel; + + /* filename of CSV log. If csvLogLevel is non-zero, the encoder will emit + * per-slice statistics to this log file in encode order. Otherwise the + * encoder will emit per-stream statistics into the log file when + * x265_encoder_log is called (presumably at the end of the encode) */ + const char* csvfn; + + /*== Internal Picture Specification ==*/ + + /* Internal encoder bit depth. If x265 was compiled to use 8bit pixels + * (HIGH_BIT_DEPTH=0), this field must be 8, else this field must be 10. + * Future builds may support 12bit pixels. */ + int internalBitDepth; + + /* Color space of internal pictures, must match color space of input + * pictures */ + int internalCsp; + + /* Numerator and denominator of frame rate */ + uint32_t fpsNum; + uint32_t fpsDenom; + + /* Width (in pixels) of the source pictures. If this width is not an even + * multiple of 4, the encoder will pad the pictures internally to meet this + * minimum requirement. All valid HEVC widths are supported */ + int sourceWidth; + + /* Height (in pixels) of the source pictures. If this height is not an even + * multiple of 4, the encoder will pad the pictures internally to meet this + * minimum requirement. All valid HEVC heights are supported */ + int sourceHeight; + + /* Interlace type of source pictures. 0 - progressive pictures (default). + * 1 - top field first, 2 - bottom field first. HEVC encodes interlaced + * content as fields, they must be provided to the encoder in the correct + * temporal order */ + int interlaceMode; + + /* Total Number of frames to be encoded, calculated from the user input + * (--frames) and (--seek). In case, the input is read from a pipe, this can + * remain as 0. It is later used in 2 pass RateControl, hence storing the + * value in param */ + int totalFrames; + + /*== Profile / Tier / Level ==*/ + + /* Note: the profile is specified by x265_param_apply_profile() */ + + /* Minimum decoder requirement level. Defaults to 0, which implies auto- + * detection by the encoder. If specified, the encoder will attempt to bring + * the encode specifications within that specified level. If the encoder is + * unable to reach the level it issues a warning and emits the actual + * decoder requirement. If the requested requirement level is higher than + * the actual level, the actual requirement level is signaled. The value is + * an specified as an integer with the level times 10, for example level + * "5.1" is specified as 51, and level "5.0" is specified as 50. */ + int levelIdc; + + /* if levelIdc is specified (non-zero) this flag will differentiate between + * Main (0) and High (1) tier. Default is Main tier (0) */ + int bHighTier; + + /* Enable UHD Blu-ray compatibility support. If specified, the encoder will + * attempt to modify/set the encode specifications. If the encoder is unable + * to do so, this option will be turned OFF. */ + int uhdBluray; + + /* The maximum number of L0 references a P or B slice may use. This + * influences the size of the decoded picture buffer. The higher this + * number, the more reference frames there will be available for motion + * search, improving compression efficiency of most video at a cost of + * performance. Value must be between 1 and 16, default is 3 */ + int maxNumReferences; + + /* Allow libx265 to emit HEVC bitstreams which do not meet strict level + * requirements. Defaults to false */ + int bAllowNonConformance; + + /*== Bitstream Options ==*/ + + /* Flag indicating whether VPS, SPS and PPS headers should be output with + * each keyframe. Default false */ + int bRepeatHeaders; + + /* Flag indicating whether the encoder should generate start codes (Annex B + * format) or length (file format) before NAL units. Default true, Annex B. + * Muxers should set this to the correct value */ + int bAnnexB; + + /* Flag indicating whether the encoder should emit an Access Unit Delimiter + * NAL at the start of every access unit. Default false */ + int bEnableAccessUnitDelimiters; + + /* Enables the buffering period SEI and picture timing SEI to signal the HRD + * parameters. Default is disabled */ + int bEmitHRDSEI; + + /* Enables the emission of a user data SEI with the stream headers which + * describes the encoder version, build info, and parameters. This is + * very helpful for debugging, but may interfere with regression tests. + * Default enabled */ + int bEmitInfoSEI; + + /* Enable the generation of SEI messages for each encoded frame containing + * the hashes of the three reconstructed picture planes. Most decoders will + * validate those hashes against the reconstructed images it generates and + * report any mismatches. This is essentially a debugging feature. Hash + * types are MD5(1), CRC(2), Checksum(3). Default is 0, none */ + int decodedPictureHashSEI; + + /* Enable Temporal Sub Layers while encoding, signals NAL units of coded + * slices with their temporalId. Output bitstreams can be extracted either + * at the base temporal layer (layer 0) with roughly half the frame rate or + * at a higher temporal layer (layer 1) that decodes all the frames in the + * sequence. */ + int bEnableTemporalSubLayers; + + /*== GOP structure and slice type decisions (lookahead) ==*/ + + /* Enable open GOP - meaning I slices are not necessarily IDR and thus frames + * encoded after an I slice may reference frames encoded prior to the I + * frame which have remained in the decoded picture buffer. Open GOP + * generally has better compression efficiency and negligible encoder + * performance impact, but the use case may preclude it. Default true */ + int bOpenGOP; + + /*Force nal type to CRA to all frames expect first frame. Default disabled*/ + int craNal; + + /* Scene cuts closer together than this are coded as I, not IDR. */ + int keyframeMin; + + /* Maximum keyframe distance or intra period in number of frames. If 0 or 1, + * all frames are I frames. A negative value is casted to MAX_INT internally + * which effectively makes frame 0 the only I frame. Default is 250 */ + int keyframeMax; + + /* Maximum consecutive B frames that can be emitted by the lookahead. When + * b-adapt is 0 and keyframMax is greater than bframes, the lookahead emits + * a fixed pattern of `bframes` B frames between each P. With b-adapt 1 the + * lookahead ignores the value of bframes for the most part. With b-adapt 2 + * the value of bframes determines the search (POC) distance performed in + * both directions, quadratically increasing the compute load of the + * lookahead. The higher the value, the more B frames the lookahead may + * possibly use consecutively, usually improving compression. Default is 3, + * maximum is 16 */ + int bframes; + + /* Sets the operating mode of the lookahead. With b-adapt 0, the GOP + * structure is fixed based on the values of keyframeMax and bframes. + * With b-adapt 1 a light lookahead is used to chose B frame placement. + * With b-adapt 2 (trellis) a viterbi B path selection is performed */ + int bFrameAdaptive; + + /* When enabled, the encoder will use the B frame in the middle of each + * mini-GOP larger than 2 B frames as a motion reference for the surrounding + * B frames. This improves compression efficiency for a small performance + * penalty. Referenced B frames are treated somewhere between a B and a P + * frame by rate control. Default is enabled. */ + int bBPyramid; + + /* A value which is added to the cost estimate of B frames in the lookahead. + * It may be a positive value (making B frames appear less expensive, which + * biases the lookahead to choose more B frames) or negative, which makes the + * lookahead choose more P frames. Default is 0, there are no limits */ + int bFrameBias; + + /* The number of frames that must be queued in the lookahead before it may + * make slice decisions. Increasing this value directly increases the encode + * latency. The longer the queue the more optimally the lookahead may make + * slice decisions, particularly with b-adapt 2. When cu-tree is enabled, + * the length of the queue linearly increases the effectiveness of the + * cu-tree analysis. Default is 40 frames, maximum is 250 */ + int lookaheadDepth; + + /* Use multiple worker threads to measure the estimated cost of each frame + * within the lookahead. When bFrameAdaptive is 2, most frame cost estimates + * will be performed in batch mode, many cost estimates at the same time, + * and lookaheadSlices is ignored for batched estimates. The effect on + * performance can be quite small. The higher this parameter, the less + * accurate the frame costs will be (since context is lost across slice + * boundaries) which will result in less accurate B-frame and scene-cut + * decisions. Default is 0 - disabled. 1 is the same as 0. Max 16 */ + int lookaheadSlices; + + /* An arbitrary threshold which determines how aggressively the lookahead + * should detect scene cuts for cost based scenecut detection. + * The default (40) is recommended. */ + int scenecutThreshold; + + /* Replace keyframes by using a column of intra blocks that move across the video + * from one side to the other, thereby "refreshing" the image. In effect, instead of a + * big keyframe, the keyframe is "spread" over many frames. */ + int bIntraRefresh; + + /*== Coding Unit (CU) definitions ==*/ + + /* Maximum CU width and height in pixels. The size must be 64, 32, or 16. + * The higher the size, the more efficiently x265 can encode areas of low + * complexity, greatly improving compression efficiency at large + * resolutions. The smaller the size, the more effective wavefront and + * frame parallelism will become because of the increase in rows. default 64 + * All encoders within the same process must use the same maxCUSize, until + * all encoders are closed and x265_cleanup() is called to reset the value. */ + uint32_t maxCUSize; + + /* Minimum CU width and height in pixels. The size must be 64, 32, 16, or + * 8. Default 8. All encoders within the same process must use the same + * minCUSize. */ + uint32_t minCUSize; + + /* Enable rectangular motion prediction partitions (vertical and + * horizontal), available at all CU depths from 64x64 to 8x8. Default is + * disabled */ + int bEnableRectInter; + + /* Enable asymmetrical motion predictions. At CU depths 64, 32, and 16, it + * is possible to use 25%/75% split partitions in the up, down, right, left + * directions. For some material this can improve compression efficiency at + * the cost of extra analysis. bEnableRectInter must be enabled for this + * feature to be used. Default disabled */ + int bEnableAMP; + + /*== Residual Quadtree Transform Unit (TU) definitions ==*/ + + /* Maximum TU width and height in pixels. The size must be 32, 16, 8 or 4. + * The larger the size the more efficiently the residual can be compressed + * by the DCT transforms, at the expense of more computation */ + uint32_t maxTUSize; + + /* The additional depth the residual quad-tree is allowed to recurse beyond + * the coding quad-tree, for inter coded blocks. This must be between 1 and + * 4. The higher the value the more efficiently the residual can be + * compressed by the DCT transforms, at the expense of much more compute */ + uint32_t tuQTMaxInterDepth; + + /* The additional depth the residual quad-tree is allowed to recurse beyond + * the coding quad-tree, for intra coded blocks. This must be between 1 and + * 4. The higher the value the more efficiently the residual can be + * compressed by the DCT transforms, at the expense of much more compute */ + uint32_t tuQTMaxIntraDepth; + + /* Enable early exit decisions for inter coded blocks to avoid recursing to + * higher TU depths. Default: 0 */ + uint32_t limitTU; + + /* Set the amount of rate-distortion analysis to use within quant. 0 implies + * no rate-distortion optimization. At level 1 rate-distortion cost is used to + * find optimal rounding values for each level (and allows psy-rdoq to be + * enabled). At level 2 rate-distortion cost is used to make decimate decisions + * on each 4x4 coding group (including the cost of signaling the group within + * the group bitmap). Psy-rdoq is less effective at preserving energy when + * RDOQ is at level 2. Default: 0 */ + int rdoqLevel; + + /* Enable the implicit signaling of the sign bit of the last coefficient of + * each transform unit. This saves one bit per TU at the expense of figuring + * out which coefficient can be toggled with the least distortion. + * Default is enabled */ + int bEnableSignHiding; + + /* Allow intra coded blocks to be encoded directly as residual without the + * DCT transform, when this improves efficiency. Checking whether the block + * will benefit from this option incurs a performance penalty. Default is + * disabled */ + int bEnableTransformSkip; + + /* An integer value in range of 0 to 2000, which denotes strength of noise + * reduction in intra CUs. 0 means disabled */ + int noiseReductionIntra; + + /* An integer value in range of 0 to 2000, which denotes strength of noise + * reduction in inter CUs. 0 means disabled */ + int noiseReductionInter; + + /* Quantization scaling lists. HEVC supports 6 quantization scaling lists to + * be defined; one each for Y, Cb, Cr for intra prediction and one each for + * inter prediction. + * + * - NULL and "off" will disable quant scaling (default) + * - "default" will enable the HEVC default scaling lists, which + * do not need to be signaled since they are specified + * - all other strings indicate a filename containing custom scaling lists + * in the HM format. The encode will fail if the file is not parsed + * correctly. Custom lists must be signaled in the SPS. */ + const char *scalingLists; + + /*== Intra Coding Tools ==*/ + + /* Enable constrained intra prediction. This causes intra prediction to + * input samples that were inter predicted. For some use cases this is + * believed to me more robust to stream errors, but it has a compression + * penalty on P and (particularly) B slices. Defaults to disabled */ + int bEnableConstrainedIntra; + + /* Enable strong intra smoothing for 32x32 blocks where the reference + * samples are flat. It may or may not improve compression efficiency, + * depending on your source material. Defaults to disabled */ + int bEnableStrongIntraSmoothing; + + /*== Inter Coding Tools ==*/ + + /* The maximum number of merge candidates that are considered during inter + * analysis. This number (between 1 and 5) is signaled in the stream + * headers and determines the number of bits required to signal a merge so + * it can have significant trade-offs. The smaller this number the higher + * the performance but the less compression efficiency. Default is 3 */ + uint32_t maxNumMergeCand; + + /* Limit the motion references used for each search based on the results of + * previous motion searches already performed for the same CU: If 0 all + * references are always searched. If X265_REF_LIMIT_CU all motion searches + * will restrict themselves to the references selected by the 2Nx2N search + * at the same depth. If X265_REF_LIMIT_DEPTH the 2Nx2N motion search will + * only use references that were selected by the best motion searches of the + * 4 split CUs at the next lower CU depth. The two flags may be combined */ + uint32_t limitReferences; + + /* Limit modes analyzed for each CU using cost metrics from the 4 sub-CUs */ + uint32_t limitModes; + + /* ME search method (DIA, HEX, UMH, STAR, SEA, FULL). The search patterns + * (methods) are sorted in increasing complexity, with diamond being the + * simplest and fastest and full being the slowest. DIA, HEX, UMH and SEA were + * adapted from x264 directly. STAR is an adaption of the HEVC reference + * encoder's three step search, while full is a naive exhaustive search. The + * default is the star search, it has a good balance of performance and + * compression efficiency */ + int searchMethod; + + /* A value between 0 and X265_MAX_SUBPEL_LEVEL which adjusts the amount of + * effort performed during sub-pel refine. Default is 5 */ + int subpelRefine; + + /* The maximum distance from the motion prediction that the full pel motion + * search is allowed to progress before terminating. This value can have an + * effect on frame parallelism, as referenced frames must be at least this + * many rows of reconstructed pixels ahead of the referencee at all times. + * (When considering reference lag, the motion prediction must be ignored + * because it cannot be known ahead of time). Default is 60, which is the + * default max CU size (64) minus the luma HPEL half-filter length (4). If a + * smaller CU size is used, the search range should be similarly reduced */ + int searchRange; + + /* Enable availability of temporal motion vector for AMVP, default is enabled */ + int bEnableTemporalMvp; + + /* Enable 3-level Hierarchical motion estimation at One-Sixteenth, Quarter and Full resolution. + * Default is disabled */ + int bEnableHME; + + /* Enable HME search method (DIA, HEX, UMH, STAR, SEA, FULL) for level 0, 1 and 2. + * Default is hex, umh, umh for L0, L1 and L2 respectively. */ + int hmeSearchMethod[3]; + + /* Enable weighted prediction in P slices. This enables weighting analysis + * in the lookahead, which influences slice decisions, and enables weighting + * analysis in the main encoder which allows P reference samples to have a + * weight function applied to them prior to using them for motion + * compensation. In video which has lighting changes, it can give a large + * improvement in compression efficiency. Default is enabled */ + int bEnableWeightedPred; + + /* Enable weighted prediction in B slices. Default is disabled */ + int bEnableWeightedBiPred; + /* Enable source pixels in motion estimation. Default is disabled */ + int bSourceReferenceEstimation; + /*== Loop Filters ==*/ + /* Enable the deblocking loop filter, which improves visual quality by + * reducing blocking effects at block edges, particularly at lower bitrates + * or higher QP. When enabled it adds another CU row of reference lag, + * reducing frame parallelism effectiveness. Default is enabled */ + int bEnableLoopFilter; + + /* deblocking filter tC offset [-6, 6] -6 light filter, 6 strong. + * This is the coded div2 value, actual offset is doubled at use */ + int deblockingFilterTCOffset; + + /* deblocking filter Beta offset [-6, 6] -6 light filter, 6 strong + * This is the coded div2 value, actual offset is doubled at use */ + int deblockingFilterBetaOffset; + + /* Enable the Sample Adaptive Offset loop filter, which reduces distortion + * effects by adjusting reconstructed sample values based on histogram + * analysis to better approximate the original samples. When enabled it adds + * a CU row of reference lag, reducing frame parallelism effectiveness. + * Default is enabled */ + int bEnableSAO; + + /* Note: when deblocking and SAO are both enabled, the loop filter CU lag is + * only one row, as they operate in series on the same row. */ + + /* Select the method in which SAO deals with deblocking boundary pixels. If + * disabled the right and bottom boundary areas are skipped. If enabled, + * non-deblocked pixels are used entirely. Default is disabled */ + int bSaoNonDeblocked; + + /* Select tune rate in which SAO has to be applied. + 1 - Filtering applied only on I-frames(I) [Light tune] + 2 - No Filtering on B frames (I, P) [Medium tune] + 3 - No Filtering on non-ref b frames (I, P, B) [Strong tune] */ + int selectiveSAO; + + /*== Analysis tools ==*/ + + /* A value between 1 and 6 (both inclusive) which determines the level of + * rate distortion optimizations to perform during mode and depth decisions. + * The more RDO the better the compression efficiency at a major cost of + * performance. Default is 3 */ + int rdLevel; + + /* Enable early skip decisions to avoid analysing additional modes in likely + * skip blocks. Default is disabled */ + int bEnableEarlySkip; + + /* Enable early CU size decisions to avoid recursing to higher depths. + * Default is enabled */ + int recursionSkipMode; + + /* Use a faster search method to find the best intra mode. Default is 0 */ + int bEnableFastIntra; + + /* Enable a faster determination of whether skipping the DCT transform will + * be beneficial. Slight performance gain for some compression loss. Default + * is enabled */ + int bEnableTSkipFast; + + /* The CU Lossless flag, when enabled, compares the rate-distortion costs + * for normal and lossless encoding, and chooses the best mode for each CU. + * If lossless mode is chosen, the cu-transquant-bypass flag is set for that + * CU */ + int bCULossless; + + /* Specify whether to attempt to encode intra modes in B frames. By default + * enabled, but only applicable for the presets which use rdLevel 5 or 6 + * (veryslow and placebo). All other presets will not try intra in B frames + * regardless of this setting */ + int bIntraInBFrames; + + /* Apply an optional penalty to the estimated cost of 32x32 intra blocks in + * non-intra slices. 0 is disabled, 1 enables a small penalty, and 2 enables + * a full penalty. This favors inter-coding and its low bitrate over + * potential increases in distortion, but usually improves performance. + * Default is 0 */ + int rdPenalty; + + /* Psycho-visual rate-distortion strength. Only has an effect in presets + * which use RDO. It makes mode decision favor options which preserve the + * energy of the source, at the cost of lost compression. The value must + * be between 0 and 5.0, 1.0 is typical. Default 2.0 */ + double psyRd; + + /* Strength of psycho-visual optimizations in quantization. Only has an + * effect when RDOQ is enabled (presets slow, slower and veryslow). The + * value must be between 0 and 50, 1.0 is typical. Default 0 */ + double psyRdoq; + + /* Perform quantisation parameter based RD refinement. RD cost is calculated + * on the best CU partitions, chosen after the CU analysis, for a range of QPs + * to find the optimal rounding effect. Only effective at rd-levels 5 and 6. + * Default disabled */ + int bEnableRdRefine; + + /* If save, write per-frame analysis information into analysis buffers. + * If load, read analysis information into analysis buffer and use this + * analysis information to reduce the amount of work the encoder must perform. + * Default disabled. Now deprecated*/ + int analysisReuseMode; + + /* Filename for multi-pass-opt-analysis/distortion. Default name is "x265_analysis.dat" */ + const char* analysisReuseFileName; + + /*== Rate Control ==*/ + + /* The lossless flag enables true lossless coding, bypassing scaling, + * transform, quantization and in-loop filter processes. This is used for + * ultra-high bitrates with zero loss of quality. It implies no rate control */ + int bLossless; + + /* Generally a small signed integer which offsets the QP used to quantize + * the Cb chroma residual (delta from luma QP specified by rate-control). + * Default is 0, which is recommended */ + int cbQpOffset; + + /* Generally a small signed integer which offsets the QP used to quantize + * the Cr chroma residual (delta from luma QP specified by rate-control). + * Default is 0, which is recommended */ + int crQpOffset; + + /* Specifies the preferred transfer characteristics syntax element in the + * alternative transfer characteristics SEI message (see. D.2.38 and D.3.38 of + * JCTVC-W1005 http://phenix.it-sudparis.eu/jct/doc_end_user/documents/23_San%20Diego/wg11/JCTVC-W1005-v4.zip + * */ + int preferredTransferCharacteristics; + + /* + * Specifies the value for the pic_struc syntax element of the picture timing SEI message (See D2.3 and D3.3) + * of the HEVC spec. for a detailed explanation + * */ + int pictureStructure; + + struct + { + /* Explicit mode of rate-control, necessary for API users. It must + * be one of the X265_RC_METHODS enum values. */ + int rateControlMode; + + /* Base QP to use for Constant QP rate control. Adaptive QP may alter + * the QP used for each block. If a QP is specified on the command line + * CQP rate control is implied. Default: 32 */ + int qp; + + /* target bitrate for Average BitRate (ABR) rate control. If a non- zero + * bitrate is specified on the command line, ABR is implied. Default 0 */ + int bitrate; + + /* qComp sets the quantizer curve compression factor. It weights the frame + * quantizer based on the complexity of residual (measured by lookahead). + * Default value is 0.6. Increasing it to 1 will effectively generate CQP */ + double qCompress; + + /* QP offset between I/P and P/B frames. Default ipfactor: 1.4 + * Default pbFactor: 1.3 */ + double ipFactor; + double pbFactor; + + /* Ratefactor constant: targets a certain constant "quality". + * Acceptable values between 0 and 51. Default value: 28 */ + double rfConstant; + + /* Max QP difference between frames. Default: 4 */ + int qpStep; + + /* Enable adaptive quantization. This mode distributes available bits between all + * CTUs of a frame, assigning more bits to low complexity areas. Turning + * this ON will usually affect PSNR negatively, however SSIM and visual quality + * generally improves. Default: X265_AQ_AUTO_VARIANCE */ + int aqMode; + + /* + * Enable adaptive quantization. + * It scales the quantization step size according to the spatial activity of one + * coding unit relative to frame average spatial activity. This AQ method utilizes + * the minimum variance of sub-unit in each coding unit to represent the coding + * unit’s spatial complexity. */ + int hevcAq; + + /* Sets the strength of AQ bias towards low detail CTUs. Valid only if + * AQ is enabled. Default value: 1.0. Acceptable values between 0.0 and 3.0 */ + double aqStrength; + + /* Delta QP range by QP adaptation based on a psycho-visual model. + * Acceptable values between 1.0 to 6.0 */ + double qpAdaptationRange; + + /* Sets the maximum rate the VBV buffer should be assumed to refill at + * Default is zero */ + int vbvMaxBitrate; + + /* Sets the size of the VBV buffer in kilobits. Default is zero */ + int vbvBufferSize; + + /* Sets how full the VBV buffer must be before playback starts. If it is less than + * 1, then the initial fill is vbv-init * vbvBufferSize. Otherwise, it is + * interpreted as the initial fill in kbits. Default is 0.9 */ + double vbvBufferInit; + + /* Enable CUTree rate-control. This keeps track of the CUs that propagate temporally + * across frames and assigns more bits to these CUs. Improves encode efficiency. + * Default: enabled */ + int cuTree; + + /* In CRF mode, maximum CRF as caused by VBV. 0 implies no limit */ + double rfConstantMax; + + /* In CRF mode, minimum CRF as caused by VBV */ + double rfConstantMin; + + /* Multi-pass encoding */ + /* Enable writing the stats in a multi-pass encode to the stat output file/memory */ + int bStatWrite; + + /* Enable loading data from the stat input file/memory in a multi pass encode */ + int bStatRead; + + /* Filename of the 2pass output/input stats file, if unspecified the + * encoder will default to using x265_2pass.log */ + const char* statFileName; + + /* temporally blur quants */ + double qblur; + + /* temporally blur complexity */ + double complexityBlur; + + /* Enable slow and a more detailed first pass encode in multi pass rate control */ + int bEnableSlowFirstPass; + + /* rate-control overrides */ + int zoneCount; + x265_zone* zones; + + /* number of zones in zone-file*/ + int zonefileCount; + + /* specify a text file which contains MAX_MAX_QP + 1 floating point + * values to be copied into x265_lambda_tab and a second set of + * MAX_MAX_QP + 1 floating point values for x265_lambda2_tab. All values + * are separated by comma, space or newline. Text after a hash (#) is + * ignored. The lambda tables are process-global, so these new lambda + * values will affect all encoders in the same process */ + const char* lambdaFileName; + + /* Enable stricter conditions to check bitrate deviations in CBR mode. May compromise + * quality to maintain bitrate adherence */ + int bStrictCbr; + + /* Enable adaptive quantization at CU granularity. This parameter specifies + * the minimum CU size at which QP can be adjusted, i.e. Quantization Group + * (QG) size. Allowed values are 64, 32, 16, 8 provided it falls within the + * inclusuve range [maxCUSize, minCUSize]. Experimental, default: maxCUSize */ + uint32_t qgSize; + + /* internally enable if tune grain is set */ + int bEnableGrain; + + /* sets a hard upper limit on QP */ + int qpMax; + + /* sets a hard lower limit on QP */ + int qpMin; + + /* internally enable if tune grain is set */ + int bEnableConstVbv; + + /* if only the focused frames would be re-encode or not */ + int bEncFocusedFramesOnly; + + /* Share the data with stats file or shared memory. + It must be one of the X265_DATA_SHARE_MODES enum values + Available if the bStatWrite or bStatRead is true. + Use stats file by default. + The stats file mode would be used among the encoders running in sequence. + The shared memory mode could only be used among the encoders running in parallel. + Now only the cutree data could be shared among shared memory. More data would be support in the future.*/ + int dataShareMode; + + /* Unique shared memory name. Required if the shared memory mode enabled. NULL by default */ + const char* sharedMemName; + + } rc; + + /*== Video Usability Information ==*/ + struct + { + /* Aspect ratio idc to be added to the VUI. The default is 0 indicating + * the apsect ratio is unspecified. If set to X265_EXTENDED_SAR then + * sarWidth and sarHeight must also be set */ + int aspectRatioIdc; + + /* Sample Aspect Ratio width in arbitrary units to be added to the VUI + * only if aspectRatioIdc is set to X265_EXTENDED_SAR. This is the width + * of an individual pixel. If this is set then sarHeight must also be set */ + int sarWidth; + + /* Sample Aspect Ratio height in arbitrary units to be added to the VUI. + * only if aspectRatioIdc is set to X265_EXTENDED_SAR. This is the width + * of an individual pixel. If this is set then sarWidth must also be set */ + int sarHeight; + + /* Enable overscan info present flag in the VUI. If this is set then + * bEnabledOverscanAppropriateFlag will be added to the VUI. The default + * is false */ + int bEnableOverscanInfoPresentFlag; + + /* Enable overscan appropriate flag. The status of this flag is added + * to the VUI only if bEnableOverscanInfoPresentFlag is set. If this + * flag is set then cropped decoded pictures may be output for display. + * The default is false */ + int bEnableOverscanAppropriateFlag; + + /* Video signal type present flag of the VUI. If this is set then + * videoFormat, bEnableVideoFullRangeFlag and + * bEnableColorDescriptionPresentFlag will be added to the VUI. The + * default is false */ + int bEnableVideoSignalTypePresentFlag; + + /* Video format of the source video. 0 = component, 1 = PAL, 2 = NTSC, + * 3 = SECAM, 4 = MAC, 5 = unspecified video format is the default */ + int videoFormat; + + /* Video full range flag indicates the black level and range of the luma + * and chroma signals as derived from E′Y, E′PB, and E′PR or E′R, E′G, + * and E′B real-valued component signals. The default is false */ + int bEnableVideoFullRangeFlag; + + /* Color description present flag in the VUI. If this is set then + * color_primaries, transfer_characteristics and matrix_coeffs are to be + * added to the VUI. The default is false */ + int bEnableColorDescriptionPresentFlag; + + /* Color primaries holds the chromacity coordinates of the source + * primaries. The default is 2 */ + int colorPrimaries; + + /* Transfer characteristics indicates the opto-electronic transfer + * characteristic of the source picture. The default is 2 */ + int transferCharacteristics; + + /* Matrix coefficients used to derive the luma and chroma signals from + * the red, blue and green primaries. The default is 2 */ + int matrixCoeffs; + + /* Chroma location info present flag adds chroma_sample_loc_type_top_field and + * chroma_sample_loc_type_bottom_field to the VUI. The default is false */ + int bEnableChromaLocInfoPresentFlag; + + /* Chroma sample location type top field holds the chroma location in + * the top field. The default is 0 */ + int chromaSampleLocTypeTopField; + + /* Chroma sample location type bottom field holds the chroma location in + * the bottom field. The default is 0 */ + int chromaSampleLocTypeBottomField; + + /* Default display window flag adds def_disp_win_left_offset, + * def_disp_win_right_offset, def_disp_win_top_offset and + * def_disp_win_bottom_offset to the VUI. The default is false */ + int bEnableDefaultDisplayWindowFlag; + + /* Default display window left offset holds the left offset with the + * conformance cropping window to further crop the displayed window */ + int defDispWinLeftOffset; + + /* Default display window right offset holds the right offset with the + * conformance cropping window to further crop the displayed window */ + int defDispWinRightOffset; + + /* Default display window top offset holds the top offset with the + * conformance cropping window to further crop the displayed window */ + int defDispWinTopOffset; + + /* Default display window bottom offset holds the bottom offset with the + * conformance cropping window to further crop the displayed window */ + int defDispWinBottomOffset; + } vui; + + /* SMPTE ST 2086 mastering display color volume SEI info, specified as a + * string which is parsed when the stream header SEI are emitted. The string + * format is "G(%hu,%hu)B(%hu,%hu)R(%hu,%hu)WP(%hu,%hu)L(%u,%u)" where %hu + * are unsigned 16bit integers and %u are unsigned 32bit integers. The SEI + * includes X,Y display primaries for RGB channels, white point X,Y and + * max,min luminance values. */ + const char* masteringDisplayColorVolume; + + /* Maximum Content light level(MaxCLL), specified as integer that indicates the + * maximum pixel intensity level in units of 1 candela per square metre of the + * bitstream. x265 will also calculate MaxCLL programmatically from the input + * pixel values and set in the Content light level info SEI */ + uint16_t maxCLL; + + /* Maximum Frame Average Light Level(MaxFALL), specified as integer that indicates + * the maximum frame average intensity level in units of 1 candela per square + * metre of the bitstream. x265 will also calculate MaxFALL programmatically + * from the input pixel values and set in the Content light level info SEI */ + uint16_t maxFALL; + + /* Minimum luma level of input source picture, specified as a integer which + * would automatically increase any luma values below the specified --min-luma + * value to that value. */ + uint16_t minLuma; + + /* Maximum luma level of input source picture, specified as a integer which + * would automatically decrease any luma values above the specified --max-luma + * value to that value. */ + uint16_t maxLuma; + + /* Maximum of the picture order count */ + int log2MaxPocLsb; + + /* Emit VUI Timing info, an optional VUI field */ + int bEmitVUITimingInfo; + + /* Emit HRD Timing info */ + int bEmitVUIHRDInfo; + + /* Maximum count of Slices of picture, the value range is [1, maximum rows] */ + unsigned int maxSlices; + + /* Optimize QP in PPS based on statistics from prevvious GOP*/ + int bOptQpPPS; + + /* Opitmize ref list length in PPS based on stats from previous GOP*/ + int bOptRefListLengthPPS; + + /* Enable storing commonly RPS in SPS in multi pass mode */ + int bMultiPassOptRPS; + /* This value represents the percentage difference between the inter cost and + * intra cost of a frame used in scenecut detection. Default 5. */ + double scenecutBias; + /* Use multiple worker threads dedicated to doing only lookahead instead of sharing + * the worker threads with Frame Encoders. A dedicated lookahead threadpool is created with the + * specified number of worker threads. This can range from 0 upto half the + * hardware threads available for encoding. Using too many threads for lookahead can starve + * resources for frame Encoder and can harm performance. Default is 0 - disabled. */ + int lookaheadThreads; + /* Optimize CU level QPs to signal consistent deltaQPs in frame for rd level > 4 */ + int bOptCUDeltaQP; + /* Refine analysis in multipass ratecontrol based on analysis information stored */ + int analysisMultiPassRefine; + /* Refine analysis in multipass ratecontrol based on distortion data stored */ + int analysisMultiPassDistortion; + /* Adaptive Quantization based on relative motion */ + int bAQMotion; + /* SSIM based RDO, based on residual divisive normalization scheme. Used for mode + * selection during analysis of CTUs, can achieve significant gain in terms of + * objective quality metrics SSIM and PSNR */ + int bSsimRd; + + /* Increase RD at points where bitrate drops due to vbv. Default 0 */ + double dynamicRd; + + /* Enables the emitting of HDR SEI packets which contains HDR-specific params. + * Auto-enabled when max-cll, max-fall, or mastering display info is specified. + * Default is disabled. Now deprecated.*/ + int bEmitHDRSEI; + + /* Enable luma and chroma offsets for HDR/WCG content. + * Default is disabled. Now deprecated.*/ + int bHDROpt; + + /* A value between 1 and 10 (both inclusive) determines the level of + * information stored/reused in analysis save/load. Higher the refine + * level higher the information stored/reused. Default is 5. Now deprecated. */ + int analysisReuseLevel; + + /* Limit Sample Adaptive Offset filter computation by early terminating SAO + * process based on inter prediction mode, CTU spatial-domain correlations, + * and relations between luma and chroma */ + int bLimitSAO; + + /* File containing the tone mapping information */ + const char* toneMapFile; + + /* Insert tone mapping information only for IDR frames and when the + * tone mapping information changes. */ + int bDhdr10opt; + + /* Determine how x265 react to the content information recieved through the API */ + int bCTUInfo; + + /* Use ratecontrol statistics from pic_in, if available*/ + int bUseRcStats; + + /* Factor by which input video is scaled down for analysis save mode. Default is 0 */ + int scaleFactor; + + /* Enable intra refinement in load mode*/ + int intraRefine; + + /* Enable inter refinement in load mode*/ + int interRefine; + + /* Enable motion vector refinement in load mode*/ + int mvRefine; + + /* Log of maximum CTU size */ + uint32_t maxLog2CUSize; + + /* Actual CU depth with respect to config depth */ + uint32_t maxCUDepth; + + /* CU depth with respect to maximum transform size */ + uint32_t unitSizeDepth; + + /* Number of 4x4 units in maximum CU size */ + uint32_t num4x4Partitions; + + /* Specify if analysis mode uses file for data reuse */ + int bUseAnalysisFile; + + /* File pointer for csv log */ + FILE* csvfpt; + + /* Force flushing the frames from encoder */ + int forceFlush; + + /* Enable skipping split RD analysis when sum of split CU rdCost larger than none split CU rdCost for Intra CU */ + int bEnableSplitRdSkip; + + /* Disable lookahead */ + int bDisableLookahead; + + /* Use low-pass subband dct approximation + * This DCT approximation is less computational intensive and gives results close to standard DCT */ + int bLowPassDct; + + /* Sets the portion of the decode buffer that must be available after all the + * specified frames have been inserted into the decode buffer. If it is less + * than 1, then the final buffer available is vbv-end * vbvBufferSize. Otherwise, + * it is interpreted as the final buffer available in kbits. Default 0 (disabled) */ + double vbvBufferEnd; + + /* Frame from which qp has to be adjusted to hit final decode buffer emptiness. + * Specified as a fraction of the total frames. Default 0 */ + double vbvEndFrameAdjust; + + /* Reuse MV information obtained through API */ + int bAnalysisType; + /* Allow the encoder to have a copy of the planes of x265_picture in Frame */ + int bCopyPicToFrame; + + /*Number of frames for GOP boundary decision lookahead.If a scenecut frame is found + * within this from the gop boundary set by keyint, the GOP will be extented until such a point, + * otherwise the GOP will be terminated as set by keyint*/ + int gopLookahead; + + /*Write per-frame analysis information into analysis buffers. Default disabled. */ + const char* analysisSave; + + /* Read analysis information into analysis buffer and use this analysis information + * to reduce the amount of work the encoder must perform. Default disabled. */ + const char* analysisLoad; + + /*Number of RADL pictures allowed in front of IDR*/ + int radl; + + /* This value controls the maximum AU size defined in specification + * It represents the percentage of maximum AU size used. + * Default is 1 (which is 100%). Range is 0.5 to 1. */ + double maxAUSizeFactor; + + /* Enables the emission of a Recovery Point SEI with the stream headers + * at each IDR frame describing poc of the recovery point, exact matching flag + * and broken link flag. Default is disabled. */ + int bEmitIDRRecoverySEI; + + /* Dynamically change refine-inter at block level*/ + int bDynamicRefine; + + /* Enable writing all SEI messgaes in one single NAL instead of mul*/ + int bSingleSeiNal; + + + /* First frame of the chunk. Frames preceeding this in display order will + * be encoded, however, they will be discarded in the bitstream. + * Default 0 (disabled). */ + int chunkStart; + + /* Last frame of the chunk. Frames following this in display order will be + * used in taking lookahead decisions, but, they will not be encoded. + * Default 0 (disabled). */ + int chunkEnd; + /* File containing base64 encoded SEI messages in POC order */ + const char* naluFile; + + /* Generate bitstreams confirming to the specified dolby vision profile, + * note that 0x7C01 makes RPU appear to be an unspecified NAL type in + * HEVC stream. if BL is backward compatible, Dolby Vision single + * layer VES will be equivalent to a backward compatible BL VES on legacy + * device as RPU will be ignored. Default 0 (disabled) */ + int dolbyProfile; + + /* Set concantenation flag for the first keyframe in the HRD buffering period SEI. */ + int bEnableHRDConcatFlag; + + + /* Store/normalize ctu distortion in analysis-save/load. Ranges from 0 - 1. + * 0 - Disabled. 1 - Save/Load ctu distortion to/from the file specified + * analysis-save/load. Default 0. */ + int ctuDistortionRefine; + + /* Enable SVT HEVC Encoder */ + int bEnableSvtHevc; + + /* SVT-HEVC param structure. For internal use when SVT HEVC encoder is enabled */ + void* svtHevcParam; + + /* Detect fade-in regions. Enforces I-slice for the brightest point. + Re-init RC history at that point in ABR mode. Default is disabled. */ + int bEnableFades; + + /* Enable field coding */ + int bField; + + /*Emit content light level info SEI*/ + int bEmitCLL; + + /* + * Signals picture structure SEI timing message for every frame + * picture structure 7 is signalled for frame doubling + * picture structure 8 is signalled for frame tripling + * */ + int bEnableFrameDuplication; + + /* + * For adaptive frame duplication, a threshold is set above which the frames are similar. + * User can set a variable threshold. Default 70. + * */ + int dupThreshold; + + /*Input sequence bit depth. It can be either 8bit, 10bit or 12bit.*/ + int sourceBitDepth; + + /*Size of the zone to be reconfigured in frames. Default 0. API only. */ + uint32_t reconfigWindowSize; + + /*Flag to indicate if rate-control history has to be reset during zone reconfiguration. + Default 1 (Enabled). API only. */ + int bResetZoneConfig; + + /*Flag to indicate rate-control history has not to be reset during zone reconfiguration. + Default 0 (Disabled) */ + int bNoResetZoneConfig; + + /* It reduces the bits spent on the inter-frames within the scenecutWindow before and / or after a scenecut + * by increasing their QP in ratecontrol pass2 algorithm without any deterioration in visual quality. + * 0 - Disabled (default). + * 1 - Forward masking. + * 2 - Backward masking. + * 3 - Bi-directional masking. */ + int bEnableSceneCutAwareQp; + + /* The duration(in milliseconds) for which there is a reduction in the bits spent on the inter-frames after a scenecut + * by increasing their QP, when bEnableSceneCutAwareQp is 1 or 3. Default is 500ms.*/ + int fwdMaxScenecutWindow; + int fwdScenecutWindow[6]; + + /* The offset by which QP is incremented for inter-frames after a scenecut when bEnableSceneCutAwareQp is 1 or 3. + * Default is +5. */ + double fwdRefQpDelta[6]; + + /* The offset by which QP is incremented for non-referenced inter-frames after a scenecut when bEnableSceneCutAwareQp is 1 or 3. */ + double fwdNonRefQpDelta[6]; + + /* Enables histogram based scenecut detection algorithm to detect scenecuts. Default disabled */ + int bHistBasedSceneCut; + + /* Enable HME search ranges for L0, L1 and L2 respectively. */ + int hmeRange[3]; + + /* Block-level QP optimization for HDR10 content. Default is disabled.*/ + int bHDR10Opt; + + /* Enables the emitting of HDR10 SEI packets which contains HDR10-specific params. + * Auto-enabled when max-cll, max-fall, or mastering display info is specified. + * Default is disabled */ + int bEmitHDR10SEI; + + /* A value between 1 and 10 (both inclusive) determines the level of + * analysis information stored in analysis-save. Higher the refine level higher + * the information stored. Default is 5 */ + int analysisSaveReuseLevel; + + /* A value between 1 and 10 (both inclusive) determines the level of + * analysis information reused in analysis-load. Higher the refine level higher + * the information reused. Default is 5 */ + int analysisLoadReuseLevel; + + /* Conformance window right offset specifies the padding offset to the + * right side of the internal copy of the input pictures in the library. + * The decoded picture will be cropped based on conformance window right offset + * signaled in the SPS before output. Default is 0. + * Recommended to set this during non-file based analysis-load. + * This is to inform the encoder about the conformace window right offset + * to be added to match the number of CUs across the width for which analysis + * info is available from the corresponding analysis-save. */ + + int confWinRightOffset; + + /* Conformance window bottom offset specifies the padding offset to the + * bottom side of the internal copy of the input pictures in the library. + * The decoded picture will be cropped based on conformance window bottom offset + * signaled in the SPS before output. Default is 0. + * Recommended to set this during non-file based analysis-load. + * This is to inform the encoder about the conformace window bottom offset + * to be added to match the number of CUs across the height for which analysis + * info is available from the corresponding analysis-save. */ + + int confWinBottomOffset; + + /* Edge variance threshold for quad tree establishment. */ + float edgeVarThreshold; + + /* Maxrate that could be signaled to the decoder. Default 0. API only. */ + int decoderVbvMaxRate; + + /*Enables Qp tuning with respect to real time VBV buffer fullness in rate + control 2 pass. Experimental.Default is disabled*/ + int bliveVBV2pass; + + /* Minimum VBV fullness to be maintained. Default 50. Keep the buffer + * at least 50% full */ + double minVbvFullness; + + /* Maximum VBV fullness to be maintained. Default 80. Keep the buffer + * at max 80% full */ + double maxVbvFullness; + + /* The duration(in milliseconds) for which there is a reduction in the bits spent on the inter-frames before a scenecut + * by increasing their QP, when bEnableSceneCutAwareQp is 2 or 3. Default is 100ms.*/ + int bwdMaxScenecutWindow; + int bwdScenecutWindow[6]; + + /* The offset by which QP is incremented for inter-frames before a scenecut when bEnableSceneCutAwareQp is 2 or 3. */ + double bwdRefQpDelta[6]; + + /* The offset by which QP is incremented for non-referenced inter-frames before a scenecut when bEnableSceneCutAwareQp is 2 or 3. */ + double bwdNonRefQpDelta[6]; + + /* Specify combinations of color primaries, transfer characteristics, color matrix, + * range of luma and chroma signals, and chroma sample location. This has higher + * precedence than individual VUI parameters. If any individual VUI option is specified + * together with this, which changes the values set corresponding to the system-id + * or color-volume, it will be discarded. */ + const char* videoSignalTypePreset; + + /* Flag indicating whether the encoder should emit an End of Bitstream + * NAL at the end of bitstream. Default false */ + int bEnableEndOfBitstream; + + /* Flag indicating whether the encoder should emit an End of Sequence + * NAL at the end of every Coded Video Sequence. Default false */ + int bEnableEndOfSequence; + + /* Film Grain Characteristic file */ + char* filmGrain; + + /*Motion compensated temporal filter*/ + int bEnableTemporalFilter; + double temporalFilterStrength; + + /*SBRC*/ + int bEnableSBRC; +} x265_param; + +/* x265_param_alloc: + * Allocates an x265_param instance. The returned param structure is not + * special in any way, but using this method together with x265_param_free() + * and x265_param_parse() to set values by name allows the application to treat + * x265_param as an opaque data struct for version safety */ +x265_param *x265_param_alloc(void); + +/* x265_param_free: + * Use x265_param_free() to release storage for an x265_param instance + * allocated by x265_param_alloc() */ +void x265_param_free(x265_param *); + +/* x265_param_default: + * Initialize an x265_param structure to default values */ +void x265_param_default(x265_param *param); + +/* x265_param_parse: + * set one parameter by name. + * returns 0 on success, or returns one of the following errors. + * note: BAD_VALUE occurs only if it can't even parse the value, + * numerical range is not checked until x265_encoder_open(). + * value=NULL means "true" for boolean options, but is a BAD_VALUE for non-booleans. */ +#define X265_PARAM_BAD_NAME (-1) +#define X265_PARAM_BAD_VALUE (-2) +int x265_param_parse(x265_param *p, const char *name, const char *value); + +x265_zone *x265_zone_alloc(int zoneCount, int isZoneFile); + +void x265_zone_free(x265_param *param); + +int x265_zone_param_parse(x265_param* p, const char* name, const char* value); + +int x265_scenecut_aware_qp_param_parse(x265_param* p, const char* name, const char* value); + +static const char * const x265_profile_names[] = { + /* HEVC v1 */ + "main", "main10", "mainstillpicture", /* alias */ "msp", + + /* HEVC v2 (Range Extensions) */ + "main-intra", "main10-intra", + "main444-8", "main444-intra", "main444-stillpicture", + + "main422-10", "main422-10-intra", + "main444-10", "main444-10-intra", + + "main12", "main12-intra", + "main422-12", "main422-12-intra", + "main444-12", "main444-12-intra", + + "main444-16-intra", "main444-16-stillpicture", /* Not Supported! */ + 0 +}; + +/* x265_param_apply_profile: + * Applies the restrictions of the given profile. (one of x265_profile_names) + * (can be NULL, in which case the function will do nothing) + * Note: the detected profile can be lower than the one specified to this + * function. This function will force the encoder parameters to fit within + * the specified profile, or fail if that is impossible. + * returns 0 on success, negative on failure (e.g. invalid profile name). */ +int x265_param_apply_profile(x265_param *, const char *profile); + +/* x265_param_default_preset: + * The same as x265_param_default, but also use the passed preset and tune + * to modify the default settings. + * (either can be NULL, which implies no preset or no tune, respectively) + * + * Currently available presets are, ordered from fastest to slowest: */ +static const char * const x265_preset_names[] = { "ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow", "placebo", 0 }; + +/* The presets can also be indexed numerically, as in: + * x265_param_default_preset( ¶m, "3", ... ) + * with ultrafast mapping to "0" and placebo mapping to "9". This mapping may + * of course change if new presets are added in between, but will always be + * ordered from fastest to slowest. + * + * Warning: the speed of these presets scales dramatically. Ultrafast is a full + * 100 times faster than placebo! + * + * Currently available tunings are: */ +static const char * const x265_tune_names[] = { "psnr", "ssim", "grain", "zerolatency", "fastdecode", "animation", 0 }; + +/* returns 0 on success, negative on failure (e.g. invalid preset/tune name). */ +int x265_param_default_preset(x265_param *, const char *preset, const char *tune); + +/* x265_picture_alloc: + * Allocates an x265_picture instance. The returned picture structure is not + * special in any way, but using this method together with x265_picture_free() + * and x265_picture_init() allows some version safety. New picture fields will + * always be added to the end of x265_picture */ +x265_picture *x265_picture_alloc(void); + +/* x265_picture_free: + * Use x265_picture_free() to release storage for an x265_picture instance + * allocated by x265_picture_alloc() */ +void x265_picture_free(x265_picture *); + +/* x265_picture_init: + * Initialize an x265_picture structure to default values. It sets the pixel + * depth and color space to the encoder's internal values and sets the slice + * type to auto - so the lookahead will determine slice type. */ +void x265_picture_init(x265_param *param, x265_picture *pic); + +/* x265_max_bit_depth: + * Specifies the numer of bits per pixel that x265 uses internally to + * represent a pixel, and the bit depth of the output bitstream. + * param->internalBitDepth must be set to this value. x265_max_bit_depth + * will be 8 for default builds, 10 for HIGH_BIT_DEPTH builds. */ +X265_API extern const int x265_max_bit_depth; + +/* x265_version_str: + * A static string containing the version of this compiled x265 library */ +X265_API extern const char *x265_version_str; + +/* x265_build_info: + * A static string describing the compiler and target architecture */ +X265_API extern const char *x265_build_info_str; + +/* x265_alloc_analysis_data: +* Allocate memory for the x265_analysis_data object's internal structures. */ +void x265_alloc_analysis_data(x265_param *param, x265_analysis_data* analysis); + +/* +* Free the allocated memory for x265_analysis_data object's internal structures. */ +void x265_free_analysis_data(x265_param *param, x265_analysis_data* analysis); + +/* Force a link error in the case of linking against an incompatible API version. + * Glue #defines exist to force correct macro expansion; the final output of the macro + * is x265_encoder_open_##X265_BUILD (for purposes of dlopen). */ +#define x265_encoder_glue1(x, y) x ## y +#define x265_encoder_glue2(x, y) x265_encoder_glue1(x, y) +#define x265_encoder_open x265_encoder_glue2(x265_encoder_open_, X265_BUILD) + +/* x265_encoder_open: + * create a new encoder handler, all parameters from x265_param are copied */ +x265_encoder* x265_encoder_open(x265_param *); + +/* x265_encoder_parameters: + * copies the current internal set of parameters to the pointer provided + * by the caller. useful when the calling application needs to know + * how x265_encoder_open has changed the parameters. + * note that the data accessible through pointers in the returned param struct + * (e.g. filenames) should not be modified by the calling application. */ +void x265_encoder_parameters(x265_encoder *, x265_param *); + +/* x265_encoder_headers: + * return the SPS and PPS that will be used for the whole stream. + * *pi_nal is the number of NAL units outputted in pp_nal. + * returns negative on error, total byte size of payload data on success + * the payloads of all output NALs are guaranteed to be sequential in memory. */ +int x265_encoder_headers(x265_encoder *, x265_nal **pp_nal, uint32_t *pi_nal); + +/* x265_encoder_encode: + * encode one picture. + * *pi_nal is the number of NAL units outputted in pp_nal. + * returns negative on error, 1 if a picture and access unit were output, + * or zero if the encoder pipeline is still filling or is empty after flushing. + * the payloads of all output NALs are guaranteed to be sequential in memory. + * To flush the encoder and retrieve delayed output pictures, pass pic_in as NULL. + * Once flushing has begun, all subsequent calls must pass pic_in as NULL. */ +int x265_encoder_encode(x265_encoder *encoder, x265_nal **pp_nal, uint32_t *pi_nal, x265_picture *pic_in, x265_picture *pic_out); + +/* x265_encoder_reconfig: + * various parameters from x265_param are copied. + * this takes effect immediately, on whichever frame is encoded next; + * returns 0 on success, negative on parameter validation error. + * + * not all parameters can be changed; see the actual function for a + * detailed breakdown. since not all parameters can be changed, moving + * from preset to preset may not always fully copy all relevant parameters, + * but should still work usably in practice. however, more so than for + * other presets, many of the speed shortcuts used in ultrafast cannot be + * switched out of; using reconfig to switch between ultrafast and other + * presets is not recommended without a more fine-grained breakdown of + * parameters to take this into account. */ +int x265_encoder_reconfig(x265_encoder *, x265_param *); + +/* x265_encoder_reconfig_zone: +* zone settings are copied to the encoder's param. +* Properties of the zone will be used only to re-configure rate-control settings +* of the zone mid-encode. Returns 0 on success on successful copy, negative on failure.*/ +int x265_encoder_reconfig_zone(x265_encoder *, x265_zone *); + +/* x265_encoder_get_stats: + * returns encoder statistics */ +void x265_encoder_get_stats(x265_encoder *encoder, x265_stats *, uint32_t statsSizeBytes); + +/* x265_encoder_log: + * write a line to the configured CSV file. If a CSV filename was not + * configured, or file open failed, this function will perform no write. */ +void x265_encoder_log(x265_encoder *encoder, int argc, char **argv); + +/* x265_encoder_close: + * close an encoder handler */ +void x265_encoder_close(x265_encoder *); + +/* x265_encoder_intra_refresh: + * If an intra refresh is not in progress, begin one with the next P-frame. + * If an intra refresh is in progress, begin one as soon as the current one finishes. + * Requires bIntraRefresh to be set. + * + * Useful for interactive streaming where the client can tell the server that packet loss has + * occurred. In this case, keyint can be set to an extremely high value so that intra refreshes + * occur only when calling x265_encoder_intra_refresh. + * + * In multi-pass encoding, if x265_encoder_intra_refresh is called differently in each pass, + * behavior is undefined. + * + * Should not be called during an x265_encoder_encode. */ + +int x265_encoder_intra_refresh(x265_encoder *); + +/* x265_encoder_ctu_info: + * Copy CTU information such as ctu address and ctu partition structure of all + * CTUs in each frame. The function is invoked only if "--ctu-info" is enabled and + * the encoder will wait for this copy to complete if enabled. + */ +int x265_encoder_ctu_info(x265_encoder *, int poc, x265_ctu_info_t** ctu); + +/* x265_get_slicetype_poc_and_scenecut: + * get the slice type, poc and scene cut information for the current frame, + * returns negative on error, 0 when access unit were output. + * This API must be called after(poc >= lookaheadDepth + bframes + 2) condition check */ +int x265_get_slicetype_poc_and_scenecut(x265_encoder *encoder, int *slicetype, int *poc, int* sceneCut); + +/* x265_get_ref_frame_list: + * returns negative on error, 0 when access unit were output. + * This API must be called after(poc >= lookaheadDepth + bframes + 2) condition check */ +int x265_get_ref_frame_list(x265_encoder *encoder, x265_picyuv**, x265_picyuv**, int, int, int*, int*); + +/* x265_set_analysis_data: + * set the analysis data. The incoming analysis_data structure is assumed to be AVC-sized blocks. + * returns negative on error, 0 access unit were output. */ +int x265_set_analysis_data(x265_encoder *encoder, x265_analysis_data *analysis_data, int poc, uint32_t cuBytes); + +/* x265_cleanup: + * release library static allocations, reset configured CTU size */ +void x265_cleanup(void); + +/* Open a CSV log file. On success it returns a file handle which must be passed + * to x265_csvlog_frame() and/or x265_csvlog_encode(). The file handle must be + * closed by the caller using fclose(). If csv-loglevel is 0, then no frame logging + * header is written to the file. This function will return NULL if it is unable + * to open the file for write or if it detects a structure size skew */ +FILE* x265_csvlog_open(const x265_param *); + +/* Log frame statistics to the CSV file handle. csv-loglevel should have been non-zero + * in the call to x265_csvlog_open() if this function is called. */ +void x265_csvlog_frame(const x265_param *, const x265_picture *); + +/* Log final encode statistics to the CSV file handle. 'argc' and 'argv' are + * intended to be command line arguments passed to the encoder. padx and pady are + * padding offsets for conformance and can be given from sps settings. Encode + * statistics should be queried from the encoder just prior to closing it. */ +void x265_csvlog_encode(const x265_param*, const x265_stats *, int padx, int pady, int argc, char** argv); + +/* In-place downshift from a bit-depth greater than 8 to a bit-depth of 8, using + * the residual bits to dither each row. */ +void x265_dither_image(x265_picture *, int picWidth, int picHeight, int16_t *errorBuf, int bitDepth); +#if ENABLE_LIBVMAF +/* x265_calculate_vmafScore: + * returns VMAF score for the input video. + * This api must be called only after encoding was done. */ +double x265_calculate_vmafscore(x265_param*, x265_vmaf_data*); + +/* x265_calculate_vmaf_framelevelscore: + * returns VMAF score for each frame in a given input video. */ +double x265_calculate_vmaf_framelevelscore(x265_vmaf_framedata*); +/* x265_vmaf_encoder_log: + * write a line to the configured CSV file. If a CSV filename was not + * configured, or file open failed, this function will perform no write. + * This api will be called only when ENABLE_LIBVMAF cmake option is set */ +void x265_vmaf_encoder_log(x265_encoder *encoder, int argc, char **argv, x265_param*, x265_vmaf_data*); + +#endif + +#define X265_MAJOR_VERSION 1 + +/* === Multi-lib API === + * By using this method to gain access to the libx265 interfaces, you allow run- + * time selection between various available libx265 libraries based on the + * encoder parameters. The most likely use case is to choose between Main and + * Main10 builds of libx265. */ + +typedef struct x265_api +{ + int api_major_version; /* X265_MAJOR_VERSION */ + int api_build_number; /* X265_BUILD (soname) */ + int sizeof_param; /* sizeof(x265_param) */ + int sizeof_picture; /* sizeof(x265_picture) */ + int sizeof_analysis_data; /* sizeof(x265_analysis_data) */ + int sizeof_zone; /* sizeof(x265_zone) */ + int sizeof_stats; /* sizeof(x265_stats) */ + + int bit_depth; + const char* version_str; + const char* build_info_str; + + /* libx265 public API functions, documented above with x265_ prefixes */ + x265_param* (*param_alloc)(void); + void (*param_free)(x265_param*); + void (*param_default)(x265_param*); + int (*param_parse)(x265_param*, const char*, const char*); + int (*scenecut_aware_qp_param_parse)(x265_param*, const char*, const char*); + int (*param_apply_profile)(x265_param*, const char*); + int (*param_default_preset)(x265_param*, const char*, const char *); + x265_picture* (*picture_alloc)(void); + void (*picture_free)(x265_picture*); + void (*picture_init)(x265_param*, x265_picture*); + x265_encoder* (*encoder_open)(x265_param*); + void (*encoder_parameters)(x265_encoder*, x265_param*); + int (*encoder_reconfig)(x265_encoder*, x265_param*); + int (*encoder_reconfig_zone)(x265_encoder*, x265_zone*); + int (*encoder_headers)(x265_encoder*, x265_nal**, uint32_t*); + int (*encoder_encode)(x265_encoder*, x265_nal**, uint32_t*, x265_picture*, x265_picture*); + void (*encoder_get_stats)(x265_encoder*, x265_stats*, uint32_t); + void (*encoder_log)(x265_encoder*, int, char**); + void (*encoder_close)(x265_encoder*); + void (*cleanup)(void); + + int sizeof_frame_stats; /* sizeof(x265_frame_stats) */ + int (*encoder_intra_refresh)(x265_encoder*); + int (*encoder_ctu_info)(x265_encoder*, int, x265_ctu_info_t**); + int (*get_slicetype_poc_and_scenecut)(x265_encoder*, int*, int*, int*); + int (*get_ref_frame_list)(x265_encoder*, x265_picyuv**, x265_picyuv**, int, int, int*, int*); + FILE* (*csvlog_open)(const x265_param*); + void (*csvlog_frame)(const x265_param*, const x265_picture*); + void (*csvlog_encode)(const x265_param*, const x265_stats *, int, int, int, char**); + void (*dither_image)(x265_picture*, int, int, int16_t*, int); + int (*set_analysis_data)(x265_encoder *encoder, x265_analysis_data *analysis_data, int poc, uint32_t cuBytes); +#if ENABLE_LIBVMAF + double (*calculate_vmafscore)(x265_param *, x265_vmaf_data *); + double (*calculate_vmaf_framelevelscore)(x265_vmaf_framedata *); + void (*vmaf_encoder_log)(x265_encoder*, int, char**, x265_param *, x265_vmaf_data *); +#endif + int (*zone_param_parse)(x265_param*, const char*, const char*); + /* add new pointers to the end, or increment X265_MAJOR_VERSION */ +} x265_api; + +/* Force a link error in the case of linking against an incompatible API version. + * Glue #defines exist to force correct macro expansion; the final output of the macro + * is x265_api_get_##X265_BUILD (for purposes of dlopen). */ +#define x265_api_glue1(x, y) x ## y +#define x265_api_glue2(x, y) x265_api_glue1(x, y) +#define x265_api_get x265_api_glue2(x265_api_get_, X265_BUILD) + +/* x265_api_get: + * Retrieve the programming interface for a linked x265 library. + * May return NULL if no library is available that supports the + * requested bit depth. If bitDepth is 0 the function is guarunteed + * to return a non-NULL x265_api pointer, from the linked libx265. + * + * If the requested bitDepth is not supported by the linked libx265, + * it will attempt to dynamically bind x265_api_get() from a shared + * library with an appropriate name: + * 8bit: libx265_main.so + * 10bit: libx265_main10.so + * Obviously the shared library file extension is platform specific */ +const x265_api* x265_api_get(int bitDepth); + +/* x265_api_query: + * Retrieve the programming interface for a linked x265 library, like + * x265_api_get(), except this function accepts X265_BUILD as the second + * argument rather than using the build number as part of the function name. + * Applications which dynamically link to libx265 can use this interface to + * query the library API and achieve a relative amount of version skew + * flexibility. The function may return NULL if the library determines that + * the apiVersion that your application was compiled against is not compatible + * with the library you have linked with. + * + * api_major_version will be incremented any time non-backward compatible + * changes are made to any public structures or functions. If + * api_major_version does not match X265_MAJOR_VERSION from the x265.h your + * application compiled against, your application must not use the returned + * x265_api pointer. + * + * Users of this API *must* also validate the sizes of any structures which + * are not treated as opaque in application code. For instance, if your + * application dereferences a x265_param pointer, then it must check that + * api->sizeof_param matches the sizeof(x265_param) that your application + * compiled with. */ +const x265_api* x265_api_query(int bitDepth, int apiVersion, int* err); + +#define X265_API_QUERY_ERR_NONE 0 /* returned API pointer is non-NULL */ +#define X265_API_QUERY_ERR_VER_REFUSED 1 /* incompatible version skew */ +#define X265_API_QUERY_ERR_LIB_NOT_FOUND 2 /* libx265_main10 not found, for ex */ +#define X265_API_QUERY_ERR_FUNC_NOT_FOUND 3 /* unable to bind x265_api_query */ +#define X265_API_QUERY_ERR_WRONG_BITDEPTH 4 /* libx265_main10 not 10bit, for ex */ + +static const char * const x265_api_query_errnames[] = { + "api queried from libx265", + "libx265 version is not compatible with this application", + "unable to bind a libx265 with requested bit depth", + "unable to bind x265_api_query from libx265", + "libx265 has an invalid bitdepth" +}; + +#ifdef __cplusplus +} +#endif + +#endif // X265_H diff --git a/vcpkg/installed/x64-osx/include/x265_config.h b/vcpkg/installed/x64-osx/include/x265_config.h new file mode 100644 index 0000000..1800393 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/x265_config.h @@ -0,0 +1,34 @@ +/***************************************************************************** + * Copyright (C) 2013-2020 MulticoreWare, Inc + * + * Authors: Steve Borho + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. + * + * This program is also available under a commercial proprietary license. + * For more information, contact us at license @ x265.com. + *****************************************************************************/ + +#ifndef X265_CONFIG_H +#define X265_CONFIG_H + +/* Defines generated at build time */ + +/* Incremented each time public API is changed, X265_BUILD is used as + * the shared library SONAME on platforms which support it. It also + * prevents linking against a different version of the static lib */ +#define X265_BUILD 209 + +#endif diff --git a/vcpkg/installed/x64-osx/include/zconf.h b/vcpkg/installed/x64-osx/include/zconf.h new file mode 100644 index 0000000..7e9c73f --- /dev/null +++ b/vcpkg/installed/x64-osx/include/zconf.h @@ -0,0 +1,553 @@ +/* zconf.h -- configuration of the zlib compression library + * Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +/* @(#) $Id$ */ + +#ifndef ZCONF_H +#define ZCONF_H +/* #undef Z_PREFIX */ +#define Z_HAVE_UNISTD_H + +/* + * If you *really* need a unique prefix for all types and library functions, + * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. + * Even better than compiling with -DZ_PREFIX would be to use configure to set + * this permanently in zconf.h using "./configure --zprefix". + */ +#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */ +# define Z_PREFIX_SET + +/* all linked symbols and init macros */ +# define _dist_code z__dist_code +# define _length_code z__length_code +# define _tr_align z__tr_align +# define _tr_flush_bits z__tr_flush_bits +# define _tr_flush_block z__tr_flush_block +# define _tr_init z__tr_init +# define _tr_stored_block z__tr_stored_block +# define _tr_tally z__tr_tally +# define adler32 z_adler32 +# define adler32_combine z_adler32_combine +# define adler32_combine64 z_adler32_combine64 +# define adler32_z z_adler32_z +# ifndef Z_SOLO +# define compress z_compress +# define compress2 z_compress2 +# define compressBound z_compressBound +# endif +# define crc32 z_crc32 +# define crc32_combine z_crc32_combine +# define crc32_combine64 z_crc32_combine64 +# define crc32_combine_gen z_crc32_combine_gen +# define crc32_combine_gen64 z_crc32_combine_gen64 +# define crc32_combine_op z_crc32_combine_op +# define crc32_z z_crc32_z +# define deflate z_deflate +# define deflateBound z_deflateBound +# define deflateCopy z_deflateCopy +# define deflateEnd z_deflateEnd +# define deflateGetDictionary z_deflateGetDictionary +# define deflateInit z_deflateInit +# define deflateInit2 z_deflateInit2 +# define deflateInit2_ z_deflateInit2_ +# define deflateInit_ z_deflateInit_ +# define deflateParams z_deflateParams +# define deflatePending z_deflatePending +# define deflatePrime z_deflatePrime +# define deflateReset z_deflateReset +# define deflateResetKeep z_deflateResetKeep +# define deflateSetDictionary z_deflateSetDictionary +# define deflateSetHeader z_deflateSetHeader +# define deflateTune z_deflateTune +# define deflate_copyright z_deflate_copyright +# define get_crc_table z_get_crc_table +# ifndef Z_SOLO +# define gz_error z_gz_error +# define gz_intmax z_gz_intmax +# define gz_strwinerror z_gz_strwinerror +# define gzbuffer z_gzbuffer +# define gzclearerr z_gzclearerr +# define gzclose z_gzclose +# define gzclose_r z_gzclose_r +# define gzclose_w z_gzclose_w +# define gzdirect z_gzdirect +# define gzdopen z_gzdopen +# define gzeof z_gzeof +# define gzerror z_gzerror +# define gzflush z_gzflush +# define gzfread z_gzfread +# define gzfwrite z_gzfwrite +# define gzgetc z_gzgetc +# define gzgetc_ z_gzgetc_ +# define gzgets z_gzgets +# define gzoffset z_gzoffset +# define gzoffset64 z_gzoffset64 +# define gzopen z_gzopen +# define gzopen64 z_gzopen64 +# ifdef _WIN32 +# define gzopen_w z_gzopen_w +# endif +# define gzprintf z_gzprintf +# define gzputc z_gzputc +# define gzputs z_gzputs +# define gzread z_gzread +# define gzrewind z_gzrewind +# define gzseek z_gzseek +# define gzseek64 z_gzseek64 +# define gzsetparams z_gzsetparams +# define gztell z_gztell +# define gztell64 z_gztell64 +# define gzungetc z_gzungetc +# define gzvprintf z_gzvprintf +# define gzwrite z_gzwrite +# endif +# define inflate z_inflate +# define inflateBack z_inflateBack +# define inflateBackEnd z_inflateBackEnd +# define inflateBackInit z_inflateBackInit +# define inflateBackInit_ z_inflateBackInit_ +# define inflateCodesUsed z_inflateCodesUsed +# define inflateCopy z_inflateCopy +# define inflateEnd z_inflateEnd +# define inflateGetDictionary z_inflateGetDictionary +# define inflateGetHeader z_inflateGetHeader +# define inflateInit z_inflateInit +# define inflateInit2 z_inflateInit2 +# define inflateInit2_ z_inflateInit2_ +# define inflateInit_ z_inflateInit_ +# define inflateMark z_inflateMark +# define inflatePrime z_inflatePrime +# define inflateReset z_inflateReset +# define inflateReset2 z_inflateReset2 +# define inflateResetKeep z_inflateResetKeep +# define inflateSetDictionary z_inflateSetDictionary +# define inflateSync z_inflateSync +# define inflateSyncPoint z_inflateSyncPoint +# define inflateUndermine z_inflateUndermine +# define inflateValidate z_inflateValidate +# define inflate_copyright z_inflate_copyright +# define inflate_fast z_inflate_fast +# define inflate_table z_inflate_table +# ifndef Z_SOLO +# define uncompress z_uncompress +# define uncompress2 z_uncompress2 +# endif +# define zError z_zError +# ifndef Z_SOLO +# define zcalloc z_zcalloc +# define zcfree z_zcfree +# endif +# define zlibCompileFlags z_zlibCompileFlags +# define zlibVersion z_zlibVersion + +/* all zlib typedefs in zlib.h and zconf.h */ +# define Byte z_Byte +# define Bytef z_Bytef +# define alloc_func z_alloc_func +# define charf z_charf +# define free_func z_free_func +# ifndef Z_SOLO +# define gzFile z_gzFile +# endif +# define gz_header z_gz_header +# define gz_headerp z_gz_headerp +# define in_func z_in_func +# define intf z_intf +# define out_func z_out_func +# define uInt z_uInt +# define uIntf z_uIntf +# define uLong z_uLong +# define uLongf z_uLongf +# define voidp z_voidp +# define voidpc z_voidpc +# define voidpf z_voidpf + +/* all zlib structs in zlib.h and zconf.h */ +# define gz_header_s z_gz_header_s +# define internal_state z_internal_state + +#endif + +#if defined(__MSDOS__) && !defined(MSDOS) +# define MSDOS +#endif +#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) +# define OS2 +#endif +#if defined(_WINDOWS) && !defined(WINDOWS) +# define WINDOWS +#endif +#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) +# ifndef WIN32 +# define WIN32 +# endif +#endif +#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) +# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) +# ifndef SYS16BIT +# define SYS16BIT +# endif +# endif +#endif + +/* + * Compile with -DMAXSEG_64K if the alloc function cannot allocate more + * than 64k bytes at a time (needed on systems with 16-bit int). + */ +#ifdef SYS16BIT +# define MAXSEG_64K +#endif +#ifdef MSDOS +# define UNALIGNED_OK +#endif + +#ifdef __STDC_VERSION__ +# ifndef STDC +# define STDC +# endif +# if __STDC_VERSION__ >= 199901L +# ifndef STDC99 +# define STDC99 +# endif +# endif +#endif +#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) +# define STDC +#endif +#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) +# define STDC +#endif +#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) +# define STDC +#endif +#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) +# define STDC +#endif + +#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ +# define STDC +#endif + +#ifndef STDC +# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ +# define const /* note: need a more gentle solution here */ +# endif +#endif + +#if defined(ZLIB_CONST) && !defined(z_const) +# define z_const const +#else +# define z_const +#endif + +#ifdef Z_SOLO +# ifdef _WIN64 + typedef unsigned long long z_size_t; +# else + typedef unsigned long z_size_t; +# endif +#else +# define z_longlong long long +# if defined(NO_SIZE_T) + typedef unsigned NO_SIZE_T z_size_t; +# elif defined(STDC) +# include + typedef size_t z_size_t; +# else + typedef unsigned long z_size_t; +# endif +# undef z_longlong +#endif + +/* Maximum value for memLevel in deflateInit2 */ +#ifndef MAX_MEM_LEVEL +# ifdef MAXSEG_64K +# define MAX_MEM_LEVEL 8 +# else +# define MAX_MEM_LEVEL 9 +# endif +#endif + +/* Maximum value for windowBits in deflateInit2 and inflateInit2. + * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files + * created by gzip. (Files created by minigzip can still be extracted by + * gzip.) + */ +#ifndef MAX_WBITS +# define MAX_WBITS 15 /* 32K LZ77 window */ +#endif + +/* The memory requirements for deflate are (in bytes): + (1 << (windowBits+2)) + (1 << (memLevel+9)) + that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) + plus a few kilobytes for small objects. For example, if you want to reduce + the default memory requirements from 256K to 128K, compile with + make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" + Of course this will generally degrade compression (there's no free lunch). + + The memory requirements for inflate are (in bytes) 1 << windowBits + that is, 32K for windowBits=15 (default value) plus about 7 kilobytes + for small objects. +*/ + + /* Type declarations */ + +#ifndef OF /* function prototypes */ +# ifdef STDC +# define OF(args) args +# else +# define OF(args) () +# endif +#endif + +/* The following definitions for FAR are needed only for MSDOS mixed + * model programming (small or medium model with some far allocations). + * This was tested only with MSC; for other MSDOS compilers you may have + * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, + * just define FAR to be empty. + */ +#ifdef SYS16BIT +# if defined(M_I86SM) || defined(M_I86MM) + /* MSC small or medium model */ +# define SMALL_MEDIUM +# ifdef _MSC_VER +# define FAR _far +# else +# define FAR far +# endif +# endif +# if (defined(__SMALL__) || defined(__MEDIUM__)) + /* Turbo C small or medium model */ +# define SMALL_MEDIUM +# ifdef __BORLANDC__ +# define FAR _far +# else +# define FAR far +# endif +# endif +#endif + +#if defined(WINDOWS) || defined(WIN32) + /* If building or using zlib as a DLL, define ZLIB_DLL. + * This is not mandatory, but it offers a little performance increase. + */ +# if 0 +# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) +# ifdef ZLIB_INTERNAL +# define ZEXTERN extern __declspec(dllexport) +# else +# define ZEXTERN extern __declspec(dllimport) +# endif +# endif +# endif /* ZLIB_DLL */ + /* If building or using zlib with the WINAPI/WINAPIV calling convention, + * define ZLIB_WINAPI. + * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. + */ +# ifdef ZLIB_WINAPI +# ifdef FAR +# undef FAR +# endif +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif +# include + /* No need for _export, use ZLIB.DEF instead. */ + /* For complete Windows compatibility, use WINAPI, not __stdcall. */ +# define ZEXPORT WINAPI +# ifdef WIN32 +# define ZEXPORTVA WINAPIV +# else +# define ZEXPORTVA FAR CDECL +# endif +# endif +#endif + +#if defined (__BEOS__) +# if 0 +# ifdef ZLIB_INTERNAL +# define ZEXPORT __declspec(dllexport) +# define ZEXPORTVA __declspec(dllexport) +# else +# define ZEXPORT __declspec(dllimport) +# define ZEXPORTVA __declspec(dllimport) +# endif +# endif +#endif + +#ifndef ZEXTERN +# define ZEXTERN extern +#endif +#ifndef ZEXPORT +# define ZEXPORT +#endif +#ifndef ZEXPORTVA +# define ZEXPORTVA +#endif + +#ifndef FAR +# define FAR +#endif + +#if !defined(__MACTYPES__) +typedef unsigned char Byte; /* 8 bits */ +#endif +typedef unsigned int uInt; /* 16 bits or more */ +typedef unsigned long uLong; /* 32 bits or more */ + +#ifdef SMALL_MEDIUM + /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ +# define Bytef Byte FAR +#else + typedef Byte FAR Bytef; +#endif +typedef char FAR charf; +typedef int FAR intf; +typedef uInt FAR uIntf; +typedef uLong FAR uLongf; + +#ifdef STDC + typedef void const *voidpc; + typedef void FAR *voidpf; + typedef void *voidp; +#else + typedef Byte const *voidpc; + typedef Byte FAR *voidpf; + typedef Byte *voidp; +#endif + +#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC) +# include +# if (UINT_MAX == 0xffffffffUL) +# define Z_U4 unsigned +# elif (ULONG_MAX == 0xffffffffUL) +# define Z_U4 unsigned long +# elif (USHRT_MAX == 0xffffffffUL) +# define Z_U4 unsigned short +# endif +#endif + +#ifdef Z_U4 + typedef Z_U4 z_crc_t; +#else + typedef unsigned long z_crc_t; +#endif + +#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */ +# if ~(~HAVE_UNISTD_H + 0) == 0 && ~(~HAVE_UNISTD_H + 1) == 1 +# define Z_HAVE_UNISTD_H +# elif HAVE_UNISTD_H != 0 +# define Z_HAVE_UNISTD_H +# endif +#endif + +#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */ +# if ~(~HAVE_STDARG_H + 0) == 0 && ~(~HAVE_STDARG_H + 1) == 1 +# define Z_HAVE_STDARG_H +# elif HAVE_STDARG_H != 0 +# define Z_HAVE_STDARG_H +# endif +#endif + +#ifdef STDC +# ifndef Z_SOLO +# include /* for off_t */ +# endif +#endif + +#if defined(STDC) || defined(Z_HAVE_STDARG_H) +# ifndef Z_SOLO +# include /* for va_list */ +# endif +#endif + +#ifdef _WIN32 +# ifndef Z_SOLO +# include /* for wchar_t */ +# endif +#endif + +/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and + * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even + * though the former does not conform to the LFS document), but considering + * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as + * equivalently requesting no 64-bit operations + */ +#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1 +# undef _LARGEFILE64_SOURCE +#endif + +#ifndef Z_HAVE_UNISTD_H +# ifdef __WATCOMC__ +# define Z_HAVE_UNISTD_H +# endif +#endif +#ifndef Z_HAVE_UNISTD_H +# if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32) +# define Z_HAVE_UNISTD_H +# endif +#endif +#ifndef Z_SOLO +# if defined(Z_HAVE_UNISTD_H) +# include /* for SEEK_*, off_t, and _LFS64_LARGEFILE */ +# ifdef VMS +# include /* for off_t */ +# endif +# ifndef z_off_t +# define z_off_t off_t +# endif +# endif +#endif + +#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0 +# define Z_LFS64 +#endif + +#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64) +# define Z_LARGE64 +#endif + +#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64) +# define Z_WANT64 +#endif + +#if !defined(SEEK_SET) && !defined(Z_SOLO) +# define SEEK_SET 0 /* Seek from beginning of file. */ +# define SEEK_CUR 1 /* Seek from current position. */ +# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ +#endif + +#ifndef z_off_t +# define z_off_t long +#endif + +#if !defined(_WIN32) && defined(Z_LARGE64) +# define z_off64_t off64_t +#else +# if defined(_WIN32) && !defined(__GNUC__) +# define z_off64_t __int64 +# else +# define z_off64_t z_off_t +# endif +#endif + +/* MVS linker does not support external names larger than 8 bytes */ +#if defined(__MVS__) + #pragma map(deflateInit_,"DEIN") + #pragma map(deflateInit2_,"DEIN2") + #pragma map(deflateEnd,"DEEND") + #pragma map(deflateBound,"DEBND") + #pragma map(inflateInit_,"ININ") + #pragma map(inflateInit2_,"ININ2") + #pragma map(inflateEnd,"INEND") + #pragma map(inflateSync,"INSY") + #pragma map(inflateSetDictionary,"INSEDI") + #pragma map(compressBound,"CMBND") + #pragma map(inflate_table,"INTABL") + #pragma map(inflate_fast,"INFA") + #pragma map(inflate_copyright,"INCOPY") +#endif + +#endif /* ZCONF_H */ diff --git a/vcpkg/installed/x64-osx/include/zlib.h b/vcpkg/installed/x64-osx/include/zlib.h new file mode 100644 index 0000000..8d4b932 --- /dev/null +++ b/vcpkg/installed/x64-osx/include/zlib.h @@ -0,0 +1,1938 @@ +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.3.1, January 22nd, 2024 + + Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + + + The data format used by the zlib library is described by RFCs (Request for + Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950 + (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format). +*/ + +#ifndef ZLIB_H +#define ZLIB_H + +#include "zconf.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define ZLIB_VERSION "1.3.1" +#define ZLIB_VERNUM 0x1310 +#define ZLIB_VER_MAJOR 1 +#define ZLIB_VER_MINOR 3 +#define ZLIB_VER_REVISION 1 +#define ZLIB_VER_SUBREVISION 0 + +/* + The 'zlib' compression library provides in-memory compression and + decompression functions, including integrity checks of the uncompressed data. + This version of the library supports only one compression method (deflation) + but other algorithms will be added later and will have the same stream + interface. + + Compression can be done in a single step if the buffers are large enough, + or can be done by repeated calls of the compression function. In the latter + case, the application must provide more input and/or consume the output + (providing more output space) before each call. + + The compressed data format used by default by the in-memory functions is + the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped + around a deflate stream, which is itself documented in RFC 1951. + + The library also supports reading and writing files in gzip (.gz) format + with an interface similar to that of stdio using the functions that start + with "gz". The gzip format is different from the zlib format. gzip is a + gzip wrapper, documented in RFC 1952, wrapped around a deflate stream. + + This library can optionally read and write gzip and raw deflate streams in + memory as well. + + The zlib format was designed to be compact and fast for use in memory + and on communications channels. The gzip format was designed for single- + file compression on file systems, has a larger header than zlib to maintain + directory information, and uses a different, slower check method than zlib. + + The library does not install any signal handler. The decoder checks + the consistency of the compressed data, so the library should never crash + even in the case of corrupted input. +*/ + +typedef voidpf (*alloc_func)(voidpf opaque, uInt items, uInt size); +typedef void (*free_func)(voidpf opaque, voidpf address); + +struct internal_state; + +typedef struct z_stream_s { + z_const Bytef *next_in; /* next input byte */ + uInt avail_in; /* number of bytes available at next_in */ + uLong total_in; /* total number of input bytes read so far */ + + Bytef *next_out; /* next output byte will go here */ + uInt avail_out; /* remaining free space at next_out */ + uLong total_out; /* total number of bytes output so far */ + + z_const char *msg; /* last error message, NULL if no error */ + struct internal_state FAR *state; /* not visible by applications */ + + alloc_func zalloc; /* used to allocate the internal state */ + free_func zfree; /* used to free the internal state */ + voidpf opaque; /* private data object passed to zalloc and zfree */ + + int data_type; /* best guess about the data type: binary or text + for deflate, or the decoding state for inflate */ + uLong adler; /* Adler-32 or CRC-32 value of the uncompressed data */ + uLong reserved; /* reserved for future use */ +} z_stream; + +typedef z_stream FAR *z_streamp; + +/* + gzip header information passed to and from zlib routines. See RFC 1952 + for more details on the meanings of these fields. +*/ +typedef struct gz_header_s { + int text; /* true if compressed data believed to be text */ + uLong time; /* modification time */ + int xflags; /* extra flags (not used when writing a gzip file) */ + int os; /* operating system */ + Bytef *extra; /* pointer to extra field or Z_NULL if none */ + uInt extra_len; /* extra field length (valid if extra != Z_NULL) */ + uInt extra_max; /* space at extra (only when reading header) */ + Bytef *name; /* pointer to zero-terminated file name or Z_NULL */ + uInt name_max; /* space at name (only when reading header) */ + Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */ + uInt comm_max; /* space at comment (only when reading header) */ + int hcrc; /* true if there was or will be a header crc */ + int done; /* true when done reading gzip header (not used + when writing a gzip file) */ +} gz_header; + +typedef gz_header FAR *gz_headerp; + +/* + The application must update next_in and avail_in when avail_in has dropped + to zero. It must update next_out and avail_out when avail_out has dropped + to zero. The application must initialize zalloc, zfree and opaque before + calling the init function. All other fields are set by the compression + library and must not be updated by the application. + + The opaque value provided by the application will be passed as the first + parameter for calls of zalloc and zfree. This can be useful for custom + memory management. The compression library attaches no meaning to the + opaque value. + + zalloc must return Z_NULL if there is not enough memory for the object. + If zlib is used in a multi-threaded application, zalloc and zfree must be + thread safe. In that case, zlib is thread-safe. When zalloc and zfree are + Z_NULL on entry to the initialization function, they are set to internal + routines that use the standard library functions malloc() and free(). + + On 16-bit systems, the functions zalloc and zfree must be able to allocate + exactly 65536 bytes, but will not be required to allocate more than this if + the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, pointers + returned by zalloc for objects of exactly 65536 bytes *must* have their + offset normalized to zero. The default allocation function provided by this + library ensures this (see zutil.c). To reduce memory requirements and avoid + any allocation of 64K objects, at the expense of compression ratio, compile + the library with -DMAX_WBITS=14 (see zconf.h). + + The fields total_in and total_out can be used for statistics or progress + reports. After compression, total_in holds the total size of the + uncompressed data and may be saved for use by the decompressor (particularly + if the decompressor wants to decompress everything in a single step). +*/ + + /* constants */ + +#define Z_NO_FLUSH 0 +#define Z_PARTIAL_FLUSH 1 +#define Z_SYNC_FLUSH 2 +#define Z_FULL_FLUSH 3 +#define Z_FINISH 4 +#define Z_BLOCK 5 +#define Z_TREES 6 +/* Allowed flush values; see deflate() and inflate() below for details */ + +#define Z_OK 0 +#define Z_STREAM_END 1 +#define Z_NEED_DICT 2 +#define Z_ERRNO (-1) +#define Z_STREAM_ERROR (-2) +#define Z_DATA_ERROR (-3) +#define Z_MEM_ERROR (-4) +#define Z_BUF_ERROR (-5) +#define Z_VERSION_ERROR (-6) +/* Return codes for the compression/decompression functions. Negative values + * are errors, positive values are used for special but normal events. + */ + +#define Z_NO_COMPRESSION 0 +#define Z_BEST_SPEED 1 +#define Z_BEST_COMPRESSION 9 +#define Z_DEFAULT_COMPRESSION (-1) +/* compression levels */ + +#define Z_FILTERED 1 +#define Z_HUFFMAN_ONLY 2 +#define Z_RLE 3 +#define Z_FIXED 4 +#define Z_DEFAULT_STRATEGY 0 +/* compression strategy; see deflateInit2() below for details */ + +#define Z_BINARY 0 +#define Z_TEXT 1 +#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */ +#define Z_UNKNOWN 2 +/* Possible values of the data_type field for deflate() */ + +#define Z_DEFLATED 8 +/* The deflate compression method (the only one supported in this version) */ + +#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */ + +#define zlib_version zlibVersion() +/* for compatibility with versions < 1.0.2 */ + + + /* basic functions */ + +ZEXTERN const char * ZEXPORT zlibVersion(void); +/* The application can compare zlibVersion and ZLIB_VERSION for consistency. + If the first character differs, the library code actually used is not + compatible with the zlib.h header file used by the application. This check + is automatically made by deflateInit and inflateInit. + */ + +/* +ZEXTERN int ZEXPORT deflateInit(z_streamp strm, int level); + + Initializes the internal stream state for compression. The fields + zalloc, zfree and opaque must be initialized before by the caller. If + zalloc and zfree are set to Z_NULL, deflateInit updates them to use default + allocation functions. total_in, total_out, adler, and msg are initialized. + + The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9: + 1 gives best speed, 9 gives best compression, 0 gives no compression at all + (the input data is simply copied a block at a time). Z_DEFAULT_COMPRESSION + requests a default compromise between speed and compression (currently + equivalent to level 6). + + deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_STREAM_ERROR if level is not a valid compression level, or + Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible + with the version assumed by the caller (ZLIB_VERSION). msg is set to null + if there is no error message. deflateInit does not perform any compression: + this will be done by deflate(). +*/ + + +ZEXTERN int ZEXPORT deflate(z_streamp strm, int flush); +/* + deflate compresses as much data as possible, and stops when the input + buffer becomes empty or the output buffer becomes full. It may introduce + some output latency (reading input without producing any output) except when + forced to flush. + + The detailed semantics are as follows. deflate performs one or both of the + following actions: + + - Compress more input starting at next_in and update next_in and avail_in + accordingly. If not all input can be processed (because there is not + enough room in the output buffer), next_in and avail_in are updated and + processing will resume at this point for the next call of deflate(). + + - Generate more output starting at next_out and update next_out and avail_out + accordingly. This action is forced if the parameter flush is non zero. + Forcing flush frequently degrades the compression ratio, so this parameter + should be set only when necessary. Some output may be provided even if + flush is zero. + + Before the call of deflate(), the application should ensure that at least + one of the actions is possible, by providing more input and/or consuming more + output, and updating avail_in or avail_out accordingly; avail_out should + never be zero before the call. The application can consume the compressed + output when it wants, for example when the output buffer is full (avail_out + == 0), or after each call of deflate(). If deflate returns Z_OK and with + zero avail_out, it must be called again after making room in the output + buffer because there might be more output pending. See deflatePending(), + which can be used if desired to determine whether or not there is more output + in that case. + + Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to + decide how much data to accumulate before producing output, in order to + maximize compression. + + If the parameter flush is set to Z_SYNC_FLUSH, all pending output is + flushed to the output buffer and the output is aligned on a byte boundary, so + that the decompressor can get all input data available so far. (In + particular avail_in is zero after the call if enough output space has been + provided before the call.) Flushing may degrade compression for some + compression algorithms and so it should be used only when necessary. This + completes the current deflate block and follows it with an empty stored block + that is three bits plus filler bits to the next byte, followed by four bytes + (00 00 ff ff). + + If flush is set to Z_PARTIAL_FLUSH, all pending output is flushed to the + output buffer, but the output is not aligned to a byte boundary. All of the + input data so far will be available to the decompressor, as for Z_SYNC_FLUSH. + This completes the current deflate block and follows it with an empty fixed + codes block that is 10 bits long. This assures that enough bytes are output + in order for the decompressor to finish the block before the empty fixed + codes block. + + If flush is set to Z_BLOCK, a deflate block is completed and emitted, as + for Z_SYNC_FLUSH, but the output is not aligned on a byte boundary, and up to + seven bits of the current block are held to be written as the next byte after + the next deflate block is completed. In this case, the decompressor may not + be provided enough bits at this point in order to complete decompression of + the data provided so far to the compressor. It may need to wait for the next + block to be emitted. This is for advanced applications that need to control + the emission of deflate blocks. + + If flush is set to Z_FULL_FLUSH, all output is flushed as with + Z_SYNC_FLUSH, and the compression state is reset so that decompression can + restart from this point if previous compressed data has been damaged or if + random access is desired. Using Z_FULL_FLUSH too often can seriously degrade + compression. + + If deflate returns with avail_out == 0, this function must be called again + with the same value of the flush parameter and more output space (updated + avail_out), until the flush is complete (deflate returns with non-zero + avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that + avail_out is greater than six when the flush marker begins, in order to avoid + repeated flush markers upon calling deflate() again when avail_out == 0. + + If the parameter flush is set to Z_FINISH, pending input is processed, + pending output is flushed and deflate returns with Z_STREAM_END if there was + enough output space. If deflate returns with Z_OK or Z_BUF_ERROR, this + function must be called again with Z_FINISH and more output space (updated + avail_out) but no more input data, until it returns with Z_STREAM_END or an + error. After deflate has returned Z_STREAM_END, the only possible operations + on the stream are deflateReset or deflateEnd. + + Z_FINISH can be used in the first deflate call after deflateInit if all the + compression is to be done in a single step. In order to complete in one + call, avail_out must be at least the value returned by deflateBound (see + below). Then deflate is guaranteed to return Z_STREAM_END. If not enough + output space is provided, deflate will not return Z_STREAM_END, and it must + be called again as described above. + + deflate() sets strm->adler to the Adler-32 checksum of all input read + so far (that is, total_in bytes). If a gzip stream is being generated, then + strm->adler will be the CRC-32 checksum of the input read so far. (See + deflateInit2 below.) + + deflate() may update strm->data_type if it can make a good guess about + the input data type (Z_BINARY or Z_TEXT). If in doubt, the data is + considered binary. This field is only for information purposes and does not + affect the compression algorithm in any manner. + + deflate() returns Z_OK if some progress has been made (more input + processed or more output produced), Z_STREAM_END if all input has been + consumed and all output has been produced (only when flush is set to + Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example + if next_in or next_out was Z_NULL or the state was inadvertently written over + by the application), or Z_BUF_ERROR if no progress is possible (for example + avail_in or avail_out was zero). Note that Z_BUF_ERROR is not fatal, and + deflate() can be called again with more input and more output space to + continue compressing. +*/ + + +ZEXTERN int ZEXPORT deflateEnd(z_streamp strm); +/* + All dynamically allocated data structures for this stream are freed. + This function discards any unprocessed input and does not flush any pending + output. + + deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the + stream state was inconsistent, Z_DATA_ERROR if the stream was freed + prematurely (some input or output was discarded). In the error case, msg + may be set but then points to a static string (which must not be + deallocated). +*/ + + +/* +ZEXTERN int ZEXPORT inflateInit(z_streamp strm); + + Initializes the internal stream state for decompression. The fields + next_in, avail_in, zalloc, zfree and opaque must be initialized before by + the caller. In the current version of inflate, the provided input is not + read or consumed. The allocation of a sliding window will be deferred to + the first call of inflate (if the decompression does not complete on the + first call). If zalloc and zfree are set to Z_NULL, inflateInit updates + them to use default allocation functions. total_in, total_out, adler, and + msg are initialized. + + inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_VERSION_ERROR if the zlib library version is incompatible with the + version assumed by the caller, or Z_STREAM_ERROR if the parameters are + invalid, such as a null pointer to the structure. msg is set to null if + there is no error message. inflateInit does not perform any decompression. + Actual decompression will be done by inflate(). So next_in, and avail_in, + next_out, and avail_out are unused and unchanged. The current + implementation of inflateInit() does not process any header information -- + that is deferred until inflate() is called. +*/ + + +ZEXTERN int ZEXPORT inflate(z_streamp strm, int flush); +/* + inflate decompresses as much data as possible, and stops when the input + buffer becomes empty or the output buffer becomes full. It may introduce + some output latency (reading input without producing any output) except when + forced to flush. + + The detailed semantics are as follows. inflate performs one or both of the + following actions: + + - Decompress more input starting at next_in and update next_in and avail_in + accordingly. If not all input can be processed (because there is not + enough room in the output buffer), then next_in and avail_in are updated + accordingly, and processing will resume at this point for the next call of + inflate(). + + - Generate more output starting at next_out and update next_out and avail_out + accordingly. inflate() provides as much output as possible, until there is + no more input data or no more space in the output buffer (see below about + the flush parameter). + + Before the call of inflate(), the application should ensure that at least + one of the actions is possible, by providing more input and/or consuming more + output, and updating the next_* and avail_* values accordingly. If the + caller of inflate() does not provide both available input and available + output space, it is possible that there will be no progress made. The + application can consume the uncompressed output when it wants, for example + when the output buffer is full (avail_out == 0), or after each call of + inflate(). If inflate returns Z_OK and with zero avail_out, it must be + called again after making room in the output buffer because there might be + more output pending. + + The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH, + Z_BLOCK, or Z_TREES. Z_SYNC_FLUSH requests that inflate() flush as much + output as possible to the output buffer. Z_BLOCK requests that inflate() + stop if and when it gets to the next deflate block boundary. When decoding + the zlib or gzip format, this will cause inflate() to return immediately + after the header and before the first block. When doing a raw inflate, + inflate() will go ahead and process the first block, and will return when it + gets to the end of that block, or when it runs out of data. + + The Z_BLOCK option assists in appending to or combining deflate streams. + To assist in this, on return inflate() always sets strm->data_type to the + number of unused bits in the last byte taken from strm->next_in, plus 64 if + inflate() is currently decoding the last block in the deflate stream, plus + 128 if inflate() returned immediately after decoding an end-of-block code or + decoding the complete header up to just before the first byte of the deflate + stream. The end-of-block will not be indicated until all of the uncompressed + data from that block has been written to strm->next_out. The number of + unused bits may in general be greater than seven, except when bit 7 of + data_type is set, in which case the number of unused bits will be less than + eight. data_type is set as noted here every time inflate() returns for all + flush options, and so can be used to determine the amount of currently + consumed input in bits. + + The Z_TREES option behaves as Z_BLOCK does, but it also returns when the + end of each deflate block header is reached, before any actual data in that + block is decoded. This allows the caller to determine the length of the + deflate block header for later use in random access within a deflate block. + 256 is added to the value of strm->data_type when inflate() returns + immediately after reaching the end of the deflate block header. + + inflate() should normally be called until it returns Z_STREAM_END or an + error. However if all decompression is to be performed in a single step (a + single call of inflate), the parameter flush should be set to Z_FINISH. In + this case all pending input is processed and all pending output is flushed; + avail_out must be large enough to hold all of the uncompressed data for the + operation to complete. (The size of the uncompressed data may have been + saved by the compressor for this purpose.) The use of Z_FINISH is not + required to perform an inflation in one step. However it may be used to + inform inflate that a faster approach can be used for the single inflate() + call. Z_FINISH also informs inflate to not maintain a sliding window if the + stream completes, which reduces inflate's memory footprint. If the stream + does not complete, either because not all of the stream is provided or not + enough output space is provided, then a sliding window will be allocated and + inflate() can be called again to continue the operation as if Z_NO_FLUSH had + been used. + + In this implementation, inflate() always flushes as much output as + possible to the output buffer, and always uses the faster approach on the + first call. So the effects of the flush parameter in this implementation are + on the return value of inflate() as noted below, when inflate() returns early + when Z_BLOCK or Z_TREES is used, and when inflate() avoids the allocation of + memory for a sliding window when Z_FINISH is used. + + If a preset dictionary is needed after this call (see inflateSetDictionary + below), inflate sets strm->adler to the Adler-32 checksum of the dictionary + chosen by the compressor and returns Z_NEED_DICT; otherwise it sets + strm->adler to the Adler-32 checksum of all output produced so far (that is, + total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described + below. At the end of the stream, inflate() checks that its computed Adler-32 + checksum is equal to that saved by the compressor and returns Z_STREAM_END + only if the checksum is correct. + + inflate() can decompress and check either zlib-wrapped or gzip-wrapped + deflate data. The header type is detected automatically, if requested when + initializing with inflateInit2(). Any information contained in the gzip + header is not retained unless inflateGetHeader() is used. When processing + gzip-wrapped deflate data, strm->adler32 is set to the CRC-32 of the output + produced so far. The CRC-32 is checked against the gzip trailer, as is the + uncompressed length, modulo 2^32. + + inflate() returns Z_OK if some progress has been made (more input processed + or more output produced), Z_STREAM_END if the end of the compressed data has + been reached and all uncompressed output has been produced, Z_NEED_DICT if a + preset dictionary is needed at this point, Z_DATA_ERROR if the input data was + corrupted (input stream not conforming to the zlib format or incorrect check + value, in which case strm->msg points to a string with a more specific + error), Z_STREAM_ERROR if the stream structure was inconsistent (for example + next_in or next_out was Z_NULL, or the state was inadvertently written over + by the application), Z_MEM_ERROR if there was not enough memory, Z_BUF_ERROR + if no progress was possible or if there was not enough room in the output + buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and + inflate() can be called again with more input and more output space to + continue decompressing. If Z_DATA_ERROR is returned, the application may + then call inflateSync() to look for a good compression block if a partial + recovery of the data is to be attempted. +*/ + + +ZEXTERN int ZEXPORT inflateEnd(z_streamp strm); +/* + All dynamically allocated data structures for this stream are freed. + This function discards any unprocessed input and does not flush any pending + output. + + inflateEnd returns Z_OK if success, or Z_STREAM_ERROR if the stream state + was inconsistent. +*/ + + + /* Advanced functions */ + +/* + The following functions are needed only in some special applications. +*/ + +/* +ZEXTERN int ZEXPORT deflateInit2(z_streamp strm, + int level, + int method, + int windowBits, + int memLevel, + int strategy); + + This is another version of deflateInit with more compression options. The + fields zalloc, zfree and opaque must be initialized before by the caller. + + The method parameter is the compression method. It must be Z_DEFLATED in + this version of the library. + + The windowBits parameter is the base two logarithm of the window size + (the size of the history buffer). It should be in the range 8..15 for this + version of the library. Larger values of this parameter result in better + compression at the expense of memory usage. The default value is 15 if + deflateInit is used instead. + + For the current implementation of deflate(), a windowBits value of 8 (a + window size of 256 bytes) is not supported. As a result, a request for 8 + will result in 9 (a 512-byte window). In that case, providing 8 to + inflateInit2() will result in an error when the zlib header with 9 is + checked against the initialization of inflate(). The remedy is to not use 8 + with deflateInit2() with this initialization, or at least in that case use 9 + with inflateInit2(). + + windowBits can also be -8..-15 for raw deflate. In this case, -windowBits + determines the window size. deflate() will then generate raw deflate data + with no zlib header or trailer, and will not compute a check value. + + windowBits can also be greater than 15 for optional gzip encoding. Add + 16 to windowBits to write a simple gzip header and trailer around the + compressed data instead of a zlib wrapper. The gzip header will have no + file name, no extra data, no comment, no modification time (set to zero), no + header crc, and the operating system will be set to the appropriate value, + if the operating system was determined at compile time. If a gzip stream is + being written, strm->adler is a CRC-32 instead of an Adler-32. + + For raw deflate or gzip encoding, a request for a 256-byte window is + rejected as invalid, since only the zlib header provides a means of + transmitting the window size to the decompressor. + + The memLevel parameter specifies how much memory should be allocated + for the internal compression state. memLevel=1 uses minimum memory but is + slow and reduces compression ratio; memLevel=9 uses maximum memory for + optimal speed. The default value is 8. See zconf.h for total memory usage + as a function of windowBits and memLevel. + + The strategy parameter is used to tune the compression algorithm. Use the + value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a + filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no + string match), or Z_RLE to limit match distances to one (run-length + encoding). Filtered data consists mostly of small values with a somewhat + random distribution. In this case, the compression algorithm is tuned to + compress them better. The effect of Z_FILTERED is to force more Huffman + coding and less string matching; it is somewhat intermediate between + Z_DEFAULT_STRATEGY and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as + fast as Z_HUFFMAN_ONLY, but give better compression for PNG image data. The + strategy parameter only affects the compression ratio but not the + correctness of the compressed output even if it is not set appropriately. + Z_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler + decoder for special applications. + + deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_STREAM_ERROR if any parameter is invalid (such as an invalid + method), or Z_VERSION_ERROR if the zlib library version (zlib_version) is + incompatible with the version assumed by the caller (ZLIB_VERSION). msg is + set to null if there is no error message. deflateInit2 does not perform any + compression: this will be done by deflate(). +*/ + +ZEXTERN int ZEXPORT deflateSetDictionary(z_streamp strm, + const Bytef *dictionary, + uInt dictLength); +/* + Initializes the compression dictionary from the given byte sequence + without producing any compressed output. When using the zlib format, this + function must be called immediately after deflateInit, deflateInit2 or + deflateReset, and before any call of deflate. When doing raw deflate, this + function must be called either before any call of deflate, or immediately + after the completion of a deflate block, i.e. after all input has been + consumed and all output has been delivered when using any of the flush + options Z_BLOCK, Z_PARTIAL_FLUSH, Z_SYNC_FLUSH, or Z_FULL_FLUSH. The + compressor and decompressor must use exactly the same dictionary (see + inflateSetDictionary). + + The dictionary should consist of strings (byte sequences) that are likely + to be encountered later in the data to be compressed, with the most commonly + used strings preferably put towards the end of the dictionary. Using a + dictionary is most useful when the data to be compressed is short and can be + predicted with good accuracy; the data can then be compressed better than + with the default empty dictionary. + + Depending on the size of the compression data structures selected by + deflateInit or deflateInit2, a part of the dictionary may in effect be + discarded, for example if the dictionary is larger than the window size + provided in deflateInit or deflateInit2. Thus the strings most likely to be + useful should be put at the end of the dictionary, not at the front. In + addition, the current implementation of deflate will use at most the window + size minus 262 bytes of the provided dictionary. + + Upon return of this function, strm->adler is set to the Adler-32 value + of the dictionary; the decompressor may later use this value to determine + which dictionary has been used by the compressor. (The Adler-32 value + applies to the whole dictionary even if only a subset of the dictionary is + actually used by the compressor.) If a raw deflate was requested, then the + Adler-32 value is not computed and strm->adler is not set. + + deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a + parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is + inconsistent (for example if deflate has already been called for this stream + or if not at a block boundary for raw deflate). deflateSetDictionary does + not perform any compression: this will be done by deflate(). +*/ + +ZEXTERN int ZEXPORT deflateGetDictionary(z_streamp strm, + Bytef *dictionary, + uInt *dictLength); +/* + Returns the sliding dictionary being maintained by deflate. dictLength is + set to the number of bytes in the dictionary, and that many bytes are copied + to dictionary. dictionary must have enough space, where 32768 bytes is + always enough. If deflateGetDictionary() is called with dictionary equal to + Z_NULL, then only the dictionary length is returned, and nothing is copied. + Similarly, if dictLength is Z_NULL, then it is not set. + + deflateGetDictionary() may return a length less than the window size, even + when more than the window size in input has been provided. It may return up + to 258 bytes less in that case, due to how zlib's implementation of deflate + manages the sliding window and lookahead for matches, where matches can be + up to 258 bytes long. If the application needs the last window-size bytes of + input, then that would need to be saved by the application outside of zlib. + + deflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the + stream state is inconsistent. +*/ + +ZEXTERN int ZEXPORT deflateCopy(z_streamp dest, + z_streamp source); +/* + Sets the destination stream as a complete copy of the source stream. + + This function can be useful when several compression strategies will be + tried, for example when there are several ways of pre-processing the input + data with a filter. The streams that will be discarded should then be freed + by calling deflateEnd. Note that deflateCopy duplicates the internal + compression state which can be quite large, so this strategy is slow and can + consume lots of memory. + + deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not + enough memory, Z_STREAM_ERROR if the source stream state was inconsistent + (such as zalloc being Z_NULL). msg is left unchanged in both source and + destination. +*/ + +ZEXTERN int ZEXPORT deflateReset(z_streamp strm); +/* + This function is equivalent to deflateEnd followed by deflateInit, but + does not free and reallocate the internal compression state. The stream + will leave the compression level and any other attributes that may have been + set unchanged. total_in, total_out, adler, and msg are initialized. + + deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent (such as zalloc or state being Z_NULL). +*/ + +ZEXTERN int ZEXPORT deflateParams(z_streamp strm, + int level, + int strategy); +/* + Dynamically update the compression level and compression strategy. The + interpretation of level and strategy is as in deflateInit2(). This can be + used to switch between compression and straight copy of the input data, or + to switch to a different kind of input data requiring a different strategy. + If the compression approach (which is a function of the level) or the + strategy is changed, and if there have been any deflate() calls since the + state was initialized or reset, then the input available so far is + compressed with the old level and strategy using deflate(strm, Z_BLOCK). + There are three approaches for the compression levels 0, 1..3, and 4..9 + respectively. The new level and strategy will take effect at the next call + of deflate(). + + If a deflate(strm, Z_BLOCK) is performed by deflateParams(), and it does + not have enough output space to complete, then the parameter change will not + take effect. In this case, deflateParams() can be called again with the + same parameters and more output space to try again. + + In order to assure a change in the parameters on the first try, the + deflate stream should be flushed using deflate() with Z_BLOCK or other flush + request until strm.avail_out is not zero, before calling deflateParams(). + Then no more input data should be provided before the deflateParams() call. + If this is done, the old level and strategy will be applied to the data + compressed before deflateParams(), and the new level and strategy will be + applied to the data compressed after deflateParams(). + + deflateParams returns Z_OK on success, Z_STREAM_ERROR if the source stream + state was inconsistent or if a parameter was invalid, or Z_BUF_ERROR if + there was not enough output space to complete the compression of the + available input data before a change in the strategy or approach. Note that + in the case of a Z_BUF_ERROR, the parameters are not changed. A return + value of Z_BUF_ERROR is not fatal, in which case deflateParams() can be + retried with more output space. +*/ + +ZEXTERN int ZEXPORT deflateTune(z_streamp strm, + int good_length, + int max_lazy, + int nice_length, + int max_chain); +/* + Fine tune deflate's internal compression parameters. This should only be + used by someone who understands the algorithm used by zlib's deflate for + searching for the best matching string, and even then only by the most + fanatic optimizer trying to squeeze out the last compressed bit for their + specific input data. Read the deflate.c source code for the meaning of the + max_lazy, good_length, nice_length, and max_chain parameters. + + deflateTune() can be called after deflateInit() or deflateInit2(), and + returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream. + */ + +ZEXTERN uLong ZEXPORT deflateBound(z_streamp strm, + uLong sourceLen); +/* + deflateBound() returns an upper bound on the compressed size after + deflation of sourceLen bytes. It must be called after deflateInit() or + deflateInit2(), and after deflateSetHeader(), if used. This would be used + to allocate an output buffer for deflation in a single pass, and so would be + called before deflate(). If that first deflate() call is provided the + sourceLen input bytes, an output buffer allocated to the size returned by + deflateBound(), and the flush value Z_FINISH, then deflate() is guaranteed + to return Z_STREAM_END. Note that it is possible for the compressed size to + be larger than the value returned by deflateBound() if flush options other + than Z_FINISH or Z_NO_FLUSH are used. +*/ + +ZEXTERN int ZEXPORT deflatePending(z_streamp strm, + unsigned *pending, + int *bits); +/* + deflatePending() returns the number of bytes and bits of output that have + been generated, but not yet provided in the available output. The bytes not + provided would be due to the available output space having being consumed. + The number of bits of output not provided are between 0 and 7, where they + await more bits to join them in order to fill out a full byte. If pending + or bits are Z_NULL, then those values are not set. + + deflatePending returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. + */ + +ZEXTERN int ZEXPORT deflatePrime(z_streamp strm, + int bits, + int value); +/* + deflatePrime() inserts bits in the deflate output stream. The intent + is that this function is used to start off the deflate output with the bits + leftover from a previous deflate stream when appending to it. As such, this + function can only be used for raw deflate, and must be used before the first + deflate() call after a deflateInit2() or deflateReset(). bits must be less + than or equal to 16, and that many of the least significant bits of value + will be inserted in the output. + + deflatePrime returns Z_OK if success, Z_BUF_ERROR if there was not enough + room in the internal buffer to insert the bits, or Z_STREAM_ERROR if the + source stream state was inconsistent. +*/ + +ZEXTERN int ZEXPORT deflateSetHeader(z_streamp strm, + gz_headerp head); +/* + deflateSetHeader() provides gzip header information for when a gzip + stream is requested by deflateInit2(). deflateSetHeader() may be called + after deflateInit2() or deflateReset() and before the first call of + deflate(). The text, time, os, extra field, name, and comment information + in the provided gz_header structure are written to the gzip header (xflag is + ignored -- the extra flags are set according to the compression level). The + caller must assure that, if not Z_NULL, name and comment are terminated with + a zero byte, and that if extra is not Z_NULL, that extra_len bytes are + available there. If hcrc is true, a gzip header crc is included. Note that + the current versions of the command-line version of gzip (up through version + 1.3.x) do not support header crc's, and will report that it is a "multi-part + gzip file" and give up. + + If deflateSetHeader is not used, the default gzip header has text false, + the time set to zero, and os set to the current operating system, with no + extra, name, or comment fields. The gzip header is returned to the default + state by deflateReset(). + + deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. +*/ + +/* +ZEXTERN int ZEXPORT inflateInit2(z_streamp strm, + int windowBits); + + This is another version of inflateInit with an extra parameter. The + fields next_in, avail_in, zalloc, zfree and opaque must be initialized + before by the caller. + + The windowBits parameter is the base two logarithm of the maximum window + size (the size of the history buffer). It should be in the range 8..15 for + this version of the library. The default value is 15 if inflateInit is used + instead. windowBits must be greater than or equal to the windowBits value + provided to deflateInit2() while compressing, or it must be equal to 15 if + deflateInit2() was not used. If a compressed stream with a larger window + size is given as input, inflate() will return with the error code + Z_DATA_ERROR instead of trying to allocate a larger window. + + windowBits can also be zero to request that inflate use the window size in + the zlib header of the compressed stream. + + windowBits can also be -8..-15 for raw inflate. In this case, -windowBits + determines the window size. inflate() will then process raw deflate data, + not looking for a zlib or gzip header, not generating a check value, and not + looking for any check values for comparison at the end of the stream. This + is for use with other formats that use the deflate compressed data format + such as zip. Those formats provide their own check values. If a custom + format is developed using the raw deflate format for compressed data, it is + recommended that a check value such as an Adler-32 or a CRC-32 be applied to + the uncompressed data as is done in the zlib, gzip, and zip formats. For + most applications, the zlib format should be used as is. Note that comments + above on the use in deflateInit2() applies to the magnitude of windowBits. + + windowBits can also be greater than 15 for optional gzip decoding. Add + 32 to windowBits to enable zlib and gzip decoding with automatic header + detection, or add 16 to decode only the gzip format (the zlib format will + return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a + CRC-32 instead of an Adler-32. Unlike the gunzip utility and gzread() (see + below), inflate() will *not* automatically decode concatenated gzip members. + inflate() will return Z_STREAM_END at the end of the gzip member. The state + would need to be reset to continue decoding a subsequent gzip member. This + *must* be done if there is more data after a gzip member, in order for the + decompression to be compliant with the gzip standard (RFC 1952). + + inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_VERSION_ERROR if the zlib library version is incompatible with the + version assumed by the caller, or Z_STREAM_ERROR if the parameters are + invalid, such as a null pointer to the structure. msg is set to null if + there is no error message. inflateInit2 does not perform any decompression + apart from possibly reading the zlib header if present: actual decompression + will be done by inflate(). (So next_in and avail_in may be modified, but + next_out and avail_out are unused and unchanged.) The current implementation + of inflateInit2() does not process any header information -- that is + deferred until inflate() is called. +*/ + +ZEXTERN int ZEXPORT inflateSetDictionary(z_streamp strm, + const Bytef *dictionary, + uInt dictLength); +/* + Initializes the decompression dictionary from the given uncompressed byte + sequence. This function must be called immediately after a call of inflate, + if that call returned Z_NEED_DICT. The dictionary chosen by the compressor + can be determined from the Adler-32 value returned by that call of inflate. + The compressor and decompressor must use exactly the same dictionary (see + deflateSetDictionary). For raw inflate, this function can be called at any + time to set the dictionary. If the provided dictionary is smaller than the + window and there is already data in the window, then the provided dictionary + will amend what's there. The application must insure that the dictionary + that was used for compression is provided. + + inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a + parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is + inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the + expected one (incorrect Adler-32 value). inflateSetDictionary does not + perform any decompression: this will be done by subsequent calls of + inflate(). +*/ + +ZEXTERN int ZEXPORT inflateGetDictionary(z_streamp strm, + Bytef *dictionary, + uInt *dictLength); +/* + Returns the sliding dictionary being maintained by inflate. dictLength is + set to the number of bytes in the dictionary, and that many bytes are copied + to dictionary. dictionary must have enough space, where 32768 bytes is + always enough. If inflateGetDictionary() is called with dictionary equal to + Z_NULL, then only the dictionary length is returned, and nothing is copied. + Similarly, if dictLength is Z_NULL, then it is not set. + + inflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the + stream state is inconsistent. +*/ + +ZEXTERN int ZEXPORT inflateSync(z_streamp strm); +/* + Skips invalid compressed data until a possible full flush point (see above + for the description of deflate with Z_FULL_FLUSH) can be found, or until all + available input is skipped. No output is provided. + + inflateSync searches for a 00 00 FF FF pattern in the compressed data. + All full flush points have this pattern, but not all occurrences of this + pattern are full flush points. + + inflateSync returns Z_OK if a possible full flush point has been found, + Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point + has been found, or Z_STREAM_ERROR if the stream structure was inconsistent. + In the success case, the application may save the current value of total_in + which indicates where valid compressed data was found. In the error case, + the application may repeatedly call inflateSync, providing more input each + time, until success or end of the input data. +*/ + +ZEXTERN int ZEXPORT inflateCopy(z_streamp dest, + z_streamp source); +/* + Sets the destination stream as a complete copy of the source stream. + + This function can be useful when randomly accessing a large stream. The + first pass through the stream can periodically record the inflate state, + allowing restarting inflate at those points when randomly accessing the + stream. + + inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not + enough memory, Z_STREAM_ERROR if the source stream state was inconsistent + (such as zalloc being Z_NULL). msg is left unchanged in both source and + destination. +*/ + +ZEXTERN int ZEXPORT inflateReset(z_streamp strm); +/* + This function is equivalent to inflateEnd followed by inflateInit, + but does not free and reallocate the internal decompression state. The + stream will keep attributes that may have been set by inflateInit2. + total_in, total_out, adler, and msg are initialized. + + inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent (such as zalloc or state being Z_NULL). +*/ + +ZEXTERN int ZEXPORT inflateReset2(z_streamp strm, + int windowBits); +/* + This function is the same as inflateReset, but it also permits changing + the wrap and window size requests. The windowBits parameter is interpreted + the same as it is for inflateInit2. If the window size is changed, then the + memory allocated for the window is freed, and the window will be reallocated + by inflate() if needed. + + inflateReset2 returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent (such as zalloc or state being Z_NULL), or if + the windowBits parameter is invalid. +*/ + +ZEXTERN int ZEXPORT inflatePrime(z_streamp strm, + int bits, + int value); +/* + This function inserts bits in the inflate input stream. The intent is + that this function is used to start inflating at a bit position in the + middle of a byte. The provided bits will be used before any bytes are used + from next_in. This function should only be used with raw inflate, and + should be used before the first inflate() call after inflateInit2() or + inflateReset(). bits must be less than or equal to 16, and that many of the + least significant bits of value will be inserted in the input. + + If bits is negative, then the input stream bit buffer is emptied. Then + inflatePrime() can be called again to put bits in the buffer. This is used + to clear out bits leftover after feeding inflate a block description prior + to feeding inflate codes. + + inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. +*/ + +ZEXTERN long ZEXPORT inflateMark(z_streamp strm); +/* + This function returns two values, one in the lower 16 bits of the return + value, and the other in the remaining upper bits, obtained by shifting the + return value down 16 bits. If the upper value is -1 and the lower value is + zero, then inflate() is currently decoding information outside of a block. + If the upper value is -1 and the lower value is non-zero, then inflate is in + the middle of a stored block, with the lower value equaling the number of + bytes from the input remaining to copy. If the upper value is not -1, then + it is the number of bits back from the current bit position in the input of + the code (literal or length/distance pair) currently being processed. In + that case the lower value is the number of bytes already emitted for that + code. + + A code is being processed if inflate is waiting for more input to complete + decoding of the code, or if it has completed decoding but is waiting for + more output space to write the literal or match data. + + inflateMark() is used to mark locations in the input data for random + access, which may be at bit positions, and to note those cases where the + output of a code may span boundaries of random access blocks. The current + location in the input stream can be determined from avail_in and data_type + as noted in the description for the Z_BLOCK flush parameter for inflate. + + inflateMark returns the value noted above, or -65536 if the provided + source stream state was inconsistent. +*/ + +ZEXTERN int ZEXPORT inflateGetHeader(z_streamp strm, + gz_headerp head); +/* + inflateGetHeader() requests that gzip header information be stored in the + provided gz_header structure. inflateGetHeader() may be called after + inflateInit2() or inflateReset(), and before the first call of inflate(). + As inflate() processes the gzip stream, head->done is zero until the header + is completed, at which time head->done is set to one. If a zlib stream is + being decoded, then head->done is set to -1 to indicate that there will be + no gzip header information forthcoming. Note that Z_BLOCK or Z_TREES can be + used to force inflate() to return immediately after header processing is + complete and before any actual data is decompressed. + + The text, time, xflags, and os fields are filled in with the gzip header + contents. hcrc is set to true if there is a header CRC. (The header CRC + was valid if done is set to one.) If extra is not Z_NULL, then extra_max + contains the maximum number of bytes to write to extra. Once done is true, + extra_len contains the actual extra field length, and extra contains the + extra field, or that field truncated if extra_max is less than extra_len. + If name is not Z_NULL, then up to name_max characters are written there, + terminated with a zero unless the length is greater than name_max. If + comment is not Z_NULL, then up to comm_max characters are written there, + terminated with a zero unless the length is greater than comm_max. When any + of extra, name, or comment are not Z_NULL and the respective field is not + present in the header, then that field is set to Z_NULL to signal its + absence. This allows the use of deflateSetHeader() with the returned + structure to duplicate the header. However if those fields are set to + allocated memory, then the application will need to save those pointers + elsewhere so that they can be eventually freed. + + If inflateGetHeader is not used, then the header information is simply + discarded. The header is always checked for validity, including the header + CRC if present. inflateReset() will reset the process to discard the header + information. The application would need to call inflateGetHeader() again to + retrieve the header from the next gzip stream. + + inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. +*/ + +/* +ZEXTERN int ZEXPORT inflateBackInit(z_streamp strm, int windowBits, + unsigned char FAR *window); + + Initialize the internal stream state for decompression using inflateBack() + calls. The fields zalloc, zfree and opaque in strm must be initialized + before the call. If zalloc and zfree are Z_NULL, then the default library- + derived memory allocation routines are used. windowBits is the base two + logarithm of the window size, in the range 8..15. window is a caller + supplied buffer of that size. Except for special applications where it is + assured that deflate was used with small window sizes, windowBits must be 15 + and a 32K byte window must be supplied to be able to decompress general + deflate streams. + + See inflateBack() for the usage of these routines. + + inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of + the parameters are invalid, Z_MEM_ERROR if the internal state could not be + allocated, or Z_VERSION_ERROR if the version of the library does not match + the version of the header file. +*/ + +typedef unsigned (*in_func)(void FAR *, + z_const unsigned char FAR * FAR *); +typedef int (*out_func)(void FAR *, unsigned char FAR *, unsigned); + +ZEXTERN int ZEXPORT inflateBack(z_streamp strm, + in_func in, void FAR *in_desc, + out_func out, void FAR *out_desc); +/* + inflateBack() does a raw inflate with a single call using a call-back + interface for input and output. This is potentially more efficient than + inflate() for file i/o applications, in that it avoids copying between the + output and the sliding window by simply making the window itself the output + buffer. inflate() can be faster on modern CPUs when used with large + buffers. inflateBack() trusts the application to not change the output + buffer passed by the output function, at least until inflateBack() returns. + + inflateBackInit() must be called first to allocate the internal state + and to initialize the state with the user-provided window buffer. + inflateBack() may then be used multiple times to inflate a complete, raw + deflate stream with each call. inflateBackEnd() is then called to free the + allocated state. + + A raw deflate stream is one with no zlib or gzip header or trailer. + This routine would normally be used in a utility that reads zip or gzip + files and writes out uncompressed files. The utility would decode the + header and process the trailer on its own, hence this routine expects only + the raw deflate stream to decompress. This is different from the default + behavior of inflate(), which expects a zlib header and trailer around the + deflate stream. + + inflateBack() uses two subroutines supplied by the caller that are then + called by inflateBack() for input and output. inflateBack() calls those + routines until it reads a complete deflate stream and writes out all of the + uncompressed data, or until it encounters an error. The function's + parameters and return types are defined above in the in_func and out_func + typedefs. inflateBack() will call in(in_desc, &buf) which should return the + number of bytes of provided input, and a pointer to that input in buf. If + there is no input available, in() must return zero -- buf is ignored in that + case -- and inflateBack() will return a buffer error. inflateBack() will + call out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. + out() should return zero on success, or non-zero on failure. If out() + returns non-zero, inflateBack() will return with an error. Neither in() nor + out() are permitted to change the contents of the window provided to + inflateBackInit(), which is also the buffer that out() uses to write from. + The length written by out() will be at most the window size. Any non-zero + amount of input may be provided by in(). + + For convenience, inflateBack() can be provided input on the first call by + setting strm->next_in and strm->avail_in. If that input is exhausted, then + in() will be called. Therefore strm->next_in must be initialized before + calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called + immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in + must also be initialized, and then if strm->avail_in is not zero, input will + initially be taken from strm->next_in[0 .. strm->avail_in - 1]. + + The in_desc and out_desc parameters of inflateBack() is passed as the + first parameter of in() and out() respectively when they are called. These + descriptors can be optionally used to pass any information that the caller- + supplied in() and out() functions need to do their job. + + On return, inflateBack() will set strm->next_in and strm->avail_in to + pass back any unused input that was provided by the last in() call. The + return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR + if in() or out() returned an error, Z_DATA_ERROR if there was a format error + in the deflate stream (in which case strm->msg is set to indicate the nature + of the error), or Z_STREAM_ERROR if the stream was not properly initialized. + In the case of Z_BUF_ERROR, an input or output error can be distinguished + using strm->next_in which will be Z_NULL only if in() returned an error. If + strm->next_in is not Z_NULL, then the Z_BUF_ERROR was due to out() returning + non-zero. (in() will always be called before out(), so strm->next_in is + assured to be defined if out() returns non-zero.) Note that inflateBack() + cannot return Z_OK. +*/ + +ZEXTERN int ZEXPORT inflateBackEnd(z_streamp strm); +/* + All memory allocated by inflateBackInit() is freed. + + inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream + state was inconsistent. +*/ + +ZEXTERN uLong ZEXPORT zlibCompileFlags(void); +/* Return flags indicating compile-time options. + + Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other: + 1.0: size of uInt + 3.2: size of uLong + 5.4: size of voidpf (pointer) + 7.6: size of z_off_t + + Compiler, assembler, and debug options: + 8: ZLIB_DEBUG + 9: ASMV or ASMINF -- use ASM code + 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention + 11: 0 (reserved) + + One-time table building (smaller code, but not thread-safe if true): + 12: BUILDFIXED -- build static block decoding tables when needed + 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed + 14,15: 0 (reserved) + + Library content (indicates missing functionality): + 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking + deflate code when not needed) + 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect + and decode gzip streams (to avoid linking crc code) + 18-19: 0 (reserved) + + Operation variations (changes in library functionality): + 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate + 21: FASTEST -- deflate algorithm with only one, lowest compression level + 22,23: 0 (reserved) + + The sprintf variant used by gzprintf (zero is best): + 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format + 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure! + 26: 0 = returns value, 1 = void -- 1 means inferred string length returned + + Remainder: + 27-31: 0 (reserved) + */ + +#ifndef Z_SOLO + + /* utility functions */ + +/* + The following utility functions are implemented on top of the basic + stream-oriented functions. To simplify the interface, some default options + are assumed (compression level and memory usage, standard memory allocation + functions). The source code of these utility functions can be modified if + you need special options. +*/ + +ZEXTERN int ZEXPORT compress(Bytef *dest, uLongf *destLen, + const Bytef *source, uLong sourceLen); +/* + Compresses the source buffer into the destination buffer. sourceLen is + the byte length of the source buffer. Upon entry, destLen is the total size + of the destination buffer, which must be at least the value returned by + compressBound(sourceLen). Upon exit, destLen is the actual size of the + compressed data. compress() is equivalent to compress2() with a level + parameter of Z_DEFAULT_COMPRESSION. + + compress returns Z_OK if success, Z_MEM_ERROR if there was not + enough memory, Z_BUF_ERROR if there was not enough room in the output + buffer. +*/ + +ZEXTERN int ZEXPORT compress2(Bytef *dest, uLongf *destLen, + const Bytef *source, uLong sourceLen, + int level); +/* + Compresses the source buffer into the destination buffer. The level + parameter has the same meaning as in deflateInit. sourceLen is the byte + length of the source buffer. Upon entry, destLen is the total size of the + destination buffer, which must be at least the value returned by + compressBound(sourceLen). Upon exit, destLen is the actual size of the + compressed data. + + compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_BUF_ERROR if there was not enough room in the output buffer, + Z_STREAM_ERROR if the level parameter is invalid. +*/ + +ZEXTERN uLong ZEXPORT compressBound(uLong sourceLen); +/* + compressBound() returns an upper bound on the compressed size after + compress() or compress2() on sourceLen bytes. It would be used before a + compress() or compress2() call to allocate the destination buffer. +*/ + +ZEXTERN int ZEXPORT uncompress(Bytef *dest, uLongf *destLen, + const Bytef *source, uLong sourceLen); +/* + Decompresses the source buffer into the destination buffer. sourceLen is + the byte length of the source buffer. Upon entry, destLen is the total size + of the destination buffer, which must be large enough to hold the entire + uncompressed data. (The size of the uncompressed data must have been saved + previously by the compressor and transmitted to the decompressor by some + mechanism outside the scope of this compression library.) Upon exit, destLen + is the actual size of the uncompressed data. + + uncompress returns Z_OK if success, Z_MEM_ERROR if there was not + enough memory, Z_BUF_ERROR if there was not enough room in the output + buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete. In + the case where there is not enough room, uncompress() will fill the output + buffer with the uncompressed data up to that point. +*/ + +ZEXTERN int ZEXPORT uncompress2(Bytef *dest, uLongf *destLen, + const Bytef *source, uLong *sourceLen); +/* + Same as uncompress, except that sourceLen is a pointer, where the + length of the source is *sourceLen. On return, *sourceLen is the number of + source bytes consumed. +*/ + + /* gzip file access functions */ + +/* + This library supports reading and writing files in gzip (.gz) format with + an interface similar to that of stdio, using the functions that start with + "gz". The gzip format is different from the zlib format. gzip is a gzip + wrapper, documented in RFC 1952, wrapped around a deflate stream. +*/ + +typedef struct gzFile_s *gzFile; /* semi-opaque gzip file descriptor */ + +/* +ZEXTERN gzFile ZEXPORT gzopen(const char *path, const char *mode); + + Open the gzip (.gz) file at path for reading and decompressing, or + compressing and writing. The mode parameter is as in fopen ("rb" or "wb") + but can also include a compression level ("wb9") or a strategy: 'f' for + filtered data as in "wb6f", 'h' for Huffman-only compression as in "wb1h", + 'R' for run-length encoding as in "wb1R", or 'F' for fixed code compression + as in "wb9F". (See the description of deflateInit2 for more information + about the strategy parameter.) 'T' will request transparent writing or + appending with no compression and not using the gzip format. + + "a" can be used instead of "w" to request that the gzip stream that will + be written be appended to the file. "+" will result in an error, since + reading and writing to the same gzip file is not supported. The addition of + "x" when writing will create the file exclusively, which fails if the file + already exists. On systems that support it, the addition of "e" when + reading or writing will set the flag to close the file on an execve() call. + + These functions, as well as gzip, will read and decode a sequence of gzip + streams in a file. The append function of gzopen() can be used to create + such a file. (Also see gzflush() for another way to do this.) When + appending, gzopen does not test whether the file begins with a gzip stream, + nor does it look for the end of the gzip streams to begin appending. gzopen + will simply append a gzip stream to the existing file. + + gzopen can be used to read a file which is not in gzip format; in this + case gzread will directly read from the file without decompression. When + reading, this will be detected automatically by looking for the magic two- + byte gzip header. + + gzopen returns NULL if the file could not be opened, if there was + insufficient memory to allocate the gzFile state, or if an invalid mode was + specified (an 'r', 'w', or 'a' was not provided, or '+' was provided). + errno can be checked to determine if the reason gzopen failed was that the + file could not be opened. +*/ + +ZEXTERN gzFile ZEXPORT gzdopen(int fd, const char *mode); +/* + Associate a gzFile with the file descriptor fd. File descriptors are + obtained from calls like open, dup, creat, pipe or fileno (if the file has + been previously opened with fopen). The mode parameter is as in gzopen. + + The next call of gzclose on the returned gzFile will also close the file + descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor + fd. If you want to keep fd open, use fd = dup(fd_keep); gz = gzdopen(fd, + mode);. The duplicated descriptor should be saved to avoid a leak, since + gzdopen does not close fd if it fails. If you are using fileno() to get the + file descriptor from a FILE *, then you will have to use dup() to avoid + double-close()ing the file descriptor. Both gzclose() and fclose() will + close the associated file descriptor, so they need to have different file + descriptors. + + gzdopen returns NULL if there was insufficient memory to allocate the + gzFile state, if an invalid mode was specified (an 'r', 'w', or 'a' was not + provided, or '+' was provided), or if fd is -1. The file descriptor is not + used until the next gz* read, write, seek, or close operation, so gzdopen + will not detect if fd is invalid (unless fd is -1). +*/ + +ZEXTERN int ZEXPORT gzbuffer(gzFile file, unsigned size); +/* + Set the internal buffer size used by this library's functions for file to + size. The default buffer size is 8192 bytes. This function must be called + after gzopen() or gzdopen(), and before any other calls that read or write + the file. The buffer memory allocation is always deferred to the first read + or write. Three times that size in buffer space is allocated. A larger + buffer size of, for example, 64K or 128K bytes will noticeably increase the + speed of decompression (reading). + + The new buffer size also affects the maximum length for gzprintf(). + + gzbuffer() returns 0 on success, or -1 on failure, such as being called + too late. +*/ + +ZEXTERN int ZEXPORT gzsetparams(gzFile file, int level, int strategy); +/* + Dynamically update the compression level and strategy for file. See the + description of deflateInit2 for the meaning of these parameters. Previously + provided data is flushed before applying the parameter changes. + + gzsetparams returns Z_OK if success, Z_STREAM_ERROR if the file was not + opened for writing, Z_ERRNO if there is an error writing the flushed data, + or Z_MEM_ERROR if there is a memory allocation error. +*/ + +ZEXTERN int ZEXPORT gzread(gzFile file, voidp buf, unsigned len); +/* + Read and decompress up to len uncompressed bytes from file into buf. If + the input file is not in gzip format, gzread copies the given number of + bytes into the buffer directly from the file. + + After reaching the end of a gzip stream in the input, gzread will continue + to read, looking for another gzip stream. Any number of gzip streams may be + concatenated in the input file, and will all be decompressed by gzread(). + If something other than a gzip stream is encountered after a gzip stream, + that remaining trailing garbage is ignored (and no error is returned). + + gzread can be used to read a gzip file that is being concurrently written. + Upon reaching the end of the input, gzread will return with the available + data. If the error code returned by gzerror is Z_OK or Z_BUF_ERROR, then + gzclearerr can be used to clear the end of file indicator in order to permit + gzread to be tried again. Z_OK indicates that a gzip stream was completed + on the last gzread. Z_BUF_ERROR indicates that the input file ended in the + middle of a gzip stream. Note that gzread does not return -1 in the event + of an incomplete gzip stream. This error is deferred until gzclose(), which + will return Z_BUF_ERROR if the last gzread ended in the middle of a gzip + stream. Alternatively, gzerror can be used before gzclose to detect this + case. + + gzread returns the number of uncompressed bytes actually read, less than + len for end of file, or -1 for error. If len is too large to fit in an int, + then nothing is read, -1 is returned, and the error state is set to + Z_STREAM_ERROR. +*/ + +ZEXTERN z_size_t ZEXPORT gzfread(voidp buf, z_size_t size, z_size_t nitems, + gzFile file); +/* + Read and decompress up to nitems items of size size from file into buf, + otherwise operating as gzread() does. This duplicates the interface of + stdio's fread(), with size_t request and return types. If the library + defines size_t, then z_size_t is identical to size_t. If not, then z_size_t + is an unsigned integer type that can contain a pointer. + + gzfread() returns the number of full items read of size size, or zero if + the end of the file was reached and a full item could not be read, or if + there was an error. gzerror() must be consulted if zero is returned in + order to determine if there was an error. If the multiplication of size and + nitems overflows, i.e. the product does not fit in a z_size_t, then nothing + is read, zero is returned, and the error state is set to Z_STREAM_ERROR. + + In the event that the end of file is reached and only a partial item is + available at the end, i.e. the remaining uncompressed data length is not a + multiple of size, then the final partial item is nevertheless read into buf + and the end-of-file flag is set. The length of the partial item read is not + provided, but could be inferred from the result of gztell(). This behavior + is the same as the behavior of fread() implementations in common libraries, + but it prevents the direct use of gzfread() to read a concurrently written + file, resetting and retrying on end-of-file, when size is not 1. +*/ + +ZEXTERN int ZEXPORT gzwrite(gzFile file, voidpc buf, unsigned len); +/* + Compress and write the len uncompressed bytes at buf to file. gzwrite + returns the number of uncompressed bytes written or 0 in case of error. +*/ + +ZEXTERN z_size_t ZEXPORT gzfwrite(voidpc buf, z_size_t size, + z_size_t nitems, gzFile file); +/* + Compress and write nitems items of size size from buf to file, duplicating + the interface of stdio's fwrite(), with size_t request and return types. If + the library defines size_t, then z_size_t is identical to size_t. If not, + then z_size_t is an unsigned integer type that can contain a pointer. + + gzfwrite() returns the number of full items written of size size, or zero + if there was an error. If the multiplication of size and nitems overflows, + i.e. the product does not fit in a z_size_t, then nothing is written, zero + is returned, and the error state is set to Z_STREAM_ERROR. +*/ + +ZEXTERN int ZEXPORTVA gzprintf(gzFile file, const char *format, ...); +/* + Convert, format, compress, and write the arguments (...) to file under + control of the string format, as in fprintf. gzprintf returns the number of + uncompressed bytes actually written, or a negative zlib error code in case + of error. The number of uncompressed bytes written is limited to 8191, or + one less than the buffer size given to gzbuffer(). The caller should assure + that this limit is not exceeded. If it is exceeded, then gzprintf() will + return an error (0) with nothing written. In this case, there may also be a + buffer overflow with unpredictable consequences, which is possible only if + zlib was compiled with the insecure functions sprintf() or vsprintf(), + because the secure snprintf() or vsnprintf() functions were not available. + This can be determined using zlibCompileFlags(). +*/ + +ZEXTERN int ZEXPORT gzputs(gzFile file, const char *s); +/* + Compress and write the given null-terminated string s to file, excluding + the terminating null character. + + gzputs returns the number of characters written, or -1 in case of error. +*/ + +ZEXTERN char * ZEXPORT gzgets(gzFile file, char *buf, int len); +/* + Read and decompress bytes from file into buf, until len-1 characters are + read, or until a newline character is read and transferred to buf, or an + end-of-file condition is encountered. If any characters are read or if len + is one, the string is terminated with a null character. If no characters + are read due to an end-of-file or len is less than one, then the buffer is + left untouched. + + gzgets returns buf which is a null-terminated string, or it returns NULL + for end-of-file or in case of error. If there was an error, the contents at + buf are indeterminate. +*/ + +ZEXTERN int ZEXPORT gzputc(gzFile file, int c); +/* + Compress and write c, converted to an unsigned char, into file. gzputc + returns the value that was written, or -1 in case of error. +*/ + +ZEXTERN int ZEXPORT gzgetc(gzFile file); +/* + Read and decompress one byte from file. gzgetc returns this byte or -1 + in case of end of file or error. This is implemented as a macro for speed. + As such, it does not do all of the checking the other functions do. I.e. + it does not check to see if file is NULL, nor whether the structure file + points to has been clobbered or not. +*/ + +ZEXTERN int ZEXPORT gzungetc(int c, gzFile file); +/* + Push c back onto the stream for file to be read as the first character on + the next read. At least one character of push-back is always allowed. + gzungetc() returns the character pushed, or -1 on failure. gzungetc() will + fail if c is -1, and may fail if a character has been pushed but not read + yet. If gzungetc is used immediately after gzopen or gzdopen, at least the + output buffer size of pushed characters is allowed. (See gzbuffer above.) + The pushed character will be discarded if the stream is repositioned with + gzseek() or gzrewind(). +*/ + +ZEXTERN int ZEXPORT gzflush(gzFile file, int flush); +/* + Flush all pending output to file. The parameter flush is as in the + deflate() function. The return value is the zlib error number (see function + gzerror below). gzflush is only permitted when writing. + + If the flush parameter is Z_FINISH, the remaining data is written and the + gzip stream is completed in the output. If gzwrite() is called again, a new + gzip stream will be started in the output. gzread() is able to read such + concatenated gzip streams. + + gzflush should be called only when strictly necessary because it will + degrade compression if called too often. +*/ + +/* +ZEXTERN z_off_t ZEXPORT gzseek(gzFile file, + z_off_t offset, int whence); + + Set the starting position to offset relative to whence for the next gzread + or gzwrite on file. The offset represents a number of bytes in the + uncompressed data stream. The whence parameter is defined as in lseek(2); + the value SEEK_END is not supported. + + If the file is opened for reading, this function is emulated but can be + extremely slow. If the file is opened for writing, only forward seeks are + supported; gzseek then compresses a sequence of zeroes up to the new + starting position. + + gzseek returns the resulting offset location as measured in bytes from + the beginning of the uncompressed stream, or -1 in case of error, in + particular if the file is opened for writing and the new starting position + would be before the current position. +*/ + +ZEXTERN int ZEXPORT gzrewind(gzFile file); +/* + Rewind file. This function is supported only for reading. + + gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET). +*/ + +/* +ZEXTERN z_off_t ZEXPORT gztell(gzFile file); + + Return the starting position for the next gzread or gzwrite on file. + This position represents a number of bytes in the uncompressed data stream, + and is zero when starting, even if appending or reading a gzip stream from + the middle of a file using gzdopen(). + + gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR) +*/ + +/* +ZEXTERN z_off_t ZEXPORT gzoffset(gzFile file); + + Return the current compressed (actual) read or write offset of file. This + offset includes the count of bytes that precede the gzip stream, for example + when appending or when using gzdopen() for reading. When reading, the + offset does not include as yet unused buffered input. This information can + be used for a progress indicator. On error, gzoffset() returns -1. +*/ + +ZEXTERN int ZEXPORT gzeof(gzFile file); +/* + Return true (1) if the end-of-file indicator for file has been set while + reading, false (0) otherwise. Note that the end-of-file indicator is set + only if the read tried to go past the end of the input, but came up short. + Therefore, just like feof(), gzeof() may return false even if there is no + more data to read, in the event that the last read request was for the exact + number of bytes remaining in the input file. This will happen if the input + file size is an exact multiple of the buffer size. + + If gzeof() returns true, then the read functions will return no more data, + unless the end-of-file indicator is reset by gzclearerr() and the input file + has grown since the previous end of file was detected. +*/ + +ZEXTERN int ZEXPORT gzdirect(gzFile file); +/* + Return true (1) if file is being copied directly while reading, or false + (0) if file is a gzip stream being decompressed. + + If the input file is empty, gzdirect() will return true, since the input + does not contain a gzip stream. + + If gzdirect() is used immediately after gzopen() or gzdopen() it will + cause buffers to be allocated to allow reading the file to determine if it + is a gzip file. Therefore if gzbuffer() is used, it should be called before + gzdirect(). + + When writing, gzdirect() returns true (1) if transparent writing was + requested ("wT" for the gzopen() mode), or false (0) otherwise. (Note: + gzdirect() is not needed when writing. Transparent writing must be + explicitly requested, so the application already knows the answer. When + linking statically, using gzdirect() will include all of the zlib code for + gzip file reading and decompression, which may not be desired.) +*/ + +ZEXTERN int ZEXPORT gzclose(gzFile file); +/* + Flush all pending output for file, if necessary, close file and + deallocate the (de)compression state. Note that once file is closed, you + cannot call gzerror with file, since its structures have been deallocated. + gzclose must not be called more than once on the same file, just as free + must not be called more than once on the same allocation. + + gzclose will return Z_STREAM_ERROR if file is not valid, Z_ERRNO on a + file operation error, Z_MEM_ERROR if out of memory, Z_BUF_ERROR if the + last read ended in the middle of a gzip stream, or Z_OK on success. +*/ + +ZEXTERN int ZEXPORT gzclose_r(gzFile file); +ZEXTERN int ZEXPORT gzclose_w(gzFile file); +/* + Same as gzclose(), but gzclose_r() is only for use when reading, and + gzclose_w() is only for use when writing or appending. The advantage to + using these instead of gzclose() is that they avoid linking in zlib + compression or decompression code that is not used when only reading or only + writing respectively. If gzclose() is used, then both compression and + decompression code will be included the application when linking to a static + zlib library. +*/ + +ZEXTERN const char * ZEXPORT gzerror(gzFile file, int *errnum); +/* + Return the error message for the last error which occurred on file. + errnum is set to zlib error number. If an error occurred in the file system + and not in the compression library, errnum is set to Z_ERRNO and the + application may consult errno to get the exact error code. + + The application must not modify the returned string. Future calls to + this function may invalidate the previously returned string. If file is + closed, then the string previously returned by gzerror will no longer be + available. + + gzerror() should be used to distinguish errors from end-of-file for those + functions above that do not distinguish those cases in their return values. +*/ + +ZEXTERN void ZEXPORT gzclearerr(gzFile file); +/* + Clear the error and end-of-file flags for file. This is analogous to the + clearerr() function in stdio. This is useful for continuing to read a gzip + file that is being written concurrently. +*/ + +#endif /* !Z_SOLO */ + + /* checksum functions */ + +/* + These functions are not related to compression but are exported + anyway because they might be useful in applications using the compression + library. +*/ + +ZEXTERN uLong ZEXPORT adler32(uLong adler, const Bytef *buf, uInt len); +/* + Update a running Adler-32 checksum with the bytes buf[0..len-1] and + return the updated checksum. An Adler-32 value is in the range of a 32-bit + unsigned integer. If buf is Z_NULL, this function returns the required + initial value for the checksum. + + An Adler-32 checksum is almost as reliable as a CRC-32 but can be computed + much faster. + + Usage example: + + uLong adler = adler32(0L, Z_NULL, 0); + + while (read_buffer(buffer, length) != EOF) { + adler = adler32(adler, buffer, length); + } + if (adler != original_adler) error(); +*/ + +ZEXTERN uLong ZEXPORT adler32_z(uLong adler, const Bytef *buf, + z_size_t len); +/* + Same as adler32(), but with a size_t length. +*/ + +/* +ZEXTERN uLong ZEXPORT adler32_combine(uLong adler1, uLong adler2, + z_off_t len2); + + Combine two Adler-32 checksums into one. For two sequences of bytes, seq1 + and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for + each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of + seq1 and seq2 concatenated, requiring only adler1, adler2, and len2. Note + that the z_off_t type (like off_t) is a signed integer. If len2 is + negative, the result has no meaning or utility. +*/ + +ZEXTERN uLong ZEXPORT crc32(uLong crc, const Bytef *buf, uInt len); +/* + Update a running CRC-32 with the bytes buf[0..len-1] and return the + updated CRC-32. A CRC-32 value is in the range of a 32-bit unsigned integer. + If buf is Z_NULL, this function returns the required initial value for the + crc. Pre- and post-conditioning (one's complement) is performed within this + function so it shouldn't be done by the application. + + Usage example: + + uLong crc = crc32(0L, Z_NULL, 0); + + while (read_buffer(buffer, length) != EOF) { + crc = crc32(crc, buffer, length); + } + if (crc != original_crc) error(); +*/ + +ZEXTERN uLong ZEXPORT crc32_z(uLong crc, const Bytef *buf, + z_size_t len); +/* + Same as crc32(), but with a size_t length. +*/ + +/* +ZEXTERN uLong ZEXPORT crc32_combine(uLong crc1, uLong crc2, z_off_t len2); + + Combine two CRC-32 check values into one. For two sequences of bytes, + seq1 and seq2 with lengths len1 and len2, CRC-32 check values were + calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32 + check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and + len2. len2 must be non-negative. +*/ + +/* +ZEXTERN uLong ZEXPORT crc32_combine_gen(z_off_t len2); + + Return the operator corresponding to length len2, to be used with + crc32_combine_op(). len2 must be non-negative. +*/ + +ZEXTERN uLong ZEXPORT crc32_combine_op(uLong crc1, uLong crc2, uLong op); +/* + Give the same result as crc32_combine(), using op in place of len2. op is + is generated from len2 by crc32_combine_gen(). This will be faster than + crc32_combine() if the generated op is used more than once. +*/ + + + /* various hacks, don't look :) */ + +/* deflateInit and inflateInit are macros to allow checking the zlib version + * and the compiler's view of z_stream: + */ +ZEXTERN int ZEXPORT deflateInit_(z_streamp strm, int level, + const char *version, int stream_size); +ZEXTERN int ZEXPORT inflateInit_(z_streamp strm, + const char *version, int stream_size); +ZEXTERN int ZEXPORT deflateInit2_(z_streamp strm, int level, int method, + int windowBits, int memLevel, + int strategy, const char *version, + int stream_size); +ZEXTERN int ZEXPORT inflateInit2_(z_streamp strm, int windowBits, + const char *version, int stream_size); +ZEXTERN int ZEXPORT inflateBackInit_(z_streamp strm, int windowBits, + unsigned char FAR *window, + const char *version, + int stream_size); +#ifdef Z_PREFIX_SET +# define z_deflateInit(strm, level) \ + deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream)) +# define z_inflateInit(strm) \ + inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream)) +# define z_deflateInit2(strm, level, method, windowBits, memLevel, strategy) \ + deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\ + (strategy), ZLIB_VERSION, (int)sizeof(z_stream)) +# define z_inflateInit2(strm, windowBits) \ + inflateInit2_((strm), (windowBits), ZLIB_VERSION, \ + (int)sizeof(z_stream)) +# define z_inflateBackInit(strm, windowBits, window) \ + inflateBackInit_((strm), (windowBits), (window), \ + ZLIB_VERSION, (int)sizeof(z_stream)) +#else +# define deflateInit(strm, level) \ + deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream)) +# define inflateInit(strm) \ + inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream)) +# define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \ + deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\ + (strategy), ZLIB_VERSION, (int)sizeof(z_stream)) +# define inflateInit2(strm, windowBits) \ + inflateInit2_((strm), (windowBits), ZLIB_VERSION, \ + (int)sizeof(z_stream)) +# define inflateBackInit(strm, windowBits, window) \ + inflateBackInit_((strm), (windowBits), (window), \ + ZLIB_VERSION, (int)sizeof(z_stream)) +#endif + +#ifndef Z_SOLO + +/* gzgetc() macro and its supporting function and exposed data structure. Note + * that the real internal state is much larger than the exposed structure. + * This abbreviated structure exposes just enough for the gzgetc() macro. The + * user should not mess with these exposed elements, since their names or + * behavior could change in the future, perhaps even capriciously. They can + * only be used by the gzgetc() macro. You have been warned. + */ +struct gzFile_s { + unsigned have; + unsigned char *next; + z_off64_t pos; +}; +ZEXTERN int ZEXPORT gzgetc_(gzFile file); /* backward compatibility */ +#ifdef Z_PREFIX_SET +# undef z_gzgetc +# define z_gzgetc(g) \ + ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : (gzgetc)(g)) +#else +# define gzgetc(g) \ + ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : (gzgetc)(g)) +#endif + +/* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or + * change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if + * both are true, the application gets the *64 functions, and the regular + * functions are changed to 64 bits) -- in case these are set on systems + * without large file support, _LFS64_LARGEFILE must also be true + */ +#ifdef Z_LARGE64 + ZEXTERN gzFile ZEXPORT gzopen64(const char *, const char *); + ZEXTERN z_off64_t ZEXPORT gzseek64(gzFile, z_off64_t, int); + ZEXTERN z_off64_t ZEXPORT gztell64(gzFile); + ZEXTERN z_off64_t ZEXPORT gzoffset64(gzFile); + ZEXTERN uLong ZEXPORT adler32_combine64(uLong, uLong, z_off64_t); + ZEXTERN uLong ZEXPORT crc32_combine64(uLong, uLong, z_off64_t); + ZEXTERN uLong ZEXPORT crc32_combine_gen64(z_off64_t); +#endif + +#if !defined(ZLIB_INTERNAL) && defined(Z_WANT64) +# ifdef Z_PREFIX_SET +# define z_gzopen z_gzopen64 +# define z_gzseek z_gzseek64 +# define z_gztell z_gztell64 +# define z_gzoffset z_gzoffset64 +# define z_adler32_combine z_adler32_combine64 +# define z_crc32_combine z_crc32_combine64 +# define z_crc32_combine_gen z_crc32_combine_gen64 +# else +# define gzopen gzopen64 +# define gzseek gzseek64 +# define gztell gztell64 +# define gzoffset gzoffset64 +# define adler32_combine adler32_combine64 +# define crc32_combine crc32_combine64 +# define crc32_combine_gen crc32_combine_gen64 +# endif +# ifndef Z_LARGE64 + ZEXTERN gzFile ZEXPORT gzopen64(const char *, const char *); + ZEXTERN z_off_t ZEXPORT gzseek64(gzFile, z_off_t, int); + ZEXTERN z_off_t ZEXPORT gztell64(gzFile); + ZEXTERN z_off_t ZEXPORT gzoffset64(gzFile); + ZEXTERN uLong ZEXPORT adler32_combine64(uLong, uLong, z_off_t); + ZEXTERN uLong ZEXPORT crc32_combine64(uLong, uLong, z_off_t); + ZEXTERN uLong ZEXPORT crc32_combine_gen64(z_off_t); +# endif +#else + ZEXTERN gzFile ZEXPORT gzopen(const char *, const char *); + ZEXTERN z_off_t ZEXPORT gzseek(gzFile, z_off_t, int); + ZEXTERN z_off_t ZEXPORT gztell(gzFile); + ZEXTERN z_off_t ZEXPORT gzoffset(gzFile); + ZEXTERN uLong ZEXPORT adler32_combine(uLong, uLong, z_off_t); + ZEXTERN uLong ZEXPORT crc32_combine(uLong, uLong, z_off_t); + ZEXTERN uLong ZEXPORT crc32_combine_gen(z_off_t); +#endif + +#else /* Z_SOLO */ + + ZEXTERN uLong ZEXPORT adler32_combine(uLong, uLong, z_off_t); + ZEXTERN uLong ZEXPORT crc32_combine(uLong, uLong, z_off_t); + ZEXTERN uLong ZEXPORT crc32_combine_gen(z_off_t); + +#endif /* !Z_SOLO */ + +/* undocumented functions */ +ZEXTERN const char * ZEXPORT zError(int); +ZEXTERN int ZEXPORT inflateSyncPoint(z_streamp); +ZEXTERN const z_crc_t FAR * ZEXPORT get_crc_table(void); +ZEXTERN int ZEXPORT inflateUndermine(z_streamp, int); +ZEXTERN int ZEXPORT inflateValidate(z_streamp, int); +ZEXTERN unsigned long ZEXPORT inflateCodesUsed(z_streamp); +ZEXTERN int ZEXPORT inflateResetKeep(z_streamp); +ZEXTERN int ZEXPORT deflateResetKeep(z_streamp); +#if defined(_WIN32) && !defined(Z_SOLO) +ZEXTERN gzFile ZEXPORT gzopen_w(const wchar_t *path, + const char *mode); +#endif +#if defined(STDC) || defined(Z_HAVE_STDARG_H) +# ifndef Z_SOLO +ZEXTERN int ZEXPORTVA gzvprintf(gzFile file, + const char *format, + va_list va); +# endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* ZLIB_H */ diff --git a/vcpkg/installed/x64-osx/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache b/vcpkg/installed/x64-osx/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache new file mode 100644 index 0000000..b77dfba --- /dev/null +++ b/vcpkg/installed/x64-osx/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache @@ -0,0 +1,7 @@ +# GdkPixbuf Image Loader Modules file +# Automatically generated file, do not edit +# Created by gdk-pixbuf-query-loaders from gdk-pixbuf-2.42.12 +# +# LoaderDir = /Users/runner/work/heif-converter/heif-converter/vcpkg/packages/gdk-pixbuf_x64-osx/lib/gdk-pixbuf-2.0/2.10.0/loaders +# + diff --git a/vcpkg/installed/x64-osx/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-heif.so b/vcpkg/installed/x64-osx/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-heif.so new file mode 100644 index 0000000000000000000000000000000000000000..3e89db5b8f772e0629f696d1d353de85fb499037 GIT binary patch literal 13553800 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�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

W+ZgVw_!lB)qo7?{=&L&k#_X%R(o=(@sMgOy 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 z ze3-=A$TLSun_Py-b_OCxp?MDJAi=0Z@sWfs*cIKHABgVDpLS-&y3~)PTvNV$W|ci8 zL((*&NOF?mS1bM;(a#Q6tP}s3e7&iF`6I*6qpw93v!8`Z()s<>b97mO?tTZ~C0xh) zD}S);_bS9mLq{YPj9te`x^-HO9Ij#eg*zTb6@_Y7XtmR+Bt!(>SpFzuSaYhNK47d1 z#E#`KomL}4ogRCzDEPgmpnFaDQ-L8mY#-yYHhf819+zlA%0De!6q{N+^xop|7Xbs_ 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

    h^+7dbvVw=Z2?%R%U6xJt-3enz@N$D%ta6d6QO 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

    Da>?-i-boVR+ZHFh%UpUvXp__zed@tW*h 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

    raDJ9t;rrd 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�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

    qg~em>@o zjtAd($fV8lcoqYnHE8qQ)&TP0D=KaN*3FtWdw)iZi#T%G#!23FLzp%{q6)}ewY%sM$nx^I~h788}>WNF~ zmk{>Urg)5qj8`Dyu{R0s_80=G_d9~9P)}G&9RB%x>9)ZPZw`pQekOrAE|e7ihvg9e zh)%)O6(NeDr)Uq0?L_aL-RjqN^ZYMGH$w28eXt-NM-NbW=i`V^Ea#p$n(f@9L)Q^g z1}24zOAEg`@ zn+ZU7WARN1o>8#9&r_lWeM$L;NI}?HIf#JG@_N*1!IH!V0Wue!MNl0kF^bqy-3by) z9-xxg8(pnQ>@LoFK)Qf>%@s$tSEc+zsU*87+Q5q_oCP4A1P75lir)$dz#riFNCJ?K zhHC`yJ`60Bl#L`N(mncb7e!xK!{|4cOcG1KBmA<-+Z6FZTZYGxHv>72!jl9x+m;a| z6SlUDKz16~PcS*e>Up4*i3jQKFolraH2>izRmK#DzFrAQf5dlXd;Qb4S9kiFvl*f?v?-kY4Bv_YM_m|=W_gz#h(qczN7N0Kop4AZe)p*Z!u2@7n zpR$8<#kSI35Lke0vlxb{qP>9z-Wz4IEX@Y%jOU4I^N zNGMzwop0T(E6`XL9&AubA{J4>+KCY}IU`Xc_y&Er^@ zwpQ)7pTnik;LmZ}PrCmJ+?HSn`OLN>E$Y3&QrH^bds-odE4vw$*y`3k1yR(--Wg*& z#_XOfejlSoipTg8m6D$61=ZD+-sm~QxwnN?7oEC5Gn^AVGQq_rPXpTUvo_(mBwk|s zN1jeeDg*{-Ym8JyV$!YDN#%7bCpr=1E$3QE{x?87K8M-i<(5GsSIVM4$)X+b;XLF$ zKDh8x{aek4U=tj%C16TK9Xt#j8^_cHj(jX3rFqdHq=mDbYg{Nuq`dR45z?;k`}-Of z{=&8pkA0zUy~n7&MlX;XzZ#V1J{|utoRI;@_PH-~4uUF404YMFlz21gDF>6p%VLP( zKr>LjMoe;Tzxc{%#iWi5=jxUWXGki#$$Q8iBD24g*>Uv&9X9sy`Azp$fKqJa!^$Vb z)t-PWHfS#jrb##z)aQXFWo2b?vN975Am@KqEHlKHYyNq|eH!EsUJZs|UWEf44{P_= zv%-Z=VucIE8+hTNJKt$oI*Z9EijO(A}wPloYcP-4{hoq;22@I=zugwN}v1 z`;H7o?Y?{42|$X&R-3QRPS}-=Ll~#krdTd7jhM~@vn4m27SOc|qrfXVXK}U6zK-cS zvcJTzdzCtZy8h3)8`E(0~5=#Uew75@YhX!16*+`&@k9y_AU%?FRC4b+hkN~T;GU8zR&fI^9XVT$UQ{Uj?Y-% z*epwF>l^dm_FCUK#aT~T-*}fMeU7N5t(g<`;Tr)bk|LCTm?pE!%j}jkdNtqWV<6Sm zH~f~eAe@6Bz_(75SDV*qqMrW6r^AHKXk^Sm|l=sJ|RFn5K%JU`f6#r-tW} z`<%}-d9Oo4xA*rKk@t&V{`c~J@U{-{PNapkgbU!_weadS?TrBc*u*!$bteN2gS^jq zn*ole+9B_AQK?bhyCC1Eyx&@@v*F53$p&+AW>u@S}99cpLA zpdXn9HE09_>%y^c0lgkZCI!SF`#or5EFFsGd%JoM9zrcm;r#%rbwE4h+c1~UD!2pk zy>W(GuX%@L?8^rnU#vtDtJ20@bsCIy~36&bgr0qQ)Tv6nLV1+ z%cyP7kngHkoPhw8XQSph`kdk|$?O|>T}OQo(!%+w3-y8^M7-15hYcEb(9EWb#C21zFuUNdAp_Dh%JrO-|covRoL0@%J zSm#YM|`nG#v}IKq}8GFxtDAZMsdNCtuUsn}oD@_=>B&VN`41R>t=B zf6I4!|G};k;}p7mJ8o}f)JRk44girFI0#edSLuzOQ|O;oabs~E`Gxqhq6uOe+|HuF zvGJH%?-WzGm??!Kx=04=@ZpFxfX5Q@^kdRY-V$uu{Q*lasVIbBCdprR%3pehBZ8Ff z?yiO&O2Dfnzkp*Uplx-z}hz-xH=GR5xiiPxqS zjSFQ&M})xOQexN9BXmmuv3r3kd7f(HH6gxE?!MSLnO5i1!M8`sM|WY0TqN%|6&ghO z=&r)zBb6g4&tW-=uk`-=kYTXcDz6U#gK&kIIQ&RDy1+W~y;=q7IikP;haj;tDw+pX z%N(i$VGdQGlHSLf)F>Ba;Rg{x;W1#CE}&AHOSxhJp#P>xLT}y11_Zb9h1Lho@Ze*q zAz!l-YTms}*5u8`DXm=Zp|z*-#-)lequ+VC_NpR*%QuD7+fLzevT^wdd&c)vm9jjx~qEfIIvF<{; zt0fERBGgDix*L_UkS3u`5KtrP*$Ue>he#-m+0E~1%5bDPxj`}U`mYmUilxc!s9l3`>c36b(pnXtmWEb>RO^)vp(LuJ~o zJx3nOf8&ME`*Wz`s1{g6K>exY+i{rh(6l|@dY|}s%R{O0L<}`klZOT@A(>(qeX3?A zQ`Kl@G@4HGu&D{l!)L2p^6-`HEF=&0xo=qD$Khu(SR2Si9T{Oa|LTj#Lv5^3dB{V; zSKQurdEBuSk?qYz?R^b4jSu;MF?o1trAr>#cA~hYCP7wP2@m~nKScvd(+@>iLNdhy z`cy!D2jL{3UL)`v=C!ymUCG06+095l6ep}4mUQ`}ST&PsCV-6kVfYnKdEovmw^Qm` zqRXn>GyQ=GRjMo7NjMWT$!sYY8CYH6qwyP9rPsC`MIn z{YD0AxcN^zwB=*EprU@GtJOs^kxi0wR%w!4EK8YU3VkX-&cMw@wB?mxk$jZkzG5k_ zn!kDmH=h+;3TS?sekhMMOb>Z@e>NV4{PUnbIq^koQEB|Y$HPa};ZsvZvvmhZ{;rpW8ot<8kv_-*{XeLsS#@H9Ug2gJgmw}rl&U^A65im%DVw(zj?VA>GlfU?bbWV5vZ`T-iRAMQB|THH;v`q06w_ z)5Q@Ms!Y+9x{?MNQ3=RSP@cnFN}@s|N-f#F2(r^GUlxmktUnnXEJB85ysTPT)R~e% zrL<=~x~%sJ@N9;2ggSf5k`G*hh-#FBvLa~ z^X5^dXrAm(w1go{vN6XIz(l_+l!g@RgLv_DeGuYJ|36CpCH>7L{TDHp77sDxKZpJh zFZydL`nS-hqQ9V`zm8-b+dnMamJbyD=cHxC^sl}2box8NYWBe2BI!?LMP}JdzCDMz zEYV-r2mOZmG|MaO-_@{xtrS1}4+mGf0%F2qU>j42kPI=I7fzCzp56dMv;^ILkp~M3 z)=%POlb}YnK8QDKgy@2w6B6}JKI0pb1nB&Ycix|#PYD@ zucymH48~;-`pZcA2e9I@6p{27A^I!&px+=5U>L3$r7O?&Sn2W*dH-TyqtkNcIuM;a z0%@@}7tdU~;rof=sJ3*JapqdKitm~0$|1Bo{(eRy+au$mPi`wuV9%YR3G9bf~ zOa8gpiD*jsgG9}4NyE=xAyHirp-Hn*+E&AU-dj`{uDCMdk9Xad?6q?S-cXM$LP>VS zaC{Vu!j}VU&`&$pIMnH{-ICBxXVy$#JG81|5tf5?==_%Ew?Q&!OpQ+4qWBkyzMJ!FIinRk^46?*T6z`q zAJJde2mMBQr}ccF_FT2azU`L^!?o6G_Dc+lO{U18Pu1GCsiOCf6=~E&00TBr) zc$H9en0w}Dp&-PDNr@rELJ2&FrMLW1tdxe0hrS^t{hi}Al5iEB=-t8Whu~nyMQy_l7T5gH(0-%+W3bn; z42%e5d!sOE{=gr|+d}4-XY&UFE@qxlcF$cgk(1JV*X^ExVX`0ScF*;Au$%kAC#oO3 z#FCRKKBrG5C->k8CgchYBjGSN%j@a~gQVn8KQMDAvAipP6yHdT$fF+&0$o1mfAFh# z$j?7Y{#kG=lZgb(|H_j5|Hn)IaUO%cYnYfGkG)Hd0z)OexF8W`3-rq<*Zp#a{rd3W zhryu;6Ob&!5E~t((Fpu&E@Eu^=sxYkLo{rDQ`p>0pqxxG;u9U4NQKQE%EQSPTX-fF zRFel_>pa&0+*tNM>SInyIxNu&sgY{p)b2DdPaq%{hgIkT?7rTF^NW5*|By>gy65CL z220@A5Y&;s{S_Lv@EswX7vgcIOi(P2SSN1^(lPjA;-xsG5tjH8$^GoPh1GToTIu|a z!M2RYUrO~fyq@sMVsrMqJyJ&g<}wDSNVfmJe+*LRykKoq5AOd z5GPO0M*V=}6;yWhq^q*m^~x|ffD(-N#NnsZ{|x%;>Ge<1>)%ewQ?)|XpY)9Sb#OfC z?~EmHjsD7d{XMMs0Y8WNJh(#`@}g~|5codRz%u%is3Y;a<9MUbL%(q%U(^< zuKa!L5sIh1=k#%xM7-?%o_(YRMP-0U!|wkXRj}^k1FWyAi*Oh4e88+tn($!8h&aoq22}Ubz%s*w=g!e3Be(8 zxP`Hu9OAKgjKnp#v~3$A)5R7XD$QVOePNXBl_6*zYZXl?LA#9om_enVo~qw@S1Ruq z!_~E|G2mjOm-Non_?(!Js0WPV!-C>$gRn>HnrMN+1Qrk_f0V;>C8E<2_$!KolVnSs z;0EJNLaDd2I#)Dycp8sm?AWl^1e;2RqQR}hASl_bL*$t%JYGMI-(k43!mahAy?fB) zK`xAZ5I z|AqU%{+=~7yK;Ze0R254`i1(x$ev~F@i*{I+5=DR@73&`gX~T7>)pM-p}XHW5_4=pa$?a`Pm5{1yjD$yjtzP`U z>aQT3OmdI@I{zaN+4`N_A>_SK{T2Q6WPewdre8Jt95HLyHLmr~H5i2S{yD=}|6GX? zS@qAtG&tk@N21FSSZ3x^`{#yo|84)|^>G=KqSXI6yv2`>6{LNOS}+V^r0mt8(O?D~ z#6G#fC=z3eJ{jleirZfPhCMdw90Vs7-JdO|69}V1&26l0MY%m-bn=ccboNp(b5o_6 zTe2dXxt-B+HHz$qbAiR`9E~E=`!SI4d}>Q@N}i1Iakb-U&$_x*+iH6p2aB*1jfyZ; zXα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%0D}NQBA~n3)^6VS^0% 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%0A%%cK<389vmElxy_+a&4JiwzAV{(Z}V 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

    CtVLN#e-)Fc*ceHCw;LrFZGm`ZDrF-1m|N8 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

    o+&Ml>YtzqVbJC;br8H< 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

    LDIbNo7nPf_#l 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�<59J=LYHX7qcY47;HmwyZx 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�g z(pU}d*tewWiH?1%;_EfErs|&j-lj)8_OAk%>)5|6xnp?8zK_RmriA06>e-HcYvSuQ zMA}_Vhe+EQ7utBozH=~jgx{(cNjMLWq`JH5HyszOO6Eog)rgM9S@El5u#$MFxi&+#Y4MF3 znpX8l$L#4%_c60QW2E3Q@;b++H1ai@A|c6aTGIohEsPb~u^o+5;wR&W>{$~Ztqqyd z^l0+B3`)!I&D@>eyZk`M)^jok@w2?MV|HC;8-AAW=$Jh%^Gp0Je>lHp>4E$UEAH;t zI&0~Z9kXYx*p^?iba#I5ipM*))-8P=)GO}FPifqnpR)2m{@)s($xmOoyJPE`#!mdK z+}<&JN#oXztxHxun!jTAN%_ksO`d^=scSno$~v% z#OLJsv2m|uedcYreAH95xUK3`{GkP}tUCiOxN2QoTYMF6vAPPkZsBLL#G4lEN6(>l z5ZG~$X$UvPONAS~tRXAh5ciu~DN-uX%OKDavI33wTXLctBFA{IAtTCEt`n$SCsLg# zrrV$@Ey=rvt6+;T27)d5Fr^4K>IYQ;Z5;B9agmW~s7hKTj3SL3e*ski6;x$9hOa8y zRH#;^n%;D;Q4dlghZ~b`F zK{|;og;2kspBggyC9c9c6uOF5796+=33;w!gy@3kiU9b~RiwlUFkkB`M3Vzop&`#z zj1nUvDzzvR_=$NLRXpn?0*5jsz9}Z2%s7hm5|Zi-ISV+Efv9sGbQZP;=`7ks7zGJI z7&YWb_CX5?fP_}SP8%3xO*SzQfCHVQx}RAPZ!y1gACUj`5)%Bf^&CJUk!jCMw0d5m zaTO-lj1Vv5qXj#qp69{9^Gw6)x_AJAL2KfhG(@ok4Em+Gh>R3!U4(=J=mSS`yC~g* zKyl0BC*X$=sUavbUiWEa0O*tN4*KM$W$w#QTmDeKYw6y6*NS|Pz-JkN z&w-VDL*Uaw;M1})R}T0b-VJvTz%sc6_{1gNz=PfbA4sS|o>JhWV5d9a)BpA974X>v z_#>Qv{f~LWuG4=os$pae*%aZ?0|? zffOhN6fYs6B@_buS)USltOKqmiq{aucXnOV4yx2n$FeWX1qgo;9$lMV2yFJ0_{NNs z8OV6hN?LB}CoDT{wv-&$Y-u@LF=Vp`iOpWxZlDN2F&-Uj-8q&LxNR(9#?5Kzf05}~ z?#PicEii=8LWZj}%7p-Ez)p91Mjfwbw+0}@;&2gUC`(F&j)Dx+sUfM7ppI3#@5z98 zjwYl~Rv9?HXPYjoTLB7@si6Rf5Y<-=q56S{FdTr*`xXS>zp$zl-w%7C!Q%VR{?^6! zRf6{ee1BV+wE5pQSbRSdX;Dhm!QUJKzF(ROz`cbW^b94)KF}yZ_9FPS@D|yx&Zs_d zw2DVcxtadym1}4hRisAIHE76n4SU2j>;vfcfX}`uP%o*WQ7^$g1<8y)fwo^m0*t0L zJxnck9mo)zACz-H76K5?3y=urel$dJu;Ls*|0o01j9>#Zp}Af|u29>t0q~4<5Ks&| zXES?N(>8%R?E*L`&rl3!h#~Vmn4z?T2Z(ckbk@X|0_k`Nz989HbR!{AF`^qxTOErZ z;HLn;=bvu6FA{411yK8gK<&FKqV`ol?N6`V6&1B(`VpwzOg}o)l}C!&F-7?yi{0Jn z%1Wrczw6Um)UKTH{6kdyE+8YAuh)D4GA=_Yr0D;cTUpNa#QXl zBmyfln6SLTk^rE4K{5-3J22xGy2IEHL3dZ!2hZI6L0Qh(Hj0Z$n{-xA2BHAv;T)X| zM6uYE7LzNJhXCag3MUUK&SONJ$EY~V6kj0D!Gs?{hlsOS%s`wa?)HTR79RPbPV{SLV(!k6+*cFO7`5*L&i81TxEJz<-S=%zLQ5(=;lLAv8A zhCuqD1nIU1WzL;a6@c`12@!@+hH2viKtIc!#er0 zoSk+s0Q2uG9wDcV;+S-zF$$W&vdWu?#GFsYLo@q^pn6wqkU;h5^Xs%< z0X}b+kdIj7~Sbu9~FfVhy$_Jkbv-6O}7iINvTdis2AbU z$LC^n1AHD-x*R^w$UuXeT>QPhOxmv?t-;@4Q~W*R;K@gTzujRhmw*CuXi#`}^D&sJ*`nZ<)*VPeCly1~ z0#vfc0(3xT-@I>9^DdZrR#OKtwH>uWSurNi`9cG?<-k2$0Cz@mO90(S^a({&q!9QS z&b)~IXVFwj35ilp8QK*&a5uUfv^|KKm!&DiCy<5N00OdXBR1WebYbVF10cYaQV0T; z;$e4pjOf@m-JL>2P6};9@dc1}Cc+oB8o*(&i0&H`YNXxRE)p3Tk z0JE-I)Lv20k!BzO54 zMA1O(tQndFcY)0y0okyj!TASFS?JuDj23A_Qz8PyyIYrVI~FHBL?UGtoCaBZuMpTt z4}e)CuUKez>@RoBQZ>RIvw<<^lwFYxb(U}lpW9iH0BXa=+8H~%w8uFNu)d){<82ol zH)<$^*Yih2g4g!~UgKQK(!0yAJO=Rk1;FbUR^Hv?x}yVUi;hDC$0Uw)-BG2j_wc&E z>(g6!EuXI#iFLz5Xb=3 zLDntU(j_V;$QlG15>(F3wnWa>{lHvT+?0ruBSZLlkQ#N{&#>8cNd^|(4$7=K4@QH< zb0%DYq4-%_E=S>AX{}(+DQXttLx>ztLTI6WCB)ZLigt;Y!5%$rISdiV(9yWA*x*1O zYjCM(n#YDXZgLN5$_e0LKzMb#7{PE%$jwm#91H|0UPp{@ipO2D^QSRNW~nK;0mKo> zm5?jB7Kz}kw*wqf-_1!K9kGgO6>A+#T}Zn)H$OCWfkEOx+(AoW4aBG7869U@0AoRC z*LNczZ92r(0-bTXvmhu}(6gO4Z~!zmP_-KL4A9%EaM*11wg+>NvA>qm^Db`=QE$kI z*sanHdK)zq;^oEB@bb`fG`5WN{aV+6kaF z`1obuW7*p+=Pz;iW^v-h_bdbkXjxqS3LbFubHd|4ZIC0Nue^65Znzx#S-xC6o4=PV z#41MYS#G5&@CQraORDzqSlW|VJwJdG)2DXqKPUMV4sLzCN3y9igpMctd!}0}bjMVr z6#@v$cvi`QI~{sUmixRiM)< zR#l`6tB5l!J?E)atgb|6s)&>EJ!faQn5;;rRis2N1#qpz#bwE7BFQ4?BFQ4?BFiFZ zqsSu2BFQ4?BFQ4?BFiFZqsSu2BFQ4?BFQ4?BFiFZqsSu2BFQ4?BFQ4?BFLhDpdIrY z8>-jid&Ubk#6Jr|I{hEE!jML~4@E%1lBxq8oKF_ifQc|%^U?IE*iFOKItu6f-zo zT2sswk5We}VVS~}O|2e{hC&+KTOLu)EfNi+Nd&sYARmiPyiI5Ra8_ij=^jk|sGvxd zE!gxK#0jQQB0!@dzapGN@`yC#5P?A;a>NEXbt^WkS14etmxRLXz@Sy3*jSkBiVa>{ zv9VLX!E33D6`N&xJ5EU_Aptk$dync$dzJ=fY^{L9+8H^W>A31m9P)V6}Jyv zu_0GHN)3hC30GXPVZGekC=pUGo&Uq+_b#5c*_aceWmPyE!@VWz#;>KQ9HXM*8z`W< zXLB%2)$v;!#7Gg-ojV)ti0whjlk#1E*lGi~@y89V4MNO#vdCZ%HK@`)3(-QWfn@(U zTJ4GeTb?)-UuNP%^}F#vy#Ko&Dc*lKz6(aYpMN>K_=BXluuBCPwtcq?po%arQ<;n$!njQVHEdcz`j0hCFxx8U+LvqiQImF{m=_ zWuzg82(X1?0FOvRhRB62tXGUnM7B%~h1nUj>(R7ID5TMP1&9o5q8=iPJQ9H8Hr3GW z02UKU9V(1NTujO#RuLxEI=B!QMBPGMawSB}>@5j}EjC>7Xj+SCY;So)>0%;+xiO06 zbcPFK0c^9yjY$w-*2C*Z4VBcxqiK~;NMq~a5v7ZXhNNa7NsVqJ!{u0cpxF2gDm54o zQVS$EEbZlD|!$o^by2Ar9akzh2 z$F?Ox7JH%xTF54l)&Akphy{l2KPDP+Fx9y~9w~uVI}wT2RC`1;Vy*VbXvAT)M@34Y z)gB#*)>L~;G-9oGRW#zT+G8Un&}vslqBYeX7mZk}os32-)efNM`GlH7@-6caRLddx zwyR!p6Y#BKs|J^RyORSv|FWU_PJF7^;@7?3bMUK$tneL;z;8=p)4n-LJjj&)!hfj7 z`yL}MffoodZN>u?8VZqzq9jF>-Qi0pHz%1>C{Sm<^@1o1{S>#A$9_dPw%`FR4Hef# z9jUF0hC&(|nwI4AfM2VUF9Cj?6JFnmN%^zGyLH^!fhZPo0Yn-yxw>^cC%!aent8Ul zz{+L>PT_4Xe2Yh~UaU(hoOMMp8ght$;6T(GasfmdDy<8fDF=#QlDq6S6}%Q`D9l=F z=T2`T=d`2mw*0ELEZ97~;W$U=K z5b^?#VQEIXytbw#6w+Af@|xK$A%|#f{_cnB)_)f^E&tH0tNH)#rWe_3XN*)kNL-v4 z^(Mu~DgFmO-t!&B$F&RtAJ4^q!N;#;-wS5N>OQH2Q+|Mtl+g_Sj(*^G9Mp5y1eS1g z2^zrREzG4DEHPFh^bVXWI?U9i( zhLkgBS)i_*b69Ozs;-zot1Zjb6=_YiWzD)Wu~u6att%6U)s~5?iV3vZGI>>z)>K<& zuqqQnUn8JfMLN)n=S993N*6)aBMZuqdOp!K|>}%QSE>ROe6G4GmC;0805Ty zHRKdLL)hXXxOT5#4LJ#V30opT(X>}b4LL<>9bNpD^6ID|CxO&40!%J=$ z!QpCvTe$D2u&+H7`;7t{cM1kl-@CGbGQq`qyuwU-IUySCcK`-TyX{ac;Np4WDA(Cz371A4WxBvM<~2k^WzYfe zN+xve$XY{TlNI;5a5LxStf7!z>stv~DOw3e8*XzP?7}v=h_m3KCJlupE3!&^tCbUZ^%v5zH;yK&2jli zgzsgoA-8tO^Y&37k!Pc=h#nvxu{7kFWB|t-q@MscSYD;XVUvb5hlXHCbN=`=2MA;FB^lY^5>;!=_~43R;rL*~ z_2SBOKXmDSlJCDr$JKJ?<2pVV#!qeh)NUsU#|Hp9f&t`iCC9D8h!jEpT2B|jJSw|e<$$mCaqCo&$)(@7?E^u%4a@A1z`ewYWH56v8{B^K- zrLkDb%T7aKcEr8Q;&#N)QvS^0?L|{7Vb)sToY$2a3TdE8 ztS^KPnd-7ayO*hkoCN55s9vj=tA-4bqxsAlQirT%-JsICnwMuF~qEg5P*2RnF=P!RwjBa%s|6}|xinJI%v@?wH!w>P_ z8$aBkFMbZ9DG%Wp!jC;IAHt zlm|`~_F*0f=?pZFl+Iw;VjW{#G`2E<27tj!!F=?s*Ql+HBMa;Ar2X&^Xe+z10H z1JjByK1>)kuv!vZNZ-Q%B1o(a#C!<~H3Q?`G>|i$vJ0!ypd%#bHIAr6QjVQ;k(31O6xurFGP#0g2J)NC&TvLVK%~NN73J!B5^OZ66v6oNY`7fL_%mK5}HY?XzC2>iX_m=x(c%gA!m{t4PDfR^^z6% zcCuYBY56O0&E1WMu6jy5^v}fiz6y8z2WI%{$2;~fNj@PmFzv5E0>IJJkm-WD`n%|+ zy=4JxLMlHf0Uv|S?Kuw_X~+jC9F%w{Mnet}cmlp4TS|5km^;U z43uJ~&d8|JpwC^Rh? ztzP*WDpS)Qmkn+QgoO+M!a~5%rnJ|34TWuj>n2gVSFna0BAu9bMl*IOb$0hdsooA# za$XfQ;mXGk6@9 zDjb$YOQ^#RKrtjV05Dp@5S2skkl290NQt$XfMZB!@L!~KrkSt_NN8YAw1nDBKrtjV z05Dp@u$eG#NNhl0q{Q0HDoJPXU!-)VnXtYn&;Y<_3ALHFj&jvv1&IrHu{;hR0>BB} z(MxgFL6X6L(ds!viURcGASqfBOzL2OgjJw5c7S96V6^0>ACXu`Nxjrcq|-r?8I?sV z6wO3J9VCtH1z$OcL_!@P^+hX@SVu{{)Jmj-RzeDTtCdKogQVVSB@*fYsV`cI#5zi{ z5+BjVA|136&FrmKA|bRg9F|2B1MN*)N4bnQqE@0jXyuwr~pRw7+5wbCpZ zAt7{gO)qp4mg-SVTOeWYw9-Af5!}af7~a;7x2it_m;6e$yYbc+egW%tVjhgrkV)WxFQ#(FOcf4=D)?&k0I-Ifs=$UJ zQ+ITw_{=UOm7q09I}$j9rV2v`QoG}(9FSSSm-QM7>w`M?yxU4SO`>$zuyR|ebclnV z3kFUx4~A-}l*hLNp|B_tj&_d@;; zV6I#|#O&Nbkt4}mTNU<%<(Ce1T7zzIPJ}3bnYA<2>3&oMw>`@{PQR@CWV>a@7U0Xp+3I_utPs7NfQ4$2|ZFEO?D+d`#MpyIC1^84!& zdJW|JlwHccA1#T<@86gXT5-Wq=J!FhfL6XY{;T14t+FaM?IY$P@#!CERja=uU18<> zpCx4ZeVc?Vzwgpc>woz^?w88%`R7OE_oJqR4lg~*{JvZ&VC6gUj(_2JB{7^#-qsSw zfSr8BQ$tF<2_7@)4)G~?OlL|wOW(~!8~w>awaAMx+G~j=zJ@EHP@U)5Z?AWCE@}(? z#dG&+|E^pdv46MTrwLAw<{U-;e4|=it55T8)&@){prgs+Y4?9$9}>@qs=;3@Q^gYe z5T7tZLROzfOUUZeLz=e#_32wXm3=RNDk8u6{Z5L{&7Wq1qsZ^KO9iM;sLu2U|Jl@^ ztOh)5i4mT~5{>_+)vP{2IB0FxyCh_JJxfBC*B|R&Ui14-WZ32K5Sa3xU(>OFb!rSI z6xP&lm8yU69_8rTPe$y5cN-mfoA{ig(FI`b;`zt&_c%6f3R(c86}yjV z8}+SE2>&tK-1QQ0_L>;rwLSoF>jMxqaP|X65EqJJe|;N8{dC*20hJHiGluP1Y})gS zk4J3JJ4}17{&Pw2x{e!)+tYQo+n&*E&kjVf>xM^d&lN^Ww}@eWo%;tf6EDtv$BT1c z{1tXqd}*7R>3bzR{rPWGsjiwoEZ;eC{&CQ(6XP$z)#hbrxs~9PWu)!z&lVaF}pCQ{TwfG3&O)3-aO3V%}My1%F)^6wH=!-pJYFr zW3ok3e5o%j`Tm{B7sdzKW$3=At*e-wJE5uTi|CoTO!jj2oeMTpcYOeT$k2u1iBdiMxvr5ptk3OSyt*M`lP=$(32N1&yp9GH=QF|kAHq@^d0d72p?rCK=)cR$BXke4 zbTVbBgUTA9dq#-HzRu!j?sI|sVQL5cqa8ECk+q#aRX!j5XvB{BU(=I+f1V_G9XrOe z7spHSEoMBk;~!)^^KD$}NVfMhyviTG6f>9muSm_I4ZI>X96V{^#3s_cCgx4YJBcTL zOn%|}JkQ_(5;oxze(&nXJs79pKi z6c(W)Bq=QlOUV(^c|~D3>*v{GavAkF@_sAYP`B zLA3Z}lAhARg~@SDxPMvlVXT|uxZY_%9^9bX!`9vWP}iF;*On9L*Q@L82C}sF{}Z=a z{l|m!|HridKf^He|MU1?uK&NtgzSH8)Ik5gbEyB-pbd1@FY5oMA6os#gY^G7+W*ho zs{KC#@#Xq|922ttu{{X=|MsE&AC&$7#D7`+$Ak3$pKAYqhGFVI{+H|jFESzfKOz19 zwxRwXl>Ogyi`9QTNdM2%{(lCGvF!g5h%eXw4+ieb~{p==6#o<}8Qwo&`{i7x;4s0Mgk*4qO<(Qy<^=l*9wU z0_}UEE-gS%eNRce0>rELL|s~d0J@%%cm)WI?}<7nKoLCWH^Ps7cP+m+-<8?Qk;_(y zVatcNq03f%_}&zBGdx!F1o!$KRs$@>~^{mce<4)C!9gVZ% zSIcIc##vQ&@b%779gWk?9-hX!s(To^LAL!gPOrM36nn<-w=lM&aT>l9%mNyxRXx(t zI0e@kG)}3K;`d-i2GjFsF1{wLJDQeNJ%W8I*tD`LzOhyI3o&L_6K3iWlap;mjJdn% zc?jd26Yw+tL^c=Vx&yh@Z-*hmfrgJVXMDk$Imd!jJgCli3>fVM=_C2Nrn@8(EknSC9z>z426*g7rq>yFvemOl*I z7eIRe(MxZ~&x*T{RpUYYtnBQVy`*t#$JQk)AI&doygR>a<*ts|YZ~|9XJr9-KZCq? z=UW;(n0NllbxHhT|I5qkPQ&Cd9+Pv2-GQi+@P|3$EAf#wM#mZ5aY4(ONnCf*a^`rB z!CTHeZSAm*ZzF^uuf9D=-g1NvqPV_|Cx;#Sdv+-}{n#GjI|vnn@XTcrpi~Y!+bWPv7H~KqdKQ*rL=Bmp!Bz*5<%Uw-iK3t+KT;RiJDmMA=f@*BL0A zs6wD@vRiih7%JPMjM20;<~uE-Z75=6d!Pr@u>H_cn59q;sAP!T4s`@^ArN_}n#8mQ z$wiHjyhf6zRAZn?yzRrd_(+CbJd%Bt131O|e| z`gZIG%j??%7*rP19{9i!>f2ICW0A6nARFhlN2F?X#<;a*@vFtjh^94SPj5S#qB=(P zfZi>O-yp_cG>zH;#|MW{5V~n}XeDZv3Pjnc8T67G6*@R^XNU=fo;t?dp^$3=A4D}{ z!uB9TaaC4D7v)s(M1`oa0hy=}$e^EV^q}jI3bDfmth-8E{mEmXRjd>D{t5Nx_kj;; zMN=aCA3bmW1a0iiX%P^s34)EbsF@eHLuEkD>UJppafih<-!CKob(H_AE^qu2dHmllazThBEMj>o2HnV=55oK=^|g z3xYDzAdcXN?Eat`t%vqLFMH7a@%p{*rM$n{mv_kP;>4|AH}jQ0!2{j8=9o7IFHL|7W7VH)alw?91g{*e{`jW&V|2P z6`Sxc2(s(2bue}f-fUYFKc04DPsg@Zak$SVRR!*V#LUr2>?rJl#7yxFl6^{?tI%aU zLd+!vlzMRjsnbEOy3wiIY%?Jt9>emzZ0B8buvJ80kknVFywcQ`#O3c1t(jhXMZo&& zuG3DLk1eEYVzLkVT+G3&!Up!E+d!!Bd`_O3Izfa?ojw(*o7hF{s(x<;ZOeSDdfAF$ z0}Lu=C8D2&&6%%c|NU@!&~JBp{Z{?ywMMt3?T2>DMyah;kjtv7oiI!fa&qAz&TxC?L3<4TP3+%ks&Bb9LBD<6>$kq> zTUgPQ*elcp^QU25x>uZZXy5SY*f%+1s|NPgfNO>gXmY%`GTvUk+aKCP1)H_Z8 zUmEoPnrn~L-ge)=sjz?X==7M&i~g`*VRtD*%ZXq~clAanq>?544@9%uhI*nI)-qj2 zQIb*yN8v`OunOWDa%~ya-WPvYR3r=RfU;R2Pa~H%s;Mw&rd>nb^axFc?C(zOIaTGQ zZFL|o%Lt9w<)!{PXrIcY*9j*{n)3cL8uwUciDHX=RBj4q@aQzkRck4~L1I(yH+2`4y3W8@5T^ikw&atSB6G-mR^xi<=0 zAOWGcc~UT0?}D}Gc@mdTGx#qX$k(*bseB1US9c`v{3ydeuJXSsXHedTS$unhO6!Nd zFj{t$0R}7iid1qsDv9$lZ^PoXUsuSU+u7+*;P4mb|2C`& z`uFUskFb9O88f3UU%=La2bZ9u=A|x~3LczO|8vJqIUUtq!#z#uopqoc$luAY`m*#> zOG;PP_ke;+%kH_YGs4o|RZ<$9l@-cv+v>XEifwg8!f)!kOA3dbHHAloC+csOpRDqd z`pZCG>ROLXUP5^|rKFmUJfuQJz+MWzw+-aseIUH-A`wDE+7<66)?Z{dW%n>4yTor2VZUlG!rr(k0JA2W`%rz zPf1oXDiQ|~`W?c7$}q>Cmg0UL?k>b0Hn}11INZ)P68)3hISfzZ(QZ8A&ARc>89W}t z$KWc=opA&w$%{ltJ|ZL^>64EN$VZ3dV?y#OpL}dUULBH;3(1o{c@4?gk~iTYJ_Aql z-x@YW>n}|S>(AzB{n--JTxp7uOH)E}Hb=?X5<@OcQF3WYNY3UcIa^}Lr721-O)0wG z3F{B0KjyFj=OW>t?~gx2BeXv*7{vWSg`fbiCD_QvAL;4=9ql5MqKh4#rbWr`CV@F`_d8Rx7y}6 z*XH-ZBg${K&F^@d-?JwiNqdjA`5pXg!@qw#qWrdEIvCv(PyEp4_pu|&?*^OS^)|m( zk3W+3F17j9+x&iD^5eW$4&xQvvhw~5P(&y`6dX#@NFJ+&JRReUWLo4AjtnX1*z9ln zE5pu)((Ly(_9lDG|54sG|9zJm_HMNKcTQ4vIMr|Id;Z_D`7g5hx0U8UrSJJS+Wb$j z`PY`_|3A1|Dmwc;{+wd-e?aBBDzS5734fOKJ^yW-45xT+wD~ue=HG?8oBCM)&)NJJ z+5Brt^Z$pw=YNXL{{)-=<_RVInbr6F_kGsz=K)oOszgI+{(Et?R3G{CEt~&Fn}6r{ zlKQvwJ^x0V|00`zTWS7N`kwzOHvbcC{LY*lVRb;{^FdVv$p4#4__L(% z`G3pi|23O`v&rA7a0lk}yK%QV!4TTBOKg5CZGNdE%J2WP_AYRjoMoM0CFvxcbdv8R z1PGT83c@8^4jjB~+bUDtGWd05lWJr__vpq-)=4K>r@xcL3uG{qt24Q%(-n0GTK!E| zcHCd5`8m@kv*QL=*AyDuD2n9(As}ESTx=2LAR^5ru+R0a=dH_k-X_bB^mpocpXdKv z-sgSZOVz2fNAY$kUVRDs|E<|~iQ=8Fc==Ppd*Uawe|RA7ID7V#@csc#cd5VMrFhN7 zPsQK=UGZ*Lyy9EHyXVc@@40$%!`jZ-x%ki3+wtEw17Wj)Ptl9t@WW{Y7azG{Z5KQ! zilp@eM7m{p#tmyveiHtB82&r^(lz9}r9KmwA4lfLFM@yLm*VwD@%key{9G3Pf(rjB z2w(W&i%9q{fcfBizPR@GbMCrk`(0N}@cSM2ym@lZ)iD}1Y~OGFOS128P{m1*-xY6O z+!_ovu$`Y)JAa&2k)2PV(BmL_;y*0zd2@Wv)yWqA zAL#l2f-U`LO}_t|;K40l(k}TNSTubd^L+?xJ@{Vi67rs6u!%9?J_S!PPj;<6f!_a# zM)G5T@ILhG8yC2a-FyuBFgBYIkX>sHM#0aanz_-ogO7mDt0*t8z5-Rhd8UG&ZUg@w z1bQ#3{y2br5gh<)o<#NQKgVDnz*go%)lZ-Vc6sYEN|4L@Sb|*sIHWzVR8%5}!fKuC-5t;!d1Dwu2%>O8*Rfp51j#eAiV84wHj_ zGL!}s)yJ?qAJ?dEzE|DE&c|_e_W#N-tpJAN`TG8OMnIy zk0ii(TYKC|`oBDn;?pKQBsx@^4gB}bDJZ2}3rzZd&tRvK^gqH9ZPJ6Eko5b>^UU*k ztE7KA!(ai!vDi)e%@6f@`IFnp@3xo0SMd8r@_P<2R4=H{sF$%`Y@P%ds#Dm@e+&Oj ze}iGr{x;#wFo&Vv3HZ${K>2(Oa1drc>|K7hmieI0N*1z^cu#AAi(MRAXD}HkA zk1u-fli=TbKmFuK-uvW}@bul2XWs*QfC%TPaI!*M&AZ@f6`4|TJ6zcReR1uM*PnmG z+8t0@cEOAF;nUSHQNu?F=pDEkfRAV4#|t39Pk$A4^X4Nrtljn%;N2BpbzXGCTJ{Kh ztMZF*$N?;0fG}=*poAxf;lqx9fFb-(ApO%51i~qC^LG+z!|vU=?XQpt%Id+t1g0Oo z6#sbxa^hlP6UOCE_`y4f4{|*LT%Q7lgO?%0<2WB}qgVQSjn4%+n9O!=JD!ROp9Q(U z138+tAb+5#6iCwy(c}Sf@cR;Go|2l$1#}XL77Cvo$8Dyg`0SW&5%4eX+dn6`HE_x;dP9VbV*Q>C?% zzH+UENZOyx_zhPT73mkH3TeGh0Z`xKJ6;Aek+gj0u@#wc~>%5D+u&qs3 z_P?3d1C)kN>ASfJ3c_tqQgB~|v5yaJ!ybgLfeNDG)ADlc_gLm}YMqHGuC?OUuVCw2 zGwhYGLN9+42IE5yQxl+{*`gO+`A1k@bkjv!+K&Axx3X>>9!_^{Wt%SY2W=~}8sx`Z z>uq1BNZfEHh2jPZ#Xq7u4`?W~Xg~Nd7UGi5ozRx_2ODmM{0CXh1}FO|(|XGU1Lc}d zQq!*ZhO;10*adWLjQt!D?s#ZPe`Q=;bp~+5@Bp(l^F_{e_dojl$b0R ze9uSvvF$`x+76;!Ks1=^fH8yJ(&kW7@i<~d)Njvg)yV`|krO6-ml`9uud$dwywR4; z&!Kn6H56LOPh2JzvcUN)Z~+M5EK6-h!*f}~T5qX2vFsBRSTxwgJuK8~=t=Ca` zbg=uW2|9{BqqnX=blZvMM_86e&w?&YEBC1kM(toX7=O&lPP(!;+E(?~$^N))ZMw1? z04)OD)}OGlWw-S$Oc)s6Z-W*X-d929&p(1IfTKC_ejalA&>>tG{2ioU2E%7p{9QOM zBB+`f{Pz{e$Xh-QVzl;E>XSe{h|HIsKpYT&Pd^WzaAaM2;x71vxqa!0UxZIE`G)+fx$qX0e-!QG6iId|dAuhXuzi9-I=vZ^G_uJNl zE=p_$3xMXI0SC{D;Pj`JhaVTY_}H|z=hdQe{pSd&m}m# zaBqu;O+Sw3tIs3~!0v*FjDUv6On3?oY}<%GJcw$uU>d6T+-x0l;y;gPWE|k409!4pdZ6 zW56vS93uN71CQpJmbq`M1z(aa>>Go3<8rL9{Cr{g8}Zf|Q!+md_3NOwY~XTH=a?4; z{5l$h&T<}9j@NTe#x+zMwH+*_buI57a`6Z@ z&IkVGX{pc-Z-<8GRuFVOUP zIF>pHbM&JpV%E*JYaBg}8FR27bGq2M1N;F0p-!};ypue~D`8bj4uV}Wd>E1}ksi;< zO7i01KSF#S1*or^OCq~Naj90YWe5{(|Tv_0*C zqfyCkO(O{F!HO=?pY-@EiZACr@fU{w03@<;&kZv6t#q8XeGU5~mJKq-SEsku z8X0}LP+X=h7=^v%wBvfxt7x3bmEq@26$B49QgoWa^Fh_sQL_xs=d+$orNqG5)EIu= zAxj6zS=OO#n2GVBbHP)nx;>wk#>Ro6nPF6&vgju{?Jl*G=v|?uw?X zFJXRmldBT*_Z^`gWwWa;Olr)&Z_(zkTFxDG6{R9WlwF9-LKJ<7bJ+Rq)W_~j>d#@6 zK91vXZXGukNS<@+xo^8Fwx9HOJBp9g2Nt*;#t> z+_Tr(p=u()!}(f{z_lEKBe{44)$1TtqJ@dTbs6R~jFQ{FN~Pc#WZyM-a7fbtzeNmr zoOs0sG5B2GIvS9}j&#K0g=P+GE zVPg5xgh@>2FkM5VgsqCYp;`he?556#Xu#Zd+gHiiH{#PWw5vHBZNnO%^h+>me*o8~ zh;Pr+kgtZMd&h+NgnlXV!7QqBPe;B#0KPk85APWryk|PR8SufpNXr~tk!0@yM4a@u z?aeSOknODCOssd(sq~N!JE~cVo%%jdd^i!s#DC4jWdAkf4~K7{Q!imAa)xWZcB-p& zsfT(g3!t|$P1{Z#TK#06{L@*UqQX`UbgKA@p&D4>9h(y(-$^~9qaWvW2%gj+JT8a3 zN#y+Fh;m=n<{r=`5{L~kh&un3m(CG9ZGn-5@OSIp0gW>qQt zTJty<*HWTz&8tj6KZr0j!|<|Py9Hnrf>Y;O>UxGKyAX|qC|b)Ef}OvXoM#B@JXx`{ z&d)>vI@4e{T&X-r%+c96^kutH7-q@}dikOx21jZ_{5sF!AiyMpZWoAU4jmtB>a;onE23he`C?Lx@{cF~*HC>Q6(^0>t?An0y?T2UZ zm(R*}Mt=qq7CgAOc@1M-^;2 z;S<(V*mA-rtjMtCgimMDC$vbmobXAuobXAuobc&f;9JAzEOFpxpMk%BiW#&w#y*E0 z*!&<~?o03zQk0&!JDh-^l z)_8{*q+@RQ_oiYH&-S@#x?8J!3#IAdd@C$}(I$hK+q4P8rk2DHdv%CC-hIqqDUZ*y zLC|LE7j!iEp0~bp-C3|IitxRrjBj$RG&kK)t1Q1A^n~9o5~)Je%uJTtTZ?KeGHgsH zemL;P@-JI2Av++KviE}|*Rq})OOkx_9mTnn73_}HC|%#x7%@M`%GDS)PrJpLHv#6g zXTIYRmZ37^)y<*09vom344*RSP zBL}b3N2#?eHOyqt0UB8jIb-HW(bjwC$_!QGS{TjQAA%cP%X|GZxAt2t9O_bX!zs$G zRoW4dIiH88@D9SV<wEv@@%|J-Q_uW2^lBMpz!URb3lL6k+uWr1ZEddA-{$3Jfw0C;5dSl z;`4!Wl(R}GJCL%VJQKUcsRC z|N4omsaswE>G2-0j%R;O0GwI=7*hA}U29aNxK;ZXTC=Z$3}hvYEu})LbBT|@KG1l0 z!fR%h)qw=EBBzvAj*r-weHZA#Bt7ywRhJhUpXpDar_DJqnEkOldNaEQk-0B^z5Daw$r8K%q()= zvq&k9e{T6r#!5da#qk%Gf8MiPDUQFi{8f)%DUN>u{Fuj=!{b(0e!EV+rqY+KPds#P zG%4-&5R}%h0F3Lu2Qlz&UIuf$c-07o(~53lzoe$;-Hx)&@B7o-`#01 z4oY#ziQ#v(LUM58jnKr}yyzh-#UW>wKX0Qcu~CZSpPSsfd(y*KisR2Mf7#<#isLT~ z|JI&XCYSh3*mVsbWI4>*aNfP>`KT1f-&p>rXR}fq|5CE_MVO`EF_5KAi@{mCVY1X^ z3ODUHO?PYfDS=;!3H-eS39MYspc&}H1fJW@EqabC#mOZmf$ug(>p&4V9Dgchy0)E` z`2~qCTM3iMchB3fhz6xN{><{HJ$|J){v13;&ns)umL;+@oOf5f7%9bRSO7nkq!*8M zcHUaaJ-XBMD4(!UcTTZ8zpvk&orx_0IP|C>&o&>J5j-y!dCt~C=1RF-`hrE=Yd;;=+O0h`cAs<={Velv17%$$$H3Qwhxu! zkQ?B~K6wRNJT$~(^%}bcmh*?M|Na4smCNB)#^Sp*PVL}QisN639k^h+k`_#3r3USQ z1>2$PUpHV!C0XlmYp?_T!9wweQ2Yjd2H9e8TF^9wI)`q_Y;c!sH_>zOCapCzjJK-sn(lA6+`m z*l>DN7N4Ny5--O;v;3vBV!z3WTbDnv{8f)%DGooi{7sKvDULt0{F*hbJxX!>bITuV z?mGLG;`npRpY-^Z;`j^8pY`~a;`mF;pZEBc;`kSqzwGfV#qn2`zv}TT#qrmczv=NS z#ql@54=H@r3oym;)ExifDLMYdQ*r!@r{MTEk-w?@&E)S~{^s(xkiVt;UC7@`{?_uh zk-tm$>pc<-qmJ&-?u=>}Pw+6)<_$2g@cT2_$s5*gY~aQ$Jh}4~m{sWuUGzZklW@Ba zp9hvNb47p&pzy`5348)+_!PsZGwIU|KAlCM68MBS11>$0!Y8^hdm@8Rcq8D_6La{4 zcPrq_Ven}?eJbG7dGx7-Pv_I81$^2;pDOrt0e!0B(}nb@fln9FrzL!XGxN>Y$8Z^+ zgHgS6c^*a=x&XX;4|qxSq2201(;Zj9Ki5E&X-kW{Tkm=@0vIQ)dC`s}r8xeHGmsN0(~Pbr2Prh-6VDvMCY3<&w9P66vscY z{F5HPQXGG5`Kw-(mE!nkhQD2{bL{3AAjg?l&Mjk?8cy#(hBIj{UO41vhlxqkvso#Q ze`5HzzB?2f&bw#5=qbe^M;Ek~Y@Krx;KV5Dcic} zMM5bpnz?P`o_2C*?=-f_A(1M&pPQDjt>dr0e;dv)@vZa-GadnLySr-DvvCua;nuv{ z`fh3!v|ITB=UeFkXBLRt=rdew;hHYoBOV+-3Vka*3N8A(a5D>+bXyLMR5E|ar|@3uaycb3*#%r@#mJ`L{<2e;`j^8 zU$ng-{7P~BrQvrYf|)y~9t-A#ZRD=_b{ezrlpI!+p3_QkN@iTJnO|Mp!s*2Fmpvzx z;_y?$-`)zMi1OD|9B0OypGPNdraA@>V1g4x&k3bC(U@lu=C682DaG;6EPvC(SBm4G z@GQajbq`-Djz6~iSr1<+j(@@dCGGSYkRN0H*Jq|FbhvW>bt4QnxM|w(kf3pSmPeQQXGG3_}w62@ZIFSy=HT9vZqu?mV-0k>uzTuAmCIJfIytlY!uXMff; zt*}^rK9wF;e_$kCtcAt$M`h(<$-ua<9pP~otF~AZKhHg^3weZ_6-(5`TC#xTIoG3` z&&6!Pd&Zkf$n#GCO7=%^!N)IU7h*q~!>zp@ywSGyD&+=`5t8jx%KdiuywkYq z>JT^GZ<^XWK)O|Yi|zcGm&bS60GX_j&R2?aqcRTPUA9$3_?6=LYtL<-TW($>w_iBy zcG7kG-Nv`QzV(lorn{Tg8i|+nt!`n(R;4&w8|z!t<5!B~Uo!t6z|cK~XS(qouA6(P zrtmOb8W=b`hOc8O-F?rdRk@U&a{RgBZx3xKUN>c!ua2`IPBo5; z$?ddIV&iHx4i^wuSOMg=k7Hr|wDVYb9B66Odr$Onk0sq6SXh3ocddI$arl+tcg2^( ze^czaS9|X96m>i8oY}p?x`)+sz&+)0>KmipyHU#S^%DU2A$-vPG!sP^Uj9{loF48! z!mb+{-Uv4Dit&5Gcf8~4M0)$3(S)`U4MdyYW_kS!P~_Nz=t_Gb(PEEwInibw?L|aO zJlczimU^_85H0g)FD2UCqg_F?+@rmWXoW|6Inhdw_6njcJlZRXR(Z53(Q1$ODxx(W z?bSqE5^b}FczqPJ6TSt%dGmINIPRxtA@KKb0pZl|-+q$Yc5b^R!;HZq^cf6rbg>2= zPAnEOupILPN@@8oG5pIOzfxNMry2g4q+g4#l$QU}mfzjhMz4C7PYmaM^B%HNTI8p< z$o5GQ27jOtUmX9$@bjBOoY}XeUJPTydEcUEiBcSL^bBK3*5g--;M&(5u zm6x`5^!v_W-KRAIQippdH?3~WOUHSdUdozY(Q2x@9+w8|zNFi_u&s-($CYWlE|%>aX4$GMJL6VZdC0pKu6!ZI?aCLUIggX?%dR;I3vp}QZB0$9tI6C$ z88xY<7qceHNyf^%SaXAAXFkbE4~`S>%9po>_u^PsxJg%8XzAPu`8MIL+==jG?9hpyp-!y2LNm@9ZtV@T zgjyAjtH-T0FR(z_g-b15uX<-59GB=@uV}5yyKr*@=cYU9br0(b3f`?RYq7E}R$;Md zRp6>x>0!N$v8Z&hn@JaIVXJmB?x0hU92Tz z@hC65t&f@N(ixH`sY#~^&YRmW$7qgK41?7#nx{Ot%gONDsg^KYZ=fUwu2aub4~wgX zw>IextIQLSg#cw4E6=-enOo(4Z{{8rXW8wPWsKEyl^31>r_$|a7A(5TORGHbx_<#p zuvw68wRVooXjFFCh~6w+c}8$yx!p{Gz09bs5&qa{Jgir7S5gkL@_r7o0H2ebN&I_W z0GXu6f_zF02cnQ%uv0fLpK{~zGB$@=J2T`Jrs=+>8_df%{~5OK_RSTxwO8wQ+SXn- zUBShbk*hB9POr6V)lObQu3mwSzs2_IvJDc?dUu)D&iebErpdit z(+#OdOts6j=_TUmldzFt?;m)8d5c96i z4b!Wg>0-ZW>N~pMc4;qnZ?vs>SLs`9zx9&kF56mnW$(A0lXP3(ZCiWDkC@huvyX8T zk0@iX#9k>b_A@W`yq?>G^RmWX?pDzaO&(EoHwACB0agtz&)#A}*jcgNWt#e>`<*s^ zlWv6WH?7^OVw&zNx`HQ7@CMc?HhxVjs|QU&aq&yc5u7uFncJH{bXb>qk>*v)9$YzV zr1`Y{=Cj%?@5j*=v9T<>J^vWDa<-XP ziI!4av@$OSyb#-i`#g;SKli~8>~OX{Kolib7| zmbHT7hf1Bc_qGwR^p6W_EEXQ-%L9%MpY(<+5jqS zGWNs}`{?Y;8@m5<=aO_Cg72HaPncjFx0JsN`CG}~TK+cjcL{&>i#$uXu>$|~zR2?eFdFWC zZSh4OxcNfA$p~EV#hVB)0Tez>;1hZZU*v&Lc!%`T6Epa97JW+K(>D5)!l$$8QwE>T zp-*%8bS{0$;S=2J0oejR$rpLxlYEf}KJB2^3O-#xpKADYA$@A#69gS(m+%Q+esy^H zOtg+()J*r1;4O%o*WkURC!k~KCk*hdCXdqsyJ^!we}Y3Oc)JjPSms#7aLixz_?6=L zCzf9`3FaihSBm40Eq~s_SBm4GS^liYuN23hSpKBPuN23hTK>4luN23hS^lWUuN22W zxBOZa+W08N@#mJmqRivlG@r#DJgyYSUs(RK$FCH}Ut0dW$FCH}zcBo6cOgI8kzs9i zoR#HFu*tc36J0va+H%G|CtW(uhB@*4l5UHB19Ct9sf#i3A6!0*s?-fIg8Uodzzw$> z2?$DB_fGqlP&NWtXkyL;EoeFE5-lLkiRH|EPP%lQvEh6`Z zN^$&&<*$1DN^$(D)HUbGp^d2cCs;$XczB;<)fb}vhB`E~i{EQu|DB5`Q>mE!nk zmS5MzEx%G6e`5JHsx7}#9Di#0i=Mwqas1J9+DP6T_v}}SxBMCzxG3pYfIA_)Ej@UZ)_QCKv<9IpZE@Pu0%W5~Vo)#PVl7OO)dHQ_H{X@hipg zXTXmc5>pRKx6P&7!~?o?5;5l>dyw=rD8=#5BnKy)gCys^uqzs3FGds2KGrbnX;6yO z5L^DTmpw{x{1fBry;ToiDUN?Zy?f|NT&1u5Ip#1I;faLl(Dn4=k)Od9da~{&YH{)v z$YYEXGkV>tG(;lvB2aTak(zrK#v_71t`w)CvHX$oi20S`_?MPH@8K)O@y|J{*q%ub zUn!11xBO*~Un!2iu>4KW9;G<`RB|e|b#2kpqZB8X*&d*Qi9?V3tTRqevjQfTKj~Sb z6lcjyD&~&SiutrHD`v?N<1td1h;fBdiqp5S{Hd{z`IX}ME8xeR%{gMMr|HQl#mUto zm)bFw_v}-OlbcJA&TN&SLE(yH`#>8(&BoAGGDYlr=@7K$QBhOTNzT#Os}hC8EU}|tX*^>MN^zc* zW)yh!kNGRH(eW=tPipmO54r&~FiYDpQS>}liqn%@{#lP-DULsrF@)zMX4T<-L;*}Y zbnDaoVRXFL&lN|5Gdwd|d1NTXX{{w1naNad?aXqe^n;TtZ2m2JdX(b$OUrMg&G<@j z{Bt|v>K?vQ9Di=|8v=FZMVJ?&8Cq2miWzWHdPX>Hk*{<^ek+4 zs5dRYQXGF}`C}6g&T^$V{z9^8t&>enYuce(pV`SKZFDHL?X{)R%Dtu($KM!!{)ruQ ziI{Kl>qu$)x9TA)#UU>&f7v?0;QhT_PW^G{%88!`?q^nTG+lq0p9;q#vBPOy+Ne*A zl^k`YIR1*Q2M{#`pb0CQiUH|Nr zon?X_vc0X?klUZ;2kPFc&8|bYKF5!hcWg=FuEiaiHd}Yva9{si-|)`F-+(+$$oM-K zhohJ--UzY5pH$kl_7Qwx-q8t=9R(SW#+HJ=iE(shDfqJ(M-xlIU&c6^S_=L+#?j1D z@b@u}&MgIh9^+_kDfrVEM+-~gpT@A19mun=6#i)ppkT|AA}0RvPh(hK{%H(L!9&uc zOQ7)Yhiv@Z=Pvk#*C)Sl(cRl#bk|kMFP#4idy>1ZOg4V${5Sm49{6)j^2Ob2n+eA0 zT>P|g34FR5epTe{cVc~lzlU*LV^jJ<2rK*q5d6Xi2Kq-~MS^!5cC9^*mj`F?&r$B6 zw;w~Z;hKK(7-es~9Ij5x_$`u*fhvC#hP`0m<-rtX5`1SP$jrYT8u93N?MYPdP->;I z8-EnWqDbTA!8uB2%*ApD`q13UQD^57r3f336#AWN_Q*ZDaU4v zb}Y8isOO;>z2OwBr1t`XZTvn#Mx#NKSTv*@O9d^lXsG9*)Y?J=EVI%`p&t*&znPUr z+=u2?ng(NTrIB*1VBJUYxm>))$8F*7QGD?IksT*W2Kcw zy$>y{G!6dBN+ac1Ez*^hM%;&LD@}!>vC>F6wiM~cN+a$=OQ67C{e|^+Odx;o8sEzU zf8T-M6nw)kU3mWI;Knfw-v`hyDAwQitep9q`ZsZ~k$jrr){#IOsS!VI4_(VS$sdt2Z-QJivazY z$44sa2yzl7zLoS zBIukD%V)wr(au~1DoO%9NW}yEiXs2bn`Z7{ioiYm5VI%1M{y|w10JIQ#6=EnRtA11 z{B)RrJ-ZB4lmvQ^ss~A6z%#KZ4(!>v@Xxeoi$Fzrpa+F|Acb<}Xez~`D$s+4@Ymu2 z-oOq>A>Mee?BNM+xS?n9k;K)gaUkkUQL_-#BoH+fRJn=1+T1J-QktkYByvh zb_*QlbrysJy^%mS`pE!S1HF)9cVkenq^}H0h9QKY#DPJX3;#@mQU@keE`kw1{<1PS zh44@C@fS=csYok5Dn&5igOQbr7Q&y(@VI3b61R%i2P@HQSs&mFI#%~a64(o=M!yP- zei;b7P~avIxC#WW6*vkUL`@*@Qi1b8;4CmN=B``@0_TCig#tH$z*Qh{t-yI;=QXmn z%tB)={Bwm+3s$Wn5?Mu*Qt~&RMsjp`KDv5%4y_*O7=5eNLn^C>g<#8<3|7~$ z3?^r&bt^0594GPcc`9&Doy(l6=P@g%iyQ@TRltwEtTek2{t57t`EXBcbx?AQA}*x@ z^Rp2CLi2PHn5Pv8hD5*CZVj##FinO4FL64>`Fav)al~J&TN(HX@DXqs2pppTE^PvP zb|(BY?b)CyyA15nh3m<{;#>s+*9sg3#-#}aUMlc15I6}8bSeRU0CNw!G}%Tq5x*NV zUK1~%+D6ZFY_+q>q$W0!;2W2c96jnWS`(j3HE|vFZ&efLQWKXtc#6Qj%w@xp2S%t6 z{z4fdsW+plwr~<=O3P1(`L3K;`=co`@8^IX_1usNFjfD|`^T3>! z_XMx(=%tpfA}}-&yv~>wsQmJbl?o=pKLLL7U>WE^5*YhbVjgyERbfejRag=@5NhF1 zHHCtgH6R$$vrANfJzE9FB@48Ct`<)Mdo~XQE)+Nm1TF)C7Ye)x1g-*sYXwG&G1$pD zRM7C7&f^8`A}UDqjOA7)onLx;cc7drgQKo4T58zJLohV=!&SOmr) z2?S0RI0@{@ED(6Ez`?tVz`|WF6B+^Z>M3N=IPC?hEXiTD3gF}&=Z~e>50zK z3FrkheBinDtq=ZYGJNKO9elW*OTy-Xy;%r-BJ z@_xFhJeqfxQ{KI3Ro)encQe6$Ah z<*hO#I*01Q;TXT`h82nqocGg#^Js>=gfir%t1@K5*hgoA9r$E#V0z58fCLZ6K;Xgw z2NsYB{0o}9Bo6dQ8g(R{QEt!~X_i#|36Y83?>k;9N6;4t(I7 zFfj5)Gr}D1Y?Tq2W&|Dd?5BgC(TsQ*WyH%@WyD-Zb7+Vo_XYs-)!>0|ZcOlv0l1V4 zT>(^qA+9CF@^A?qF2J+GTgBHLBy1JmT;ofJ3j66$VKlxkr}(~NReTG;3|Vi+fnl9# zSm%M6n*;)<3LIJ_OZIH#ntq`fmg!1`_T}&><5pc}_TXD}S*2Y@`|A0O?qS5TL| za#ferYH$@;b+W(^&o#u6MuK*V@a)o7kubZ%ts>EABxt9&pLU9)k$5FVV!A34OTi2~ ze#!&GP-qx1AwtGR83?>k;8Ke(?TFx!iml>nc0XIiH^O&y;8KcqLi=eaG#cM2#rIXK z;yV#c`3>XM=hanUBx;F-+?b$c{{}r%GCBvDCH_`nh&2qf+}}^j{n0SIio)>fRbiNE z7@EL@NI)QDZJjD`t^r>NgL5^Q7K{67u{dh*j0}FwDuW9(7;7c1fN3oQNB3J9Y}PMZ8Cf+@!;v@(DL->s}QtAVYot<+jt8SJN(!Kk(0M%KbBpSI42 z8Zq&8>G01RFUI@nQH+$gzhlCG565ynlj}sTQ@PIMdM?+wTo-a(%Jo97E4i-ax{>Rp zTt_bu{rvZEEY~x+PUJe3>rAfaa-GX{A=jl`FXXzC>sqcGxn9b3^g_|ke-FoUJ(KH1 zu2Z?r~Tqkm!%5^5!bGgptx{&Kq zt`~A$$#pH)ja)DBFHAq!`FA!iCL`!C)WIeEa>O_AJ9zOe&xX1Pf1U#qM8r!;69L=5nns3!sNc z_R~WoW|$!35oN@e8_^pBq8G824Se<5;U&0(TK3bv*^C)q7~RjP9^Odx(0sWC8IP-$ z&x00zy%A`k^#$QnXW$jRVF}(-LlR1I5;04Bgqn|NGnftEO&^w+c{<9z4kbAqiKj!G zjSeL_iPY1P_jM@ANo1Z5Z8kcTvj;yakNlqdM3Fy6}@f8$hiJ7t)T}pD2g-Fg= z@-dEf($}dZCs}%aX|vI#Bqy=({EGWJl;k8TPlq-e9ZGT%wWlNM>rj%DXgnR-Y;-8e zNi01bP1MU}B{_+Ri^S3Rm9~GB&FE5+lbnd;j3uRis;H+^Nlr2r$;`_MWivXJ}L^>ir7No1Z5Z8kcT>7J28y!k=5(`g9+}EKbCsBDiwAtuT zl9Q-C9Z_G0lAJ{2>Ck4QLrG3z>FH?tqgqK$BEp?YJ7|oAjOw1mge7!*7zy1S2+8S) zJsp*i5FJW#5;IRnX(U94lAJ{1>Ck2qD4B%+tu zVW!PShmxGcge7E{HBm1;mEx1^IA`u+J&gwNQSU5y2uSIk*LbZBp(<5H27N30T(lgK-d=Qf*+mUw9AG1?A;mUPiF4{atTgVAyiZ3m-WXwc#=TIr!_0g||R zXcsaXZR(^WqAptFNkHadY%VtXmtBeIyQs(rVAJion3^@%7c=0~3}D>_OgzA<3z&I; za)aUN25`{@%ss%e3s`!9PiG5hM=L&Qm4uX+uzG-b7qIaFVN_xaFEbX-yB0?OgNdPA zs~GmUw81mtUEO_H0Ibu0fl1(Q*$h_RvZX?YWHhJcBmrqE(8v zwliA4=0~pv-bar%37J28y!k=5(`g9+Sj2ZCsBDiwAtuTl9Q-C9Z_G0lAJ{2>Ck4QLrG3z>FLml zj}kJ8DalDhFSm;iZ8kcT5+%GjCS+UaalIF|jODao0a&pd~Wge-n~5(P_0 z$HYcLf~F*=qx5uWvk97#oW#QFaBBt4w$#ha%A&Wt5;UK;CSIKf&gNP>l4rc!d^n|u zifg%e>kMrekXD%wZ&10F#ig=>o4mMu7+#gvt|_(IAuX-TM;7gTI9?oHW4q2uNY^RJ z>6oyDI8z#D{tl*)6Zi9aPaM!@(@#orfD4uoz`~3c0(`^+)Mf*yBnMcN1fI_0EXIqi z-L%rtqrHBG2JRPx-7#%mB4l5x#l;m_Q zJRNmEiIn6dDo=+tn=Vq4lc+r%d0&T;oJ8a4&}O4UNls#EbsU((;4wC=W;29{Uu)6{YNd`wSMjnTyE)@RPuCrK9c!K zmBdzYcRaZMXT+j=N+ z-MRjJPp6Wn+l^%I=~R~WPoGB->eQg=`-#jEDy&Yvx4iyeSd5*#DaJ0J{+f{~tu~Rl z-Kr9q8;s0?WN!N=b?aNXTi<#<_TOLev0S4eo{^N6d^&)Ta4XC7LIWIAA>~_r4{uz6 zh*C9`ef<;LF%0fp0k%YV2n9cC(ar(NJN>W3%dwepjTQqZYT#jF(Y#ag^esj*@#X_% zS^pO-DgB}3>1&N-YIX7v=lb)kLO#8po^NC_t4(A+d#>qvk$IG8?Ashmmf0Yox4mw zyf5DUZ0s^U^49+N<~ihQH%U$snT?8VVRDbnt-qHgr9WH_{1+oRV@c6jsLo&TbSioJ z6Gk%ebSlgGK2N8Tr@M?~>gh~W=QBN>N}fhWGV^pQ%lgO9Hpy^Y${*}G?KZeQ(4w;@^mVB`bHyJcsfhf`D#z6lBbs$$wT-MKu` z?cj+{j>hOrv~y0g{yb~nahEdZ8g-Q|$w!oB{ZnVzfGBzTXGG?J)OG?m5^1u%izTJw zl|20wBiVR5m1TYI=~VLcfRS8UoqU?P{@qp~*MjMbjZE|^v&0sev#lzT`NEm#GW#|m z8Qo)C#A}I5u!cy88+G@0NlGW3vyi1*Pu^*OV+NMJ2CYuIlg>?yNRO603~xPXOQtHF zzTP0t*gdf;Rl6=H7PUpm(+iAbVgqwTS=RsN4BPcep8j_tb9houXBA<9ckWm}!II*? zlBe%9l9{JdS=N8j)2Za?wMKGob@CE%{k2x%O|(p$zTC*qOdn2i(?}L}IzLiI65=;_I+Z;A zP9s@*I+bPp5>Ka+r(gT#RnU1-;#gApFB3nfk1@;N!4r`uuCNpF5oKBbZDP@>UCGn` zXuxMI$>37=?l8z37FlZLwH8)nt~8h_PxW#G;}RaG_6WSxzPgm8bePipLvd4CreF9* z8;O#WK!z!;Hf5M9`}!XcyB-TrZIJ#{mg!N0xUlJaWTJMxjaW2?lsx@cMzXR=+)D0Y z$?lTy6-Ki5bmo!d&~{I!lBZvIvh~05bSlgG`-w%nS;^A}jpULfb@*Js!)FbPm<*p< zUH@4IlWtJ*^kxHAd8w={>p$R`q2%ezNY>u)iB#u>o=zoC|LN<-bx)_Vtbc%5)O96K zf6quRtxl;nzrkXX^<1IuGBVM(*~y98*Kf3{q(Z&P$V^y90+)zy)7LNyt-f!xgQ?ww zUSyHm<=mIQ*1A9UhAA8TVQwenyDYLe`5?7RY{cOIWH1YFn97Z%XJJmrthLns`PU?+ z!}JVf5jT}(dZhu5UX9VyEgapslwqpu>(60CnN8^io(vgfnV$M;>;8lg)viqK`Vg_G zElQsLzLAVsQuHg!`meL3=v4Cb=Z)md(^=~lGINsAa=^Dy-%7n8#0({)rMnbUMjT5Lp&So=)xY_1|Sl@n6Z)-!zhyr&C$h zf7a8fntfco#f9O$)(o?OYMT|n1#AvJ3naBo!npRfjh~U8t@5AO8++E z&~%#tzrq7omi5Q~!43>1Pyd9-JTPYbfQ$6+Gq`_gVI%#!(Ej~ZlEVI_j^+NfcO{i` zdb7cgzTK{G=)tjW<@_E7mj1m6C-83Nyv!g@2vOJK>eTv|zCgZqqx1l|21TBRR7=WiI-8t5D{mxsge%HjzoKDv|kKBa@O0j2nCOUu!yD!km;&8(xnq z%lhY+w#St`eT>K)h15%@D&j5G^tYLXz;E=xm1X^xJ#ZyY|BV5kv*br%N&7WQlmq+} z#R2O1zopw9$6ccAHahQONnt6~tmhe)`-w$?`PrfaG#QIjp^-ZIc?<&|<3Hj7=L-B@ z!*bFC=BEe`&{|x8=L&q-NNwlmpO}Rop_p!(_AB^ND2W3cl-r)rl_C%`!)!7d8jd={-J5V-$Uga-Uq1E3hG2rf5}KaqNwl$ z*z`@`jVDl#o;XQF$YHDvI`Q*T?5)oMl8)R&5ZAwl5Vf%I(-8aYSKO3ydNJ$fyX!Pm zbmE{oBm-O7*Pr-141k_*P>f`dE6emDVv#k19kA|8pzFUuEWMKSZ;fQZDJJ?gch|4? zB$Yhy#Oljn5HfS^prhXg?}>`u`Zo+LJ8Q@?Y~Ll|219E9qrGuGVIr zq>`t5jpR}@0H30qd>4(OqYWDZWfX{C`%WgFRO^uV86hs2_%Y)A3n89j;vXUL?B8SJ zoeiwS;dK{x;2^#8BwuVM+u=y`&LuC>WqU(+0HpWk8iW7vSv!`fib?M&%k(y4;e4BL zWndJ3glzqXs9ich>g7K(GBd70Vg;=n#fns|n0QuDR*DtMGX1;1X)_`9tVpoxt^XOd zs})3>{*IBEdsfi-jaV^LEAAn7tt&K7h!x5*J!lXM&x)9=_yNxfqD{Zu$SkZCcE34M zBhL1WAQmw~S*A~%Y(r7A5r2azF+Kk6T&kB$#5XNQ(_aW;Qls!X;9wJvXk=<-p_)Z@LrbeeZXnn^@sHA zGW-``#*%%S7J`5S_t4EFpcBT?_jz}|LQQGo{h9{vNFLTNP51C(z-v$7*5I?XshvOM zi_ty#nb;HdLc4^t`5GV@d#I^;Sy3&~N74AJDZ6Qi4tgnHM(N>Yo|hMmdMRHx>B-O4 zo;f9;+H)4oB)e()9kfR_2tB;qvqzp-1TM`P9bNLUVo$yhd%}JTuOw}&qrOltd3sPU zc}=2U(6meaxeVyd_9f+!SKu7+#X)z z*+b>r48%6+<=$;iekt~Zz4SNwZX9B(!#@E&82+0NG+xs4f_yg>+CeYnl%Z#3OnP;V zNYlljmvZZ?CqGkr3NPxsl;2HJ8?;AG{d;(cXOA5A1DBul@OT#72c*Ze^P!r#APzl}W7U?ZcUzmGSD*~m*Zer{to+0t{? zoWqQcbI(~hei?9MS2k}0X33td*M}33 z$3hYIlS?saTipjUL6sjb(}d$g>)li&2A!2H>)6zrc+Se+Xuw(767`%-)vU_v1AbOu zH_aG>X7S{(j|SdQRq)J`MgM?VvexgJH5aqOel;T}ZL9mBP-kP$Sw48)O{;-HXL*j; zM>Tc8+0t`X_7(%q%9f(%>_W||J+t^m@NQZf4w}VN#XgGRfLWDimTWc#%#uAu&#YR_ z%BfjTd! z{vzdWc|g{NPY$bj%GgImZosP8ShXwWOxio1BQ#|UST|GaioniDNbl;-NEJBo+~#k5 z?xr)f!Oq~xV;@Z(18!%|ZJ0>*^3G!KcpaefHsJPLty_B5@fp+Z_0d$}Ib>ZyesAa&qLai$UJEbJOt2YK^A@~D2oQ;Gq!!tJbO-m`#x8D8qXfSS+vD*!r1;g_v|_S{dFPs zgl(uw(iTu7)JrZtx}aQfobYfuwwkXzFHe8hUaLKk7j-#Bpm}XD3&!@>jc3p4@2{6? zPv+UfHyyUv?~m=Tqwlk$c5HwBa5lEBo`5{9FDlO-+3%BoL-85g0LPv=^r4 z;DOoLR<$PiO5WJX|B5Yn^jcde#@D=Kd*2DjbD{8(l^=TA;#fqsFV0QP@hXLZ{-++?)?l7rxn}!%K3~tNv_CSY@o+>lC@eF zc|F1prEPJ@vSNGRc-F~2cf7WZ?If3KUFKOQM&%aiwS6^LRJ^e3Tjt9oO!CbV@v6T;&Nty^p4s3GoyV;cx|h zn(6I#MhSi1OFw5bfeT#z@O?q(GvtVw_!Y8q?;6q$&wR!+i81jQFCxa&XFQ7-Gmr5? zVx0So+lVpu7%w2k!e>027)y_F2Qe;u#&d|V@)*x2#@c5*mlzw5@jPN&`i$F&G1|?Q zmBT}{!xN@y97+1l*kdFuhi5(`*>h*&F_PVfQ=gGMyfgC{DH4b0J|o5K&fH_9*d8u? zM(Tw-OOKIy>+r&7q<+1#@))WA57#~;Wy+n6$4D7-Mxpx*m=QD`2 z@;SM~YoGI(#M$_qoI^{W^D^R$zF(tBQIfP|qQ>)C#2NdX9Qm2g`E24$d`=!bsn7Ww z;>>(b9*=XM^SQ*C`~_EPYO{8VjHEdBj=yoLq=%pY!>|+4!7X+m=A&ogml9 z&Al+Rv-iMk@Ca1VZSRMFcKkUs?SqFJHxF#}DB9~>Y27@a528Je7@t9mzee%P;GdiD zF|>~Z{@-GodkpQSXC9WCDwJa*}%5(cp#(+5!knU{P*bFg;{2MT5V9!FqiLEts;xS|m?eYe!nTa*D zJ@d2{8qPhl*dQ@%EJbr`7>&0f!>F1L7*?oZiJziyyg`PM+^}I%SBD-yHO08Ae?)U|3DkvIYAfy%GxU zax;;)U=IoLBolcH_AVhVnTWvA^nVlLDIoG91NU1zsV8tsLY~q98unDmY&tffMz1&Z zf=cd?r!*!8Je`2_z-l9bqYN^P>cX&LQgDZ!f9KL+4WrB+GK>n+fMGK=EcSCl#&AOQ zc-Sy0z3ITQGZ~gx!>ASv8Aj3rhNWs)?i(hL)+RJL4;u!@78ul&d>*Pl#<0=KPepjZ zuDROP_;$hB1@$DYVTSFJ!kJQ%4A_-ByATPUW5PeM4;x%d?urip2QVC<3OZnEA(jR% zQ%L#hSz)36mwx$`H&Z6Gq#X8NDs)QaV8H*%^M6Cuz8j-CO+$6S@mfuc{4RonXzC(b zgb$l2wK}C*Jz!$vn<#aAW3=*7tsXFOsU~K=iSoN42^~idn?mvWwtE%P$paVhN^qiY~a{Q<}4YGUJ?2#3>TBAreTo2ZMk zfd|;AYUjR*Qsg&A>m-$@0TT-~G4V4TPN>O5I-(vnQA&I|a7fLoA>TwP_Zwq-3K~lT z7B1An(zg(fsmVe*ryjOYihVk8QcV_CzJ*fwH->0R_fDOf2n z5eFEoe}s6FiM&$Eg}7uQ1|gdMFG4&8L>k}=NFq2bfm7>m{X}MiAn>sJTR)LO3_OwX zYa;x%Ds=~qg*0M=mj}#AtU04| zT{4dyQZ3c6g>RUikZf@fA(O)BSx|JPnQuq88)Ju56OhJ=aZ3jEWo19aq-%9Q%mmeZ zC6LBK!12ba1EIvaJGucJJNio1u*&a;fa4845TYSCP?Iui7-iAWxeJxLfmQKb45P0F zuIz`Lbgk}(LfwshcLPpMw)2!RddyT>cd14UxjT0LwNS%q-!MJS*y5}}kC`Zv1N~50 z!$wYV9@f`X^-fl6H7utYboG#ENZsnLSSs+$_gIe}=*xj#$K%wDqb6N-fD`>-TLDHV zLrU9$#G8OHFByEhWNVacao(`%)FyUzp&OD=Qil%#ld_be1R^?ir$3ese<#Zktp)0WEjedS5m*kN7GuJD8V_t5L9;Cz6I zSel~gPYUrQ6Zw3A-*5Hki6s*;sL}KXh4T~;X+YvS@~NH=yn!H|+W7!t;Q2t~b;GxQ zJ^*-6;e0@?;a%nG`kauu)!CLRaA#$pM+B4ty^#jzAfrbF*3Z*FB2aS{fukx9^s`Xl z((BGdALQp^ck-$nmp z;C>(YXl!P_lQP#PBm4b__l@mxVp1&o{L?>$yA+8d?#0)9*pf=GwbAO zA7;$eN%)C`)#WD-bh1zf8!GsW3&a)(~+^_n6w_l*Ky?Q6(gr4aPJ&K3_F4YW2Ysl z8d?QLAPbDZT!9yU1mL#j%)?-SHA&psg6FdQW8KGltHN)S(NSQ= z69N9B$LRcO{XFgMbfM<(@_O}>whZ)hA;4iL4L>Jl z{XFdhfLhJrUF_;CX#)LR3UJ^vA#V&EW57paEc2tc^)?p{HpfmDVp1$wGP-gYJ6V{i zIYnTWB!PaW3S9Yq>h5;<$@THWh0MB1>!6{Db?k6quGTCA-OK~sECe|4VXZ*ag_@iC z!P6VX%;0>JPEF6A!BoG^h0KsIC2K^ z@aWmc1f+RN4D>iAbpZ=c0S~8nkj$ZA4-LSv z6P3BTI}h29<$>-N>Tc<~tM_BKxF@OK+oAbpz}?cid)mh-3pK0`Oq(ju0TK|Hmc9%9ff&cNWsAP}_K z6X3AjK@y0Xs=5A5r&~zMouOsl=s+XAGSE(Y3prP7W;7&LFNg9#Hwy(W1ACuM z=;=<74poPedTbU>NU=okw0FFzn#0rD>ZHyB{hTZCA~31*K;S}v1J{Lts0%f>@ViBC zOHx`6b<5ZWy&}cZEvLOfuhpC=u+}tzel7(#@b>&QfkOrOcwX_Nr;j7k^YTN{8{44A zq*$VN`nTuRoHQ_cNuZyp0#|`aodp8V1vqR+oCl&7YHsOwi#`NAd>0UQ#A6Q>l%!a? z<+RTe7HZBUuv@A?KWhcf1G}XO1YRoe(hs2CR2<$sZE>U!z1eJ;PWwn<0@5_hvcLew zq%L5~q`;wz>Ld_272v@0z(CZwn!E73MfYOE_r}IgKyuP6X?@x!Aca~J2lh%C=;lI! zi@>z50)cDhOysT3F(IC0B5!qmS%^y}@>b_(gm?;wl$+Qm-K~x({m|sU ze`{ce80{yBr?%BW4BYAjj};II+Uh89XcbEWfl~#p0=qj41fC0U*qomSq85r8hnzc< zfv5{X?JSRV%ST%XlTGe!+Srz_BE2%SPkYN(t2KGx&~5_VTq^J^5I8yzmYoyeoCX3{fxxu_M}fdiAn;OwLpO%ezYI)$;KS4p+^+|s&J;E10nsE7H5JqcDnC8- z0nyYm_701I9q^OW8IgBZ9c;Hta&urmgMpgn;Cmx0-t1OlfDoCgADfxvSG z&H{n+K;S}wlR)4y5O|@$aUgIN2wW?06bRe|0xuP~39JCo{}h&P6X4@K4g`(^foBR_ z1_CF6z^MY~fxuZH@LYhy7JYdjYN4n}(B3u>b)l$n2x=9GS~DLP?$4i)!p%f3+#eO< zNhWgPeys9wgXWMMGY(4fv5{b4J+G$s5SF( z+1~jsDcelsvVFM_Pco6q_C-QmGLg&nSB|szDImfc`6_(V;x!lJ&;3LhQr`ZK3I9DD z%k@mI6S+?1I+N?UT<3CK$aN{#3%Rc3x|Zuku9tEhT_^ha@8MXkXL6m$bt>1HT+ih? zm+L~VOSxXibtTueTsLyPlqM?oxz6NzF4wtS7jj+7^+K*Ixvu59 zk?W;gNB^_v=f8(zxt_^&BG;*0XL3E4>s+o2xh~~;A=i~$*K*y+^%DQ$Sy&9Iu$$hz z32(H^-s3Mkpl#oI@Xvwsq3r|EhKbkt9h2zC(1XprkWQNiE&;yx0iSt35y{Vje{OpA z7Qcmp7-&tNc1kM71=L%c~0_P|I zza$gi7#5F0_-DX>TGLD!=)pogXaYT`0)cA<4xY*bftLy#y7-9xmBjqV!(u)W{u%I7 z%#$<1vL+V6EUorAAQ&>5QdEFvBY7Zj76?37;4%<6M*+-_@y(9e}lgnuR>re)AdEwM;toEa;%%!Gd~8A4mDm0A*z0-sl+ zr-)9|1CNxIz?qoS@EBjIU@rVi9qVPFqFe-H&c~IC3gMq&UZO`;prR54LqfGc1qj>( z0#|{+wE{;xL|67f69~Li;5ZOCIw&LHrm&DqgntJ76q+PZQ7nQP7HS-FycSs5$up6g zi`-1t0$HHqL;%Xb(U%JULhExLs3-%$kgS@c0?ev15I7G6E)=*51TIkk`XUSL{Dtt( zwey=mMOB~&wRk{x)>jUSDzG5cT8QevVH}}<5SKhKWhTO3Xv)k3} zfxjYw#mJ!pm-;IbSd1LH>A3?dl7IalWJSWs%PW%oLOjVtUXgsi5SL8k70IiFcuI2` zA3OU0*!vdvD62E?Nf>TP=tLTzcB4cJ?dqaN3KCq>CJ2^9ut;THTxcgKxd>ze7E@?* z@wTnD)O6c!x8HVK)a~+hw_iQZ}WSkxTLwC1R?$RbXQ9T(}2ms!L^IXwWCWZP&B9~G*7BH9aWZPn)9t{&WO zk;yAn`%2B^?TeI>wP>r}@w5C=6_m^CJv zE`%B^%=uVXx-f;<9lkQC!NQf3qv=AZ!NP*;yV8ZJT6|~^k*>u@yuIvaRiM2UJ+(}= zuOnU|)4{Sh;Xx}eC{n{$r|@(QLAk|_D|E+Bi)^voV#k%b<4TJiS6S@1PIqjx*m0vp zBDQJbRaorUR%nfQiD)NOcZwC>OCg0ui)@Q(BUQDp(6(8dMg5dvQPVEd8rHJnv#2@R zv`Vs!@XZzxj&?!}Q!P@m%Hmv5r{{nwiyb=^akg6|W|3-NNyLO{2~Ap{7w|t)H_ytOasmIiy4fag z$_4xeb@Q?kM6pdpmnt>IqOhbYVfl5XRW`QR@iN_UhE>{G?6^pGTxYT4a(aMFoh{bb zxk9y1M0>&36&6ubZc)N3w1iup1QeTAS!C-<)xJ*asO=UZNUw`cW zgR}z_Ltz0XBvZgK+yYGVw$(|c3J(On4Bx_ZT&FuOw@9!?iygPAjxD;%ElNn8mJplO z;VO=Av?w8Ms(qW55Ua|>wn-|Ja*GU|sM=R(#;&r+*iMTtDAFCLSVUEdMKzeJ)Za!b zkjjLx6lRT&CNU6}!klZmk{Fvy%(Ph$mco_SMw1u_OJTtcT}ezL^+!v9?H2KxA_joK zpCXK{#F_-9s^?PGbBTDaTSiX?I{eTr02IHi!aIm=$0TL z6cJ4tEz)GWMP9GeyxwMU#8nnMu2UUbj5k?C^fE0$%SeJCJcU_t(Ig1MQ<#HnmFRO$ zxgeh_3&K;l5_v2-ttF5$H0MBg3Ja!nB|#OM-z-xL4+Opp-@?o}mAYfA{8eSK<2u!` zMenr|*c6L`UZmQmY5`BQ$ZX~6!E%f2QK8ybXgO@O_@eFV!3>KKRjT&OG(?tXRg2=& zM&bh&2X_}{iR>$XMwUPO%D;S~?5mX``^uk@1wJh-_*4M1%H`9BEo%8BxkE0W{#M;Q zD{rd!r@GlDZ_4G#PCxr4nM_W$Em7gi+)v$LQ|=QrPAVXt1Nb0r#jv!lr=@|vl56KB`1Rs zOc)2R-%Bz491+8h7GttKA|xY=qWddFbYF6OAY+lT2J06VOb_7yFgi7n`XgquOf4}0 zxVJ1aTdHbbp>>7TsWt--2112zVIWwhAh5Pz$gs$4%QP2fSY!*Q#g2<~$2N-{H(KPk zHqFRYFp@}lg4+tSM9?x4%Tb^*M+7RPv7A#;a63`Z;mV@mbFvJMukO;lw0JC3e6eI0;LV#Na+VfTg!(KahvYgs!J!sB3mpYwt(Is|8$n{ zPy3B7zkk|qbdi60rSMPtjV@5Lu;4QRB$Yrx9NKO^p?*B8empCG zlt$Q})Q@fI$2R#R%>=fapHn|xRzF_WOk&l=YAd!T?TKh7q};MF(gUPUO0B&hRkcq< zdwP+@wTMO97AcWeN1d5%j|ke(V#gJ_<4QH_ke@S4_&Fn~6Y_252;XKjb&?_Q;mRUE z=gJh~s7PuA>{eLtmjOH%&P>n*tgN{!kKiz804%4&+m zeqE<%MxM4T;c1IRGxDzG2=7`nnw2Y>fn0?vg{LhN%|Ncgf*ZS{S%raGix}8$k!F>u zV{0~Jl|_QpX@Xf+`4&5F(;Zu7u?&lxuuO9T%_XG!$zw$IO_7%=>2XeliCs{q`{+4SG@)od#HUAi!SsBWH>H|6YEu5Px; zn{w7%r*2+WShW}dCR9;kgGCIas`eF{$%-sWafU_OEz`8Ks?xVx9C@W4aTSa;S?xwWzpJvrC6Is5(`khuwZ5Y>BCHFMH&N6i>R%#h=DqV0U4{I zbs}YQMFyYNggIhO7)zqGN)JSj%^n4+Gr84 zZJM*RxkPKLEU~tVH1*OtigH1sb5@l?Ev>0miZxXv)B>x81-EpC+B%Ja?H2W-t;`x~ z6VZ-DidGa9=GHugd-wWR6n?!(D~gq3Md8S~~sYM|1ULv{suh9jestPJuDM@MIs8YS5uD~0_LX_OdXVZmp+8fBgAui!6W zKD^kdzWfz^X_H?vWAWviwsOgC6Y=HQMET`jjF{G7cQ}q>k033a&sHHv!lY?W;C_gZf-+&c2t_%jG;DF z<~DR^N1eINSZdQ~ZbNr=w3*wCqc*n3Ot90P9f|UegdO`N0YBz8bZ1AZxlJ6k$uPH} zJ3E${+r(2Fr@0N?*->O}lR$0C&28w;jtX;|3Djo0xeeXfQE6`TF=|s~ZbNr=)S25j zs7<4}4c*z%W^RL&65!`?6MpEZX-CY(%eRHT9vtt z;Iuk(8^LLf<~D-U+RSYPr`et`VM%aWqP!#F5}cM|ZX-A?)!asKT86oe;Iw7tHiFZf z<~D-Uip*^Urw9!AuRGY`=x;a1b9-F(l9+SW0G5Pyu_1Ks7WB(caSSmeso&0^ReS-X5 zKbEH-`%~~^%iPUt?bq!Rx7Wrucv|yLxLbU-6Gs8SSBl)tTWk}u@i4wU3l(GYT)a^0 z@fQ9~jK^Da+~#R=9&@)8q)Y~c1-2&7F=vyf$$Qe%w6P_I9#waIxRZy5Tatc8eb~em zAuvW1pR6Wb+t#u z+ux@KEt}K!#Ndt3w&~}5`nmh`bE5SaO`z4mZ%m9)ZyY6>V5|~;P1*$gWh#Y1R-AfHl6V2^BAzXrz_sCzFgPHEZZ6x9TUa z(NB_S`&nc37HR<2*ezKD&v`BvL#LDjcFaJfkB-OWQjZOWX<<_e`&?e!Z#S;S8CMCp zjtf_E9YycL&?$S7dVrCYi|2|?)14h;<>L;*G|t!Fa}?F$%lg_}$C_5$coR1c)3dj9z1wYuEPhLDerXdVn=E7w|+#uF0OuS+_!#2LMyLGXyp|Nt-PXl$!7ZE zTl(TVVi>MTo#XGZE#5Zao2V*SylqnXH)#dt{4=0Ag-NsYRl2~;So(^-I3+G<@c7$> zzc=vr0noFx4j&K0KyN>Xi$?taX0Br$mJvRz<2JUA#?71}+-<=hrL3$wBZ1m@8b9Ts zU6~7aOI-``f(9VA)U^bUJYNoA@C5pEUBdr(Q^13+hv`l9MsfzXx8dh^O|O*wrr_s? zx9fJ5VcNOYRN*dlwXzOfV2p%s)6meltH7zcfN>xCCcL)Pm0=8iF+Gr?9@s?hycje# z*8^zn0+9tuGU>gIA@5y=CYiYH0*LKr@xK5wq^su?ny5D~Is)p00C3{j0vd+E6MN@LOir)yXu7YtP36FN$}Cnwu?^48Z0cu*m8i86X`!3 zEe87`4Hi7>!sG7I7Dtt5+FTd`e z;_2ll=A?>2oCid%H7R%wjOG%6gnvbqc!d;)7iq>q^Iw#U|0SMj?DVMlmEwFNy6f5r z*gph;E(7Kh=|8a37|ugxU26!cMm+aEQ2QQGdxm5Xos_*;C*M+#p`a2}2!2KT%I(1I zqodI6=s(6u&{oLqp(xrj(fvC3_zkM%ou{rFMb|$gshJn?_>_qd?t3-3szK?X$`$1vJvw$LuSdeoFEle88wW$dG(Ob;=M5A#P@&w`p{2n%u8obj3xb`v?zOQrR8k=A56}<+l|i^X zfQQAn8e)d(@nH-iw8u@`WsmLE=maf-I&rE_Xf!mehw-j3ousNx1gm3wLA?~A7jX1l zG14S)RuQMtw7#1zXj+Gm;sX3hvpImG8Qry|4j(y{>eWC-`-KpMw8=NS3KDTa_yYe0 zy}d%hkkhC-A_rqA48JZH@+idN;kt;OZC9P8sLqTTHGriyW#DHLEHHo=bm*umRYy+M zk+xU@34R-X1!-MkMCdFGcvYgKM@~W{>UXrMFJP(C9q-Fm7&DcacBzv9p4wC;-_d>< zznJA;vQeGrq&>S4qY#**4lv33_CQ@XjmES8M`BKn5u&oL0l(^bGH)+<@!3Y%NoEl- z0LYz-!8#!`kDLTckX~x1nznUrJXnKn8_{hZhE@N~%Xkp&OTikY|7(jSiGJh_JX89= zcJr5U<}V5Ova_P1B6pGFLe-+Ds}|o#X5j?im8G^N+a}aMb&u`RosLp_HB@HRl5Gi( zLcvYJU-DdhOfSw|;3%Bwz^D%4At-7mNS9Neo9S>8Q`9ZqHveU`Lt7{5Eg$~xM1wb| z0hqWQf9npxdOrSZSkEVZ4S>*3;e2Wjth+Gb5_{*gPpsAn>&5Fd^$O?i>KJn#TZH2XnI=rFFRrpN`F{KAVXD?Qx5@ zC1tBG{+nk1L=b)&It70I>&cOfA3_=^GKHuDnvGhktvV`C;Vn!${-*kp^!R z{a@0t)D}~V8S=NKLs{Y7)?~B{gip|kC2!6F$3!?Oov-8X z16mB?uMI0P1Y`;mUdBzV2%YdjQQZ_<*BOR?P5>$`x-3sY5wEdZV?j}AI`r2L&QX5tgT!}>!pwU~=1CB8?n z)lYOxNuqf-c)kUJZZQA?0VZU$(PAXw(IwmLS%JigyhbBpiDf%JKqf!ABCX*a6F;N} zj?%|vJV12A|LfiWr8cHA4~ptKMb&_c8vVil6c8AZBYVZ&%CKIwQyI4+MX|y3x$v zjpv!anZL=EI@HuQs|~FvdUZBrwDt*FO+FU0e+ByZbL-9ec-a}&$E=T8ADbeKBYSni z`nXT@F{72y8jzPTs9hAyt<0@Mhg(gyZW#aOJvrLmC6B0ULg&fBYw?En!)Wga7>vVYfvHB|MQhV{Fk0!{CC&gYz6;=O=k}a zUUp0kj89|z+_@@{pMQ0f`I-5d;%kFfH?wZA7S>}u+j}8WE4YNs5TajydVipPz2^|? zSJtnrU%QhjF_djDo~wAS3aa7hb6=U2xr+Ic`I7mv>ny#YJoiX@ROWkTR--x+m5o%X zk-Zc}z;`-avt#IUeGKycTr(!^l7=bDCb2D3X~JB5Bo$vmj$bmBHKOd%xd(rT91|~7 zc40MrU}J*zSMY~Y#&x?EIwscOnGU=~|GLo8?!nJKv|V=@iG`@n^`TgEV!Q*tG}8m~Bto<#SxvMWdXtGVdu73yU-e%pz5A4Yl0Yj_J%Z#Op4Ti_%u zO~6{#Q;pXwjKl6$01fbBI8HAOncz5}UsP|rs1CpFk}wK*2nqp?0_Alm&}_U2DUt!H zww@XR4qlT~OemxAQa8u+D^3}&2!(UM@rvE(8uj-+qy}$nAvjI|j%0#kr-XxEPxun> zh_^ARyc)-Yi&TayIajO?L*?-gSz+Yyshup3?JSR^^jLL@`KO&#r)e(bS&j{o!DNsa zvs~!>c6>pY`EAjkWL;#!qkU|~cwuqYQ>+(;rlWMhxZbriy|6Uv$-peCrS6x+VZYK| zwJ^P~FzZo(Ty&87UryckhGpr6Wm!)KWf4_cm9B~dUi#dkWKv)?6k_CulERQBf4!c0 z{r1e~!^l(nA6TBOtk_tdtS+KiwROX~NwAc$_FwnoRZX@DI8=@c)N!cvX?Zt6Bs3isA68 z>cXeycMo1#h;FGgeh<18)z#E*G^b!RUtPdbX}4nvtR9$bm}EtMWjOd>lJKVuXZROy zvy;a)Ar)vo1d0LASLqTp+@VCiq$1)1xGh~?y6EV_5gLttZ-CRX&Cbx{jw#96=(Rq1 zyxyO|u#bp;vnmDs*4)nY>y8U;Am|4!ECLrMr$S4>Ne(s?T4WKq&7mcg+Z+pB<@{NM zoq40Gk%bQ58|Vw3^GtG`qwo125CcM!IN#_(i3ED;8w_te@`HVQ!GzD?e-&BCbmZ-I zOu-#+VZwNm!5&VZu6&Vfb7<7M&-Obz0W5~Ywj6=tD+NHk*Hhr|8O(D~t+8DZv!6+h$of#(M};jbcDlII7WA22~0dAA{< zYJWazfGx}O1FzxOChe;PY_^NS*+r~#Sm%sHofBp~u=Uz7>w!hz=k)-u2Y5Zuw{>hh zH;0>>4c~V7{M9{4Vf57xzsvfH^%d(Y)>j+{rC=}CHynfRwR&@&r^C(DyoTmA^hjJo zGv71cGvBknnse>g#-!?(-r3WLZA`W?>o~tRdYvAxYkPIu64p7aa|V~r2@{_@{t-@X z4zB-L^tFE5uYwBTdRtIb{To)2y;$@iDvKtf&)%r{K&1}~ed79|&O??Mj%W-U5wDPX zNUDGGhU5Ru%>O8a3UKx_|0DlYZ1;yP3s}SWw?1SI)7P85GKRCm?}q~Y{mJ*k=@Io->h9&e;cLkY~`_)7q$kMwFGMk))F!_Z>mloYPN*m7ZPrNLD`X$Q#1{^b^6Wcf{ zqfWQOMq2^r*9|pGypQvo*$UzHIRq1C=h@tHEg)ulE%QXdm$#lSc zGYZREavk}Hu$hA!sBkt(Me1m8q7?&q7}hn0oD^`t_^l54)WzuRR{YJUa|K+q@wxN$ z&;p}6dZx>$29O$ z7;~*tRI}?Q^g(W4tE@t&5Y<*~Lo>O>EiDtF1q_CtY zvyrW@sP_F}la%24To~nZuKjDVo|#q6>zTmC*xC}gZmc7aBO=cH=cwZk&3WfCzPanr!d@Ly}DIB46aM*YpyIFLcpJVwP z40HI{#XqE6{H(qPq53ki%7W^ZDgH9=Q?fRBLgkKO5P|U`qs&{6%}0?#R=+%Pkfx7` zQJ%smDPgRBRb1jwl^RC3NHOfMd`U((qZ`?_fw`!xOr(L-Ps;^HH>0}_BIxU8t~={) z*4-_E&+^`a2CDgSN;?-zh){e0O$p$1Fkb}N9m8VLc zDtW4;ES-TXOW>)Jr%IkGd8+J{JsVh=urgs~!pek|iLnU@vW|!7GAI0bd6dsm+qs1H zM{0huU%cbk8Yzi(T=F3zl;6?C=0VtiNHlbI)$mR84nzK}kz`tne$f_5=qJpOf_FL=J- z`2s22tgr@DVKMp{{SF@+t8A<~)~UUo2f$j2n6EkSZDB7h-^BJ3+e>UOvAraAJ_*?g zz5i4e+e>UOvAxv$M`f^ckDYrF&RO9|T;L9oBXzMBcK_=}u|AlU%j*MPAMpBs*9W{l zSa%u8BqMc>;N=-F&zSppc?M&s|J~WFd|3Ig@?qt}$_J^_oTc4MhX}K0ls%*D8RZfY zE)fZ;rRTT+#|3B;U?b-`Oun^umxvEcyocih93SBL0LKS7KEUw-M_(Mn%gZ!grtvb3 zmub9A<7L{!U1V%~^`U&cOrvEQN5?oi#?dj3jtxk33_hZ;_4vpBQ}~D8`)l?Ov44pD zLp)8he~A4<>>qNpi|xz%y&#;|2)st%H3F{@24s!E%7>K?D<4)qtb90qw;6jox8yo{ zVZV2d3v*nU#`vLK5#T?W8ixokPsHjH;cRCsLfQ=w1ve%84-ykejP#T^ z>KGrZ;u42o9@Y@Xwy}FkZn*P}S3arap>7<@Lv?O{B*?Km^yjhbjBUnt_mVz`g|2r@ zU1$q?K5?nGe_~nRv%V)El9ioYhp&?0hn0O^{w~|+>|bR6V#F{! z&#H?Is{$&%jwU*`&yDGRAQGBF^gMgK`qSgZ*k){Fr4?aYaa4!!YRFKJb&I#nFNVAK z)=Pa>48quEY_m-==+>S*OY$tqvt*N@n+LdLl4nVS5^R%jWDUBRSMKoR01ubJ4X>jv zWd!&DBm2X>%auR8=ympovp;+U$O7BvY@f4z&i1)*oj?@o7C9!?Q1Xb%AmLaKa6vO+ zAdB>O@jAzPIP-19*yn7MuuZ}?N#KOT`6q0XbdmTw;5LbW?}|wIhCj|!{*}a6*uTR5 z751-izM)a6pi&BX4az%1ah4F*x?uruOcya7GlI5#bp$T^R~XyuU+H3j!D~=ngLc6p z1HJ}j-y!=B*>}jkLyl+iF2h`L!uzJcUSXSLL}hof1;`d4TYzikS##A0NDa$3((<2T3!C3F2dKG;n0%|hsgEx<0me$;q=aF z|J0Y+-b=P66kp18xNf|($l*%5ts8q7h|Lc2JHQmXpd}-1<%V4md}neU8&A{Gz4f?g z#zkH;PRE?qE9ZD(=t&##e%D(#67(&ky5%3lh&(i+b2q6DL&g(fo7{x`2I1U z!kAlV%q{9z&(iyG{zmDlxrsnqX^!|@e;W=ZbsnNaNke3$(Rg{(-D`lI!v==J^iMDQ z#zuP0N&H=i1|xop7`4GG8t`WTg)!GJPjpPVFD`M()35dV+K;(QQePd#z}(fVC)Y4{ zF?X@-(d@GG8MZgVVtx~)vT;5bypkOC=4?ZpMFEq**dvsq-Z~*P&}Gk2Z_Z_HuZE~_)Y~*` zaHce8N_XSr9=5wU+mNd~x|%~c>djGaj(UeZ6fWXgg?;<%+h^ZC`}Wzl&%XVk>)Yq* zTDd+lpGLxKMqV@WnvvIxyzhjMcLv~{0ce>g!VpI}imhA(rg#L`ZgcH6Er2+R%~5RL zk*UXfv9ULmy{YU?Wp65bQ`wu!-c++S$ulF*j65^)%*Zn%&x|}X^313UC*YN>?lV7^5E9IIXt_k9rAg&4GQ>!BG>H-zX zr&a}T6B`j*Y{(SMk?N$13+x z@sJqmDGZZLva(fibk<`ZZc#3z^wkd7WWlh~WFrE2_`G@(Zm|T80URs2`uWwUF zxH>x!n%zZ$<<)}K^IdP*{$cxv?H{&(bmC7y6?Q+=&9MGq{lof)^$+VGje&?o2|`tJ z{DKm-n~V*02KqF6p1*kh;`xi`FRi`Ve&+cL``snag|ntP*Wql*b>t7`9esHI8YJ_V zkug*e=6t{{B`RO2Er#=joMZv^!)C*5ZySLdwzo~&Ra!khi}{E7=bVnvF#jBtss5a= z$n)1k4@ED-$wsuIQ|2Fs^O)8rZ2vI-aK63RQ@u`>*>b)R=L>PZ5a$aS2X65Ci`QS_ zY)oFibG;b*4|)B?^{VnrBDSAZVl~^(Y(KO8%=Rkq;Y8_`G0_A}ehY(KO8%=RmSxXtbbVlWIEPS zm1MtfD$M$a^$+VG)<3L&GJElOHO`;s{Q1bSnP~Go=g)KgJlvEQqQ&-@e@xp|239?? z{p@g_Wd7mv4jf_v=Kboc=o}J`f8CY{rNHqo@IoE$mq@v!9RGq96&MH(v?OY%`t^XW zT%JGi@atWcZIXYTy%1mYt>vBA6LK677cwR?P2FyPu5I7K(Hop@wWMM7jH|7 z%eu1L@zleeSFT(FMaw}QTbTWyj@>5c`QFPR^h{)WhHl_B=;=8=RnT+Ve}&NV6HLz` zNY8n<2zoC6Z3sP6n4UwBo&_@nJs*E5gr2EP&ml<9AKxVC`BG&FJu{e|Ly(>Ypr<%L zxA9jY6dhU?u1J#cpPxH)3|nL1YjDJE+49r?d-fY$*t5U*OMU+F{|lkt(6VR^G|2Oh zM+p7SeOl4a`5z(l8(J3Z$fVzmGZg){|00BbDMM;T9GUbh_>`Xic7)JxXj!NulYYOr zLC=5x7DB(FWs#0Z`lV-GFV+)l{xyVpq&j*yb>!a7=XF7Zb zbz5iGZE;=!IbNm1_4NRUE1aS@$-vpF+`7@CTT%05W^P1J@Z~y>pr>{?fdgYhk+E=qvntwto(xu#n)PYhig|VR>JdLF``Kz`M66UNOu!geirORdFz;YEra8^|;xf zDi;E)BiP~Xsoy6ldZzw3gq}m(q8gF(JU3C%)A^$idJb_5YDCiW+G`X&D}ES4PoZyz zuEjK*=qU`O?H2THmP66A>iZ$|9O4$zaH6MhNJN-Fk-qoB_XP0@?T;L!s*4i3mk-WX#fEF!-xv$}Eg;u}8zj8p&NZrjqB zY68%6(e1F|BVld~eHO>MpWEn87&{7)#h2+fyZCLi_-%~4d82J~^Rsu`=wgDGE?P>` zs$<+WCH5Fx&Z~~`czxCG<}LA~|2qC|o5!11g_mTxTeeJ!McXZt>~Uy^|FUDkJmf;AH^U`V=<=5a%hv~&?Xy0dlG9K zn~lzg#Q4TY{JqiB@d@0H^<17p z#WN{(6bW@*jKMzPWmx|_QE*pMoZzmcY{6Ygv19emv5}cCH&DLH!1J2l`jj4%zpdzT zGhOsPJ^t$%)&G9F2*=eR!~+u?AdBZ6?*Wg`TTK{005w`VkvLcqWU?g4WDq1OdrK9p znuJ$sQJxr{=$5VG*xpE~i|C{E20?-fd;crQJ z*V_qRS~d?ecz;6x`r$qOO>*)j0L9wIfe~^8St3+sASk*I|L@1&0kTHw(2z_dQKfti z|2NQGzkM_5v!e)sc?WYHr4wP45Jv;&f%E;dz`0r8y@g40Jr|vOJYEpnbIy6l(>8gJ z`?)QJ_OYHO=TY2FdfDT3)_58xA0_R&SE#x1#QuAsw|#qIpTtl2eJrHvVqUFjHXsH! z>wjerIePp3F}0qH-U(>{-Q%r~^IV>ifDiK=>zA+30^uh7KlJyK-#&^Fba)y1Ih=G2 zq`hg-ktB&oIx$ufc9da61nKh^!DA-+x?46*gS{#KgTeU%zA1y#TR6qtQZOxve#C$H z5!BrigQ;uM-ls^FZn(XgzMN8DYU#`O#Fr9V4cSY3g0!r#m0q;rS!JG*t&{-cFRb|x z7i5nrd+!2hbhYD;H;?~%^Y{-uNsvVtKR5|?&$|Wya`5%B;3<0?m@6UM{oL0=*h|~f zYW%nMeEctf3}ayi5E-NeQaIJ!k~1xtNQD20L>tl$5s9w*O99B*+hL%ty}g<4+^+7_ z(w&2J=kya2*quZy$ms^#A$Rj?TZ z@#VQCNrT7<$^s`Z2;+|?JDNpf)m#WTa9>%2n%2_n4Y2R8fIK~tV=p9bEVPP~;Qcq>V$t^oYJ z0kSImxHC&!*U-nx6i^m8suA zh84FTq>mHyahiVnl=!X0<{<{&PYiqnOlfNcA#Dxr=B2iFck?2f&%GucO1lP~nJzvdA2^`k4BIS|1F0RbTP-$fW&& z`Yjx3)5LEhnY3cfqWuAWf7u(~2q*7S-{1M?p(62HwnS!&67^d+wzxt3*2ioynDqUi z7w{L0BUAD>>bG!|ykGn_f+!gv&oY+rn@0ou52rUv|HC&fW)EWjUSt;p3>4+vTP(eM z{`ifAcP9bp_jkSjRSEBR+6dmk>fgHxcn=YPet7K)-k)3`cvA+cKeMOsUUHO<#b3f) zd?XcPAxbApmL`+uvKqc<eXck-2rP*Jl4+MIBuTfk0N%LyaHX%-~ zm%x7($2T=}d@}>acT4d2_P=vA<6FGV{xYF06@ZY>9>6%g1d9k`6F{#MK!`Py9~XWB zLT?co!O!bLLuUsyM(|ofPa*Dj#JuxPfCAa@9oHw1H(Z1M_@Z@uI0)Q8dL?f()9ZTm z&7jvG-yY=n0LqJi#biP`u_iD`A%4k#f`@hy7B#=wpFv~$2WZq4!vW>b5XuwGC>Q=f z;9I13Ru=(vevR;+i!iCY{UkEv?C-J1-#cl6Kz;p0$CRWvgX*+i)bGy>eE%lApS;|7 zH3UjW9lDWOL9qx(9@1}tJ{@^*P58rkVgWCr6ml#CRuX9f9aK7w>oAEH5CG>})Rj)O z@HWw;f^Mcc;1~194>UX*34wlmK3_=qbWOMe@6Y^QY+qfc)?^ub1#`JxB0S;ubhFTnwh?5zhXl z-vI&$@XbU7SIu^())9=D=vu{vYsR*-1Z<1~7P`hXjb2&+Jw?DmPm%heDMINf6qNaD zAY^W&D;rZHiJ+Vc5exL~#n1cja{_!v^NSU$ZT=TSGX%^BLO}Bf@$PS>@um!l@#fH&0`XgzukgEBT)1XjC&sHM2aEhbMuN1kU>iu8qd*8f z4XM;(N9L$ug(}fQlLVS3Ai>J0^FTBayZ0U@iG+AgM3baqDd5VK!@TOloa#M^pM^(Q zP7+_FNy0pzZzPxk;VsQm@IECj!2hR-K6mvab8+FCv9wuu{T`JDPtV|mg@r_dqAGlpE*RG}XQO>W93H5p2bRQ* z!&{>YDTWH^c$}KYGPpPoV4aMEn4oU)Izcy&prb#0{C18W#U!&p2g>*ZGEsZrs*dzE) z4HEbX*dX|GH2k>GIwMSJ@YTWJ5C}gg7lr;aiTvf?_;Jx^`tSH4fuDd4 zf`7G!9~XV5|Bek3_zBn`_*ZH8agq7E1Yr~Oy8b&lNZ==6gW&%=4L>gAx~&i7|Mfuv zKLHyA{{tF+Tv+0Na?H{`L}IfGsu#0j0li#r9Ruh)X=67`AUOrXlBGT2OR*d@6W}BD}CuxAmJn8E~S0~4g>zk zA(#X4QFx!i$7XTiO26&^;Ui^4@W;Ibb09vx{3V5twc^5+KB12Akvbyqkx4KI;^Us> z3Lh)Pg)80nD&ZqzxZ?x$cAq7Pfell1D&t;>jhnw9E?hG%?9<*e@~HO2d*+X%qeecu z%iNr}fmelhDIysHzs-lw!1)>}FOmD89Og3j;ShO;$md9LaJrT?ho6_zimCpKU<`tP znTB6n0RFuiemSF9ip~W@3kEU#1Y;2VU)1o63&6ie!=Ezz=ua>P!GDj2Ut9qGS`EKk zDGn?86O2LdFV*mi3&6iy!=EvX=ui37P=Nmc22jN_$hh!ylsfRI>R&rbW&Nug^>=Tf z$aRJNM)z}DOQ%yA>`78&qWLjr6V*H&MuQFZ%oNWN-&s-1jvte$j&?6DrWeyA)Q>Ed zMYDH&bySQro_b6k>p4cLaiT|2WJ{G&E$DHz9hF_}D5=HO4YEhCb0;olQ;(-mev-Bm z%}VIS4ZcR&PXJ|7*UjHW#d<5^&(n4TDDm4Ik7B>o@hzSsd2e~z^Y&5M3LwJgJ}Owb ziOS8WPhUy(W zcRGfCoi0$Q>vw>^i4d|ujlUe?zkQmqTHGOwrFg2gn>-aL-^k{m-cfL!VkKKdB zJ~Jqa#`Z6}P^=pN0qJN7J{6b};KV+!2=;kPmJ)jFpkuR%w@NeDcz^>Q*cA}X1O`goE&d`RU?_x1}M zx6m&nmoufJ7EOi#2Vqx&U7r2k4>a%ukt{~NL=eT|4|`rsVh$3`Q`jv2+!AwAteeu#lGyRnO4<`z0 z5g4TMFDz*#tzAf|q+mJLSZaSBvajD;V5T3*pYy+2{&@a37Hnev7hJ~nV9=Tss2QR5 zpx_77szU7_1AX%R=gj&<&Icd+-7wN9gM2>dn-xXx+k?YKqcA^Uanyz7LByseQPu}q zqXhdWmfvC4CuE;gy)=xp$sk`J^o=(0uQ>eRU!8wq*k}_!LI&k}k@=xNVlC{y>}~%g z>j(B{s{o{bJsWoY(tMlQ-jM5;d;Vh>SsZMy_MW{u96Tb-56lk~V$=~+<_G2n=7(O7 ze@60eY`W2GZ$!?ys1aFMl;aaMKMdJ4KH6a#XV1v&gYfxbGFLz+-4s4YNjD|&*o7R~ zTv&m!NoeQZ|*}8Fe@ySS|CXWQJ7u z^N`@bZvKolc=muED!VR;GU|>4-S(G}#8F4dddKnWT9P74twZ9;g!t{)ti3%?BrzeY zOQyaddrR1$=6s4Zz5agKuOr>((1wDJ|d^V5*DGI!*B z#nPLwclxAsCV`(o{5gnY|`sU~HM zC#Q=iA5u@!xdeD}iF$IneDWbYNj%_>pRAcNobazCbOO*HoW~X+-x0~8z|-W1#{v1s zOrqH_QTKBMTcS)sY`8gTxp*Y}z9?!(M>M6)QSO+u3jNcwvaI0~=4v^0 zo*%NAp)S8fI0?+}c1~6J$`co^8IFG@eCf?sud2Rd$m8o%gcIP)v|CE*^%7sB=iI8LCGV$mC(;6(n<0 zmk&Ym6!XM7p1L)VdGvfE`RC&Vd>}qju2cB<3@$8H(e(fyU;n4UiH}hPd>}p&lNCOu z;G(;`smz`W;-W@7zmw{iXuBJfXzSBT<&8ISBYoYEBtGyZEgntsno$7`{)omHU?Z`e z3d(!cb}F=64;afw^-}SoD{QQj*MhFZ*%ESxF;yca(~$%A2ZTNuMZgBZ{}&p5Ty%Fg z70dAd;~;^bfDMBGlNx?pbayuu%kckjkibvC2El)=h94K*-A%@P9(X zkBjck50>Ho{vd&$fDM9wiiRH--Q7*aGW`EANZ==6gW#X6;m1XH=R?cze{Z1SSM?}s zzyPRMqBF;CppSwSEF2!C(zz1X98U$UBXIs$hifeU66Sim`3G=RWHn6tH0dF6<34IF zF6JMnBPQKOMch7kPFz%Fk>5g<7F1m!E9zRc!vuR}Qhl83GoGgWx3Qu}Io;Z{2COn?=Ta0_bQoF}pz1r7EbtCVKfoye+b!TSg?{-&b zIxo9-E=u#F*&_RXcl8S2IXZCcBhOY~z@0fS{{TLKgFDj+2RMc72#%8Sy+>DWv`H#< zXWo{793Q~PopY!{aKRjV15TRqeMndP=sdDl;LV7C6@H_5fU!3I6kv%zgYm|{O9z$x znGP!Jgky*f6+Yx?$ZPfN&-=jL;eFIU#0=;N1+Z74m5i_H&clu@C};Ti#^r(yFJxF zb&EhX5WL?r!*@(znrN0VHk8?p(6Me*9qCrQGbNPq8tB+J@)hmFYf!Km!hlD>fHnAy zYB+-#uR%DFa6lZOodfzTxEb_WFoWo$sbZpDW_lh3=Vnj{)FEoQ?-Ufmr=$?kM&1z= zx|2#*h*}?rPaN;Q6{Q_pskCD&RU6)bYD0M@SV!3`PzYy;!EYoegeIo&si_{|`J@Q) z3s=CJk_YC*ewRhK4@4LT3gP^~&E8kt)f>F^?&`JPQ_v^gGkBHvT{>Cr&vdd}r>7GH z?j!?<1D%6TpB0|kWBj{={mz`$D-Iy60X=ZGKmR)U^kp{ZD z0fS5^h7vueXKW8zl-Ti_R$l{M#ZdgA9!G7)pQ3q2&n$rjb_5bU?jaMr4q?J6uRxj# zU3*?n_DArp4fHOb4+nQ5JR;Z|KHxI~Hq2=lw9iI!SjoIbnyY9|qWWr@@SE~mWtAtL zJ?eMu<40)i1Nm-D_HWZbC}-1CRm!3gQT_f`OF=!K8V$^hUI%-qY$mg-%f>*opGV-lQ%(%xA=~ zrE;PK^C>F-@FDfD^hHj*4zg&XY0WQ2Z$9Ra42c~#;BTjY3F#;94% zYopgmBeacPM}~_a{cJ$CG;KB=7F;q9CLmt88!0<`s%wpc-88=-Vu;B0hYrG zvK96wXsDBfO(1b?{2L_HuX|eaP|oeMoe)BOoL)u8tHN+HAWK$|txcPX*HMAEXFpE6 z-=DviAZrqk9l+~WYeXtiqxRodO&|g?QNK-)9mzXOuX{(l?kv6TCJot4K(-=H9D`gk z4=M=jmZLULt8>4nHQxg`?`p%VHs4i+R~b|y;x+i16jKm94SCJ<0;vI;=>-U#2zbn< zUT}W?OK}nSU50+rCq6lVEKl{?qKsK;fZk(pQ4mgr;o6MqO?DO|rUZmeFfZ%{63bp; zUZ~nP#K@s(g^|~rtSa(`F96ElW`~|bdndeKY57}NW zXUoh#&;cC4-B?m$7FF#HBzD@AfR#YH!iuhiXa(-+(EG|Zi?)Ff+7?E}Qp2#qJ`+M8 z2~`nR-9nOQiYO^fuGY0JtQe(kuO+15t2UkbK;Ob3RSH*FQ244e?u}h&TmUCin+Z7U z3Rfc&W+?%OuS(@!(+4USy{nl~%q{pznpYaUVor{vexm?K`-pgsU^Y1tI-6){{J`z^ zT_i98oX)I=9sdfcdvf52ihpUx3l-TdvE4|(!D*zoi0WcSF+j?^vd8h%mp{64B`E*F zZkA`6fBkC7Adu**o=ZTL2=W^+n?T|9uC!kDbP`!M111ys%MnQau+bWL>YL` zqzsD=xqFISD_y-zg&(evpm&u7>4dgm`)p#2S)OQqEZ?G~i4Lpb`H@!Qy(@7%Kf1a# zg+!K9tCLCS|AkjQOk^>W~0F&*?^JBH}{3;V$TcLw# zetgd>$OHiJTcAR&vO}kS-O^mi%fF)Y@5+R)zG663XUS>VpGb zrv`{@j*XPfvC+BPy>oL~Et+knY>q`fugngBZzimCp{o*KRm4ONbg|i23k@43a|7d0 z86M{R4IRo0&fd^YfxzqyauXm!prdRe{*vL7RPJHv`NY=<83IB6y2sy-pl?-vK=TGx zxtt#`$WnB=qcZy-Q-BqoIde@Zyy|FqE>M{&9|q2yiTH!U(t!k}uw-y0BqJl(e{%4G zp|3*YxpVT>!t3`v2sMO_>Mq%q^s*bXNNg`gb=}olUDG$YcOtAiO9VgrD6ES)U}o%+ zZOPBLAH!T0yL4O9OElBP;hnu3)dfIhpQR6bJi#^_upzK3Ve9?CF1;xEZu(3bwRBtZ zw+Xsr1>M@TPxg9bm)`VO^dX^}3Fr{qmC#uX?uyvIj_|?;sfz4Jp%+b$3SBf$ii%Vl zaci~0L)seTGsdXZG&z=z-Vm~Y zwy|i6fQvqRLrqAh`t!c2>*Ip0yCYkc2H?}{95SiH5zD>c8jqT|wi3V%h+1`|K@|b`h>DIc- zI5aiwY<~D|lCX0uLOvrJgwKYg6n3#@P}^-2E&1 zDM|b^Q~Z=PDr?()-)_s=wzVzuO0DCmIUO=4r9JAZ-ciMyYtBWO4^+OxvN_?PhNtGj;K=XVrsB#^rqJF_$dgR?wZKm8Q z=xdppLyB8ReyCeg(~(Es6E&?JanvtFru6ESa=7tA1*Z%n6)eb2nJLx|grIfv-WaKT zx0c027R!?3=_Za}GUnc7&5nax1#5oMC?GI!Jd~c&C0sZLg{F5fDy3TB-}#5RU}Gwecr~O9gHbg7hG5?Xf&j_@3zX?an%pnYmyCb+wkd(qoY2 zKGiEIrDt{gX$&C#ZBbbR#|ri@psfnf*F$lM8ipneirU(7vds$nc_in&kJ1t!1{eQ6 z)#rR9sy^sU4tn~}^z>J=>1hFK8^&>&0Ku6vi|ikgC503llq8wKfDME^D+vhglW<=g zKuLP$%5KL~zrx|nl&KNCK6SBng&;hpF@dm0KI`+9}d258dXWAbdyJ z@|128rFymZG*wR^uY2`f`$cMKD|Lq4{*JPT;!?UIOZ8Ik`&4uB5i&pT+J)zr-t_@J zkArqP%D$RS&qpOpSYRj-4!c``O!vhBAW52kQ>5`5ET;1vCN>HB=ps6b|F6VWG=nxP z4nP4x-AhBxq|6$~@lv}=Mxy-ONcnK&zC@jisrbS%)r7C+H_Z5w@zr|<4r3vBJVUX>UDk*podD zJABF=V3yDhFyRX}b=I0JOA!^Dujq zVls)8(&$lgN$+i?_fErWA0{Yip4c*Zy@V2UXhJcpSYPQ4sP3f{PRv|u?bm9GH0!e1 zeR$hu3Ra8#!e}cid0-gjnu{!YN|MLhW)qYP1(dS|lnd3KI|L<;syvtfK5A?ZL*suw>pbdhaJS zE$NJ{Et3^3QF2m?5+jAyi|8vL6BbZLC^2gAwGwtki4k-I9Rv4H9!6a<51WK3T4IwR zU{%tRHU}aFOHd-vbTR)35Vzlrq5-+{mqx9>+-M3SO~=7QZ&5P7ambrkGlPdPvT((p z=%(Gb2S18H++mPUlpP!Uhtc}jpo?1a6F-1Ls4BvEWGMrkHwGwX0cQ&c2Dx#P+5rg_ zE8f!e0=5J}!SxEZaPxWdakIRuMeWl2243Wa?MWs#5>*N8Dgt-`{5qJC>3c1GUjlQf z7X)4?NLn*?P_+s=7k1r!u%99r47P;KXXJ}gFf$^s0ubJm-Wsm=H z@xV{nY>%@&?yqaas;i5IH{0XnP5_?960X8zlJ~jOj3t&OmL;|)D`<*8%KeHT^kARF z!2KDE++yoQ+vs9kSlXWvTNoB!%5=DHq>uTxVV7NOq3isBw$Y^>bg@S>-N-j?V542v zoZ8RJ9UA>RI7iu`7yTw}#8Vg0?_21qgZe&8AG8H%CuX*ogu|+So=Dt4>AFJjj zVq~Q`;&c6NiRk1I{_t3u{Q!M5qJzWKL4BCk^yoJ>(nBZlhY_UNkI@HS?`xokXtQYa zhd8NY3L=b4o_>vj8rW$Zn?=_kmL<=Zkodl|GX&o@y5&f-jUJ1O%-?08i1m`gH3fgk za{)5;A9i9Z>U_K*&E7;G2YQ6>m7g1l_UJeDsY@_vw|ZYgLHfC1 zytph1Z_hGsQZCLnk^J`v!5k>>K4^dY;g6383Fbh26#cKlN3pnY zrBD59!pA2@1U|k*FbCqp`6q>sJaOSlcichvNEs3MxRYQG#K*EfDtz28E?ntX(g+`^ zBLW|vC71*8k?}tYA72m`uJj9Y2_G5593Luw_Hi(X+TS@ef2;NOfy&=Pl}I=9g94Mb zP+Wov6PavgEm4a$TJ0(aC@49LHo>ArBu!YSBIILD1H(nc?^AOWeiOiKczOTj#|<0& z*8F!A{LYxI@Jq%K<2N|D&0WC_%)LRkFfHZb2oFt)ki<%5z4|jsL6}b&3QXPj%ljjpPtJ;?rgO0rg80 z|2+b~srAC9PxU{`jWoURL`}w!X4UEvubU3n+DC_L$qG}H&4oEg>%M2Ih!y{6u;Ph-zP3?bX^h+Nd?KkA~Unl9mPNDz8m3c3O0t#E_y#(5?CxzaA1mV3s zDeqR10#evMXSYHH5*CYv+`<xqxEDC>){zMRe_Jfmv`IGt6#GkSM z5`jO}dT7n$AQt5~im`7?Z^cp6dZ_PBS7W&nvLTKsKxNsEjj|(-j!;FnYNKq4qfr~( z#tjRP-V;a0s3dO5_c78`Lp4g| zrHBQh^?V;AGtIDy>+7YQCB%+wd1(H}=<={2F-RWz!Nj&iHmjShSzF7yq9Qny&pD6a zHxwSF+3V;7l}A3*iTO~8rizYG4wu&=ir{FcTG}+6yruI{6|{KUH;SuZPi9wT(ybe) zP{>~o_$2~9Fu&jV9fglPT*$hhKEuav#||=l+)2O(;$zvj6+Z6Ag{%weGkpB(m_de* z&l2!~_{exh;o}RqQ1UXWkL2YCqXz^ZbtEr!;pF901biSqQlD1%n2QTpSJ-F#@uYn~ z@DZXv7C-TJV$7eRQW13-y=2>j^#J|uZT1*wt2wrBW!rYyr^kRLGJi*(sIeW3zXVjb z=2Yi8+HDBU7vsif@O>Y?kHhs$`Vk7yg;L3Ol;*ZOanb2EwR{^tegZ$B^s+sle%x<* zOg2A^JJXBN5!%W&Xx#Y<{$9l&)MzIZ=BCC3d^FKVGkvt+V;zRI4i%hvHMx$`*j&dQ zlkIWX@;V_qHxt(}vEo1b_))m^pO>LPm)!UoRIFVv$n{dkzI>V1>>pi8nC^ILG~If_ zow!r)Xj>7Culc}{##i0n3w%*N593P)oI~)H@J&Cywm&8CMN@R9610)PUya0HZ5H|K zBygnptLRA+e@VlJ@fD=MehD0Dd}TZ#@I_M^^H&6U{04BO@s;?vNgkykFcSFdEXm{h z7UgjXaHR3oST67-=SP-Dh?y-!-zPuj$5&;UiNDyM2#c?`fg{ad<)s2&1*dSb1Cp9BF*DZ58;U zdKZ?*2=>Ixulw;;wZ+6=gtd_&kK}WB=B!2i^$~ES`K#h<0$+0d$oea+JnjRIG`^h0 zCV6E26&7DV0gg1jQXdugqC6U24@J;l>wzPUFWY95{^IpeSpJ$19BF*jJz~Na+xKDd zmGD(RzP4{N$s_Cgu=qL&9BKY4+9>cvc~5MAMbKZr1dcSmGKx(6#r9WN{`v-Rr16#L zGU1D6$&q2NmXp0&Wzk+;0vu_4HEt02lKu(CS6Kc^F7)H8a=l4^F}}j$>uumj^H=#g zlRT2v9~ttvo#e63qCEZ&aHR3I>|uc~S_$c0U`K-gE2{o7$F?hgpD%7ppxE}!(+eoX zPey94qi`(#WKf&J)c7(5q31ohj`h`u7q_Fm{PlqPbt-<{i(e1mS62?jxtpooH3&<) zbz5vST__^h`_S+h{k)Pw-3U#0dhmxVAQ`@<$n`n|tMjT5tezB$(cCc!A#2))THK%* zHg1ff8zM@*l+u25I6Ak&3|}Q+((o~Mx?#Qa}E)Q-Afz>ULr08cj31rFmujvgZsd=o#022GeMaW z#B@fM1ej`}&1U8&C&r_7%lm6JKMh+Y9G#Jn?SckEON8nHhl{dYpavZ6M1x3Lz|sD< zS_x1t3-VaHsRW+5Fb%eix z#zZw66V;^v{!Dz(5AVO``1Q$fg*OE>)%5+Xli*d^mBW<2si3Kb*Zmd0{u!?H%>Yd` zyobL`@Jc7%aD{gnXsY2oy_(>ai`d}`uM;%Y@V>u_;FV6a;R?9uWm3DO4?ThfHpk1tjIdew;=tNfSP< zA>acu;;(-|;bR6adRReX6(5`G2N^zM2>3vJd~Bt{$0S_zu!6)YKGqx=WcaxFw;}lG zykFsCG=A%01&LLBEI&LD_z(po+r!FB69FH{AMgH+!bdwUq&d*-3KFaMSa4_{@IlFD z+2Qra0Rmp(1Bar;;w#E59>uD83jSz4LmsgOj>4G^s4=WxXpusPa5=H^fI7qS zvIJa)cWp{fpo0ddib5y!wm5oBK<8CZ6&(ajrAcwU09es!>T0@wS$21z|Ih^QH3Xoa zehcoC@E)(z@G5WHkcL;*@5I#lE1tFjPV$-zqDrStjbq45M<31f(Si?I*`yZPRMC{_ z`1m!Mjwwmw18bSa30*Z`PWQ5w>9U9=e2Q+FYng<ZL%F7?VVBkaY$G~TL z_8vY&Ese~DvZ_D+{VoF^gQb$D_wdmJefobE8TgR$GQ#!8GYbuTNO>9I_UYC;gYYrJ z?Xia!82F&@rVi>3WG3Z+>W>F9gYYrJ^+$Gwfsesbi87%4amVKkd`Nj2;r7Q(p9{jr zz-RjR9)Fb6dak@%{^U=l8~Bj(?Fh$5+$oQo{rM7_`}xN-kfS& zBo%uu=Ip__d}%nHuezi?21g2(CXe-;%Q-|5WwiK=rzz(o4jxE5ga#Yh3sUIw8jr8j zgCCRUdXD9^;3Ag(Kv-e1RKZ{pr-Ch9kAI-THYM+pUC&C{?B2dCw^B|i`!;4djoFoWcRq*$uu zd4}%93hqF@g8X?DF-cM&lNjgoY5X=o87ThmKmO=j%oPm0E0}b;!KC2K>A_5jWEjn);^$E$VM${>2Xfw05=Q#9&fT&i?JbDT ziuQX`Jo`J}qpKT%+a%J>IP2D4JG-W+l|@NatIImYzPAG_&f_0X+;BSeted zP1ln8^>w=G>RNO(eJ+&zKI*y{&6-KH_o3P5_N)|7Yv(b%`~&oSL7=3y^9|4bO=l83 zM>e%WN(mLM*c{fge_cCdcBkN?{dsM~XKjRzS@^RHbj*g#0$#fx9kV1JBsykikCHzN z#U554-h8{kZ^$tjKAhGQp@oDd#fHi(ZYRVJdVbn;W(@HUbQ6IN{uyKDAL1Pt8u;8v znhG3LKa(`l>}-6@)IgI0OP13pZYK*p6{MehP)L6JCjGm&uzq6wgjwz?^^=e~p5u6q zyNWqZ@Q`T%6L!8!ztzxRJm2wr7dYPyBQ3=CPcPU%!5YOe)j0o9uXo?M$^wSPR_T7O3w z30TQI3M_NsXMvSSuA-3lH{2M2kHYD|hqrJn{*?dATPXcs9`E{U_j6kcO^z>bp>TY8 z&aGD~F!>Z#S-8N;4DJ%ovGrJTZAd#TR%iIwKufgn2vgp!DlCDpPYHcupAzw3b}U>O zlOp=N%>JSYet3Y-{(&R_;Svgi>|#A9#vj>VC&v$G*RsDfhym{;`4dh}BmQ*3Yv&?* z6dWL*B&e&FyD_*=*dJ;JMZ0-hv}jILy#ucCqI` z!K+x&ze}t5b7-*wi)p!nrxi7Mzi1^bT%Kb6{LZ>VH1344p4x(Ap4yy?e$UxTJV+ji zhRzo0K7&)#=elkxsO@fEdpmfB{H0h9DQ1UzQF#_gCn!+I0#S89)NWec@4}z10mjn=Stc$$sN%~cz^?QV=Ds34gp^F6jT8Qqg*sA0Yd1k0Fq;WLwh9?&__sY2j1_X$he& zsKv}#QMCd!nY{^Wp;N1c3qmbyAs^ctLN!3RI;$a*oway%=K=H#RUuq#LW2Ct!iO0a zYy#)F&;*k(kw?@7kg%j!_hVaK^J6_(1-qbHK5*|`n${NM&RhynhQ{h_6#8Z9wxpNb znOj}4?&{2fDtzQzcDF1_yNppTBAGwZd6ur`5g_(ip5GVj_RPzvazB_ZLPP1~EZpCD z(VdwN-wm21YzkG`nEpJS9nwRI_cj6Q&U1d9gJGb9>P4MisW&{E-b{dhwH3~x50-38 zekMqNxU09+f686`wJFo%>2mhnbUk|%!HS^D#e!x%FGy!5e4gn;#sm|#jvU<^K5z*{O=Q)F{3A2EZY9Qo5fI=6}XApf;=p2F$Je^)*q9#F1 z6AArOiI@b;#I#08oE#c`r%(bsq_PddOf{5 zUkoYz&<@P7eqj9o%|C+m!-c;H)(<6-#6=7aQ($Wm(CO*XqG8U^cB!kc@5+BKfa2Y|12en#-l{v-(D|3u_ z$q;_s`2mdItz}p{Y%QA!i+XDr*#=w7<`25HLp9b3DoXAro@t%nzEgVuYLC)VL9YJc z-pSlrHi|%^1q0U90=%TbvtWouwr-M)4sqA3gysHKLOG`N!1cj}kB5=(VX`t{`L>z; zN-W>-A`hfPU?Ak%kr+n4hlyp+^3C#HHUj7G73KiIEeU1;rvSkJj4=fO{y4&;0FDW~ zisx1Q@Lk34mr;PMZCl&2w%zyb%M=zE2ZMjLiVILYAV6Pqjt$lq--$Kr3)-4s1bhA7 z7{~g8^~Ffg7mcJZ+Pc&iuZ{}V7ppq6L`9Qu1O9QC_zFT|(H64|UbM5mV0|$X^hF)% zi?dzoi=SS}G9@IL0tUlnCBj|@_BsrAuLD*U6gAMR3SlM8H?1n3q&R|2?Jp3xzWC{f zk>r1vtSngmS^h_k{EJmWBhC6&<^O|7@;^*g3M~ID|075Kh1Flz9r?dxmVb&z%zRh* z3rGPBmsLPd{RL(3XK~gsS0zxr$*{~i?shz)@ItV@_~@KjUksB~Lr?X^7u#50uzztR z_!lk4BR+RNSYPaGHS3FEvdZYGzL@$p>kHNwBSBwSj7NOz&0u};lP0Av$g~*g@yiQ9 z4_85Q73A<=k66?fr<%?BLd7qKlcr$*CHpVge;F};dFoUc`5#W6OO}6@|B)mAZAO-( z#rWl^5jEo<){_mj96>|J}}CICao0|CGP5e!n@s zFidKvdm3N(-$U##%9={{OEq@-OWFVd5#^ z`Jd8JBzfA!0(zVZ)7J1^Ea1QNcuz(?T5<p5fBhHYQ>a%n% znx3MQyZ55$W@_5d*(y)(7CqMHTtbgHkGmV2hK<=}KUD`d9#WQuXKn4x8L9Ytv4m=~`OoiSwH2;P#Hv>2q=L?>_3f7|ogq zZSn+Q99Bz*ukY{t06kw2D4|2x#qqS_%yWSXG1=~4*Y5GH+ewgm_UE+`I@$;wv+!pZ z=$M@?&|&wZW0u5&M8|B24twkoHgK8Eal?O$P&n757EG)eBNpUz#-kyz*q*$RDz4g;@8@|TNQ>N4HgxEo^ z`{|HK=z4XiqBsZBr0WS>OgH%4NkBu}*Uu#AW)pNXHPD2MWV$VIksK>E{K7!}UjBkv zztei*V?Q17>xFgy%IgKrVHvhLEW>GLfJchg3j?uUSp39=#Kqh0d*<>mSPeiRI;*ix z?X1NTxbpzkYFK|+aBkj-sgnIl>{nvH68TOJDX$0nmDsQ3_bd75iOa=1L*o^;ADP!5 z>|Zj1JqY_G$GRWe>Y5+x$tu_-jM1G-)7oO(nM>O<;j3NU*(iLbOSdJxe28c1YM#4#tIIyi^ZSC`o_RS{?g!I_V>rDX?#BI{7u}iZ zSW%)$!X}Tm-~gPR)mUHpeVm@o4&mdBc4YRFZOL%B`fR6<(kGvEKDFQc)F>{vZSV23YDyFf4|@5IUjsnB=Pb}y z<`2vK2L$s~W-vdh_7co_*r8&1c&AKw$PMt2tHeXD!Bw*`&p=*JGbbCU*nf1xesg|= zniR0T0y8b6PHX8*N5pA z@~I=L)bN1`rJ8b}W?!tUI2_tuzE6@}dt}^6eCq6)bE~WF>)f-we6*85qZW64)atdo zKIt_edPrte*oa~>LzP0+7Bo9lHECz4YJ8n^Sw6*0hl$6>L`190qFNQ;o2_b3{}3s9 zUJ8ufkSP=zBXninY&f7`n1Kl3h&ivqjsS4uP{XGvUUi5XK9T{poKR@SJ2{~@D=^QZ zJmlo^1h?5Wtwg*mC0?Iv^~}_3X@guDee7X8su+Wk$ckk-<*4(M&ZHwlH6FPQXCuKLY4;8spej>OpV5GLic8V zRyJPp%T)d*skHA(y(Eq7WmZ|6keW~diVsiTyrZN#3^JTEA6!3Y{#78uIrD|<=giMZ zuKJtprY3n{Y6l8vHp80}C&25NLQw(tW4G2pwAtJ%UQsf=uVezj+cF8kLoy-w4kw-9 zsl$l`EYxAkE+ceU@wPX9e|)~1uO)szdrnH@cXLpv5`#ibCT;v98iZMX&#Jg`Ik-YS zu+seCect`C;u$rO_-O?1ZJP|=+~ebq+%YYz2WEx!%*F>b zW30cLF(w(ft1utBiKyL@&}dfBj{3`#XaAU8#K$z~;|kd!4(7OZhX2KMICCbPOnD1> zo+oo5)?_iWvId>|iCCYVM6yq;-#1x#MH`(8u$8;QuO# z!Jyk1O-rh7dxI2+)l7|!FGNB0<>@aa3=|p?sX3e;eO@-(to1Af13b_sPjLC>jvE1p%R+s~E6GU&JXt4?mElPWT4S3F_QMv0t1 zzU)pnU!*jj7jH!2bfuEmgP5_ajm$d1Q_$%?{up1E;W$PeIYO5Pqs(mOre_vMAC78v zdOpc%fEjzN6$XyG`%hbT=C?UB2HDD0dY*{G*goUYf${X;X*GX{%uZ&v6T8V^_VE1w zt!{fq{=e_fzM9skS0V}mt_WU#EoV;N_D6|DB>xs2DOUimJE(qa$oebyZ$n3Wq ztfD5*J6=(R^>oUsLUq%Yy`?kpp5d^te8u3ex#dajcvxJLczPSwTsI|$GgRfOeq{gY z{#)Gjm+_d--IUz+7>|kTm{tzVtD71iRS$2Ojp8>HgZ50q%m}}M7@7B?X7+5hr{y1o zs*I8c#~zccmB$To89e|TzyNtrQFJwoEGwQbdRTH-0`inh@Js~iOkb>qrfVy(HmY!b-6W9Z_zS%g#hnDmFdqNrMW4BhJkXO{f3`V+@UL0e4+ow(6-$T4x3-8{ zi0`=fHbd&9S-TyN?iFijH2t=#l&4B|%9bw&^n!=7!OdapFVj$GE?KB{fWayV*a7cD zS!5x;jc!ENeA%aGm%WqSt9SrqmTX@$sG(YUM0=B)9(Y9NJv<`whUXC(JcDZOw}aIc z{TsEmVSTI(>#+H`T66&WcS@s%wd^2yzEwZusurLeRIw~nTd_v=E(r}Puc|JYcsX_h zl}ARai)GK7Vtdb<9JR}dXPbxBlm4kTBE?fYMntA@!IqiSCsYZua-O94m~0C`;ian_Pt*KkA>JZnbe0_wOysG&|brmG3{I+p4o zA9rKM*O2xal#OeRMQ4B7*f?VGjgRghv3L$Pe41NXck+!M56+&XrAhBNCzin{c}{=%Gqb@GFZPtER8Bd@M5L-@vNdzEk>BKWm7PV3{^IPI!d>DG6sLO-ER zc;mVH3DraFJ=8Ft30(zqfD!wW7SEZl_E3{eGO;6^+C%Ns-t}I>!5gez!iKc!CAimO zNyMDFRN*nTF<^|%4(&zkL;>;|qW1?b&hz2-lO7Z#q7V)CKFEi_U!!GfU~FEYk__P# zL4GH{pUi|%Q*Jpym+Urgo8Lc3tEis*9(yO6BrI6y!|%@U0CqSYxj1)Jj>GU+FK@ux zZLnTm-PE@D&%tU%J1B-Q=q3r)N*?iZznPZ&JfObyKks=J;))1Cz0h z@Z6&1Sb|7?wR!wbeCR5_S{vFtd8gz><=LsZvR0DXXa`Fg%B?VKWas$J)~!0LLUvBx zEGt&-wr+*2DsF{`2@a26hhmUoomeDmAKqGfjd_J-Z)Bd%1d+o{~JN}<+QR7*f! zouQVmt1HL1*#(&adCkg3IE%Nktm0jp5myq;x%qEpXI>_>;C&Tv>Eg_D9*r=De*=IK^p>&cn; z96ZgzNAzo6R?E{bOI2SVf51}J?n<*?pM1a^0zs=o>!Hc`aFwX)Yayk^ql?~E3g1z} z4J;#eu;ER)RiCyPPpG$UWgt8`5UQG7FPi-?(RwTrCdxj0YSz8gRo9Q-A38jFojv$4 zvGxoZfiQy@N9_+b)F7yN+Z-BE>aX|aLbFPL)n3I>jAFUce~&Tbmjy)I^PML48biKn zVw`T}*h-c%lI+&oMG7|4Vd-Jt*WpQOF)r=NYCzJxzgTS^|l;!O5AHKs`-?WPL*-5S9?6F;tqka ztfgzGZ&_csKXgHsAePs|qBwV{nol-sKGLlDNYvaN!#VLUg5NJ^xb;KUyM6nU(tx=a zXi8?rSn#Fi{_z5%#PG@?#6c)RH?Tk97mH9@{5rTmAQ1)v0>VH-NG=3g^tzcqAmr%4 zT^^@0+3Qp$3kPc*nCwCz84qN^0X3|WNisW5$U3@^Tb9tBmo2SnInx}kGtDu5k8-Av zJ4fq&G=BNu)6$6HG02?>-T@qQ5Ll9B)<~6b-KJ zoaI`AIF@e#khX707JIl7X)>ziAE}@}rj}YoQbKS@WVr&bBZ9o9AKIh+&;;d&?$CY+ zQi>l^-KVGLR3?KV%(hhVeSL-6Ap#vo>=1Ey{HyLbE`jy4y))X~ZD}o&t=saDn2IM( z_$It9r2M8!%4D!WY8EqqY~f2~i)@(lh}RmC&C`N2P1$CKMH1%v1{udN?A`mr;;J33 z5m7Y!r!;Wg;+%})mohM4Drih?i~pQ~L1TOsEc9M{>5R{7g2v>kV6jn~VV`~7I@=v* z*W&E!I9oZsL(r(*CD(Nf8V%L+~;>K0RqFWjp8&}xfF+X`Oa^#Uw9~9ie<@x$iyM1K-bIX_K zyGKlUjvDjY;@{LXrCFj-IAW?BbmTOA={gWvvq?^0FB$_KfyUr?zG%}HN0Xp{Gj@s+ zRT-ye8lZDWMU3tNufBf{Eav9K2o;&bBxns{}eC&-~GVGU-TKM5dUaAnG*azcgW@w;rpXTrGbAj zvq~u5_!Y_$gT|z_@&OizT^?`>Dlq;HIRaXrv`s#oVXA+n7)RxQaJp8GP8WSyiEH-C zH}M7yuiE#h#YO*dE~>#r@5#4Ga#54EaMYNeiU0g;#|c~wD>&+yxL3a}df%4MwC__* zzH1NK^0hi8+i&W7wtOZ(oNDd&-FI#I+MSZ^_x!(Y`8u4E@~uB$%h%?Vl<)ohwtR&x zT)xMxKjcq`Wh@IChmN7Ub1~e*(IN17RmCrv0d-};*6}!I%)720FT)#x#<=zPUx_c} zjd-~jU-seueMC!$Gi$L*T`?7vwT-k> z1^Sy6`+@aNX_YX7_!@@u%CTUTn_y0Q+T z_fa6weP|%y)ql7j8(&*rwtk)X0_3FN`x@MXjjuRBvBz)RN_^wN7uI!MYcV>opW1 z*A+;uJE4vaN}Z+FU0k)61aQ(4jAuxBXSz{3OUmo&DlffI>f-95-13Pz1{)S1yjG+6 z%;x8Bl#$OEA0#XP023jf#p=b8&*Ct+vN-sx@pa8-c6|2RVdS$o;AMOk2S~B{JM&-D z`q#zkA6z(u`WFYZ)W0}DV*fyf<6{l|meHTagHjy+^!IBtpV|KOmM@ae;((WY76(Y= zv-tST)stU<_4M>?>ah7`jVrai+Vcs1dnN5P4ppSR#sL!TH9mWltOxUxO;3P~r$2x3 za?NLU{IPWa`791ojcb1CYs)mggRTDRH~JIbc<>b)=lsVQHqP;^I8=%K)wsNB7qPf* zcqu>IJ?hsTM}`-=M&Xh=>UWNm*TX&PcdnGz(^X!2jrtX$de`-mT7TY+(s@$r^If%0 zDoVYjybIhYT`1-Cag~=|D4mb$UDsD?eUTfbi>226T(wRrN|#7^m%359Ov>x;DlffI z>WAuGH$ZBAxf`W{QtKjDt&@t<6;j@nZj`1Bj)4X_GcY$ z+3{@q3mI?4;Uw8Vj{_w3&*O?DI6e@ME-~JU2PMW^@u0+bD;|^>Z^eUB0`bl&*A`yd`3P? z9-kp?$9z2$s;Omw%GiI5hnLuYj0Yw5ALBtOf&Sy~f3D*#yZ?C0>5RAHfSK`D93U~? zV!Xw8%eBm7%9mYaycL(lo$ngcHtO7C+Me}g9(zjrNBjBlFXYfa#zFn`k8yxR{}`9G zay&a8UE+9lJSZ_A5f4htN5q2?^AYi<4bB`(rxZvhxvZGZ}Bi0W;&RI6!K0eT$6M z#S7~K*p=Z&-_crVuPV7WqckwHJvP0%2OC}$FI*<;WTwX!4Ru&{-?Q5O1kZj%xnHbcf5Gh{*!F~^RzxX_WvL1W1{+a@^^+%v9Tv685Y*z z@{30{e^a-=-QVhUgzcYb`*UXq_s$T_k4Hw#(fVlf(GL$r(Z?3pADuK?%U6glg6uN* z;`>qLV}F$WQEW~dCl{GZ$8f_4|IWG^%j7z2{^0a;bz|mR+d~ZX&0qX_rsgl3pKA}0 zzv8q}jy(B}JX!IAbneJs{w7NPYC?13=dS~mn!oJ$YrtOe7y0XWwsUWOf9K{YS|9CQ zB7V7x`bd3DfMxx7SN z^HWxTUE@7CV2)1}yg|I<#hdd}qIbE}qlwJ#`coqNqfPZk#jLp9gTLks7I3)BgFiT5 z7I3(^gFiUq1RU<^;1A9;SLoFKLs|CXai8bIel%LgOLly^cManu#!Kv9vws~lDv$uI z*nh;B_Ri9y#N``+H49 z?dAsF5L)>oN5Q2RgodFjw|^ndh!^ndh!^ndh!lh+}6Gru=p$}d1D(18Da_)>Wx zUWWHcx8Q*Jf+m6k<_nqtC%$~ah>LW*WakTh_$=ck#!E?vmt3)XwDp>?9$Vi}ZG!AVI8dHZi;-z!Yn6MnIyaJy`4wNJL191o&3yfPEG-|8y|0>*i z6()MEl8IicCCb4aW^Cwy!^`j`6f~yqXcIKbmj#QBdCP)BAI=<6wZ8-2v$9JUUv+Qk z;{37`SK9$4<-g#wApeO+{KS`tHohNY)pq;-@+Yc&&+g6kJvD6j#A_5w zOoisSxY%W{gKD2r_Byqf%U%!K{z#n9N;n^Qm8sWd;N@Oy6F6Z#j;zC%8sed#&0x@OhhfFZ^%P9t@whh%eh}`Lg;=mOq=ZQJfmwVf`z% zQ^S{exb@v{W#L0swo9bJ7XJ+DWy;NJ)R@=25b&n5mR!US5N z%Cx{LgJ^7i34LGb_ZJJP-_&ojs}<&zTA+Tj%GBjkMVGz((Ln{@Reb&3Gs)M~@l!>| z$=B3n>hej;JJ9@Sel$OtU;LTM7RVT`cwP zBpZFlf7I&2+G_2AgRYT0Qe?uQncyNr^% zB%hE^$R}zU5Aw+=HA5$Tm@Oi|()wm6zcOcUI^|bno@iUV+|~~BM6ue9%oCmZ)zjoi zHjZGft;{8LW{s|a$-FM>25gjd1F%BQjMrtkfYtc&8kP&#DQn>1%e=C7>C+e#k*!EY z%~+ET!_l-w+9GX{ws?YOkCSdlH>4ZVO-rYni2me@Wln$cf`8imNj`?h$M8H84Ed;L zc&e9(5Rq6zY19$w2zA6<=vK^=V3 z4e5q-L%Jc|BrC;1MkS+?QOT%eR5I#TS;Q}%@e?`?It@AvIt@AvIt@CF9kR-;8dafR zq+g_8q+e|5elcSFarCEG2V^<9k&AQJd^?@SAA$7nwgR`TR~|C*HehajwJcJOW7nM~ zCuG_3bw*waA3ZBcqs7gM$17NOUVCKXk&bvo@JsE74!_*>Ao<0!YGV!gg?P-^fPFP) z_)lD-eo#NCAI7wJGZC~G+Dp^+5)q$_KIFtFYretwg!TVKbQ|-K7jdvRBSCl|3d#l|3d#l|3d#l|HAbH zxSj&nm#|kj;`2m&o~VgO(KD$Z)DP-M+*AK(FW#;;@gN>er5@5mKO*Lb4EVh>Kjb%G z;QSD;5|^}-sKCHWB?iSKR%z=fC-PFiN?Ql1MQ16ji%%`ikP~O7z7}0LH^e(PL|TQq zAP&YimGkHTVWJukhPl>wz8+n7g5p8Wi>IQX#x)Im5HjFnIZ$$O6?87>XYL|40 z%zyk$=RYoB{)4eykS&qI$|_`ZZ5}L z?CtuPQ)fSg{gn8&d}eNpxv{9W!rYiEH^%uLoZk^;pDy-c*@tBxmVH?EVcCaG)><(1 zDfB7yDfB7yDfB5x^C=PYJ4S!gncuOd9p`s2ZyGfh#CU}92;&jPBaBBFk0dP~VNRVn zb>`ITt1wo(DQGnHfIP=(IZhijHs?4k$7!R*=F|=926ZF0e`S7y`Hg6HLfxQlP&b(S zV(yE%FXq0C)T|xO=U4drN|an6`>^c8MvK3w8`KTz2J;(<#^&S=@&yg}Y*{+a{K zi!v`7jYFv$)D7webLNTqSMmmVBPwr1Jiqe85zg}~*)>-OjtnvK`d3LNxe+fH`)mi2 zf#a2#Dc=qxP4=@%kDNMZ`KIG6U$zQcCH;5wBZGOu0s0l4wd_C!BZHB_;(B_7w&J1D zba|SF3`PbcgOR~jFU88wiLINTCgay+Ffte!j0{EwGb->H_wg*@&%QnT_R&T@=IQWqu8uB!3Vlkn zu$a0*-Jov7UICEthBvi9-XL#~H^>`_KC(&PAa9U2$Q$I1=C3%+Sd_77)VXrZi!v|D zyeRXc39h6pmAu=$i=yj+{X1eyg^Y(JMIqS-5rK_5RVSQXo)G>3;Cm|1UM8_&VOS7upN$h4wOS)zYIzvsQ&&{ zF&<+)hQT88Y0?MGO4>z?&&+z+8K3$0FpkgA|Iq)?|Iq)?|DPOHhUlufK(&X7Y&OhY*L(V_s{6o$^?tle#3Il26H}ev%J=U?0$)n7Dv7Zvn zR;U})4eCa04rRQ-cq5vfP&cR>)D6a>#G?avU~V zY);*vZcsNkMo*v8{2VcJU(9_)<521bb%VOWylA5SmApaTAa9U2$Qv9_;dqLXip7>V zp2G1Ij;C-uh2ts5F+Y<16!uftPhmfW{S@|7*iT_UWx_fmZ*$NX_bUFkVIE+z_u^%| z!FYr52ICFJ8;my?Z=}Y@a!w%U1V;0*)D7web%XOo6OF&f8!q06*k7gAaQ0WZ>nFnk zM}`=A{i|dp=SI9-?6avz298%|rhHQo?xCSutpj(jNXOkP*eYz5CKmc8gOS0~JYFS( zk-^AdajiDa7%VMEf5>2DFfte!Z1vKXI+v0RMg}8;k-^AdMg_M0Ii4kRnQ>vpg&7w- zRujkeS+o_}3T=h9lIUnU^I*(_HMPAh{R;gG{R;gG{mOB5Wz%Ja2xcdlon&@0o(^>h zBV$I!jEv(-KG9avbAJtbdwP3%dwP40MRF_>D`+I^DQ8B;jEor>Gcuk=ze2x4zml>Q zs?y|1XZ9l5i)1g7y-0d{dV6|%dV8)IQjH}^-@v*l*L9S|Q}R;2cnZf?IKE;q}?@7ndrOa9QW(67+1(67+1(67+1 zq-O68&eG#7J?4y=GiJ`1IpZXD-8dHMO_B1+Zo>-*`}VHBeZ>AOqkl6r5Ht?$8M!!j z&E?#m#j85$VoR9SF}$-(?damOVa^$H;>^^~`QZMvX&Jv$H$2Tkws)~Tb%VOGu>-mr z%aPjkKvB|xy5RwYyg}YDq6`61H>exbjo3TG(x-TxEO~>xLEa#5B)WAFd4s$`-XL#~ zH;iekmL4^lGh)nGl(A@(?mTl}VaY(o8;my?Z!q3qyuo-QS&#D4r_iU+r_iU+r_iU+ zrx>*>@vv%AXFYTN2Ip^ZZcki~(=ZlgEXr7vu_$9v#-fZx8H*Yd)){%5v1Hq;sadv- z@do1!#v6<`7;iA%V7$S2gYm`*T$!GEQRYRN7iC^_+7_8Px^-!MiyCrHAm;=|>#|Wd zs2kLcIEj?GFXq0Y84GoTx0MYFy(Hp4iqPB zH&^D&nKNh3oH=vm%#UmP8|F8d-(Y@&`3>ebnBQQ2gZT~SH<;gGeq*?S^g<<8p^t!q z`3>g2s2f3}ri6RzcoJ~jcWJurNmDnd8_`y>q;60*s2g!5?&(wLQ=%njsTIR;a z*%UOI+M=EP6z`(y=zt%2gSj9i@io8J!&92sKd^{qPxszDD+W_bL2!1oJj4`qa}q>i}R$g^L=X3TTWb%`dXYXwYXRc>*rI8 zOXS3*sjo#psl`AktjMPpSICJgQ(uds(u@yFGuB95$QhXH(oT@zoG^G7%=-~6$QcR? za)zGsL(X7~8Z|~GXS4|#<>ZX8u}E?TIfI-LdkzER48|GJ?1X(2tsCr{Xe`JX8Vkl5 zj5DI~Cpkmg2{}V!LCzp&kTcjfNn}R`at1kroI%bYXEc9~B=Z?M24&wwW5K?O#)5GM z;|#_bj58Q#FwS^8XjD|;f79_im%{lOoS#v#98b4-{VL-OFCOfh=oplJ6O9G?CK?NJ z204R$6ZTEmH(}p|eG{X0eb7kO!ulnQGZ<$?^R4WgXx(7nL}NkD&{(iB; zJ0WLiEXWz;3~~nZ8O&!epTT?v^BJ#V=l5;M>8!+mGIKkOGZ<$u&S0FuID>Hp%*1vx`w!M+LmCeiqloT2T6oT0HGXOJ_<8O&!epTT?v^BK%% zaNGoYH)N-N?*`^GbPUSAiN=C`6O9G?ChVKAZ^FI_`zGw0uy4Y?3Hv7On_ybs8(0SC zx-;-nd1mVSY3!Tmc$|F`jRpHA?3=J}!oCUnChVKAZ^FI_`zGw0uy0~a2pM@BfJ3#7 z1^0#5Sa4r>uWpt&f}EkTV4T4?gK-Aq4DU>UeiCyr zpW#du$rL==GR_b?=^$8i7A%<0VBf?skrHx-cS|>NhSm*ohQ@-Np|K!mkTasqz$9mA zJ0WLiEXWz;401;7S=;0ca)uGbP}n!oy1_U@V?oZ)STN3DoDqdSnFF1!?S!16u^?xV zGsqe2nGZ<%ZPFHN-%D#!V6LN;ef_)SAP1rYy z&7b59at7m!*mlA=L)!^CLu0`>gK-AqjM)51&LC$n&WLR%j5D;IkTWzEj58Q#FwTh0 zpX3a32IGv_cEUJA+X*>CW5GCsaR%dz*!)S(AZIYnh;1i~GqjzMGc*>AGZ<$u&WO#Q zpz>>t{Qmy3P2Y|oH=MKf_?osqXWXpDOm|J#B_?MnQw$A1m}ldz}+*9+CULr&3H zkW(}kX~HR`86TErtRZI@c$Qg_?V%rJh3~eXm42=cj48|FZGh*{6IfI5FwW3+ zLe9`wFwS6{!8ju}f08rE8H_Vx+X>?gZ71XmjRoTj#u+3H8H_Vx^CvljoWVFFww*A}&~`%3 z&{#0eV4T4?BQ}4MGsqc?Gh*8b;|y&lc$Qg_?V%rJh3~eXm42=cj48|FZGh*{6IfI5FwW3+Le9`w zFwS6{!8ju}f08rE8H_Vx+X>?gZ71XmjRoTj#unK-e|$lHvAui}4O z(5PLB|MmED5i{f>XOJ`eLh%yD8SI-x>86o0$Qk4e<}(sW?T|Cb8RQId2023z zNIW&pe1?lZ**9U|gng6PxgF*}nFD1GG`5{^tX10yIYVQ?ID>HpgK-AqjM)51&LC$n&WLR% zj5D;IkTWzEj58Q#FwTh0pX3a32IGv_cEUJA+X*>CW5GCsaR%dz*!)S(AZIYnh;1i~ zGqjzMGc*>AGZ<$u&WO#QHpgK-AqjM)51&LC$n&WLR%j5D;I zkTWzEj58Q#FwTh0pX3a32IGv_cEUJA+X*>CW5GCsaR%dz*!)S(AZIYnh;1i~GqjzM zGc*>AGZ<$u&WO#QHpgK-AqjM)51&LC$n&WLR%j5D;IkTWzE zj58Q#FwTh0pX3a32IGv_cEUJA+X*>CW059t#tNhRg8}(_eAvUwf=1<_ABKtpLF3S# zk&AP)Zzu^I8Dix1uR3bX8{UYQi-X35kde0`XpF1I{~I`TT?Sq%GjU>_k+&HKU&a5n zpi#RL|LgHzga5aKMnx6=Hytsity+52n6`Q;K5datTbBlndYr4@6f|aR=zy1vc&S*9 zBd-LF=?-9-QirxuRy&_coF*r-Q(lRZc2WyN3PU9$py((k@={+5a*CrCC27Jbr5PWV zW~>qIpq&^sv=dESC0#@-x(hWF`f$cMa-v7-IfHgWe-g#Dme8NjpD^x<8G_PITwaa- zg#Lv7BsOQzPG~2z6WR&$UCmDYG45jA#k_Fr6glmLc0xO$og^}>#_V1v)cYu%uoXe^lTV!n&{ zF6O(K?_$1-`7R8)a$TZSEz!h&Jp1wN$Fm>L`CXjf#ra*F-^KMHWo!xx&NS&QNpX;W&7dhs-sjeP0?Sys`ZRCRMaBJP5ooFoRPdtm})1T0v_-&?8 zLOY?IMDwlmC-f)Lbc1o1)(zT;#)AHY{v;Y_&`xM4(R73UMC%6aL}NjJLVpsCGiWEY zlW4j@f1-7RcA~MMKcPQ~#u>B|+DSCspg+;NK|9e{(4WwsMB@zF3GF1BZqT1--JqRl zEa*?@Poi-K?Sys`O*iOIv~JK&G#2zH^e53cgLXnYiKZL$Ct5dXCmIX-6Z(^AoIyLG zokY_O`V*}iv=fa5{R#a^G|r%%&`zT12K|ZF4cdvug8qd5BpPSXPG~35bc6mx>jv#a zV?lpHe-e!|XeYFjXu3gvqIH9IqOqVqp+AYn8MG7HNi^M{Khe5DJJDFspU|H~;|$sf z?IfCR(4T1Cpq*$e=uhZRqHzZ8gmw~5H|S5aZqQCN7W60dC($^Ac0xOerW^DpS~qAX z8VmXp`jcp!K|7(HMAHrW6RjJx6O9G^3H?bl&Y+#R>|}+}{lS3zJwEK=WkI8I(5z1e z2ZF|-JtG(A{`*_Sfg?kVy#7_#*mHOzUM>zA6GGhQl>3|pjhYhLk;{(6LM|4)=;vc1 zm&l1rabjIcx6Cf-C$$(Tg%$bK;tDx&W$J5D#64fR=j%r716{E^Xw-Y-5OM}N!%r{B z8D2YKzgF7`IYVP{zIb@X8R)6hl#nyX8SLX5^_zmmj1364qG3VK(ELfxAZJ9g6UG_Z zPRJP=3vvcIgPg%Qr!O2s_-8x<|1d1GsqdS?Syd#&^XOJ_< z8RQK1P2R>6Bp7S2*o59$bNgxRo9K9)eG`oZ;|#_bj58Q#FwSVcZ)FZt`xC|)8Vkl5 z8jB*&`WhLlvBE~d3ook`HkOqxZvE|{SYe~Y$jez){8APc;V52M7ns?$wD*U_3zxMD z8dGm;#LIb@UbHP}jC(6+)NV#RycO~AZkdRRgLiMu3>tM?g2ucv&8O~*8&}O*c@(7v zu%3rm-Vj}07gu@hQdQojmmK+iHAKtTAywtwuFETOm6sW3c~i?X0CFX8oUj)t?*Pg> zf$}zmGW^3HH`LR%q7?-18W-M6ym)W=vzEU^%O7w1CcQpGbbY$G>JxAKC%rx|{K>)R z+r=86c=aRc^*LA9=cB>8K7}Vsf4={sgU_9=`lPzOgl>d$%Cq9)o3ZU2!Z8+2Z)|K7 zBQTc|3L4#q1~mVy_+Lk!r@o}|O?7*xOrE1JIP$FeqLwGsd=pKcspYM4sziu7R$AV-25EUy&1WY~-qZi+wD10_w7hLn%m*h;-gB2a@_zIME$_+Vo0RMGWq)ww zZRe6V=TvRqA-{Lz?Q*4V-;>3^DR1AeJnzVR{uNr@RQvOjX1}-p&XKpMNXt9;RMqFZ zpL66b9jN7Par!I@(-tq~?Ysfk)bi7Cv@$zUhu*;zkOe#r-5ZZx_FD(Pc9(1XTAY2H zEc}lC+QDyCe~n*@i-(eqpWLuLUdnUA6*?D3D?gX0LU(Z~^zR$oJq)A!VBNpC{Z~$V z6kVp_FuP)K;(c8tI{L*QUF8y?S&|gXep9H>o;aR6WzI~By zk1j1OUOQFn)bfrvs#ZHlWQb~Pq1^CvxnX|z4GZLkof3`6t!*_h$Y?Ce^+e=B z*+0M>Z`||~M_+z*p4J!Iue3%|;|;lC%h#7@|J%`*`+8}8VgKzjs4pUNXS|flVk;g7 zJOfA7N-GI5U_ZIxS#ra!;Wz9iH#|F02DB!QDh8~mcjqKD|NWPv&%f%S^_l%GX^YPo z|B1*gU7uV1(9!3&x@&!Af0g>|OiG(t-g5Z)vhO+i+^(C}XZB~P&n;4)Z-30u=b|&U zKKEn3gz<(wX}Bfv^Y_2w=<}VOwLUX{Kz?qK{Ji2}N1va{r#{;g=*J?-$^M}AP)GXk zvouO~yp$t(?9ITOgQJx_5>1#4mK&ZcH|!aH!(MX3&nJ4rQn?|XiJ4k{e)tW0%MC9` z^oC!S8(t_k>=S;&zH-Bh620LV*SwYUJ~eYhuK6l2EOPkZ+Z{9?Fh3;i!2FPU$cuas z?{ipVTL2%3Vq@#iIH9ceIJx0va>M@NHyj{0ygbnx-YGX6C^sw$ zzu^^fL)kSrp&Cw;8-77ECepbbo8jr_3jkPt!2}B8|fSs^#RG*`{2%$$rPxX2(~*mFpZo-5I>eaTb3qVG^8{o)rQ0ioUn{%) z6{oNr+jUqosVJ}(pN0-pA6Ep8$*XWI>s7qS6y>7!Yl24k>R_=kZ&h&U!5IDw0~U$ez#At+8?Ki zUzTaZ$&tUfarLYhoko=T?I^!fWcj-%o8^B2r*z3m;qX-}VNq7KD4?jKrGUmfJmh_) zu^KDx%*)AkigMP^L3v9)ijenitGu;1bv)%oYJ1{!w(sGz&#@09>bs)C#OJIus&Crh z=B$}y>DQl*Mc}vaE)&14IF&B-W<5-swe>$;@X#D$=~M7O5&Cr5ou)oLic`fe%dlfI zYA;XMiRb#j#_uGT4U z`$SW|0akf~l2hK2!?>-5X9stAQ>^kraslL9hxa7Nce$&)LU(!fcbM{xw#vITIpwYV zAc}m8t@8HD1(5F`-s6-{F2lkyMFEL7Ov71*Pwkf@>V;|5NYK%#tewknmN@!*d9?b} z-)_lo)#uju>!X5gGuDY|uYWqE@sJfG9Q~SWmH(z(06eziJx)B#^8M}gYFBxK-R0$4 z#QLuUfeP^3~%#PWg_fy|1?F(_iz|F)6)`7Rp$c_e=? zIcVY~^|ScKtlyOJ3a7pyxxlFGwGQtdyiQF0+PLbMW45PRzjfox`t`Ev*Z1VqFZiCu z&*D$BetoU_Es_g>-(tL<1pHRMtLsmkcm29q z^_wLZi2ma}HTcP0PZ*yE_e5!rzGKYxSR@xf-oh2x_vx+-}ftK z`z(?Rg#Yl)_BrA0vvRv`pTTbXS$w_OK6~W?w9i4jvwg}6T|{(Hh{zs5vhw}+Y}0sp z`fr22Y~uMtxd3?n6z|0IgzNjUErSEq56rzet147qnOnLQ-*(L%Q}B`e7mmZ9FRY!&+GUPsm3}9dm93YJ8XOq8IP0E~i*rUK zDyEVjf_mhC1~RsdA|vGZv;64d@bi8+j?R29S^@o0z^K4sykvb4T335SK-?F4vjRUD zcKKF$Ias}XV*9tMmyd40KeV@eyI{IKLqjMZ`;=8bJG)b#>0(*!oVm3-+_ zmT8`DC6$&-1ZOwCE8lYKOP9?izK@rg_}(esf$un|5Alr$Uuo=k4J?{soVuE4I}>Yt zb>vsBu5s(%Q}`zK{Rg~@9mAes(^(@NRE3!=?t-~w?ZDRzFpO<^LPQpgDQ?2ojJ?)1 zAf_LUP;@x9r!sf{i^cK{v256*O>xRZ@ipUp>xQ?s?==edf>Ca(wuo;0d!f3T3ql`t z?vowbIZ3|2G@rh&bDvC;+N^xiO>es8{T056yvy)z%UcS0i(itlR8C zjcln=vD+vO*1&-3G})gf@fr z48b&$mj+vSs9@z?p@ClQ)fI{)MrR!eZLi;p(B>U6s>*g^+ehW4@7~wtK8Rz)$Pb6! ztbZQ?&7sit3h)NZJUGk*=c^s6cTEZ4#!~_Xe^fu2lC?p8cOZ1I{>{+A+JCAWchNWg zj{l7hR=kOuv@giTjYHeZcUAAM5A1nMSY$8!`LsQ6;pO04p^xYH!2ew+b?(^mLXpQ5 z>T-2gU!l&|Wq0r|+ZO7Hp{ndXX4z(`AJ3mq2%{Z{AR${B?emEK-9~G+#XTFWwpbwG z7nGNn@Z|ms$4eVulj?S_-aWCX>%a_6)e>gn-e6scCU@Uj)KkvdOf3PY6FVM5YYG@< z?1&%57cx5Yfofi}>xbG%$P)T^o)P+>Q_etq$iKJx={q~+x2@hit7r{sFe{L|MC92u zD{ED#wl?=i#b)7aGD3$d)>QAB-aa>o`h*UbuU1}Y_w0gf)NXb`PPW9Y1vx6bD#*$7 zgs-0QgR7nTz>a$rp)|br?T3P5)=wxDmF^ze(W$Gq_7jV?sM^0O5X1eU`uK!!zP5H9 zu-+c3tyqhr?Q?%6%>y(=pz<|QWXM8@2pL*i5oCc1%^{*hkPxwrdAhAz7qtHluD9`q zT)Fp&w4xW+4OW5?nAqX9Dfk0M2>HL$*RAHZ@rzTChH&B zvzj}0@<2!&LjcPLKAwLjXrL$L$S)HMQkFS0%$+*&V8`EMucF&sV$AEh471X=q9b1L z3p9nf`|qerR^wFVP@^8l)f~9o^B_L5<5_EQJ`?yIFWBBP@{h8cw)vI8Na3ApF|#7ZLU!o_(^en7qtTHzy-8io znFvg~Doa9e-UDC4%<3k`tnL?tb^P(nYD-3U{PA}=2vG;!@dd%#j@MoB$D`^BUsvsl zKPIZHqQ)Ql0HknU{y-gnT&jNJ7k^A1=(=-z|2x|O$aiq(m;p#1VNmtViejEK9f(x( zTJhNft9r1hF)p&kI3P|r$Sv33!h=?s;Ky^1p49l3N0V(*_zBhR-$Xidgvc@|VI6^_BqraD0xelw&dRS*tFK ziqA;gIXU>0NI~KF+^R|kK3PSAkL`b5`g5VWA{IWa{iU$+c?jr-= z5AK{Ce0oSh;rI+vr30TmmkU1P-@^2#y}BY6K6|T0*a#_Xe1bqf9G^d`pTyLkNB!?? z+gA?moE&^IrJ!(px~bBEPxS!7r!W$qcUOpLvG570tD@p_^}tAczNdZ?6Q2tIJKOlY zhjvX4KD(Ct;8QOLcLASY^p9d+YtDk?sohZLee?*8)(^%FmQDqa2Ok^VQf z;aP`fjS0_P9i#)`bZO6W+}BXIe_vkZgU@z3DEK^hSrq&Ft-2x>K8w^JS^2R=Rf2|j}(_2(LOMJ#-J`HNxuuO&b~9G@e9 zmt(Q;c~xB%6`xVKagy*Uk&?pkxm6Vpe6lW%g3pEOidgux_7}s(=OLgUj?c!w#e>gt z>Z+*t^u>+iz(>k<=QnRscl8y@mEY{=U$!mOQb4AJ>ZdzR^?!{jRFPz3%xv&K)m2f2 z8iN}*Db$2Q$=dewc%5NkiBu~;sQZ^CQfNf`tC~pr_m%eV7ik|Csw;e6giV9U<+_*`o{PWv4sk{0Ltj9 z?)Fz#MHOlcZrr3$&1-)tG@|`gO{D!VjN(5oR9E;ySICWZhx?GY<_%B zT@@9ozPNFdP(^8fbyr`Z-0kmQwk_0BKo-&de~v1YyZzNwQH2_V8#gIb^V(kujc9*W z6KVh6(*7NM>|b5s3zfV5{Ux%YdguZRDtG(;DJoQM`&U;*g{m)Z+$2;{+F#w(S15P; z`tvQx+5{ui2w% z&Wwj>v$dSO>C5NiX3pRl#`Q1|V&^^G10b&P_a*=9F8?ijlky+`ym}vSCvGT%Xlh(qijn7N?CiqP2W#Utcb~@4cSOS<6=?W%f$$%v0)2RW;JF>H^d3Ewua7S5| z4DR7{{@wH)#R?lox+WW(W%c4zwEC*Y1@r#Dv^xu2%n{bYW-xWO-E#y9d^D1Je{`urrUoR|iD|z2;tz^D5#Yes26$g95>Rr~gi&cXQS)eB`;2&#Rr8w&$QXg^FAk8h+ z-qBX&uw|%KCIrej;v>Zi4`j`pSiG<<%UC=G&H;%kr~*~9;!X2b;j8ya3e8)MyPT5+_C2)Zn2G6MVQKnTjPowaYg9k zN(29x6yVHcd$W4^tiYH;c^x-cUQ5SGA6}xCEF8u-7Y<{lSm`)SSlkqzgEV7e4= z00kUI0f$k*;ks4o);`a7h&@_(%>T6;kHcLZJc2?l4j%24QhD(hiYrbzJSuS}#yHEEngduiV zJ{2i>)hCk29sD1s5WjzoRKw<7bHb%L*4nss)=zJV$T#Tv-|!1}{j2d!>i-kG|5Xg! zs{eakQe6K>r5eqt|M#AC*FVdu|27=`YmTmepH$a>tyH5q_22l6yZ%FQ8^OP;)IUqt ze{$y(wgUjY!?1EJnhE68sC)u;~ir)PW|62 zNOAoim1@MVKXBHV@A>5a!~EJIm|t9ll?YZ~I_tExqjC7>I4qNm2j)w%TC@ny{@y0@ zjCW%h?4khncC36?eVWukz1>_WGhuh&aIJheEH5&VHfwXxsNaWwnP{7VJ;93F@4`ZE zd$3YZ5Bt&NRkNPa>m&Hr$FS=2Kc`E5gjG&ZeeU_WFFx~eSn%nr>LVF3Fi_nx2l$~zy2mHu~-_7yLg0)0Cf@;>xqUwI$HVUhPdL*z}7y`Kzu zpZsrMd4G<>BJaS@rI1ffhP+FDdx_vBp%(p#$kHgX)!&|XEQeq#XH{F16 z663Z)xo5BB-t&A{-0^X}U;lrxul`ixu;@?Q4ACFPA4!h~TZ;ZjJ^LnCC;Q1gv9EYC zZKuek=QoI++xe}B9`V)h$8cEm`@DuPLB9(b&n3IRL;XH6`n}{^zWV)p92Wf^{)y;! zKk7I2J6XeA6HX|9uYAx~zhA>)(eLt)M8DbJV0@CaVcZj_-#oJeWb3(jbuwO$(Pb5lfp zvQ&K}B^+mc?#3YgSFRzIoQHs#^na=I4~ja#gzGkD%i6 zyanpJ#Oix&et3O<@gJ#g0{EWps;{{w zT1V?hGuk^CQJ;KOAL;VN+1?9r3om{PtRrFg&9M%f_ES7-XRLCXY|op%5spvR2MM<4-MEDppXt_-FnsQ^4x9K)w!X!UPkUE6CJ&xw9ch{e zjYY%7%uW9hoD(i@{vnY!0sp%YxA4llz&a8p?;Pu}DepI}Z*j|eRzx{x_?MICDJMTx zIZf)r)w9F#`Om=w_2G8h!p6sJr}5U2rrXIkKKavq;q|#g)u%9i``v_F*!9_g4}o5< zTSvm$YmIf-Y_C_XZ*jL*MMOE1{L7i(Dd&zv%V`x+PKJLuAKz;VZp!ni^(}6Ber)|< zt;5qlvW|q|_B~HIKZsS1OaHEwp>e%FG2*+G_k_3i%y$#izumZnx4m~-N5bm8#X4-_ zv(5SzH$LBpC}*~RIWs)v%uKYL(<931=wD8@r<|Nb%lYlBaNK@v9SOtj8SAi#+b^td zQE_Xsy=!KMxA%hwq`ecc@1wYdx4jQrN5bm;Z|ksG@As^4QR^M;3?;h zM9XOvQBH<`IUmn31vlmS)cO{;JU_O6uvYV*btDY8?|I7kL9B9I?d`*V)5F_)=Dq~& zVK;8!ZSS4dk+6Diu@0N~Y_q<_jn6kC%9-t7&J0gEGZQW6^oVjg`j?aKDJLgZIj(m2 zlj(;Zgi!?o9)EQCwD9)Wvq#z^f&Tkfa0_pHTyGr-YmYMPu-P6Xt#5I+$Ger`RvJ98WplOthS{BFZ_#znnZzIr*{5akYD-{armZyuJUk zD?$6a9k=kd_jv0_SUZfh4x8=pHS1f{c5v$L?%zH+CA_{vRec9Tk>l*&zJObJ>$}uC z5?0^eSclE}K4*Q4THkR0c}+w)BmB!L@su+((Q}#iTF!4P!g2exbtDY8XRN~}Zoja;#f{sLh;oYk z%em51&Q*z)v-PfUc{W=|!sOX#9X928!}=Cg9>)%iMbCd4-hXL>UwiXo|NC}={Bf>T zfwfNDagKE)tlno@hs}C-wZ28Icep+Nby7G!FIz{#%K4*p*evINt#5Ic^OcBluJi&Tx4SSVzL-*<~Fz<=JC>i(8(B5#=oKFK3RYoNp#t&RG%VoZ(+io~NAr zM9X=hJRG;B){!vWeq$XraeL1C7B_C!M3ghaznl_JIYVQW)1*D#6AZV?(>Fr-m4^KHg6D?=O#Bh14tRrFa{KYzK%JVnt zTio*85>d|0{^i`@Dd)ym<+$2AGJbpLj_~&GzggP5U;OdVv$%z~y`Q#@gyHkw)?pK$ zpIG1G#^(zWrrX2idEGh^CeIq{uqn^0*0;FjsfZ|Nl7Bf9JmuVx zXgRGS%E|CA=i>>c;HEsETHoT9=f~C$);fOpN7j)r+`i{2=Ld_&WTm; z@ObFAsH)fQe{CHJ!{-_6u!+wvtZz~A2`^_zL^;L&JJe#c}Ve)LW z4x944VSS5Rp1UK;neJcCU7m6#Ct6PXh;mNzFDKJePFAdPT>3lDoHBoZ0DtCq;pJZs z*WW!GMSnZsia7h%U%@TBdUd^ZB&;3EtixtIjI_SR-45^G8eYx;>quBRyR5@zIeV;c zahJ0&qMQZ(<;?Mv^UXxdIV+-^GyKcR^OTdHXgM!@EgZL{){!vWeq$XraeL1C7B_C! zM3ghaznl_JIYSdIXZJ1P^6a#ZgvqnTI&8|b&H5I%Jl}{YXSRPiGd$(Yj8%@y9wYt9 zlCk0Tc;jmc`jZv7h1VXdtRrFg{KYzK;`2A_Tip2E5>d|0{^i`@Dd)ym<+$*1j~B_> zqz_{SKMbOdzZnvi7*o66kM(f2LfFdOi`IWh-U}YWDRZ`inrhe`?DjcTt`Dx2utRe*Tx|AQlqLJP2E-tfqDcyDg~62|MC$ojm$%B;`TR(-Bj_3_c06M@%) zuSDQ=tyRAzate4ok9Tty*f1W9vwn_~ne{5PulrC$yV}2GM3%q)6%(J&TjgJ*%Fl|l zt7MeF;D$)~t@4-1DUl!V<}RkGkUz5g^(!s;t@1BY}IEky9c+ z-kWPLG0V@0EPs8-lHV%-B2|9#?W1Y=zZ@yQRsIq=CGz9lT-YlW?H^hG`f5vltNe>p z`GZrW|JRxF_rD)*;F!o;aIIN>-z9R&sONjU|4e}?xMd~o9GTQxGGzTd4f@!cn< zP~Z3QZq5Qs1AXWiS>Lypnf1Ngs_z$1Tz$nvI{+iZf<*z}MiUc-d6pGAENU#8;a&|= zp8s$NLGg&)D+G6uk&)+s_4sdK|zVe_m1+ zDgXaj^2;faAMYo~eolh?BO>MhyCuJz68Z6N&N@xGJ)Q*lOC#m~nPNBZfC(T~lU?L$5Jo8sb#_WInP%=QY(DYVyAytin7cPh2l6JLsGudn~F z*hjjstGVMmsAS7LXU2jTB;udydpq@8_HM+?TL14fgXr@cft5);PsDZ_WTp&VIi3_PDeD zZdU7l03!2`?D{-$g{M9b{MM?^%~pMu;=Dppaym)aUpQ8MGQ9OU@*Ar@tAA(WbB@$U za-%1xKGTal_)M_tbA?r(Cve_;V(-M@vvZ)QJ{x~+;qz-Kl5DM%A@#{Rarj*Ctxt(v zpEIobOviciiQ*H3Pu1lfeE#?=3!jIf*n-baoPTNXiNog-Z+&{$^{Im*Nqw%D`gBNM zeS}P!xqr7~nh&@c%v#UO=8N$IJow)5KNh~dEqNB;d@|cR)$%;i-y_chODuVAh9XP* zEXDa`+IOnusk+P~&mVtj>pv7v=|9dVQ~y&f&*4iw^6dJBCC|%HJdvlP$RoL*B>96> z%X5xbo;*vQ+z~i#iO>oY=dg=s_v+mfi@FZX(EC<~_SSBZy`^#Tyz1Sz7WI^q_O6wo z?X|l?dn>kKXX%*KAyW!RkhOxd71TO9cTk@^r8fg^ZW}L*i<2U zH|j9{IOh^id*(fBwrB1L9FIqSh$x$HcY9eB+bd#Hq#7T2Uk%;8)_fIL{B(Ukk31#M zSn|xqaqCfj)A32G7BAeNb$l(mT=c~&wyqvp)^5~cif*1 z$apQIag{WUYyWz&eL3Xb!`@}`+pBli2e!UtLGdvm@=c+-d3n{lXLria&Xlt3_0`)r_ZMKg2yoajyx`E!6jB3T z0d&wEQ;B>8kwfKK)e(dU{%rrYI*I+e-E1kxD)X@|Xy5=|vi67Gto?Urd&OQ{)qY=S zZ}~P8Q?=c%)4O{}Y7Bh`9yj%|@sRr7DYcjSe#xqDXS=>#;GLu_pVmB~^<8qIyS^_; z?WMkt{nW&_91W)Mm6>JfP~T%0xa-@_uJ6BoV%GQ1z**IIaGKQjYEON~2-<@0#a4aW z+Vz!aB^~g6vbTe8LuKwN`6l(9|6|~~@KA=G;@S_J@>O0xDiUMs)(sjZk%jy&EO?MZ zeFpm5T(7-?6zmS>)VEHV|LDuN3T1r=UE+^m zpMN^vE#H3mCi4CKzis&n(GcQ-5|wWd>e(FmTD#;sUnU>V%rFnM5>VuzM90dJ>-D(67Z3IH)c4*e zt@=KX<4)+Bg!(oJ5GJcNyS}SIad;Z*=((u!GjngwS_aM>FcB4%P-Kv*a3QoOW3?b& z@Z1m4u*iu&h!ddpRuT)gFI}8gyU%gsw-?_8zrW+%oX}lAJ;^#kl zOG`B2KmG;(@s8vt<)Wzm;~n^qL(&I_|8RbRDxD7pqkPDgm_Ee$nJOrn4~eUwv4wJv z+weLu;Nz{lC83JGE-}862D@e_yolKeo*c~MN@rD{CbKJGegHX`DtR4Qm4z|uZr$V{ zLdQYXi@zk};q_-p`xOQPszp=}?A_|+w+7B}eDwj0Y44R55dkaV%|{20RxckN=&c;N z8u|{sS^vJ>8u(rNUc=G&a`{)0Mwt@84W|S;s%($^<^TrB-$dHypH9lB3oZ|BFW)6e zlszgjwHLj(X?xzn%fYvhXX=4I-Cg<#A7jyVmZ!$^-x8xJdGjDjguH#_pve2ica*%j zN?to{kt}(?`dw4rd~{c%%PWXX9@sR32P@uGS+Lf)V-t{|S1WPqgm#%grcbtfo}ArI zp6XUXE9Mp$i_Qv*X59I?m1kI3Er7)gcnZ28#=PN76Rd*&c@)Mg`LirbF%r#3h4=SO z(b0R3kwB|9W8Ltiq>^W56Y?DE;+AI>+FIlZ*z)}I5lfy9EkvHrd*t~D%^~vilU9Q= z7qqqIY12aFxv8_eea^S!87ESTJOdxL+9$Jx$n#Jqw>)Fe9MV3Ii{7sU^{`jWaAMfS_Wh>tQ+k;m7<3zOfhxW7mk=s!bpGxk;NZq7G`*-xTKfbB< z$GaKt+U@^<)&4jUt^F6V{hjW>{ua~zhNu1UO|?JXJ^8x7-EXx&PDE?}g>3&8)c($V z<()Z71IA?CFYH~gah}i=}Mr~cpjrd9t*^G*G!!ugk4rLX?%Jk3-8jo+~KABrSgm?8C-9#^{RzqkH*cKr`P zk)-~`IRBFLfYY@8JWXbq-!%?jjB5b<}-%32kwt<4=h8^R;GvnC^SxMEG{ zaNXLGi?c>x09NI$a(&cC7GfGDh=g%!V3ePkA@E4z zFFR9SbFy2>TfPZlz6oKeR70+d1|ce8Hqbg0yIP9%FH(SW=MNuh4X7TF`F%iSz!)^H z806yupvr&TYvl{*r4k$NOKqt-XBr_J>Yf0mdA9l7vwVy#F z-7orFuyK~n|ERq*R|bT1&nG>8{~H5$ghNk@MO`5E34=_}Ep_H_)ynxVcFH)zvLC3WB5;tIb&->H*NhQ~X6gABesnL&+I zZLiql9)m(J*&Kh0Xsr*?V9>o;KQN`bAFfNw^Oa21T9!N^d=q(oig!49%$7g~@T%%Dn*(gG1bKDzouDu zHFtclnf~0Fp-?EnU>e!ul26=ty(H*~emyqD#H$>7_L<->&F@X{m)(Du{xM*B#)-Ek zOjf9k?R$l3mAOygykdMnCt*-3{F7K;xtht+glBV4RtZx&HRRLOPci$%ba%$0ArWk@ z;xi|IHNMV+#|;%09=%Pg%Uyu;sm3E7e{Hwl(vRHr9q<5@-QEA20nSC3(f5(Nl=7#0 z|IhCFrF%UE;-vOdjqVR3N(f;66%?glu;t3W{fbgB0A6 zou&HpUD27BuVqQRH?Tsf=+u|ST%eqOghw8>xRqvi#v^=A_YHlrZES1P;9-g!%ba?!lY9uw+;`prE z)2g4IQ`xm`=)k1ip#$SL$>XeV;KY>L@r9xKhHClL5h(q+x@t~kkI>FZ?}c`b$Frdm zi?-vciM5joL$wX-ysKnuaAGfdiUs}L%4W!?d-w0-)rhqVQ6o|zvNTz>IHKuugVOKnDk0$_4p5~ zSBxt9Afvi?RBiD%NY=1SeH@IMHf&HI3sFMDj_RsWwU>-qod3t_;yIO>)y2h=R#jIO zkN>E8#jv6}{CrsL2>g6j!)o;rKcCpJS$)LMM>ia(t{PT*h5R(<((2+XCcTaqz&T`) zz*#(~_ImtwO2bC=5x>2)VVC-d-;QcHA|G+poXY$e)y0=g+JYBAK4gGEUOb@oX8d+y z!&dbXza8E1uKI}I4r};CKAu*cfi^*%dr#Vp7qrTdzS1hieQU?#x3@OzQ6KT!Q4Rl5 z9}7_=8VeV6v_a4I!$I{CKOfdmuRh}E1JH`N0IfJz z8f#X=dJzzfHL>AsDRQ6u@cmHzj2$_l+8H}@LI-E;$_eeAu{$TUea4=g(3>;%=7j1i zsxSq1lbXX^U%p&)|8s{;-CqV(ykfaL%819FJ7;C%gIbdzA7YB$R9BrbDO6p21~ljP zZbdtw4BgPap>+)(s854KgV4}&tT5D9+PRylLs>IIPfS`B>NtLX_3Z^k2k^53v}-8T zP^Uf(4h=v9%dx^xFKOQbXcJI7CbBn#*3Hm*lzI>0= zR@8TP&AHW8_jT^sUOx7}Mn3m%CHk0yd8*+ycKtZia=BRB^@CB%jp|cjs2h|+EKs#f z)tt(_NGrT~94fjNu-D!^7!}>BJ{5)vpc=|X@vE+v`q=0=6!V7I==i}XW{-TjUhEc? zm{Zwv2JH0>+g_2QubK$G#qGDKPlIv$f6J$v#fI04Q2CiK-y<;JT`uz-hdZP7ZS$bOhIps+~R#H-eIh zfrP5SNLAxMuHHSY=o6eBCU+4EfI_bnwOkLah8`C8f*ux2O^OQ|-gj&1AgE+@)d1*Z zbyZ&|Wp!0AXeD$7YKf*-dTDDd?pjfW8&+(>y)e-p3Oj0X*GF*}+S;vrM|H{Q%a_T^ zp6Vf@uGP2Cy#l&eJiDep}TJofm*=ihV5ms=##O8?t{T;j0bxy_PqFc6Wt`Gl*f$RCQG#~y!x z+YP?!s(-IBkVe?;%eSg(r?N+a@vQc_s{oT!RR$Z&*ZhC>z6Cz2>dt=>MuH(Y5fh`` zL$=>RiGl$I48uo#>+^s~F-V zZHP1K5MRcnU*P|^I>Zty&UBVdF;!TtXr1fJY^H^0F-i-LFQ8#ppjmhZNAQXmIq#4C zrgKmm%Z}4O6Jyx}#xL4!jXU&a5p9Iy;G zI3IW<@y!K3e3SSSorvGS6f5vrD`J@oz}5s~90SI3z&i+d-+HjC1@$-$!&I1Y+Q-Dj z29-@UIX4hPJVgA+OgznMrtdh-CAjy6DW;k<9I>CL3)X4F;7%2&5AQtfJIo0j0;~26 zgVS8N*hh({#Y{C8M#Cq%*^VY8O=eilbo5I=4Z8cZ)U_^tq=IiXU2EaLgw!sOP)T6?=?p}_0=7% z{rtH)glAM`RE;TA4HJJpu+77tADl$|8L6!7pW=8M>(3M@<=Jwf7G9Uxz59%Z@QcKGsky1U(L?`XXIzH{>-VBNZ`D>`m?*< z!=Io08{*HjVTto^%zjzBnwiJ>mHHfPjt?R)n^WJt3Aaef=hSzTNPQ2Jf8+7DJ^Xn` z7VFRK-(dfSw!ew>XV#x1r9ZPfj@@yw<&I0HbfaYKrJGxrEYgjVb=enMy3uiwZgljL zJ}uODKiv(#_vjPPWsp9>`9|!I^Ee?mAC$K`lY&V`Tqp^`Z0}L2jS%cT)+bn>=tKGh zqbs9pY@zEdr2gI_)Zbf#`g=ZkK~2Xj{DtTDw|r+4a4V{~P7jV*KyoBsO?ul}1r`Y*k{l=FQ! z-zOAzALsjUzK?$qPR{pX|1Vc&MM)VdzNr;@?E~f->%aBLz~@53eZ;#EHvRXXz54GL zUxEJ1`;j>Rf%6}zUOeYhay}*JQ}UY$y0yotufCap{l9pn2kXC-=hi2pYhlxWzw6b1 z&yoJi`#o9zW&M}+UzHDP8=X1-x0|mz;`|3zDA@nYFOrilrqf>6rjIMLccB;Fg|O+r z-|_0d$5{X6{q($_p7+!1!nUmcs+xayU-ilQFYCXo|FZte`fuR-uBDD4l7f25T|3o( zIbEI8)nhAN-Avmx@ji7_D=~}hnr7X0O-5Hn*VsbWk%X>@`~zJ_3UnQ*LszZ1&Q`Iz zc=s9o?&5&=)xW;b<6pSFh5QS=znJ4|9AD%38pqe{au;(?HQ-L)x5z35s}!-NQtY1xD9Cgs$vgV07(6=-R1&fpu5bU1Ljk9YgN0F~S`-M!3Vq z=-gq9u8gj+g{~GtSBpSbi$GV44qY|xZN2c`R-N?q-cAw4Z=Na|wZ+zOFd@J0y3;c~ z{@XeAyg!)p!(!TOOP-@f)6^4}(LeRCA2)$c=xM{}B0q@z&D+J#$D z1Ie`=)h<5HubWhPVT!3H4M*(fsUF}uG}zW=vY+K`J%LNo`)xh!zh(a|`)`pKj5oVE z5pZ630MX@fIbb+kj#N1HH9oB-O?UBrUVa^`_jRo7zhxb`59z?{zh!joL+Hx>TSnJD zgs$wrWpwRB=*s?EM%O-suHp3GF22L#zis^&uFuH%x14{=4lx}sw5ov%c8GC(a_xPK zC#bN5Ss;d)Ug&{fl}mLb;|(V*2y*$qw3JSBUZDsVN5<6k!kV3t&i7zzCb=+04(*

    FP9RFMKe;KBH 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 >iF^c|wUBlu}Rz5Mcst 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%0Au$7j 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�AHwMu&JE%x3oiwIjDdtZgf(&%J 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

    xG{akouK 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

    f(|8N#&^QFti31N9wjq}V?XuG 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 z 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%0D&!868cwZcz~boMy3%hRm!wl6T`O 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Ξ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

      FP?HqEbx!+j(gV@ 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¬TG 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 z zB3Bh@Sh)OvPGuZ7sh9!z5I6%%uwy$W1hv!(mx+363u+ z?Cmfr60p|U7G%UT&z?($j%h^|pz_vR3}aM%P#4%s-(ljQ2cj-11zl4OZ&8?F!i;9q zLbQ0Usb^1Hc0p=PNR=Kh0Y}UZ=suS(47^}!KG+>iG0{QQBMfZ|n}7BJZ$vS9G_7#3 z!32fb3|&A8h^2nFK(ls!WyTBvSMi?Dw8i{{)j990TNlonsVg4=Ys}u5@|y0K1DUxp4}=+3NTP zfq7e5hFT-B`z8te&%fs>9l=a|l?;)U%LYBbHJmr- zd%Vs-e@OFPf}*+Kf$)PY>{)Y> zsah_}BUBKqjocNYaJui=!bK5RlH49>g`j@iz}_!tBI#}Be}Q0;h+QAzsbJvb^H(w| z>*gFYP2Vgk$E#g_hcSgu(&&(t|M@xV=NDIBKD@um^UrxUe3(A>&vCS0&N$w1{Wi^F zc|;nd?b_ctMHh#sFW=m)+&n#$kv>)*3J%Ydm=miX5< zS$=-Zg*ql7s1-Bto>D3W-y`vSp zL0NZU@5&BVo0l_A39HrR)$HK>{2cZ4Fu&>N^Yi1sr|ad1-CY7=wl89TU&O(_h{IaM zs}n5Y$J^oaP}HVhC(kGHl^sZCcJ!Pf!~jMk86B=pbvt{Q=@|7V@}Qn4}Yn+(|Wo$dC-g{@`pmU#>CO8vDofYz6n6#WXv5r2n}&IN~;e zldG%^iHYSYPX<&bW2nby1($qmC$MT$^DVwy_`^q?5U_py`Rue1IuMm;{Cy(CffB8(7 z{~K01qa`mL242(=7Pw5K6<$1;pk^NyJ8F?st-;vT!v%LTHfni0@e3Bd@GkY8HHp8W z1h$NU04DLB&3v=^vkZLhmN_3Q(Wd@(#rJqn1lK0yp%i6K(=T_y?0NP@M`N9(8`>|h z|DaX9orpdYUrpizr_A3`E|{;dEqOaRJRX6nm~Mt7UsVtX0~*eYu-1os+!M&*-CGJ+ zFcAq+VX*eo*eIO2b>rzF_g~l|y~BDCl4}|*S(OAmV$`gn4frJS#3y+gBD7S&N(+ZC z9(Kz=&+=Dm2@XKK)rb416F&e#{x;!3!vnrC`&9j5W9XFtFCq%&_ zXj6}{UF9y%>z5|>!QXTl(@`4LF~?6@U*1kkpGhF7$q>^KCXAUK&)#gn^mzESRwTn* z2mAVFOk;UCoQZuKtCls)6;n)t#SF+bg?S*?{goju4q^`g>;wvQcPebj7<4Cr+NHD? zam`@{RZURSz3v$>Rf8BhqeGRk7{d2xhQZakhAhtvV-|77lc5)W>QW0Ge{(8G!P_PJOu#Den+j=|xhJMfijpoH@=rs(JtOpb5 zr0?>V7mU6bd0$?nfAGYNAL2eGse0M&<%K;!0oT~#yu7TjeFO6Sa=YXYWXn$#<`>X@ z>jDdpSfP1r!eIN{il9@&HE9l8DF29c+_hP&3_Lc1FpBUvGw^hy;Ze)x?MhIv2nxXD z9k*I!KgAXwcN^^xh+7z2cne4K)DbVcFqG0FyiiX*NQP zE%2v=r#*sLkK}|)$3!{ogJkxM4MPx*|4hm|Y*2LV@ph6IEGWO#txGMEaKfdsP{zf* zOg$BF)Yo=;FE2j^`Bw!$Fmh?C2Un;gT>> z7f-Xb7^tC2vG@2)%;Kzud?R7M2t9@n9=}*W^=NrQc=YP+2v#YbBij))9)BaeDT^D% zMNd?d*(|>8g1*#Hb^B0T|5~}SN5hHYziRX^)f>-qsAk!V4Iv4MTdUEM7Y6U`h6$gE zbV}36FsNfU%%&!u?AHInRkX?TSLHSdYa|TnJQ$}Zhx)X-4=*Q&t4NS539mO@q9*U| zX4X9DTP!u_m%%TGCr8KQ;ox|BY7CaNXTF2L@I{&3y@9qN5Nwl<0X2;zYDG9=@5&8M zar~Q)?(gBoCQDKuu!JUyyCPq&cPb2)cytwn&!X|!+q|O*`7Ks5Bu8QZ4UB9y5iemngF)C^UkSjqFLRx&-x|9#!)`Q+%=cTnBY z@Xh*>QnyXbb)rXvLV$0s)+FX;?0;B={DrP%YFNJRv2kOTqMBRL80-v!NuaOD(GaLO zMDgJ78Q4rNQe*UDbg$Xn3$Ae7<9yySDbuCD`XjDF;-H7B`T4fGA^AGxlO~Pzj`ID& z_p>n)+xpMl`t`7H0;eApOqw*_cg6VDSycHrmFE6A?*+ukr@fOlX;N^?>|i!yTX;36 z&=``nt~NY*&(CI;mzvzyNt0#{Xg(wYAz$%w)chxyS>Erumx9a&>1L z-mnw0ap|^6jFO>jlH%(vw@kk^9n}`U$4_(Ums2nozno|VLinKbnKUWjzj(B-%5O`r z%T?*Xsc}m1E`OC*+wbz73ybbtGgxKl=o-s&Ecrb-8LselbnT&Q>KAo%6_G*uR1u$k z&vbP4f|iBHcXADWz~$;JW%|MjE&0%xocGv`n0y@8LUNmE=cPt)4pxCV{8b7pYLErSBnuAOnsj5`Ni zIOCdIrp%f?srz|1b6-XtUCstm0Qf!3%V9NaD)O!C~$-VM<{TF0!JutgaSt>aD)O!C~$-V zM<{TF0!JutgaSt>aD)O!C~$-VM<{Su3S6oi|MXt&z07;5clTvKaxV@aJV@Ueexi*`C2XCA(tHREb`3-5)z z*U48vt8N}0t7y@~i4N9Qw$|v;xE9gL=r>jej6Hs1yI!&dTpkx#u^Ze0W4CT>4;Y_W zYsu}8jp`6EmMtXFADh&T!n)?)qK7|j4!A$|*Z(t5H+Jae5MWv1YvWB21 zVC=IZ!=Z~A6ZrmEewRS(%r^t3f;c+Xh33__=wr-wjxV}o@xEVV>x-r!FL~tH{7Z2kxMVH?%bh%6w z)QyC06igy%#JnCC2otsC;}j!}rf^&;)55Ynf<8EcO#ZUO%x8f$kZ|fPr$gl-kE)*< z?z#eSP41+Clh!ULEnm`BXVVID(%MVfqHLNcC#{2|{gO10SoX0(V#bL%?fVOH*81O* zt{U?QuOk}rFL3$8Ep9FPH#nm$?+}hZ5pM3TJ-Cq9S37$1T-qP&weTanrG>~SBAcO< zOI;VLOr7GiAr}|fdZP8ILKCzS^r^oRGlQC}w_Gv{?M47KI?9)j&vu#4ud5AQ#B)&yg%9_u-xyCnDMUe*-4NRJiFRIfwadL7_u z4m@?Qbl^tq{y!)JDfIn@&*KlT@#HGT`~)rcjG^P)Ou=)ZJ@Qes0|uQ;6zNh0U1#C_{-T7_lL1 zq#Ifbr4rN0WG5LN1Z46Jcmz&+vgm=0jh<{wvD#A-O`lL(c2YN!Rnn!J6)OGHC!KVq zF6>75jjFz$pEp4&>tcv9K^_zjdbhk^~eq%fV^D!kTMvuniKgkGh_V~>Zf=(bpND&_=ds`KZBB27X$tK%{2n;AD&W@+TB|GGrvDNJ(m%!wEz z7I{QiVWx8&D>-~BhZeaDW;;pNk4lp$efX-3u*so(jgIxgMq1^LUD6c(p_3M#NZkCq znBG*gzvHa2tx?Rj#U4+)Jfba)hvQ9ptcR{G9jOLMRkG8JU8$2{MXlg$6xFqp+CJMa zrc$n{quYb8ExgMf2UB~nsVN_*MZ+{|{%FCg=7)~6W($trXoboi(t31V(b40Ys$JPN zp`QKfr)oXxztOI!Uyd#3D&3?lT^p`%(k@^7jn;pycKIeA?|-9RwNA3Q_r``S4X<=- zOGn!n-`P}I)6!|io3;-7M(a-J8(a8lXOK?yOaM$3iTRUb5DhP_~=+wMLS)q+VZNK)Vhk%)P?+U8(Z{ET*9mnp)r9`5 z+W3xE1y5Bi9WK_xtgc3!u64XeI%frXY{@*DZhht;c9tINeQPHKCNsMc`Sokd+outX zlT#2(bT^(X7v1Ez`0I-YdNmy;pfBO482dQ+wc zpY&7ai{ZrHa7&L_!%;$IG)bS_rA~L(w|u0V=TA&d7%Xida55xQfoYOQV#cOpeoM^6 zRkck_u+ksQwwC|tXDfN-lXA*`$8(qS5&XuD)r}uTE1UOu^s?q)7YtNu)gZy*Zjbev z1eouIS9>N*Og_h3mSa35psr%5wT@S9p|{1!@9g`eNNzQlUP}6svx!O1;15r)8Rw+avqZ4G z4tUEW4FsjZMC6ie<|d)?@pgTR%H0TOX(jYl^wPth7YU1vIXkT#*ulD+xxde{Rs07G zRJ`rMKFKjp^cZ=yuUcB7@la=7OwI7>q6rgMmByWb)~5yvEBIM|Nci)9euJjpN0*PB zEe4-)uyk7%qp7ui6H_^V3&yd>8jGPNBS>ElQuU=JbJE9i_StQ0_H7s=)u(a1ezo;)K~h2 zJO`vBu;&e#h#1IE91@dF3UQ@mRsv@2W-LGOoT9@x@^si4KN{iw-gIEyF(pc zheWQ@wJCqVSgD719dzD7HX`gt{)aT`<~@yAr+0YFbHWWjg%7sV!`tYQvs%B0>)YvN z>p~m6d*kjPJ+}+x{2sGoxc;Z`e!EEcM|bFSM!m03@wk>B1N7IV_JFY;nd_HT=gH@P zK!(FVwhQ@7*XEM5O7Q6c+@E>OvtsxD#Kd~m(K6lgmoz})vC<#A)UB7TocSW023%?B z+AMu5-WR=WUJy>uo_5$!UTx$C9aD({Gj@ujP}MsVd8qlwtwnAWZDC&86o}pB){!k* zw((>Sf@WQ~zXJ%&0sA@ecGAl)@&u;@%*w)QQ}H`J$fn_}~QiVSpU7)HI&*974?`M&gwU{{)AoUH{LQXZN$!!rH+eheWjl;uR5o<#}z)vU~s4E z?)Q2UzD646sxm$;-BfLS6)=+4OEgFIVl~KOUrOY-Z#!TK+)?O##Z6u`BMo>?sBne% z4e3z8-q8y;$KKFiR`latjHU0t5o76Ij~XITE zYSA|VRc%i7c*FPL@e3GJnzYDqBzl=t9(0FLMPhMPqFH8p+Rf;isroL!F{`?pdcf=+ z9(#R_Ze8LYO?dY%(3~=O?Bib zn%b_(p_`8v27d*dR|L*8lovP;0WUmfz55VAza>`=Dkk|L_pdTgZWk!xt6g!cL#HXk zD1Jr9Dmo7xLuL$GOo`-LDXv5#&FUv@fR!15#R5>cm;u;Bp&;d{xpOAtzOR&twDGvM zT~^o9T&imZ`chtHR%e4>l*#ru@j_Wlt=7VymWMe~e{Py~|F^6Y zCB?6ofqn&3S@Z9HI~Bl?=TyxE=Ts8Vw;f zQ_mh^?80Q+RFrP(J47Stesrc7_TK)}i1k}it%>Mz@%g+Emyf(6=ZPZnj`uSHl+v-wW90R8v%_*dflAt{LO zMtLBvh#E@^@Y2uPh=wD;F8~q&{uRkN0z6N0$A(UI5YnPIi2%=Q z-G*fu0iI?92~aBea;^YZ5|c$1h$q@PPbR)qw@)2yOK_P~oI|O!1b48@eU@w`!5{Ie z=Jy#9eib-0XC(A5oeUx&cC-G*})2?8V8j2HMNcd9o) zT?lhegxP(EmJyRH$oG=l>)GtB*^Nopth{$w$M_-kMgPD!h_fd3cDQ+RuvfVG1}*w9QHya-`x;ZPX93nOcBh{7?p=d% zH=7JKa~fS*^eaNh^qkkgcCss`w=3JKMP(Mhok%*9^gZlAat&i9&Y^|a(T^ytPihmh3B`g%$)^EV zwndA6Mm9a+tAiTyoF~tKd1^EywnGn=a_7|PvCuqgAdQa3XHO5rLUn=IoOuCrz%=rt zPR`O^&F`cT6LP3y{rIUWQUO14ELGRx*{Z2#RYz`k_#89h8!lZz0^> z5{GmAj~03W|Jj_nvYsw;g?={2*D1)CkUTxk7hiJnkRO)4E1P+lc?l?dt6O<)*H_D~dUu~GvC(hku*vEd6vS^p&>+PNZ! zjy3^bB$0Oi(4F2D>wSx8X_}Y3ivdVcFp4)dv^aS3@^azP!=FfphzIi;$Swob1{NDi zwOg{Z152Z1`r`kP+*7v3hh>TUd<-YX8N@!t3E1iML!J z3I!K*Q&|_v!$^?l96Qg8L|Fd_3zwvAFUji{zW}1 zP^G%=drxA!X9)ZrnWfNuJP*5GIQMfIKyzgctl|;r&gdWHFIt1l<*H{ghqO0Yn@ACUP*Nq$Y`k4GhiW6&&*?C4n_8) zB(RE;Ej~Z>Nkdeybfre?#-fOa8!3bA1h%Esx5ikK=7 z+ksRecd8-JwO2L79U5T85JnMSv*74kg|_x4hpTmC3!5B-b~(d?uj6;6+wj`GwiGfU z4DPXF8_ixNj@;N1L5|_Fivy5l-T$^?+dH_-BH_^6gsgk{GKyHythG#nwcAiwT`6|1 z^Ks{d({cal+37H4jwkNVz^>&lyDg<9$4?xyRtfccjRg9myS<@9(r}8(W)A3Q z9S7xP+YA|Y)ZA0lGAOi#HVOqLb>H>MD(vH3K}3rWPuXkM(;uo5;bG&w+G7dtz8$GQ zX|F`DB>hy^9+zvltJ38P{@S{WYzcL%rd>EyBUont1Ycdu=y;2=U$mt<`<3GEn*D=< z-(r!9g|Jr{V-YY$_?EJ;#wwR_u<{j^>C4F4;8B%(aXe_gm6h7kgI>+ooZ2#Rm2JPN z^?KQlVV$EmRS!t~V~@q1{v&hM89muC*HUv&=axab@pkZYfv+1)SPSgXSe3<9LJHrq zeZeYOQmhhudT3R#5i4RNioLRHdgMxCx=Bn`>>?FarHx!iAA0*#>0UvW=<3~NO~FJ- zlPvzX1+U~p|_*;>S1qbHAqjdc+QfDr-H68Jk%%_(PzlkN;8}j-!2AxFO6M?Bs(=AYZUbIugdW3E zVy7H04N<9(qy@D+Q`7=9XdIv%5WZDCT(_w&PYz64CIpbf|3+C zG@BL~D!J$+zR2ESe|A||Jyb320;VFK7A=(w<`OCIFZm9-B+tvn=p}ocjMZ4K!-Y!P zL#LB&y|q>7dI6+No_LP6A`qAUum*X*qrs6|46P1cZJF)(zGx8|O{?t!5o z8}1ZEg>quj#zeR{HlsaoA=&AeG_mb|SvK(N<*JzWz#3*6dd%BWb0_-oQ>Y^4od!oV zsc|VevdF0Y491cgav6$Ln7mS?=I)k3!43_1gJkdvn9nPujAdg_?oJpO5k`!=65CiU1>dh>KS~WO+%FN8Fgt?fn_^x;f@Z4`~GEg$O+|1c=HC;S7u zZe>8%@k3}!yVnr8EwU+CR3iz`k}$tA57G3{!K1(7bwncn{6PZ;iJi29F;;rI@C)BV zAsARcyx+mb2z?yAkNn9we2r|#A1JI-iqMGOKmmV=96j2r)C@$3UM+E&j~!Afh`l1M zuxhu6m7LPut7aA{dU}`36`9sq)Kg^)PWA#ilS{p9foNAw!bugg2507rvW;^#d=mY1 zGx$0g@7UcM8wUY);VRr>L-Ny@X;n&Kh3oF!V)lvbblNOf?N+X$&#b-RBIk6#m+s*9 z)|@{`i)=(7T4{?irMn$%p*^r(#L0{agY>+Z$hxgQ=yH0wf^|nHc+yfco6hxFTGtq# zru*05D4+VdEGFJav#gWfbLdW;;bF%FJ30LJa_Y_=haB*xYEBx;G=Xw-o31;aNN@Nc z`x0Jb`v`j9(YX*wx@!Z%;%I0s8vTK8E;IesT3m)6Q*{cxY)7!bdJkE@2>u#}3ir+HbtCNOJ%w?Wf2c9jqR)VLULD&eTexl?1htn6OeSc}ylnT8Wy~X(dx?w31tD zwUW?6tz-_q&4LmdA~PLBR`GkEt=`J5+oiqn*~c3RwFw5|mfJDx9x1m*3C6L4FB5iA zjHmpTrqn4w`}k^!Dzg5lat!U6$E!F1WY7Fi6&Ec89csf;^cC`K)a#09*I+)p#r0Tq zyvo>JB~!LZEMrdJ_CX?%+q0b+y$f@b1C zt>Dc*sPn#Vth4ThO|<7I+7ouUquYY#2V%>_QhZI!A2orrG@F$glklIlV-o)L4AnOj zl-SVmM4<|4YjOH~ql!`D)Jz!i|DMBAB8fTT^r$Ld zWR0ghev&s`IpXxGlrjr$S6POE5+IgJhS<j<$kM3cT$II0{|~2Xb_-)wCg3g{1Wd6UyI{P-PC5u0EdH zt%v2^7_9n#M(0R=IS=rybq;xGcn4=%shczV`Ro4v==-Nxod@FL+2h}bC!k3#Rr<7*u60jfuYIkT)a(1$V!lzYZ@EBsZ)OIo$0F@js^+iPjgkFy_ua)>4JY@Y z*yv%50{2W2B}2OP^MBZmQQ@NJg>O8?)2(wSVj@2=G5<|CHYO>fBz zL+*sH;}!d|?G(FJe_)K*s2lGvG4vWgSwB)%tSs4&0cNeJ_rGhdL%rYppHgr1{|WVk zcDJAGeM3lQ4OlM{R-7eWcHvP5CQQO%#XvYOjpWpZk%xVoKw4_q!_bJ*@Y> z(E~6X%PM68@?z?Z(zqQCy_C)EHn1gIvf$10r3BgJZm*e&;!-tSouE?YhjGd7OiG7aFZrqwtqMOjVHik&} zMHLQ}apoV@{1$JrM5{L7{>Dx^(dtORE}iP`i?lG%QE;|O4UVupdQrRl|z4$1tl}*;A6WmkoOhp3INsy$kQ9+d%3)>vxnCtLKf>+N{4#S#%SV;@-^o zBQy7VKo~jFB5UFW4_^T#lx5On4FaeviArmwFU^lB=!9Q7x{GKRlfO_s;3GO-tAQRp3Taqx|_BW`3v)xZ{prs0D*>45K4u(G=K z633}FZ#8rDD)U*1!-n4?4?}su$bZxz8PV+g+fT6bKT3XF9s}9k+G56Xih0Y{hc4I4 zRN2tQTvR}oI8%v+kf-57W&z|M6YDz=lO09{j9u1P&=f))qYl!1KC_#O|I}(EUL4^Z z-_d;ECPz{sDAg#;mMl__1+_fvId5#}yszPToGf)j8nIvUUB#^-JjBqpE@h3%YpjmO zjp%CPw0SJaqpEhN8}@y(oP0u4NIe|ECy&?}U9A@qwh9?Vf~nkuMpVuPX2~?0Hy~My z$SKkh>1E?8FmPNf4wL`TQjHUz@R^M?bKT9RdQl5X;D9O5O2*V>}D^zYw^XhcvuGo${gVXi`O3s9ts!4juO1fH-g%CPmERjs=%&c8m z$vdRUZr!;gH;fb!Uq$CpxSEfNqYfjFCx)2B=&on`C9BSx$(4cLrpzGM~=y%4KU zia7nRT*~(d{5+WB+?ir z^KP@?^>MaNoo3gI zZ2cVm{EF9s(1LgMp#iX%nN`5>E#!a`r+6mi`xB!If#UL+r?YL4C4SruoTNLERrn%T zuj(2W6HvuOx+rr-@TiIbpN304`Qrs`P8U2V)N<_z~l#CkKk1U{e| za=Bfh4qn{WKI8O&dFdi*QYrMLHuUO;|efl|A4n_HBNKFzUZdlxyaGomvGEo&Y#PoaLc#S?C-3ruHz}& zf(&f2Z&`J(GQLLpE?X(0aA}>_nB=ir`&c~It0uhayyW$)jtjMX=BUBGvYpyP?16CE zOxWo&$DHXa`$&6u9C2Rr@_ykTIP9b{;1rL1AUP=#d7FT7>61bqA80!8~`!-d( zKhPqb)TlJ428f&WSjCR41B(gtl?e{cjjwOkjq!wxD+!rB66)l#(TiJ@dek!nxAT{+ z3cZu8M}V`1#r}hx+CzVq0b%m{KI0v4_=o%%CxiX_Tqm}J!{J(3oXj+dHs&{Q&l2}8 z5mCC0C27@~@<6Q1(K@FhFE;bpBjlS0f_d`JiCHkIZoJ6IUt48XqgF$WH1VLcPu8<( zpT6&%fSWy3r&B*!XoON)5%6AKG_CH%y)WSMTCIM#i}2j1|m z1OC{E1MFk**IVuU;*XTxx0Pg2tA+4j%?ffpJ8%+uc=thl-;UC4LJzN2Shcl@@4(ib zTH*LDO`rOr4 zRp6Lt7y5&og%vskS)$12L|J|V6*Uyro81Jg)k@^3O87;je@+rl3oU@a1F+)BOvGtSkrHY{x|NVhcxTa3+4BU!P|C2*x{ z1Z{{n@g0co90?K$zOGCZj-bI3-Tg|5?w(I{_kcu`dk^1T;^Z5jC|0=#tK39)??rU? zDv2idVCZhQ`-#1>V7)Fl7|Acpv^tRIn+K>K4ScEgIt>R-K5^Y4OrUI=G@F5n<|==r z&;7oSW48~bAcBt#P7jY}*h_xM8%!iMF{cJ-mTslTOF%0tgHW{RHo z86TxJOXN=ySN0v79tF73poSV>+1DHy^`(mUD6SL+M`bP11-+dv9+(^FG6 zAY|2WGAy_&mFHvqlhQt8r?fP341=lhj;KFTgTM)xXQH@#>5D zIY=LD{{XWt9`_YBoG6Z}N0mHY*(fR>2 zjrPkG#8s8~R%@{(glyGc=a2QM_s6`V`WIKn?({%8I@82OwmcahD1BdFRr0l$1IZ7) z3GclnZ_>7hCIh2-@~734Q(j{ohc0LI=f1y>nD_Me$A)~(DMc+jiC#uz4}Yx7S`w1F zoG7`7NY-17{ayqwcnSl=>D6Zb+KXbn2H}_8>Nke0tv2$v+8vs+?rTwmn*;96TI6dK zAuB6D`U?HK8~Ypmw-Gg3wE@*$Maa04keR;`{k{POi2Es@!{PPl_jTy^7Z0!B(SHDNf|f_{ZGfdl(m_)I|`{l2wwZ^9is_u^O={OTF~j=yqPR@3q_+!boVPIx_ds+-2)O$?mc{Wspo6_ z%3_s!u*ywz_g+MIuaanTJNg$qpGb|hRip4JcsBT)LR<6K@)cNH$dWvP9yArw6w=@x zBy_)WtpxLh0D-M2;?2U_;JDvdD=&iX7|Df>MoF9U%5QW<&Ll?+aYV?KoWTt_qQH{nB5x=v zpRjKrFX+8?E(|b&!q&82Ly>)H$)su@`c&=~ksS!AMD8J3i1{xH&U?8fxAEaYE*4|4 zB~(*o?5v)AI=9!pbyt;h_BASpaMFhL$rt7r)_x?C zVJ#bfl|CQRAQOi4*dkgP>}LU2c0oHh`%2f2_5KW$t3d>mXD8od~Undg+xd>?e>DR4^i{xQGtC$5?1Y%coJfF;P_&G>(&KV^fpu-! zjbK#Q`i=EW_~r#Tu951SwQ;Z%`xdjEhYuIQMz=8>aW;WoFig$c*I8>IA&aG(Ws3iI zA!oU-F|-!Z<3M2(;1_XnlCjbFO*S?{o1Rn8|EwVyzbW z9Br5IHGv_QYB1o`sqe+=JI+M6R`xBh-Zw_o8Y~s4FrhAB-X!xrEpirP4*G@BQ!b6H zt`h>Ka_&Q_=7i`#D92dp+bp;5p3S;b8cJ{oF`O8Q2Mf4-rW<>ALWSIGDc9#z*BOmQ zH4TD1kAN7vVyaQwq}Q-13`e2$hb1CvvKyvatNJo{w!-wFq>OzTvP@q>T}c$y=92s<3X0n&yYQ`7udLE~|*DSiZuuQTj;Fozv}gK>%#WAnD+RAYL4 z5q=E!%FQn2BRwI_J`-3zvQUdW0VVRy6L{s@@9TCF^WR278Jn_3tm)%n=rIa0d3=qSymWn>(r^ zEm8t?VIaTitGskxj)g;1-)6nc$4*aG zSrm475j<9P3x@&p4oH9>F7=cMG5vFX_51iP;wWoN`XeWtk}yC(15HRZ107jn}qC&@VWB*#<)(DMLFy(cG{>^1s7@~-ZqT~0uC zN|{;g-UUuwvN%y6=VYq-3R2>M%*ga>eft(K3_`Q}y9GpyYr7w#>7<3e`%ws(6I z3@iNA$y@{tpL@=z6%*5)M6?z5r^CPB0}U&c;Bkr9u;?9g9b}6!SXg8-}>Q|0f+MsN)405n2^p{kF&10dC&F5$l@&`U?9j!%v z{i6(d?PI#zYjjI114uq^L`_8}97x=$%0(iZf>+Ru=LOu2Op@H(g#?KTQ^(_5A{;uZ zygD*x7JKgmgjtpFq;~3fZmplfDYJIE9ytL3PcxoBhOGTYZn8AOXRr?tVIJ~;h z?AnbeqwCEi>t@&Pyl^&TK8t_4(aG$(f1V^>P9mGTWj&m|Eeg;U60j}a=3#a{TcWzI zC0x1|dyzr@M)z22K&FbnDkvT8Dqc_}d!C-I;x{VsyBbwRjyKrZ-yZ(FFp=L^#2K*G zal#zXp12Bm6?_7+$87D5uCdl~IV|WT+4BKO#|BE5_r8jb#)> zq41FOj6E|}?(Thoe#SMhu~UB~TO&2!PNvV}Ij$f(9jjmuYVQW`a{1kPIiY$|oBrT8 zJ`{_I)h|}|{AC}`9Lim=1NFC4I4mbX%zH2tE{at&vkqbHr7HHYtPj0Q!ekOIj`iiT z%+*~|9jJb%oF9k{-O59%UaK;PdV^vSSjdXw{m;pQY&!~HA(^zm&VaF#X0tafb8}|8 zeR5wSn`(cwqR&gEEH6PQpZ3bV`QEv^W!2t0x5ZV-qW#&TZ0@2m`&dR_ul7npEy-)q zlPE%}=)KGaxa8<_Fs03_`svHFdrP+H`@Z}adrP(+es4)$dT$Axx1ZmAFMCVm#0Y?~ z>;8A(h5>HyZPkABVx9d0{~ELZv`q!f*joay%G(RAqyH-Fd9C-A*c$?^=Kq!?+4zw9 z*jbrh{7 z2elxJ!Cq=LjQjgmqAPbHkRu9>hLR1H^JZxFp^mH&3cs1>YoVTe7lzu=iI$FP(Mu8& zlP_*#t!6&h<#s^HZ{HuPwmU6&j~X>!gW5;PhNsPZSfFP6&(L;Jw1HN&L66P(4uxgu zf?T-yr&*n3<+{ME{?6cZ)xX_e!x^yBiy*s~R+Fl|U3$Ixcg3sMGcR^?@m;CFw>OymkR zr~Asfh4bcWV=?l%5`)M(pfm*+--SU9zY42>m?ft|a>m+|lT(#qYyRnVfd-YgNNNX_YOl9C^(Kdt(GI)q zd;ZLVch9w{C3obq#o{ZL_=J?%o}O#~5QO||PR5@0uHM!eS6R0%%E~}mKcx3d%*H@w zf~p(KYM8tOZ-N6)v8lI@H}h=nU(|m2In{Fxwyq&6yGCKmFnLJJ5^4jf1RH#dx$5X; z)}!GJa-hE+LVL1N>89_}#3g-D+` z_l6vK=vFw8T*ta$Ahv8U`E7yXCW+8` zA<1h)MIhK*f`v?%-Ea9Z3(*>JaF>(ld9zMXgFYtB(bA&H`S zweU}B*o(yAzaz29xrF6Jf>1R*|3iXAbo9Ihx5*%Uu-z*{QTv?F3 ze-bbARmZNDO~QWxM}9jX)mQW_tt*m_?pC|Lo$k-D+|t0^e`G}0_o`VYyOv#A^k^bd zZ)Ka0Jz29%=@i&38b*uEReV#r1HN5+wxF@BuhhU=xX4@5+S;smrm9VgT!v?H+S8h6 zlCMGSn?~@yvQB?S_!XSh5LFf17{e=tVknqAgY1eaOTh%DNO91%nIecdu-X(XPksX@ zV2CusT1O=?BwICm0d4!Zbuo4$Q7Wt&2z|u)r+!u=r(U}{L`$LTP55XaLqftQ528ii zX3$@flrukeUU%|k!lD^u5v47iH&WPKlBV;grH7&O?Ht)~8jC8%ujO-bqDhjgXk^xdRSsSX)Z+{x|;u;N-64`L4W zR9DL3T53$1MW_Fxc{D`p_?7{_NWIMylsG+9%QJyzP+%nJ z{=$hu$%zH>_CRco!N!svyk{(lUx~sL|}v~LP#yLPEqI$!a||t0~Cd% zluaRwkYT)7J~`0FmO4o|L?^4kq!pDUUqe(-ka1K&c=#z>U%aVgO(Bt7K{$slHeG3= zq9v<&VfO({Sp!tJ5*Gs0IM!StZ-(*D{BkqS zDBBBgpkLMtz-;&}ez8KfiPu}_1y99AVs_o8GIZ3-t65j=-ch7#%9dOz;vTBsS-^$; zb7q~!CbT}*r2m5N;kc%UckaPCYcjYDoHcFRlVNxt$*wy%rT*oO_$VO7YW3qlnb?nU5 z4C)paI;?JX1!q>rDtJ$@d4-$Pi7Rvk`?P`2j}Lgu1FL(4PD?#1^A*2&DZlMDezhmm z(_S|kvf3(s+*V?@Nh|Q3-I{L78NFl=qXRnha%$yN?uVPh`hNa|>hgPlaY5?THubeB zYG*4-S0%>|U;3?GTRXe9&|9>d?Lamil0S*4J1Q(8;*12xq&LWtq{IAwC+tH`O$)mb zE2IX;^rpx>fC#)poHe$qCUu%)Uow$*^D8Z_=XJ=pZRz4<7e|boEb6N*eN1LeW>gGp zJQ&gba5^dM&Jv~dyd!v5cFr;5RM8zdb31Ga!O_|;YZ&(A>CjQ>jYBN1BGpPkL~IEK zVdQUY65mI29Rj58P-FjZK@M6-8A69l>QZAFtb}Zq2QE2CI8%Ytkeq_8rw8Z^skgPx zU`CLAMX` zd*yn50#n6>xP!W4y^~KiKp7uc;~%q|9w9qxzFMTSxcKa@d9iusp6Ze>)jo)F@U3Ah zy5r-~qPr=8AwpGTpU9?mxtjweCcQs#im+-98$j$i_jy-@t2>9LmCGz}%J?%{dy#(esI)fN z-{}~slWNnNPpmrIp_!FM>Hlrro8uLEY?+tw0`-E`%f$(~#0XAv2(kR+wuA^+BCJ_L zXb)Zux@lqz6zFMUDEneD7^f9!a=NrEbCtG|7m-rqT;iS9r=qzTDiPlQXpS70ORp+z z=`s%y$%`-q#NPtXgU8$VvTmo9$o}w(Z(hOqUGkcyW zzSxwVVyUTH-`H(~-N(Un?%!fSlf9HKeeMtPYdm7N#rs%)ei+(j?KYj$eBneNHoEU* zr3}0639;Lr`$Q;`ki&fQb?jo%s(9D)W=v4OdtAD9{`jJn^Llh<{5?zg3%Mu)M=<9N z@N@_GalEsg48f!A@rR!**`}Y-Wuuh&#@?mHIWe}gW{QN~a`@$)-=i-Ib5!YC)>%`% zGv!a`2*XBv&U(q)_$O4JQ-%TVV*wW^+aEj%15~b01qBK5b6gm}?X9u2MX_`rKlfp? zbPKuws#|Y9{!HuO>~RZBUZ-)yK5LXH^d2YWk-{G zJhoFk7VJ@vXI*etD^V&^D_J6AnO36gKKOg1LPqg-UxWNoaOhZL%c*&;!b(nlG8*%1 zB6o~S%IYk`P%ZEnw#EWMSGRAdg*v@Xj%^K=EQVT$Q}6id`_1a7t}&7uc_#%H&F$ygSmSf`>}mNkYg+ zq0PUOwqnUN-OiLFZO57!Y5NlunLTfwinM*!Vc({?>mcXBlRiM&K8NXSl&~)gnFN73 zt(+COPi%oZn}Q;6^8sTE+$SP%yKRBByX5~r40-2p8k_na+qc5{sn z>;~ToiD+=5pc)`jaYpLISV;be*0AJv6`k{-+>eAlzlrTB%LhRU>u9PA#BO7MZ#*Wu) zIlkEYnEO1mlpn#eKA9)OW%j-Vwf;S}P85}OBADSgxIzvfD}Th2I1k%j5h%*Yt2Le~ zWVdp-xnRaHHr9IQ-cxX3;I-3kB{Fn+b!_SZ1c)*0C+nO(q6)eBlxrEk6i?bIP;W#- z)!7G#=Dt(tk%+!QB`)e`R?#HY#+FEoH6Kh_hN6w9*QkU+ym1+noy+RHL^SZqzp^f&9h~wjlH+jJ*b@aT#~>M= zw*^lCtaAN*U=5{WHZY$!$RDdXk*pXrUs?x=B#SNUOa5XjC0Q>PqQ#cn^cf(PZbF{8Z%~NKeS;CQ(2+U}74E$A54OX34?Xa~Hsi(&s z$My5Jif20_-A!aHr@L7@9>7VLUVjk%OPStOpsrd?>tnS?$J)>ja+hrhj(5mR{S#mo ztSZ1ok{S*I)^g-UZtMerze_My!4*J>eCs9dhLHH!(0gA6iiqMja>g!hRVfMkQ61vU zTx{0%{;O90y91y&g1g<*`*)lh)2#EkBb6clHtFBnquliomGwb%_rlhtKHu@S&Jnrb|LqUN);D;2!TbQJ;Xzj z@G_~6y(yxXbM~ejvWm&X%Q|21!%4^FvmtsPqO{+rOgd(hBCWQxqP;*o0f_Ss zfp~1P6DZjr#w!q7q?xrsbwoV!8X=iPvvu31yYe<9|46hp_S;+yf8^QH^o~=1q)qETm3m$%-@e!Wr9R5WK;eBQ7|)4I|Fn+LjSl zBUfogoFlN)(?m6)s|90Wobta#*lL#7dd)mp1lY7Z)5>nv zgMU)m?olOnIbP+%%IR0Ac4feEcUY69h}sY}U#-`x%SyyUBb2p$ z56Fq2mEK1Ijh(`!aZo%ivxPz(PUiPJ7+Y$jd>jATy;=X-QT(a~gOd2>(*0t;wP3Tn z*;O5~PFI(o!wnH6b@80->SBoCw+(0q;&hYaQ*(S<>Ae%zrKYRd`xdavah0j{HNnCG z)TY$HR9V{R_Ncm-Um@rC*JS-nycaC%74uMQ#{vp1CBG=AoEg1sXNGKsO}+pVTFXO@ zKO;EP5z=N9ek*P9;QOtGH0#HB5A!7>psoAX_PIg~`y5IeUxvN)D_IOSiXxkY(T?Nh zF#e2b$-T_|H<`tag2&OY=6i+LdmDZHFY>= zQtQr=@rkTXUP7_7lkPDU?kB8C{z-_Q?oYxJExJ-krX(xX5xmNw{JmNm%6EP5Us1kX z@Jp+P)|9`lMv38-4%JiR6p`;yVrP5DvP4duqtr?n%u17mYb^ig?dCR?#qQwI=)=Ws zY~oJVgg@B2A|6rNLW}mH-v6XCuDw_3jPy80f0iFciu|oP&5~ycB}Ghf<#mERxcR%a zA=;LA{uR-V5gHtxXoK!!3purh9!iQI3X;wKd72J3xfZ+U`5NucbUmC)b|;%6-T{gV z@lu|2fzo&;s~CLAPw{T0N1^VBLpoeeB0Cb(w#JGV1Y*JCU9tvPAA8Cp%aA!Xm|Wwr%Q&7J5YSFw(wmR$ zGmzD)bHV09KHn1_LcVwS6p(ff&$Rre?Ys1SIQ{&__qs7BZhd^Bm~pGE2^)p@`~b?( zjhGRbZC3L4N+Kdp!agx_NP3whY*ul|cV@<`tiv7F%SeH;_-1#uUPe31T}WaWvX=jY z^)&6&>jn)P|1Yb?p>pIC29^;GA^I7a@Z3N)oO&YE$sR*n>M2y6;xB76VXdW$l?_+IuOyBh~NyG>q+J5M#5iL`y1EV zaEr^UEeGwtskOR!x!e(g&#oy@%E>V<5`8;xQoWqciq;1|svP!BsEcY)`u+ggRXJ=H zJ8To7Z=Lf;>i$CK_e8jr*1o>a`t)vF)T-=*DZ`oET|ws(b6j?eAuXM(d+rpc#Q0EW zYX%|v9z8t~CtC{>ug7U2vw!C|NYrn*eA6mA*^4@Im_d+>QuTeiZa-T1V)a%)+5YX4 zU((?Z3dc9xyKmnA1J7m)p&SbfXH{ zQX4!Gb=p*2_T`LAFsr2Vl!3Qs6=oO3sZla*oatb3M%qt-7x6ReZeqElr|)7W1Hrxy zVwuB5Ao7Lf$snk%B_7S(8zYlbc=>%Z=&nqotK?gc6?}0~&iq!VSGVVU3Uy6Po`7b~ z^l8_^2-zA0IJH+JrolbEbzNSOxn9)A_ z4ud+jw=!Kz_%ab4q$`0~^|=XmVwq)1NuPyP&cbxg&<1B8fzIFfqv4tfPjz1H1ywx` z;=v2fqK(SUl&njsTS(wrBj>FYVKC|r^ZFk?k>*=-l@$8__j74oop~YU8gK>pgo#}e z0WIo%^LHkkXaNWYP7DVB5K6maGZ+ zp=X@0skf7j`k{oo?dYKFXjC^z)dnjmHA!Ec^C=zENQw2A?g@I3?Y1U@Mm1*?MB1aw zA715!y|n@$UJj6h;^|U>HBdfqR!^a{h0;hxdpS!aElF3Q!MUDxl1a%at@;+}s9nEA z9#*~dmp1D-1!H_zN{i^WQ8%C3QKL&1AS-EIIMZ86BVqDY z0dmQc72Xve?6%r$qDW3r-076el!fSeK2`~KY2!x#5Wdy%5+%BT+c2q-F$+ZNRg=;k za}JP1z{SDxh=L$Jj7l%U^QcLI%ffZLhLkk~*T0uJzy5Y|=~Fev2RKit5NQMbklZRF zS-{XCFnpWYFM+gAXQg@mo{BmNs%J1>&MlPX%;Qhy20le!(RJ$svur{3QlIQyMV6kW zu*i%C_XeWXNYwYh1qcOy8lE1h)m~J9XJD!4_@lGMJ&CNmdz{VEdC;;ix8DrRik~kL zXFG`*gn|!8XoG+sHgb>Ch2}di5~J6ASZB^EE0qOX-X#53_gSDVsTrOXx>8$HQjlrw za9)2{_68vY!OV(7&V5p}K>Y^I%F4M-(e6uQE&&Gx9j_-1%BSH{`-4Ab5~>rxw@Z^X zgK)NUcB(z`lbvEdv`gnR$>|jGDVNT*l^&-SNq4={u#^LJ2c6TTQ80$3I9|djigJU2 zqo`)p%Qp1MJum9B{;oY)zj2(LsUxE+`ErkpW;2a8B#(@~BFbWjg*;@$+8i0J7N;z~ zCAm5~I)o&MyY5M&fI267*r_H$?=##(XMb1^vXM=V;~Bv8I9|?V@&a9>&Zpl#UnTYF zlbs3Y0w4pNF`*nGEwNvb+MLY~$q0qdjh#gv{JR;;FBhq2FTO-xd!eetc}Atedk5wD zJ#XKyijb2W*HcEO{}^4kCssu`eM2*VOXh%G@yO@gSCch@ncK!f5t%Px&W(4%)*<1g zd8df**&|iIi}Qjt!_L^LBf{_dBA;_c>p>cZXFH&Db(Qt2VN~Ofehp7F6&Fzh?x`t` zZBD$@<>!s%t-6ZO?~vZ3zT3~0vRZe9n^FqnknCH=@&+nfJgn*rC;k@M)g?wQoZ5+> zbSq?l-Recraf%@8AMXMiJnPb9C;Xx8r!staEY(oQC6;sL|EQ_)cFiklI6~iKsHK=| z*^!$Z3ZQ3cx#eHh!vDNNrE0uSm+=nSY9?L5-_KVPA%~$G)y6pCj0B#*@*%eiaVsUC zGL{d8EgLTI?W_w_R#?eln@g=7_j`q^+_NrrE=j6v1$lu*c#=%oT{3{ydViFg#+(&^ zT4r=m^K_cFI}L&9aY%3bYbBaoJLyUjJ!R` znWgzNV|lmQBWuZT-1{PbYmV%hbG{ilnr+ z9Hp?6Xi($6F2+k6Rr!s3^9q{_Tde#QZ2!=f)g1ZT99VuFo=%fCP~@pKM-EWr(wW_f zGwywuWW&B=+$Wq!Q~u`=2LoPvb?+JZ)|71_i(KUlT7!t4g)iH1nCI-sA? z%Q*v$<+F2Y57p2{{4frmb3tTZe&fEA+#Yu+Y;JrfuW)VQL94fj&*`??knGG44Gl`Wp6*;`u;1`IPNKEF}Jn` zJS~33OM*R%{KklNerqcZpxLhnjPXZsfDtgvR=g?rjo&mdT`HtGBaA0Dn2qn{bLBe0 zJIVE_NHR(h83hU(IKomA>dJfBHvi#P3W|4mcXLB4 zeGhwm1+Rs>1g*Vb`PU}@s*dxoCD=(ItWUQ+ zonP_K5HsN_qYFLG9JdVoIjv*K90GePZ4s2ZN21yaV}2&3wvpcp{W$Ja(`1=kGPB?- z&g{5hrP8qJ6p>y}Cr)s_2}!ip!G?EoR@@|;sV<>Hw^nH0r6kX=#~{5pWR$uX?M}{p zZjMgLhLR;$WzqIcq<=Lt{p1eP{{fvwa=l2+U(RST!{JV4nHJgm0(W0Aj7~7gFmy^d z;}nFDhI)&|i89QI#PZplPvtyZY=Z{T9vaL|X$P_Q5Gk98d_~k>{7p&SXEVW21_eF4 z*B|*(uCLWmCg*RoINsH4^8Q$iMffNCjXujHi{9uwMFRbr#QE648|3U;a{ZF~?r;@$ zmLf{HH#z1!O1*klqz@=MHUV@hpG)pPlKy(Q(6)lxE~8;$`b6un;Z|K;M>hpby;R8uluYpLK>7aJChiVq zSDMkU!D5eg=c5@Ni(SgT+2@gSG}4tMl{=HW*hqeGaBOdjWb)PI8g_TVQa+OGJC&MCET z{Dz>@o`6SffWJpJj+Mn`D0U*be@?CUeF;X_TfUQ}4PxI-En|9Ox_3PZu1FzrRu z$b8q=sEEP7IIA_U%VEqLLgz*14MN$joaf?Ll##jfTK-QNLt#G4OxtB69sUz3lzZ^-{Eu-m$7h0{gZt z`o93ZOvzW3@G}MZ2ue-`+o>JWBdsszzIcJKpzJ%>Ruo&G7opQbwA_HjLa+IRhg(LRK$8kg6$C{f~|G+>SJDkRv9KxEfY9{ zK+&ixM8~N2s33ZutC?+* zK=t*D3bNM7M}j#*GO3`1ROSjvfFU4gR5^kS3WrU5UU#J_o7h(p&i`mOuEHuIg_R zEd}XrJI|k%4a`Pl&p##2Q!ORhX+^9+7LP;D zuHQ?;*7@zxMNK1wtTODo!>7b#5t8_oI$riS3O6W7Pv_3u19du;DJvv3o9jE1Co=DP zD)I0Zw0|m67t@}2BX~0xsr^o2=^o#f4TECT{e>hHrmDosJ+ekoccbnpn&8tk`xe#4 zkgPP`7EUF|;*ui60Vv?VxYCGVhLuK&)kF`6W|`|v^bM(cv|6HQ!sDcqf3&TE#%6^( z6PR3icvWy999~bUmbUy(fl`r=1xNw(hG0gDvlDRM#@1e#Cm>KS-fm@>GDc%;I=b#w zqB{c66%wuibThRJ9F&NO^AP_b07Q3nO_pspRUvy3A^%iYo_#ZG2U*r(*Y%YS;pw(IVnHdAw@ny*cfq;HpfV41$A;&${)z!L9K3 zM3Db4q3|#o>ZeORx?BGo6YnzXLNzW^)eBjLdoO8^gTki|q$*+L6_h(-+*S21OPfnt zIn#n8Da~5&jW6>S&Br*uyw;;uzv!xEQfOo^e+8xOh&$~<22(CP4UUMz&NC)pgR0-A za2H4m+zR{|JBNUEdw*_2>W{t6qz0kk@P5zNLK#=G$~-sS7deg;uFw#{=d2INUz1irgJhl4ADlYeBaOdqYHY?`xg8+M zBV4oM{9-(ya`5J?WOYyTozr|y}j(d#mBMfIWsdXw)6WZ&a(mt3Wkqp{wSek*)2xjL>z8!+2icsCKf4)CpQ)Gs=EN z7y{J#4>7rhtbK_${6dw;Su?8pcldyAct)1( z=|AQJs2u{T`OIcD zX0y^X->82^#VP4u><7H#-Pam5!>%02y&8eYsv(jWvA32G_^s8C^X=5Jom4BelsEZ5a zCF;GvMKu_kuCFtQ|2@g%w8kV26nMn6x;UxtQN62`-l)Zh0gy`sL;wr3*#l|uj4Uz3 z_svL&pll^{!k_HC5m^hl^hDr*xvxD}Hb9|1E@(qNVcp5w)#8~jBpp( zr`7i#gZ9D+zQ}5|B@SVWFc*opIz$2YSA+0N^rXLL2^O;%dts3nJ>VL~IgKmgrLW~m z1hEjNZ*;NXK;6%1Fw7ekOs&4A`<5~D8FIG6tA8g%z^MNTe`BkqS2j2K0wm%2KJP0$ zpG+;zFp0$NgBYfg+0uG@1fXo-w$aF3lkC$ej90|=^@2;fz1opVWbTcGiU}Gf8c%S- zhJsdqjheK1==bpXLyMAo|Jdo0kk0+MCI{KU2`vrv;dU;ywd!e)7*ruPaVzDI5on%n zjh*2_=648Duw6V)q(CPjS1Is>2f?aJxqiyUs&czgu0OJ9N>=EDWZ(SuoEd)mYOW+2e~S}& zR3=z(2@1#XrX=9nr1-j<0&s<&MT&EaAmN$LJzL0#d@nlqK~8Wv*S*P-Y0m*BP0o1U zS`j*s^20I3|PCJ$9_+4Yd7TKMi5x& zx%>+#VEzIJIn1au6x;IODR_!e!k5AG;_v<=cy@PFw1elluP5Po`LBUz=N)NyCjOX$ zXD+GyN~#tbAGEKY0Vbv7imQug8$?V@m*}6YGSYLu800``RsqC}rKSECe7pOem`Iu2 zEJEgWmeA?xG2`85*X@V6fwstnis_%Tq$?=-`o(aD-0S#dqkw=O`~Xv5?=lDx9C|bN5sLqRj0&JPOYlj9Okp1ZOTPd< zA`(i?jx>D6{tw;u>*~K0K4(h85}oiL!>8$gz6d^n=r@;g@IZrT#yJW^p}A`5Rs9uH zwp~z0%pr`rfdbf}H_%r(AEjyQ6TMYmdlA5$68yy!Shmo$74~H$huu8 zOpNe82(4;BLs`*jv#5`xW8!1_^XjI%fws}UqaQci1=kIo2 zs`J~`H64+?NE*@`C68=PTp0bGgG2vU7||yYNK4UrXO@H%Xe2b~vgI05a^CMueZe98 zMKM?RgbPGBTAT&9s1>SvhU5t0302Bfj^er3g&XQ|=JKJ?d3ftAZc9Iyqs{;Y)^IC1 zm}IXqfe(f8QIqBh-|wl{FmJal^jCR%!AzSC5Fy;OaMs;^M$3w1^xsQOQpG~2C53P}NCTX?nd z72zDMXm@_owLd}IyaO8(oNK9VDhFcUcUEu-y=W+1Nw%yB^-*9PyPbtWWVx7}2w~h? zh5lPsP;shC2Dy!?{w5MCDQtA`9VqOaZ#Cs|D`Qj^8ixHI_CIL)UU66C&uO_2SH(Qe z;wPvXux?TUwVCRaRvT^KP5-JuP1ZY5Q;LqyZCkUR6sqRi+SPpef1qZ1D>X~e$w?7Y zT$wv5&K8Xf?3RL*yLa)Oq_8xpKZtq<5}?G@%64tN8WgoaE81ySV>U3UMOHwC$zV|Z z9_sVe44-S%duf5MW|8L(L#gd~&A#2J|5(K@%DIyZHuP)mEG~f3uUmC-IE@w)@ zgM5+tC6vRNXvX`HHa&JPpL8a2<_4nWCJ{qqqwWk0C6vda&^glN3CG+e7&Z+ugJmWN zQrCk-%y(z4R~Wek6Tl?S_Vv7&v{7$G_oRe=jU9?oGUv2g1DC)SKr3@AjB^IO|O zU#YolZurcadzgu**WANQJh|o`W@1szJJ$s-!SlCEne`KMl_6xI%7#C+LLjq3!iAB#e z%h!dtHBn%4>GCQxf?@)h^wOWBjBDp33lNU=7u#0943H?uPw`8#%3^*cpjBv~X-ydrKQ|eDYQT*qs@GDu z3yEfTKajNH1Ew{$#CND(_{RdH{(c1+Y6^9sw-XeA?vBeCh!j6NbO#uAF$Zo0Ti32t zqj>=oRU248&sEo|`e?8H93=w_S7U+0Q}$QR!|!nrtY;FbWb3?do+_XMBrEdQzPgMW z)WkuMzRT%97naQaW{a$XT|o4!y2-e_&(12czBogXlUd-5I#pnEhXuY+!`|mt3XK17 zuKpBZaQnF`*y4H@lO-#K3>nlpgGQoMcB!-0iCr#dzhELVY%%_2otR6VrRa`O%<=r% zMe)chu8RHsRGaG-@hYSC!6A1t_awljG2!b{y-82E(JpG=B*PNz^&2)E9o6caoI>X; zc~=w8bK6bMERn_w#fEg{dvdd4vUWi;^a^+}mhzd>__O$CC`G5-s_+ZHw~4K>E|M%d z_%;r82~ivWruZoNEcOAcK&q&{VyT@W*l*$6E$Y6dl1~@4Qj$dn_j8NNr6|zq^Ufk$ zUeJQxlX4%S+zvo7$_2$V8PsT>M`_>}fg&k0NJC1D+f&Q+ZVnvb^2ogeLka5Poo#)9?_P31Ss1fDqA{?4*^$^qqf;)t>3 zRaK`gC`3?v@EW1}Yg3_-RZ0-7WaD2XUL7-oA#P!$od zRUoYa_etCD^6I>WHlT`@D*vhSeFC zv)LKFjDETulJTg&Thc}c_jnBY46N4*@K>kXREsBi^cq#3<0eW+S z{wTw+A#{oOYJCT+`e2gOtgx#7=N;wx=j>^i0l!tpkF@NeQJui~k4g2~**rO@KGMDG zNM#sX#w-cC(jWK^nh-+)8 zqz85o^MHWbqJ8qsc1(aoe6h_#?9_BoG!Lx!Qd@k#{n#><>LoQrquwhNP&I&WR8{}S z0NlO(ncqj;r%-N1?}+6z~- zy($w#c!_>8*p;(b)KnYf`b^(Wt4-guxwlWdDwuxin^b1 zlBRwSKpfjAbNW*!=!f07TXXon6J|SSbkg?CBA=KLz-%A02_>Vz2gPSz=s!W$CNWdS&H;ijcA(#SKn40Db^XQqPA{=JM)yiq*h*H|N>DY$Ko9pJYE{fl@R!8XM7MSkC3K_y^0VU8hu>^$;2k!)7d21#%GrU-Pt zK7Fa|N8G L6;RDFIEtxAsi6REEdLXQNKfXlnf=!K!5Oep}dU@o4hb&}C4k2geF^ z5-m~q@>nT@L6K7^?jl_rXI-P-zn+m=c~6CgCR*Y>$T=vL)2KTDG<-pvl@vXI0r5vAlU*wHrl|nDQ`{Edtz`*1;Wq|Kc9j?gK*6Q0lbfKZ{(tfqM zGU_q!%ZeKkpmtaYwFn57|E~XDp5b1;ngv<6hP(0b+{Es$W28)VGcU9De6EG-t&&F*T$ZQR(6EUmtg;Mfky86A8*XU`;w zG963$OpC30E1P1gTa>U$E{#;RyAU|;%ojO?Y(8b}>Pob9KP?boe5p_aBRS3=nAXG+ zCH-&Pk>_Wt?c3OlPJHzImvmy^Ox20dsSN61+~>%;*QV`>lD6M6Uxc5&PVv(S&p4TZ zwF#Vb8BD8Utl1c6u+-KhNAuFb1F$+RW;EOa#yCp~+cDJ6ImdutWc>gv2hx2{*}KU3 zU#i8C#j%>p&k{rHaK7`xRXJI4uXFoQS=%?jYY84Z(XVToppWs>BXziVGz?CAd#N_( z;j)C`5bj2855Qoirrd(@Hv}{#A}kmsOifO>tI{_N_5N^0epYBUXaa`;3N6m1`7(ej z$OrSGnvzXZIO8w@o~Ae}d~xgv;!-&#C3E~9G)4bQ4j%#tUkQT^4E<^b_^cm2K{V%! zc@riqHia^L_IKnR@!}X-Gr=F7JjE<;(KlQB?8j7&wVv{=+}I9YxSGD zs428SL*`e~&uMF zD{ycdXnHs*!#?w`&g}y@PC9L|YPHAlS?bMikDIU|*OL|7MCVRu@)w?JJb}OXWU5}L zMS1jf_5R=DFTV0*n}*Wn4)_b^-z{lQc-;vdGwQ@zGjs3_zLSHmg3k#8?zG#ek|8Ie%h}~vJH#-JPY6=^5Zz&DU!U@iskX08MxZ;U7 zH91AE-$8#mW%TEP>#&rRi-J2y_YQH%em^hiL`u^^x|cK3-7M+WYhj1xzmz>-QXVnE zCoVIU+XMSYS{Q%>7icw%%6;jnAZLV(`Pi>mXVfU`#lPP5AqN2=9%P1Ol z3W~)t?7e@8z_GFjT3dzEDE@QBIH}dC2dz|_c%yzFiDQL=jnTo&fg%LZ8Hmp>3Mf4y z1?))_;TS*(PNIX?UZYcd#7QzjIt_)rurNX>D*H=j?vjc^!9j(vAA4Tf8(ixMnoAcim$Zt=J4Bod$q8|RKyKW z&I4y>^tI~`-SXAqBc5>RxERH0NyP=wdL^moFNR>pu>o6@H{Gh75$`#jQG*TCgEJzO zOEydyykjve5CKb1-gDfGZy=F)B!jQy{ygDwobPu%&=`?@FGXDLp>u$JmFJFjjH4B z3Gx2w%)a|MC5}6yLn3TP{ zi;VW(FuCLQs`D1Y5>4?X-6g{nO>h=ns~g=nGPfW%3_rm-2G(S{roH`1k|6HV5zZ^) z+OSXKL}S8;XS#Nh_9(Vcyy3<^E6Hrq^rb66Is|oCJIQh@r-+nBR?t8Zj?pu~r8oa7 zn7LS~4Wr(b%5ZM6>=MkT#jQN#U(@29{1smSWEizZGUW62S)qDt@^c?*FVb?wnmrmI`UQZI)K-!n^hqVx{zDd*XV&n{Cbm0GlJK%wy0N=SMv?^ zD*LD>ThuE{wD;a^>Q%Nwi}mY`yw3lF3YFP&h3;34uH|93QrnUx0o z*RVz9*FVe39_?y;Aas~K}`c(k` z_6Ai*0}bQrfcjE^AG}c|7r_7gHT5chf8%xaDuC~=$3OsIxK)J;;JfKp0esGO6)J$= zshr&`uFTc7VTH)FLUsAJJdSboTfU+JhPbBb{A~G@eW{BI5od^_odg zlJqd`QbcW)q!+snvbv5SGpj2z?0S~i)P24qN(j$t8Zks3X48m)>KXNJCyzO8h-u9m zV9gUP-f9B4Y8(YY)cX+cvQmptedxRml2M;aj8690Ds@dCN?OeVj4v%V=|B1z zo8`g8zDaDmxCn8Pc^Jv$<8(lBP(?qfU$2Bo>YqvLlk}hcnb>DXy@x+()5mN7VITd` zh1n2r?gNnQd&#bQ=XMyp9z^)Fgr|Bsh@QsJrVl+j>ftL4PkfZwB)mWxAkyV`vD9zZ z<)tKU-{teEE8S(a)?^N__RmJUdT_)t8-HJsMFX?Kd67k|nz_nJyq&M6U%t_ObV;Uv zdl-;JXj0M%mG`v+Z9p{wP~qW>e~W~oF7g>8o2<$LtFlYLnpeVaKvQLrj7q?|IO!Ck zsZ!xdyaeg~>GUvLPIt5)@?ZWGIJEI+mD!yUYCm5nNXikmsp}Lq&)9-%d;KJh=X!VP zClm%xG?9JBWp(~Ea@;%TqsZ}`P!9`+%^p9Hsllqg+xj-;HH|J(T$zn|_xNIPC+VLM zSl}u57?nm^bHb;xA|U}ugkcJX%JbxSAGPMl859W!b>o1vGPr->V}%RQCtesRoh(t3 zls`&WBtxpHrk47mNEkoBzPbxn&_aqA&FNy6Z{@Utbu}`Kt+=r%5rn}O8!wfivvJxO zE(h@zRY@KB>{L?&V~lLHMt8vx{^i_!K%2Kg8%kSDt~;W2@b`fRJw8jl;Hl)oy}leD@}2~>b_S5f<=jv&ezE_>_%yE2)b);CJ) zE2$Fs-^3E`7jR1^YORVYL3C8sAnehLfzpFBpA)GOszm|h%>wjl7wDm3rhRe1!|{lV z1ErrRQ6yW2(ge=uW}427QviXDe99h6fjJv;krU<28z2~o5IfFQxI@Q82VLrzDqW5w zlQh!Yc&C6TS!5d!RyJE>Ma);?h8hxpl=DEW06?|H&lK)mP=9D{DV;gTrKr|1OgH*6 zXg~mmN%MwyPH8yYQrPU`4Ttd4@}m^LB z)Ek~+)+QDq_%Ig#SXy6EBkz&#^6sxaE*~r8Pr#@=5Jy<5<^|WS*h3i-Q1a;y^10A` z(4~46xds#{_KUb;XuLPE_Yup8pf}U;9CFFwf{6i?oWfv8%Lavz5Er0OVpd3$wN~(R zVu8POL+mU9peJh=aK191m!FK2ixdvEqn=kjrKzV;FL&R#i$?5S-qRz9d>X7SNe!8q zGiQJ!UM9*KhE@(aMdNsq?4-s^)B|~ug(;G19WiYjA|^tg*rSp&fD2tl4Umn?D8yxx zOYBkY@qd)yKa>dHp0@XgPYYZMl%37gSl^SyHZi?lPScAd2|v;QR|biUV)Jy^J<5i!>)8{X4nOXYD%qD4&TZyKKkO43VvLY??T}aE9fvj2kbL#;99itp&!IJA0CAlQ9 z@CZQ!^OXZR>2JzDWrEztAbYj$uo5mQH0pEZ<4egQ3&+?@)ZU~>B^7OAR}L4zc|EmR z_lAd=nug817`k!in2zYisXt264Vz3!x*_&eJ~cm~m&W25s=VAeKI;t%ity#1Hf%+} z)0B8W5IrB>bRjN##oPGDRa}Eret1@2arC}K{E$?8KJ=IWedfpU&XEnB;^X;)Kl#X! zobc!*HD&3(SZt6>KdZJr4wipr+{bw&d?cTA!crGoBP5zd+&~VdHW-xUvLwA_-H)_R zn{yt7x9j_I564G1Q4%)&@O$$0aYD>CXeRE*D2BS?Gl+bPNZt`oDH?6mJu0MM9E)8n zE4fI}|K6RJM7_&MNo6F1Oyg7%1H21;)~mXMMq~ifn_l1jar|l$+azXT7^Vq-wO$z3 z2duMXsrJ==F0?=pYf+U^=~P+YI&lH6O8Re133vegE1YVGT?)lU_j4bQ=lF?pWObqGrA={01(-bZI;g(Fl!uHz2PA) zJ`SWWZ;w7<3lK#FEL#Ah{t6nJL`HQK6Ghb;HjiwsCP>lM*1Kj7D=Xr@cbsdB5clOw zgE5~5fy=>%Y>7-E-eDlxQ8<{46osoShscXuZN_50t?&9c_kZ(I0%<~t)O zv#FB)!v8jeE|dAd_OEnBd%GZLZZ=Ts$T^>>RiN=NH}7L~;l3 zNxuHg!Fy5<-m_TjcQ|;Lr&>2FWAJWPgVzzik*`QS`>BrTdz!X0A4aSBFuFu-J2%Qy zTQ6&9VruLjkTlJ4CFkSB3BENF-v&v#aj(_Cu&td6yaiU4Py{FZ zv4TivpVb)OPGZrt>3siaYH`@>Q}?8@hc8{Zn)FSnarPd=VRA34gJM4!K?0jeQ+ zYJVS+t#0^E#h9fAr;EQFf5EcT^IHvHwv?+;D$@&dp=5$l9X-J1;0k5yNx;=5GK`(w zVSM3eBH>~~dNlQZS;p`Z)t-U>8lr@g_%${5E(<`CpGxxsNlwG4n<7iB9Lf<|D9b2& zPM;l2vwi;ZAavSq1qTqEVg@=93}zBsf@ydWoPcO>5E-vN6JR=9HBgA$>qbEKS;Kp(Z2!9;M5BhF# zqb^58(7g+OsgL*M8f(t~@XZY>f=KZdk~EY|8viEs9ro!>O~nCT+=`o-LA0LnHhp$= zin;ffSF0XZ)8pzSn?;AKRfnr}hvhy5eUJ3u5uW4nO8beK-e8c2d7q=Ir>*vdicgXq7q zI3*a0VLX3=VCZ3XoCt>6Nw~B;LboR+jKDDUP)s>p{8BFQi#N?^faFjMOU2VB1zn*oaV|W6WH*i1acDUYZ@gYfkp8#N^+4C{#*7AMy3g1#s(>1BI0CPg{~@_CuZ>Dij{zC)PRonXJVhzgwS8Q zdnhzt&=`spLMg|T!eV(869~j@vo-cx<77WXL?$g6r=}KF+FvX7pVyZ|PO~pySnbQx z2%JKeZEz5}icX-(5EU-|OEpF(*CSaE|5bQYvGTHyW>G*e6cCahK(i4Ll0V$^992gI zJezown4VUVKnPgc_zwpTMxFRr5|J+VSxl?4yH&Fzt3!{IWjy#8e*?^EU!*aCN#n`s z5nRe`PCo0Cs`5>XW{r&IcCt1!e$>yiVe4^o+6Hbz>{3&HWX_*>sjA5?Z=H1&M9w-$ z;)UDeRra`CZ*#Nl-<%1+q9N%-Em7=RRo;osXu&g$#6z3#nYd8<*#bwBNno7I0_Mr->8PC2%zrI~SyaP!(}-gJX02gH%7G#Puc^2P2~Ae`eCOCZ zs(&FqCFP}3UvJg7DFjL1uHotQ6foEoL3wW_i!YKVaTUq$S3_66giq-!LZK$-JXP=Q1WCPjNU;MXnO*U9dGEq|wLPf6 zFFJ~aD7Qc1ehJSd94E1!g@q|mj#wWLkd@x+%m(!GiSq)ai;pwL+MHdMyjs4v{I7p8 zTqF$m=Iu=4lTz|#;nV%)TV`ED`zHDAtNNn{I>aqY-pKrmdS-?8iiT~sX%D*ydjubc z8bnPP+LWe9rrpn%=&j06r9dl)L-D_;Cd7ZJ+ZFX*NySLyXeHRj&B7F(y7*zs4Ww?7_2910DJg)Zkse4-}m|=$2!lS;fq!#AVhiCw{l@#p?(zTN4|cz zabEqEs~*i~hr*o_id1y#=*@r=U%z&WG)o&v*3EI9C{)|{%BdxX) zu*33Z)GdXsGw{ZP%AV7{dmtwQo6YE~g!NYB9ftpSjuF8JdKNpzJ|qorf+C%}{z`)6 zAYYZSyxgC}%UfK$^q|Nzmir3zqd-6M^&?L|y!w%=A36GwtsjzIHJ3ZsWQdIVPiO}c zud;2255+#@J%x{hF-qVN>h1EFmV2-1X-VuA>Ctl}5^O}<9&FL;IrF8=(`q#del%IF zjZR)!E2vlIQD1vIsW_07mRFT!ca$=xeM&R30et*4{It-v^Ua)aOWE!eJv5eg>FYTn z=+;TlP4K@-B zVbncL_sr<&Y;kkN21$-qhQ|iV=M@|E^95Ap*A<0l2kdErIml52-6pk1waKyf7{m1Z zQ35;V*faDZCu3ND1A@MeLf>~>^mY1nT-e&!_Y^`*!sWoVQ03jBYs(rKh;;Ewr8x)& zivp$l5Stm=Sk4|>94J46RvpFgP_;D`r9&8TVenZoK0(6PY%IQvvPGbs2c~7m^L%R@ z#+yx*?7^5U-1IjR_RKr-b!_~jiw3&d7-gX@PCDim!?u)2+CcQi0RijAf-%vmA#7T) zzOsWr&sT!5g#%J0GP49!fQ=iJoJ(5;a+M_SGDO{YjB$g$WiC=#;t^j;bw8q1@zXJq z`q#b&`y}ALe__8U| z`2s~`%!QpIXH`)~)<98lWOT8|A32^ovmg12%!;3PViVHC^fZ{!K_i@bWPwh~m5UfO zBP|}1Ve#8`e*F&uyVws9alv=KkJxQ5zg_&c@!QOAJ-=7@E$8&EkSX8 z81>$yhVYs^Tcn#@{`tR@;Z<0l0?5f@cBkiktLufT!trr2QZ-pdN-T7Z$Ad)5i#&^Au zqn(WhzDGc0Ez5V8BERP~W4Q^Llm}!|9*{|SKqln@nUn`)QXY^=c|az4jDSq8kDUfC z>HdwgZ|YqvZBnN0WgGEc^Wf2BD};dh>_r33=opx<^a3w^0Y_pjs$s_?M_K3B zOUCHn0W2)$v@Vab)F$>t-eGl5PiV~D3p~fI!$MCFTgMwe$}2k#JuUF4ulG8sIEdb1 zV|l0`yQ7pj?NjRYeUq&38)bcOZd+f^0vLiFjTF6uYNcqIl>YLKnx3w0{A=g3wbs_g zeTHYNjJ(f!4a860=y@UUvd$myTYr>67mQ+D2lUM1NY@@FKt|W(zIH79-Ag~)B}X14 z@@;EUgPQE%=*DIxNo2BJD)lmfnaF|O12!wSaOJ-KF->vGgg9%JQ} z#%xN{f-P`X^2hEbgvA`c7&lXL{A8EEc-0duM`yi&BVt#Bo17>$8~1u)sW}au2%jDQ zb7l`9DwmiRo1*cEkcUzK`{F?6<$(Q_6cUS%8$lSEdR5}RG>O8sL}Z}wGkkJ!q1m_( zmPkL|tkk$-0lLQJ;MSZ0bzdR2Pen=gc}E9z}MyaH|`2(~i?n z(0G+(jt;J;#4*!)g2o3E@Aw3d4^3Z6+Xs5y5_IY0*=lVPei7kOV4z2R!L)87E|ynD zE3X=ut-ji&%t@!*-Wbm-+b;Zozx-edf4Ma_V@R0ro?X@!!QU;`r;_1QxhT_LzE$vd zx77xJajt4@M68;`-tN3B?2UJG&p*mHchU+f3$qHzFH#(WQJ*bJu%djUXguCO#_`Kj ziQ2Cs7Ar^se=C9*M*V(pF7`Nogbj>yv`EfRk1o)=Uqh2pP<_X%g6c|6QJk@yFkW}E z@41=Zjr^|RcO}2E{Hpj>@VkVcLCfThV-LTh)FqzmRakV3Rk9VK74LNoFwz+2~56KKf>7>jx*@fXwiqK3I8p=Zgm11kmR~4@Lhye6JYRGq7xymDg+{;1b2OA&Jt5udnGA<` zt8b{cdP2U{6Z);55ODQ`g1_o+z_u;C40XW3Dr<)s9ha~UWbVL3!A{kB2ev_>bl2mW z<4x_r@T`*+c~1y*5`Hvrn9+V)Mc`G&2|F-C=Nl(%!BpBW*n@2eFJn@M1_V4um`jR2 z8Ou*EJ8}Po4!Qh52m3FqUji6W!QHdBY6xMR;0Stu66bCf-h78YVRRH?E2M_nLiJ>6 z4Mh7F$$-j^4DL7HCD~uUjf{gfT@8q3lCFVRg#R>JqX!RG)x#jA3LlnYnut_vbIO|yBn+*iGg^PkWw~SNdkP8;58nD6*xJ!H%zI=-b-v>{X?{6|}H?WyAI!GTA_3 zi`x6wy(Q>p?G);8F!l#N*an!^4yB=IQ)8xAp;-9`Vn_F`@!<2+Xss1yH%Uix%QnXE zFiUX& zS*(3WvQ~MT(&9A^){Mgf57nLK-K9&@G1lT5WP54@ z{LHYb`6d`G&~ba)J$t*w+DF;RydZdcV1Gzv0=8 ztP7qv%=o89w*DNjQU=y{_+Y?VuxwQH^viv0zVK%U`Q0k)W@LT=A`ffob5+({YhoBW>j~V~H%5<*E)IXVnOQ9apnY>eY&pDw^aueR z%K=;LJ643x4&oCIaR8pCSf68$^9Laa&CEy?+U>7hpp+;>HuG!qhtH^{)Pd4fM2!d; zmN^j`DxLIOuj;DUHx#O+*QndA<`WC9DGP2D>mID6%SMXdr`UMbIO(M>U{^*zjQT+c zsbZb@6D-|C2~?Tpc7?w_y|-tx^|tW4Z@c_1bicR9vlCq~fg7v?B7{4@{;+qp`a)86 zK=j0UWgCp;*Z0oxd}{3!@!3w1mF1N+GF9NOwXdnhG8Os{W^vL$qfw*G8pmtMTu zjcjOPhUhRfLb-J<=6r{pBZCY9&X`8$1j@gq*eC>wuu&5W*e-w$4Nf=ZYbUfRK0xxT zR9{hI$1^fhId|kL)MG*xiu^BDs}TB*6?l1K+gXhSY^_xbezkaN`(b|EHK^!vr zhopswIaDn?M4s8WKRfPSB{D>s@N7=?vS@BSb0iBR71J2GlU+_LUSZ7Wyrd+tS*ntI z)2EyuNi?HX#n=#5(;KPKS0eJffOTt$J$0#uRkOGz`fxw%qtLZz7X(ZQEv#U{hTP)I z#671yb(w%vl5OZX89ukFmAo%QO{^3hRjrs90DQRHF z!pYgZ1>(LE3OVUz)4X>g4;%k11)m(ZY(r`S|_;=)jerzyuJCSfDLQamS z7cMGBu^DMCoO5j;+EqAgKMJXUD5UhxtYNhzWjrK(=_mf^h|4gb-sm^RHH|aM_rCfeb_*$Ut~>;;)>mybpr9h~Hd(-{yB4ziIrg z=O-?|#4+bcew=boH1TWTw~`;`4T)dydz#;q{2t}^9ezprCH!5yM|wc;GoW<7gI%L4 z@#w|i3}7%z;$EQ#Y9VDhm;=o6Pv&qqV@AQum}^wjvHchubn#`)`AoTrX=5lS$H!Sw zRY6;Gg({hgsrz7GdL&S0=Vtg^gpOzPhcF7M+>mG#J{n0w(!5@<#5IsHL zkIOq$0)DI2Uw+KEPn4p5&$ggAZD=JN`G@cRes#O=KD{BHSF^dnx1`v2e}4brU21$w z5Y%!nu^-ZnePN)q6>cI>x-J;)-_I=H88pWKEy$^t3j)@sfzo5?;aSRdD8H^@ZcoYR zTLKAa@F1E_gx?QZhlAyB8V{|T)iqeYbLQfBo^Dv(?ojVwdGoB3sF{qNGcx*0TdS-* zU+J4wR=J&*)PQFIoA#%`ApW${z`H&Pvx!NVjp4=5PFA)90@1*`kJ0&1O}{aO!qT|4XS&0ZYN>c#;E<9ujaEg#(i%ANZ$6$!Slzv{q(t^_&J1p ztU?TJoFDH=$YEo#Fn^@W_pOF_XZc?81fnB7LF>=K(pNc};xB(y%O(K});zwFCSOg$ z6Q1C=_V}Wp%46-DY)P z!E&64cjp+O4y-P1sj@tJFsAAgHJJ_6_6UOZiO@n+Jo6{rpFb>M)QR?B*f66`wgeba zkGg-fM?S@IU0s7wFS1h{_T$Wb1!@ppbB2Y66EMuEkLz!g7yEc)`4AH#w7lUnDEZ^? zIk@~^Wz@eaangP=tugACyQ#8`2gEZXDHEX^haETSMfFAw?st$a^9mV`sp|;1%TNjs za{n|ue}#a9Harqq6~9YbIy^LyM&G1bm`6lb=z89Vhp&|Pa6p`{QH**}*6~nXd`L#x zOV#^1sxmSRH|oAFFzrR~+_2%cI_D03i=Z+ilvSPb3e+PLywIN{zH?sNuDEoa7}g+N z#FjcMQgI=lSqpE{=vcNJW0$v|BY~aUPxcmUIfQ;$P1viD_t;vAn%_@MWdz2#PE3QenSVWO!HVKhzc6_cbGeXAa7eALv?m(|1iIbVG%FKbC% zpBn)rM*7M?-;5la7T&jN8X2vf8|u6g2N!q2X%xXJwS^-C_SyNoBNxr3mO%6sNkNer z(jef2ea`8yi^rXfyOj`Qpn^g9pTqCPQAwhh_r83KZtc+Omhd_H4EEggZhl?R9>mRu z-bd1@LfkU9E6>$;b=ZG5E&Wd&n$Z`Win>v>gCbc&TwJzW_5XC|tCaW8^q)TWXhai< z4&@TtTg0n5ZE#l}Yk3O{QxN{9d3Orai*UO4o z6fA!){EjL=eif!-Jymb!_h}WoMcZ3Jxv0>J`Lex3_`vwg@?NMyyOzi!I_wlP(u9G* zAf6iv%xNvM1p$&ypPhN4YF0Bdbtoj0-%8t))qWsOVyW*{@jtAmsG6VRKT-s0k&550 z20cQvl?e&+hxti|oahdPpe;!1+Dy>B=?N-vOwhCMp#a2R3okb9KGS(e<(wOcz9`X* z&=`CEQ0C(yr<_&`ekCB<@Cd-?voJRUfO7$(+9})Z>X+R5ySAzSBmn9$Yma>j!iN96 zN*;mY33Bv8B7~-Z_u2M*h2u?Ec zzI;L1C0Q4LcRTsjvLH$NyGhF06@Q6D<`X&HxT{_&o^E{Xo#f>w$2mK!meGvl|IYjm|2QSB?L+Rmz43i^#C{G!T8FO}Jn z=3>zXc>3{sO>xEA$FhiL}2Ni(IxG=tlu8QNi* zOWLFnM%A?2x98F}X~b*diD`zkN%O8iNDr*JLU*d1fO_4jW{^q}tdKFjXy8Q`5u-*b zs^Rm=1!E=vpGKqZ=PKDm(?9B}8^-wEWX4N6UF4IAD$xTZT2Vcz@&aATO38h3RH`a$ zT-i$^S&9=zRU_8q4N&N-zb@3K&>R|U315rbY#~A!OY9gscW5jJW1SUU$Q$3XqN_Zb zR&mGf3x<3xin2oGps{UcL?PZH>L=s5GQ!EwbTWjynm%) zWq!vOtD*H`GrgDnm*Qu>MnhQ71;lO0Wd=VZagfWwV=0FfW#Kmi)~^}}gK7>W$lv%L zRPz~0g$+h}!GeCC2mO4{IkHXD&%HDNm*mjTkHXl;sWJk#YEF`xwj!xKH=^0J3Q}Kph~El!9K8Qn~%)>a!WWWnlHaGU`SV-^$ZS zfzSHVQ6Sp@YMk(lGUZMbarkI7wR0v?lBE5kExMl0+TJN&(>Nq7NiS3n%m6{Nj2YmZ z_C_AoCakxDrxUSLn<9=6Z13Qg$O;>QZO!g*kN85Ti=qYIJ}P`S7eEnti#e@pe+h^j zxyX3nHJU))BrH826#vb6!AM0RNwPxPQ8x`;^%RIF*2N&6<^AwQ1xKT< zQ9-9-T^8TbUT@16io-)_Da~lbf{P@y&k%uewAZ&;!{u(0T@q<|e=9{qD{fV323N7M zB~6ezofSI4_jCfEO3V{I2@la|eK>D3orwN?m{WplpFg7 z(P-5f9dr>bRi#bV<-XGGRn{qOgiIm^#Jsv1=~JR-MO<7gkxD!A{0ZBF2?K?(1-W>c`Sh z(TiP;v3{OixP-KJmNrLPJ$S@ihs7|GQbkBK!GK!etzQw0r-8WNb3{IcciSHCn=IeA zq_0T4xb!e+#e?O4G$Kmuy*SCPm*ksKmb&dBmsCql4%04Jzleac+F+C;Liq6nzPkygE6-(Y1Y2dc^9c!`dK78s*#a()~u)!;)(u zgM-G2ilF>`BXSLy7~WILHrDN)+XFQ&3i$Eq=5e3#G1LV?Qq>&WGp8#FBK!Nj%x6~o zoSI`FyCKHQnjF*|Lt7wLbt+x{%R&yG2kLi&k9*D1R>&95$sX86u+;ugLrG)J5q#S} zMgWK4vN3MvU_rWi=#go?VJ!D21SMUS!Kq9Nv<3TyTbm2lkz-b&866J_y+3oiMxNOU ziJ0^A&FEytd+n@Q(FikMo&D+5=$zDL=aRf7<2*9C3i{`C`4hvg=vizJqnTMd>l^I} zly8_-w&Zf{c-}e~6JJv8*@F0)KsaFSiFXd*an1TDp2M@MbcfHnw5oKEk2S&0&)|Op zr8~^69}!tyx~tmirdNbLGCsnacw_Hz+CwEi`CyqDe35d0hLy2T?4l7Gz zO6?&>qG_+2s zuMp}N1z0!J15xDv76lL1xFTUZ>bA}82@ev#s@?edYL0^7p94tV)Oz<$Ki}^u3BHVJe7{ewcSphSHzalBoqXT#Q|sM~)OxqyU;by~0a0kE^=_T7WRKE^P4-3Bb0ztd z?92v?V5YonEU&~5No0RR?XeoNh0m|Dwm0t2i|j=ow$@kpmSmjO8_rHGcw5@$XJi-6 z@o^es*4fodx{GcsXdRH6@68q(*`qCz#Lo{}8?+|O2MQ{FWT2fF@0AQ|(P3E%BQp>- zg)eIVq5Z+y6?1+DtDe^1+{I^G{Y~G;NYJtVW~k(Cr@y(7u%!OxGt z5YyyMJgXRU-j29$Y=VCMsH?x(_5XM~6ZojA>+xqu1_CC&uxUWRs6mNJB`Qh;G-DE& zk%`1Al~z)*LB(1tg&D!J1tueTJVvofYpq*dTDw@O3t|yW07-BSxS?1;MSbJA+X4|K z|L?i?y_v~^+F$M8k7VAv@7{B_v)yygJ=aaM#=ga)YUBb2*UC-s8r{5rwcX%aa-)El zxvxqVE9(VWTo#F$nBP9E$i-4W_HI5}xsOPennrBaq*}T6X(&DUzL>`ZejH=3l`Jvu z@opO~_}xnf<=+7QP2}H2{JWfgTo=-I zE&mqt&*IjyZmhlCEsV(6L$EVtgnCJ= zgud~A!=3E6SYxZBcw%eEtaYXk=60Szt>>`ZAj%${EVb0h=A`|XwV1r3dJhqs9c$=X zlF7XPC!s;I3o*oFFOfWTgJr*0b|Bb9-h~TS4cXGSD2L7gy6k|Q6|}}q<5_knQtgKnaljuk%MGkpST+z#Fg||7vlt(TBNFubYl1cCONkt+x904d)@du_ zvmmT^a#WTa2)_ZVh_K)vAu`z1a&fk<0h=s0-}kB$Fc zMl&`xASLxk*vILjk}doi){)`ro7z~k4@m=bg#uIqGkNF6_U6Q+g^(O`Vku{gBt%F7 z6;XwE3whOHO^(&-upkU{O+N8U3qYR@1d|o?!6;|ciM)$%;g4!-cU9eGLGx!^W=Pcb zJ<`{dVR4vzD8O1)N&zt$j&gqU<+m$aB8}|Q%C)nY{MK5TTl@UoaJdFt$@KOw+3MWQ3KnP@c=)F-Llhuk2M^u4+HrQ{Kk)PC{Pm+) z4&>C)1N^FN>r>end}Wms;z|>8o#~G&`qt1`;&MSYYP_5cZ87V*tMSLx^H&l>Bir1t z_eEdkl)@Z5rz@-l9IKh%65Tu}*H`kwf*~j^oI7W&u&7N=pv=o{s%Q~=y6;K(TNXR@ ztdbq`21w(_jm}gtKia_ySUH8n(DHED`!KEs&6aQsI3hPhP{Kj7xNhzi+1D0!W8Vx*8w7kKB}RyI+TEOlvuMR?rGd$o zms)uIiH87t3uZ-wzlM-u62Kt5(jVjeWvp^_FjmoQ7c&dkLmGTVFUSy_P~9x9YzV_y`0l$K%?s$Jiec6amMg@3*V=3F6qHk@vKKs)bj3>A z?0=DricO%1F9jJMmp=jH>}R=sC{XeeNA=%=Zv_qio5UzC^p|X!*-wyr$X#+Iw#{DU zl=hFE4(<8Y$zP7=e^PEF4mj$gW;R9{<&+isO(z4s4F=z4~u&VK)*&g~Klemlt ztcOD9NDs~RZ7<^gz@^mnftr8epIs}oXx+i58bAW>YKmj@`zq9*zilCdzXyyuIXfEv z4K1LXab>NvVgfLUS>kIzD}+J&&DeA`nyhV2il||! zL@*YW4|elo3elGPiWsU(>#Y@%if${t7JSR05enf-B=<6c$@tbLF>a`&%~5GQX_V_N zY134i!Z{D`O%=;%az;}{z5F;M0s1XOg1ci;^Ly#dPCLPraBLUvyHXE-{M~rSG_&yN z=zlH;ApNoGVL=Z!D9duq* zo@Arp@y6R|yh zuE2mWPLrs)1Lc#KnUUYy+hq}0Ph@0t%P2Q0-Xxx)M;^^^eYtV=n_y3pOvc|Sr4{C> zyHTN(ek8e+GR3778thQXMytBsUxNu)6Uk-2OCiQNlqCN4SE0cYggAzE!Wb=AG~+1dO7&__FG7R% zEstn=DSF1Nt}j2~K1r0WJG8P}(TZZbQy+#_o=DQl5Gfs0X*_9Kky9x4D3zvYMXrW9 z7_FRtYidYNzk_FJuxMD~t6ziwj(j@L-&J&;IyiSFPZ?FEdES z%4Gqfm5ExxnfAk63{S}d7Qrtnt)kx1DiXy>k-My&RuS3%RcK&je_N=3WIqTVr%iFS zeBB<8f}>pfcnv>EyuMB0wPM$RPi};j*h|j1v@Hu`*rHI7N~cOA-$nkqad0YDrRfEHa=y9&2^u;}Hkx zJAs1_g2zANTxJJ6ZllfVcznKO`JdqN)yHON{Ys&+QLzmyUUOy&i-#&LSWqxc0dzX9 z6{a3gwEgo3WwSnIuSmyVM?bpMf!dz`H!7sX%TDP>56hcXQNVOhW`Gs<63$;~%|{HN zCjE*R)Fk2C@4!GY*9mW5L-R6V@Y_&;LKB*z!U849y!~f9fw4-nx%szXgjGf`8hGMS z00Lp;yQ40k9&_T6OE_y(YJ8C7a8@Ek)TJ8JheWx0==79|hyv1PPwt{IBC9@urHOoy zD&^Q7AwEP=Q0_5!BkH5|k+lLP!?>X*KXKWBls@LrM>9H&BzZfOa+TctAu+S?EqYYa z?YK`}0Dt{;6j|3#`Wqu=Tde=)UTA$asRl7*WQHo3ixRjzcqyN!y~O%_IdE{`Ruq!CqaWO}}(mh}Qc z8y4bn2G$>$TaeMD>XL?pd!x ztKVx+(Ep`pPUs*S-Hk_!lwzpb;(`~xClv3hRFCwpEq=B<8mkV)20qTipK}Srv}&BA zj5fY2j7jMlY5Hi*1Hzkr4?oiS=%5Z=8TOs&qc0wnqQJ+NGx7Tfe!rY{`!;nih%XVo zv**vP&0k7~vQ!EykHtI$YPzFC?efO9?Wuo}ImP~4 zvCCJ~-I`<<^`#Zz9s~exZ3|yupG;f%uI%QKk}09H?E)u-Nob3d^azcx4<%)_Oj4q- zNp=oguaec6H`)?;t0kv8E2+P_ol5im>8w9E{P!KXv|0N%JL^+ZnOW3ONU#l8kC1gK z2ba`3UK~epGgHVT#tS(Bom13Uyp^5CJJ%O&F=IlAK5KTi=1wA?WoxAI-EJk%&l@C^ zeEad8GzwLSs2Z84a+sS<(2pI8b*c4urqABspj8aHMMN7&~D~6}ug#bS;zNGdEcdQ);vO z(2lbmjxAkVui6#Drt`_(7GGvL%93iJ!>Xl!sm>9)&+Xqi%rMJlghG7{^_Q2Zo*K~~ z@S-%d%+CFchXwH^0IcN5DcVOMu?FML#-e6jXNoo97c2ASw@TU8(pCfs3=+s3!wNH9 z;uUXg<21^Lmaa@d$7K;KYjQa|xUBWXg%gYhibRFb>#Ikk_rslP@pEFs- z4W1^SNxLM3$EGaYdoAyf)6y8NY!i36HubGlMD&7Q&L)}&CvXt$>y0r67uCA?tPHmN z<;C(IaXmu=-z&Cqhw;c3)^VKYX&35BosTLRgnd_ZH67t%OZY>%eF?Ck0{i#Wxp!N| zfHtnWEg%bU=jKjuL865msA#ci_O<`X4K?W-w4HMpcy4A|q_`$|R61MW4s&czPw zzI#uftGC@0Q{(+O-XXWPyyTTw>h7ve_SLG@`SaO|*l{o8U$k*Dy&NoVgPM;8n&h0V z9+1yyP|&)1lscO74ln4DG8#tRv+B!?e8te8R9~tKIOjgh&(6Ap5+>Hb%_N(#=EW%W z(P#OaL8TB&3y<(7Nr86dGb#>*Y}dESl{?o?qWp48m0%}*rq6>yrLy@w+$d5ptZ195 zUQ+*r9Uk%KZ^TA4Y&pz;LFu$DLX zlq5mO_3Zo5I%LSw)OEY%9?UYy|MY&M!lEX+4Hhl!k#*;oJVV`jO%#1B?FysZIKpg0 z%-SjVztf&ET-avl7tG*uv#HnFDU6Mr=wz6f%23!Y!wF7?@97LxK$v??I)njEhFqQD zBr^PRPI`vVcjz{JaH491L@nQvsv^1lw){L$Vow+UW_FQwQx|EEkd{*KJIYh+{et%w z1g*;_%bw9xxj9zEo)_kgYZLyO@aIyY!^{0v?Ja7AD_V#P&5f|Leo_gWohnP2sGwXB z`#52?RtI9`g;NvL82EfTiPJP9IAdK;{wDg8I5aJ>7m3ANE6|xwJ&EP>jbxsqO44mE{|dz7kW4p|A#;kUvqc4V})xCw=&IcSa|oC(2>D;g*w_tnZC z0hj*}FWJ6`Dy2WivLMl&Gs{Ym%MwPM*a&0JRN+hq34XM22!X8>7LAdO>01WuG7U=> zm4^ZW$lWKCM-c6GR6tCa2`+WzNB-m|o=D9=`~A+e@vr(HjQ{xE?GIb5yKmM_OxK02vVM?Q{LV?`V_UP2vYLz{ceP4>j0s-h}H@*MfXuU~$fBDM0vf0|g+1DK^I zC+ROH_YYC0Uzi<;V2!U5ggnA;&6y+VedPG!spB-7I_C|nvdNN%fR#EA-Q1%b@^i>n z+#ruBe>4GtFdMIm7!;W*Dc!5%J1Zn}x<{DaUr_fyNuFR@dpI_#3+76D?xiR#2oH_S z4SGUcv!EL!jaJZAqZjH-&LIiLOf~VfeR4)I&7P(F8QK41ygKY}a329exc&q!guz;g zhKV>B*IhJdqEKLh`BEB+xskZ_h1uMPgIkXGdo#gi33cOO^FO^Z6`NRnt{}G99%Ds= zZ>dqo%JVZm5TK34N%j2&>+2_NTrH(othwzAns57yKKIAYpT@o9#&yVkPEDMMm()|n z;pF8UI83e0-2CQL__S1rnzGagm~T*XZR@e&VD0>k=##&cbqMGD=NeJvQ%3|0 zvu&LKwr{vygzyf=)u@xe6XF4}^4R#jd~@4FKptR)9;t0T)2I_ixY|~t9K0eA3cB(I z2l`Rk{z66Fh8t1Y667(HM>#6xS9PL!{CXR1I7P<^7VBD{<13-Xjk*s-EV1((&!!zI zoLx?*D$RfEPGQX;LP(Qm%zO@@lHXUKRVc@g-7zbh7A&!^d9Bj?sM7Nh=f#M6os}A~ zJ&f3|XE-Ak{$u<%d}BSyQK(}t4~+&+R$?0dudQr=bfid6SG2LeNjm*EF zk=!V~Zp}5KVxsib=cvjPC#6~|{`3OxXAZo64*W~5n&I12UYI4dc%=u-6G5b?C7J`n zjqd~p9Df}7ss`jWnKmN$xb?W5oIoez*KAAc68OegwRyE%*yK0vX*MDklfrDRJ49wJHvcJB(3vm8{~GL)-^n8Cg^Z;Y zPZ0t`MR34af`w*B`~Ev~VywcGuTflxK2*WWsClJukm>%&oEi9;%g&@4)u^~z*S0no zknhh z6b*|1HVOO(8u+XkodF-}0RG2NJ<#cWHeOPFuDCVXXC0(Mdj38WAR2a`nz~*b-W+TQTIK$pM%^- zxcvlll_PU8@8tmYtrdxsF3i4S0%e=zXgO_xhi*H17k>43j}mQUli8E!0zk^XLD9xQ z?1I8x!IJl{IX!45f}TXMBw;L;l`4@O(Fuw6hF{SR>fZlThiiq3iMTI-D$RET=09WS zeO~)T@$87P3T`k`C}UAk#-f4?N>UnhQ<+*+a2MJX zvusMhT97Br>uHw_R17MQ6s2(Xw2O7hR8pqvJV)x3>7+nfQYu%cRFUG>Dfy$Z(fgscSFLXk*0Y`#K&Lw89zAUg#7Iwl~;&`iUit?JO_k^30pyB}ym>vqp3vEH9AMX^0Xs*YVlse#O2WuA06pbdTEns+Hu9%VOZw^@swIDv=h(}r_Q0;p5?avrz9rs z`z18~Xa23?UncZYu4tx%|96#`j>Ck9!eu|jC^%dt)5>koXet@@pN{~61ht>nV>+o> z56RhwWwKNl+azs?4K3d*(#f~9d@vEqLbH?WpD{y2gSaDll=yeUWYy>J`-va8^eaM{ z1(&QaumnZ9`O8=vxA=a0(#g!_j0~6TK95B1)%MF z8ISaLs`{wIhxh4MifIUck^7s>FMwpo2$)UP@n2&#(e2aU_o>aoP1W(|kkzTeuKiuF ze~0MBW~r#9hX<{dw+J*0Cf$QtmVn&vWz8$E{gYlQ~{V&UC z1D@gJ_*E*$A9ap7Du)Pl-HsWl98sO4O63szH0or-R9btE%4I~CN*7|@i*!zZVy@kA zliYKtdl(&}rgKjyhdifC9vz)(E}eqWk$5zT0)8%?&?$Ltiehw<=K!%uR36P9N%_D{ zp;5Zj>pBH{ummzOcgj4p6}Sd(HNT5KXpzR6D@vtNX3Wn|(2Q28pO}b0aQ;}MNO{p2 zMKN)(Gm0kF8b#I1jiO8MGK#KRX%vMUj3T*4#(T>VG6le^ApDf~CyRNDa1(PbkzJzd z6E}Nj<5)5RFq}mD1g$ZTU)%q<1l1U!no_yTZ;g^2Wc#k`Q3otJ4_EW$7B4wwFoIF_XZVatEtEd*rN-SGg6V-$wTkjMKU&{m`F0(@D#sMfvZIB zKQEDV%DeQe#w+Gs;pE3oubxIAXdQZP3!Ul`jYRK`<^C2JL5pLfxfe=atHko3%KmY6 z2!tMa^=8q>eQmpF;mDuzVm_^2JJdG`7=CL6jq9smmVZ_UP(mQn(e=IGVCM}C; zr#x$|G*Bk=d5jOl{-MnQbLKud^EVmBB? zD_9=#b9><*OkY=yQ z{Ctm5SIh@Ew2w=*X9riG;i<*Z_nziiK90YGNZ}H814F0!L1ht_vMOJ+dK+ziaNUPH z$P(t>*wy=ZS4cMy{PbJrW%D61L`n|;dCy%SqX3z;g?jNiQN2R@Yh@VyjxW23i=z3c zEIa&>`IF(PI2fCiw;6S^Ql?aI8vW$2d4}^zLvH6$Z~m^4)L`tYm5CEv`ic2H(T3I2 zNH_e=o@eke###rEH>%y`(KL()9DHtN#g5x%bfpl#oXm(-OyzgAf3+|q&6F^?=)(0qtiT@V ze*6;t&j@34w5Ao}b+{W-Y@{`Nc8(mJjqc`rTep>{8f@FV}F}0`Z&IN^YII;Q>P?3M1m77 zL#D;!nu`Px9Jg8}c>m<440H4R#!VUFrbOKoh07v}XQ>pHMn0o=1q=7y6{YfLg#0Ox zKY4+siYkT^lV$~UCe$&%7Q7f?Rovzy{JK?<$4^$JIX~N~$mbF4#@lLxMrPhc=2Y%)mGqiwygPnhB3(9Oo?Np zz;P7l_9JODc(5nrMIa`GA*}*P5XmW_A_}GAnD;Ne=uSyvXd=%iW$WiMp37uRNI#wD z<7Bsh=M(&+bJz4?@FekWw%K)JY-9tj_rxm-nqL$*v~7uRrXTEU$?ImZ;Juo|?$;y9 zM7v4e@8#V-C6cb*IQlmGjWU{wpv?V|g;^P)h3JV%l(r{3S|J0gk^B`mC5h4--IOFs zKjfw)QTi^Gl3eX~SmBo`WNs?cxU790I_o3(s~JY^go1M~m@G?d_HB4p$8r~D+aJ{eg4;l9sB&2o09Bvi<^?{ z^Ex*r+2_Bi6ra`I%*14oWtL^}lgDNxKLutPt})}P*qf~4wUmv1e#*_Va<1nb=g08j zhcdZ2p)8x<7JgB&t{lbz(h+R&k5U$^^sPkKo|Cj6a-KoSPcw`JTp@xUnYd5kMO5T{ z(2QmC1AiQeKA=T^OpE>%TJ+zpMgM&w`q2lbsvqU~k8WNIseWl_Qq{U4C+hABmHVxW z>Hqf7Xt@MKc{bJx4adAYf1t@B=Dl6KQLItcgi~dwjhiTh|o6k(K}5VNPUQ;vP7%l@ks)br2LWHg>}#Y`a9wCWe$1zC|tL zW{^ZEJ$u41^cnTI{$vV>R-;`BUvg2tRG|ttRn@o&pKBY1fd^M#l;-k zWt3h_{0KgY+n8~^?22=l04gz(Jf~6drsaYfC|8W-Xet$!74x>@0wBs2S5%ml_gevh zX+$THHSu#G=K@(47j5|9sNRfFRnZ5hjUq@M_*?*cU&$3vIw*1l%v`WCotYEY?*g~l z#k$%KsBtF;%=J>HC2k|t?JE|v^Vf6r+y6Db=Qut2R`~w$`EI8kn5D+DL#NiuS!fjc z&iMW)C7FV2bTLNzWp!-Y!S{>#`YrI?PqzPm_G`)5zQ6eWPWWC+ z(%0ep)K9+|->>GN^M8cz6R1?-+E+aJnX^aZC)?fhp%=_))|~2SByF? zE_R|9UKy~?#e8{fc1F0LNHxiQ2x%_EsU5o?i%AAI5W!Ul4T3t40;+h=lT|Vl`5^v$ z905Abg$i2_Em#~tS99FmkrA=nsFaL($2rAfBOjDJN22Bl-2Y)YsU^&pDXw z$STyAyFfruVcx0)K+JoO&IuY1mS(sr%rd^FBc}May7*=X_GYe1U+BvX8(b4MU2zTACEg z9YP<1R&mf86`3mw`PbBfw2XC7LntRQC!2teK~8kY6&(%MgaT`{zlKdnQz^}|U^LeX zbM>2#3ad3^va|~Yg4SiD)Pi%TLd6TXMliY+J}eA4bRH4+#Q)ul4&zlUwy}{Lu*o&*pS}_BAFW*#y$JwAbv*1tdptpln!-TE2M*B6qTAQ z&0UF}Nf`90l0oZ3F*%@43%Lu(F;XfCq;@_B&pz_;ubxto|yx%$I7yP9?gG z?muhr3@VAVX3oY5+xuL1L5x%JOx2&oIkZ4rH&674Kl*}00PCxr=gsI99z@kE?_=k1 zpfvpsFf!JEmu^ZzEaC+usb;;en-y6r!v^%VG83U`Y@SK9t!7q}e?H(Gc;}hdlP`oNS-ct*_7_W@MPk@rimqQ9ax0IY)AH&yqyAF(bC_!pnT(?Gyd>f_~el-!|*F23>B0 zek;{)YxSF7zdfekR_eFE>$lasDO`$7mZ#p4>H24m{;AhLxA23P(*69%f6VScDXvd# zj6bhiyZt!)8_dr|i?+u83v-KoINyWj$b2cmJ`EeqgCE%?GdtKTy|l(YPcG&1@>Nwj za;5ww+@k_x?-h7WKLV;GI>*SVaT`akEH`X{H?zf;nzvCAdf2FccS{f>W{HTH7JxRi{3Yw%yB ztTP$opA+Agk+*1YKFJl5T#nOMsymLoTFy(zcH_8}VnZl2A-JNQd` zUyu*oz7Br01N@Qc@TqTjhxef!-p8hwciS^rs-0V@#%~%K%)vkAFYP%?KFpL42OGby z&g!Cn*;4ET4KH88>!aa)j4{YQ`s?65+5w)XzsIE9>p_M8&yWL}-zY!U*xThxi+pif z*pA*~-t#)ZQ}{An3Rx5aU+TzU4ql+4O_UFd<-@`H`&;(VJI!al6dSGK$+J1Q4}WQ0 z8&(+mk3}86iZA{?R%DIbMPkq0`Ecj@RocySo`8^&v$Cy94YoY4X;+g`=y3= zv3&T|*TMU0Y#Kc9YeiS^^99Uk4Zl#qAEM#6VYRVO{yO-vuHZFGvBWv5|J!&r2X7Vg z5B--9Z^?&)_5Z6WY3+6KdyW+Qorbqe!MjewyI4N_>g(V=nhuZtKhWX*z7FrVt9O(v zr7se%n%i}wZEHkO7!!A5=2|ue`-kY;%7)Mo8ZQBMno4DRCBvMY-BijJri8imH}2wI zs#8l@j)>*eB#+9hipb>ux&zufQ3ow$3_ zTQRhIsukLRa)G$OAG8@`XhxgZTG;4DSTuwNsCFE%|8{A2%n#u_T513JGB!-4O}`&4 zZTeW+^r2i)-`#XmQtyd>8rsr_Sp{@bVft!BkcjR2y?L!c$Mb!xN+Dw6H@^n+oJ<~UxP7%%+9giTQ3#Ikf$IQ zqwZDCZOWcOf5|2UT&;=`N89`~K|GDkiF5#a^vT~JDgc;i0q|=8;K9-&Hrsrv7C4+& zvHNQ{xdNwHOcNC?i6TBEo1;M;3Mh#pq|Aocw>~xM%7KXEbtU87472h2i<;$s3}<5k zu}L1OEHz}@zfKS&?zxr4TjR%EXusEQtlP|$2VCwbm)S?wbM_|uIvz#RNOL_GrjobO z-xw$F7JqSLC4h^4OMBOC4ILkd`M6l>c@6Ic1pSc0?i?3yFeg15nh0Y}^dx>b=lVz%<~NkUPn<&vmRyk? zwu2>syzpE8k{{-W--yS-3-ZSo34WCPJUjgT%93;Q!ofhvkMqOh;=+OWEE5`y@r+MK zw&2i=_cO8eg@*E;hm%l)eX&mHM*@6thdoif8&Q)&kb?g-WQf>qxDik8Pu!#s53odA zXs{+dYt&tibBXFnsHW2Vd3L3FE`TdR;)<5|VhZa1RI+yxITO}63%qq3^LAV{W@oZ7 zTXg~`ryH|gzpqo3#=n9}luOPtj25J0-}4@>_vW~47@z$c{Y>5STkNI0&|BIkO(9Eu zz&y7gpf8Hxc$7FkWiSQYU~-x-GCs#syqzfFJ&nb;Qbh&9pnS1$ZDZRoKNw4v2yHTf zLK<^<7Q`MGJMrH@kO4YwWDit?xSrd>fD(`aQ)jPG*^#2}+MoOw1EhI1cThD5+9u9V zAv`fn!4wxyk1#cD3D&z(7_;ViTbuP%}PcS>r=$(a2LJxmaR<<;N8=Q#W{)tg{ z3_Y3{>sK0}{MnIteTQX)-af}F?~8nC2%T%J!sXx#h2BM9`1v1hH(C&1^G|aN&4-3w z@i%@1=06X;z2NtJ%5AYykZh%O1anXHbnw4;D>qj5g(tKqVs?vd;u=^1e3~5l4sj`W zlgHurxH1dXo1gg`-_O*T3qRG(p_C9}v%mNg;2L!= z!OQiL@~0J7Pr-M10BnQyD`xSjVg>MvB>eaav96lo22o#PBQHONU7xu@LB8C`>tW{|4YBdI%Yp$itg)Q#k$K&R z!3xBiPOgwO38OLwE+`{rL}hN{SEx_(TNp`vM$ua&m`0CIQCU*3icoC%$>W z+?*82qUNT^t+W5zu(YsLuL`w00r2%9bM7Ad0uJ4RWJY^al9@Xvg!beXq!)#__y1A^ za|l0b!p-bQD56Vgn0(bzabLAa=+{L9hj*I$jk>F-Nl@g7fb~mw>qo${AJTxhgGvGV z9$IaCXpX%9vw|k_UgtFGjuch{o+)VX@k;YmdzyxpQwiytuO*I0^dBq2+Uc&jLpQA& zU?M-G2lT zsj-B6i;6c$e^2)JNf*&md_4uBA;p1X7F7EJ@Wa7 zDSU6IKeU(6NqP#@%*w-Mwvr#9}>;jQrij3|NG$*Y# zCv6N(VwiOJcU;Pv|N?u>7> z$XOYozq{b(s%)Y6Tu@i)_g8sWU@p?{tOs->dj$}Id@K;pVVpkA@v5b3q<{3fvgGpY zFqacwofqyED4CeAcPXR~F>n6&()0x|zR9I66oyHwK|_l{469KUjr4N#g{$+p!-fkK z5S?5(2pD4K*v-U;pk7AfWBUpH49DAPujE-oe7X4+*F1u@0dr!$+sHtZ+A#1njaLHR z7dbnJOEvdsL4Ottc{KX;piXXodrDu`q*R)-rK^b-JMxQ4sY$Vzb^F^NuhaWcTKR`` zI-d8bQd$_&>(7Esj=nEJ(Q&UQNF|h3&Gc)wTl5+c-GtIk5w$pJPwq-SKyS#~PutO3 zXL%rDcA&SzA&?P)*!ZM8?jR2kHlK0nlE1h;y>*ravaSH$VH)1KNq8OP0q|Z|`gOWK z>_^LCER>?74t@=S;A9bFBkU=B{*j%Oa&I4!2W(!+p1KIwWe&5DB&cA!?Df%6k%-4d} zB?aQ4AO?;O#)K4nvA2k@>4%VV{dw4rKT@RSHvd)qkJQw9|c`tl7XV<`JXSL3)M7~__tml@X=SXOB8_JRil6r_?N_MhH(03oa}bB{#23$NsA#(le?-Gg9!u$EO3u?ciJU!3Ka!&K5`C z2^O~qj!)1yequldcX_~EFXJix)G2t3r@y!ze#;V6v}nX0TCN^X){sJjr)U}k-o$SY zPgVun6}bc@?5kFvFi-VBx4#^yqLhSw%&u3Zi2J7ko~A^uo`35ssni#cvyF10)4TTL zZzvLYha@_UKgmb-A9T`Il3<{6C^VdB->4JU2CRz<#Ai;2>PSDC?e3SP;k%&vFx(X! zRBvw&gfNgXT$|(C++Kkw2;}d#j)X{!Ix%DsX)+secfAOh;;k%^zYnU*GUk+F8R4PI z3o?b`a=%tJUVQ19LLnjetHm%C^n4DuoOFJGOqS1n;%5hOJ93O+oIX9DGXUWR3}R9O zcahM`MAghVC)TgnU-DwOIao3}yopv6(~5Pe1`v<8f`XXq&~*GY&Hj?7jb+nW*3$oU zJ5!Q>CGE3fA59w%6aole#sjlq3rz5t_Cq7yL+;S5>}qHR#$}cMwd2wJt;geVJsuPC z2r&;r$hfq)={Nu?l0jI31(7>)ij=X1|`kEr5UA#j?ZFZr4Z{b}ihF8Zs+ua3nW za(@@&srx%iC;W%~Rj@|sqTi~&5->=az-oNiT=i+h8e}f4q7MCtj)G?-wqCZp)2Gn< zWcRWYf#visbY*J%bzlDYit60k?gX%YPffscDdd1Yi6|ueZDneKpSxX;0&^18Kj^ zs3{y^(+sCx@Z=%{tYCqnaj|NGqUCB8&7~^5Lf?rVm+A59K)Z8ZR>QU1rQPZJ{Uut} zoWZSznuMF}DxLm>OTrK9GeGC&Ra)a1c*PYHccgl+_Fo+Q#!#cg!81l|1x?nto!;i? z_hrVx?cJ`C$wlcBVOZ|^jmcO2zLzek_Jt24Odq#b){y|eSNPsTs3*xk6pr5fQagNa zwj(;BBfhs|@rl1{c#i?O1HAGiJk5Vz)hO1!_&uzTy`TKDpyRwd40L_-jAiMVH?++nGAyTa14v{@T1%%Zq?kOc3E2|oT-J%jEQ_j}CH5Is8z%BC7Lj@AXaf?Ls{Tl^^betP zff5R!fnxY<5q>*Lj@bvTspvX0z@|9`Sj^fct;X2EgE~jTu1kYmwp%R5`yj^fGg$4L zX@j7iU-%>UB$sTOce7Q-)^25s>Ek$eb3#ITA3E6Cl4cY;4z?y>Q4M;^pj+c}syD1= zUfMd{e~~m^evAFYe4jGpsX5bkXz767a)%bK`rL|gXi%)gEa8ft;eXj5!@}@`l)cQc zzd4pQmYnObpJQM6oZJ1>hFb*|`fa#Kiv=!Vz7}9b7VvBd6u&02X{2M(!#*e$J=ln{ zXRA8X)?c3m+U>Um^?qAW%-CwbEhzhKY4*Hdxa|vIdr>Q^_UkX~6|BDwli5)FcQv!s zE($@7JFJ$Bx)Z@y#ZqOP1Pc?wi3JI39y!wNX%hRvpcH{unqOk^!*->RPfibDA3{Uh zW1swjqDr;pDQl>s^}B45DnnWy{k{%lfrPfp@eFlUOQ^e8)Hv1IG`;|EAU47=G6yFB zP82OWAJis}=C)(?yg5|Sv`NUm8yP%{#n?mNCaWNA5=h!~?_oplshu_@R-%=lnfPUCwbPMw8(=o#FaqhPzW4DEM>vY;pov zQEP$BhFO-Uu9?D<((!3YA%nBtWzVH#ud$+0QL9lV?&e8>oaCRZ?r8IQ%A3p?qx@6y|XU!y(wK0;2~NhTlsJkY7%lwaXAPD6f3ZoW=!NA0$3X zLF`cf_ucx5Inq@FI@G@a26j=lYQVeySp!^!Bw4@m|Itxn6*Cfcr{hN>kJPHYBoR8g zL;cqt%5~U`x0d+y5e*fGhSFE2YuRlYs+uC6(cox&ip3*Gq|G!9+A;y`?G0c=$H=eUts9= zUnF0{Z@V2Z+IOJ9=>W)vWnDZWSR3Hs6f~zN+uu*O|7Et^HD(+CVf!`yU8x*par!yZ zU$Q?`jw9II!`SN_nA9)9es#k3OyVmCO1@-ptz-PiHsU70<&N@O>{OluQ)&pkEQHdM zAOOwa(}B^}7u%8Y(AAjOR?r2(q^$>ZdnT&(xb)zoJ&FFb=kN~gp)r-CkNuj)Ab+GW zTatBl!oLg72Ni?_7r=zX#;i$j21-n7!d?1%*VlF-C}lu_y~JW%@(lLm3VuSRn*LM< zc4dkKYViu0vcNLQdx+oUXf4AdTUKn5#JmIPkUX=sCdi{)1|4Ee$FF4j7P{@zB-*}# z4t}NDw}7fIf|j2Nzw>`>;I;h@+Q78=QuIqCBpJd9%0}l7;aC`ZYQ7YE+CxAGAxW0l z$pL(a$Vv>Lp$AaqV3_)d(%0TIFQ80lUpJ&peN~H*8X^%P6sy4ZqzrBVJKf(>)5-WM z2QI{OT7wR$v_(&UoT8%Nd_k2f#>HtOD8?QDjtn&iMTUb%w+{|)32L? z@;-VB)Pak(0yTv|R_)R7#tOWWjL=9G;OZLze%`w)fLedx`~zL&A{9ah9SKRjKwhOG zXaR6c(3}C=hxAmV;hui92E16;2u>u9#!FxbB4CTu5cB@3m>;DaJj)S(eIVF5Sm4s5 zu5XO0k1>G|i39n6s!hshW&pPmPl?cH8}YcpBEdGp0sCSMJHWfV0|OxQ zP->LmPBHJ>C%M!0G6$s9x+zUqx4p^4?laWHKAz0^oXV*})!fE6YKu$Eb`*Dq>zAN~ zF6IkE?X`M*`m>_br0&u4Y zxV+^_c>60ypDFOzQ*fncNf+=mgz)JB92{bUKRQ(F>W(aJKQ7{ADw0IESHXYw8{rG8 zDE&pt+YsyYpg0Z0hAyS9l$y;nOzC=BwZFBR*dKM8*fwUUm9RKWY?Cvw;wUIrp%!n) z1H~xckvJFnJBMjHj|$1&2QL6ke_3-}`b!+o_hSA1v*GUd?#b^Idofo{Bor^i>Z;Geki%vW6h zDpwx9$_V4&p|$yVvIiaJ2Og*3jd0;k^`Y*lsl%m!(E>^-%jHj z{KboX)!eI)iWw`)QDk%Tdu196c<2V{wCWS_K=9p)^2ttGj1p zDK~`J1fsA@YaF^O!^X7c5T-UirGLo$;$a7Qj42Eqoum)Ezk_Bv0pd&|8siI4-5fy3 z3K^hXCuVr~1e_eZCEL%HE@orxn>%Y8pA_fE z+SY+HKj4;)n{`pMxo~IJlm6I+o-qSvheaM>gK-ksU>h@V=Ewfn*=_zJbgF$>^DpKv zp$g=lm{7xV5%U(?{{{T}c=joXN_O8W}1x6nDW)oHx>N^R?a*+VIoj*+x?0T-cc z^0@h=g9-8KEW*ctz?XIV1w$jPS>bB}=BN0UvKxnKwzRg5miMOqK+E*>ZtVnN&I`fWtqArmw3jcHVw}aF3`OcziwRQES$$ zegfj=Mm1tLH)P{>$+Q4JEBta?ZZ}Au4(*>L@*(a1%@8B6n9$F~s5`OLUo*SBGu*%BK#>V)Op2jV$=7jR(O5C|Dvz8&&=P#kBf!2kk(X9*mg59PB zpd_B!7oIRiy#(=)sy9T|bN;j67QcDnD10oetS$K4Y?1Qm+OE)x%MWF*eX`;7_U_GCIc#aFUto`kcR(?cW?5xsQ}#ejW{qJXlgTWY41TeBu}-w1gK9cx^77GL&6 z#H^ZaL{H`=vPSOg%?S03tjXh{Ei}6+A_w&)(Fw-zi(fdw7m$nj)%x(5NXQO_DNJnTiv267g)>OlHhtJS09HflRou z5ZC6X89+HF!2Nb#%1lWtyMn)kz)ZEHGAQKyTvcpvT!hBe!g76kqe)9qrb-~p5 zr-iuq<|*iM?DyT59Q(+c1{v9b;b%S_X`fDB&3p)%1?I$vV$ApA?9h4=swMO2P zA|YvSP?WfB+akM_3<&* zZ=@Jq9w01ai2`liAoX|M@!v>wo%){AHwnOLsp2Fe`RdJC{iRs zTSoYD&W}8iajd30EN#iQDgBDIiJc8kWPeyKPq@@^74mOifw4py5HRl9I1?v8ED|F8 ze31pE2=wkeO2G$-TT8*jQ&M4iHG#Drx55GG6_%=Ex9nKgX3d)=O&a7h>28#MVz@(n6ARXTK}P#0 zJ3Oqw7QkG_7bK2y>6Os&;nO1HM-g7%?*Ult91mrhLru6fa`#+lckH~qwO@3b^(w+X z{Ay(Ush%b>0}sO^uE)yjKW#mzrL*<1Xw zlNf17p5(d(>wZlcEmHL-{8u91Bt>-VKGA?2?cz-W=Bo>dI*gfnMnN=pS{wjePSvbXOM8o8b ztl3CHMtHEED*rJ53H}2AqSjUt*;8Z6YPw4X+1w>d`iW%ZPKmDa>-=VblNh&GZ2nRzwkKg^r|ahGRs6Jetfxl__;_g~%s zTYkk$WbO!0n1xaQ)502O~PK1mz zLaUsy4xQqUthrw$6#?Ki!d_ABItPG6yT0PDP#+ePy>{E@o{YE*AsJV;&uE`dO-+$o z1Q7ovHKT33SP=;Y6xsJf&Vun8*>xbYZy;A7^6X!|>gfvWN!3{YLn*+; zbBbm(*57m9cY*Z+xJ#@baz{t35BEw*+@^>OCBu-iMAlSEg`w#r5T~tgnm)Hr z^y3Ef?rH0920M!j2)dbgf(#7p>0PxZ|cPau6Q3)`g znvb|#1d}fQ9R0_&hY=>tRc5hX2uQ>_Ol#iD)pzeO^?j6eekp1T=8pob7<-6Rpt3mu>5AqJbZMhbu*bLP zOCs)N7_kU1{+e0kzLI}AORr(crPt0csNd?a^ddYzVZImcC}~d5YqPY5eLS>(5(}scL4O^`}@F zD!krmD;*tfUv_%gH*@o5njUX~BjNI}uIxx`omu`PPGZ7RfM3b!mJ-)A$i8 z#RQei@xwZk?cr+uFRNZUA|-!^J=JB|pI)6pjJYa3EkfjX$Fg_+I*AxbrEy_9mhDW1 zLjOzoQadWch)&@_O^*H=&)@1Hyjz|0H)+q&rzfT=cLGgiwWE$TqQX+qzm74YVz3ka zD_~tO>jxuRC^}!H5uXy3!1@Cl=fncmBAK;wGPzSpZGVb z{kT}q`N$!`w%U@>I>0Lzpuo;aDc+7JSzJ7GfhIa~hFp@PR*fj2aziB{5@mX_`N#B( z|GAzXXx00iUqAnMTvY(m1}#ic6w}Q`6)WT}*m1J#koGl5`#5fmLQkub8vQ?bPcc_T zzmfg@jM&u-rLS>!me2F7kGpCYeTfE_QDKyQDI;?{v!zzIYUBzS8KX`j1xEJwpXW=C zEGJA#VT#TEv06o!l4ANy4bcTuE+fpsGB?!-Ad9liqB&O8@^}kKUi$@B;h*y`=8~C5 zjk(NN!USeK{wEUR6Zw-Ws@gxs$F1mO7&FdTa=&EUEE&ZgR;FvS!jT5f!8dku@q|?; zIMNNwbWx=Kg>Qu-pK|4J*C-OFVi!d^v`UproY zvH8y)RTj&+w>(zp_eD0gbeOuUTRKf$^hy~Yp&)ANgvNs8GSscvIPTQK0~i|Cv9LHQJ`vD>Ao~`}T67 z1$VihG?Ml6Kkgde)XIJFdx$U8Nu8JY5X2WSLI!vzv&+_Ba(UC{TBDWnANn+th|@t70Sn2%t41E zb=;!_hw$t(U*Vv0eFl#e_*vr)ZPnJxZ0{?YH%J`n_bk%eEOo~mo{=$DFPHLp7tMCxxy5}gcsMX;Xu^Sby_(JoF z^#$u=i`sFD79+ZnUdd22QZ9ZEFDcRD$orwH&9ZH3Roold#g^@Qo*DOlvyILLZel(4 z4wv0~v@d>Y(_(As!Ht^+=xYy_zCqY(9zcJ2!p2G}Ds2!4m)}_o2Hn#9e z`>PT_%M>o5fB5?mVuB)P(&3v(2t?`%mCZF^sknsT68t&c=-PvKaqYw8w}Xq@zQ8)2 z-l5WrJr(zQjOdN@ATocsCyf4G(cr6};+4uIx(@eFkaA9J%rJ8YN%p)~SsvUX(FkfP zmIpi=78`gi0tNg=eO+A*Bc2d@C#8n;%lBnS-H`-?{&WaEj+GZ8 zO1SP)MM2xChVr3N&QKmEBga9SXQMnUOHfsMe1MVd=a2N?P z1M2$C3aOS8GHRye%+2eZ^IlHl<0}sp0l6n$NISSD@8wc zishKG90XqrIEv0_l)VQ1jYA}E@{AcB-dgE7ASmr1^O9587mu_aIs5QPYp$`x3!hVB zkvmR}$X=uZh#UP_elfRy2-B9M7EIj<=JWPOtgilBh~UEM`)%xXy0c|m_hTB|ZpLl{ zLUP7J@zjh3&G`-OrtAcY#zSOh zVz@hh%o&H{JdK_$=`#kp3H1u6norr-jFx|hDlYydGoOpixbq*Pe)HCS=994*PyR!6 zZ1whcXW(Qh^rSOp7&y`5R7`tOwxEJ9rly8${pjyv$OJG*>JC|J`jDMbFGDsS=|ejr zPwJ&mT@%<}yg7a+OA>g~x^mUB{(nWkv^NWdLrn3Jtgze;rDK6O-1wR_7Qo-7OJ$e= zMG=zK-N$Eq7hMv-ZhzXLz)zQSg#t!&B&|xJLHt;G#nA8cY!FJ6{V^0KJqws`#3kOo z)45J)E}JwRI{1@msSY0czwMxTT~{6CTKXi8!?O~>;s)U=N#Z2HS`=!oxSyz)G~X(n zqV^%OFr&f%WsYUb1D*K;rJucKFBa~mj0WPW=`DLl7(?6#Dp3(fqH3MpKap1)D3pa7 z5B)`9@mts8eRcr54nl=f19&IS(r`eBtbe(ccKB+E7iLd zp7Mn7Va|_LSY=ai0Mf#v8;fIU^B~=3-;cUy#1DXu9B(aTo2Wv*$^H=i>A@NRXA!#_ z{YzXb#dRhl`h)|-$@umUMa;C?ukjuqj*O78)4N88$fMX+GD7#I4b@+%RzP0}-UvS2 zB02cax2LYq@r-#}Uah*qo z-PI|KyX|!S{NJrJ1aOxmb$H!3VVv|{#s{Jjs-k&)-`0ZUJ*1^oeZQ8NO7@7l^`=ml z`MMRUqd?Lrii4y9k5+N;^sJIuhf%^v0PBgr*GrGA?3nfmtI?5R!A{H#UK!TeU`IE+ zkM^-8D(iCEaDKPs&XU*SSu`|@J3pD?f$oDYH$0fr4n+#;ubJg2eo6S zIpTW1JspQaJZM$=V`7ydaGl9>Rw27KrjNfw@a?;? znRbxie_7NOt{Ks%9ATrSczl&2c9%XCGAQ~q>W;@U>2^c!;?7fIC+i38X=GT?ocAra z<`~!v;#mo_F6m=$Emfvyem*nWj^=+R=;7@8PUX2h&7Vt3SMzb2fN{jAL-T)wMY&@1 z{!`lbr_(Ouw{mzmD9s-ued?r18PU5SfD}f>Z&W<=fSvWA-1xGAFKN6xTCUWGHb^mR zr?3N5eL-#rOLR9>=t^ihPG|*<%0m_Gxez{lKVMS!bvNn^9@dRv?Cl3{&eW@;RtMFO z)u_G#-;a13X@2V*#LIi@rt9?Yor6&ShbXN}wAd29ig0hoTJNQtJIosGb7wo~4cdD* zK}PP7R}r{2-JCN_XrR-$yMrd0lYgu%dFK_x>QmOS znSElA1hz6Jfh*XS#DO4TXQXEDvTlgCuP&X(agFMhZ)ROXIsH!yosHFSZoGs6CAvCm zC^=Cr9w2^9-Mw&ODaB<8D<735vc%lyuc1yNfMMxVnMFFl0Pk7v5l5D2PjusNuK&Kb zQ+tqgYlW#fV5R_uhQ-&Tz3a}qon}?17AV3=7YhZdAu^U-!lPq8Ts%pUUS)HH!$0Zb zR#=IP6L3Y>f3@~vnSay6t}5?HNQcL@<7Q!hWb*p1Ac!o8`8Ys9Y+T`ZtQT%!`oST;}(AZf$f?P7|n=Q9Q10Q8*!Mr4dU@()Yb3;-Dv~N`wZ;r#Nn*NvkILQ#!s^8 zJDdo^75jy!K8x57jhFgMTGfS*;Ra5PUGoe@!Tw42Q)L9C6nvI#8;O(QX$wS}rUgox zjK!y@q>s^vMK5|?&x)8tL^oa%Z&OGpV?H;}{_FBg41yaOfAr$Y2H&Rg+>B$z0E2@T z)l1yak}cQZv(zw+#eG$v(78bD`LSy zMyd5kV{xwHNMVczIo}hrJYnAsQQ@gdw#@2B;-NuLob+zW!n2DZ7q|XOlgkr!?Fz*F zyX3@O4Yx)3xDLjFa3LW5_m8#tFMt4>`SER^4`k{ z<=y)(Bd@$~fuxO)w3U+9AZewNRwZdIlD13Irb^ljN&Cd;ozvSNdB2v5v$)L_dnfjy zoW3-b(ZhJ*d6k}=L{EB4P~GA-iW49_FQNjU(3Vob6omC=vbU-y&`e zTp`QJ!zyS0+Wu&f-2EgP=;SKV5Ja)X57cKaQ;!PM`!kz@;CEmDH3+^U-Vwn+WLA<0 zE`-|w!TWYX@KB9R&OwozNIgm9{sS@+T%Fqvv1k4mtC2?PGha<1ognp1@#86hC1thZ z)86jR_xY>iZzHT^bnLfkmGEP*;>a!y?!Y6~*_^dU$$LQ?UQI5_SXQ%7K2?ydpf9 zh%kP&6)jD*(op_aUFO=BMH^T1BF;6{+Sebe;-|_s6)>NRCuFE%{ohe0 z(KfZQW$$|dPWho8L(y=g|DjaJU*wDKI6AY8)*Ft~k{DxtQuJMPTmX03>wktj_S%S+ zIW2WG`BQn7sg~a5%BNWWlS*Ye-&64e>>oi7af1&&Qxi_Tp!L{w zy{$q($^Y}6dEY&fp!P36Te9=cJMWy&JoDU>dYPxH7}qHf=Nyk9qR(z+V7~Covmrx2 zCy9$c#3|C&_e}m%5q_{6SkK?^;<^0A#Iu2)K-}0ygB@1;8lozt1rCP|BP(P{xYFdZ zd6^BaT@nwii!C?qEbbxpj}M@E%qKd+f~T=tSG%o*+7YsD^s1tQ_)U_+^nW(7%Wj}& zUo4@vXcoy!gQc0Ti5Z$X*xpxbUSfD&GEJA1vb%}<(gSb)(W@XTOotDuTwPcnuBRf? zX@%A4TUGa+%(k34k1+-r4VxKV6TArH;fg>TUuobVU-$HQMW`vOs%uKJT+W=BTUM6! zv+@c~QIw=nzPM>1m-ELb$5#DP@G9tdsy?2okMEwo6kSRiIz{V+psV8A>LHu1oN5Gk zu4S#uTJ51mvj(+OPf8V$)AH*rSK^}|*TivHRB1RvmQC%QdWESYv`w41X(~}%5hz?k zfmmS3YG;o2q-SKbyGsUJsIf5^^Ds+0W29s;OJSd#vB8A0T=ka`dpAQaS59fZ&2sGo zt-T($^%<0s-7}tj?l`kaerKSkrT@@O>pvvlAt8-B4{kQ593LW>ox#-d6U^;fMHmlU z(R?Jtv$a}wul4pMNUR|GD`!12_ih$Al5L0>nU6@l&P%}s4i|V;{ zbq+6b^#?lmtK)bY)CVu|)h&VzEO=H`T;z@8eB%JkWk;wp7hkKZHe#Ez4C_ zBrZ2AG(o<{wKSTwhm(I&pzf2~$P2_vo`K=l#qYv|guEXbXkfSVMy~7g+Lj*^s-)0D zx6shab)f+PFn--ieV*MXsS`1&6n==81hZvPb5U6`u%!fHwW8R^o*D-e8;Cs?Fh949 z=BFxAQ^?gL7nC0pJTDO5Hpz)RM%8m8`%d7c^SHmK-k!$WQ^@<`+Yo7TZ=rzvnC@I^CA=wux5`Nl)MlEVxz_dRcwaHPwlOdy)-d zzM{y>cG5@j*v5UF*59{e5?y4tzHrkqPDBwT3^}C&?)Qa@RRrs)eZT^~f16X<#3bQ@ z2=G2`DzP^MiN`cX4j=@)$upUy^nO`W$D1{eu;ugQg88@r12zaA8A!93yq{f;5JWa(mgg0#r*FP%`gtt+hsNK44oB8X^|5)i2{ZwXKFDJZ&$JDF*2_&A@ECr|7^Ahz%glG z*e<{%@;P6=}s^c#3!4 z@95z8N#_L^p>?jH;i49Y{6(2VekV1Vf3lCI#T}jOS>)u!LsEPdbDqFI5HKYCw6%ur zSrv!4X~i7+qhtvnU!%8G@yVt0y4VmEgs13I+jwrULv7ar;>68j)HfIxni)`jzBN>^VU3=%U?$3E*^Fm0#@1`>EXQSlf#LT@9z z2rOm<1%(XT%)|uEgmd?bsi(7-g_(_~Yla#(hiiOE*=lOy$b9{)?M+|}(@J&h!qTc` zO{F!3OUjJV?6|=o@z7#Z4@#8e_4rAqA5hn5aCSxR+)k-t818v9Wf(_sFOmo0& z={2Pvy*oG9Thkxxk8>LkUX6KiVK+DXKiqkVG;p35jF!5b6I@` zguW^?AOz$L9@_aE^B@pf13Mr6ErkMG;9Ti0ly>XO9V zWdId1RHpork4V-v8UQ;L1qAR_*JuE&GBH>1g)Nr=>}cKrUv-TJ!1^cV3cl(Z4S?;# z3=0qeF6X+*fLs?jSobXPXPNxWP7Upun%_)7!d6?Q zb@CN*;Z+c1mKa$Yh@WU7c>?eq9*O#fHDW?iWAuy$C%djbR&v*D@4%NW))TytY`9NI z;Tf%IXFnn>K;M~jD|PznzBh1s2Dv#nKr7};L|s^Q<}hJASFQ_h!L{M{dZ_!}5=c67 zDd__6)HBnwb9>_#av>tnpjEhGChx=$8T>Gw@`fVW(qYQURAfjNa6vRnvm9f;+Mus~ zZNKVE`!9#L9PV7F_5&G2ZO~ZwTJm7gXzzbmpLbWcT%XT5m2*e%gX^=P+4@9yWY;MNx`;dw zG?~LAPeFDh{q_`OmuZ3$C8dWzk|0i%t-$*T@GLKw=)8~5rUMr^pVxow%=VYTe*TY6 zv1%fv^TCDw$)yURbWoss6#=P+EOQbs?y#rx&lQ{5w>Q(Y;kL?)RyLMJn=MXp2+T($^ADh=n9keRl z$;%7$haK3Oyz3KlY@}{iZFSoP=1ydUM$ggak>}2wfy${{r5yq6cEHh(@~M5KBNja8 z%QxyiNovxGnHDdZA_q##QvU>k=)ccEfUn7*A}1o8UY&UGY`_gtK7%pV`5OrYVg_C39^k6N?7&eiP%MBkbfB(5#puhgIjnqz z_H_1?-Y?{w|AC3Os0CN!?GE*EsCLwzs0VxSE{o0g^V-eB=AG2xM^+koJ!b}oYXDWsk76s# ze5!3h)x_^zuIO*P^~b)-<=_pUoV+<%lDi(Su`F7Td6b8_6aSK~vG~wx{F_Yy6>3hB z58b6{$SmxtiQA&St!)NMR7Y$(8aw-A(Kf3p&X^8{j76&oh8UXJSQSR)i@%LfFSK`5Xt zot1H6;I3Ny)B-$=U#w5eETsPJ&VEbmuRs+ZPIa+=-@bh4V*d}1QQBIH?K{+_J;mDp zAMS@oZ55-=I!lAv*b=FRcF9Gk3@q}b7F4$dm)t*9W3rd9%VBz^>3abWwy~QbFZ(p}f#D$aig-ILgBH9rkP7NTVm7%Jf85?xE zYzlJf*5q0`9Sg=UN!M*N^+i4)4WUj*Gndz^`nH6O%R8TJesg&}C%TBjiLfEmw?L@h zZyqz;pEF1DTlLE_fOt5W0?RhCdA1ZynaQUlEju_Fsa1v>oR|oUShvjJX}rnsf>nud zmK7|o19?EVv+`XEoNyD=b-EvmbS;4fSfs<=HWcTc}ztkNSKoFW`sA&575`_ zybXUc9aVyfHf|$1%_}JH9o)6NuM-^t6g5&t-B?MU<{0bDQn7tUXkNV_Q9sxVif zbrg$_PYNVc<=_B*S-$X7_LMvjMdBiKa-2E7QkTuw9o@-_r8=9Qa`g&-;n0<FdEmFWy6%A zsd66e`N7mP!NX*{HD!P1c>~CLA2LhH{Js~kcwJYO%>)%2I(}WK3wrcLRYNK-$ z%B2Ust1jFOqMpd6^A~QCt&W)8cnyLfACb2@hI)j3@K8Q$0=Ij!@5AI{5x1VpcQ6bo z^%lj6t`L59LowO7P0oC5Dnas}C+}Utmb;4wueh3YqSMGRtDEnj@612P{qAyoce4G? zV(~87$yp3+04CZYW&8t{rW|H*xKw<{cd%&>Z?~{={7KfOsyN4cIF+l)Sw5EWG*ot{ zh?cCLwL+DCDXUAbvZV0)sWZu<5+;Ik>h>Er?E*F@RlzSN6tNXrF{=ddp!XxH12&wf zkA&v%rW-N1PMp7*=*ZI_l_>a&v;+MZ!4$0%)yTkyT|)HG?%{0*1UuDk>l6BqA}Itv z@Lo}ioG8^DBSXH8n$dD_eFX5gx^^&5dcw7}+YSi*g8_{uT^PC->w${G&_Xg=tiYv| za93a)gJ;$|ADUf()$Ml13aH{8tw6hyRtw(kRQk;WcFAuQ2Jl^H>1Sh?BN-tIM zj(Yj~Q(N{jG%Tlwe3(8Y10dI2k3j4fXddq9sa5`b>FLyskH*Un7}sx41rj8{jL{+4 z%Z;b!5JcD}%w=U{@f9;E>Xy+$Ip1PhQy)B<50h;!%2;n0!1xy94IqPI)XM_#zmTK& z3AlBoi}hi+9vc=@qcQYC+05=fB6T&t8G5mG{!14LLAiW>F(6@CuFifkGug)~awUI(_xJ$HF#~u@H8`^#D9TWKVEn$cSi}WYmJ*!hm+#$)$%D}{^ z2zD;ttG1*&lr`-T4lwy^(^T5$(o6Zw(TV!JaAn+l9k@;3XFfdK_A&e&{GI42U)=Wg zo#b31<)gjs>GqV(9JeX)ALv{auBx(-RpXXlpCbQncy)OD|K!x6UXf8F5=TQk1@`;j< z9}-Kp-967oGCY6mF)5h2=H2DYtimd}{S9$t-Yg#Xjqyc^e9w{spt^z3uS4zmK;a9V zSC9N5b6#Z^*DQ_;N6FuS(8Qg2K=kE*1)rOBh>OnBLE15%P)~-eo^`sr95cFPmLekk zUg4UUDH52-t#Pt<-Jjtw7FbbL6r)IHnZI+Q%BT#PNC`pn=(3seV~{Ga0?V;acvJ$XQN?TIemlkc{P{yPg( zjA{OZntO%>?s!BI>nzt3>SndW%^1Ptm9Jswik-<`LPFd=Ke%9gu#OEHp)W%m(~x}S5nzj>yDC1N0;iYy5cHd<8%JtYEKXwjBTroeU;N}cU6=o4AL7+QU5mrPUTlsh5z-T ze+$oipumZU)b!82v|hL7gukIibQ*oE>dqh~5Pf>zEbvOchTsu^T_6EL57$2W=bA#XUZ;%zbhWAKyd|GyRSga66 z?I5D+xnVtzWOV-6*wy~n_=l4bBz)Q4`Qzgs_Q%Jrrh^)8wu|T!JiDRIyD}a-{bnAj z`+p@v2{b8Y7R&%shp^#lV(*&q2&4MvU0R>sBd0z)HNs{Zsekat&Mhl6%$w>+O2(vfN2utPNZHRF?5ZVFJ!w>URH`~o_vk|FL{f5G!erX{V0!N z>C512WNr0YW$f+bwg1rSrm8 z)NHC&L?#oN?)u(BJvKZ5qVPRZ_HYeUXi-#xl|>-*EjdwAY>%QW7Z zEJg052-%x>3Ha*%(!Bdm<=}(M2oukPm@sgBu&uT0WdNn(UY*FZye#j_`YsXknp(yq ztCFFHJ$Rf%2ne>i_z{%@ef8hp9@wHYpZrcCDt>Mx9aZcJlJe}z233hVL^^~)c7M?2@k zS9Skn&VE|YmI@SdC~U~tQceztnSndeLb4!0bBfK_-vhFc$oN?Y>RfJE+K*u;PkaTa z97@Cf!3R0fc?eZBWX%REH&@WtzOw&Xf2=fpBuF3B-wY^uSsi;p1ViyS5e&%3F%Sd^ zaxQQ>1Y+lw`eUab>5rYu1~lO8L|)+F5f23Dt|aMO(wk)NnWWiVkvt+|$cTgQ$(P3{ z03L9~CE&V4H4$2ixH5TfT=H3kU#=>39^chBWPMd^gA@IPidoex%KB{wsHK_p;GD)_ zUmZ!o{lvfIT+g~-MD2`$KwAfV{hLBx@%4yR#RI|X0k`rF;YPwTpH4-s?YaMUG(*vz z<6P68d!bi$&y8%{8GB9@r%t3Hj9d{zA)sflsga1L2EG)Cja}q>YLaPs{91Z%vg*^^ zaE3kBJIPsS80>lNjYpG3G#z9b)+2Ja@RnZCakB=6x0HuQr7Ed5&jB#jG-aUmjXaQi zq)2rp8qky;savSSI9Fd!;z^C)xqG=2o@K-(8Kl%6Ag|l56JbgY@*6{TcuODWIxQJN z^D~==E&A%zK{Cu;3x6Da>Y7iy3;Dc~BH&UYZDg|)7 zj}+68?8xqnEf?`DEL(*(!xWs#gQmt8p5BA{8abM((Q;hdrlg?Y_(YFGnDBz?!Zi1A zI&;SJz$Dq2JU8C$O1;bx8GRkfF15%2+S)>Y?EKYERAj($tBQ{#q7BFn@Y8nhojMu8#!qx73 z`5ijZUEBehfqcfp@rh!0AW7xT=}JFQm6)+8fc>hwG#1k;6BJ#_C#g?Z8$@(VOKBka z6yhREn-Z|2t8gx)(;c%I8^*e3$Y;*AbiT#3-KCnmX*(<1RE(>?-Uiu(mZxUh#$v0I zr#5Rz3q_x=Jhu5_JisTcggE*{Nr|b|utvWl-@_DdBUe(N)BBiBQ=i@|11oe0FKU1M z{M85n*SZ9@alOUVFjqyC=GJDOjks~GtBwQ*7+RTo4p4ctLY+JF=kP+ydBlB|LQh>m z2K%($^k*qU;X*;dVYtk^qHe!x!?&ur8kRkTI(=vdH1X3N_ z>O`KS=<$goj~LjLyo^bcm|&G1CYQpQm11D2lXX^D*ggvg^Vyha##wHz#4~Py2qz-# zi;(J+(=!4Y7uw{%Ccn^Jr<${&lhuYVY+|fg=TL1wfj)bY*e@&basyeX_lhm^&E2J! z&hP5PRKgXm=)`WC2D*bw;uMkQ6h17bp7rs6*aip1?n!?Wn zTyro4HBcxg*pl5AdN5mq?Rb=P;hoTe)V-$27BgawhSBpngnHCA_6hBETto4IKKmar z__$U60mVZB-jdXLv~t|sT?Ux#H&#t*;~zw#Ijl{x4cm?XyFcY^eBIZOdKzqDMlRpe z0oZVx`8ScYM!>XJF3`rTj)iV>B4uhQK5?`OXC_)Eyg0(9L1rs-P#J$%4mIwy64&gb z@3$9I*`o_SxDbQkeGh5J{*A!kY z_>a$gmSTRK>CrB|G7H?^rQY_y)eFF13yGM5%<*JnL@ zxxfCi5_5&wSK;?O&)zlZ3#$vce`^I^y&vM$`wkJ$x)wWl<~m*Rt?je`Z{1D{akq6! zl{Y|n4=b-;c@@eVt-N*0+oZe+%A2gbFYwF7^EOpWqsFWEC3*E8>F|h=^mvS4o^wZp zSMPfz7>;-K_mo#}Prm+zzWxOr!>jiVyn303n!;7pL+V3a1Z&>>qz6Ov7}sx5`~ z%NR(!$%I-u4iH6v3Ep~L=w32)-&%|yv>erNH$^_vd! z#4#yx;F@Y<2XY?+%u#!I9MpUM*nsrgi^_SMy5ehTF`CkUaGMfIGM|DEr=#v!ovy{p zd!YgPshrr&ESV08 zR~iqOWMk}^c|qoty@4jHEWeq()KIxn?7o!cD|?d=jc^0^*)cQM-ImX!$#%*g z3*oi5(uTZ;!=zkDv`lgkw2vWHepP|VLr*WkD02p+ejK_4E0$v zPSpGBW^~R3jSW(9rR$yYT2*X4XGC%bD zuH4I-{KX&5fyjaW)djLQ&Zt}(=~;N@YHsPNn)r-@!_eB?9z||N##OLU(bFAr!jw)n0TNO?&kWt(KSpS?j09 z^Cu8LuEjup!7?RB-=UY;^@~=R(pOV@RB1k7I@gz(ciu%70#0YX9B-1xv-4C-AZ|Z2 zA^g9ESF%8Q))f0X^&hcME$+1XD|2RjhYvC^S2D9}7Rfx5+8Ibj6%6%7xUb8Mfc5Uo8W{W>z z#d;mWTQTI5eNRK(T>c(x$M&?79a{>M!k>>oRdMTMn>a{gYc9?U^~oLr>AeM}tBP?R z0LIN=i1%@i$8V^$|KOVIeaKdtFwDG$UTKHWt^YQy7S>OY<*r%IMS{;7$bkt z@fgo6IKw{mCNr2o?760{nj3SeCdWW{Wv;Hg8NRRkM5~RpUOvhX`918NzpG{(+zj3K zNPY)=d4+}Q-CHTTne66hes4i(<$4dzukURdN4_?hO5g`>%t!Ngskj*jqH$WW0yqSb zT>RB};+m3z<7&(MBTI=<&OhW*@biiHUGH-5F}9t$%pqh(kBU6nYg5E2jp-=bMu zS+X%bGK<@cywqx~XDHUk>WuLGaD$WO-^wTSbo*~CLT)e!c?+$MoO|$agOtw!>A&L!E!J5yWYS8ze3LsUR_d9TTY}cE~Lb)%!zcQ4ZPWyq#DBHWKJ0Yja_ zV@qTkrEhu2wreN50Y#dQdw*vjq#R_Me?jfb1K=9!n_nR)Oqz3n*ZZ0%gJK@Nh*7-4 zBV470#nr%U%OTa13p;5?<)Ybf9kZjF^PinDsvI<%KdSE!YwpPzIy5_;bnn=jRmJTK zfCRyqKOS1?LL_Gml-!@SoLlqGZhtMEBF^Vdhr* zTDgVeF5bEKV7Q1iP2h7KE<&v1x?~aSd^f!_5Nop=WxhUCb{-?mF-j*hJV)j>8Aj5S zP*o$YQ}0-W(GTj>t0>^T8d)4n%L>u75tAXBM7MyFz<2J@PL z?_qAk$OIWlaS<1L^jt2G8+6aJtVc#jp57~qglZd0Lq|)A!yPk)^E&C)(@)}~jx^SI zuR{;VMjhE;FF*|>&L|`s;W(F1z8?HA{bDVujmUr4)69zV_!_YHz=F`Bx#lDnEZ_^e zH?LFXJ^li3rw`89Tk(|b4DC@K%vOU|`k6vo;ir7>n^#j%+c-YxQ~%Dg{j=+p?O*0I zb+WNz@B<^VMGlo|`lfVvK~-XWAwdcX$K$5YMj%;qtP?$rWa?H%;*T|I$|_@@`}%L> z7L!@$R>k)yQwR&rfq8s+h_z9khmJpRe>9pgG&cR@@@y9RMWcj1>7r~k_b)r3r|+Go?f{HUd%3<0Ujn=VCak0r$lD;!=eKjBaw*XeeDf*`5U1{1j;X*3 z^2*CY2c@1Qp-Jl)>Q$AfM7lN#)x4%y!FwF3lhY`EOkLE7+E7`nlz`o6NQ=3W~q^sQ^f4IPVo2ff=py!*BcMc;3`pB*F z+XXDGsnQ!FTRuZxgSf(2SB29=9OVPe;<~L_sp+EXFIhcZ!`cP^1 z-waeZH{3^E(pGAPO+YGnS9;4l)GSO8$s>MN-?Gp~0G^c7fQ1MrGA*aLR7>N`JMN9J zALQ@krcFlXEA6g^V@dqnaGA!O&-Jl8mQtX)HaKc~LZ9t#?Tj->6?;OTynydl^%v%K z1JV#uTNnSi;b!a0r-)K{_2>}wnhWHsx z+$s~F+%-A6unkhq;8YqRNRxXF@I0=uE)SOIp6dxvXrr+s>s}B7v6qM1Vo!Zo@c3l= zG{hSp_D9Q=yylQ1DhVO@p`G}26HjTsF*JAHIPsI7Hf zY3WhXf*;XFi9I$KBqRzqUh=?jV8EKtdXkP`S9$kT=F6g5GAHLw)Ro@eb$c1+WI75N ztOYF{yKj}1ROF!swpCN|-Rs%LiN8qQ%%e=n|MY9&mQ}hc@6+@F#va7=pHrcX3!y1H z)s}@P05g6lgc#n=@%NTe*8AU??=V=hJ5O`G>$ARa=EyaS%wEn758JOedQ{N%v!awm zAxBoDTo=e$^fjsQQ<^bUJF);`Xm-nYAtiJTE_|r6#@Kc)e!cfn^#1)Vu z{<)8q$ltnd+rhk?*)KiDp7*?UO`i2uo|b2__X=0oax)H%ZCDjCA7a=w++2BRC(nu8 z%9IU!)15+2ynW5oet-Ckvoo-R|7uH_TW7(}U*^d}4So$s$*#g1nPm(}Fopsg8B=bw zr3MVr>8 z4k9lHq4i~Vf z(WD9q8u!;11dwhNjQtF_&tIY}?S?@)yWw6k(`C89;LH)`%L9lxb>v`s^m>s*KQ_uH z!HSaeXJ}%~5*b0{2{{v)KF*yNJ}|R*9BLvvi{o-<5zAe&^JXc9u;10x-;%TO!B*Sl zN$DExPK0F;Hp^1jxkt%9&Faj~yooO7&GtH`Gh|(;d_^Hu7V!+_z@E` zh?~lcds>r+?ED@!4Ez}CEW@SSE1Vr{uE_DG@@nIM#`dG<6mo=S1b5#ucg6PV{h-Dz0*({Yc?6<&291T01$`W9<+7^tqHb#3_W=zHa z+xJ{Kmv;v0RmC2ym4|vegF;)N-dwA5jbimRFp1LHe?T?vaPLg#4EMSR?QmZp z!YP6xGu+oTtX78mwDPUV{Ya7w@p;!QO~bwWrJXTcRm{~-?uAl$1MbnQl>rZ^s%y}? z_!^`?EJ*hRRqpMbr)Z)2I+1pFJmjq4EFp zs0^(4#$coYOzy{Zc_vkKh!d?asWzmJBIS!GbTG$i*5VhX6nO>llO_>nwkjOeW+-Me z6uXkh$=HHk@Oh4BA-fQfzcb}6fE zJalTm^nvz#UZe%_a(7GbA?qD|Y0FJ1j;y)rlf=oJxCu7+e(ly>uG}c@Ue-M29l2?O zty}}sbkOWlC-M*#;noSIO1$5@cnE}_SjZ1V_s#s3A!d11q8Q5xJO|?;;2VE4=fU6_$4nb(Da`i5x-CGGOsbImu=D=z}aDy~*XHdn8AJHCq9O z38&|P){cQ;O&wb-<92)x4QD{ZEDSKdoC!CJe@N&6{X(Zka3=$Se!g_HyBNEIR39d? zg~IlA0W{LR$XHDV!jQK32M7{WF|SxLmfZyn3jhX;obcOFN2#~??mPtWAj97=vmA6IM>7HAXWS#+p{Ut zGIIw*=lM&YrUtDycn9;vBxA4h&1Uy}^~Watj4Mx4%S@d!|NNs9vNAg%t2H4rpqyCm zPR1!;k4xpSE?m(f*6~mBWH)f{5(s&2?A!JffspUU zE?c9F3p;&jXF~8O-g;^lJDvep8D-=gwj`r81|v6O<{Gbgl;F{ovF$#&c717=zm$+i zz0iHEo5kJOO~-~#4>ukXI)xp3NT@o+UV(SHF2l^K+>}ASx+cT*64vm#EZ5sJb%9Vo zxQVU)4c~cSw8i1d4%n~8Lt-_LaxI?blG;5Iw58*^B|%N-0L>^PoC|d)8g zt74BL%bW0dkW@cB;Vn-=i9Q2~5hd<9J=Mg5=n*KyBh)*juOV2Dd*1$&(jZ$5^$SBC zz38v$U3K!xb>yN6@GMv%!hVgtFJ8G41AcV7vC5Ukt}?v!h$%;VD;(M}hJN|#+*9vF znjH92&h8MN$LjjN)-P1@OkOT^KSh|GhiL5WY}bFCK{TieQa2)kXzlBVvR}LV zJh&0AZFjPP!aosog%wS8hV|xgf%_QMM+%Iq`Q?(Jp#j2i%Nwt?7II))2Nu-~ce^Hj z<6cgKpAXxrxK-Hx`)-!nWgdNL~JT~kCLT;*I6npH7x zYMb)uq5idvmxjtJYMU+z^{j||8|n>}@!i{^GBz)*;G<-pKLLi=WfkxizZnvo75||UhYlH>Gjxjx15xpbY!dI{Mli(G&=!$*<4lcL>0`PE@=r>E`^ryJy9xD+-7JkA9 zgtJrzRP|YV9eOUCcE*6dAx_FaboL}HMCuK{u!67_+G@g*$+Q1JMV_tj4hH2l{zX82 zlJqQC>RQT#P#x9YrU?-dNkxbsJ{bSD<~M1lmv=t7nZSH9R!YlQn4uLt|6A+``4TxtxH$ zfEIBzAcjdmd}lQvrN((d`ho3GgV$1lM-6`Ags1T+rmO_VqAB~;6n=_TqtxRvZ7w`qgF}p!@v*YMLzSaOyz;?y$0y2r zOKo#E9FJVjR^|%y8*+FwEQ{A=Rd8lmJ{K_*TcyL}mu%P6aQ=8=>mMbsdXLhv?QP=> zhdXqn2rL%}qT39C)j|p6%zw`iSWU^>C)2K?$+-ZI8Gi0%@{(Y=($Yf(^@)-maNizY z4L!9p@Tw~I@M@l{^otI{p!s?^CyL%uUCQ89*c^5#=)l;ytv!ygH176;Img-7u6KnO zRwi_mVv8iYwIw)-cGzJW7M6y|!#U#_-`}{KlB#5+y546kcvBsy2-mOPOzd`W%~O1$ znU7aKI@Fa(ocpS+&ES|VzZH%dyIN&jNxqEMOPeE4?AO+Nz6TM%aE-oc2Wk;t5xk0J zGz38C@*JeYUPakM$tEns$F5GFnjQN(Vv{j~)US+|$&A37*``k*`z5lCHF0_v!{5j4 zaAx>N{Lyw=ouc%gz0%$W3bw0^8Mlj8EX^{~tQ`6C7-@JW8#@CJMmcJ}VtZTBv+nic z1Ub=(zGG5tPU7A(lPX3P^Q=jg_)r>}R9o^MH>q|gOCB((_Iz=dNp+x>+erE2znYXi zdh%6BEj>Zr9ib`DdV%a_&#$dOkeBTqdmULhjKqxQr(^B(j+xE&yvlMs^_gfiKM{$( z^xRgHspHCkphT?=meL#6!=>~j&1q?USxc@pz09TVs$)Sz-QBm|+is%nl-nYTo@cfq zf~G5#NjTA-J)BS7dAEHrWujl^wnar6_J}+6|FrY$csKxosL%%T2ELT6cpvm+EiDI8 zz*=ZXQ_QI=*`9ysgh@f^qE0s*bx+)nZ=xu5o@b`p=%OM^DD95ki9V!86xc@-c9(g$ zMi7n#75sD~d`3cQ{ME^ zrlzl|q`A$ibz#lgt){k_PIcSUDAP6?9Ub}`Xxg)l1}C-Z#tZ_^xoA-^Vh1(Qd|#4+ zH}wY9_^+KYC{^6*pn}EC2bFsRoG#~+jC9sS7uDeLutA1A-N?L%%-qp6mF7OJ$UmPw zeQxFq}GDY+j;^daT0{~f>DNC@ezlE=k7 zEB5*sn5UO%O3`w5F6QY{)Ex7?H9j*judmCQm_N@~NzvE}MBz=*JhV7X2jFnN#EFVv zEbkj^kCxQcz*~R2k0m0|j4X#5S6pmE(PMr>T^Ss7I1k{U0jA&q=HZ(5Mn(*|{q2){ ziIxJ6xF(ir!sY4x)Sc~wX1b+buzmEaQ_W4VQ=i{}V#e*#e6TR6)VKhiPM0!03HEb) z5rQN)JqV(i5M%M}lXN7fT}F+yTzzm~?Ak6w0P#7EC%5fxjOJu7rP2s` zW*}xVorq4>hS~?Hu0lOEMsM6=HRw&#|Av7tA(D78EI2-)t1cKe{+WnrHa71?@^6Q4 zC$iD|sfDnLwv?XmjM3=o`NDKMxyL&i;!4msd0f^G?c0Iqsp>&X?43n)W7NAu$w6;g zWgwp{+toiQd=-0GPAg*S5km_VAqaL$SJDvx;!Hu0^W zvtU=d7J6E+bN{h32Difnd*l1&gKM#1iue|NSOM~R%!m_r6#ShKe%eL(-{#B!T z(>nd>x%@FfQBL~bC`#3~qx-3k_-=bs>KYcp>rMw(L=wEhZj0Qm?6Fh2(&}FL8y6^e z$3^YnV}qrdt1C~>oHFmomBc%KkB#a0^;iOkiANYA{E8pK!K8}dNd9C}G8nT$r(*Kr zd7hRik(ws@nt(`PiP!cxCoHW0h znLTNMA0|b|On#S=#~r-A30Bq0-+o{uGEK@IiFV6rHAMoL zE(e%#C>K-4PN?7-YAkxT2ja!cIgM$#{MkT5v0Tv#l1(+J*;Kl4_DiN)9PTyrEg;7k zY~rVPZ+g+>H&g`lK_Cv3)D-NR{B{$FP2*@#HdvtZmFac>oy~>at_gVjYnND8aBFb~6HXU*@Oe{L+&z#|tTUM>m`u4pV~VR%$B;qA@`s+e z+KV-D0GZ@8r>L-%9`uU_vkWcXrCuB$s2aa6{ktrSk+I)Db+oQv$Lpa1N<}kig%Z~8 zzjiS3(ar%z<^>AfoW_w(q>h5Mja5$M6O%Z_i5@{2gck4{{Y|RP$xgJFNfl$^+0CTH zZ*(%LwtS(eNVU`3@x^9UGQB;h38z0w=mF-=!9r$090x z(xlpqbD|HMl#EpGF{u(Nyq%O=;SP;d_lLw~nv>Vy%IaInfq>2`bO9vnwW};x`^ZWT zi(v3QnjzMNj>klGbjXiwUv=nM@K{x7Fh;MHp~D%DKXkC$ULL38TPlfy;djPZVakI8 ziJl$^gs&M~5bRC!Hu`U}Ed;Qo=JkPK$*GF9OZUp=#UIgeMfcj;?j`TW#1Fd@SjqOT z*`twn=kt&FH@e=9R=Ls7i5|*C%8AEF#Y4lIiB%72=H9q(@;Q2(=eOm0jQS zC4EQ^d{xCNMOld2*zaU0D0_ELg+i6iaH1g^*Q*PdeEn`8Eiv^+$q(b87x5(LQvm&C zO>DbZ>b);mP!+!t#u0w6y%26_Ku!E8lwP5v^6ClhV7@8w=5^Roo{kovrH)N^8O*Yt0g~W z)lzR+Ncw1nWV9bG_4AkSk{2 zY&q2YJBXwOy8M0}b3oJte@+aITnu2Go5=Lops<3=ukjjgcFvybkaIVtaE z!2Z}xX7kyj_k^4~;D_TewuKS|m@>9YuEJ5+g!=+d_nqoH?cxIcPid1X@|}|G$8hN2 zh3T4soW3_Lq;w$u$bI^8y}y5?f{(s56-;OdOZBGza?n67_*Z273%vVwTi^qs`TqqU zEIy=leDLzY!Uu%!X-XfK?ZSeZ*kLuX&+!5l^f@&xFv8t5uUBKhOZxq!+G2$DlHUj; z+^VgrtLoD_MxocHA_>@>+@sjw1J3S!I5 zn@7GGmyPoN_O?nb(fzD+3ay#}8tan$w{G8Ax%yU)wD*Mk9S(H4-H%J>T!{OgS;#in;H|0*pIlLxQ59e`y5;a}xJ&LooeF)4T2^7vQdP>`B! z$`!&7FE^*B3&$QEq#LRlBgrP1eI(E?CEVF zYTx5MT^i{`H<(lj9$In^ZH>HLtYbrtSls(TRVf)gQge+H-N)8ECR9!rPYNAHjVFW# z(6!3YfqZacs0>Is72ixth365mi`!Fc>P1tv1}aZL)#5~-F{$DcoakbcDxtssFsZgo zjbV*#eeIy?+qqPIyTwR~sh}Obl;u*&oO_tj)DB_bb>>~0%Fs0$bSTv78i+=w?**Z& z)0Y|eAFhcH4dIh9p(70ZA7V)JzGhVWwK^)XJ!TUOO5-OjhFgG|x?YAgo*j%;SQIS= zR0?W`WS}jHKs>g=!1aPhI0>Es$v3*cO6%Xq?e^Du*6%{{Jo>{sj{|wz8f8v@jl-11n!|4n1;7T*d@WE zOf?~*emJ=Z^G`;8!vnw*4ktfeSp#&JDx2?C=Fe2ND4G6Tm2g+@cZI=m1kqZ=f(K7x z!!|jOpG;8ZWx6~h_;tGDKTGF!l`q!3U6s)*@=~ym-lkJ|^itkOlzBPbuqr!QJ05SD zx@h17k9owBXk9iYHy&pPFG~kk@C9XVNDe0=jD(2fVbSg-$>1GDGLKpmM|fmo!+yql zk#~^~NMNYa#)-UXQ$-4N%hObK5MBiJ`p3z6d)u{&%C##HUR=sgfh2~H ztfuCtbrvSC#1bbE3+t8HA397_si85spncENbRI3%2b#{yiPrrju+x+rKLyGigLd~N zH@}N~9HrcNO?{dLsHiYC_783YAQIEU$A0+0*cXIhZCaNZZ4|?1Vwi+h zr+!15)M=ah>kUcj6?S%=oX(?<-$O0dGb%cFhdOv(%zm}QS2MicE*&zvQ0QM z9$6a*KQBrfTD0D8gik^Q67Ep=#R~twN3A7=c#stnI~g+H3oUK*27z& z;CR|}K`m682Tc9B3l&K)@MPcD2m899*u*3O4FW#%ZPi4s*DydD+7-DJCO8O?lBpg9 zMh1Z4aAdHx^*HsyMGDA!pw(JI)6V>Edch|9D^y>qy&e+XUVhXfQ9q+h`mW$bV5@oY zhWo;&7yb0&F#F=;+!qcn+$~AORqG|t?aSN}pH4O>i(aw2a6Y&pP%cR$TLW;IY{Q((m=)M+w_WJq7!orX^G9OjYV0 zoAbE3tDh6W@Bu083@0L8NNppGS%8Fp$Yd+F-)hvu?qNFXawdU3eQRqcHZfuftB{^Z z>_vlV-eF0#XEVt6KxzcxV!;iM&A9pgalWs?@k34>p8hH;Bl#V@RN?Nc~(vm@3W)!aOMn!zi6AKs#r(4;gvTg*lW2Go3pZr_VBT5h_lv2X%0# z89Eq41f0zEG2EJlW?O#Rf2sd9wucXxF-95Z>F#vUf1Wa{VT221O-X*v?IrPn45O(CJFhOZD zU?sFydvzh;Fprc5bb#i~7%H!{L+R-brMrfLQ|G%Hjc`$W>{KoE0Mq^<(S zX7n*0KQKM^vM=@xv6Skz*71JE-kzPV6A_B4+g1oW<|LR4j?JdzQ$r+Q`q9uxt04Tc zcG&$wXZYijaiDKXzD-5?4N*_x)IyT7-ToCI01WHJ**Oism(pxAv-7R=(z*UQUZkFP zJJmhN)CeNy^A7V|0C<&!m(Q+tkq&A^?UJ9+^-h_t8zsVlL=oWI@`G^h)-UGAefgDi zSV5EvQYAdGE~kTn=>O8A$>Vm~K}T_9Jq73K*%0R%b^k^AHU!2|6bDZJu_y~O3+L|) zm{G;nRKb%P<(YPOBaUlJ)9&4D$3*b*|AN$aFs-%{hQ`VN`5tVEPsudH7qU)wFiBw| zt=@M0oHKKLczSp9QdMO#aiDBr4L=*YuPJ$>PxzoIdFIhMAokM((%iIHtLFF*?5S+) zN}vO+e`u;f8|Sa{54q5uV1rTJ(y(O*mt1IjaU>(L-+5s0I?F9E7|yr_2H4?qM$cSV z;6zFozl;Fl#}$X`zaO{;^|N#1vhbRs*zv_F8Cv^em#$?Bx-u0o2)B}>E6(ttAv%T; z$!)^9#N2NP@(-R>+jub6lawM{FRt;m-}87pZD@M_V8 z@h|xpeVtv~+9CZyr^d$_Br}~gSAnk7!!LnMq1uy0ketvRda)T_F#Uecuh$SJtPDOS z+obG-asMC17Ky46e!)#JAHUqd6<+3z6t7h7L5%ZwLHU8f-O3LNb}t_u;>OdF23e$c z^N5@@2i8a;mD?3)Ky$5z&duphs4~63%4qlK-H6a50gQ+`M#W2YIbhpi>?RMMTyljzXrT^;K zam9u*k=+lvt#El64JXV)de`gbeL;vnIu?tH5@k`eVYdFzWz*6cJ{y>J{g{G+VX2LY_ zTXzRZiW7HHyiNpA{FkoDp~!-#VmkxHtKwFX``}kwB6s4fWPNth-3br#Z%(aGAGfIQ zII2q49R~3r=hrWJsva6z=R`gtr2|z$gY&L}z>w_Elv$rC^K4F;V^!t}G5|3nHpxBq zey{wzWA91VQc-hq|JOe*p%p1 zQK3E##J*(tA2(|BjY~Ca$$wr1GJG0JtSMb)KQeS<^4V|PFSRe#jVA;ru|EFT7SDg8 z6@9nQ_#aKsoHSHQmB3_pCO>MUb}+JMphYY)vggZ9N`^h>o0NjHon=z8v^m+N6b^2b zNwp~ zn3^QKn&?)O(@tu%%{#-*^Q)Xe(}}Ti3lix+9W0JWRco^^z4iEa;};|%KI0d(!L7sy zzF#_*qI_~Z^sNt1%#-M z3Tr}@K=b& zW}1+J;g)iS-!eMO+Er`r9XWIb>Fv+LNp~z=ybO{gbPym;S%{jWXl8b^nWJFaDPB<*B1V3mGQT z1=p53ojS<3EV?TX4MUw;+c-RUNNwYOp#k&I;4OQZD2vD;@@ljCy2R zeHN1*!U-n_q3`CtCLM;#NA!HQl0?3^eG9QXU$=bwm2(&+I{0i0m7hLhu56r7* zQ+^^OUUleBWfnjXq;FN~%2lKiO5Oe}sqh60AR(JDdD?0Jo@-XuE6tu;YwKgmWX>xS zpD_H%h33>Uw-I<~vyIV==WIkfQBYJgwbbCeS=YoTh z^AE--Hqp5cWdiXb@xYN7zJB#vV$WgX-IW)W=Dn#yM!|_e-DzoHeUrHc<+gqqX;`R- zYHuDgQN6euBq!Lbj$f!ie)c|s4v{sXy;8pu8?HMAh&yHO6Np?#PF5PI5ymG}CZNX2m2LBRe zQ{1%%w=e+#%v^g0;V5cl5Uy7ZdG_E=^22{3VpTqU)iiXjoUNg^Fb7XPV}M*<*Oq>f zS%altim^rz{Q~XA7U(7F!Jd+N_8YRc@Tiy<5j|;n`}eVsL_hIa+|O709owLc?U&gG z$NWvbapjvxisQxDlciv#aLt8W~7cT-Q02&g;qz3K4PPfy7Cr#C&9c_qC;`BDKg- z8Rv0R=sF6yn<6-?c58W%D;UOyo(G4I53L5{92;7m#v+65@ub1%k7mh^(U2XxazjZQ ze=H@Pa?i@>r?ZaP(fcNY0PXz|zSzH$<6vX?kR*;EG313!a0oFoVuBV}mw#sVFQd%N z5?r0dv;dWlWD5G3*dC9!jcJ2uKEoAAUK3v*^m->gywxr9o zxx8ARQ!)gs6FG)nxSwDj(;&q`eKV9dE#cu>ND<3Q4YixhD+X40uq* zt!}FRD>Crlo<>geTS)cniInoN?9k6kzVMK;&?$7 zaF0&o&cq)^WI0x$&XKBKy4`7 za#gYn?qEu?Gxz^fc2&CLLH+Z0sVZ)DRc>0=d{uI31b`LJ{G9PCERcQpogMqJ`B`?7T4#^?YA#yFKb4pJ;07wO8n1aIJz zPrAT6R8#~eReTY#TTQCua^mlrRNKp(=zXNB!q*N4fOg2@e%UC^ z&*o&+-op1IU9s=5&{@j7d7FKCaL!A6Q^Aw0hGKA7!@SMOi`|k_CTf)kiS5-y8QIsU zwvm)c?Ma_9aUBUI?Zv$Oj!wF<9Z%3oCrWPmLw3==oV+s@O%_5 z<>Pv8rR%rba>7LW@sIhPnA7#&T)s2rR~2V(#IUhN-OhJxrSqZAIUV<|yRZm3tNO_L ze`e0dPh_Uc9F76+eMxgDmm0G zdDAcL>6#G_QYNM4q0C;CNsVB;v_x>uk`#@1UCktn(C*6i3)m+XwOsp3`#HtC6$ z1DnZ`t>Hq!mv?` zQLPFo!yViYcOY!|W!!4SCQtC$op`o@lQDiuJg{O0O;6Ny>Dey&9y!2%1Nd~Y4^vZWi6L-OU z8pLs=K^zEFYi z5>rz_u&a{#rXW}%VzVQ@jo4KE;d7k|o_{>nE`HtVOXP@yAgDYa54k~3f&P?otzSW? zO6Crf@*xhh&LH8&;u%NGYd^QO{HwF?j-!cIQk{i#HYidv} zv!c5q#>)818;(Y{Y#?hm8t4I1;%I~)k$=I_d}LDMXx=8JE^Yiuhw+j!9bG`MJ@6vt z3Rn;bM`FZWE~+v67?%mlaa?w_WKRMI?!)G^qAEV73|7d*>5#1vqss}@aT+3fw}!&m zYi*|mpGW9iaN~9C?ulphaYLSfcGqO(9TIGqH*|)N5}oftThW?`b|c$SMP)AQL~i8C zhU>zrut6}sRe*Q?5IV&0WYI+*Oj`D<8meaImad}N%rM54W=E|1Ik`IXfZ#s5>)3ei zIgg);$II|whuW>^!B3|GY$Yo)5J4c2*oO3wjJ*#62fTmYP*Co=tq_O>v-eedV+|Q- z+N(f5+CEcWN`ie@)BQr-j1bgO>CGRoZ7}CSnXJbPQD*6PlauK*us7uOKd#2rcHw*jYM9)O_ld6-_-P%Kcke`xBwaYbsTY#%GNfTc6&O(p|aJwVw58Z%dde!haq z3QSzR%HMe<`^~-fcm%}*@tEcwYc4jp`?&!)v>IxOyQd)nLn~v;iMF&GIco37j{1TP zTWG$RQP!PB{-#(RMpeescJhqtt~ahz)6R}#kw4Z324SH+9Db(xP>@=zT& zSMeHGu19&!K#3Fmiz$1yZdKl#d;1U{y)e$5vE?=@M2^)^ z(=9pSg7h9Nf#t3EHC|WKfp{s>spk_-wYl zqFjgUXsY^`LH#oqkvz?vriaNYaUv7Uj#PMOM03CkG_l|)Ih#wuE z)xJ##CyJ2_?nJQam%)zVt8A8!ESgH*2j!Z2AG7M_Gly@X6P23FPTxy*`nbHxP8rvq zT?tC6S)>i{btgsl5Y%^wzTA?mGseGHH#7eqzKZ_K}KA5G;@); zHs%5r)=-21Pyc0b|$=Iy!-ZlvUGvV1lG52@R9^l5~u$v<~fp^uh zY5lyT0!czGBh@-0{m|+ZIMG@vOifmU;ia|8veWNYA-1Dx;>dAT@$1Wy+J%M7kS&%} z#q6Uu^5jM=gh1QT&g{3E_$=&uA@cvAzQ%)Pa1Bk?f-!J4Gs67r6Tsdh)K*vN#@d^$ zC&uQ?O9+uwL}=Nevr18}@O4dm_5i91J&`&|b^U~noaS~Ug2-7NsfwRd$`vg>XV;P4 z(;zS+pRG!M`D@YJY&>@-XDTnQh|kjnIYZv%F1VLvQ44pp@K!IY+v3+OL>l2)d5tn2`~K z^y-6cRvD7WLk>@3*yC+HU1VnvB!K4a?dP}XQTso0QjABejCIL1~+9m!` zb@3?JVkceM6OJ(9m=hdVxY#{?j!Cy4sxF9+%{xfe%7e$U8+v6?(S05B%Z??rqKqPi8JF_9SGPaIkM%iOycCF;Q|c^oz&p z>`7$hyp#O@>zGr;J94GH;V;dlV@{O747sY=p*-?=d_;E+rBEN?<^8-l>$pgO#M^Wi z&0hUHGkb2)-Bh%*0%zJtlB&d59)-7XO1v*j4P@=@i=T9MxUmgp#ffguUZnwVT-t+L z(<8#y3@8j;LiX?7Z0$5L|8tK4j5hHQ-m;4meU3ih-r`D-6WtzkOYiHJK2xQq)0|}t zl7D^qd#!P{FVUdDQhMj`Vu4RVh_zXuL~xE>n|(-omr!&z)o018e*g156soON8Ee6x zx6_5uno}ooF+X;m+uK+`@$lJzqt1!Q8cKvWZ4YnR+g`>Js9P*h-L)?t&XHQ&1G22o zc2?Ew(o>IszC1vC@U)!)XjyuynJsm{yPHE5}vZcq&)nUdw)Y!?3F<5Yt)tT>qOLtxAdRU z%lGZIk~6pWEzvYNkuh)u!wMkPocUEGksSeVxpEy_>!+qsPg~_O-;W;C!hq3uYZT z@Xg#AquOiRtJV0C8v^k$8{p)dlI@=$BfO%>H{_4{X!e^`@m_B87(-RX+Tpe2iHzy) z9g+k?7!p5N!)xB%kFajC-Q8qg=XZCazBb)mW?!qjRpF;KW~g9NDxZ}R%kOsD>x?Kq zvWG7=ss|G&-kaIe55u`n-^Z@gPfh$Xg&GVFVIjKuoUWDKo&J>%TQ8>cuYF6j^HXQC z=rys~ISb_)y$Ay#SSqE1$@333w5AieRupjTnXG8ZTbJ0P+cX8=_1}&&(B)lqAt7xM zT&_BH={i9CUO=2cE9j}#BsUXh*#L};#pGdSt}h(bT~zV^WA04gqpGgQKLG*(!3QcD zDM~~{5K*F_L;_}H0yA|2C@#3*4;!?owIa+2D9hkvAdkl&t)kf0*1ELRs-?AJ6oCYg z1Xn;@X$7m+Hx2?WWmWS3o_pV$B^l7R^z-@KhI#M4yPkXQIp>~x?m1gv^;}Zq($z%n zmp0lz*dwyuT-jT)FK5_us(IA-B2Rq#73uOH->IamEeSE>);Hs0vWt{%484F&Ee zYtBFoGxcM1oFkrekk04Iue2KLBpuT_t$77ia9BBvR!UmYY@*sa+lYyRH`m3se!5$t zzqy=0xTx0=Ek!ooaLJJ%Zc=eV-ETL$1?uNE(4_pA-~wvSJ_#tC%XU}rNIx1f2yW>S z>629KZeX)6+dYSS+ore6!yN)~6*R2gBYl@C4_G5d`3Lz6-QcZSS2;$Jd1cTWomJ=w4dX6!gV4`u8jZR8D)(Q_JTN}giIa$43>Si7KNxFoj24) z4npkF-29S6qgVM-qf;4sL>miwGN`IgtL1>CsL_@cKsO1F?*f- z$i2@e9+4G(b_UX^)!R~fa27p4k+4Bi`%%5cE*eiCYh@%kuS+)ZKcVAc`mjnd-@xUh zS6EfA8sSh%H@g(}<1#KnQ}H(YfaY2E3uCg%0X6Q=fit{|Lek*|f7@M3EHtWamrTN_ zC&+_2V+mnUYJgSHe4}`i2y&|)lMJ$wOY1Lm{xlRUOYk=VVcTLi$wj-er9$py@~R9J34t_jv6 zwLDElQD~IDHH1!(7{C=~SX2RiTy}-pSC}&jlC2f_t~JO0l^DJ*7YbM_gaW{fI+`vs zn$%O6QB3nr_w&{0-!(HDtv}loOP79|OShUC_1B+w$>->b6f;^O`P0k@a&CXNNg5u! zkD~SvkPHACRVOl9F)lLe>!Tt7mhs1R!6h&ulz&F2p`+v|RXB#k2 zyTnIV`I3NH-cb%l$_R+8ZCno>x%)&S&;+cCfjQ4pH>>m1x72y++v+@(n3*#+>+{rm z%H8wSophz{p8{G5rY+|prD&nU7szR9xWAmFhR>2y)Nn7c2@Q8QmX%@kxwmLaq5pYL zPp!Sc9<)xJ4ezw)a+{0U?#M`m2NLJdYsRX1laKFn(&08EtP1A_4T57v)t||sSk^8I zX_iHoU=PhBzRw}66BF7YtP30?Tp_F{U3{bnYvMyXpw(IB69e_J2(R*=4CIUbtP=Xc zZF#Uq=o3-r%4?arLzP%Xi8S%~5Z$mYUrqU3qkNdkol!bWaE)WsDx*CAheu+RnM^P% zuKi!`SMK5(n#KQy5ynJgw~w>joYAFak@T{v^~4~#wBz0>W1BQXl8 z*kyuQqu9Ra5Tk$*s!_-UdZRO7ghL^%@Io{{>q9?;^918tA9j zQsd0zf^sGA@_-c+g6hw^TYeP!L$~2{^J*ozrN4~7B5WpLyebJmYNpl&RCAb`KmHeC zYWBOo)MLs*Icequk(nnNoi3V4dl5S1H}968Lm+U!y_x8EY4`8sewp#0o8OO*&K(Fa z+qyQUT#imfrVzKO?zOM?-;jQ7wa*b!$8VQDY)LufL`o3b<>H$K9~=$Pj#K1h|Cuq= zD_I+H!OhXyyF6>n_zoQCL9^vzcd+fY5SO$>0U=WwG?$O#H)uXO!70323Tv12o#kKw z_@|v?zD*JLE*8<#wDlbZc321ho=>IMh!!y8&{^v>2J?x9Xh7y&bbe&mkw9muIH!u^ zqZUEEd38u^W4?5qASLl0n9QNm^=W?SDl#F0CTed^9OGUFzXr8?K|^5tHx6iH-usqTp9`2CW|G=HWlKFlz4#qYI-_Q6cmxSU!v4e*nZ)?q)ND-}KoNyJXG*d= zNs~@iUeqWA_8p)`cgpt~(e1o?C3Jboh8YFs$mOs6l8eiJ^9{f-X-7T~&=isrFKFFTVo_2pp_w?G2vp(~Zf%~ox_|3rr$FU5 z!Mr{8mG6T_dE4-HjGHT~{8i$_%f-&}SEKvRnSNf>xixiYU!e84punAx4oM#_NPHu$ z)#aHuW8=Ux^pmq?BpV7l%z0?Te3m8u{I=awg*L2a?C6Rhsfu z_Gk`LhPnwTf`g`FtoH@zgxOvZmYX~!LrP!lAYhhxsd8FyEJ0#i%wEpSLB@we1M2*J zMiyd+Do4Z9A8m3k@Lu~QCf?1AU0ry#zOQwjpy4E#V{^(Y`U=hcsZlWa)9W?06+@=p zV4xp!P{i{N&nQ7An6e|`V9)nG!y}4vHp_IR$$`KLti1Z6O61f~rKcHZPL>WJcaCG9 zYF=D+xFB*bY-NY`p9GQn^CU4KLsSA-3KSiT3uXAtZrdW0aAjGY-ZjymM7R4zxM&ir zxxO5dE%^F-QD<8n_9pT@CHM5=*_eYSIeo12s%p0L6QiZstt(|h?7Kb!HVV~p0%dR- z^%OpR_YK-#e9#O&Mpb1S!JF?6v=_ggTU~W;#zu8wbNZO1_vuOtNT%gyfaZ7d-9EWHX}@i`OU1 z$m4hOOp3QU&x}fWP`Qmw->l_Q*kAY0mJZ(?0PVopwxsIjaS&eLs#?ICydbl9!>755 z@0Qw{6!)3^tNoQ~EdF?_YCg+Y@D6T9Wqbkws1;62@PQsj-ilW!*&IhqqNOTCd|0rQ{4(3B)%d7`#k<8ysQgO@68`vcOa11( z(hp~F3EY1ORKED98kW=tR9ZPu`B+{})yl?4rCGNRcpdKFz^0{$G+~;$YY?QMb;~Fr zN_g9n%a?LLRtU8UJdHR_&J!h=o z>eiJ3>PBQLH}?|j)4r((gB?9a>XB=?QqRya_x57A_42cv3{{B|?u#-$7K&Wn|8&(@U{yru{7*r};OEO&sBF^GFfVi5A92l4Dm z`g^|gcQq#d$01;j9%a@Nh?DM7Q3|lqW)8rH#}#i%RyxyWRP7M(YXANXK8r{a2(!Jn z`7DLyK69V_Pw8E%QV{`iREpuUo-O%F_3K{2yNs?m_&>AnzlHm{Q|4-4?|AoF|@ys_;FG{m9N&7i?v`~BNu+T5%E8TBAd?)C?44~2$us(X%NZy0$hZ&#V@ zZK=cFFa*AJF+_hci_Y#2h>#pI1KOl&&$akw7Ux(a;Z`iXHmP#|gT-+bY%skz^#_yhrw^|a83Oycj{CRfBC#i;pE8To?dih=xK4Y8K& z9&8J{YXN-`YLP?a!R7YMT*80z;AllJiYiuT7UAEC)LKH_`j+{a!k{&^$SNCemM<(f zRhRwoXGf`y?Xl}PC{l_E;}{t)K@^7#Y&oXL*K%s1uQ#q#%O5s5)8YR67S3Va5pawn z_t%@?#r3gkc?KpB3i3Q$U%pme zM8A?FPDQway%rkahvp;&ranvj6h3F z=-#{hgM|dn>L4(=0sA#2fAa!J$C1yz{f|_E1XGGe7o(eALZ;>PGoh-EOCG=Z0U?Jf z%)Rz;&!VE(0()7sCh;;E-2E?LZxF9|9e7w89Z2yZ)Ps$t?CO0|lXyaj=f~7eO<#%n z(LfP%(k5v||B;=bRGttaISqZq&$6c4xMvz`NgzT@1$&sEQiX6oa zHe%0GxqKK48<5|By?anbXv!^Q=a&*RhFzX5dA~CI%HPl2p zXN8~S*3bfx>E|6KsPjJ49WE)Zb=J4BEZCALR<-C5ib7u^6t|S`C#UY?&HEu=SLf}n z+iFzxp+3o$6g|bWyco;$S1FQAZkGLL^Z9t1p*Zu=+nJA`iB&n1a&%?(MD&sm&1Qqy zQCnXzckW0Ha%+KT$7;(gHM-|OSzZD@z6&i28hqEy!86>USXoP-J>l-sM}3&3))Mzq zG`TTiGuyL=IR2Turs+45uIH!8>{jqW<|p4-*52!)>+)wedzr^7ge{DX_;4$e4Y2!GJ(nMa={Bm zI<|Gb$1HzR**TOPAZ{2xL; zRsut?94LK0scwINN4CuVilv0x-=Fg=*qLlAfsB_b-f3M?pq(>atCqk8r6c$u3bAAUpzs=Wz^c3~ckNA-d4?aI#M;{+x$1AHK(Et_tj-I^PAe&-4z@ehX5dKDGdf z#hL~lV#MZ9Lo>__F zV+wbXQZZ0$;_10!NSN+svrRoESUM|j3-aR<2uQRAQ31E0~ql6Rjk>wO_sV< z5s~hXl<&=ifd!Ozm`{TMFg=wri|eQ)u_tH2dE|BqR%RDW;lSQ8{}~PdBw4OfZB88M zjrh%?ok;WjBrpH@EhP&22Vr(`Hh|F}Su0-@1=~tj>{F_>^73gCNaNW7Ri z7Dax>QA;!OBXp^s^PxE%at0=V&N;AAp=JY1NQjc?jKwgQTWedakbDU$wL|#8Gv|@vWEslEvsFN z&y44Pg)2QIbbqk`;tu2sl zg^t$yGkOFHCb3l?fh->=jFzuOw%Qah+iwn-*RCaWW(C@*_oQ4=@fIJE&DqLnkx}q5 zEr`nTRbt-1)Ybt>tmhLVerbf&g8mvAysZ8FGd9Thah6pp+ktcye~~JNQ$=&CIF(O_ zp5JztgXkYJ66MiAh%~XCaV^b*BEaSw_WcMLihZ8VL?GAEsulxp^G7fAgl}@2Oo?|_ zvL*`r<_bSdD;t?XLXi1phIe_yd#U$IfBd9#>A+~2g_}L{KS@RAE?iNK#d;ae|8@!@#ASm{ zLJ?8vBVXke;4kGB`Jlpr#cFv>T-q)dEG6DzZdi_SDczasR8Dr)ha__eiLBsGR0=o# z&#AalP!2TtPW;$)X>R;zadV};{nlm>7xpr#P*PJqa5XBK@Lk1P^{KrwsVn9baJng_iZUKJI^%Cp{MDEY9E+_9~ zMnEkqy?n9val=z4%c@vd;vXL#8J)4#V=N#llP7>7Ns(2tHhFw%Kh93C7y4_X>MMbk zHENgG0e;3MROrneh5p`eW1FZ|=6MtM`t$lFUw7f1){tC*ROY~(MqCX^Z~7z)Le8}> zDVJw`uDwMW*Z#NX+5jVaUZrK2Sm{sHe2r_$#Bku>RwJTjV3bb`BL&g4NLD)**u{Qp zk=D)au>bWNs$u(fQoyW3l%LsI+N*^iRtHUm^obWCG&%)J?|Z{*ta6!wL559E8>dE$%;U3g0=>I&Ql=PpNfry)#Ga^&I6~ z7eQ-mjd!&7($T^A;58tirj#m0k<1noq_q9^%?BH0NKH6udGV%^=4IRE4i@1eS>hwD z((QCe+Zz?vCXZeSzU2o?Y$J-*3S0luwc*b%wnEzr0)s+pxv08cQcEsd+cEq$)~Swb z)n=4fmc28WR}M26P3mC)XE2h{O^APs2~yNfw<7r=eF=8QPg3YCrC3Fr+$kV7~@M-Cd~8io;L51)e*Vx#IV zco&(1@yw8yinW-cFX` zzJiM_-##>2F;PjexMaKNFM*%^k~|`s#Dx7T(tlP?((mX$;Q)F+G23AQI|5O)BL(JP zP^Y`7U4666SGTPBik5Elgl$>SR;xNWR=_uh8nV9xG5jU!NOY%}{4%q!tN|qkSbT(B7sO*Q) z2t1cAeu^$G5_GxwJJASm(@IE?GyBYtDPTyvEeHL=q0s>5*!;=-lyu!?RDB?~k~No3 zW>a3H>Sug&CQ9a~PuBdT=q(E+R;iYxUQ@9vcp;uONQxsno>drPcdKnd?ZI1_#Ht_h z5d<#YofyPZx%oGD@3Cxc3SRwKIS#zsy~pD8*JJe8Tzijl^CJf)dODoFNRa6ZRMrN} zuI`4zi@zYX<8U@0a&KWMJWvja0woI+6FSRl-LIHX3SalPn0_+np#f`|;y>^BOWGfV z|Ez}p9QU^0YKJSC^?}L_vPHSr3hpbE77FF5NbOR%n~GO~eiuil@9X6Wv3uRKQc2tK z&YgcKGQxZGv&Ls`vDaXl?~KE1ZUOnKWl6w*6Mf_kc{85SZcmCQfCjD*a))y}M1+u6 zOVdKg6)2HJAaR{Ep>p&6dnX0bNH(ccDYfZvQFXyqASF5nvp32iE<`KHn=FEDSRq?`4hQYVW0u zA_EjzFU0YbZC0XdwD+2$L)C=D~Mpa+3uu27sqos>I zp??IdQXJ7WhTdZz`beFu1?0{6fZB2;-rBc8jP-VP*Vh6{E?&m-?^O8`ACLmOP|M05 zM#jV&q@?WyFB@GU7TlNwzrxwF*Zfl2nW8Lg<(!lgzm$21PryTYqkT1)Sx_6yhR9fM`BAmiE+}B+`z%Epa3QjXQ^_b-Yt+%59+o zPuG7-DxP_{`39pjD;TKb1tAq_F2{+Jgr44GpFr>$eULp8Lwh34MW*GQ9X{VVQb#xI zZQ+DwXc55@m~)>7iPs!7liC-C_|dxO9l(`1z(4FjHAFLfs6U&Q7=9>Vjpq*>A}dfI zpgwi1es))5vm?91>j_21KmjTh=UkD!#>qwIVM@VB=TOzlaZ`8QCF!apC{K#oIAAK+ z@fh zQXh&77X9pBoGF*=O?LO}+nW>;rzV~~K^P;usaT-ji04U)}LYpt@9? z6V(TgZI0^7>6MG-foLOcT$WQF`92u$P~*$@R2b!N_#ojh5hE7k6NF-v?0%>DjOWTG zCc|*4#5^QMZ+s*^7sae#R8gSh)k$40ij6E45q)ItRtD*s z-Dkh>3>C5Pj105Ylik?}AIJ2fFx5*`?gmR#R-`#mQoCjhV&*+V4ao%!fHJ-nRV{vWAI0E^?XMQF| zcurQY`I2zOCn+p-E_jp&v(_8GyisDXVb8d~<)oWw|0U8vtxvx3?)iK1?uAI<(yTx4 z9cbX5z49?TNhxQtlSEu-l53kJvFN_>mi#OHM}OWfWWAGQe;cswSM@iuXT+1F2!3$) zOs|P*@~%MuYd(2VpU7pH;p+KLT*YgKKXNDDCi37xAobSs+|5EWC{_d_*nGjGGTYHM zD`J$pA+oQX5tYMrZ*?0*4<3+FxkfE#8L>agw{^qw&XTXujIZ+w;}>s`vl+}w+8T2) zI{<&e8@wx|MIC52IRF(H^t8hKW@vTS{-Pa5{cR7X7S}S^SXLMxx)Mp7gnQMI2{kSy`58q?^xw+^9mTDX@y+{?FWRY_x#;6iw zF&8vGV_83>xV)fwz-_e4q(0vGunnc{CY{Rfo2BO%bH!7Ev8>kryfA2wrxnh5AFVT@ zQn6fV%L9lrjexl|*(=Q-G)(nLM9p&=rs5AyJER$2-T!oVs(!vm`lIjZNPo(!b{nxD zBZIm>E7Be2GMqeT&Dq=S0%%(a6?rb#k;HYe}l6_!I7hDoIpj$MiJw@{n3L-i zwlD-P<+25^6C4E<+b>idJZ+hDYO9TGpwJT~ zkEY|H#Bt~CLe;wx;1Kwn;6Qzmy*OzI8L?By-^(0YI^3_v5Uk|jB z60Lv2wJ!D4hUh7us;2@<{9Qe@CEm)LJURCO+Ho&{TevE`cDu;bb}0kR#XlntGq#HW zelA91B^RD4iG!GI`F%6vBNw^5bAJ>Nm!59K@cE%~bdsDI0kNhLFM>~zeRN0!6$VHr z#jY*aoebhd;1&Zs^RqgX-Cy&&VyzjBzAJXI#+xqZrtxNK!I8ilsW@>9U63(f2pwuN zBJERy5y^3#9?{>wYee@$VG>Ko)qF%EhUpQVqDM6Kob-r(*XBr!NGeV|NEhhs4H7fG z#blft=8U*b7s=I&ak}#ftmI@r^WW`Zq+%`D zW$!ob@uO2$_VhYRh4L#b_FLTqIJoso+)qenh_0V5YAZ$5HvuVjzBv0r-RJ6Waw z!;#;7Y3`AS&&k+P_tZd1ujbRkMS{_{%4~9h2(B;0C;h#9Xj}7P$_;)!!QFX+PCs{c zdYA=AWSCNM&IyiQk{YI~GRTM-43~x2610GjfN5sg3KPS3|9n@vwi2LAQs z5VpV>$xo<5Mshs{`B2j$Q8Y;`pN&t8I72L-BA3PzsDz-H7fv}75Wg|`cmeB^_lf`` zs;8pxkVJ2wC^^FLFR`N+^$IQ3^wco(@@lvHyPl9q>5@j3>zFwn3mQnJop!DnOzaDH%UPRliGuvM9HzwwsR6S~J6P}y?tZ=mTNC&|}Kat1$Tyj>Z8gyEkpHHUlW;-iX*D%Vde zkTK3R;pVuLUfLxJhWS_bNiXfbc}D_wq~e^ov!tRK?qn=&2joSfR&gRrZloqh|MFi4 zn4EM*dYt8+|LHhugNGd_)F zkXu4yYvQFbx^&6~VD#&g5KRgEbCwvogFg~(=#+2~sM0sw1%}@j1r+s+Vl$9jCQnxk z=IP01)Ya$ohxXs=6Rslwb1VE+y`|WiKPlmA2YXAyw9M zZ`kp8W-V`!6&@cDKt-f|s{RpoxZDfgCh4iq_aY|0fGq5>=j+evcrx|bkkUQm^R4=` z7+GrDo>K%bz?_A5cE&2k_K7|3CCek*%*1?c$h1{@d2}*fKm~<-r2sa#pu-^ zy^FwGT>HKl?T@#pS=_CUm7lmzl%KeNDnD_b;wSE7?I-TXd%opJAcQb3?sFeRzm7uz z>bZ!!%yReRTs7EBx#Y9jAKl-5)(>1D9wRWDwp8eX!=kWUDh*G799$Uw5%W1Ue64aT zcZG5*H!9^;Zdenya_31!8{}wE(^jKuC*VwtkPDP_Y3M+!Y@9i?pXA;AIP|U~e*QX@ zU7l#z{@tI02a95Snmnfm{a2ex@rF6|qW=an?3xAAzUXc%U?WR9LbVUK#oXT~fSm?r|s&gpxlTJ<*7b8ihudPny_xSMt_ z!A?kh{)~qdB3`BTM^YMb3p7yZ)(<`B26+XUdbk(|R>}2z?c2<{cLGJYh(C^>3^Z() zs*d7(U*1ckIOGwzYyI2lJY(lvg5MqIlRel}_h}$rDl2s2ml(+S>!VUo{?mOIBuFZ^ zDebFLz0XaH-}rvCc zGV?3~eTCqTKgw+%$Ni<@D~Ru`!qxqNaCPBP zoQCxc|1dHQj^dM=4)&z)f0d_JGKwbi$`lylL4 zeV$n@k5T0{)e|}@`f^*-{kU8i3*nl6eG8q-*>QwAN7uK~DM=(PInR~<^d`!6C8PDf zB5yyIYR;1KYA2kO8}vK@c^M?R<&53&s~)9e!|i+}lgo?+V%44^D!XOu)=g!Cm*4!F!SNfK%-r!i z|6#p~f+gdM!hZ=4not&I?WuFEj1zIR;w&xMl~6C6o9SZJnSa+0(&(7aacU-W>Gf~l zOOTp#qT)@26K!&so*_QVcxQHypfR*W@s@J7m&9(1k!79F#TlkS9ePf{`0So#9EY!a{^!j7H0`x2cQ(}$Uixa9dCSjB(Os&&WRmAyzp?? z@!f#zf~1=sVrlpiC0t*ugzIu8Twkb!>yngkeRdP!x|=Mm$)9Hk*Wz7O5*Pf!k)mHg z<8N;m^>0eilc`3NLE-52QMn5%|J6sA3bjyA)y|VNw`!^ML9r&I>OAR#%VyO!qcthA zeYk}Yo*lkH6ST{zg$cW-YkI;?=7=Gami=euC{l5__EiAJR2oLJF+ z@ZqrH5L_ERoL7G0?o4H)+K)H!*MV^nGNcZ|Vc%kee=H z>C(qD&ya9Pr^#gr929aq+31aww&`FjDu2gk__ietuksIlNzwj!;cy|0-pWKe!-}^hvyW&c1Oa-{l-!xrXu_Cl`?n< z04DneO#CJm1^Y~7-#M+wF8QFQ*oa`1XZYZn|JtEi7HF|l^kjm91M)?2MS#;9F_+CLO@X*pww zxq9UgKx21b1BpYL&#*`r{hbW`ErtyKdY{Wn;lJD>au>-QwMd2);Yt~$P#yj^rO&fE z`uhwk^bZ!Vx5oVOHM6jBgM6wV<_GSq ziXk$ShCQ;IM13b61s=)q{HK$`bcPkx59_B=Ou%Ul>jjCf<{iQuJ}J`}gY%{0-RX}R zgncPfU0$WuQTSGWWjXZY(?DK*xw&1?R7l}HEr@NHcuI_b&T|zs3Fl~u@1A}rKq|jSG69TO0Ot!lBtN_DT?ma z5d;+4Dd$~Qp0CeDJT*-$OmN)yyB(8P zaU1ZoeI!HysW_)7(0f1%FLRtMy1hM`@ZK5+j0GZR>DA=))}PT^&;Pc!clG~1y=@F( zu%d+jrkaQJ(qm#ou@G+KV6cca%`Q*sVd|Bt1jk%!c3>KXzuVvI6D%cny*m6!@4S+e zp+)WQh5p3zU;7I`iZ%8!)T3kKzSnc-HqcGn-kq#dqWPkBMs4pXqS$>Enb!GT@Y>h`72OI-hMVu)rwOUO_b z=U%^+|Bc-8Ks4ZLxeD|k;*qZxls{fJ&~L^%s-ALQ-Dfz2J`e3s(2VsWae9CI&p)Lz zmXigkXgIE|QZ_wnZ93Gjrctk$)R;b?uw!9Vbmh2NW>(LRvb5jcV09NwhR#@xT zwAlY6s%0)fQcj_;m9A0dDo6~Zr=|k&g9EkmRgx@iO+IBqaWgpEOYrl0`)|LK?Rj`i z(0W#IMYx-mZ0$+U2m@HFL>aJS3^+8V5OpHQjex}SnKW5qih zXJ|%jnbb~rCL{KwdTNE8-6K4?TYh8ieY|CF`;BOXG!Vd^`gf72)!K6=xro7>A^j;E zX!*x^O+VJ6Q+r`&HD0Q*rea;ry1$YadpX`=-GytG^-5giR62Sdw+VEm71qSmji`&@ zNQ&Q|`xx95%gU^eGbz#G4;M=QAwIEQl>&qa~x#c~Ms zjq}{1uMykjF0{c#(QDfOr)Q9d~?WKbq#^OgR7RAYyBXU{3JWW5)=`>KR6R-GBNs4T>v?b& zTI}9V(!QdN;^eF9TtV29{l?vQ@*y#mtXY-(n1p#PaC;~^eObw3KB@e6Z{~rDghteR z+R`iUO8Gajo*NDhw*Iu6$|AH@_VAV5_Frd=z~#86kH2t0LFhpHT!dpWKX>r>IPe&! z-HAKNqG`$pMHz!w1?V#e(UX>ys-lKmYBUd#Bk=@p0J9tR09so44T4}|8NDR6Z7TH{ zQei3a4rk4S&~!>IOJ{7Nyz{P{|0evplf6?#uX4vXB4<&^Hbv#% zLB)lKGpP^wp~7sT)+R-UM4u9Y#r z2Usw#MYY1-c^BnX$BMy+c^8pFXnP)7R>#g242iE0{MKshuirxTplK8)7d@u{N=+;i zSMLSQtzrELmWy+|5k=^L8C7jmBJ^&G zJaD{f#BSv&)tkAUb#E55O+(S`O-$l$BzBzy^m2~!ZN8*Nd6|rIWUAhvGsGlYI!+I!uAo_?;d>INrv`GP znl69uhG5<{HDB#BN77YBazd(7iI^pLHXZVk9Hb!q0JEfev_KwIkM2@W(xcmXN)_Jd z6h6CokJ!p~%>aWOsb@{LccmmH^10h=4eiIp`C#R4Xjc4R0=&f+$J_UZ`EZ+bb+GrB z-srj(+=0pTsj*OQm5>hW#Bux$T@+(Hg}_Rm!XQs+92?%sm9tZZ5W+1BsW|FU5}4WG zHx~&V@4W%%(Rpivc^@HDR-aBi0rOv!(XyS$uN%lE`2Pw%=uam6C?UMtVr&MgJfoHeE8E~5%HgGamq$hC!_^>71_z^{T)b?{hO z%1Y=(2HM3NT~YT&thnk&ANC;8y={&8o7FefBY(7h&kMp35a6DnW_!!hR&ImzDfS1l zI`Z8+@3lfC@iuNw#8sk5fkAUkbHlFRRf!;oRns7tqFr{ra~>0`4Vdo|Wld)83~o)A zmWJD6F~^+@bT~rJ#z34@!bo|zQ;@kQd$Y)$f;wG!g2h0n?gGyK_(iS!m`VkEZ(GSi zl&j#?+mBb!6efLF-GnZmHFO z<9FsoE|C4}b83t0stBF$kLd60SCbC}dw(c%an%WG$cmNZn2TZVT%2*gLLPT6jslkw zebrp3YT}2l=3Td%j}~QBvzDnztWwpeeZ<0aH9;kr1xnU|(kaobfQeA3@k?EgE0;}| zdUgnX(EAbpchvKSThHk1diqN}&+^f!$MYTaT*&rN_2;PUdbR_t#A));+`y8R)w)YD z*Jov=i4OrQuGej`TDPw=$X)Kb4Z4*syDw|OJ|LBzBOj@+%7Y{cRa~$a&fqRXBla0@ zeydt&B*#idl~`vfa%MfN=<)lF8xyNYgZqyRPmWA$H8gx{WLo}Z;U7n)wZ1BRePmjj zQQ>PM(+bMNm%EHB)*kZbthpOBo6>z}qgSUldLO!LxB3`qpB>-+d$ZQ=7T}Y(jgN{R z{{dJy@|jv$T0T>cdXa6T|Cx&{DCHW1BM9 z*g&<$=94SE#{R6+SyZdb2W>Ly0q~U(2>x$)`y&;#IV^(O>xr zL@~Y;(EAtf+2RmkV4bx;s0{dB?u@6eGoHTT4`o~}hJ@cc^tjf_wDpp@>*u;^SiALm zDXt9#aCQw9Qhj}76s(uM8mmaiMQET)BEm$cN}0WO7t#>0mX0BFz*;y#{Zxe@K0}LqCA*C3W2gx@?PdIUE)H0cLIxA4tnNjE zKi)pzw?YjzVb=WCWevN0mak#2vlkS1Gwbd8=hM?+EtEpBO*79S{EgR)$Xmdw?#B=D zxU%Bk1k8m+B&UNzWrAatk^*a_I5Mthm%!K&R-od@R`PG+^F$gPohk9X!SRV!SSaqV zX+;J&T1wki^;Fu%Lg7r{F_A~BFi^R4IuFqUxE$zw^R#?VxR~H>7w|noazfPhP8LoT zQC|!v%go8n=i>DVF&w49X--OV6w&Gck<$JZYOGA%&+SkA+Tz;;E{0IO$L$=aeIZF#W5&pqQF|{GFVs z{GBKa!QY95EcCtY;4|Jv7P6*gtvKFJfVf(~T3e?K<}rTSm3WOTpppvY$5P4zZgPAw z3ln^IHmy-a^qYBsA|hpD0;v6kd~_y!7QPzMca2U>e6qrcrxh?qWdy-XcUeNsdCiP2 zqfb9fpOt3OrG`e;DfAU;C%A(DIKh>Q%7;b8O9P6yRW3b~H^}Jxy9LyG|BqW&+5PK< zDBoG&LIWjYV+HXX@QWP=N3^$+Ur;V!#^igzTA^ugObYqywzUK;%E*2oIVBfF39N+UH@Xg*|jcUE-q5FS4+wGab}$s`FuGq@3U z=sb_#*b(1&4((3%pdIN;Dq5n~jLSPAAmD3fj!->t@Wp3h7#8yYD#s^X#m96@8G*GV zW6rRP(4NHO=mjuhqQ1XX$iU_ZNz7<)fxJWC64O;iCE%boxF&ovDubcn@sT@;27F!Q zPJ#iCiQGvn;7cQS5(+pNxsyo1!yF>Qo!N`piYg&GbYR=aoo!{C%SDR)0N;LVq)f8I zU(gJ~U*um08546pQmT9uDmEgOvmgGDO{;hIw|(fEanEL6QleHpFAf}(N?%rlf6yX1 zAT{PZ!N&g4<{zC;KwX z0ea%XW-VODh%#Fsa#fQ?O33m38sWH9aLh1gzWRP`OAu9#V>+6JrIQl}m# zOKp$x(Ghj!+zmga@dc=@1e7?ZQWBR7$F+L0e!^$jka+rrKb7CSzTvI%i=_Kb_N-B_ z+MxJ2*)xYD+a(4|)mEfh;3T$g*?ZWGL)Vnxc)2Q(X~%#QVSK$U5}Ke{m@n_k*d`HA zJjRHP7!xFWy801o|LN}L4!RJ#R`d>shS&vs{tqDLw}IGElw~ccRn&>+TrwcI4r2ExZ7LOi zpj2hK*HQI1^3i-V!~O%#1C5&cAy(+)-6nrcuER7rsA-e89Ii>ugQQ8}aI43rBr0dM z0c9;dc?d&ZX2iCA0C62OrpSoB&66wLggTNhg&cSxl1-7IlguEDr2Z3a9VV8HZI$hn zwq(3_hom1FOU9sCml@`1&(UeVUSEdtQuV1L9fDKfN-+}TQM%`~%F4t;?)i#i`^y5> zC~y&f_pMe3ObmLg(wB*G`?6GE|GYAVe!5uREcPcZgp|y=3PS?dP6>U!wo^*wsLwK0 zI^MpW$j})T)JrP>ti$@%Ijxmk-f%UI=%a~1g_A+Vs41L^Ixnkucj5*TGK5c{U7DZ~XQ)hruTV&IuE2C)0C- zhk$SvoigVCN%c@69}3;?FGF{VrYV5Fx8h*^KvA5EFBREcV74})>-@^5wuq>QWb6`0K2ZE2{== zD{VjIgDYK`yJ<+NCppM#t_xJION^w}tZYe)aI-A_HkAuhGFJiSg%5R?y&b|^Ilj_E z!oy~-m3?rATRn%m3L-#VuXU_h#SXXU3LzZ-tqUiqSli(?p{l=aD|q{?ph~@VMyq2X z^4^&C#AXds6mtlMvVIH;==d=h=Qf^hRvTb*{*U0oN!tWP#P3iqGdW{R+@c=U6a~$G?$U}s zj!}35e>#ooTx%E)xq0DyT6AVhaDy4D{imKGnXReIkHlab#LRH^` z56-)`IUh{iBSTH?*|m>ScLR(WGrRWkFVnkre3WMG+O+|R;1S^ZPk8fgj=LRtcqra1 zJLvC^PjBtWjZb~mq&34Qmli)jBMwh#X2kf}4Q!}gdHOpM##!DoF#VJzEeJFG`6Gca zhg{yP^Zz}B`CdZP*sH%|VnRQ5C#9Pfm>f`MF6Jz`=_I@4^E`L5GjoA~vc@{hQ($T~ zMS5C{st2%6ORe>JyvT-!wLXi-J@5Lts-%<}Tn3?XF>VN&Q;QPMVHX8%{+A-;$g92s z8b;M#8ge1>-6G^!+jFDooEkxuW-v(nLWY5jaV9fmm?9R}dywj||09R}?R@S;b@NQ* zx##A_#*()h8>jFW=WozEjg8azyNAEM{0(}yv9X%Jb^QH}zZ2eTZ0yV5Q2u7~_acAk z6Rzg|U%6*rUgI_22$*mC&2VkN{048Ggm6068*OYgU1DYX%!Bqnxd>*i;fCx}HUk#* z?nqf_=1V?v#%6oMO-#HbUZfK1N zE=rZ`$tPv%vQ!~a{wLSxvyd-r?6^wmP?_7PjNkHI1wU14UZYcFnNlx{ zw}tDx_{*R zXRqEyV$l4j{UCG0)wfzt2ywI=fDPw%Ww=J&?Ymp$*<-gsxRue-b%Z{9!j;Y_f6sRg z)&Qz~8CTQ-5EkwS)rKb~;(WoDJ~2f=6dy1TgB)J*7V+W*QpZkvZGyOR5=Mmz*^)l) zBtJ#6H1WxJU0y{3u2(Hnqx$sO6{_`6UpdmNFDsDr3iHe!0c%E)45(ezw`?FrmIW%O zaB?&QUHNc-aU(KaEJ|-lwEea1QrD4zDIsaKM`77Y(O)E*|b@D4{7*6=w@U zvqwXP`D0Nwc+HVz(HWc3q(`Vg`?lxIX$m(+c8BiLGC*juQpfCws*^{$fT+R^EUr5C znNVnjH*=@4!LI!pm`S;m4Zd7+yqf+e`)jZ)D3Kn2YTtOdu*2cL43*+YpY$Od@z&2> z3>f7P+jkr*cRVH2R8UkZmPV_p{LJWZ!h`MS@ip; z5-hT(+@Mg3O9Rq|xkd%KdRCs}`F*Yv33?Ek?s)#`JgWuFo2gBXC4%z*cKxo%SiW>5 zYx(Z5->+87cY|KOjB}`XgJ2!_%rEUmrbdwXX71=&%wpwaSrJ_Ux<6UM?UK+{piASM z$x8*t&iQAaC&{7NdFD`A4i}G=ao^=E2kKSJp;T4FYUtm9<3^==ySOYV-s4!r+s+f{ zZMAz{j|{m*`$I0sz(1Yq1#$_+`1z%RH))hMFZLy0$(~QVbWBw@BUmU*)ay`lYi>2q z(Y?K=7kPJA^}x!_Q{Y_%A7nX-0r_Cr(Hi%x=MfSXY7=nodUCedme3A=l!~I$iF40w z8lL?UHtX%;O>*tAPPRuv_91101+ar4@YY`Cl7^6ty?8 ze^%Xnnp`>r$&6Zj#?$lq$dja%@fWasJv4m6(Zm^C)SnO=$NLtMw$K?Z`P%Vcp;!<}Fi4xbo#|qM{$((KNv?t)3 zS2qmqT^2CQJ38IKDAn|qCCepK%l~6{i;N~Lr(BWcFWA4al)Of#HiAXRn9#gcBEim0OV8lv|LSlv|KW_m0q%tFrG0 zO%6zRUOZnU#OXbX;EL-KOyetn8ZdE4FLh5vt2y9lNqr!&^s(yG? zOG+49T%NpEut!&~SVt(Y*z*f#m>l#35oft|HpFw693JL_|alvWGo0sUDP zjEq$zGsdcZjE+@3isaqs6jQ%^|EuIPWAYxc z4mT-Atcp=G>t}~&f_K6y)!n@n0(O{c7k-$8YLemB!a6Q~N7jtqY`yL+o_K37D6}!5DM5ccHojr(L_2q?p=WuaFt$+r@;<%D0^hqip z9pxW1l=$j@(V3dT?-!Du1;3**M(~R#juiZIj-Yd{5gbK#T!|o4Ngaf8kHgh*-l2;Wxda4Gwr|4>-wibyp!Nw0rP7@A=p1d z(IV2oPho7r{QFqZ{(9xekKc+ep*a?%{8-U#q^VQ%m^{I-(a_opZdH;~=v>8T*cjnn zGgK*)P#i6u zzw|OEWQdIX%`vhg_&o7BnUv68E>gi-S@5zeIO8j%@KoyEq{>)kh>-#rlc98D19LSNx;@oUDGkkN+EDnyws%x}=c)04q zbs}mFN8oiE2>(fj_k=sV-!{S5rv8ltJC_T^BU@rj^pA*o#vw0Th6IDHVkgKF8 z^UEfsAiB4MF}IVvn6Ey+@>F0gQBH(2p#wm57b?P(IMkbLp&k|1tX}G#-G>NYx^P~2 z8~dd)dKvDNc$s9`$VlUIqbxeLpsf-6t4M0xm}jqFiv(xBZNEgya`05rClG>S3irPF;rUoY^<1$^6 zaz6s-aTjT|J*llU^ip1h)uV?*XMNTgcfh)~2Uq1A@q1!^@Pf#T_7s_01b98)0V~v_ zqyBK6p7fw?kwu;nq0fAoyojHg4X?f~CNW zGq62&`%1B2cSCD^Og5~EMAz(w*4i=>w2SBe>Nb9q!;G(xGIEC2`aOl!<@;arAfdIw zZfLE8EhpXNk9U2EbU^Ba)&g4EUTS(1$Q8Y^#`25LbBqPiD;0~$9jHVeOLi#U!m23*_bVF05=%~|KUS+)lu`aJyS#q> zdT&1xA;%+&gzn?-scfJmP^Ok6ZP_@c);r&N>2HpFmON&85edoB8M#GFh=zrJH`+%{ zQHr)>sihWes(sgVTB;X1smQ1w?-lYKIx0}FIEuW;!ajBsi|}2JU!}tt%={4icl0O( zOvPvA6x(a=hSM(C%p)2*yB^hvjO-F6hHdqkyWuHca*`I1O;b&#R#hV6DDfr}B0Bzo#2Y}j*BH78Y1aHIU>+2eKAPQ`@DUwM zr0R!aUMfAl6KW}(xVU!rn!IoqBJ-LHWJj`lO{;LPSHI;c;BUf%1y%tF6P* z`9d9|Yrb*5wW?9<(3~SAdiR=w@Uc>Hi*PTgctqE#Ez^c2`$rpE5g$-;MAz(f3Kpn* zp?9Ne4mv354+cN3}48KP;7&&yVsP3 zZ%(3fZY}3imk6_~UP$`vHFEMotpj9G#kJ|;p*p9yv_x@*o=bU_|8}n_QtwOjD`VK@ z^sJ*~MZjt8uaBg^)>0sRtJ~3zbaVzS$@ZImmx*j0rzW0@$u)6Wc!$nDOv z#Qb{GdFGfX_M!7!z;lx4g!pcz3(+;()UGEY-Ogw{6lK`EQp4`3hMm!wDm*)*i;y8S zP*VP*Ky9i(nbXm#E7PzmBF8q)@78#v+f{+|mjb@*RbONfRfF^wQA6hO1@Kb_0g718 z=`Sth%R%*p0akTOe`zIOzENKaJfTy7x>9IL>R$Ss5?9->f{yw5w<=>tPxw4(q{tKY z$#0oxA#}kqDOd|x=i|O5z$(tq81ozrYN;ifR>?DIF{p*Y>REHd$ zJtH!v9G9S8jVh@F!gY4ZGg9C5OXKa&GcA=P-eK)9Z8CaEDUs~suaUWI zCl#8iCx}HcvacFNl4$5tHFx({T2gh;EN$>x_eya>IO{?|GxTyn(hJQ4#wQnvqc>?< z{!8|(;k>pniQ-p2<`v1lSU#qXVRScZ$i&5A*`qZfVETNrc>UPKcrY{-4^YuFuek?8 zW*@)`RmN2g*(SI$F-J@Y`auYK9=783QFkUGo?L6d+-pBKOr$_>h<{qCk8u@B{o!a2 zXP~{5u!r^~-B>(o^8-DkBKyzc-D4A*fxL5G z6*@U}R%PFMfXXCliarTSyvABAuFY`rEm352bQ)A04x;R}_eI!0;Mo~#}icV-&bZok)`WVl@C8MY$ z>7sXa6!_=cPfY}{PSgdxj3wTU_B|*$aWgMv>ZAR@1$p9|(p;)USzPM#&&N z+qBaMh5wx>S7EO8a_L=!E}Y}-MhoOOk-Se71>$kyUn!{<;sjDpVSfqxZBO#U1hm zd7b|F%rKS)H`K_%|3N#nRiwO>Ny1y_39xEiI}T-%P<-Kitg)M$n+(Lb3VuV)%+az!M!4nz z<&L?)U}Y|_ik3yMLW=|0+?(8`(G~+ZX0?BgM4n+SAQl8-F3@K@UXf9U45CXZY4{GJ z4~jJWsr?fS8L?&PCC?La*eXd?%a^)xC7D7&@&I?ywO!^Nyy&Zjqv*xGmK?IH9tlC1f?pB_e`q_gPw}QID$`~Z#hb<^F2hMmCV$5o zK^CviE2q|?frpXUzxjpG?ydIk;W>(n*&V(lg(>NZe517K`+cVDj%9-=Trts}Hqx(a z(&yusjV^}^a=Sysh;Pi-?Mt0Hx>M zo6NLs$JOm8x`JC=!BvgBi5cKY&%d&Fi8W5W(`&w_F^u+x(4LacPUD8Ew05oD{Hqb# z3olYcGSnB~37J+s5!JyvV29*B89JR7DT|dz39;B?ACL5uRMJCxo&;3B3k5Hm^fM({ z9z7_RWO=+RS)SPtG;eVvOYGQHj~_iwQ<}T_HJ2xqK}*owZ&hq&ZDco^_$+L;Q6OxATCTJq|1tu$-rn4flb- z>W_j>B=*UI6*oQ*zps%c1`XZmZG0!$MF98r)h^)Px?XdU z{IGz#`B)9Oi_UHaIN&90f@YyD8gdz}CYG|n$buK=g&c^mkcKH0OJisVs0{Bf=W@@u>+Ce8K@Jy@F$1bBqSZ zxo|PA0cD=Djqp)*^4To;JbU~~=f;uNJ5XIL$G{MUJ`L&>gVL|;zuhMd?X)*T?GM;CBj@^PQ=OeeHZ9zMN2p+qoz4pKq5>&hTZ+0+18_SP z{{}+64^UCF)5*jgFipDbkU_DR6Q$rEo7mruk~Jli@&-U9cr+IA5rT*WDKgu`_i7Yc zESySqxjR@-gD};SftUHBz9JqH9}+77c;skw8E$KR=bLb@`pjM_<6a| zYmnFC3W*qVo(YJ-EwOnSQN}XC|FNP0xv^_5yG)H;-x?asZ*gkY47-xcn!>|xUcMo= zd+G#zW*Qn-ZoUK=0*w~IaYfdO!?_gs3u$pVG#J9;Gm|K6o!J6X0+Ifl_NF0{vTg+; zShwPZY>zz&kN&wKqRdJ^KX{Wo zT0>;b899WgwrRg#2E20(&2;3N&>e6MFQ8|2}qSh+!XqIobC&8};L^s1Y8DG%c zL7yPepCO70B+gI>;sLw&f;2G^uw*ux>bruM)!4@v^8#( zv3R5VPMEZL_JKW;>D9O;m#(7wx=pH!9{4}PM??=?VBA+%P-iTwQ-pQw8aAERf8NRi ztS%UXt$dxTFSb6sFm7#qL&~@ODRcQ z%s*|xapqR*%Y3eJl)1RjX*`h&4pLdBBUCt1Wp{qTv^;*V=~-xghmT;j=DJl*?P}7Z zHT9%&JT?cNKWE3B1Nhe5U06)|%xU+n6qOG z6A5ST3RBWbPv-1sWuerW%X!|a(^Vxcc`EshDJkTzfH^zN(eHETQ6e`f|L)4k=|x9x zq9k!W|M>gSv*;b4sSMc2VvHtcyn8-{^?~6`?ZNd)d{}Eb{xMy$*`3BEygc$mr|HLb z9`8Pg5K`?zYD4r+*~6P#y38Cw6w& z$&}rZ7+9ohNcij(OLif-mjpw0s7nic)>sNMi#8ojPHMR$poFFsNG9XKJHH?dyg&|^vzFK zl<$Fgq`F}O8<@&>_fU!}Hk&inW$(e)cDKd%YpF1Ep4+{!tnAJ;^WZf{%A>ZztxqF#VtR#vNMHrwjT@6ro} z-P=|d9xdo-71*kx8`T^4~=2Z&Lg-U zvQfxTLg<0B0^2`2)Z*J*sgh)!<1Y3DKayZIvv_G;G?? zuyk?5&i(2NMqcPNy#y$vpmid~&=r>&S4ma8GS?gvRAq!h4x#nc(KVUri8+6Zqa03) z_v;s*PMXvgrXPj*!ki)cxwBw+bbHB$yu~B;t6Lu*+cL6y-OKT@Yeybi-_2RjOiKJE zb<6d_c@>SVv(BEg>rBMzO}zqJZ!rsCPUBJVX;o}7x}IxA%;m7T6t?_VD z!+xA#Tn2Wly9E6itBL+25L>JzWTry_tVC*Ig}jP_ z3%x`tXKqp8^?SE%&Y4>Z;OSQ{yVjh1*0?{VMmhG;y@bK42jE7|OZKfO3mCvC_Hkb!$Z?I&&+awwG@)Kz(k3$`eqZa81A40rjFS zzi9+O?aBaF(GUhtowI@c73Gn4x-NN#6qp9s9tPOWz`eOkWw&h>?p;3iPPQaL?mR3Fd(>@Zwm#6c?nfW4FP@Ddk$QxT0l1Q}WE>pYS5oSt1p4pjn>W7W_?Q zIkG0#bC#Kz^R8~roy`TSoCT{02#}vY6XnLfUC75;CoW6HL!|d}*n{(oV80726GEc= zNeb$aDIC+5^3bg6*i}XHc!W8Jt5`NQN6>PX07Ev#?Rg^S+z$RIFlYHrUeZcO*~WSf zjvT?!=d1>uqBWLo;Fg8lpm%c4hbJ&PI!~f(Nr>&da`AoQp@7JwXXq-l3%3;yzK##NN0hQYxIE_Ey#yyvBRSjNI zHD@;>DW`6T2SZh4#eAIf?!w~$1xyqK2ahTa=8mfHVLaJ`(Z6pUPQ`LzqJA_uc#37Y z9Cs((_bdG4_;1wr&8kM<+nM7PDSLceaLz{sG>^pUwq6p85v$y2MshdPPQy!{0QraR zV>hx&hyGTQMkV?Qju<=0xmotPo!W@)5D9<$qbEHsb3SSQ+?kElA|X)AQwf0z?{~O< zzmarMyB#sF`}vZuTldVM89>GI2fblCIHGc+({z@c6s*L}S+4F|c1&Eigwt*~r=gF{ zUbzn%1%JWqUm%+zPfG8T{tpD0B)j204LiDr2PlWr%CXi|-CHH)nI%IbJR0pR7*g4| zb;ec7|7Y_6n&696V|>zSx`U4-4^;iO)y(5*JZ6wCA!C6}oJ1dPXAlge*}a&I7b?)O z8%M``V2!P$jjO}`ZI3E>l$Jl(Dey?ZN zd!79EB)fQH3+JJM9Cn+gQ1>QlIR1yQ7Ph1IWSE4<-xlm_-{ySjc#zPFT4LzVEp{F+ zw1*b2&kszJn{9Y$Grl%lY;~XZ;h!x%{nKNsJv!J$9WYft@Hg!q-nlA@q zXAIK$!yG|7`+R@a&GF_QQMSE(C{nQDIYQlvH74*zJD#C@ zkBU@%?2uJfJ@wC7MFifRmyN$JQc(jUuMfQlAKXHb4wiI!i&M{E<#!+G{x8<#^Semz-%1B3- z7}xG@+}oTJ#k0gvO5HzjzKL(2jKd(CV5Fr+y(6>ah79>+95@VmhQal3dTtn`7eAm8#^QT=$^2X=`SN*XU<3Sg`Zgd?>Cg>xD6(2VBx0)Tb zvQ$V~y^M;?-b4F43tmrL3)`dt(=@wj5=Bo+60xhjyVGQH45B)#BDYA-8Woz*>de+< z6*iA}!!DFv5zn%e-GofY(#lSHC=h)!uC%Mm3cEwrmrIg)5y|;Ba%I+k- zl&S1KA@;yWLFC=-b9U(yPSY)>VPDT}!Zye^*3o3*qX zK|Lq#y*jtsOU{A`opB9xdsZ{v+?={25^{&qESR><%7;O%T(4Gx$|LLf*O+PC!RG4C&Xp(%tnJY|`tfE=7%8=Gew8(>|B2FU%eU;wTB+H1uy-fceP z=@V(jyX}mWZPvh>q?mna>k?@7J~eaOxt$s|H8<>R2w%Q+3FMeh8@}f!e0Jcrv7Jkr zM>d2{t%{HBtZ$3z__pKuZk)%@P0`(#XScz6M|790QV<&s-O~{;t3#Yj9w_!br&wIh z9rx%1e2AZ%#D0dK^R&)qzN%x4tapuN7)c{b!RXDL`h$#D%Y`81AUer70iFBSIdfm3 zD0#F$v@5yG8rlW6AU(9drGTLwf3Jpi8$(tZvy=x8J2i8RFS z6?qV3LIk517_;qsH6kBL${fK#d%=HfwpE)@OW&2?_I^xm+A+r71Gr|9lG8*I7=e^B zPkwCf^Gd{40q60qpuH2kg%Q0zzm>^OmPOqGZzVWkr`1iC%X}Ga<41k{96ET;?gpB@ zsd&zAZ9JMeki%&nZC)e^g3p7!1*alM@`0=3))UN*$HaCXQ5mA1*>9oh1s=(LbmJmL zjq*lvKRxT6GxO?&D$%noi-?cP3Cz!pe!ezYu=dsg(a)kw*6wWBbaKNp4Y!_~TiLie zbWA+BGx}M&uv29tkrjDgP;qxf!v`l8DbK!JSCw{@{q|W?aZVaS&{;z-GC#$rf>=UQy|8#ME?vqZ_TyxcFarh>(kTcl{7ANbTMBue1uR7At2#>_?nQ)mbguWPc>~!0)q^lV2X=mFTjJDtz_U!+|0&XR)N&^nH*ejeAp&5T${+ zuOi#~IJcNdb-d>>bclXAf?`VE++c1?>qe3)ROE*Ds*23!p!i0uGgL+&m&Su;l~%E% z6)#zp0HH5ZgC_Hz_LzxndW^i5qc-hYiC2^eeR&Z-9OFCNtSbw|1&Oz za?x2AM{<#;i$nZJ`*M-15@qo)kGgt~7=qhqMb=g^A4h_^U%564ZTX)ul|_J_)bZTP z^XgCsLnxlduPh_|4evT`#-d2GpyTl&2g^1% zjiO9JX?`W*J7U`!>%LSE)SuT#!0)>$>}vXr~yb{i#xHf8s63 zstat`8GmG$^xkvB^VsCiW~TVC-*`ofOi_3rK1V*b)^IQ8FuTJAa+Hu1t(cm#y_$Dq z)!c1rwr14~UtvFUsjaDGaawcJ@P6C7I{II@xj+8V&UzBo8#or0l9 z9q4skQjL`0Zl8TsKpj@XgVFPtw_QKTjUNJ=L}m|#uxIk5vL$r5iLh`(4P^a16sW(n z1jsz@;7_1yI{*7Scr=p4G43&>FHu?(#sI_-7vUaw47g*)8JpPR6%TR;^NrwOTaDNV z2B^JHo)2A-`p`lSuS~8_@Avg&Jp=!$hJocCEiPD*cMuR6`f-;+ff?J{tSWBrWBMUY zWO!fV`N#3y%muIimBacJb~|M|V=`Bi%o@v{><3Ai&@9vI*#)}h=%xHax@%7rzE%?i zt&&2&#MD>G?rvTkxueWmA9*D92BTn92bA zxDG$?{EDl7sO$gad=`C5JDX(=wz1vE{~nq*qIt4egehI0+>)}d&H5ShOL}uvK)cvU zhla+;?>8tvhx4u2d=>B6SOE6p`IQvev^s|XdTBF<;Gvo7rC~s}HqQ8|G^(S;Hjg90 z_dh<8RW({C0}I;}x4J8d_f2*(DNs{W%{KcjwV$3g;juWqQn-9PzwvMj55lYG7hMfJ zk5MFeV&hO&!&cvAVPci6HYaqoKzkD|1T?4dS(+jE3Idy9XwR)<9jhujhOEvv@~v4# zu~8F9snx?h0)Z19HNh(`4n)Tc;f%H1?bIEVkn-h2WqinNgOWe#CmidPtc#7hAkxeU z1^M-t0N%B#HzjXQFn1M;= z+yj9B?k)zs=TKyadyM(^PCMe;+$NkA8gUK+XIH|EA|-7XXdj~rwL|!x>fG&G@k^|* z2-^s8m#)`>#2WVs9Vzx_%J;}VzvAIHVV@ayrr9St?|;ZXdq3c_&jfG590vM_Z!h@# zV`Pw034+XZC23>^^9?e)4fK)O8*C_8ANDaqMkmM+(8+FrnLmIij6El14>!g0*W_gi zG^ep2PriXfGXVgSYAD;Gh&kwhte!@E#m_{L{m2Ni;3cHIVOX?9<_GtC-xm5!l=Tb= z_i$%zdl|iehrq*5r+x1e<1EL~n3Da60VDDjW&FLt#_HtBdJ_TLgC~?LR`qhy+;+8! zdAHkmINCq*RFNPI57jFCG5X9~kLmTBRZQq@(|b;1i@FdWb~r-~oM6o@iV6x zN%nq}I5ll=B99eDqc!eN@TEXiZi^#}$xnI`E^@CqN@Tgx&&?;g*&ip{Qw=}5C&%qn zquM8F1P_FaVx2N_bMuO_aXO73(ezW&8}5`InxNdgP6NV!WM^veFC(*pIi!N)L=3et zh^N|wJ|>7WXmmbzrlo`VFuid{V0BXvnk~r?FYm!C$&93*&_bYfA64w5icl1F$t888 zp{33|}wLCH%pG?~qm<39q@He24f(d%FDn6-} zkEy2e3Jx*UJs8aO%xvIhmGix$_(?VMx@qR-K|az~-dyZo#>^?eAS$e;mgZy(f_Xwy zH)S@}hoJ}>{#WZ&QFD5*&5Qx5OrvT|^tuAzEEJr;Zn%(E{3H%s-oq1ppAYsg&d-T4 zBQg1#7_9;_;wYpyk7r*F@SbT~A9~|s-FL%GLYC-kWxs9%&tCDL{gr3je}|5kxu>Xa5 zKyp0o?(elr)Ira)qyG(g*O3GAydzt4GMdl-{QqpX^!Znmoc}*Jc{}od@_CQj zhbKZtWwaoQa%RI0PGnoMW3fUT-etA??{ulaXaHI4Kinu}O^yaZ8 zK!9?H8JX`FI$q%{>2WjN{d%WYZ5zGRQA^)Ng8X1{lBa z3#Voj-s%;~7BEoM`?Vza{lbg=!d0N%FRbwkTQX`6_X}5fh57Dp2O86)Afs1({8~z9 zOt5T5Awe6j}OK! z93mqEM*;hiKIP?FuVx7~XHhdf8#46LuKwf<$WHemo0d^n<`*_(6qfjfw`LSNe&M`~ z!kycN0@(0VE--}BQ$o+FVO^&g^l$x5@%&Z1uy_kiS=R<@e9NBFt&H-YA0m;m!TlRC z15M4>->B6gS1H{ zE$J|R7=Mws`{S1e4x9{HVqqKDj2di!YpY{-2tc#sRUK{4Bp8GbNo8JVQ6o6`jo?ck zR>%A8R~1>>dRqK|J8NPGyiV5O?!m}1_IiC@<&0fg<&0htbVj`%$`6*Uo4zcV`wS1N zom1A3pR?K-y{4vYX=u3aw0Ms@gJnZkLGR7RTf?a{tIUPJez&q2 zm4=z!%5iS^RW7cMU09%vd>7D%LSy;){7@ZTUlnCT{~L-*e(6J60>0)};BGjrY-md` zUfn&n+8MhJXx3LbqgIFVtID38zPdX1nUF&?W8tY~LthFyrz|Bz3t%Q%f1C2>XUtEQ zLW4E{$Z1?)uGv1;%c662=vv`4Toe1Tx@KVGEZbCm7&#G15RGTVz*ikF>0T9C4nFhl zui{i-ZK)y)L3J5hYsP*RbVlz2oi7NTFHT<`%>9f9pmUQ&=cbyn<#m0NM^>#|F7zZ1 zVTTz-)Ay^gc-2&+7s$Q8x~#`4;&cRRyn^jqXH4S^-})ZuYT;2Vym3Oq%CTbn9J8Tf z$vb)Ryl7RLc*kMERB~)-bVX}#Gm9bLmik!r(&f|GJ~yL=Grt>|+2uIKJRi;BN`p65 z#j8tlw=N~6x1zf_aH*+oP%kx*w{;%-7=UU9#y|wc$X0?j}0P~r1K0AlcsQolp(}&&9?FA7r+Y+wdJV=x1-u+8(8~pSxj-)$=;Z=`fFest z8W<{I6CIURZ@%hbKbXqAma4d9es$TV`afvUt77LA6STLgn8RAS@OL^*Rjo*W!y29GItb7G%jZTmoqW3+}ZWU|y`}#y?}WhdZS1 zN}h}BH+h!Yr>V}SsVR6?KVgTL(w`>wCv<4V=mT?3L=6R}?5fWFgsrE*x7B@tM>Z*} z=%zY%V{pm#V(Q|zqQ;Wyj^g?Z=b7v&=e}pA_teL{=huB4Kl4{rf5&^oe|b6V zS)X2#JjP7D6Z0XTz-_F$Y;Rkqu4luJ3qu7BOBOfm*tdQT;TN-xlSLZhD>|Xb7{LHltJIxODHSBbKrEZNDb&gF#&34%OL(|w%d(MJS0r|7( z#Nca%IF~BdB|+kpV0`?`r40OTci-2D8X&hX%dp{=(3y76t8<5ZEmeO@A%q>(YL6J= z`r{!F=f36Bk2c$(b61*XlmY6+SJhIvFnH6e1cNmv{>&xOd;B|dM08zbh;> z>PE*S6%2Z0`#yDL-Y&M%c*JCV**>7|Ff-Ij{nEsNJ~_#~nU75Wo!QJ*-N!7(H(o+{ zb^Owo$((Q=PqbIKK_j44Vq4wAOs&v(Fkd}o=F1SX2jeF9NDE^tb!V^11Ziy=q*d`z zEs^cr>zX~#7N$U(K0NtQJYx3AZSPihuiZTtx`&`de@|UqjHyq2SPy`5f7RPY4ut7y zeAL>=_G9b2gSn@jxtyY*fK}n8e<`2QR$KDi;LmId@+f(fY2@JtXykma5k**-($y** z?UgFZGBT6n6)U_9JHxZbOyf1s8?OV~j@N)!GRCX4nZSm-o9%QcC4*9(b>_x#V)!X_ z=IGj_)GxkW3;X^=e5ZNpv(vDbTsy*kyssn=hV*g1!|;TQ5(UJVbo`c2WRqo zUoXq31P}O(I$x3E@$Y=fPaA%{&Q$J@UvFGvX!P6i>(Fn)uZmRpyr<>W>tQI5SNjE1 zc|}Y{tGN?-wg;|N+>^((JBTZH@AsNJf^x&Ped)D(yI0zeQsvQT+6H#KQArQ(tuLjz z?A&o5Lz*F`oVgEDkP=nSTx~d&q->nWg_T#NAJDbg6zoaT0Z!yyK9&4FGWiWIGT8dU z47TQA%=T>U-0~oABu?NNoI!vkZVjKguEdd;cwdXr@nJ7<4hsYS2NtrlE~A;3C!rtb z2?M{KpUmtm(kE74UuWLwc>G&Z$oMw$`kRmcUjMc6zgOe$HJ2WLI`7`@m74LF)IQad z+NWf5ZCYOaQ~7-%`N2~9wqyD23v79yGqjX5mt#j6YH2c$L<;JcC#oq-e_P|z&K?h) zlCqahNz1Sd`F(6=1J+)`*vzn(l7&`oKbo?RqR-fbKbTR)P_8wj>bgq~=SvR%|7#!Z zcwSg;XCIkq$-ieGJ#1R?GIH;TDz{zP29LAGmZ}gSrw=Skehy1peh4I_U+iz+gee?_1VRnJ#xo>M9 z-JwQK^cqRoN55BTiC6j`*+;F<{!9MK5Trj4M|mj+n+$i!D9pBxu5QC%9rKrGAN_~? z^;tXql5upTW)xUEhc+x(+pyzU=N1J(Itx}~*Lb|ADGr$fDK_@bQ+|1dz4NceWqxjCM|Z~@ zscp=jwLdky_s4w8d#q7$>fO~Xo(6o3r)a>f{3Q2F3&_jndHT=1)geFLxZ2R*x8=ug zuK)5n)PHH3SmJzB`{yU{-~C>5Y5hmn-P^s=|Cat+_3!Yfc+clgX}>IWSW5vCbUd&l zK|knhk)i!wrOolv)<$+5Ti>q@i_BFnbX+WZdn|6|aE;p4n6Pe;VV~S%TD!+?@wUZ~OFKQos09u6vt?hU3fd{GIuiQV^5tF{Pi+ z9+%4FFMnhA$c;L;vOi>~q~AyI-Mg>WdKc%-5aWg?Ugvh)Y>GC!ADAMi=>su+Jb%Mm zEOZUw+AMTgmm3Q&W{Eh55Z+?`3OTY(TeVD5M1_w1<_`If#uVyvJ@lO)*aG5-37FRw zo9ft&lTE@<*|dbO5u$!w5k8t=w=JQQ-HQzj;p5ZXA^W2$Ho&~!z$-*1WxmqGJ%(3E zz({BCIL}J0L=^$P)`Dl5P-d-7bulGeeEp_yz-cma;vI@p>i6I4$kBHgKJ{c?b#(e< zymF}sx0>h)$xkxD8*Tle_UyMZ8;_lW;!ZvV{=9%{LD67K;`#MlXoWO8lse@P*7!L( zs8;c;x%K45s1Gvssplqs6n|i=!arHk8+JJDCHtD^G#hB$yE?i{!*F0VG2H2JuDyL= z-k?hImGr`AhEqC4Psaah4+~(MMHS9X8tg?#)`T3^#nzkMQ}pSt>md~ljz=mnjguGh zEmE1r-(>!3`K#b>2!B5L^rEhuwNT3^?v%JZjiVqRl5C2e&awqlQ}h(D1=AF^npYK_ zG=cG{h?H0E$|J+mvA~kUmA1u04~K$>)|TV}jPM&*cHpzDywhJN&CCRZePkGpo*u~=?VgR{na>#F%n#NXUXAC!#f3-*e|nh z0+3UrF3|;@A931{VC>A{ETq!Eal?c0Iy%0F#ndgqDEn1b5ds`3pS4|N+z(*Nxbnz2 z-;i9~u?-Th6@BImyG*pZ4XATfnFTs5=jWt&S$e()~#CH6%8Qv$lKJ zzZt+;T=zke%$fCta_Xng`a1n!>De%{nkVu63ttoVk8rVF!&jC=3q20i5#_x@ zJ(81PNOK)N8zyK&+5-;CBJCl3%V!q|Hj@dyWVfHkSd)ROOS+~3H`IHf0>|~C{LmQp zT)?!4+xM$Kj$jK?+}*ci`e2_cGFHImDZb0Sdt3V`p8vuc!|Fag zv=&=?`y6a-Z8CYB$BXBKNYD6@U5oJpz~mLb_2RsoDyMR{Z#6gE%TuR!!#w-bV1E9o zeWVl<(Tq?+bLbKnLCZsgczw6Rt|S*zhvOFI6kZuo(-0n%H-zwn95&y@^OI)X zJ4dhA7;Tay+j#yb7j>XeheXksgLwK9PupnIemtYKzrUohGWrp%Wce&3T}lW3LZ{IM zB-pMx_PA9=cL9;*igVMj<$K!3m$mOnMz0(@gWkY(serY7cf?pdxTQf4_^&2*c`bvD zz*-+Vu&V4$d%W0nJ4wW|a;%Y?(oC;z*LK49SU*SXyA$kFBWGp)EaWK<#K&ldQw6R^ zJ||bl2R_pR`K0VMLqGjWJT*6UlN+Lm9;V=Wik%jRv7GS>iVo&wpMyYRu`I@%$xz1-;D_!;75sjgrK{yS{3p6#er` zv*S4q$4v0WaJNuRWP8t05Lp~P4_=+fHV>7@P!{S+g;9liA z`4ZK$^>X4Wrq@K6RY*m23&x_NLH0hb)=^S;WIlQ!4;rc;BAwj0m1k}2n@IWl|M1E6 zL9W^eaZ5BktRS84_JTKkX>>$N8WjU01jZJgc$vlT zcx%?*ZoWCDpeDM_M@iFHxHFRPq>*Cie>{X@1n8U$0Sf((2R(NGF!Vn@$IySRC;#n< z)6gcn?IpoH0DHTq8UURp;m+s~3uIz9U(Oy&f{?QPrR>lOl1OR7&30S}0}^AL6;Ki; zP96N(95dW~J!B~(>nQTi;KitpUcHcr-KQAU9QS!r3|2P1R~-%CJL}+@DPPp&?k4&q zTKS;)cRmL^Bos2qY~UX#OmWO!?|lV6okqD$;hMibhp3d4@>IZJYG=-W30SLWH~+=R zo5m|SxKKLVW}5aApN)di%bz$HN7?vUM(Wo_$}juKC%=Qa^2tv!nDD!G!RW*X2}Pnq zqbd?70iuQ5_Mti!z84UCXMtE9o4L?w{DD53F-`x5V7}emf*C1)G3kSK8&_FiaVm3# zFg5255FZ_d(K&OzF_HEHKBXckVjvPf;C)ohqu)glH4Ed(uH4?oZ5z$=)45FZrcgT= zo2Itzb*H*!2%1h;p%z#34|`U&SWWKxRgtGV)kHt3Df`lipnr)AsLUC8SZLoyM(ix^ zd7hg|&hu)@z7BC9+=rtF?^N50hk4zOaFf~g7q9G8UAARlVfc*j$f|fv z=hCeUHGBDJ`cG!{hh+ZDEQIu`Scbt7t^{bgz}f{m@gI`*fZ~WhcUF8<}hmqXpuhMmUWU z2B*e*6dPy`qS#r`jVNBlLv2X(;+}4IP9Cc76Z=&ucYnO!g80xgBP&{jk?0bDZ~P9Q ziU(RocB}6O{_0*KKhvxJq`SX{E;fE4k&k5;$Ya**cAA6nA9O^ zEdj<#2T^>ZhC;<_eS@v4D4cYo^WZ-%FHA}n3U3nxxNwGk>6G0|G z&o>9|sP|rwx*N=0NBE$I`vowOm?5nbc{(pyk{&!W9|8Y0;J-O{g+cr(#xHbwJlI0U z;JV}DwZB^QdkCdrXP3I3@!G|U@crv%`dChw&wW9ovN(GIJ!cWi)Q!gI+lfumYi2L|@Ph z)5Ycs-804BvGMbQ(Nl_6&TRm#yl4#Be!=LHV6=9S?}pnFjGkJ|I}$V4GJK3}%x0X} zyKjV~0SK>X;<;UXf&KO8`Eq7&4;AjQvouGA7Q1QeW0I@+y9rs8Y#UM8;xt*Asl63J zO$a91eIf`D$=Oi<%E4bF^$;LP6ZdXI&*6t92VZ~7YK&_!JA;v#59WmLNi5yLHL^Py zm#ghos4ICm;_rTvAGQ&HKbvX5y2nV+3xuC|{s}9@6^YZia|0Y0mZq`PdVumbpaL~Z z=}qmliV9uxEg0y7Jj*~SU+iOKc#>?7l&^T-=cqYcwNV7qD~t>F`SBghHkRH*$IMn0 zT(Bl)Rr1OAXIY;*hc4_YZDy9*M@bS)iqmsRs*iWE52r+zeIBY3f^Q{142K=!Z0Zym z71`c7d<`y!&f(gc*sR)=Cv&Y4MnnhhjxKd?KF=!iw@nJ0b=ZSm+?#zmUlw#`H5*}QJRK@4mcR2lhLnYiTK8;D7B|k2*tNCVUo>#JKuna3munYomT1BAYIS|)bCz`vnv(gmhpXzkprZfl?_vI*whIp6BnzJ(GN9c zAITosGVlX&Q-utBHTFq?1ZI87(w&L}=#78R5fK z(wT2yqj=>`(@z<(s@ykgqVF>~yd*IJ3Mt(xelx14Tm3*(QoIKy0mIfJ8vy{H#-s^v zsLFkdS4tB~vFfW2&l-3TL3-rbR(*Vd#w*=wDm#rjfIJwtO5@2tah*~cpzdw=!MCkI zTtl@)16>DqvGETk2Vma=htX!aD}aK&3Rf~tPUiFR87)TLRW!7AuX{BCk+&$p~YV=&Z=S9$-OqMeYkO`${Q@i@?#0NDF< zPySC~$P#y}L20*TXc>*_3d2k9`UcM>%@XaB443c`-*;5;4ej%jS~~+9r_x8tj~1~S zODC}*%^JX?%ubaLs#Znvz-(m$n;ufj?Bnoy@&%Q?XW)GDg|FzKb}{+-mBaSj@zQ0G zJw|)hhONYZBjqW(TPbUdh5rVKfwD9%u-_XL42AOoo=GHTH%8 znO9-8ekRwV{3G8*OXBKzn2IbQ#e-i*c66GKn4VrMCHKcOtulBGrZYDA3U}WbMm4g; zNrw(F9ZD|r^&igY@I#latbFw_neaL%l6G_4FzQANAyTccW6P+<2%u)ui&tYDHBh*T zs}MXH@;e2e(=mJpoZ1e)>uH~sEPOZpO$h&&@Vz1x=)qUkA$)(Kh7aHTT#L}ghmle^ zwf5m7NkYm;OV$W)t?n1t6UKfp=nb8nLT%k!LeXY@O!)mMXyM1wm{vrAMc3Z6E1A>` zJ9}8a&o&528duK)KtK>^8;4CsKAkjuC~u~v4-aaciU8CXJqgt9))zhahkir&kLnP9 znN@Azf7g!hKZjq$ne3k){uF(N)}|0ReWb-P>l0^K+_B@=r_GuES45i)Pnfa)TV{KE zpwCxOGO6*WjrR2U7o&#S(Wm%PPO#p=D2E|_R=O3vH!*?31+MeshfKaKGajR(WR$9D zNe6gzm2I6HzKT5N0Q}k_1j%IH^_*MsE<;2qtyGMiSj(U6McIjp36j9VHXMYUbs8Vi z3!G_Q6+NSZWk@~dPBv}S8Pclb0s zOr2=cf~a*?17Y~g8#iR^hc7+YjuLT(-<8394Hx(^fiE{>o#q>qc||7szEGy0mM zi&_(pNYbs>Gl^}Tfh=7}7B2K5iz504K^Yeyyl~Gd9qho<1l)TTxP3G&jlLnPICvCdM=Cq4TWvm5^(>e|Se@D?)Q78_D%q6#C0ADortGzVxV?*-F* zQ60U02$W(@OC6d#m+`u5tgp#ZdNB5VKds4FP7&K0ekgf#O?1`-1sx1z=2XGb|Nfec?)@J`D;z6o8hZJ zV_g`&N>%co_XwDnzKMyLS0!VAqo1!1;=Q^mBj4lH1)1y?nvgk)nQSJu^I1*v+Zq8s*@W^C6ZtOV20AjzY?7+krLVQE=8d2-31eD8W@!k!U8{N6p zed;shsAgX)M-|hMvCs}q4<`1z@ytv}n`_M1n5X^v6`zbQ;L681CbV&4`^&4of8Wmi z_xAJ`>m?+orr`}RLHHA+VY2rlEB`2HAe4qQu(OdPth7}7tBr^0)8W3!!Dg`%Q;_jD z&=kS2uWDV~5_LBVP3%VVelIdub|L@)+vj6wd&;M^6H~PI0PZf)3)C1MmOPm${{;})A4YXRWY4l?D0z~I z?Al8$k)@nUlWjq*jqAIbWqT`n2644Vn#rU-k3UoKkv4g$w`V$@U+|Z#{?EwduW!_v)t4#%PG4jJt1nxakyz^-wSjA z_KvCTz)p$741c8HM`d|V$(tU@g8#dj@M~fvI`qdxrUfxTsWmeT{|uzlG~ljG!JV^5 zxR2@x?m#=Z+paIxRz+VR&w!VZ7lxgkA!(;Gd$eZ2gG}&^@q*4l$v@4=|6+b-_ngLF zJo)##IF&9=p^F!@hMyC@Dml}b4m!7hPn_816SB23KjC9fm^2vVx3C=+KXE_2$fp8* zY8wmimg^qX(tozXH;N=Q!&3&2eB>zuH2N9%<`7Y=|vLM)>38 zF)+b#Fu{*b?tq#ex(xZy-&Zj5-*b%T`Gd?+o<47+obPG=@b?#!8Gbj2s8WIm=7=V6 zIiBC^;q2k~SsPq^bBdb^j@G{5c`Sozl7o1VEgI$Q2ctB>(-l6RuJr7I zj_`9PxVhn^4sdhFrC%#6HphKgA*|KPy|x?GBTKjV&z?6J{C-mm%3ks85rebcrK??9 z#H?LuNP0c}sEO9wPHAb2?==4@8=LmjHk;-`$r{Cl3LSXO#o1jK_2qkE%=3 z79{pwhV?Pp+IQF!R$;#O$IOnBCN*QlTx{icvLp7|i*L$D9x1<{^>-Vfej!(0j}Eo^ zK)T=;BRd%C`==P8+9txvqjw*^6SCpEDigkMI0!wGb`V5XMxU*p=#RulEUH_$f5%mO zxVMey0Pc@2PQ&f5=ZvexM~?KICF6#SfxF0D99h}=(u*wZw05b#92{H^wyLI#Tv(mE zvURgD^|prhVT%U#jtsJ`T5XvgOy=pVrgVW7FsD^u3{{u|dPDoObW%)) zlVW2zVIw7bdn-IT=@9$XJnHP(l0U~B+nn(?kL!o{)347TM*ljEje^tWV2S51>=Qu%vQxs>QB)VBEw@SEmNKP1w1& zIM+bmGuG$qHemSpk>6*b;rri$3U79ODrDyiASy}yrt^J5oC0K)5D!Yjn885bFY5pc zQzo~yO3Zx1A5ZM#fE0w6F8t#Mv-(i?E&8w&uc$^zafb9^vyQ4hDAk8wt@81FK3DC; znlTC=7~VlYes-b9Q0>;T(*5z}!Qt7x__yRi0fWn6?v?6=Cl8)I&mV?2SNg;7W3JlE zgMl4^|K_Cj^1#zK=BNYA!LRu2)uc<;YGSj8 z2+`vRd1Qu6&OW(ZcDrZqlZ%~jc?AKAMRHcX#u9v=@P5e`+uDQHF%){dx@<~C=uRxk`o{AIFr(k4(1CEi(V~d$ zWOsjkA@oso*>wN=Tip+sK_}ny-~Vsxs|P>-|5#sHe@KZ=?Le&`AY+E`otF?sXa#&4 z(WSyjg7d_4+87wA`I_A?;WTzK6BoOOWiRKJ&lv&`xoA7Z+9U8i)N*Zg{6_o{TSLcH zm+cN6jdg~`ZVv71yK$kGp6(?dr#vLJ@O$_^cu^jb>i87wIp4eT0tspGE|aG?uS6Ef zWzu3*<8zfcKKb26U0@e|bz1t3pYw){0%d(F-k3JDSunB_lCn$!tl*>V=Og=S34c^A zU+uaFyE#RM+4$KS3V>s*m|5&-8P0@52F?%#19u7^F2P3E3j&dwO1L)xxEvQ21X?YM z;h~S!7AAWt#i%D`O4pe5obI5}LNZ6CD5|91M3uCzdd^pCkF!tT59m2d0X?%!K+hx-8FS(|L_1WcrMrVLa5Pg< zz|IP{LUtkPwSS!v6!R4+9Pp_q!Y74iMqoHxK!A^5lo+UmGm0hJdTRhpe9x%Dsu5$` z#rG`I+P4{rF^tBfA=-pg6+In1OlM+t`f#BJWM9iz5bS97H7UNQNbx;0z)wx=vRaLv z*?KwhTrnlM`+%^dPllRFqdQhW$3_iLRJB28T7DZJsnhr<{D|x>U9Z#n8XvIS2`@U0 ziufp9Z$hQ48?3r)o3&pRCdGtltf9gICi;$D6R`=!lG_dj^bquozkX_cs&u6_jDLQc zdjKJc8Vn6jc&x_e6d(mpV+zCLvjVOzK1V7T@veZY{$9_nW@NpShcet;Kol-AgV-kO z>UKl)nZZ>fwc>A(KS{?*4561$fQ_*7s9cd$pC^Bju^-RNm&@3eu<-z7p%t9QZ5h}~ za&0NDPgr|zHSL9W*a&5is(zjddlefxM9GaI@@rIK`1q``oQ9w>J=RzrdK@jpCc%Z< z+WVaSQKCnmSC`ih{` z*CxK^9>LmwRV=S0`7-nLBComdBQ%v&7hm=UclR~{a$#|1aFn{GvvjO}_3ay9{vYSb z|1%0;+Z|xd`nbfo_N47V>>NGX$)j%6g@>I+MQ=oQb`DSFRN!!bdm2BdD$u|%l$BB(Pg@?%)8pzudAd6p$LSoky z^4XvW??fZckGD1V%9J*d8;f$3kaSdP%uQ+mN`1B4@c?LI(&D z`v^US+Wyw+{`zUj*jBe2b5%Vff|g^lsEHpWa}n)Y=<4+0$@^)4Lh_fH(ipv>@im_! zKW({pzM|Ar7x9G6vx#UZ&f3qe=O@K11@x>x_K8!DkQ#nwI;cLQNK^aOp;Z35(lus> z_g!R;Zt-_`C;c7r-uKns@u~KXPPNDGDZA%>-!#xfjpT+nfXk47_|xpgHqT%C&)P$% zVTyFn9%8!rpR_l~gRfux0Z;7A)rQDtruPZ5IvA_ao8Sw;!k^lnrJFbQf#At{Kalml zVdQ`IzMmgG)L$x+MJ)!qyCGf)C-m4Pycm%i2jzq~qKO=-f!OH<@Mc(9_uU(p8Jabf zyt)#v`9#r#H|w8#-M%HURI93Ri>}|3jp`{i#hpSzz-bj3wv^Rye!-An{4}FIjF^>G5TU5&V zp9gcEX@}#TTHldJPBEG+w{4{@l<0u}!L$WjcVx+lE@dh|#qJ|KrsQpi;fHuugcew&s+meZ)b;hOp(^pIm)-SH@5u?40gVrd3a zk(US|Ds*F~DZs&=Sg$v#VrQ2G^~$j)un~_<&Y==MaZ?Eo%qz7;Zh_ZWeJP3aKg-5< zF#4ih9i=mCIA3DK=@mhza)&-8Slo|TTm^>Y35sKIs$?FbSfUr=hdto&JZ~ob8Vl{d z3kHcwmV=dJ2hk%8CaMD6Ey z(?gCOGm#BuedKlbJrYDgKnMQFvwf3SRK+eRDHIn>q`W8PX~GIk;`LM%&mM^iY4W^w z+X{m#$5!xFRySXL3@kcL3ow`yPix_MeQL=vwJd{Y@@E4(a7nyajc2kYb3n7^2R3F9 zq!-#LL2mdW;173Ap093BDpxFsh8?cLzNtD|Lm&e!t`kndDMI6q|h#S`dtOChj=- zXNaxyVTzpE+Gd^SB0@0}ck=}h>*iHrL(*@BG8fvtvbo`&0q60t(=HQIrX>$!mu{_C z{y-%#C{hB0zDi)w%Uv}({Vp}uhlaENk@a`$mb;Csv@lV4we@K|`i1F5b=gLJ*J;`d zNXUohG$!F@3qjuy$~ZTC1-or0O9xFRgn1R)2%0Urdey{^2U)Dk>7g+#`zW+rM&~)w zX03nGtd(7_2qBQwBl&`69=o7wr+Ltj)k{XS1nbmahOG}NW0Y-~m7JfrE@o#^J1Nkf1ZCBN%$Ajd88b*Ipo z)!HGv$^C+lnF{*iQTk%67K3O_2(KDly=agL&=DYOSkdkS-imB{nEuJG2pc@ocn3z8 z6l-KkBIUnixju)5sd)Z*TtP4pFKs)GpTpiP7qr5XA0$5DX5Kdb>5Kg8=x;U8-uIsC z*T2`b|F@QRGv{;Bmn6-OrG{NUlo=~ovqHsMr%bb0+P`J(ndtZyqqvqEbbMjWEyMlF zb|<@QQ2J%rL$IOt-$uj3Inp2%EG@Sowpg!lu}mJkA0LNs8;EB9;okPCax;7!J~(-? zneXB;_<-#oEp|e56V4VwD)h!E$?sp)l>H<0yPD|tha`V0b65LdG(?A)nA^z}YBd<0 zVNhQyr_hn6`PT5t#6_5#g7^wV5yoO8FnLfhzp&wopC+ql)NDubzW){ehQMOg)K`v{ z-)65WvYGVN@s-Igbk~GLPs0O*!|uB{;x=o*A50>gHn)!^OySq~Z$ek6?AJZPGseK< zdj`J`G$}qHi$iOBU}UrTz!35%U>?#gjU6`W!Kw_mOGoxALRs0KWuaPAd@7T?X`l^p zv+)tn0Etq=^!LWe5}4iGS4+fBV~{a725m{dFI9!9F{eA*lDQa_~+PZQ&r{v zyehv-)|mAWj-BSb3H%(>5zO|SIg&4sifOvm?Zn?VKz7OENb^_ByPU}PxTB)_8-7i5 zXKGAPS-ggIm5({F3j3Dn!c?T%v_YtD-@{d`o+!8ov@{*Z8=xiGnSp6fWFMhvdQhXI zzwc09&7a`d!}xav#oqRf*;C!U7I}ld1q2$a(_V}2Wt?IHj&mA#N^cc42? zJF25&xdUUP0MTsL*zF!kKqk_+7VkEu%p?eMedr=M9CAq>eAzss5XH4!tD<=&)zO5R zATDQXzA6qi6U6l%4M?T_@sF|>mheXSh2+`}(TfE+8EsW0rTmV;elyO?$`k_uB5;}o`LiesHQcv$cq~x*cf

      |J2ME=6s}y99ya$BLGoGB4i?R?#AMfF?)}K!g%~6@3GluzJyp?k=2~# zdO1CFz!5yG=2j*EUw|-Ws}d(XW2U9c0)JOw){`|nfnQg2Cf@ro9l?{VL%*^aAB9CS zbEh$vH>#r}VG0!0KXmeMk$~g`F&SJhjYs>_#jgx?M6vWku>WkxX-@GH3-F*idyyPAr>r% zEYTLQK;%_EV4QE^4}qV}n$Sw(6dVYJlPJu3 zBh~p=_i5Ytn&=KXw&c;yIVKkkLp(Ysr(wh~963$&js%N=8aa5O-iDtuSXrkYaohpI5%fBxQ?ZNB{oT~ykT%)wv?=u3o(!0q*H z06j~*Zy+2HiXkDh^79qpg)=#|5Bb4pjk%XcrK{kt$=CQ;q9Tf#3UYSokwoyjOZ zCU5XC$(rSgT*+JBGx!|EXYfy_Khv4dz*-w{@&?tLAV)5SR*T!7lYfN$e%BXi&!79o z31&yqpOb%`j~$Y%j+vnr%C7cMI;~$`PD1-1=W})=eGDwfrJLc46a7uEtL0O$V-$>H z9ErxYn-e^vk2PMoZN>{;iuXK(R;h2q4!+qRnm(smcN!Pcg!XD1b-{5@)_zafcR%5= z=`;CceHwC1S3>Cbj6UzLKCe=r@l<+!{@{3noJRpMq2tD3k@B}C&X2@|5E>5Ng9CggaEWgAqLqn5U=5kDAI}`x#cOV&T@! zBIjy}r+M;*&aC|vyx0@PoQKOBk=Q&vQalA?y|4{vi<8PnAZ>7*ud)+)2)5=THnM(`_7f^-|5UdDC9r# z4pmX((#R&cWa3C(a)1Aa&hUIr7sluk{)(Bo>F-Zm>+eB3~Ei)Cb+}t zvCHZ|jd$o^f2=>1BmasG@&YIK(eg8Y#at7$zd?_V)@~_3YTtyB8vDq`C!Ip0#(#=> z?o&5ZfGOBF-hWFk4ddIcraofUeJQIdG(*dbzB>A;iC%(DFpgLXOQXwM4@|Ac$Y0Am z!1ybMQe9nk8js-0_*0|f5d$pP>`Q?OLmYOUz8ssm%6;WnBM?GZ5;&AvoW@D0NBJ)B z(|znT5hRI>$bWnmlqe{@ZhMrD&){9xH(MCPx$!GIs5v{v74$=ImvXJ{c-Ct$z z!5obzZl?v(3E?{%QxL6Oj(0Hhovi-FgS#+>oVh1bG4OZVRZ3x}X&90>aVBLovF{rY z8{d^YoVmPHcx3g6Fz&|+?vuUnzg~^g_G71U8TVDOnS~+>QjLUHx$l&kKEGwsG=yGF zbP_DQ8=jEdJ7wRd-jB3<|JUC8iPZp8Q}%_^*vv&H^rHoz_kB&_vcG?k|NYp+B0PBD zK(-?oIMQ~yZke(tKP3x~-No;Pe$F?-ZzS)|`~vOYR5Cf)BLm)(4Ta@+zg8-qeNlfGsYwJ#9KA=mVrr_0-EgRlP>`QOe#4cqn_+IE`a+G;a z&)m@A9?YC}*gNzDQImk&8oHmh!*3FslG-4}^lx&qXZoJ$si4A^u`zL<$gMioe(BxB z_W>_mSMX_oLMJlnK}I!H>O+Wok`Z<6d;1GQLkqHu!$+oDkU#!9AY(S5)eaj0!?6)R zVzQlhgnu%-bfDLz=hUT@ewR+PT{_NmByXMv|2qbLPG9V{G4ylcdb2RJNu9aj7=!Cq zlZ`@j(~Wc~@ng}k43_iYs*7&S=7xF&W@MRF1! z)Qm0qhR(lb-?DW9rWT|Ui{(K%7s=c6H<@VA7If`D-?vnm;bvEu<&N^eUZ8jZDe=@c z=$*!hJ$yYQHUls{IjB`Ptd^7#|lUkkfm!*)82pWmghJ~6qkpxp+7{@0Rl^H3& z9q^gRCKtAOEx61*08+G&MX*5Pb{{8RhSd7vc+P>Ywop1t65E;DI$ zAK9cS*2ZjXFv-q8s9QS&qyG?p&rlcJSm-ZFwkxOO@x1uPRLpT^1Q2GzZ8TXOFWIsA-!{t?Cr8E&QzxH8s<9<$0cGHXaq_*V)G(cC$={w}tX)F!*jzfOz>N;DWdDS5XK|G3&k z5KfLee_z}1Ft6d`)o_&>4#p2W6qrTPN7}|mq#NfrOB!d*)_05epI}4w23wYB8q6do zRUy^!rxr;PH;122a=2`R#xKJ@D9^GFj$yxvXCJh5vGzeBc9sy)Pm_~=fynM$JU8*4 zr64)k!$!%(d+yI2_CqiIm@rXeJXD$`67*4)zos_u6w*k#!D*Bi6aetjAP;u}8N;`_ zs~NspzMt%C?ICZFoW|FvVg?Fl-6o6A$wd~Q>pgrPCwwB=h0pS}&suyAviKa5#wQVG z;IpUKzK_h4+`u5oIdeqyfaEP{>bZWQJfrM7EuU@LY(^6)7tXLjfa~rBIe}rkJSys` zqU{U@Mf;kf{13x&;wI!$wjL6Bm06xv#*!Dzv(Y965POn+k&z(+Q}|3XI}RA z#%_DR`o4>b$`3GM+ui(dTScx_Xygv7j@^3?h?8>I&v;=ONw%SFc84xjym+WDhIO(J z!GeXdP)|ObByk)qp*#FeTVWe4?ZLlEZ9WhE0-*N=Xhfd>F?QXjw5_*)E*%fbq8;G^ zHoU!GePGe{w@5)ogn1g&MLCCH2~b3I+LOLVTd9*C4GC{@0wZ9zx#L&`PoCpZ=+P!$ z;@j@`<*ub0kKl+?rK72&`xE6Oi}#}UFAY9?6OHK0CW$Ps zotJve*upk?JW;2aLu!4=+Yjr7RBSbQuZW{Voa~RH?Gx^gwzH}&b6n|7xM%8&iJh>3 zrU^a6v$ZwDSkmi5s}W~!(m(j&4f8W_H9yH>y3VkC;64GFYU+9fdW(H_Lp+P%PCXZi zM2(_jj8!Oc=i%c@u6sDw}zrvyi zG@-lrcP7-y1E3_^Oe)FE9ep4EpvxC^&dUiGBu-(XOrAl*p~F=6gpxD3eP9mZ{V>g= z4YSwi8P3)mcPlw8^sIa8*>F8WujaUKm}fwJeQq9sJc|_N;`HbcZ;bd% zkB+oZGM*lZQ;AxzVidWK8c1$vD<8(yx?lFTl+mFoEb_kn?Ns3nhjge4|H4_3q90UY zCOpV?m2YLe9NsDS)noK?x9$f@K15<(wm-b>mN1lB@!95nNI64x51|RoxDyLjky3Hn zI-?FV=Evh|Q!STie-MqAlAHlF#shfkd)FU~pwS#JIA!SEVD77>&8;7>3R_zhgJie4 z@Bg1kd}+qf%k4#giyD zY@b)3TAj7rXWCHooA)&Q zfz2mr!k1=OxDV+R1Om@^g>l1S{Fy!cdh&W-o5In+`reg|Mw+ze0$ICk8>KAfHNsS6WP6lMeN?rEt0d0 z{5$%Y(u4EQUuxA{j#0!W(u%DypB4T@N2>(2sLx-e9i=rzx8#F67xZ_t=|+SVQ8M z&(x)*X+Its6=Fc!AJ72Uv#cjRY`7|9w*bpCAy7-g{;uUt$eXyrp zbO$ZS+C_KF_argRF1o8wnEo!hTYv7)4lA*&S`}7ic2v(h&~BtVE47i1;12(#al9nF zp^ZjIKXdQ;CAZos&#-*Q-%EEi{MEt!x&36JnEi9?LfJ#&i7biVk^Sh!PlK=Df-ew+ zXYTf&W}_~~EkY`Vw<+|_J7&vlL!81kwlwaX#wxv@5txX>9ewv#h==OZFxVSHpx5UL zw75EAgAejb68rObQKtekNKT|DcN}Y0jB0!8%IpcRmQqpQ|L%nMj^BIfS~W^oK>v@q zbAgYlIQxG>5(o&MAfTwIsGv|4f{GFW&6+H1G*PUgs70|E3#acC7B;Xa%S5YkB{hY3M+W=n3|NEOcXLl2V@P3NzpAVaJ&fMpjXP$YU zXP$Y+jM6`-Rfc0ozLzWrCEtO(g_1AKVb;j74*bKyFpi?~efRRZiVMr*Xm)3FeC^xD z&aNnaj`k`zS`#gcpQ_y&X7V~0_I!i41X~(03OWz!xzGyn-J|};Jln0%i*6P+gm4J zleiYRSXKV7TQFK+mu)wu6Ey5n>HZQkG*6iXlYoExar*hMDfzla%qd6!l(Q4Lod*9* z3iTfDYtUaB{1f$kpZ!LZq+nl1*)eZMz0+__8O*Z8mmGl5x1zm%M8jtqG=kWyp8McX zx!<2qlLkgC{*2#?&k+8m^_ji0`t6{WkAQ9j3?(5>~P`$QtR8Y-v*Gbse zyte_#bN*k+m1~>f$Bf?oEGkq*F~dpK@RchQ8v=cc@anLyp}>bK#B?{&k5|=kv#G;L zbm!auCiQ3{7sk&8=JPJhhq*iXE8zXkKY?!zMu3nT!F!FqE9^J=Pz(-}MV$GYof)5+itg(%?rK<8 z7^`?S{&D8Kx+KPI%$-jkA4fLHi!9kr;u=%@inf831V$bfA%o~MIq(Zzn;PFlHFJM5 zY+ZH5GS|s`KbGpgwkAoP70comM6o?bwS?JH9o|w>-;6<>y_pmvzThDE+-UOkXvKTZ z4Qn-VWQv|rKR47RKlAsI0)U{pq(`b;L_Wr$U%*ZaYD(I=)FoJmzaJlEZ@wibX5aUN zOf{2Hs`p!6ld6kFAXGKU?l09OC&o|{->c?Bi)5c>uV7^JDpugWC-5CjznmKkMIfgE zA@}D9esi+$^XCDKT!YvTX#-9;*%!VoVcZ&99YQN%Obt*$l!dNZ zaN`^h$Uql|*Suyp_%8_4q>5!u zsk*2AUs9T2s4+5-7AhnWakhpKZTtgCGFNlHCaAS$@++|=Z>m;xF+Fg_1$nj#hv%v# zHndVmJSB7shD!Ac5imyvE6lidr_1LACAbdtrLA-IW`74+?V|;Ng_sL z4^+nQOcEn4*`gK4$!oP$&Kx?36hy8vk24BbEGo##BcuGl=Q~O+m!TMThbY-lmTolvl)IwhOGP+-lxa@_5`d4C$NE?H7;y% z&tUsW+>7Y#$@rI*Ib@Z{?;dg8QO?;BSj`W-H5&nG7~c6XzQy z?E`PfX3^3n*L?(BVRPxNd{b^i-)O+)G$6ttGt@JKo=J2;EdWME!7jqdUW2G=;v*nUj!?c zphbE60Y;x~&#I#zF+Kwd<4lE3Vne2(4@Fp8CnqOXb@_`u43~9ws1mZeK_hYg_Il_UAn!?}#teq$a8lPGUCwmgcv6<{bDpqw{btrC|`#kHY>f?`e33 zji_QEy!hVKCixmhQF`28+sI}95(09K6TXJ!^)uzgv*o!#d1g-(4j4$2myK$(geUO! z&Qu0)4Dls;Peoxyns7~$nhB=1x<`0NVu6O%u!j4OWTo2+E{t0@%JkmFaAX2-d^ewc zL?R|?e<~SWNk5&$&2(5(p!HLOO-^Dd0aBzHcb8lTVm>F5VKxWGzRa+T8!g31tCSL* z#P1a=5YY4Aml?2ZFoR4gA~57k#hWzFlU^brZ8$hPwts1#WVB7<-T^*jIG!X_F=qhT z9zIZUc#SZa60gY?as_1*-N{6=l`?xJ0Er)&sR&-(QBb1Z-_qJ-Zr|w)@<2%lY(3X3 zST={f|G|cU$tX;PiJc6lAui?f;idpn%hQ<`+Kz9akksj6yXmF-HZ@Wg=IhjtmpH;= zy8iw)THC{NTHF3@w6?XWV<4kOS93CAHx@;E<`lTe+o{1$pI1XI&^G+r>AAf;_Y}>7 zxRzDT-Ab`7%FQo);$!>>jBTiQ5?O(RI zow@#^Opa#^`}YzDbs4oPOrWfm$g_4Qwji=G>T$I?i=Y;94$YSp{F)iRXJd z9NcDStK^gpqc`ntxSzYu5*LN}C1;xh1P=G}wZ)Jwxt;`hO~!dvUXyPk(lj%YK7~mm zLLFU_tm;lf@ul74bfS|mVL{uErtO)5wCHbM2XfsM8U#ILr;UGM7tPhyX_B|=T!n4@ z8)pWs57t^U0ZsdbefUQy>lFG&>0Ldc|P`Ppb_)lyKw~cJm@LX1hxU?hg-Y0>19UL9ACF;)A5NvV@dR}_~PR2N>;J@X9??lN;n zDtqBp(hW4}!Zev~qWgtK)q|&Z-~I|<@x2ZGu+AJz!{I@+kC~9UTXkxBX{4|vb$a(m z#Y@h$;y%;GdthPzor+JYov|OubrQ}eta=_hiIMaGIG%9^YK6%ywS`;lv@eHf^sOnx zx?p5xFXE3To=%X&#%r!uCu#Cw)4{rrG6yhaeuB5jc5`6(ZeOns6DQZJf(Fc;et3lcngD=Y7cKAA`h#!gUp&PWvR&tzkvC%-Q@&eyRaDO-z^JH#r@D zG|t0>N6EEdl5^b}Ml6CelTz=C*{Jbp0UE&K0TIqt7^L!_SAuys|0^hC!DzUSPs}k= zqpbLwin|nKMkMnFLH%|b%2<{g*Io5V=1?f@$EUH1 z7j9-#Xx-=5-chaFqiq;dLr4M37n0 z*fevDB93RXHGBd2%2(hP-HhFq4+*n0Cl4L7@+|!O;}#tNr{p!(Qwz@P z`LHZ7T29^<6v4qprP0GR%)*+~p6M$JBgrdEldI+zcXJlu zca&_)(^D<@+4L4T!MwpvB6&3%`Hx>s7v^}Tp>uA)rpy^^7Wi=l=01eTG2ijYkJc27-wq}t(2fjh9lR#Hs zfZS#T?m`=<(OViswjTjs7dybPbkM>JgRKATIP0N#gSY(_7UWv!j!-|t)|rv%WU6on zDWYA=@{7+W*-fu)i`;>AlNPq{B<2jB;Dy^xSyUc{{;5$m+LGUrchF>V{TwwMeM`;O;DZH2OeN{29PA! zg8jJ0GL-0s27a3q+COd+PeV^49K42|O_v;R-t$a*v!kCckK~{K8YJy^Pc#x*c(BfY zp|;|ZO1H0FtEHD{SUyOFWcTjgLJ@>##kaJC8vRJa=F%B2JuGd3Om%vQuh?sv6hUug z9)GyAz)bK%s0y1D^~Dt^T0oD1KZ|MqZv(|hL}8Ay%QY8L$5D-@0{4`_6BDj16vluL zX3?KBAeKhD$@h5|8yVT`Bygom#wBG9OIzdbn-apy5a04Q5oZqH41w{B7QV%n5BtyB zr`N_l$4`^}n!_!A^I=Z$8tYnXJg3^rBNZ*Pp0gGO@1%<#5~6WALTD3^E_rRNkpt0Y z{>1;78qKk{>>kfcY9F-^Yk5o}ccwAe?p%pF6bXbwF{ufCQSMG+(>wlMlb6w)8J5Yh zcXcAqfTrEP`}&vI_l;~(8jM-s=~pSBJP6?I+=Y|mgUOuxjj#6h`n&+;U3@}Ks#wQp zW!bpgD2^*OxUZm6^;$6KC&4qBzsFMSC*ps^D#~$DQ{X?rALD*%wH(R)3db?HP zB#yA)MhR~8t}d$0_+mltEcQ882cXk}9+*?4OYR;MfX+$CX%cWM#An`moh!^76vE=t zTq3i8<$&42DApziG;0*`1CGvSU^#hB2jT~U2u7#hI1hprnn*Ufd}R3v<0IT@Fk2c+cZKKx{9RSKn z%(sPKZ41ZHk2dA_jbOihLUR1gvF7MX00s9A^^`#1BpfE1fSMX34V#l_au z@rGi5zGWAUl7F#L?SYJP?pe3GIeNcJ<2Fvcf3tQ39xl5G7#?C1-&dh9zL$WFE3{yZQ7Spne)RyGhisRR&3MXr}w^1>(OHODfi3DgR^&3GfF^<{$t{09|BYI%|Z?Z4qCvEV6I7 z(tDVUxJhvu|Do0LCV-g(H}pNaQhVGSMQcKyuXwVO!{e#hzXSWKQO~b&qSzugC1?N6 zy)c$S@?NKA<9Pnu>f|*joq+Pb+IJh#a1EgQq~RJM$5r0ZCNsSyC$Z5Wn5_2p*ktB- zbLQz>^;%!*nliiRLR5T!XSDq>gK)_wqsh%)Cm~iN1y8(-oi1U3sxbh%)$X=72~Lfl zF_HWR;1N#cyH9KjN>$+`&Ib;|);z*r>3JZ_sXDg7k6yxujIVBGPA_R#ig6hp*Gzv9 z)5hPb)r(aNT}!kn(+#76Nd~8Hl{ax3mfwzPn$StFVfOEINB~tm2M0W34&fxeq*h_7 zJKCUyJE(#4f^%T8>lg^eyP-+7trmPo#x}cS2rz36=ewD6QMP`X;?`9so)u z6vhYBVaOx)0wqu%K0q)&Hp7;O=dDaa7w=JW5r=$HQ}K5v@gm@humxzS!yG;sJYcfQ z#e{j77>n<6e`l$%*Z97SrLQOr`H||1s|U=&bJ5k9#Y=Y{ArWEx?)cMSzVgP z$fOKXd!6z{A9$g(0drvJ$1$n2f#pKPKkVM8IQKUKDo zcyKnB^ibN>a)uIz$jSm|>ZD9@I3J*qT_O+RR;5Y%m7;_02#b#_4@Msp(76M=Z+v3t z92=yfjPdnt=a)I=#jc=^9e*4#@`g9aw4NJCqKWt8H#ArF=Nq2Qs=%y5Bg+tH^#KMR zW{<;q$-95|3)KuXw%7P zsGYh{84C^NArvo{uGSQtD}nsG>BH}{jM#*!#;CxT#;nU*K_ZLTu& zraD;Al&4vD1tg;#xv*vza)?Clx;7mgU*43X-;J#!p z5_!(J6J`OPLRY*SK9pYQGrS1guhC%`{+Ov_iCdg;viyWu&uiMQ=UT^Y*&9?g{-5ws zOrbr!QIyD1wKyn_MSxROht6QKxZXn|ui+Cr$u$ zto^0~1@7hGh8Y4U@q}`xE`tNJ7&8ViW%lS09_}})E2a;a9q=E9{^ju=UA-TDpgHNT zLBrf1b0fo62o4xaCO`7-6(g+C*Zk*=JX%l56`99>>L}@ivVUnG(DKz6!wrCIU|c8IcchWV`K~f}gw+=>Fj!S!f@t z?>p?bg|_bYypoEyp%W`V)XBYm17Z!Iv&ZjCPuRxZA*a8X_uj1na3H~m8Dt?@o(c_aeAebE-lWoS``OWC4 z31Wcu!!CH+YU4>tosj8?ujE`?l+te3C8G>UbRi39r4{zlJ-&slINqgW70vEqpLWLNtT)o!efznNFocl##?w7s0VuJ_#q(l?D_b|Jed7#Ebc*CATdj2suc|MkYLi6c zCZbW3jF0nw!iyEOt92xUsNGqrB=@U+u zq-HOSRXi$;aWCLzg>eP(-FQqW;DUu>t$N&S;q_h0y3Fj*Iks`gQ2e4y(P;n7zUr}$ z^q!Gk&w}FB3p6{U7D3UjTwu_sw*Xq#cOahqqmp zP5GqGiPku1Fkn3(ZB(;$b+p>aF}jG))u%&gzY z+I?3DAfq#BTdXZ_iY+h9o7iKUV%-aXkw$B$0J!F@jsW;K8w&bhI}@F6 zn4Yj1jaSiy0G3XoTKz%X?GjDS>2JkcCoz;jL|v=)k;MBB={0IP%>rbt^5Pk9JfjCx zmuGNyWJI+GY(Y_507VL@_9 zWHH=MtM_M_+NLMk5x3|c|E7PrneL66H=qKV)VpF%^+%=*N&UJwF)Q{jG})7{An@NW zfnWD4(47!h@YrIyC2<3Ft`r812^x+~Fr>c4y+))$Y|J^3lMpW8{A9e=YR!tJMu=MU zwRf!yoSp-oof*kxMkl-wvqw1(a*^d?Nt+Wonl8DgTsRgM9BX(~g)(4QFkq%9h4MdC zD;w`scFl?R$KcbfJ_=`ou5$Z`8;_UTo}06WU(kiRisg3TamU&A0DUDE)882|h;Wl; zD~T}(;nCbjZIS^wBX0nVQep< z@;~66+y&&$+#P@>hyy}Fs|6;faRW*Hk<|9x&DiU}!k6>Z@7Mf(0AnA1KSsix`7MD` z>lf-n+UOHFuW)hXQEFrMBc(0aLwv!DsS{DOp;5WUd_D)*oW$k4V^AZ$w_9Ds%u1(m zA|Z85Sk4QyaJwFVy4F;*IE_)Iq*qR~rLJPDlNio7?3{D`LMGzFGE*~CVmdFHcF+bk z2_~*~`_)z~arZ*#s7)^Oj^Wg1jnoelLobA#+~bY*kJF^$$M4mU@f4d}pcZgy<2rrR zjJ#eCON|1)-7hej(d->pVsvnq4cc(S2_#?n_vIq^nejf6`Z-ANyYoPN@4};~03+wr z1U6L3)Lj%#CpISGI3R-V2q=x`wT{DH>EREfTo$jj_eQN9PU5WY>f-q@Rxr9cvMisG zP^!Yi^MxEIQARqJ#Jcp1N!vU3dLBi4Oa88OMzlOh-w)VtErlxIUl;Zgc3xdNq9%2N z1<8#DBsVY1^oz*9wHc4ZZRmL-+V?B)f5_{wb%xXLH0=s5ZE+GBsD{m5oW?kD2|UnT z##3ifnMUi}@inQ(Ri>nq#D&DLpJutYeiOvK!QrX}EUJ$M$y`iL*L&+-<3C|fpz!H8 z0+BIOs^WJy#fLnsEcPgX3yK`o8W!Rt-sRi7)s(_bNhZ=XBw&AO&GBTlP5I$jOwD8Y zlqVf%FK2J1yN<8Khgu3SCZqQ@N1FryGq@8pxaO|NKF!g)2rckW5=1qWa_<=glEuUg zQS#(OsE8Ti_$Bn|Q2LawFgS*zp4(-1(xc};%qV8oDUBIbSKsUGH=~MU%05Q^hE{pY z8Ejh8xCisz>I|I3DjGuZR&TJ$eL)9eZZqlP&G_t=??N>dq=HkH38CT7yYQG$;Bw{+ z-dsj+SK-t`M6#D<&uhhED>Z-mYiOo(>s~nWjJEm8js9JHXGeekGxJ8jUvA)JdB5J< zI8CGPG#;cZ>5`8J1sLG>B*3ih_v^x;`%a>ZM$aL%HuLSH9y9^VN0^=f1LHXigl!J7 z?~d_#^>2fHlT7{bAf=h+|w4L{o>Gq%OKi_O!jRuc~^G+W3PMOa*7!(z)#41b+Tk6b8-J7*L`+AyuCRO}R zzMMv!O%!B`?F~(J^SMK#G889|q@9S959(pXNxLSrZmielY9p*LmCP7tYBbIhq*2ne zc$%2pSqmreH@?x7dYh)2fll0M;^ETmc???!a};0Q!5n@6bPd?pahVy~Pp?Ux3bmx` zy+kRYGsu!$-s&_K@h!UzCo#ZGySiI_O;94p`4}?k`JLZ)LQ1wN`X67o7yxmwEsCIgmf0Pj znMO;p@w zYX1I|9Zt zkdG$8s2aPUHBwSpanLJ!!BD`*1DXkc86_hsHk&s7V&)e?5Hl17uEfRL=$-d6Lq|id z^KVdJH6w%SA5jx`w)!8MQgAb5N%mJ(KQey5+e3};&b4(X)iMc(z;AIX0$Yb^P~Adz zSm+~YB9Ji7PR}sJx^5v$`5;3-IgUstds0@z_mb(moC9$m^+8~r!1bnB zQ2fEPcXpVK((Y{zdkrR-eCL%0v17vA}{`s@5XZJ!v~*?0MKRX4-I z_zEws2QM#)ErOee zvZ!z{Tzcd0F8*7|N#biU8-@ zn`nR;%A{Jtd=hoGl*E!iu?-PNTyb>B~r3^zP?C1VM5fm&IG2 z?{**r=Ejmwu}NQPrTgh8FmuJpyK9AXFXYKR&0gh&Vzb=GLea{kY;}Kb#px4cY*F2z z8(nY5wqqQHOR{u&viF}aSJqR35i1X3n;o=q5~AN?yD{kCr*ofG{f$@Q+KM+_%w|ru z%&Udixq}FmLG1h0#_|8fd3&d7v7c)(8;~DTGSb@h+%~P69^uUjQHDSt# zpq>@+exXd?G?`qO0f~6u2{UA_7cj>MpX2;Et+xxee~IbH#MS;4;9?NAiWN=EhW(@> z){MUU$dT_#V*F#31zO-V>f%R(zg8P0gm4-MQIOU4r^bP}G4%MY5woxCO*i<>QF$cr zLXw$_|7X-i9Oex&D2!sQZ#a(*m%%S?*naGgQVhop_i(6>375aQIN z4v=_vsO%x|S6cA_?uH1KXP9+BUP=P=7*uLZs<6*8ivHTvB<{+VvwH6Y%DwYeAPYLbxI=Rj(yHa8(Iv^5|X z%%^AZKV*tADw>aj6sDiq>eMDwbOdmN)?u*Ek;qkUuTVcOg^Q7c;{U<~&S=+4WRmHhbm+3C$bx9W zfDOfukJ{V0egPn2f;=X`6(AKEV`W3gU|h`E$J+f0lPi@xecI|#`%LreKkGK_t@kp&b~zvVcmaWASoB|Yje z&N_BN=3gCIP`zKLQ9~{J6{(-KUlH$|zbQB=U5p>}reg73wdo6yGdY6zj^~cGWK;|T zM5nKIHJir_f(mOJcx9IU)p0sKQhx%486#3oT~Hg61eb8zo!H;jsb#N$g)jQoQkXRz zGRF#%OX^?WP`~8y`YroR8<>u*uHVva+J40wMoo0CzW~M;zvtlRT(Q8Rl?r7qHsxco zE_CziC|%TEj(}E&z^=sm{W3voOgWtdgSw15feVIhKY)cy=4tOJ zwKrZtTTPOKM}fj5daEijiZY6C)<|9+f({;zpn23kZ5Mh%T$tc8v-e3!0c zR13yjh89Cg2M!Cb_b!SuZpmf=+PDk@`r&+FiPe>=jksGfxC~2;_zo?wqyPJpRo~}~ z{!9K3N%9p#?h|c?oSPx?hy1dY=%!XaMvFOs;hjr~YDg8y@fWu;x7HZ@YIvKKG$>xD ziPf$#{Y_T)HD9P24*y{%2`33KrGCm&>=FK$PH-B3%a?yGe>9-e^9MA}b#_<_RAk)R z%+3xub@uw5LfV69AgMNC)otSy*{i}Xqo}GDy<%D&Fc@!SL|EHh-?YecyXB~Q7 z{q&v;o_hbPUzlfSo?$s*9bq1YhwuOC=YPBI97)ZdH<#{Uk)}G1T~a56i{je?lR7Om}pL>}izj#q}r0 zI+?wK7H>6jb;y1H8KM_(-%s40V_k4n-=u;DY?u(upOn?dHxupIiJ zUx*gI525aU0A|Rh% zm99QQKJ9Ch_$^v)Jvhf7poMqbmIL35|FcWL*MaEro%_C^yYKo}(G)5joLA}jyQb0( zC8qaLdigTwL724w##1e`0!{n(0Q-X71hYSB3r_sN1Ciw}rAe60RDRjUe? zAg_0d%&#pkL^QII3Vz;qS&RWz=9p;3+jEb|cKQ^g-8Ow)W>JVsZD}H%R0r{~z$rvZ zE~MH5%pxqP8*gE<8leYIyh8SL^?;)43UAg?+2TLc5Tr}4W2?9-T`NT8s4XJ*vH+6j zW-9?sQzFg91w)6b2UG!NWHdeS-j3!EcoPUMJ<5*XvDvyBC@Zfkb>;|NcWMsmlCnKF zYFX$XXraH4pg(cOF@k=&&oH6$I92Z8? z-_lTJW{t>#ubSN3fbSV(i~xKu(@jc;DxD&%-wynaweY)2;~v6Km4)+w?7N!=BwwRF zjlxQQ5hMF=0PvT<?^5eFL;FdmU})p_(&DK<$^r0K>8}fb$K0dUqSZfHU_yLMojeFj zh#MXh^@4bG6Y)4E+w2FmiHeU`8kz@8j6eg7Jjnu+LcqtG$zRkKHnW*gJ$R#BKBW8H z2hYGR4`!}!bF`GLaeR^%zL`0>rs4PkJY$?beL3GIl*KUdbwr5$m|0VuN@V z{%6EIv`}$%`Wn`w4>{WJ{Gc}-3!(6Xw`{Afr#JrLo00I68z{Xx`MHMsX$?0+zpy$z zne6Z7&1aX^ZZqg#7G&ph7wAnMLTzV0A7$tBPegjc`Al69@?~1q!s!ewG@V5cGsoxV za%}RaZ5FB=F>F}Yc9pWU@V-d$HQ@z2o#W7SFQ<2g_-difEh>OccrlE=bU03(Eul9^ zv0M}E1iLdia~$lLpmsYWRWo_L=8sfDnf+KW`?k^-94IrTfTx0$(wI+MwrgEDBI$i7 zzYSy=(2{%brV`+#4B{}H9Z0VA3Q$SvKa%eueO?QGt zm@b_=!Y+)$0kyk>C2=Z6w`r+Pm2cUaZD|qG8!ZhOnXg6xtu9#<`06Dwb3zUU+Vd(o z6xfDS32*?ys`28;Q6)edY=G9D&i+_)EnPB%uH?ZiH&wOQO~(uhWa;d|rr6YkN(;B+ zRR(Y~@=Y{7#mt`^J8?A8+raM8FSD>~{%j{;cch&@C$)v$6js9(ZMedBG<#-h_OtO6aw z)=9_mH%{KUO`@BQC3XKo1HrC_CY=`Qe$^p5B!7qH*b7y{GzMXlh zJf#bt?ceqNpZw*w<3Cxi>QddG^V=7WRKM_D&z<>&`F8XS%j&3(9p&9s@%eqrZ^y1G z|Nl~s+VVKR^}#QE*K=onVZI$b!?KjFeH}Z>yQ|{!>&pvS3-)BLjkWJ}xY}(Tb^;CvWGp{GsxMOq8MZZkI zF^bzOGQVeyxh2M?PppZ1@+V$@RpHQBx~9;D3Zo`@aC%+T99ye0V0f}L27L55qKCB<5`tkPGXVV$8mx&{?FIIQM@ORbMeA z-ksWqaL;7JXItH?>*stqB<|MF**YZt{RLxMsde(OH4AZjz32Smo)n?mdOnUNpUv-H zWdU|fxQS1n*;+rRbtwLi+z(;qedD3|SU|5r}-Pp^-Yz3aNNF(Yn*&Kj&Z5(b z1md@VDc*xVj#X@N5^p1AFX##M4^Yv$HqYNHhKT7bqDM;#$?)NdE_gQ1#fSDY;eLyg z7zaPk4M<$AkZf&incGW83eVY3*tHBr>HJ|tqlUmoPP)Y5y1n!@g}O^&h1s1LNFKOervaBeI6K?zWVXX`qqInma@;?TI1ZadHQ0K%N1+#k^*nG?6;nQDAXEf)i2%9|(%R#)713xTcaNiB21-VexuwxMsT`(JS zs%WA$KG9!9a7WTnXrCfE_2IlthrpXcZoW@m7o9(9f2kRqMYGY5JW)u&PU2k3Wp7~c zTJENqi}3t~-I+RrU>y1mkh!JyrZ&;ec^_nDXNlgpa8^-jY^1)m(!Cv{3Zp99XWC7X z^jPhPEa1tOh;!X}3>b;#aAZqw&LS?Pn!VcV@(XAuJBQs&LH+~{@#JO5%$)~TC$}{D z#p%a&(zR-tht03ID->; zc8C7&?=*t#)Ok7Fkk7e)A2&KS2;BV!wzp1&bi^jFqdWUEzMuLh=$kuKXhWt8FOSye z8uRIlUDB8iu(TnKh|R3XtL(a6Q(1=_d%bOSqu&!w;|$%eVd6q>v-5-dDjVLLikys%uzZP^O%NeBrkKE_s?&U=sWDY}s^S@I8s=q4WH zXdI``PUaLE5`JF#kN8pYZ#GUM`@FpqF#A#WjY-`AuX{d$b?oB)%=uoF4vN zmD$sl=?)XKoE}~pbm+KTc|)`14bPU>-;_}D!8K~HU7fd1)BD%7I;Z9v!v^o**JydF z{}cPNERCxp#lhqCAJ+S^5)p-x?bj(=RWE}9T5~~iW4^v!YDiU@ z0>|5`8kaMOG~Hf4X4`EG`>iRg`Kt@7X&5yC#BC+5Ohld*kw}+(z<7rvIO>XBF@hbh zp-*1N8hR~t0w~i5VWepKff`Zikuhw1%V``<62DSZ$2NDdmRZgL{PoAeZzZDuUv}a& zepp`P=T80l8sCG)tKC5xe*y^o+xSBOqpgE<*kWqBx;<%?^R_rEj6y5vqM>M`*M)ub zb*(UIW*BzGPMjw$|N2^fdZSuyLHh=+@!#f;Xl{8yytke>{_3tL{w5M-rX%LAz3#N} zqPI*xl3heN#yujtDY_Up-a$q@g59k?IX{a3>mX(E0ZM8Bq2NP;;IWkoHa2k%!A=-l zmMK?6UllVemfo-BO)BKxH+)nO++V?+&3AvDKN=KCjvb^3L%LP|3Z+M?8jIn1tGD(Q z17zXUm+%cpUoKY3o4k+A2YyDC=uJNCrbNCAZ${6wj-|BZim=c!|31OWUKJyFoE5|X z51Twj;EB29I`T=B>5lP>6GqXUIi@#ibk8u9PK_~r%2WrroWv}P*Y9%)oatDboG*u= z*_{4aq&EgD?rmAf>?zqe@ptBpw+hFWOd9y>OoU$1{pKD~aS$xHeL;#JTZ0LTe^(i6qxV2R~U;_-Z75VqwF^BDXIFcNI9d zD4*Z`cuC``zoDr$?nN3t>vZKf-BM8aDrJ-A)bjayj45{(RgaMWl=Au26+CSK=1L}j zrwu3y0=Sf|xmd+kd=_66#V6_HrutEZ2uw?z#=}|AxE-gwX7ckZip%JHweXB9-xri7 zR=Gz+1%(Gp%byqTHMSgEr1{-Dn{-$PmZR>G$w&OHNFmn=sGL>0(2W!P<=!3d!wa4b z=M1vbc zXlsZn!r6%%!-*y=%aH;z9mP_(T?{?Q>_x6|e8=%PH>WL)*gGgAMl=e~l)(t`N zmHttLfM33B+4A%Y?bq{}s`FeHbNT5;?YD{hXzrpEvnU4l1Gy(=z4UhAombSXpnl{K zr|}28XoZ>ZLm-rlmiux609k*{QtD?6TVn@o-%Gx}0lN=hwf@D_DRCFsr{+mxhTClz z4!l0}Pa;A$AdKUbP=R|=n|_|ULq38`bo5sGB^r1+`@%Y{-3-Jh^_lD^ZkI?KVy~YbTKx^<8YzL0%N>XnI&l-Zwe#CxsjgW7KAb0 z*BfsF+!BT_BT~t75-;~|w4uXrM*h~3aJX}C47=yO^}PIG;BSSeT?S_6owOFcs7uW@ z^L_}B62K1wbn)Yct*W2PNu!&W#L}ZqT~I1xq9X`{(B85HN5q*UNuBu-6+U&DY@24& zkTK=tbXSi}xVM%%GIwSgd&ov#!-ybOz^$7k$ey`eHPb#UoyI|1siKDKSS6 zRP&o|FwOTr0tJ#!4qL?`tJOFzoYPAR+~iC3qmCUKM?s=XT%M0jUPW_Q@H2SxY^KO2 z$}W={^dq#ITqOLQti3PMwPD_f|B+It`&>l!m4z#fYG`vfbzHfqhuh-j5U&1_k)3mc zEHKajasA|$hS!Un#Pgaa-0$$_l;)x#LsnFE8Vd0*q8$~_$KQ(#e%b#M3BXpJPP3N} zGhe->HwnRp?_;>N4c`B}r-4}J_o8s{ZZ{Kb@$L^u&;PzW(J?nVY8H5>Q*%<}1L*m% zVE#?e9J+(*Y}z3}uQ;}N$dIAtKYrPot4j4w7rPVpMWms%c&^8x{VV%7w$AKVfBeum zD&!S~$lT38n(3X~Y+$=u5hn%_sylY8EFFNw?o=+W<@$_)1z>pQRTI*R zI~*J{SBV-oN6Tqyfqx7idH01F{mUd#!)Yj@b%K!d-k@r{M@@QcA+Mc=);iJ6kjHtH z*@kSK0o=b@VhF^K$DdHUHb@G{t9Id>Y;f@|jlYd45Uz0l_|7gF z!wwW-S96mWu=|+GMAM$q99Ii}MZ0PTZ%)Tr8@Avy9I2ro*)(ibZY?qPMd&PhJN0jD zs9%bTdY|d8)c&!GmGO5e^5;R3n}b~>?*3iT25{%>9N=2K>y~E$cQ@_uraS}S#Qu2S z;*DmbvC4wZU%S9efr*#q!1vq9Ul;gBUS;%%-&t$a7by0=4=wVZc$x+dW*V6Fmh;^6 z-fN<{pqG=7X2c%0IF?KXAc2mX)kDk2PT*3DH+@+aB%T0qIyH(QA13Zdbd*T> z=an9RN$gRq8KnX#^Nub3Du}4+8^rV%A<%)QAA~XegBaE{8#678G312OD#MrwVN7L^ z$LOw9+VNowc5|i$WnrEHVN6*NW0*nZ=@!OFPE@PMg?T>uU)vq)Oob^>%0cyZ^V1wp z?+3<(jNj?FF60UcmZSYC$7;oD9v({3*nTtGJ=hh@+emBguXK#k>tFki6 zQOS?Y$@MdJa(#nNuD_Z-ljp=4)y|@&m{!g+Hw-w7PA^QKsO^uQhFA=oF_36>*P5pH zBd(K;yEBO6+`EaJc0&XwX)Q|&-M!Lte#x%fK{Iw|%dMGwOPp&p*ANU0ti)cge^C%o z4x~*Tux(k2Td{}f7)Na9y-DKa*b!t92%SbPtNvg3vzTI9h59FU0tAnTn~1t^1y18L zx(mC~?_}HEUdiX}v2`{Kb#ndhX5a7S^t27UOq_8wt$Q{$x%>QB;gZ(Zoki0N)2EnS z!`_wkE7&vKI&j8WCW&*;bJOdH?-azde;C9c8^%wYmpRP)X`|+Gw%GS^^UGe|zx}Syw&!qqQ z>3z50srMcI!hAb=hUJ8HginRK1O_Y3IVfgR90v(kv(eehgI^iJ9~=-m(3!-M=hpS&I1mb~G#rr`ff-zMysz6}rQ z*Yv|Wq;Gw~c<5VK@2~ZSzE!rTUQ-q(m^UrKPwzTOrsvN5!hAb=hGi+8-ot13zN7rR zB0j9E{c~58{eLY(ZFmnFawSjw^nO_I)ccNpVZI$b!*aqp!l%M_ly_Ifhjq1o?yB$nPk6Jfw%aUDc*{&z1PtLJqw*@TOxFBv?Dibvua_cD$W-7}oPkKt!Nd8dX ziL{K3!Ffqnia-uADt^^4U;XPxR@%!5>r#hA7IYs_zvWz~(QFUsFy$2N;fgR>yFjeg zsEP59O+DqJ(5bmuUU~DAhWlwAYj|a1`i30wdJ}^(!5y66j5o8*n9bIPxvI}N$@6s? z_^>AbDI4z%on=UoX=LNM@Pujx&Wpl^CeBh=dbsX^*8uDVe;B|Y&2?2_$P?#}z}{d!T;J6ufx&&kY0#z2xskXjOe5>NU^JX-uOfs00wGd;TzZY^Lf`t4 z$HnUwoLmSRn6Ap=>_l~ESW~`)06MHn7uTnYaUi#v<5DQPmMM=KtzB2Q>p)7MYc`B> z+-3H5QS2+h+fmf5pWYwkr{|7-VV<3NhGm6ygn2gQ)g6ZYr=Dulf2ywb^{DRo{N6=U z)=%%vL73jZ>KEqO*=JZ!_}tliUst;SW;;}O$W}&-z7XFhogaaQ6x5Hv2NsqqNNUD= zh!mAF;7ZS4Yy6b`k|_4TjIYFROTQjctixA`mT@+8Z4G`^Dn55l%K3$=fo?wiB8I+P z?0n%`Q_n(_p=+ruzDOErRUz^kINPeUmAsbWYO{%JGrdA@N-$aDXQ*jo%4?Db3|nW8 zl9gpOjcw?G`d7;xNehBy1d)EQbtG_5HJ$__^_y8oqp61U^Os-@G|aYq+a;UAz<8i@TP z^-Uz%JaEPsN@$8@8(b@O#F3<=P^EOPmCL(q>b~2icCPJAieXJ$fOIpJdv+jVQ*=|}(d)BCIZ^xV-e%(FAku&l6-Fpt8+ z_y6?szg>4*dN?VfTf|#L+>PUWC}KXQRw#NFMOiT0LaLH zE;8+%kqOR2n*8f`33tI6fXFo`@%p-ggDDstV% zY<({UG~Dwq_=50G+UjKg=1QG5P>Y>}@s5y=bLsLXuXXiS zt9v&}hUD_p_}2^r`z49lq>x9}QSX0_n!O7Ddwjm*zf2639+vB6kAjnTg@!$IHpTuN z-|`{wj@WmX0k5rra{#`hCSmn|j9A8jwyS@I^0j)k?|t5y*%#m>U-DK@rL(5*?`Dbw zuc23%09=gAA8vL7Cr^jHQ23SPvh=OPS||E9GSTu^tLmJZC+~bg3ny}Pn&b zrhmTa--TR%^v_J+aQ~$)bs6^}f%c@ll9XmD(c#)h4WFZpDJ>P@tg?5Y1MLV`#UzXP zTb!&a)>U1yOE56+2|8I&7yQG_ol;^1>e|$WtKD4e8@`=c#HuSo!*{*EgE63-x)DFn zKOc;2hd2Bb3N-CDa(#OA%D>Xiz8v|1UaWztnh96Bl;MO=P+7p#xs8tFuOj>etVp`rt=hNVDc%B+!;@YUwZGq z-3g~pUql9T@al_UbNlnR#QDJ>QZaO~TX7a$QZU46oCmD@JqX3|ei^1l-b3WWwOMsZ z!62q@XEV-4&h@hxb=2yc^a%I9o9#~wa-Tvc`Cj0l)eTTDZwq|Pi$b!uq( za@ZUEaMjN)2IO&x{`5BYI10ZK%xXzZe9=8waU+S# zMD%tpZ?=cCa_uT|cWb!1xX|5$&bd8EM&FFxp>Y|^$FNo2?o^Jep_<7XR7`J*i49&B z#?RFx7DfQ*iufWn7m{aza7oAcd^Th8$LqF{A&N zY{)n8HpA94hAR{8VME<9IfUN~eoyktQHVTy8*`pu-g|7_>-?TLspmQaaBd9NRkF)? zk0hUEpBi6e(2t@S6KazG1g*ZqE_D{I>O{EvGW3Qj#lX#)6o!*CO1XTmykX8X{uJ)v-;hYYR7HhdbK1|8`D%(jP{Q$?F*W=^$@45gq1b_Mcgcty8jCMbM6g z^u(04a(iXj%U3#R2W8d6_4%W1S@D=DM{ck?>`x~mw%4ZbsGNVXwMCoUQ*iNkKOUo3 zY6z!2VVF~N2CHkGsHdASp$A+9!R|5j;P7Ak?uD_`{f1pSPqxX1SGin8{@fJFqQD`a zj$6gyxsF@qpHB>6PnQf-NfY$N!BMZLEN7VU#)g-wxo$0J#Bs4yC2eccQ5vosPt6?1 zCGvFQ1Mit6d5Gvi#)g@?#m*p5lgwEB_k~OL^__4qV5~cCE^PjGntQKlt~#ITodv>1 zm^A-((8YA*7y7y}{93NBc|x*O73*iTiTiCP(0~A{>PxN*%+k`Is^c5Hg@0#6WH-V^ zIo@=fP4L08Xw6G{{n;vpu9*~u6xxt<$>u+4rQskOY9637UhehACFtjLAch3B}3mXAhd*O94#BM^=-Pf|{c%X)4W%-_H$< zc5arE_htzVHr>|r8 zK{L3HKH9|aPsj&ve}RFSX#~TWL2eJ`U_ieo4LGyEIFZ^ z&=Hxg;{E#*gcQ+lfMG-bqQS%7{{fArIZ6`L-IIRHsb0F|^D%%y5V4=HMYEt7{lG}Q z&-!=oH)#WevD^|0=|qIWx7PhC-%Lh}d9v9$lfckx*SzH-QF+T_(E3hh)Q06Xwe#1| z)Z50s9=g@C)TT!*8aCV?R+a z(f<(d__@VB%a4lBY~_ANjFf-BHgBRY#HUgIL@y88k|S~Zhi&O&+hQ1td-lW7HNYu z0wH7Yqaw*p;zq)}Ig>O|tI7x!S#}aS^59)esGs1Ck-wlSi+VkdsnGksdycas!F~nT zc4o@8*5%q_e9oGnNpP0qSYS7P5X`+`Im)V8&TDs{P4>PaCm{!eMuP`KwuvqY43@K> zakY#o(><;gu?iV`hT=D-#~Zvi&eNQ~61cRudx1yZ0|XF%aiu{kZ>fzhQ`C=a)WfAV z>en_3Yt0Sz+K^*ZM|$`r6zvz7_k6&XTwwB5XXo^;RRn&wjwxf*QNW2-tUA%Qve33N z*TK~jO$V<(!N$MNCjc-Ve8@)qgshnpDWfqc<58O?SH=%)!m6N*+w;n}!bY8EvxY75 zuO@iP!i$-tzvFlPR{P7JpOWVT|0;}P3-F61U$%06;~JNPgTtR?Or(GtLRne)_Xq}8 zm$2jy?yrM{B_!kwgVT693H+<hI2}m8FP+TcOI807DCvKu zsbZZGhgY))o$i#tprE1K!T8HbY4;9cgR zQ2b|KFNi!o8(F~{J90k-;(+iLMoblCuoEB`CI~I=7;+&$CT^e_NmS(-#3|*OV)I-W zpuoe7v1muYGAsjsGU|mxcYQ;cxs}`1JypLi-a@Z!XSj;c`Vz zVWdm?3ToyY|3v>%IJx%vg;;WP82$Ut^ToZ;zePSh*4<-|mrUC)lr*^-xdZv!rtGURv5 ztzU@HK!?&L-{J)_2Iw)y&fYwcTckpLOz8i}J&9s#Q*%qnJBYk_pcx*jq{Vr^%g_limZ2^+%?Rsa z!t)&twWmi`KX2uIspeC&`wPP+>b^W2P>i>NzgrhgJ`1IarN&gUR7-qy&x)nyOCse~ zNG?vAFd<$WN{3a5RTDG<$8om5Ho255vc0DzRItO6t_VSjaUDm*b4Fr+FgIV)LdI9FW^@HZksAbMn#-n+f%R47)5@f6WkT{HH>*fd(*zoTX&byJ z{0HeA8vAYn-LE;kiJxQ&!9X=oxL&~PS43e6Kv za+6j zL|^*_cK@kO`sZM#I!NC}e(goI;euo2SFWrBd%s$SMFD9Sn<}%|AjFMB2gBoxWYrlG zUOiVzw`3Kf;+(0btKQE~V}2y7rUnu(+mH)wh@@Q$4sVVPfdbDlAe-r3YC|SuE(3bs zIXZ{c72nYN*MZfmPS6q^SPX!S`4G$=`>^(Tljxe0xDI$(nbw^n-XlGH+HeTXuyICS zo2td8gm=OReWq=icfCDrl)*kEjCZ}aPc`wk4HJ2L*K6TZqMqKL~ z8P1oYcBeYO9$IIGxZDZfDk4Ii-4C{~Tl2L^P&Xfs-mXMVNDse`Ve&sVLy}xbW zuhP5xl8`2@cWv47eudtb*!Roz{*ZmYRPVCgCe0}bg_n!1@499l53`W6cF6kojIQp_YF#1kSoz0OKJTnEjQ$0dDUTgeS-2% z&o56h?|Z@69Y=&_LZH>?$9S3hK=V`@8xS=72Gg;UkBrb^g#%Tm#DYt;T6D!&wMoVPa@frg;&Gp zbcG7_;ddavBluPDi}E{--$Z_Y(jEJoX^SMkDYeNh9c&xKC)zCo4%fEh#s5A8{5e-; zM`J0B7G{*@ZHLAy!fb7}LNf!htn3}i&Nc(^`X9ZbW;dH*R$;vd(`@hRE z$+1NK7K2|A()YFoEcF_kHtXl*6FXc#t-LP5I`6K^Ww*8;h6los>@eJEL%8RP7lxso z6ra_Pg!*R(*9rO9T^-n?GF+to}J_Jz+VCd+Cp-`-j0aR#f4KJsacgX#%TC zgSD8Ovy`;JhL-uVEMs*3b$E6tdOUfM-oK9J_M8!rr6Z(R&NkAVjWMd`YzrIDgIK_J zm>IOa)j1D7Am^lDO=im!z4Gw4!8Pypm}uHDVlJoYwP8+afjf%W7l>8pERz7k3Es0b|^l3!qsKMDOI2lVf!hW@>5=-&|9h#rLgA zJtTby3jXKL7O{&e*h!d$SQ?FV$%b3NxpLANGUv)ai43Tk#tPM{(2IU=kOGE<+X6|Q9i74AiWgjfK;coNx1c9>mR{?fB+Tn|7iOb_^7ID{Y=O}5W)#B z1?3SHG!a2kKr@7B1`;@f6TpIkttgs`+KLaD5fBKWGf@tQL9CD3ht}R(AFbBfRxN17 z1TYD{8W0skA^3nZ9jQDN0x0wUzO~OeGYRpw_kWe&kIXsy?C08Ruf1M-?FH=%&EdI@ zF|)0fU>umjIOAWSv=-$tg7$0BYDC9tn^RlWB7v1$T6M4h6~2e=2)X)%Z=3K&*Tya5 zWwd=9q{LdvxB7R%HNxZa6xBwE`}ZyLhoVHt!R_`_0PBo+u8{9>`2cF@TwClRmqAHl z1eKHnxj{_ZDdGqf#@PwVGW@PZpG6JI!*lBWL|Bo8MLDb{NMs|1#bO<~QioQvnmvXJ zIZ@S$(jFe-F7J}W06u@)ly>PzEN$E#rL@-+lODd$>2=I|uRP0Mq!x5*a!d)Y4L#m9 z{Tt~ame2?#PYPhqZv)to1Z*CGa{L1UEPIum=&qKq4gCugWRL#L>7(88^I4ca#@0Gj z_zZz2ID^!{HoAr2Q!dYrBsa`qO;AZeiC{O_{8m~SKT>?U*i$wHt5eX$|)QokYRi?aRRS!Uh z=guVecEq|k{fid;1JF{ohNt-uSvn;njOc(%XJmv=i7d^|fx8;g`4qkm0hm6*8la-+ z?Q)oXsG@@2MK>R2x3rocBPaZ$Kq^aKMn3BqWFqaDEKOh#;woiALXM64Ei=Sah8j9b z#S8E!XsQts+51Ut!jgrC>E>;HxI_kHmSx+DUA}tl_t3l*{|&SR*i4O@QX4jjF5+No zCje0AQQauT^Q8Dvbl?HVU`bWO6RHO2Srb_m=B>Gi2#X=HHi7&&At-P-9xY3E!W6xs z2829`#sN4C?_N9v%~>;q>WF5-P}2~5p83e&O?wob#EKuUn-8e8z36a0n_$rS?bf_X zrFb)6=4Xd-o3mQD3W&aVz-+QWGB?o^EFxTA5Zn7+`3TyLq?e*~Wd+Z*r#{;H;tf&HAtcDN{_+AZn zPn=1Rx(V=_FTOQb^d>7&3h+Ux7=i}*HiUWvimz6mZg(mqs^`jHk{QlcIL9jp_UWc~ ziB7O&=*8tt;WAue2{k-dRGK%03n{x-09dv?5Vt>C&CTd(d?82KeJ$J<-8Gx?U$)QV zHI#2d{ai00xTIVI2=9Pn8Be7kRDXDzZoFsR^oW}3F;uXcmm>|hi6GfWt$V=13v`!k zb0&D@DjR$eJYaERa!*4{y`Ct9^BauXcGQ|-7i)8_t~EWGHr2ll{TIxcM-vCu%1>bU zSwI&5I+7}7p!E2MGQ)Citw2YIn zhEPoGTxlv8^5-e~8Tsr+o4g4$i;cuRoXPlY*S~u^i=FE|W0YN+~VE&Cv z3D_J9J}d#_?zFF3l&W?N^vjjtbn=l+I2|q8m&p=!+}d(6AID`=hU@K*ECHi~Sel5Q zYpubT!c7S;FHzkcH0LxSTOZxH6pSG}%dMl3f59UF>#0lr$u(@e0bN4GXEbE%;d_OZ zu=l0v$EzXk5GLu~CWjX2MGYeg z{$s70iKuyHVLx61pOgGkB7r{vk z@G^kPz{;fcLwVcwrmWjQc%(efA+wMUQLxFWPjHiWLbw zdlh|x!4*^z$xS%%VO`?7_eC=@z%n2$vIy))v>Z<)Vs|1qa4tC>x?DB^SJdXq{WfUc zh|PCjXc3IKu%d>cGC5-Hen`>b0EjRWJ|{UQMXqSHI$p&^_bSfq;A zsolXM8r;yw)J8E|)t%nIN_306r1uBXKU`a5ZxY}FxJis~yMw!`%!( z>Y0zjX7wP^n0<(?t|xt4fBDE~ef)p7cM(T>#ht`qabBtBz$n5klMy?c%BeKeV42}MzmmNL^Gz8c5@&|I@g|7Bg|%s$Pnv!aI-rK~W(-D-`=OF+?LGHO?76fKhbl15 z&6rZ_$_LxnTAOVeKTD~}WmMZaY|^7}yhJFpMq>aGI~uu~eZ=|)}rs~KvH&iYTUPnZ1Oc%#a5^7@|Q zvK&g-RstB8u@*f6(2yx|mnx8mb^x%S0M93(DQXoYtlDs=exH zA9!1I9ax8{*7ir!Tl)xaPHRwURKkMo=hY|>nOd^u<64xQmJK+qV~$*w@Cpr6%MAui zce$-zt@ugafA_9&9J738VePULA9!JJTe%JLU2N4L@LGknk)u9sY+d|SBw05;lbI1I z0!92Q-+q9%bswTYqzI%Dxw^b=RW%z=&DDX3}0s>ZV2CXOh7rOOnojy9<-RD}`$l9f z)%J*+a(|s)d!Sa8Ubcqf>Yvu_+Zpbun`>I|lISYt5EO#tC5f9ICYjM%nhJtu0BY}P zIJIR!N)rbF+~vWPyfXaBhR;qZvSr}6$o}oaUq(g9m4vK8IRF4Iu?!loiNz%w$q0Qg zKMxx@Jf3H65c)SWzUOyPTf6&7b;;$>n0dlO%u$!&q2@4L;_LQ!Aqq^wt99+~Gcy{z zBk;(7_1=6w$rf(&!)wT~RF~u;-4njR%;}1UnoU)MBXvn5CwVW~-bTHy85Q>a8gCp~ zK~}C-P?no(G^QID?ft#F)TMe4}WZ z44nr(%Z=!uwflR=andju>Z|=t^bLbE_A^gOMk&bu{XB^ZmVensmW1q^cE4d;{#Pe-4~Qu>2@UaR5y8P~Jsw1emwQO01+#pf+^6u)ht~8Fnt*Z&GD*7Z5c>59-*T z=pVA|GtnB8)q6=w(1fyLdnT+zz;)Dj8Q%MyAtJ?#-I2o@J3?Hr%8`DmozCgE&Qs|l zk>1Hp2a;r1J&<0w39JHx-)0%GOqp`B?xVxv5_j zDkwrRG3v)#l{x0zhGXCq=*<@H^@`ve#KiZl)o>W1qDW$&FWblg$v9IYjpBc&PI-wK z#K{^(<_P=pP_m4bTh#szR`ua0*b*)bUDy*?6ou4hw_^=KBd)^2sgG4%jPV?%|Ant8 zIEykouNCEWf6$9bXz(q2m*u!5RBz~1vS$|V@&o$Bb1Fl)3S3X8o}&7 z_1-P`!0<&L!}|sv%M5VI_If~lzlZv<-THow5AD`B7a#2UZpLGJebpt`qlFAyz+35^ zg(omj-In4sOr2i0n~QV?(_*8#Ll)4Dkzj;Johpx^?%8;r2zeY7syk$%QH(gu=ROEl zWq5m`T)nq5{(4%ipX!oN0S?t(GnI;M+S|r7D5T*_V7GT6(GK;pz1Qq#wl|?_#|)VFIyUMx*#=r=cO7L6P;+W4NrBVMyO&r^|Xdc7de#1KS!t z1IU{g1BChG2(>VVBYs{kyj3F`=)bW}m9x&>=;FVYj{jd$n39bKQ%Sa1*;7P5hraL? z2kS2*$_M=v3XbcQ>qSwhJnpGqe&u(W;N&;*fOqF|?N58kjlGG1T#7+_z{nDqvWw6Y z2QmAiS=>q5jy5n&euDp$A7LQi05=4suE328H^#R?Ehn8RA*45bK9AfhlbgMx&-|J zAUG@k;hl)oNVIss1gS` z9S!612tmN+uXjjaL}E`J)KK_A|0LKGxVc78r)4?_5to3BmR>Ouzd$XchZ^+#}W^v@guH&FJ1nZ+Y^oBXeR^ryb=bHMfn+_ zAK|A@MrdX*R+%sHWWfC%w#M(L5msAHJ5~5I=i=2OmA4R~fJCdFA2df;LsrP51)TFO zZ6)#L2*h<`y+8R5;DUY8mzaydDk$(tXbcK)Laf6e1L6jc=l9L@LR+QKf=ke!Jhoc~ z6}%2m37=5rnKwK!9;~{7wWF4PHh7i7EnsG???Ex%Fm5ChaE>dMGtbS_+0D~U5=2TK5ZnlfL8I~-w zpVemA3FYd&UqOT90cg~9E2j4V-U0YkWHOB~tXB2#Z1I%E79<&c2>c{olejhqo-rpp zRpD}6tz>*1sQVP#vbPRp;WY1sNKzYm4;q?e6CU2e13vx^AN|Q`-fVt+5rn{8venWc z0P%f*Zou!bcePXy?47F{Ivjg~yf(A(%R-^##PQ+0O*=02}lQ z#P&$DFJzj>*jGKnU%i zQcEUlv#7UX-aUYIa#{zOte4rln76}R7C=7OZRo)BAH& zK}`A;zN6EO>q|7kfeHg(61^S$WMqTj6N1Ees^%gLP@wJ;@1eGls+wm|i zIc=nL=nbXxYqVD5Km)TC2MtJ|CzMQ>a~`VK&1v0$MN{A&8SJL8s1L#R%=I|G==};h zFm&x6yg--MMnjxJCU-qzWM6|tZG}(If#Y=W3Ht-?uPb>r;;hrB@YHsl{x{QNB`O|) ztkY{HG=V~*2Y56c2t_2?Za*s|x(4Oyz0>d)!u*cV`CwkQ5z8>{JXtn5S4w^z%ROg+ z09(&hyUI7&M}<)*wso`q1ivq%jta%3D8ggCo3d@v1~Pmr?y-{0WS3L?p)=m7J6=4U zG+w5~N^U;DfysD1;QO3K^ML)#@y2a9*yBYxj2C}pyx8N9SWl30r3O4h3d?|pk}U&~ zIBCFb`isG$rsJ&a2X*0}yO8-j)FyXna0&fB4ZXlu%r_SlM}zvs?P z{e4m7cq{#V+wa-nksSR#<-Ms>aI@KP<2VNYFliVdd6uzVH;6IkJHwCVT>Ed4$L7y5 z_R1~R#$Tk1yw`weIShVLJYDiU8Gf)&dL9DaZLp=*^U}(GWu=u(lLz1kJ_%hoStuzp_JAR=_AE-V zx8urSk$(PNNf7x1=kvYWQJG#@M8V~kcY@m(4hDUOw;f*gjkCeao{JLmSips!1DrVpL@Rnp%uL9wQ5(l@x$*8adL zem#UZIA3vep&lnQs*w{}FHyqO%62Y0@moGr?4;{Tp0%?YVTxo=4yOn zp`smShG_s7@e)28`>03*a#>q}y^1l>6erwsifqtOwhFoHIaVNlI0H)Z$Pmlb>eU zG!BuLHppyl4a6qEY*5}9h)vD|V#6n+7DuSpBxZr$!*!xoH+|ML;0*bGaglpgH{SLq zL3ep@xt8HHmS2ggaK4xE6@R|~S2T(A5u^KY3JOvsv5A>7I!?eJ8z4pVA4*BTX)IvaJvWA_Nl4d}qijW?~sz;mJ( z-RluHHN$!U^P`vi25Vt{*Ja0-p?+=UZp=2;H~6UeyH#y9wdKZ_WoCHm!tbHh#z@Q8 zp@R4ZWJ|3{j2$hZ8S7_UOXxb=d5qHzs0>3hWd#XoXlXWh|5f+m3nEy;!vp>#5OSe1 zIL^$Gg?#{@z5w&HTJ#Ai4$l`U=z zQ@GGRqESGC$1i!n1gj`a-B%_;d}C|<)4fzOE*L1ZIMm<&GLf5}o{^1u8Un%{G!ZAl z0o&Gqkw$lEB?j4l9Vw6E3sAD6_N4nojf$;=p+st6u)AXG81{0U-80JHh_sx$^a3QU z`w^zl8jBU9S~n}8MR;Q^J5mE=#tayb16|{g*+9XtO=!^-C_!8nbn9x><5;%f8PToS zn!k{9)BvA^H-g4NJyy|_y!=t%!SVs9!7P6RkI|lZ)GPNh`$No*-&}GT3JG)AtPfXi zMj1d-Vc`L|`zwT6sPmWTcS(GdETm$q!#B102TZQrCcJ>1HU~-e?Zl{G0HY|9RYDv^ zs|DNq%f8}D0D@xOZNy07GfjmJ0U5eTAP_J$fcr^!c^ESvLeK$#so0t&3wgod85BM1WHGY9XKTT$4 zyhJQ-i|^;04t#$ZGX$c2&B*v1m3=4_#V@tDq>l7Oc4jO?#uP1Z=y$LZ1orKK(NclC z>sNgSfCej1RVn3gom=%jQUac10ncXSL3*l&*{gATMTarPOY_I%gr{=r4G?%;+nwS!n`=&A(hR)fH)nK^7CPY_Lr_`jbekh>=KCQIkaD^Fgt# z7eal|zP%6D&Fn0)!6$UnJNk68mUt=OUtRLXJV)kjz*Ae9_Z6naN)~(s>`*fA5_wcI z{+~Z)vXb$?w4asCy9nj#y|>{nWM23|{T7p=#~y|f6p_c#Ai8b6y)rYSzWj4}ehJTd ztZTl$td4oWK~*{Wlxp7vkZ@qx)_vROAH*9Xc>A{Nv6=(SsFl|xPS;~Ev(&l_4AFYJ z_Lwl)h48Qcyq?W^eX}?U$wOsNj;}8P&{;38*dOi(12jRSoUhHC{;6-FPpmJEbl-Sa zUWU!ImAy?jN@k)BrYV00(_4}LZu8r=jTx>`^b>=)0{TA<`my@2C}r4Ivd?;nHSBDp z*V^e~CEJR0T90253$a#yG~t!dM!E;O#OHbNz`DJsvJ?+SW#Aft7RlbP!tsgPDzUUH zgRpa29&<1`D!``Lk4x3zaI6ZgwhQ6@*Q=>Fr|;#2TkB`Kb=0CDA z10V<^_%5Kf(^1*Sdt7-UNhd+}*-fkvOw0NCu}qtWb&`EPU~IFl>rKx;C+7x#EIKFy zs!qRg7h7>*W{n0c%MEEdvDvY2L9;rG?)Gp=M98<>{pKSqbYz3{>`ovo&I;A=B7%#L zV>nuQy+5)}xv+G@lkLOu6*?C%Ph|}Ypn{TpV?!V~+tO?3lEn zf=|&OrmUb&H=jHBq;&0yZ2Kf~e?7rjxhmZ)2H{0<9`=9X6>}inCFVz8Q-|a9eFHoL z)j#43!1nxAT$51Xc;_wVQ<2%bhY+7p2af{jYG)>Qr`h9_Jqel%#IS}gqq-yxWo}0J z`g(6O9z53FH^DvE@NT1uH&(I+Q(}E}7X}0%G9JK-oTFIpKl3xJsI}J7yO~h(I5WPT zmhrz;#x-unCS-)AVB1`H%jbC5=a_f>BIz*dy$xNBQ~nCXa5Qp@st68hNZ}e>^Vkm% zfn8oYzzUd)@U4By44Bi*l3{4U@}SpcX32SYhDE|tW|R!XW6(fUG}GIUeTc}9C+OLa z(VfDSVsB6U%%6lh{t0EZ_2!MJqqyWB8D1wvv=J47L9qg;41OtaO2@bQ$Y;3bkabS~lIuEKpL7nuJ=)jAK%bYO{uUpGI_v z4}O3l#0Ec%ykho(4+Ap8TP0{5D6B=?f2Nwf2eY}@C@;Ii)c72%LWf_l{Z*<>oXU*j(lYi`8S~wYrO4>w>iY8Q3 zUfx(;av@p}6d8&KkG1tjf+B;Z-4ZWm&I;hHxq#uB8SiqD=#hM zek35Hm-PrP^+(2FY~Hq@xv1If{W2;D_}&BG6U*^W=NP@2bRrPo-~9zgo9ymib}>m+ zctOLsZ9jMnEP`1QLpf^}`)H1{^a3y6G5!4E=Ue#sGJFn1zS=hT22}pZ6;k3V7v1F@QaxPfD^bKV-6F|k_z~_BREAa@=UeBT&<&v zgk|BTR}B3URABYE&c!Ca17Q3iHs$ei2Ye>O<8~|l+dmznxpf5^#6rFl4KhX@{N^wW zOeELosYo$scBV)>sg8nGaYee6|BKug<8BdFBOw7JPwYldb;)_CNNB;Cc<@+_vxFA( zmFi25qGhY33fXP;wWMhj8c~PXx0@g*~^T*(lUOcG9Gm^c1OlQNje`h8%Zq~$U87#0NyPR!2ou`?A-~k zew%8U-h5J4QCc!-SEK8cb37LoON28$s{lROeX4{tku=dQ7AEH)k*fl4TX8&1iz$^(c z<$R>LUaaZ)hw$r(tC_z@o0| z78Ur09)BM{*1vwKq+`$p_!yUzwk~GWSsPdeYHC%(IKIhaEBltBEd$wptmG?z?WCp` ztERV5wu_B=4?ott)=j_Kx)_?)TQ%Kyr`vQZ_;SQ&3K2AWXWu}$=5*&zY}DhZ5rRUz z2_;kK-I%qyWYcV*9AZM4B^&W%%|~=Dy}|n&p82od`+Gi#{O&4VptwC88b?{}VtS_e z6yf#0F&T}CW%f0B8jdB@=swlU6LuHxMtRC^tKd=k0gNFBd8(O*nwU;(iz#V-~FjN-PWF7NfjgtP@QjaoGp8+g}#}g#xrc#fIY%KuYudT`gwp}KlFsZsM)aq`>1z&MTd;oBD)WH za8L5nu7f_nG=9uFx*#)STz%HXi1P)TLZU1FNKfXWC*quJ>tE97N&0waz!AXl3y67d zK~w%%mEBe$$BUH@=b-&i?2A4M`p{n5@?Kq{TSEPzCiCdN#&9A~Szn(8rz8goN6tA3 z3T^Gxj(_G7tOxoe@DM}>!2qFsEuSg4f?nyK*ZtLFIsqc3p76n7Y!+gwf3jdA_LKF& z4jD!R=rCsa5&r6K5wr)3f|1}P<1jE5f-5qrRHUYregz4$GD8qr-VZRqba%x zZrZUa9_cIt* z@Gs2iV@|mA9S)5y+yq@^kpQVk(AJ`vX=-O=@z~uqxJG1d}jHE1&!fuWxg#i+eX$)tM9j+ z?Np0G#?c6@V=XH*OvAv`H;#u_XLr+H&^@@N!-D~Q-kO59;pgawkIHVab@SJNdX%pi zRvz6Kx~y=ATA$U62RQV@zanc8N+f!xnxs9WY>)@{^LV1Qp@C&ZR(M~9?+XOVV!#`i zlHa#}7pAU1{B8wPTH0_Wyhbygs?LEYJC#>`3F2E8)~3F4eASB)oKqI>m#)5gs^GpI z@r+3PC{R#)0W=+UIl3$tZUOR8jg^7&r?UL_J>f42KHOi1MBG!JwLCLp{EDu*e!;dt zK~rIEq8sSNiphXv10Wfiq`k0dd{Ni#;m|Nz zJHdO`Y*~O%F*t`@Re)RYbPx6goTGuB5(mfZ^84&$EO4b_OLIuum@ z;|b|o56QmTdZ3af+0UHUKG|Q4;Gm#jYT8cPfNXn@ffIOt9@TWi{^qEbb###Jvq--F=y zbFlx$@4*)q>*FVG_bA+f{iJ&FKzIC4(<%PC|7rg&$6))8Pwn4YbRFu%WEwl-zrho> zc=)<|50|HBq06sikzM{oVkr>DzI%8dGS?w9fHy>dcT}+^ylWy*`KsUZA!Jx^24Y}Y zZ+&nZh0G&C&tARqZI~{s*O9<{^*H^T7%Om`I1rmP^x&w~A6w$EI;gMANT|w46@G?- zYR7arjP5AtqMADa>B~Qz-w}CK909T5c}p>724)v6`XENz{`L<%Uyc1A&H~k=6%9Cm zgM3b>9V9;IuJG}bgk`mI8fcYEd%paJ9$I3e3Zq(0kH)^2r3yemw3rqZw zjmbde*T6Dz0sst#h!I;)-%9XoRN$HAOsp$igTAECKPGPoAm>9HE`K&KZQ=;GAD~7B zx7O_0R!DN~0ME7mEc>j9a4}*<;E94N(pu1n>39R-F3<`j_?K1yh6sx5f(LGspPAKK z!S$=Pf;o?B1>tA40)+ZEy=!UL69cT}a_^8awqTE?nXD!cMPZ$7h6OVhzuWXReb6*d zD&eguSP3&z1p-DKw%(AjlnqEy3aXS^Y1OpCU18N^cf}fPT`&h$Oox8EE#fY?Eh1Nn`>zOJ6x9;0!MbZ&ZFI58_RkX!%e#K26wJ}yD1T7*;Iew5N31V zxR%VpbYn|Ab_<|*WM|)6sj4)jzv%Q~%ZpAQ8eeq!u?pUE=M>`#RSqEI=lUh{RK(rT5K^QdbaMShJbnJ8s6WR+ssz0i&K2{yR z1e>1m){%GdCA0K!eRKF9sc&Z^VSo6Kk=-rJj_wCs!acMXCU>abU0Z#$I@}R0WhL$x z@VB)$$hOvi60%p2fSKLsNx@x1d!bXbc0qPSN5$qwj%I2rX=7Y5-J`ms)i82^->CH; zY4RVgZPsc?RU=0`EMBl;dZyj&Iry^Q`I5Ex>PT}-iF9$=iU}PC)sCqSU)s=-utjr` z=1$t*Cd1?5mb%&64)06QG1WEqn5`9o_0Vo@oUP40&=G(3cb%HM1Z z!h{Zy=1V#^*}NL(wWGTEX6A;5j+{(jTV(gZy4@X-*TcLxyx!1}ldJu$6WT-lJG{kc zuT^7cXYPKqcw6n|v$X`;tExl!OuM|z|EY^+6bDm>3L&WtAuCqo8B{BXG^SdsAt5u~ z4SMRqWL{+By}F`KFw<}B$7Jv13^zuan@ehuJ@g`<_m?!|IXoCO28%qH(L$Ni%jG>2 z?}DM2=Fp>wQp`Vsq9_a);g%o{sPfFux6|Ys@k6j0Nr-BJrDJp0YQBYDDN$xT*qpIo zkrJn-uyyw8*rX&*IvHATeXpf5LJE!PY{S|KzPRI=HdP5jT9kLz5*c_x5@)O-3@`WKk!;`LswnyBSQID5^*WJEJf`#ykrNQFDC8X!U-y}DvJsf#vNZjj>%Z-L zSBv~a@XhwK3dUxC4V&wlL_g3kTJ9zqS#XsGMF0v__>O4NF~~m2y!m*`M04bEED#=Q zw8lcNinN>vy@OLdo8jV3o(vA5IB<*Of`ipZTx13jna;2Nm+=S7NxSEl_+=j54A)v; zLwU$bx-u*#zAj&kuR-JbXK}$<6U3*$=6w(*5@)*j3JD5p8jg6Gb1$hdKGQc_@b-ZG zhMpy)<)`c#-^Gan1j1_$7C_``@!XM9Vf>5o7y{AkOZ4UH4f^IZ1yNZ_T1zC;#x+*g9RpDGw=KP4Jqe-y_DA}WEx|KC(j&(_k!{If<$fMdDyVsu zRmWat*MkOvHpCuKDK$;1U>pd>WEcU&$N0TnA6z>y9;fKyR~d1s zW*h4(uHg}+`F~AJT)h@xO~$ecL0J%yB}+G>US@fb$({p|x=h4CLF&pJDd=mw<227f zz3!td-BYLgR`zD9cJ~bgyYc*^c=7XO((%mjkDRv57~9fgy*xov22}w)yziq>55EW{ zblUSZYIl=t+T()1Bxgj}JUtfUBw5!(Nf$JpXLCw}6<;9*YS?B>2mOf6k|#)}u^Z(H zJ&N6ir%3Hrx>2(nPgr?D?WHYcXbHvx_r)L3*BVGO`j<0lyVdx^X%#Ih&A z8Fm~Lt-^x^0q!@y6MDrWT0utq5OG{hYM`RM7beEWG$4i~DE_lNF%yNeHSWg*SqCZa5dSlB1mV|%LjY?6v9duRsI|ClvsSx{ zcRPXLKUoo*l{wMOYM5wV)c}H8{t!3`#+BbeeX3dUq#nB+obd@In1Co4ub^PS_k|X1 zAtoB(N7=N9*ZPq1CsD&{ko(m%)|%x_6U~00$2+YUYLi<2jzX;EITkj{R|hf6ScBXb zh)m%I_8c1ub~KzH5jd3B22G5>3_lwG1xigc%l7U^Z}+yKt!M4t4n_UzD4R(m_v3+$ zti&(tnrK|LcRyNtcA`U0!&%1|{av2A}_Ym_djI2)fW55V@$__+2 zdh`xmbfb&#T0!6L@GQFRMvi3yP)&1-Q{A6U_=^j2+&b%Y4?GN{#))RIsAZxjSY%1L z^*Bz#;-2}Nakwg588&mQ%_|YbsG%I27{pAPDAUjPAlm&m&Jc9hK(9L{(14_yWk*`D zq4OjePzo=4Z2Sq`w|*YNkAOd#WCk&TX0HaszS;|ctZReNl-M*F9ef*c(sS;I!Gd~1 zG7Ug??E-+}r(g|z6PSr5D3@M_j6nQd#FR>b$Cekt$RVYQEXVwFYqZ= zh9H7t>t=3n_-(l_IC7$|e_daIzf2pej0KP41zNZ=19v)@OL3eTERWpawyeRzC+lUN zb2i8IX{hFFSNt!Jt$P;iNSU#Q2U!}b>95TNg19W%)+4(KLfo2R+(jR76VZ*vWf#;L zt9WONZa&zIj6w6RQoIF?yNZ}d+aaCXbaS2jEURZrz>XQpJ1hASWE}spdNv9<_t*Q# zL1iJNT+Xjxl1sm`2xj7uh(3?N-8j=(ib~u_hKyi1oC%3b*&(w_K^+d1yOoZbAeHul zyE~&J#(Mju=4q%bIH*X@VoRVzc!aZwwA!ht1pDU1M=TqZO;C`ZXE-VNgC}O9A&5nv ze#UO2h1jT1VBeDnjO|noUW8rvk6ZAs<&?lZ^2@g{PcF>TRC=6$iNm5mU%iUPiWEEyUwCuQsA;=V+k z&_|ImeY=D|uy~;ks!MD^m(qsZci{#0fy!v$-}W*l$Kh5Ydan`r3N89x=cS4|8Mk07575QO)|i$8L4hPG-hpSZ2T z+&Huxe6ZS^U_qLi>d@B^f0@9B)n+E;Jf|8wX6msah@}6vl$9V>TC@=_ z)-!+eWW=ekbqD)ryMBS(LwEt6U`t&^=)0qxj@q2YLlvpfg1$QA?Lw!Y??o13yyySh z@uCf9eu29I-y2JMoixVB6Q9T=z~ALOQ5L}e2M@H_h<}qjbB(1TbTV&sK6Zgm!3^^M zk+kPrJB{B{189Rk@Rz>PF*tzkLevSGPt3rSL$%W%F1p4$Vk=w@*uWyNL#ufKS>#sD z!deyd3GZazD$Mf-Nr<8^3C75hY~aruc!aDCU%+hiJ&}hg$NI%t157#3A&APRJUig4 z*J6(%Z@?@E(EEX(!2t|l56*2)z(Z{awx_(m0 zI9V{B(`LU&AudGwGA%>#Am&>};^!IF&;l8L)l~5Iv6621oH#2T{ul_Rl*56_C{S6R zjXPG>pHkH?Ha3Z_q8UEn_j)+kko;4=TaKJA>JDOKka__)2# zyi|aHz61QhqNrVW3bI*GAn1-bXMmKd`FH>+iJLeZQ}YbSl_Tpg8+FJF|Bb^T+??GJ z#U1|OQ6z&uV2dt)0LQQ24ic66b!DPb2d6lKV2kyhyiru@Yd^%y)4xAAaUI*0p7ck% zh?K-*~}vXcC-HcK2HqoN;V&Iu)+&c3njgY&?`SjJ zznm?@oj1-IZrQ6c+*!C~p>RjqXfJYz@vy=j9LFH@np_Zd3w%dvsj3t^8j{=NP8a<1D3Oo#$SK%@o1~jZd?;&UTiy?Mtv8yrC z_~%Gs1~B=^0FJ=PFj9+^FvDAtK}{n&K2`e1B0ypkfxnqk+ zUHnI=)@;7IW-3zRyq>@xsmjVbXsK|a;K3Ew&CWlV*Ba_~;a#AgoaO-xbsQW^ZwVgJ0%{wlzUVyw@g&V;kYw+FWKEo z)EF)um_7zA`VqU=&N#ZX9!G9s0S3{nP2r)K^Y#kAg(Hh;K!_6R_uHev)Hw)XJ!#oVa)ePSa0zUV$Lcm-C!9_qSvEo#e zqaTa0FFF1AwOkkQt=^VxD{{`a`youH+mGewRQy8Kk1y7z`qAq<>&Nf@uHYdA!Rd!w z)#C0}H2m7M@-99)x{6<%ktV%QPT#G{phvg$72l!!-WTo5&X$V@M}E(e=Qi6`G7s~5 z@bvWMO-K2YiQ^02G`i4lP#gjIV1o1BgdkfEN*IrQSE$+dB~C@wAiy|P>6FK2Ds{4GQa1vW`56cnBRegNyTse z5urg76S1Tf+xrM#&;2I0w;L2$9m4qs{aP+KO#s$rT5m)tn`s3>z>3cm-%CuD)gNO# zsC6&5$gz~idHst&j@nI+ z^`FQPH!*J)AAaNj#sy;i;27S>a8rkop~XUYOUA>j>?K`vds*bI}{} z2cZG5887Z^oz_e>H@H(N7+c|Ja($DxUsD1Y8OOgNk_}_s4ALIY$ z_H_UtEsg$LXxa_55;>`|}i?lZdIlQrar1;Ez_OJjrIpm!kf(nT+3BOhCA^ zISZd}#XKQQc#<*+j44UPP)$x~^Pk__u4f=;i74_XfDx<>jWRPLjoDZh;WEE@1vLwo z`-`ubQZ*Gb>^H{egN+dJcA7KAI2Vz)4J%MhLp{`)6r{-+;=^=)=z?eKkM;+?;KRl6 zd6_EFb zu#@rGxeDtfM%FbOwW|aIFGnR1ol|9bxHcb`sh#yaBHG>N;`Z&Iq~msCIzI?dXQ&T+ zrgM}4)m>o4_^5!YbPMS~4Vri41E~2ZC=1HE80exF%`632s$3Y?+h@$Yu zP1V+lzO2Cpq;yT60#YJHf4~R&pX~)FQwHra4!pthC{wHXkgN@kS0l2nUyersTj2Gg zMc=^(5Em9|#-lkoJ93nl!J#JeitNZSJTGId#Z^V1o9bz}7Oln;Zbc0bh7mfP2SwTx zbR9vB%`5P*Wnnig@>0F{>QX4bP;1Z}pAW#p-Of)mfyxE}wxJ0L;>IH1Q7t+Uwb8GX zS8AG9VjtU%y&?Qb&}7WX;|S^(8i?XSV-uYxqFL+(l=slD+b|37)qU@)L6#eb$_tKH z{iHm0MY7y?tO^nRj~>}v<~iVxY&a3w-6?b`U{V24`*9+x3`epK`HyTV_Z&pH&7koQ zf8=!kgZ;s;)IbJ909uba2CIGR7O^u0K_LfowTDI3NO z%bV;;tr-H;0I+pnuU{SD$NbjdI2HP~IXn_NEoB31a?50nS^!mGK=NrFMAU=;yzt|$$i4qP2h3e^Y589pfeR0it} zy032W=T*DbaCsyW>B|HA7mM@~r7x{3l^4OjFf-op9!`WP`%G$o!={Kxh!F39t)kuO zNYN_{X2)hxQtF0tbK6Q_y;TbIKX?EwQH5Zya`ju&s1crpEdxf1&o!F`rd>v7*OYC$0`3pY(pCz_-)y@n4bUYd7fpN4sD6P#qzMVGPQI~W?i)ieE zZZ<=S3)-szA|$;69fKp19DeBA81px5ZjooiGXyx?C3cy|KrG*pjVkg0wjTG)f65E*KwT#F}3I^SR?Q-67qCHFj)=qAf9cM zuh}EdpfOs_4$1Ph*$F+u@zz8x`;#`lkqF!*<0HY^D}&q}^!dUcD2)yWHVk_(7GlkR zu~yhH6ScS+JPX;+Kv;w+CDji;ggDkOE6n)g(}<47g9*Tr6J4<2xtig4VZa8;#k>oz z?Js73L%FPGV1hFYanhGbLsXlO;|!dHYM)@WT+gCs)S^_MxZ?Cl%h^^^b+&GNnft*w ztY=$O)!DjSB|!u%Moi#X&P>!yUouZEV7Wi$4)brmK8qtrbuD^5rUNdYCQRFv z6&b)yzX2}@qhDiU4!ZatZh>{y$GZ=F8|x#@+sEbnWL|Rx0_7e}MJE$+^x+J# zJt{lo_rIM!v`d$o{{Xr~r_vPqwx$1R*gHb_7Iho^xq``v6@3xez{6Gj0^q#3V8Fli z+ideV_L|w}HzzBUd&@<+R~0^thQ2tyPd%HR(@;(v3$!SC_HRPD34(G|7il%T@;GRo zEℑ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 cxlPz!QQEB5c_g>Y{3Pppt5 z$$62)h{E_etbIK_vD_*;u=p61I>n|GjjHBqXK5IANsK6nb@E%t>@z0oV+T2R2oQQ)m4qpLrL7Ysx2-dJs3 zKpHdWtwZ_=XkD$Pb#n}@TL7&i%O(o@9=yl8EHRpzCP<6PT!vFA)9=)sVoTid;ft*z?7Xd2T`7QorC71!1q5*wPT63*9{C0u2b^$AX22l?fNp}(Q z;S=Jig&})fMAC;9F{?0wxy?6=LciOGlslTUkN&k35D)F6?PxULK01XtFnZndxX9W^ zPv(XV0^mklRl!YYEG^}l6w&EJkFQ5bwO-$c8eG6|f`F5*C+hlp*i2t*Ya_j#)3VJr z_NI3~ES|rZ$r2#@Kj#8fTBLb`x~j-o03urYjFZOi!3?D;)&CU;X6zk>e?azLt4wtv z7rS9h7;p!f83ayfRM_SW_-13>az_D25-{sChS{d*y2 z5%%n_{=f(`FMCmasQ}J3fe}UmkudjaQfsHyadNW)))s(j>0z{Ic zKkw={oB9_~?+vv3@9^{Z6=Hzt9{ffIfA#!#=$-z=@6Y_6=eIuiIVjt7t>;PFJN^UO z0dK4L+m=5C%mkpGp3*G&`fH+c%zhQq4sj)!mr2i9?k30c6x(2GEdFKgtWZtxjFsJCd4El6)cRnqygKjf)JMfW2IxZG?vkMEq)bBRTUHQx;mK ze#SNMX19t(^Q2UIx7^);e}_7l=ii~cw(wXYg@$tgRCw|7MbI_5{S{UTbJu$pUuB8Q z->3(CeP|Hcj4JO#Z}<7yPmr4J42k%+m?S5;uNmGZ?@;_DHDN|Ub&8c|=6JhP>Q{?JOm}?^ z`y<0R>Trhf8_hr}DTqnbf1TLyHKV>m#&J#pJ*c_4bJBp2Qx1AfsO8;X@vg$pinj6; z1~6T8UkMl8xcCjzlIh4rXD%exN}-n&*y35dC^Me7FR)*J`cP^fO3m&Af_K;PN%O7~ zyqnpJ>POh>Umn=1J)xn*x2M<<7 zRH%okQ@gQOvax@vuN{j+(feGWqCden6!qVM{q1ITfTFH@bBCKzqjU39ret7~J7Lvi zXJg~1&PEPEIBdC-97&_jT=`aGtu8j!YNu{r*>30^?s*LrOL!G%TjBRrC6FhIQ?$f6K;lLL)*F%T&`)u}T+yihpSE-ZO>JHV$+;WBK8> z<(?)`TRx}yUlMeI#zx@0 zGF<_YOrB2#1EJd}Q-p%j?{Ty?M9N(z?MG$^KB63GAPIV9^Fjd+>bPjiJQVtoB_TSg zV+99Om6`)&o%ET~ET&A;G6E<6gmn#q&HnpKeT8j`_p4FxL=dX#=z7x(1U$kS*H%UuK(z&U(NFSlk{$ z_2?smBz+)&4$_AZK+Ow5K8K3*%>IQ^8zkqVb+2&0f_fk)G*75C(#Z9&>l$gIW>G;5 zKD+|N8!A5Zpemj3ayF02(G=f9qQ#cm+0yDAcNB$r@m0%21PWqDGc~%3rUn^PX;mp^ z*}Zb_f8jk8yssqHx%UI|w5`awMcW+e@O0PHHM60>4!2aCGMk4Q1g*s#3Tem=dM_ri}Xg_ge0f6pwK*?|(I+Xc9U0er)|+C#R99=tM@6HFWyPAKAc#a#phCtt z=moQ3@+^Huae3yfnJVrcy=#AH#y!iOn??l1$srUcmYqQ>ono_VYZezcbw5@UsTu%i zt2bGe=bM7A_i&OOsGd1p-NR{dyM*Vk3w0T4;am{)MRrt!>N+t)KC5QJo>ukL!(t~` zNPOP7_ZCjE`}uv`*w1g_b>L-=9D-~&KJgwv2aD#YLqj|1jR0V}SWsK@FM1o}MSmO^ z6m;q$?(^sDsNe%traW)X>VBmUY0d`oNM}4U&D!m~Li0+zuP+}xa~zDLi*4;0KNo;l zxxT*G92RNkX#|G3Wc{`K+de4-$$uQQK*%N50-f-%id9Z>4aJ%9b_}+neDwSuf2*QG z(){}{^s9TxAM3RRwy9v~VT&_(q&XtCSgW-Z^RhpW_rOb$8d5tVuvKx;L?p$=v`o~E z+xUW5S#nK4lAQThKo4tcmK4Osg2F72p@E8|UE!vc0G8;;KY7QAr=dv>LGsUpqUXJT z81KthBH2zC?rKP)zbBXAt(uBXDr+Bc*T^R+7OhN8AZ{RZhl5~XdRsxJbMuW?#Ns4s zlp1pkbHb-A!xHoqGFt9#cjhaPPWiCvRkn9d`Zm@PQw{O%%+~xOL3YibfDEZo2EUdW zAfNqo(LmJd(iT-Trp!R7o-c^KEMQ1gH*%~G$yAO)7~2|KZ=g7iErs(@*TkBPOz|}E zY$P$Mp#Jrcm7xrT$9_i1Q>G-7$_?HsEw6?lMQ{06z z-9}xc8}2Koy6Mljk7zTPe+NX3cbT<%oCqV@j+%Hl_%-&fh9rDXGd(Y8NR|XwtKDs+gI`)*YEr^KSe`O1gl7+v%ZB6z zlQ@@arIWtN^hR3zp6g&{VjQ}aRHvivcv8kAC8pI60`*;UfyBtcQ9V%ErcNjmx3P0H zWd@1Z#lAF@y6m=0L~pKQ`_Sbo_r*$d#Ztq)zr>J+Ih}+E?wgq&z=8eN%iajQO^nj` zBeve9-toAnp}fJJaw7hh72_=+Yn~nxrSSIohtVsTD#I$q*PzP?WP>7TsVR0Rjz_C= zN$I*-ry2WUHS){^>5AF*)X$k`hi1f6RbQZX5^YCl&Y8a(S1sRi=IujS@QUAy>+C0g zJll#Rpsj5>)0VIJczI zf`-E7ZX?bvvCfd3nH`+@32M3qPFQ9Hd@}5`UnfvtB{b^-YLNt-;0+lpG$io@5j?c{ z9B*YxuQMPoe*NA1EgqSdjm}H@ACYe!Hsn9_7g3lU^_{b%R5g%AM?^}j+Sm*^u)G>5 zWc7^~e3G}(mT01{=TbNwn+_L~A^LJX-_psbQX_X%TS3cez#PP5lz26xr6|xDIbwP@ z8I>T$XroVl#US&Gp-NE5ymQcbs~7wQCEM=PCo;F9A<&FznnX;4W%J*G`U0|05??{t z`J0v@$e(y$peSYE;&>9XjtvFczF6u7;)Gx)iA4%o#MPOiO736NXaa(lSSH2=YIrUb zPnmL|fPOvBW5GwooM^;Vr5vObUl8w`nUS6DLu&+NXrqD(u~P!<@kSb4ktjdwP08@H zo@pt+&&)Ue(ZILmA4pl;IYU zN^85bip8|q1ko*~wey*cLt7sEMULb-$xUM9-H4NU%TSHEiZpj;b2WaK3 z;p2Z$qxoz22UC(s8HOxxKi-T=FBn3+n`NLf1H?tW#Dl?*(A8!avy{RR&wODrq!M+~ z3}(oxE-yGCk|kEKSPF2A9Tc^Wzp=gHCi*o*x(TikDNCXaqe{3eXc*N^f1pltynXQb zWPU5%^-l8l6e?V|YXlWZwfhZuB`FDI&^MNtsbg#JintfbpBWw5bwXuM!vE=!-;ab3 z{clV2zE7o`f7hFR<2m(LGNxby^|rJUO zZ#GpKitGsKq8awhM9my4L_?Bl{};tgXoEb)w!gW5A>gZw|y{rHT^Vk zna`^C>0U>TQUK?>k6s+AG$!iRUHuo>!sT8vKAI|D2Uk+o4b7>)24@+IM|P*?+_8zs zSb4kkI_WmRGXIw}fbzp%$Y0j55wtbsN$y#|5qvk)axED2Jxv}Pdk}0Bd9(|oCg^7G zQMegP6@@vGUUgKj2EPlf@V`P53yQ@)Y&N%6>m@x_#bUqt13OwhevZeJ7rf5+Pi7{2 z@b>_Ir}I0X-;elR!*3qHJNf;V-~Id^=Lc8O{AUt2zsj#O4vvrEtalWD!+eG<<2@4} zkRSPDoiT_iR;fvoG8D*$G@ri}Db%Y&Zu(8&1{P`F%`m0M!0%w{LdS&%7&*K;KaRsA zF~QaAtAaBJ!5S)8qE-a!k?d#i207&wo!=k25Fr~JHhuhOCxNx{Ou>*=Tq#Av^0(W0 zr#~-#ssdjKYPRoR?QZhXdK%)_S=-O-BYmhH;8e8fo|YbJzoZx*!S>8FL3Q|6iYrnF z$?0K$DRoD;7YklF$uWl9W|~1lmvsPSy6BIz7dZNzW~Om;G0rIM3+w$gfYjf| z(>ZFzO)Z=??ZOVErkU-sG9@+T*NC|MIt;t=8;i3@icf{$CTF-#0^f&0)vwxL45Y-t+Aml9ebJZM<&G?t2B-$K%r*cxPzk&4QBBe+5pZP=x z<`NtXeF@-v<*%}E{<`TBpOQfjNYC6fd4U1+NHZB?L*n%awf-H9j{&D5_DD!yx-Q24 z{PC=-C@9w}xem9UUI%|a(D!az@c!%L4fH*8m!OX%0h#OgdV;ST(_AXA8}kSJfZf=O zZd74eHYc~{4h+iQe+=(1OVcASct~Je6zV|i0O{!0iR~Sxoeh&bNDt0g0O>1?{Roag z_wg;9%RqQO4a9UrEzWn_yUsZAu?vf(Pk(ya;IP5|S^I-|e?ad2y%XDd#ugKN8@oft zc0N|HpMAB%L_gB^>*k3obEs(a%fd&~-({x1cNHmSqCpA(9d+&0eWm>xE(#-Upe81(uhERXT;Xo;meQJT-Q_F*5!6m{SbM3W z(FyaHL@-9z>eQ{K8Mk^-G<6=EUT03qL!UU|!PK-VsZ*x96JEk`j?GzgjqKVuyx!@? z=}PtDXlh)Znzf=9wn;{_dM4S#uuNQl*f1xvmsy{|TT|6f$d{{fQU#kg@kWzqPzO$q zCEiHt$&gxm~A8C|H3Bz3Ew(A@1Ot2A6c6CyqS$3KDlbzea= zKzY>DSL)>j$PIc_fl3{Vel^Cn)a96H(0^7h;f!=|I9_MEO~q@i&hrpvE6}FPR3(p~ zx=*;EQnH?mM6s@k3KDnD2+t#-=VKb$Z_r?^+GL_mhcO!XC9w(O1Y+az^(L?VLi8+< zZ^8IyxHsa?3iE)HN4Y>Cm(qq~v{|=Ie*RCDm6D%7NfdZ#qPjt$M^H6(vDbK#dCzQ9Kln^oEdL63TM7@ zbth`>EQr;JG21^7$cSFCoebwA=a)J`^geV;{f}zImA4x@pLI+93->W;6YsSTIRAl* z%$$I9BU+$TynK!?6)KK7Stw2(OM%zAz@PbyBRnqL?&b5kV)gAWzDbqDC z)r(UVFDWNhxx3NdnKzJog9eiIsrV`)6R6J?s!32ir|wP)P=_33R!g3_y>ra^GDZm@D1 zlg1KXm5GEdyusi!XPG0(w;w1J!LJIx%MSWeVWm!~tM^Jb*V zy#Z3t*_}4U9XVBwvn@9Z6tG~Rg|QDV5e~jtg;yBvz@$=-y5r<86sW3we2Vh8r`GiC z#t$Ttibnn0d^TU3d^X*kTi&5IddX@zn52u^cVq1NDQ&FZq@tiOne9NOss8V#zu%(4?|BmgnlA{BXU8$dN=%1>CI0JImio z59uR)c!KU?f5+5$apk1b*p7BI$I28erjI9v4>nmQK#*Mu4L9kP|M<3i#cET;iDICVS8v}_X(?8|(Z zToYHYXn;ov@Z!|Hh5kUIYTY_6tb-rEBTLv6o1FP)Yk7^ApWJU-uk9XrYwK_wu2Ssk zyonYJy^S&=yF6RCaaU%>Av+mx(^LhSAneM#`*2?EmDG+DHW<)QCWz6Uj73Q^Uv-6C z)xY#*D<6!ztU&;$?lx|X$M7630xaNY7jA+~5LcOUGC|xxN-+OI?hvi%jW3so>wXx9e>Oo@q_Z{} z>ihX?)bo8?niR|3nx!*)hudM!gn0sOXJ&>v`Kr|LtocxC+exTx3*+ZwB4{!zej}}m zM9eg*Q5Vkcs$%c&xVlOlGw}b7_c2?knR8sGdR|354nb|Dt7h#|d)!)7*ah*T%H^Zl z_bV^lfCqm+qfnCWt4Xg&)$$fdVXwD(|KwV;z%&+ki!Nl!KT^UMPKsGO_yymmls`X# zd&^GMG%8Vsx+Yh4o-MmfTwZEscX(kS{XN!Bz>3$>-E55Bm{G=FT-OT?Kwdg71DA3+ zNKutY(yZ_KN8V6+MI34tIF-*P3rW||jDe&daY4W@Tn53)=Wt_#^Tdvin{5e1Wk~lP%MJ5=41}Z zPS2?qpqekexSvz^5;J5pdlmJ@Hc~Oix%C-?+!L3|>2s1b**|NFDxvXRUa`@H&{-Ra z8%>W?B;isb2_;EG-B5>l*I-kI@9e?3FlHCd6noDXY0WHo+~}=^{mLS57^Q3GmR@@M z|5*`PO#wOHUo<4Jmse=>F!u7pxM~U9Gmi=Z`_QoZO^nar!NgWo&k3te2!XzZ&0PG^ ztB~YWhcI_xZ-5r>uRU0ptoN6KlYMzlW@mQCdEk)=Wy-g0Ri;jrG7)utrsQ$8Hmq4As zzh8#v8##PQoV9iGr{F3IVs~?KiFv}sxm;v!)geNHP16gQqQ(A4Yy_!M-7+!2I2(dC zDlY^L33n{4!kXA@8-f<4u{|C@EJs`JB6y{T{6aeZbg!Kb&ksXej2Ga+`Z%5(63-?s zCX_ifmQ7?$Y)D=x+5k(c<-G-0p$1b&t@CPe--2HUtXF&Ga+jtJRrLNw)TOW7X?p7Y zVNVU_;sxcY_+QIYHH$J8fU$fh1-$K-Ytw>D0aA(a%&({TP8z$E#!Nf=k~5E0)z=Qh zm5aDJ+pBo3H;Ou%nkx5v{8g@+Qtn1H|{wgd1~ z1ZTWHv#b7AG#X+t5n}O6@fL*b%dzKITx-`yd}p$c!sp3S2_}A>k^R0qtn-AVp%;X8 zT6&=f++y#}Lg5Huoz_F=my@+P74uBA?LU>;48YjZ1GcKllrp1~%($2mZowA~@uAnHFG;fcA}slxyOwF;yDM?o`| z8^uC4-zic5lTFnB%Fx{4cGFgd;R8+9CoGqHl-veb5O#r z(x7LChe7{G=3y50TlNLRuO9_U$n9{YclwQhv%3yzot=Fx92R5m93WrQRcXDt>Yd~_ zViFB0o;9k?Da#M>45n-&jImm2K^JXAtcfziQ%hU%Z$);DtByEP!I9axY8K-Q&G6cyaoNoMIqf>{3 zmf^m(cZiDryJdLO01e2JvcK%A>mMqz?)U*&%kZhNf|i_{5PvUraWD}CsI?Ka_SYb2 z?YfTz{CVMVVA>KVsdPyG-}r}x0ggJ((ISeYlj$F}!vve5?5He#xn^YON%oGht-TR= z0{qkL;LqoK0@UA<2Me*^(D41HBy&6D)P|h3?++{jjEF4;r^7`C|6!`1F^1EEM*gg& z<8A$lDBsMlBVHe6{O0p(UGI;S-KW99qbp10sr=;aJ1h7-82r`qkJ$vDCjRVseu_`q z7W|IbX0P=;rxI$d??`;m+bBDBHOYGut9s`}cI9R6?LK3ArTb5!TBYUqnc052K$gzFy^mvVP;RH`ybp$+2PDzspsF|pT3X_ zeDm;qfV$G+R@6Ot9rLgIz1V%?A4S4Onw|a_@7*125(~68S*^oz?(+NQmGPp42BU)R zqF%aB`FFK=N8U^=-s!?S=8Zt(@J}ijje|O-U=bhty?1nDsBw6h=jxo%I2=zlCQ%3I z`l)cKK5;xo<6txm)AGNgc|$_Tb?&)`(`{uvlUGuxV>LaKgDSXOIizM!U zZqI)CRrE$Cd6{WGyBuA(HOtYCi|lf2)sA3uFJ`!u?#b&^Mc3a5@4h@yh|8J+|L7<< zFLM&^Wx|8@@`Tm=2ib>n5OE7H=TG7S-IKsW>Zn=!Ngtx*T>Xt$9;8epJ^GZ=2d zsK43&fTdzOt!Uov)VyqEfoM+lq&7wKKk;I#>`6x56UChu#?zHDv%Sa{0{jC6_;2Ub;bY zc`2&)P%ejAQkZVcs5UlR!Q7?~i}H@%mmy&|*O~((m^Yuy%8cX%BbYBZjw^Y_wDp@t zd4^vRQ(wwYS;*U}CzfDA-hbb+FS8aPUTgpaK|9;N5%;s?)@%197$CXkS`J44GBF#I zLr3NbM}}V1=D6Zk`dWy{#G7Ebqs*OUxldvM#%5X&xCF>Gpj)(|tc)rJ4F!0=PS%^GjQ2|4sdEl0-LVKmqlU7l z5yL;WEaHwG6mdtD`7cxH+ws7O56(bJWx7jcZaOM)d{O++#E7DJNmXh_NqOp$K~3_4f#q^&B;QpuSuX3*nrvF-|e@dCYa*sZH zS9K}Qg>_7Y@#6f(dj&O=J>nr<)DMO^0`?LUiRi$Q| zxz`LZ=K;9OW4T8--REl`JvVY57T9#r)w5en_No8XWM3Oh_Ekec0)~TMXLIb=#zE3f zwe}zH3JKyjGxdDt;XJnP^-e$BRA0JJ0PT^)SIy2m#n%ypnFDt=V)l)HGuO&;n6+5HB3fVv#4**-v!-Z!KuJuRqD2GpBlds^_`HA`MvOnAYp788Eme@R>#$_8not6Ty2 z`3As$U0J%`sk>JbEF#1CGC#6J#{G{7Ek7()WuKB90*osDK33&Bh|r6DSr+*Q$@k3N z$OZWtv_cC*I`jf%emUK0iyu5C3avq(E@HD+0PgwJT;ScE=hjE*jI*=Q{S*Ac@+kSV ztUukqr{vkm&H{K<>8B{mthxMWNWr4zx4~&ZH^)IYNvG(JhHj3AZjOU)j)QKFF7v0_ zXbMYw9{xy5AVe+mQeY!+?VSH?)|c z7~SCdQz3M=n~U^``*izooar`)|=( zgYT>u&U9<9W!f-ZlW1mlElqCT*xsEwLI4UvFE{p0t)5eN57iC8ean%vVWcwJBj8bU zQfD0UT+SRns?jj-%-eeyG{bp28uzy!3UpWX#+&m7J{ZgU;8Qz&FCWZzd zX3fwC(42*gKu9QC&VQC(ke->@l|Pkc`fRR+L}=t@O_lS?;1@EzbHv*CFOdztFk0Fa zBeI1Iw54wnqz~@-i4h&*?Ag~=b8Jmg@^QM9ARGdX>q07R!yRxTb%g{0;sh8E_a_E@QE}3T1ujmwpLFf((Pl@@5X52?RK%N zt5T<9${kCe%Rf=SKEVmjoNy5I*LLO9M!w#&F}$JADlxr0wUIub+8Fft)JFQOqI9G^ zR;S9+C~7g#6aEX1QNm~2{E#nko3Z{aZ>(<; zx%z(}D`RL&*uSiYblT1SK72Qy9}3QkKLdG%?$lhJ&x$y86Afw4={UY)K{2N|b>C3e z?8me-gm#RI#HoY1VRr}|^iAT|3n@WA=>OO*_h0wQE%$3*ejiiN=J>ns$P*wIm|$h^ zKo(j7F(yAJ0WrcoaR6ge{XMxTykhO=v9)I98P~+Cvg0~I3;3VaKbU^M3k0sWATW22 zyz!HW>H7eIt(mi{-B~4Or#d*V{TsfQ_S>4@&fNrGtyN}i@ed+j>7re)%!jntfd9bs zifjm*j2v->F=Sgy&>yycA2Zgr9C3`(QjW-NsS84RLi?|>+j%GAw#gU_mnpq%!$?3y zeZJw^D)%q7T;lBTkKI}7bT5+%1_#?%=Q||dhaA#`d3@Jve=dmv!#Eu zrCod2(gSSi-L`ZS8BNrJV@ns>(zQxZM(K8}w|uS6mJY-FL8b4g)X=$*0m$zEk??$0 zq{Jy^^IXC(SUzL!_#@Y-1Iem5ij)-6HL%CXEz~L=Fl!@HbxLd_m(eeHD8}RW+It8P zM(>Os{)S?2I+h@4gZeS7ObX&J&DQWUl$KSg%Sr%~52gYpV)6rO(t$_jjfqWWM_@1E z&>a#d;6+{oZ$JOnhPb?&xek_QN}gGW@0)|g{fHV5&RX@43T~v9_7CEQPhK~VMKaNx zV|Fpi^(6T=9`%4g+`ZF%e@u^>ceV6mBS+%2aLSjN4J(_X<2H!3#Ia#42A?%C40fIL zw;|Onv7M zq?SH*q@p;QoP=~|j|#q`?lwK@`s7ag>Cwy6+Tr|&5ABXEwtyl%%g# zsuaHEz3Ca+yT z4`VW81iF@Q{rNlI3h8Or%d+%TzO326skW6cmIz#1;w#vRl^WkOM>+5QT$AyCW)#|x zkp_1b6V1!wX=vVxd%3Se;LWA z$+6oK-2D$YZy`sna`HkX*zYYq|JuxXv%%-za;>!7GB`Q&f1@X%2~;=v_$)7JcnR-c zC&*s3+TgSJNbh%8aY1mp=3PbyOF$Ce16`~0XSJ}(o_=?#K%gFst@#urkK z#?YV5r&2dK-TAT-=+ejXC=6QCJ%>ThZ~37x z`n--Pr*_U8!p)QaS2854UPy-4IJr*m`Ga-(-VO%my&k33lG+9t`uz|?hD!7LGxy`~ zV-mlE4DGHi;fW0riWHR`ZwO>dboDPB3MI<&OP2oJ_yHybsC{#K)Hf3M&GCi?r&G}Q z#5e6{j>r<9t5w2@V96<5i0WK0f>DaiIFteo^ZBIQ8F)U93&vj~eu!U2@#EUm=yhb7 zpetfGsc+iF%^}$4; z2zWxy$<|oSgM2#q2>0&9I@SG?sVlSEo)@*GfJ&NXNuO9Eu&&B|c#1Y)e9fJ@UDeHD zh4DV#7(8p}mdKQIj3)Y1qvm{%*U4>mmEK65SR!_4AsM>fb$+$Nxof2k@tOZJRr;-% zGvVoeE9Xpn=5cWfGRD-)%e0}QNi&3NanyV>NI<+yoB{ceAIuzFm3mnAC6PsPc*&+` zPCQ#}+NnyJnojx}bpy{?7$4GK)yGbO&sp&$xoYJWH)CH&8PfEGr7#o8`p5J|C%OVJ zo3MI`Tr$4ol+qb{iY83`GXk8QdKT@q8l>p)l@Xi*(>Szvz%a9TB1+lrHD_O zYx)>F7e`qdiS3@)-YM3@KMhGPOP_% zt`&30DBsWUw|{{2fHxdJhxU|2=yDZPoU2oJD>td?XVFQy)h|WnI&-Q?NAy{hYf@&K zqjdLUYYXXf`P?{B0o^F^=JC0x%@~}QD;6pGY#Z@;w#=Z?Vo4}!BZ87 zOzl5Dl8zTziQB3BoO0#}TObw~r|u(e-S|sFrMu}JU!8w0<93%D@} zxappqD@#|$I}MxAXS@Mclvq=sl=#R4r{W+%7NEFQi~;LOKj`77b+;r2`I z!gigpURI?O!2UjXFj$skvy{f^UKhZbJX)X_4ha`S&bR!?$5rh4fJgjE0IWm+_M!g^ zntyapkeAJR+I%$ixF9MoCM$evdwST%97Lz3yc5!{Y3xS!#Dw>>hDGoFyoMaFe z;RN^RngDi1m(bm3)!i{6cQIqF`g=0{or)8H?eB56zYk%e&-FKXp6Rb$a9Yda6Z{MP zf0v|f+5Z0pVK3~zlaK+lq2eX8EF2M?EWv@tSI7pZx@p}r?aT#3;fNqN{w(=KMHLI2 zx@TBP_nD9oq$bpPhxa$3Ov$HtQd{$ML5$RF6-z;f@oKN)S@gJd+P(_A_VHt=5uIuk}!pL#P9HRpov{pk(E1g0Pw;a=S}!)Pwj^cOo6Klp|70 z%JAeGCK1&=<^Gdg>djX&t0IS>3{mRW)qKx57qpzSs|W+5A*{PKbgE%`ORmYH6U z(+35mWs7^G6a&wUs}`}7+NpDLv_JAt5I0@)Ph+gMDwqR3O~?-+dOh;>cBtBVZ*NQ% z>XLXK-)@d(#|v4|)#rpP=%N3?X@cz(c&=E2?WZJj6$9y#H;{>&zK?-uZ*4gtJ@nHBSRK@HG(2CW28Q(~X>wZ1|Hph(@TcIh9Mm(nsiPE$7h(tFif- zI=Ug0r@;R>xG{2`d~+@D)V9Kam`J`X2e4}gG09Crts^+if_!WFsT7{4TE5oiZ7bGw zlUPTt%d6=1*7#nTXM)Sv3hgL~H9Ti$(oS2Rx)xrg`Px5(06FBWP@qVj!zwd9=NW$o zi!h(Rs{#EG2$S5gz1i=lFA{{{Z5sGZR!Y0)%&Ft|(zG1!P2v%EJI&lD@+6P~oGEwK@Q=MQJg~Zkj<72-#PM#r z=+o29I;D%==K@qivSt>f0re%Chx&sb0N*=tu3!s%U-w=X-+y^<4&N1>t?8$K`I^}m zEiSf&?~0(J8~Pi>KQpgC_pbjw zX7oD{{}{SNSH6w-BiQ~7g-ssxorr%akJ?21lX%bu;_o;mK>RISd>ip|%G|7d<`g5x z?1|+T(BzNZE}>DyXHWF+*q<(%%awN5ufZ+S?x8`A>r^8(k|5J-uNBeiJ$S3vYXe&c zUN-0%Y%`~d-QztGpr9zidq$u0Z@<6SfBgRT{lf1rtySwm7k&)Bw&=pzU?<4y!jrt3 zKOto~|30JNzVQPw>73ij+<1jlW`T_Wv{q^gsiYf?+JvRu=@2lLKqRFaSx zMtkib)&V)H6l!D=@Dv|TG*Q$MUV-Ouz>?f9P3s9(2QOz;;d#S8f` zBl6oZ2t7G`52j2b=+6T*VwI^8wa1q@$rszx!F1onCvg~CgUz>V%5Ozp&-BmlLGV_K zT0f#zG|@mB@Dbjj#rP4{V<+FnT%1pPfjMrT2C0NFyP3@``gh*pzcL28XYH3IvwGKl zd2Vd~+Ajyh$NpsiPLuJ`CO_ij1@XZMO@ArL924lPokzwL{^i`-)-qk|ST;pb8u*{n+e~a~x7uS1Vm}V5Wn6mqm~kPn)N0;q4B-c1wEAp; z-i~2OS0h1^)Qy#{9a<3ITLH-FzK4xxhA=B^^0!bW=p8l9(;)}bL$7mt=@nv!SEk62 zJgRrKOTwvQ6H#dFdIkbXRITN`YJcs+d;4NjZ3|m4<9ln`nHKuc0&hoZhxb1`euL_d zUljmKX11+-T@2{Z=j+E6BHWhpVOBGmzP`|TWM_cyIOmo< zRmO5yvtuwCK}Jwx`rG~&rfXk#zunC=7eg}sLd^E(*s1Bdk`;XMVE3b56E5_EM3miU)voCu`I1{mAP&)}`Qmun^ z1>5)&@CduXU;Qvx_q)y8n=|9+gaW5-XM$Ug;J|RaZP8QupDEJXVr~c~I^Ku9IGEKg zRtPS_Wg)H_-nIh_L#zYjdY!h_kX*fZ1xqw|jVIY!C)TRwbJWztpFQ}sfSyTe-pk}| z;Cnq1rG;@$Wl&;?PL;#D^pCYuicglLVjsICY1=@&ku1C*U#~uVPT#uHerp8ZLJ>-O zug;Rb9o~Ze>&t&lsex^%2DIbl^fY;@fh@mZ{5eiN1>GdMzleWh$93xD1IaE~?p}gx zVi25qlge&vK&?~Yo$?7h5L`k-t#0KuT<$LZfIkhjEO`N}I+_GrIfi{L+?j@x@<;(yYFAg6>9<|=k zk<%ilUs@13`O<<@BBxzi!2foNoa!BsVFHW`Zr}yjay|olI{p?+=51`qI-J6u-Ppmo zB|!l`$)k$-6CMOc99FS015Dzf1Vv~5nOqU!yR7}|9VH#1LGnAZ@^ae1Fr8R6G`Fz+ zCx88li6&#AG6MDEMFoUAb-U?HsnPQL;LJbMo)T#|bzj31kle65b$VI)nr3-wRDB8v zpa|qkGPID|OBAr&B~-k6i7NcE-rd6WgRWaCxpJM_(Wdd5NeTu#3j;QvY zYS*JF{3nqJjeh>&koq;eIVtdV{F!wJUykIEyQTux!SZ_0gK*R*P$DiGZt+9!#GAfC zB|$?94L29+3paSLa)0qvvvC}yuxd^va^G;011y}SG5lLNI~U>uoW1Zd?+eb1Ip%kx?4obW^tX!; ze<*;tRp3v?F>rVz&~4ywm4U-~8k)PIs*~r`)tU(kY=HW}xjGuYNY@zq+u`!;NJ@dzcR(^D7HXQ?S5!*ffEpb!**Ci)tCX#?GI?4p8`V7mt*@vM75Oz z)E|21=o@T~hBJ8ncY=Lo7n&e?CdqeQ#C@SERgF>TO*p*z%mmIe6QIlW(S0+rR7P?0 zoQJWY>9ZiQqk2<^Jos$dWrIk_vA3{qcQOkkn!C=(M4WrJVH;juSo&uC&CE`Ki!xP} z;>!0${NzZ2l%Q37fgoFGt$3t@*eQ|pNp$OKQ}J=GIp}LHKE+9o zfD}q?s`v%bw|7Juw)L3t2j=OiYyO$J8>0k$%sj&>bLLC_8Z296uJmOV1>%2?$GOGw zf$s?gdVK%`!wft+G(_}eCm6}X&_d2Z$=3hsT~q&wp#A{rXPyg<{6``Z)JIDz8l9iA z`V*HXzGUlMj?2j47wQ@f@rybYE1mLJqlFDX$C3eWX4)HyF>a9{*@CfCM}`fiB?RS- z-fc6ppuEv*{~HU+K3+fa+h2)?-O*fzzs=ltV6=NumYYE9Z)0SMiT-Wf1AR@_pBJCy zuTA9Ei@+s8vjo$f_YUx%KH$ZSqBHQQMbeVWRt&^QE;*czG!C9JClJfJ3uN9<-rN_N zWpna9M`;k8=f0gY5nmY5)beswY6@HC=2(BSLa}~bXZ#E!b8K~%THWHmPIm(SnUCZe z7d%)qvSZFx!kc7}GI-FNO%Zn&QaS`pPQT9|p?x!bzz1-dP|N$yN4QK6x$$j{?zqp{ zch!TK8CmRdI;HermF_=8t_FtvdR@lv5z*8zY;|N54Thos7hVYZ7Yru;OqTR!_Re*9 z@`CKBZq0O}tMn3V)C@|kMv(nP8;G2>m$%gCTm6;U?rw*mD>j3CR&8mL`pxKL98c~lEkJbK6RQOG&a(wJcYjs zU`pdBDyv;J{7boe!BkDq7}7}C34o_DQ#O>!Y?$Wt)!xAb;WBT1AzF<9tu;cuM_LwX zDAe{It3`(bd-I>V=>Z=t9of%G3aRvsjk~Eg4c>g7`U6y`M2fYhZf<;9Hl8(y7KoDL zpa9*pX#b^k9~e3ScO*6 zEVj((ApOEM?|%zy2{o@1#Afx;iVp!^x5kDmIROIuDdYi$XVHXj!?g$)EgUWd7WZeLXn38u(ZcjeO^>VVwL3b^IE?Y`l+Pfbkxlo!Bi-ku z#7b7DBeaC-nv~idJ74p5;5!n#U22b?@-6R)o+u|@n{`I00vRV2$QY{vAtLvM*a&k{ zD<;yD;fKUyojj=Y&DnkQX#dppSsv?~9FK+S=7m_tsM|f$eewc9VKF3vEVf&QWoPtv zd^H$c9ZFMc00}5kYUu3+A{;?r^8~IH=9oIj7!O8q8+uP2YpP9X zB2(*}!?-R_4I5nln7ByWmU%$|C80}|a|^m?B;FNH;sq`+8qOL~ow^9G@cK-*$qRG| zE4acZsZJ98ZuetE_l z+RrM0v|r%^VELe{q!>^4dY4^4yS?phx=$;LHx2!_9?R};CVOpmTXV&(<7I06;{5&i zJR>ri>vE@jyOmH6Rq5c(iUZ}2PgRtDH0x-3R+R18T-&oT>e(3M z7N>(M(tY(BIP5)2pU zxE>TF155tyV6-gDgcU$Il{$~D_m&}Sw!7DneZX~(I1QXwe|0`i# ztY*bFSc-0Kp68O~_jnN|=br|wk)SVSU7$+xC#yS`>uCD8`lKq?>bwlP9B}tBEaVHz}eQ-cvw zEFf4Hcz+5yV+gN4Gwjech{x6m>+}g4$^WD7OTeS5&cE*@nUG8-xdA~IfecCnlt99w z1QN`U1ZH3oB1sgh2tzU?k!()xKv0ojh%$`RqSaPgt+=#Otu5M0K?M^~2(Gwq6#=(9 z4pyuc5R`ns-??{|ELi`2{?GS4UnXs}{H%`dQra8xA0nhto{_ZBjd6!@DS!-P(7Vg+J*V@0G}qa$GtCeg_2uyTT) z2}x7r!!31~G?1tAI+zL|GL9+Gvf+bU(4C?p#g*M)(k9>)A^%jL79q+&)Vt*FP<+A^RdtF|FT5?7M}(`CTaje%{?V&1{SG_bj19STHxh6IZ_87_iO zfq^CLuS~P~n?wt`SkTZsHZnLtzvodQ-#O$}YABv8;;s4A?j4SoumUlO&Q?f7yoK`!Rh$e9X9@SR>vpo#cx3S$^%JL|q zQ$;DUp)F`c$MwEjQ*j`Y{^6ELsUV8d;szjp85+W81CE~yu;!AjK@oOqW;+bpQ5t7DDWEc(d2>m zbXJ${`3yay{<@8CAjAf_*a;aR4(@-C(k!2X(wr+wBe!v&V?W0&|DUT*!V`BWaGei! z4ZM&2NTvfVVTjmh7e~9h1$0F0>_9dFE1@tAWbxg(cx|tGU^K#8pUVWB5h^jO9bgQ) zZ`&7WPpqXhZtO;5#(S84z5(d$T;7n|Rv=j1hshQ?cmyfonObEa`<)ERU}_R#fObU) z!n(PoFgaErrVgl5sD&L2lxAG$OTs#ygMH%tZ%m*_N5K}K;Ql(s21u*ka* z5Gpceg)kzWRv$qmov1^k&v&CmCjjdZXOKr9Od?)RkA zHv`cVklgc*c*O_}{I?THfW^)aAjw z7+X~DdB7BA>Z6lTpz1{$Q||;WFcmhhPDR{VB(2eGVV|iVBS;iO$%NT#n~-GKzgZ$l z$FTcaNfa9Vjd+AT5!h`}jao0V0^44X;w}r9_cQe-Q9!-Cp5I25^@E^aU2vt=j@ceJ z3|{v-E`Wih2@+!)8mx>julRvJX6rZ@CvSb-X4vI@do7e(=_oG1uyq86;Kg8$QSG)Y z2-{JM=5>;w{pjU1^U0<}IRTkOJ#}C}+?|Sf?WsHC1{{#v?nSz1SvvJQ#1LJ9-AAZi7%MSzf{u{twI$$m zU20aBmOM|sbFUY#$UTryf<(wsb&XSb|_!Klv73nF^+%zT#1BcJK~3@$?BwK^7)nB)5Hye&4dj z1Oh%ML{`q$$UccQ5msI+=s@0ua@!7(CLUD$RY3hf1&@lgtVsYB_W=SGi6JVmYfYoV zxCNpJRBUt@c10Q$2{D0?YJngLgj`LCgzUg_H&}2#L|=pu^=+LYhXDkph*V?rt`@rZ+>F-Y2FnF!e$4P=EshieDhNy(u7KdVvsW8mD1; z3_lS}_k=J#Kuntu7i1R_zC(j^2=hu{_)jK$1M#g%oP>7^3y2l4j1cp9-Ym-fZ8vIT zkW5tC6uB)YoMuue&23tm+-_;!e@jmT>m`iyTfz@$@a=?urNLgp8vvuGQQ{i~#G2+^%%a3^K%N7^ zJO=SAH8m=y=HG!EL{4L>08XP2iKJl$FfkVRt#5__7k*f__9`m}DdmEC8 zJpRh`pJAgA$oLE4_ci!F!hHQV%SU(@V6DS!B}B}FG|a2JQ9l-u1?KaZ>Q)Uy8sQcV zmI*5woJ6=9u+KeK$Wx)V|B?Z6xk_Bq4bVtlcA{X7GP_kGzq zK92Firr@83XPbX6#@3?sF#clD@$>i&RY<4+%>c1gbTg)7n{3`E7vj-3d?$0XdBuqy zrKZ3)dYDfc1|`ot%+}fwXE(grdKx*uiUFX&mu-t(wBEXdqk+Tw-3%O=Y<&nM*$pp2 zE90vMd^sIZM7ALuhhYm;HMNYPdwui1_f57NUZr{obe`vf*UB%3va-rAb9PFgfhyOO*F< zpxp!ghwCCOIe6_{+crEEa@mQKdz@4y_ia9L4B9vRae=1Mmov;)5aAyOK&tp0e+zu0 zq6>6rMj`lD37j@?2IoWZ9>uw5(Fiv`5o}1nH8Nx}c2`BS z`jZe}>ybJ5+L9xKtxi0Et$g3BXsuYb)7z~hb_d&RkpbI51ca%>W=y9y;aD0+Osd$n z8RBd=>VfT9Zo2@IPDjKVq}J)rNwjr*9%s|AsZ}K?Ip3BG&9W0cWus8VV9o^o=GawdT-ekb?5Z-umd)#MR(a+bH0&0m{-HfhxWfm`362BzW`MI`ASB%PKV)r z-z2nErJ2ZfMIlpzctzh02IM)??l;H!`a7~u;_!gT5VPr445^+kA{m-O8G2k%nQ2+U z>c(sw*{7BM-7^6KET~S#jtH8l#KCZ7g4|i?8*M7XEa>?dp@>;w*H`=^$CWp7ugt`^yoM-vsHpA?d z{v&K29cJ?xxGS-7YiwN~#a4<6L3Ze7il4yN1{A#)TPq#^D{LJh(DcbxL8@TudazZ9 zGO!iIcVg{C<0|Y#x-9VtS)vIVo!h}o!R8PTym49JF&a?_fhL5a6VhDmnDN*&@JMbO z3aw~H8#M#$*hVXc1t1d-*4CWS=&bir#>wk$B9~Fot;&TG3&n~S2QlN?989tqcH75c6WS+AHY^C@ zZNi6D&pgC!YhQDi0?lJmZ?j{7m=>qJD-1tvGc{|&KKKeFFHH~6-~sft`}C=|lAswM zJn5R@p@rF_z2h?6Jz4ug@{i+xU^QMLBoL1W;-HmAyC)EvGIx$%Y8*GRsL2QxlCte> zY+e#6PUbRK?Cbj)K*;_=dkoT1iRD~bU92NJDTJT#7-mm2?C_R@wxEdTdN;~~70uHg z9L0@jqMooh(E2R1D3J4EyZkaZj2EvykB%v913sz1pnBtcMcF?n3%Gv+b}FsULWZj6 ze+lBfd#t{k(OIt_Kkj|4z(41-_h{DZ*5gN8b9|EWB<8{6-tnF|{%+7@c%?PxuP}!w zzw^GG{hj+LUP^j|%|IVhy|z4o*lV-lcRj2cCAeg03D(ji2VCbNC3( z#`#Barw6`&)_)0qti$KvHY+~=Prq}|kZuqBuf#1hA$-3FT!F6#t@@{aWzf?zZuvL8 z{TRo22LHM!|5bqR1YMkO|J1J!jkIT6zL~41AD{U?tG@iVNBKVw*o1N!f!7CG_{;CJ zI{XcOtMFU|d_VR3`9FKd{TBK3l|C6f=*!;_`0uGHB>4{m?V` zr$_l`0e%rZrVupz)bB@q#J>-`>?{2xsDr-z=SBHn4%mcpbwE)6)bEv`p=aFPsMDT) zeE#4J{;x*)e-40dsBe@B%6dw}bK(~IHfr+&}tBmT>%i@wsocLx7Yqx`=H?86--M$qt6zxVYKe=&I3 zSNg6q_$Q%VhvE+g`~q;UJ@M1O=kyW36=mrQ$8XQz|BER9hXIGyyZAngA>1DddoC{a zRi{}sZR<3Zq1N1cI5+mBU>*C^HSq8nZ-oc;c6>>d!oT`m%uJvN4!RM(++Bqo%~P)f zyd5StXq(tWeN=tm5+sDSH#qPsc!u`3sZTQltc2s*`rM0=WJAB4=}O|dcC7zjiuHVX z>l{q*_8Q;`<52D(X5gQ1$U3&JUBQl33I2m@-sB%H#G%uzh}mJlc6X%y9AFnNy>O0UeyX~*V zbsRR|MT-ItAx4OQq5BBm1)sFV!UtYP!L-FfN5yHoe@=>82u$5pcRm&~MQ#pOZzFrQ zO{{IGaMrpe%=O02ux)cqaMsp1o20qkf*J8x8k8{bQx%>An*mmTE?kZum=HDtt(YS1 zUQNU6j$V< zzIIAr8j5f=m2;@acDxG#)q^*Ty<(NOE;6k9p!pv*pRxQUEb$fGm9w4EM|DPGdfpZr zSjthEEvL?t*Es+L9g!^{(eyQQCP4af5QzbTzLOf&%3A@h#|V1V{a|R3e!62>TplD`G=Fc+bU7%SWrjz&%H%NIl!5}dU=TX&!M$IU@RA5BWm$OYsp;< z)^7O4#tz`m{h5exFZKYV-AoyRcOS*TUW)DWgKP}Rer-jC&ATI$!QQrM{8@Y2fM&g2 zf@70seGRL-%{Ssaf#xIJ*`U73Zo>K(yR-1R@V2K&t9L}#7!r|w6hD}r30yvbIoJ;v z4l&gCdlDjE`OF==G~v*ugXMJ`N>D$UL6VKX76_8p^M}?H@9+diZ2E0X?@iyppV;(Y ziYJ&y(aXP3AJr0G%@n@m`TX&|VCy&>2kSs;g2RweMlWGsP0kXa=&^=CCG;&AA_Vs# zU>CqVY8&^S!)H88#5!s4#9{j@ZohvAd*L8$7GgK7%`i{J_b9$6YzDk!1srYNZLwt^ z_k40}mqAHpMcEDJOuNC63A2~+^YaDe@8Sn_6F3MCa2t$yI_BUuLNS0~UEo?Cw^-p& zdhRb7**A3^fBeZGLbZ5`LSN0+O3Et(^qI9XSXHtihS=QOBHo?=Ww5{7d^@rMDJ);h z#5+r_)`qCr{UM;YgBThF{)+5yQsV;n75S!&ZkZt|`Pj6180Jz@X{Xg>(1I2}MLZr; zPm6>~H6GPC1W|UP=L`x~VSM`-r;Z)I%-~F*xQ{6O#?A?1>sFCBXEgSDWNCJc$Iw;-|=8?uY!0+<2|u{5+-y^_`7-EBR#H;&uWzEbDHgNK(O zU|{-4ML-PNLwhh$&16)zV48XG5^e+;VCC85!3MQYf@U>Uq{LoHyxZKj+Jaz|s;-mw zXfw)}i1H;W4eeetW~?5oeu!t>thmWx_y(&b`|)je7(R9wf;N8+y6xT=^RC10=}n+L4f(ad07n zdJHt+6};_s*?zz-7aY)TD+j+L;uQ-G|G*mrhKRkC8%5gHXwOKz9f@%)l&Nh@{o$H7 z!Neg!1uwq4O^7`1JT>f*7V}tP6Jm=ph_Pso#C`EPfvM_cS|CnGkHd)6EpUjMtpz5? zZ37S}?qov`LgyP2h^MZBJhMI^vp7n$eFG9(S7&0}4gi9M`n413P`6gJgHy3#W*BH7yW4k<-F3*rI zPpZ0)q7eJnpcQ>=VZ#kRf~LD)HCzBOHB^Ad#<6CDX5=|{FJh4>P1BneWz`Gquk5kE z8G7dG{n|n!4_quqgTNYOaD;X~3MIjyM}!4(p(=*-?0+kE@?@60b$BMm^K&52e95=( zrp~Z7=Z_MWY?QatX%i2&@8lEppD98lJ-d_McrM0s@B!qL)y@UXJKJG4&$Ih;`mqtI zmrd1c;6CIFamB^BSrqTO5v>XI)YTdoR^;F`D2Z9e< z_w+;0zyC26D-WD80v9V z#D-XZKQ}@I| zB<{wh;a?J=#cyMq<0Jk*MEncHA>Qa+$J(nW!6n77 z+9T`<1>PduE^B0;(FFo?fe}iLCW@b$7-Csn2G?1>R$+5c;mgX7`;oG;whr#PGeE%>AJs*k{}hId4Px9c%KprK7%>CW5Z0P|p?+H8E-afif^5&l>gSn|G`rPK z{D{Ta?A@LrYP;t7Fn+T3K}Ei^!>|t>$eSGG3&pT>T;N^(ki(Z-hH^Ok8TZa+ML{d{ ztXIyZ{IvVQe+ZdJP_b0C7o)E<<93Hj5X*BIs>C+PG*JIifwrCVPv=7zVWN%(Ys63z z9IX3Kxe%-oTeRhMTe!yUpL${oy>LoGpoY?dSrfQ^)#K1Ef0&3c;J_>Np67j8gK$T= zCs{o`LaQ4{rdV7$04)XOKdxQ~3_K@|6)qwijz@>#AckP0`oshvir#SfxlP+?!cJC(3q9L?GX$P$r2@Ec%VA7_S8E=U&k42YmFtb5|jsOXnlb4$-LNCpo! z(to}aRDilS)Nz8!_rVU&?}KMYP>J?}d0pJ-d=Q0uucrP1LQs_uoi*jhq+RpAjotyE zqxTBV<*}OyI}Y@PPi!PozkQV&e>>#Dme6z>TbA((6>N(x-z=IFHqLKU{iuG{%Ruhf z=TVIEEl|5Ws{#q^W4`Mxn3%#}nFJjMr+Ry(FVfO`a0QhIx!rJJEIR-adEP{?4xzgs zu$_}LWP!Cv#+27Ri@}4#uCm9X$HER*F@xhqoBI)p(y$}IJjI;R8Oc7pe-mfUAhdiY zuN4jXTBMHQO}`k)Hp0{9wPxagj{4wupdZq@`XNbPSAqVD;C7pDVXDpdwAOuBZ!9uk z=Z9y#IyadE%_p`Qt?a`NdDcPdDA@Y0>krR?9<6hJq~6ZfXV}d$I4+r`Q+^aXM z%?J@qc6Ezd%U0#9+cM8@9uFNGI}!HIQ1dbG0H;A5-mZsoQ4jE!jm80!=4qf~vzo_= ziQ#)>o^AJ+gMiQBeU~~;cz?=vh^7m#7WLos@{Yj;=Xj-bLXo#26?}PP6!`*=AuOxi zJI7MwT`AZCI1~MF1K#?pPDN4*a1$BqpZez^LR|L46Q_#-gt8F++(nEWqeuP_g`~7! z)Tx+?vU5gj?=E11nHDY|i@H64REu%hiuw{*&xYBIRDlQJ*zs=8mKmHeY(vd*gC6>{ zO=PvlW{gD(QvU%}uv;hmR6PW*y{K}$(<25^cG6+reVBp=UFUMDa?3WV+YzsI+PR)< zsV}~!!UPek)sV&Rk4phki+W>k?5$z!WGX~QiH27B3-fpsMVRZ)L0jHyprOSGSpv>) zQ?Ek+Wn|!eu3r0d>tj&h50JF2y}-BnA#Lu{ntL@YvUmZ8hZCapXbGD!2j>O_ArIes z6b1g0B%$98gD|8)lrtZQK3rD!9u5bn@xu}4BPhi&3Dyf|^X+pu#Tc?*_0%_;g;w$sWipO1ktUz<#NV}|L2=>n zn;TPb$ezc{JtG45U>=0##q&6aU#0{T0eI;s{0n%ML2L68MBt&ox=naN6`CjB(t$CD+Tj(EHMZDes@I}Cd$xSD$IEB9Eg4`Z5wZb2bK`{2K*qF`1YoEtp?NYJihGa=8n zs0qlQc~Xk=%>_)%LsW&?-xqj~TIE^K7Z?uuhTj5>lK36~KKVsx8`{Kq7Uzkz8&HcQupfgVH4E{Ef<3>b6n;RF}U9{PjJuqR#J&?-@34)57&?uNU zY0#*V+pa@X4lD*KKq}u`AL!Y2S;{L zZv7ZqP_aMfLi=l9<@=QHzkA!U#8t>!~5mI!dbq8@8aZjD?z^8iMI8f{9^E0a5Q;ih@ZcN zP8QA25I3I~Be;o?*Rx6KAH~Vn151#E3<~Gzz7-jkXggnqV-uBPNN9WAGc+&^5t%9O zU^DE&P>8ee>*A>cwywSlrZ$W}*krc^XEHzW+|ZJH?EqAn=SqmGD<6iG`6e9^A^9%B zKtthoF$OwyI;hf3R+PVk&)4D%gkXeTBaSycr>4P|7aDnugMo67aR^*c1%iF)M!?L^ ztX{eDgy^aq$GnTSphs`E`?s}#Qx0f`UflMX4m=zKFCodk{AP#0(SSn6!a$yf`;hkF zo!Te@uvRzX^!f-DqrJ-goGV2-57rleXThJU;}WdIJ*jo~Rz7Ia=r=qel$3P~8(BBEBee+FhJgA0 z+B(E8Y{!CE5T=?S^+b$>gYGCso_?{j3jBd8=D70Jh8L3hUooMk37U& z_o`Qiu)m5JTAe`(*R4l6f*8CLkQd+Ckboq+kc0%C(g;SVL46QISa-z%?T4zc_kH!N z^DuSUQ-CQ3hT(Rk6dJfH%8S8b4smsaaV4pjcgF=Rm<%8iaXkoJSnZoww!m6k>cD%z zheItG-p^q#BT2Lv&SMO2>h!`ey9gbiZaub*75m2raWUoYRFqDutk%3{T5h+g4==YnQvCFU|9xY;DuQy=-u{9di!(NokGRt>nJ>kKo!g@b0ajA@Ti8yhKlYJM(JAkr<^IK{qpKo(S?> zPZC7$Wn*c314b*IA;CL1(x`V2WNv72laL^aS54qqFqaa<*PIu-dectmNRs+^8X|c` z8zfS>?LmRCFqJGu)=A8Izl9u7+SKKUtro-SrN8mMS?X&(nuZvq=k zgka+x9X8)pFQ$rk%0X<)R5EyTNGUn|C@AvfW3lbKQ04Nb(Y8C_jhm1X0)7E#7;geb zu)n}pf!*cbr|>-V_p&Ef%yl`Ztqh(M%KY-E%!3Xtb>QW2*Qb&$E-PsYuEj60& z`S3++{Q)RVD~EC|&u_%}F&_BZgr?GU*e?I&6&#w!@u1G|G7>8_vD4O}TC_tGc*d#v z&Lj_M55E= zzQ4xzA$%Xlw*%kT@a?XzuRX$-HQKy8T22VTQT!*Zp+i%5_;*N%zYUW`E(otj1nag= z@X+CZtQ`+xw?i|4y={MjivZ|`xCP{~M&Wmd?nfJIl(~E(Ivu7q$ugHb44nn?P75b( zxaFj9{g`?FI9yHA-sQ+Xv0@CStEfF3qPdq@V|B&=NpUJ3TScNS2+G4PJ~7DIzV?I+ zl|=r>NOZ(guv#TB^}=1Zvy(FaoAnZAQp_g zZFj*#TTaIKre4A5{``J0kZwT$l#3Lkw#jyw4nIDD^xGKS@Ugw)Q!EmEgi`=y0N0|^ zM9MaD5igF>Rx@{CU~%}`1Sa1OCdI&sH3$^ifMx#^SQjTf^37XOQVd3?@K#6CgWQQW znj`D}X+*&*p4)zFOpL)HKX^#K3FmvI)>EhDwk_ZZwkvD3ni%02?qkB*x4iR;E-Wf2 z-{AC~^3Qc2cwq79z}}spyYo67~HuU$q_hVTg zaplyaUbkk{y`tX&?xU5 zm}+>T_2hKN1*0X=^#EXrtUqhoB_ED}DpR9L6+cJ7;&#X?;9 z*;HEt2C?QO&+7CF4~|6ehn|UZP^8(G*kSh;CBUwe5ZxyNxe&Jz25;Ox`3GYRuy@Ee zEd?J@Z*0D3@gIXG5|L0;fonaCU*XX%?;PH58_I{#3@;!rcwXX~UF&yA@+~jH7X^G> z)PNb6e!bQOUWx{T!|-fA82?4f^|_9UTUEID+JIEhs^xVYQE~m;39T_dYe5#Odl*ns zEZY&dS6m40^RsPvZE@lXdfaJ;2skljC*h%bnVS%}gv9inx#wUJ2!LvVlu(Fx!v0yH~^5!e6Vdxql7mi@$wG6X_KaJnZ@xA?z{1cis|0VVdnY}C?xy1mu=%d!gwtj657GHnW7y)2KbYY1D1D|B^;G^ z%6gN2849^*(xVYJ&5YB-Pg6zr8_V#Fkqj;B+`v=x>Q+Cf6s;bfK%QEGnlQBx)qfw0 zB1TzCPQmIW34tOZ<^_v!A*+@oPfMa)YTJvLVBuUnmvD@cdW?y-?Tmm*Btp@UaI-~l z7*w4T0SZ99A6Sq7Bk(035a-qB2j6K4*7w|uRe`>s+f~#ko!XEiA$1~nwC1{esc7E63`Ioxi!}{;j`28d3 z|0!SMU>ROTn#1^V9!|fWwEX|_{NK_}zWy3~_#3`cQT~M@*?kQ7c^IAa*1zDt3FnShE#H3A7L=bKc{V3@!wx2B=N z>emtV+8>6i=ia0-ouk>i=$y1*LleRbMy)`LO&FD*mGZjjuv<^8Yi}Nkiw<|>6pT6nJI6V}F_8jm z`&-qG{l)w(Mc$eZ{c1NiVDAa$Y>189pOd(9ip`H3&AlHzg&r!YyU#*?GqChC0#=XF zm@V#yb_wkjhH<=-Tm2sUk}xoi!Vq%zA6TAvI~Fj-NYMJ+*r;xdllG7kWZu>iea04v@ylw5!l4w4v!y}mV^YsYhDcQDd2*Ca-|C9UC zFfg^)k7v#qhUoVz zDqk`JSt++Yj95=`jKb7{*VuUvY?mP5)gPc9u%>Q_gu^6tOwB+-4)56*E%;kF0Ei4? zD<6zjJ2MbnwZo5!#;`q%^Oc$`;(nzLjl{(ahE%oeUorSQNI;PC&RTmtim7v&C~6KODF-7)(yjbAbn z==`F|>lm~cf#^6$rx^)cQsGA~o#rpO^g)OV>@WU%NpzS~Zy*vmh4q{eCt+<_XS!x>+d&|>M8ir*stlzv?O!zz2f=@{EJ)}=58SeGkU_qqBy24Jw6mRp+Nr~|x# z-y(lbJk8!n96w!WqB1mqcN<|teIDkV$HSbZq7mloHz2$RXSv_jx@S%ocp_M5^BVmy z%jq0azk;T)$9NNbVDK|GiIC)+dl@0oHlt|2X8;B}w)d!BqQ-zF(LJPl|G=4#0&gL< zn(|IR{D^zb{JDSs98KpUFb$2jt&`R4%RLMEL6#`Ff(NJ7?FfdCT9Q3L z$~`w;;~k;MoNwFwxy`@8S}x?JByL0F>%jJt0Msn$xA_MS0a2{*vset&EmfgVOH;Dg z%KW)Ah$Jx@i4RDSP`CWPgCKTvYzFn=b@u+;fxUA5nMm-t+Kw{K^$)aYiB;4NR+ALG zu{~G)IWj?Lgwpd#DX;$owd=`?2(>Qe=+E69N)yEX;oRr=loXBO6X<8pQmnH3{DtWJ zxhElo)HQ%1tK}Y>@zf+Fh;&BiH{IGpiQW6QXarr)o-2@^Rzb5d%4;}k@F8k}QLv*0 zCOVpUoL6-?A2E!=lgrr&|FC<#rIx-*65Z2#yBt*;${spu1!9`YOp82#VD$pkk1n?ZS7`zmaO`Z)LkbyL5& z-Qgc?htQtupMovp#}QXuB4VLk;6m1K1apt8*N8HofWdnznz6Oz#+VEUYW4t92Pve< z-Q3ezpl)cSf|qTKqHo285#k=Q`=_jP7+?=Ou6_mPfULJbR;VZ|@j&ugU^H2esA-J1 zSHzRobs#&t|HfEtUnJKF{K;=kLdHDbgYAk~s=!O2)Piv^zQSbn5v;8%uqs#AS!npw z`r4N;C_M%Y`ifE>H-8%Nwv$t8l}5*o;I4W8DPyp)^6a3q0PA!9xE6&Xd&hGsl z@zq=rlPvO##p#=vJS4!D?>$B|tzc%P_@IY}a~5MW)kq5XmQxwRp7d2Pm4!kI%$AR< z|3<^;(NV(oBfULA@Xhj`g0&sDvkXP&bi)jEG}!v-|fkq|~4d$3%!o7>y+NoHaX z&j}O>jC~YX85{fS8Cy9ED&V;@;D?q!08~H_;0|`|XVHl0MOF-v^C{WHHZx9ZGnz3_Yd3FA47D58#AqlQxONT7T!GBh0T|s_=1_g$ zV$9>}56CXsGY7G^G4>~VKy+I;JDXTPQsaRgm{UdbY$7N8BgR8wgj>d!&!E8O3`<+70XWdA@+Xr%MtaUX5}55Nxt2?tWM|6L8U`ecbcB5goP#<75Bg z(&ccK2O!QPza4(A)1B_2WV9iuxJWEkU^dA<1mfHq~?Vbjj>bGubFW-*8IpW9ni( z3~#sEtK#j)A_Jpn@S+V(M4M2#j2~$ClPB6l85sHraAs+Qp5HV^A%EBVfLKhL0rtjuBsq$TdHt&dEBR2Z)CjMx< zDsg)7H+-U1Nh{MhL=7fGLtO@c{!ucHaN$9ti)sZ=Z3XtDTs_+}XWPE1nZ$@izH=SE zspA22!S8G+x?}0jTu!RbA{S69UJKS;SDCdTZbr^TB?D7rY>z&!{(_`a8+Ic8s!kro_=Erq0ll-6`~ACgT?6eERxwf5#LCsIjN@ zxld56-$hzbNMEA-#}J%?844C1v)|?Jc)K@6RCT0s0kM9CX#-93u?c9JPe0hzb&X*$ zHs^Y=#Qh$wHXb?=>&Bt|&e8EdhpbV3z2XNZoFV>V;=i(2{OvvCgOn0R&5Vi)I&Ks3 zB4ripInne?Vxm(Iu$v|Ce*+Awz;d4X#ZYO0qFA7aW`LI7mxes4Y^l$P~K29N0Yo4w9R^D5n1;noYcQMhj5D#BeM+-Bik zC)^u^d!uk$gnN^4c@Jb)`pv>!FWe2ny;ZnB7w$&k-Y(obg!?Pu-X+}M2=^Z0{!X}? zg!_PS9}?~#gu7X|j|lfq!u_*ww+QzM;r>myTZOw#xK9c98R6~}Zo6=I3HLeS?h$UM za9|E)Z^+a4!??LgD^QxK|1HYT+({>+p|o;>TLrmHyqW7%-~Y z_yeCo-c%1J^bbNf<%SDw3E2pB5~?S(lh7{+{f*EjLXQx7iqIxP=)btome5y(ZY9Ls z^a1WRsK#LyDbP%4GNF1xvj}ldLN#CZDK;`xFCkPyKR2P-gw_+vA#^{XNrbppE-;o5 z%_D)4gx)7ayHB-Bh<38-dA!OB~(D@6+)L1 z!YkOjsw)URMaWHP3!xT5e;{-Zp?e5zC3HKX=LxMR^d_Mj2^}V+5c--BUPazj9gA@y zu!K-5q00zeNXS8mV@qHbAv>XIgf1sEfsl(3?d8=Rx&nN2VD)-Jsf0EWiYN3pLf^v_ zSiPIjzX;Ko7ElQtCd4b9tG_11E1j!(tUtgjovTv`(VkjuA+(jy6heO@bRVGy2t7vV zE<(Er{hZM2gw_!{Oz1j7|02XIovRH{IRd=WxjK~)-_2E>MrZ+{iG*x~W)hl7Xda;{ zgnmYd*O*q<6S5Gxp3vEZsLTY+gzhF3L+EdWPC#9%evQyS2^}T$2_ZAo%)tAEE+Dj@ zkc|*8bgo`T=ovyygz$3Ru4*r#&4lhI^gBX-AanF3!&3c zB&(k#^lw715aP;7^@oHG68e(R+l0O+^b#Q%6BcoybM;6<+vqoe(4Ps-B=iuWVnV+m zbTy%kgz5<0OlUQs8whb08*mf)Eg@d$T>U7as|oEO#I>F3R|w4|bdXRUp?tQSiwIpx zXgnbop>qi}6B+_Yk}~u0Erbk;`lBEJdiqOJ?6==ZN8(N&i9LQKA;usd={jPJKazOl z_z~0TBd3#+%>7OsIdVika#r$@BltgZBsGce9F6*m`44~n5k5eRb5^&ga!O2UH;@0~ zVc>s}=6^SdAtpA?7~d};(UfFPCR^f@%yJyQ3H_22Oev}T6JyN-l9G~)0|zFZg*UaI zl?-8wzhQKS5AGVt->$AvA&&N&FyJiXumNYqCmPI&F$p6^4j!H{bo7|E=&i50HF5F3NNFxWyB%OJQt{sx_W_Ta%oh727#Y}h&H3?DvX z#K<&@Wz?v1&pU7Q=yd$`h<@bApd%^$j|}+o$iO2<1|KJQywdzqgwQ`jf5KQSh{jF4CeSel(mt1?Ca)mtPWr=gi8QmN_|7_;-gVP0oU$kAHJ!MZ@zn zPvIYd?WOalO`DpXL6QJxgdW2Fm<~kzCll79fCCZ#sbPO+9rnjVDE^dae>{Zz$;fbg z4X40=akM`kLh;FqaC|(>n{S_%u>hX<>jjrb`Ri~=S=Ln2!oO&^bgrFMDE>-q_St2N zH4m4kBEMMokLD-*=a%UHh2{Afp$GWS)5($OAAZo|Mt;x*@!#_gdvXlg7e77z5Wj~{ zw@0G-u^2tG`hW9m$TCbZ%rsbWXVF~4jfNJ(Zo|ulqlSMQzBQaQ42~&@*&Oq9Oh?Sk zu{X!AkKGV^D?UGuy+8KB*jHlr$G#o=K0g1z=Kwwj@i`p(O{^i#9G4O|Kkm}FtKzPX zTN}4A?zy1X2O!+-N599Ml%A+ZdrTjT%3qDVz{5537=Z%TbWb${xyRIGdVkLe%V-`Kxj|3rL}`kVWw^dHba2cMbv3S ze9HQl_rC(4#r>WAEAVmQQ-x0rK6U-;`@8!$_4nZOJA5|d^C&)l?*EtmfA7Do|5Nxp z(|;GpT%jb z(^}I0mbNwRnY5kw>`HqsZBN=uY5UXONP9c&gS3NbN7DY4_V2V~Y2T-vKkEEZ7mT`a z)C7E5M%^^Znt4a&{h22-jajg6|LMVZBtzFb(!n2~o8i@;U8&vsWo%*Wl2~VKYuwFo zw;As@K4{!-eA>9f_$)ph#$Cqe@R=9CAifcwx8wg2|6%+`@dx8SiT^xajsGJ4%XmX# zY+?>RGZP(&MfhBrSeCdnu_AG8Vr$|v`0T{zS$x_PpG(}E*qQiZ;>(He;Bz?f3P#$(>~LSrk72Iq}Ze!d}b!) zC(TK+CCy7JO1doR@}!%RT9bAr?Mm8{)S2``(#uKj;A1eynrE5|%(Kll^IUV0x!io2 z`6hF#d8hd~^B!}j`33XK=C{mmn`4q=lV>L9C(ll{CC^PRO1>PQtdy*jDJj!a=A;y- zJdV%bQnsf&o$^ddXUfYdL*$|IRD3SRCmWxc_*{a|wemXoX4xlil<$;(jnCckWAfwj z-{tN2?6>^GatNObGACxJr62D4ZW@<2fX8OvsEU6*s z^Q5nmmYEyOpP9chFH3GnE=jo}Wq-RQ!8xFb)54tjo&0Xv#$y<@u$!%cJ}A6e$nN zA?Nwr54REX8R|nL@#PVB>YLHw5@veQ;SC5!G~W0lVICo2tts-??IGfAf#xO~h%%bq?%%AI*ho^@7!LE-EX8s~0bEF0H6^Evu@oxn_B7U4292weBXxvtniQs_U-5VfBr|<`~KC|31VaIr>Wq z`WU8r5f(}liXTeT?~?9O|L4Eh zc-!s2yyMPa{raxEfAiaW?)}|;o9=($!H0hThle-+@sUUW^w^*OvgPq7{`$8kxBh+G z_NShHX2;HF+dFpce(w1_dpq~N@Zw7^zw+w-*Is|)&9~lu=iT?-|KJ}V9{A|sp~D}4 z^66)vtAQ_qN51^$S4Y48*Ej$E_So?g-<>@5{SPqTXn$)$zm;H0^jGJ8OZVTSdOJIz z{~pzA;b4a(wFA{hR>pU|{Id1y>W|kydE%3qTKds>+V8{Pl zn?o0*Y8RtQQk|=*$yw!U($Y!N#PTMWyJ@1^Q(y0LPh8pHUOutfRkJLkqM?3;%dNn# z$K#5M#^qHLYwDX6XKk&ka$@sEQ!*NwnkP0@JKe5{RW5~%C8M@xX-&OStLGld48JE& zo;YzbX3UBHCr)aACq`x@44nAgiIZcrSpR9d+m8|AV^ZXv5##6)+tc^QpOd=<8@oOI zzj-jkh^cv)V}^cGTv8YG9?sX%ofsP1WsDz60RJ+l^Iaid0cek=B!Q!!Au%CU!lYmC zhQwi#lFY*huzQ+@VvkeER{+|h92)n{KonyN3!P+1vmZ#DUmG#&#$OC(-4c3wm|lqWlRu z>*!kD&ZWJAB&S;ogM90SvwD>XL)St7aS@LE;l5$~Sy$CL-Oh-w2068K*SXwFoi*2h z*r*83>-aFs*>tU^2S)UCj|g+sI^CY89@H!qv1hqz8xYnbFcel_h5jCu7r~{1PqW<4 z>uPXGa=oRb!L4{835c#ySv+fj)HBQ@0z+XgrJ)C>fm85omZ!D~%8>()q-dF z*SRW0#>_nYS0UO`0UAnEufR%C#J&eBXx-y zEo^FZxt;Y2^{>dEOFR}fq1te-m|Fjs@Ss#m(@g3dWE zcU{j^7|liho8xx5mPeSSLoO{pgw><*R(2CI%e62M#6&kaz@$~89_DziL7>uuZB;@R z*qke!HNEJpcCJKfn`^1tMWEYXwV=~h12Ve#^PyUJ**uUFz4~pn$j@E@;nSl85-!kW zYI}WU13F6&YHHYF5awB~)F>X&K_Q=qqdmvz-SCf~v1+>PC%L5A&S$^-irz2?{l5xu}PE&Zg?R8g~!2Ef-~<=e*9j zyjL4sE}Fu;>N=Nbj8PaRX}K74=GD}%a=KT7rGjidhFjFyyc##=AEKK^rCcuL*}Mj~ zt9Kh*F8bI!kGrxrN0$p;JJ61LiEF7=WR9>Ey?I?Lc;={4sy)3%)ml*xMa~KrYQ9I( zI#Ko_@Vd&`BxsHlqE3tf4C@hqD0PCLA`IbzN#TTbqOTxK=`COCbXw}0!_mV)l_*0I zdy&?}!y(8|R83JsZKbnU>FWePiy%H5dbPqj!Ny`&WA7nVsuz8%xWT>B)k}!fFJ7lG&8p~@qNQ#SWti`7&; z@+)=L^<*@{np}&E=S!tfS(m#t`6aRvPLm+Kw4y;#dU3Q$$j?%!ioJ>;HHmtUs3sO& zB_UExM=6Dz@73g`CJkpzeKlT^(L-_7hUe1Sh8519O;FMrCBu3v!%d>zOTp`2DyGyV zcwGu{-K%(#Hs>q_uX_vZCXJsfoz>7yBka<6CS+vkN>?AUu1WOwGDx1<1|e#q(kg<^ zGUqily^1F(BC-hUnO!)nu0|k;!ia0BMg5gQH|;Iw718F)T(ur;#Ewp=2su$!?d+8s zaEj5StY)c8=_Tlw3VxQ=RJl2PL}NrcfvXHMt5-5f>*Z1EYE*;Kbkj1AdwK6VQbe&B zhFMVe>?B37vAm|L+S9A>9>LG@d;=l8{3=D_$k~SODsax8lc`g;AQTMEJW>hvP zO}f6KdoEv|k-y4aD`^UV?par_d1@m^$WzCu4STw0qcg*b$tdLW;*xo~A09I1cpzcm zX)g|WHn}yNnk3MDl`73sYtA80og}TkLY|5qQ#4ZD)1#MNoZ`YQflg4Qq!t>#o26ex!o8I>s)mW?o}37bG6gcq+rfAVZsD_r3R%M zs#qRuP_8Nhm9B~!2rLPMfP`e}O(vn?&{Cdl%TuXZ8nS*EQp_cQ{2g)06fRoD0lUp}LYVU=T zDylC-Wn0G1DK599H;u#BBxO#RG-<+ADZil+?Xs#`v5d`UfCbY_m!-5}nX(d=Ov~&B zj#Qk{kGI(CD<+s6H5IP=wH zx~9p3|7Aqmq@$f~S=HdN5WnzN8Y~sn&iX2s1r5{U<`Ad2YnFNxm!(FT02D671dihQ zmdmXRaQ9u=72_>Pgw~BVufP&-!PLF321eIP%hFZIe&qy{G$}J{YR06@Nt2~&MQLoB zK5=4Iy=MaExu_XYhNg*CjkOc16{y*lLq`D~CQffc+5%_I@)}FItG+>EH?dS;p46aN zmbyTlvl0dv@rb8uAE;|W}jb-&c4WUrDJ}+ z)lq0!Q0^!!T?8+aRH%~&x^z3XrM$kTqM=f!OY80$^%G1c`!dT?2n>skh*cqwiF$%< zq(Yd3#-mCE6PmQbMI#}_CO!EwXy>8yz|@GLTVaLOp)?jJW7b)kJT;1QX)Rg-NYs0X z#na@PKw9b>ka3lV>nyDMsv0O^Kb|>rWRrkR9&OfLiJTfeXg^XBpA|~T5XL4ppIV4q z)Ce1QlPDzgW<4GWYO025FdUAKJHZ6ivj)b<+Es#LEvd6Mf)#mLEEyH!QH2$#UQ4e( zjSby+26m8W(Nf42ry`J46A9ZvFB}$hk48)-kqmqhQCL^5<{B;KWlS0Bj@?r?coc9X z+*hO8mFRgIiUqDl7JR9v3LRG?4zPtyeK~ryQ_(s$IE3Efs&m%Vl9}x6D1NA`HPIkZ z@2s8>>T`|mhHG3E3i_NT2_@jn(BV8i5`>Ybwh}du{w%uBvKllFG<0W^Wnqy+YVtHT z!Z3yw;jAry_9>Ntaqb30cWK_1It+j8rKCpE*xV#yg(5J(QVDyV$OYX(fv$%3DE#$E zdcp&=KLhzq_i$X5 z%IlZcH>|9;G_Ar=UZ=-nYH5O$ks)O;Dk^3LCLWb~^F)P1a#V~li7>5QqLW_hsd1yE zuyTjmeI#PWh3^|nEG=?3|S+}&N%G2P%kim>~X#&>pq!MeH4F$1`#qcSWm(9jb#PBt&Wm0opZK-wPBs=shH>~2No~2E&4eP!T z!_mHl(BG6*#DjKNp~*Kank)xRn&5(1a-sK8%IXz}u|r^hz$9W5OwKjX+Fa~+=vNh3 z%(S3W0Ih{1dsGh2T8>w%ELhuzVV@FF2pcMdBs7fhKPTx$0}4DLR6>z=fvcic6pK7W zUMn$+b%}0*x z$%-2kG2VvLh01R)pn_B4SqdcrFs$@VHT6~9Xzi8u#~2btYI(hodX-vbgmeC})M%w( zwhnp(xO5>`uyc#Ey9$N`QwQjVKK&9D@+b)`UWanfa!9-@SnWoS&U%IO?%3(5*G zvO(jsjOvz5XQEWhDQF|?pJ;YyQO#&>6cH5IdJF5Gou00^sn3+`jZ7+XG(|-LE~f|O z(KG20Pj7VjSlNW~1+_CoYQ$%{g^?6Ywj0rl6px#2pOT=jsMT2hvv9c{#9&pU7kUfK zKkj7|M4$&s2Fu3$=nSBbx&_4`B(rrz1LSq2y}Mv-gZ{xf zvy7QO#!_3e+@(ha3H4&U5bSYUG*Mr^z>dCM*N9#o$%l|oM#2>$Y5>V8tWiB=a5oHn z)gg)!A*_!&4fj4#;h1Y$ia zu++0`88i(sLQdDJ2I`m4*G$s6(io_~l$IDvAORaJ7@q_SfM%9Ri6wCk+nf#jNF+P8 zLzDwqVL{DhL7g_$KsN?6sE}zy^w`-oN$PvQ7x#ZTtY!9M?AQiu5wJzT+TLw#iJM}w4hODp+Gsh}WF%jZYqm!bNhwXd>-(ztc(uFCP2Cd@cF9u`>_E-oz2pI=}vp0n6yEiP~r zE+~~;*zpEqOd&SL+4D2XOC|fPqKwSR7i&BeoWoqHeg(>dF&49wx+bl&LMf%x5lv3( z+L_JinUfY;`uc%rU@Oz+Ut)r+iCar0`Ui$@Em*Yl@zAHS&?86&pLG7r_b9VH^%bJ3 zz*iz$hG!vIz@YQbORtpJsMH62HbACmsL%$sGvn+dMhIsQjfFTxYj%}#V(Jv!g201u3q4;S z(#{kKDp7Q-oKc0vW%jZwpnDe=Sj(&yDeRMOA&vr1U85i!S}jLqYTugvG~MFSm35)L zU~HfcMp(*`W=iKXbw09FT%n?$fxr;@o+Zf0m>DTWB$C!@DB3kuG|Y`ilnV6sP)Ed4 zdle+_`R6sKFPzaAz8)MQ)i4X`H20(lXeLdaAz^$;ht{BLo6|9VL2VU2#SNP1#_%Y1 z*|GnufMl(dbcrsRBp8?KA&HP)3~ppwC@}01iK9=<&^3@iC`oRMM8TygBM}^uP<=u% zbhBuvdr0<)^DWXsn6YX-kn_^Q60DC}B!~=GbE5?o*hVj6V?9A+pIrg#@lO|+O$j)$AOv;#)QFU>} z6r5UeVrA1}(c(z?no$c&7uc;+%fVIWAB`bc`c!^AMw1JzzaCpZeiTo=Yb9ICau}yL zZGlk-nqwoX0ds`VbO?G&CCxyb^Di#3E+{QrY%8Brs81VBQb|K&BULA@7o=ChBvy~< z4c2im;FAh8Ca_5i<{ZhP)q+K1VTT6)O0cRLofte#pD;NS!vtD=39SwkybD~*B6DnZ z2lggZE|nVO2i1}|pyX-Qsr3{KQfazG7$>x{(9}yOtXe3&91v)??2W1fCcIu~*waPR zfqsz?pkuvl-Z6 zG~bY20TXRlxM(%QzOF{LJ)+~bMxA}I05^bom!*1DV>JrSVFXqcSqmCro9t z`LT#5i9C;<3vlGY8m^_G9!5l%(nP+38eQ!Sb%IEHEU}lte&JFg4N|CVy23vOtrI+| zXn@&3vtmZ7OW0sb?AmlepIhKDnx6jwM?~i+u}`-E1savsiXb^*)pMawXuc7BoP6(* zq#n~Jwwy|fuuu10?Kz{0=a)g1o?rZ<#X^_RW>;bu&Ayy z+j1i~D9m-MEExPCi9^-_Oav^@*Ft*KGUswv&rZ73g?5Gst5BKFSm01-UuD)wL{p-8 zgG8vSspp(6G>rYX?X>T@Id8UoVPOFX4Np9QUo$gkay_~wh+$QipP?2`DG_c)QISnj z#B3LB&k8qC4ZT9)%6R}bsZ3jP+xbJd?NIYYed+`I=xZ%Non_p)R})0#%`4sU7OTU{@W&_7a4s*jLQEl zns6)EY>q`W&92IP4JErdRE=UW#DryLj|AQ0qOFV>I|gHJNW%8X#xaGC!XivyP@6rl zb(1V&%nsLVpO{!7Aw^pgMkR$&sz_v5(Fa2stzlndS76@=Yq3$LULpVWTs3mW6c&|~ zT`^|7WsJ4>iZL{$b}wV7CWtj;Kl>kyQCh+3UC_G1YDUf_U`)6>=wVz^hGjsr-eO47 z6*+1Gv;; zu;7nIKzSIpuIT~pkWxsz9^F!`Yb!#ghdXAJMux_tPc3wkHG9RF9IWg>n~S13WT(^B z6NH94v6u;AYoq9FF4!MQK@>S?HjSvNIv16?D4b9UqT5fnq}_Zu8g=(b=Q0^NpmWw9 zo@-;D2ZBPB_R2KU0WfrxL7uS1q0b@Xg8BJnS3oyrv!?kfpR0$k4{2tU?mA2NFhPhu zw=n4%UnNRPoky%4aTQN6Q(u7$EB0b7lZ#lGns8bIoo|^%7~w70smGB(pD}|0ZcI2~ zrKa{NqQNrnBvPeEM9lWHE`r9XFB{c5m;N92-UK|VBI_GJxBK1%af|CX<1A5e8$}{6 zVZfo%Jb}-$b52Ijr27;|`!j^Dw5N;!+EF7`@)mW8bgNs%AOoxPqusYkm zz4RyM?jc@blY6iWYJ$&GDbMgwlz)*eYdfX%rt;-8CIkBi_JFW0v&?J^5JXn^$mc<+ zZeR03sSvO%BP_miuRNDZGKa8I1L+wJiTm2SfoF=MPW5YMeG&)N?jaaTwMMN1Y;E13 zT*-rJ^ub+*dY2Ew(Hpr z_2*$x4`WxIdxx?m&i`%NV8ZHti2Zf$S(U{cmPFCQWozaJfJ-;+zNHRs-(Q9{#IN{lt)7DrFVL<$X#J5%cGl^{nV! zRhmD*Jp{Lw`4o_{7LUk)j65C#4aECxnF9b5QB0-Ocp=ubtTGOYVjwPbHHKBHuF|wU zbC8n<)6`uXS^VjgKf596%?DBj0MTE+d?s*w|JM~tMxCP;6W=|QMN_M~=?5szqN>!!gy*xpO1C$g|QVpI7bGPaAOm1#O8c4&>ZzU85l z9(4H~GeUPZ%KyN@u#2>(DmFytKyV07j5WE{(Vxy7Qfc8nmZLT)k!cSHS66UC(Culj zTU0FkY#dKQ?=`sHz6%c%2u~ZjKS_%Zgz1^UL6stmJngdSP~+h=iyo(17qyFsVwSrl z>}_iwu%6Oy)ykIcNab$aE5qdcNu)F>rM-Td(of*n<3WwX3_X%rZxb81bT&?HTCSj*SWlV9T7h zo?U#FmN!vV43_t_;lA(~=YuQa1?!R2?(B)qXA=sdwlV4g-WHto7AcEG6Oio!#?nSP z&Vz|g)d4$ZMR3%4Q=IG`G-%L8gD#Q7-CYX`3c5%|UC8fd<)??cq-D@&D$GMFuyHU0 zI>O%S^0Ac)+i4KC>-w_+crYfjdN7(Q-4Q&9D=!!3+q0tSAHsq@yrYi#@QRgcZ%Sm! zO&2ya_P>xh>+>UtJvB6N&K;WwL4O<0v};EULX#j)dR*wk5aJ*4oJp7FeYhiO`6ES1 zF$}N;il>h2LC~^mVXMv5!NCf<&-oOVK6=K{$`k=Tno@C-RDp(kOci~dfJdD=kOd>> zP}B_CimQW(^1(|r7Q_k7zn*K+n-53K>xSUdku%XV$QN-RDpTotj*H6adp+CKF?F|& z%SdD|)d`RXpLe(I1exoCfsX73v!g%ncLK%U5>N@9J5W?Dhh*XLN@yk(tU&R`IG>+qIv{y-)18BYDKPUK0HFu&`?mtLZNU2-YDpNq($IxvZA zU0wO(u5!vzz6qrO0A~b3vj;uK+2#W_%%T?9*H{(WHBukt zWOTM(@;lN`x{I7||seM;r0mM$Gyy7;1kbS458=@*y1 zvZs?O%hJE)pnQsKqmB@!^JTXym7n%QQZeQ<>S2??Bn%u4O$(&KryI1Eyes)z-vxY|yl5a$6F$cK# zZ2fsS1D8<>$`OhG4x;iPJO7*L=~miqWaf5BdO&Dj)JC#5Ob$W76}r^<5L?})Mo#|O z7hi^@MJqJDBEsC06_$_G_=ecyCR1YUQMU80=VL z3O9{0wI~mlc0uQhsLRz?b}Pi4HM+9fIagiK=|aK`K+6i{1(|eZm#gLN!cKG+S_hw8 z;y6s&Hp_Stbfk;AP?swejnowP<3wzb4|6K+P))ZkSJz&2);U*R#gbA(--Tm@2zVlN zz$fy7SzBIO(X-|nOcC7OPOZQy-e8Anpe%X)fPF3N0v1ZOpxL1>9jDP~_}qYvX0NB+ z^7RP`c5Wr6Q}6Zr+kCu%YmYm1`lS8YY(Aq#=aJqpp!^H@0|ohXKK^zCIKY8+%>nNU zbW72;8DQ5`jyedx{|+|JL;NJJEdi$7i_bFs+t|AOX%izY5{@H-_ruHMFwLxy>)L9B z!b4VTD*6N`-_$V_2uYfaKVzDY76IV@hjxV;*8igBB6|^1B0h56_I?uOtCfO}oZ??q zX%7vm!Ihlx*RZST*-ovDPbc5>8vXUdy zz|BmaZRFCpReTKkNEIq_f`W&>L?x%N4rT7hxLBLwUufLgYeA= zR|8h~#>N&L=H?%=sfiyc)hX7My;!DF^)(s2hO%u+_PW}xKuWE_>cofMZ~;^74UTWA ztJ!6}mG@7Tyei=sJD9^EWd2%a6*Om?A6v^SDOdd;qm1F4smpcvCLJY zK%m~=?8A2nB+cG=NfD@P!*}Em5YZfsAqGQ`;*<`1jNHw>gJ z`Eq8u+7eqpa%e_vG;%E|ANnAv@P!s$)o=;~w9 zwZ~Q_bUQaM&^(bwkSAjmz@#x@K>c0$<{Qs~?~ z9PmPiVKdIY1P@7hH$2)B4LV@Ay zAT2|P#RP|dcSl;9yn$dBJH`G%gX*YJz5)TArInej!t7-Gt{q~zAk-aL1AN|Qd<#X` zWSQb?H8RyXvIYIB5X*6D8vu_Nq@sIT(yn8l8h4i{7nSpOb81RUI2PH`b|IU{ z^0^AU$SsmurqjKuwCK9Z-enc|R!3U{pYf37nyRAWQuLqAg`B~Y=(o2X8~C`A3vqTl z3inIV&DzRE=bw!=gs+_Hl^2%%MP2y+{0R8#?Ju=-F6exDf%|utU*hUof5k=hE%*>? zDhpbo1)p^Bv>`&vU%TgzUSTYD8O;9qMfLiM9YW+-lGNU|*!uP$#-TlZ9ZP#Jsim6z zO!?G>y+9u+A-@UVBhn58PR;kXJv}LWP(mhdswS*}tnY*YeB{Or5vB6DQXJjERH@^S z*JR}2djMD(4oR+qJRqM#GhpyCXNMGkTER6@fbEj8@@Un8CUE=&3MAEJagrqBh6$8$+)~yV z3B~bk5EX>s&JN%fvCU@_Lsfjb<4MH13rVw#xsO~7%ImcBt~S1di279+{|DN z8e<0)Wi+SR6(>)#iv1+$MZWxH^HHq#6H3vk2t@K}W$9z6Om_NZIN~EOhetmfT2thG zUf_J#8EPTVET;RI>fQL#4I)Nh0|9&ne4H;p7#c9?T3iVGwD1zpSxjmu1+lHgK&Ye=k^n>V#{7J;rlc=X`^JOL1(qsk2f5*3v}ivGI1*;Hr=CB~m_qDXj2Uo7#sNv5VfdOTiUg2IHWle@JKB;0sWx>Iq(y z)bOzF+#!%F>|LDOWe*kWK9*lU;>dimm{pp(-A=ryR7gv))~jR4Y*(j_ZzA%^mj|)u zDMt#Srcx=T`fOW%C#hl}f3%x@AuQp_`(Q%0hP89q`&8yBVtHz-C7p!bYBqpj2c+); z@IuT}6^avIO-F1m52le_mkKD@Z>nc`y|qnbgsbdKdld7RDh^Gx zN5kPZuf)`WpfbJ$*)i=3*tu;nx(i(!vIX?KA?Hqjd+PAs$l=ad(4cIv;|1_HQrxt((p+ zxahZynSncQB#alnFPl*WU$XF_GdUB(ky%p<7t%7-3#^d}WK_HD)6m!}!qos(OlwnK zXL#RRHyfixE|{=(?$(V&?w#>PTXq9^rlo##_WC;q+$~_%j+fwjkMIwP9Zc-0;fim@ z&lGl}7ju|n%9Q%m8DH-bm6nn(p;a7;$LPR;MMh5jN+GMd@ts+;p2d;TgKl0`)e)i8 z(6GgV&rK`+%$kz-G2sK^vwS!ln2$dc;%zU#-adtE4;?I9_*fzIBRdcP+N@H87@3DJ zjmBWSL%-N#(&nWY-Dg)}&+h+S6`7^k4%C-eWEoF?ErNxJD&Z%fyKTQsR`QIYr8F!K z$Y_TiclNgwy5U4A<_0bR zpgC}?d6D6Pi%%JLxwzfT)={Ft+PWYem4c&~Ho)X74)*zzzI1B?-P%mIdg<0S zx^*z!3QQmZ4`{#wQeP@opY)@ir8PCBeQRpVd-tsEQvvs&q8gtbLMW0qRxog`qWq(9 zRI?ag{wwDU`N=n=_(!ka6{R&rRX6ePiaxzctICS`XH8izm0en0UDOi+RHVUcVbHg4 zUn(!E=-CJ9)VohjWuKbb;%oTB4K?~(idUt-GfWLCBt;!t1O4lRID#&}5I@qeR(~E- zUSZnshx^XN-Z10iRet~3b0&2>Q!1q*{wQQQTUu`7Zzul}|M+h%U5bDFA4C40GX66* z_O*;N$YHqfH<9^|vYv3XX@t%qDn};&3m5QLm(_14;4$>Q0}uYsC^(KNejJ&3$CD#; zJejfM$yta$DizH`+6iPtP9ZCP8uETYM&5M@Hd2;Bf(&1^1FOdN1l*i1sW*8eqTs$fCtWp~c{R z3EHuQ9N{Ho=HE|N!GoZ;lpF<1A+cp-^!q#H^bi^G<&f1QWc6Etaw{OGmB@PvWuGQ9 zu^R6&v@=GI#B*eZpC^Mhli6=G8I@a6ekoZRdzL;d6yVQ^h$%`R~kmY zKN@EEYQqsNG@SWGhT$tSC|YKi{jN2PymG_Yua{x^dK*Tf26fjMMySqkgzHhRzu~NG z0-a{VOx%k6R>Lgx0D28aq0bn_we*P!rR!_jY^L9uy;8Jll7DkBDkB8DRlNcW)a_n@r{fU^Mg z0Y(AifO+?V=DnZ|7zIoM(n9dH5bXyH14aN7fJwlD`wS|)&v1kQBY+9OBw)cJq%T4` zU~G|L6)rZ6f(JnR0mFzr44j7zBYy>Gu0Z-q@URl_DZD>r7{0ZrdoA8y1dSIBEB__H zmq6oXlzqjpXanRCHz*M|%+N;2WD|aGLf&hJ6?+4+-;DRS4QFTz+O)-RM&C8e_wkj8-O#+;P z{5u^+!3>9k=Air{2jwkt82uh{Sm8$iQTVLGk$lBr6>M@C`R_WMi4Q=3r^E8? zav0HX9nSbZlsnUDCC+pjzRpfZqN~#x{hiZMc!krMU+AQ8q0^vZy!Qkg;WXnToJM4( z6LZ^1p?OYcnvrKf=NYFFia8y=XPwUYTBn)!qSFd*aGC|1fb$0a8r~aD zBY(5gjK1Y`B;R&gp)F2l!Fx{2_X+s?#OVxw<}@pJI31B4;D_PoPBZ@tr&W-25`E<~ z@^*vH*G}s9wbLNWqyo#dqB*8XxhCc3n$A!z^mhl7VjWB)c8uw$JkGQtd8Q+Ff@u`~ z%5+x##!gTiQW?BVT0`E%D{R7^w0`4D8N9d2HS$H+z)uxqSjCx8?Pfrtn_{nr6%fQ>U zrZar4NzrRfBiRcyD@+Pkm_}u_Nug>Jdcbu0`j|%SCX?bfnP%)yrjb`~Qf0mAOw^l> z!Uofb-fCLD0j5bUro-2Q_g2*HMSK0GnHMk}{Q}^p&2+>DqK+Y;cROg@fx7+%oDrr~ zFcM`(gVq?+85?6d^2P#hEb1R;I`hYyj_?HVHvzvVqTY$783m+C;Cr%3d12FvPsRH* zl$~Z$Vj9{y-Lw+3AjjFjoef^*K(4Qvj{NnenOJWc@i$E~vKcfto6g8vXxmQHK}nPH zzcQV9UzDWh8rpMy2J5RidsM%Zm1~OuE4`=qAgo zyvd@-O_q`WXO#Uj=-&c(3+nibaufZ~t4Jhxn9F>jWp+C}^EJtCpWkqg9T8m}I zS}ZHn3VJ@&=d++2EO=4C4OrAKfc69}XC!Eu@gV550k&Dr!hx2RKgcqpgDhuqkVTb) zEvsONW#s)A%KVpQ#6ytPP}DQbGQ-0yiVa5{BP~Z_6ljdLEEj^j~w zl0^lREN5)8WrU|7ZHi^)O$D84mb2e<%SucKoMBmcGc5|wwv2)~sB4a87Tjey6L(og zXg=f_LEb{k^4(`q{65QwEJC@(Xxsg0+x?Ksa`5_y<*a-RWgmlVpT_$t)cK5MhGOW0 z7cEErOK9`UmNWkq(0}f;N?B={Q>y;(6YkYfcr7v zcFWQ4Q;R~MT1Mec)U(qvBRe6JuPg`cwy1D7^1p_>z6Jc&q6lDYkL4`fYgw_q7A5u~ zeV+wAYMHd(a)$R?R{jC-dB8HG2P|j7ci{0y^!<;PmHZLBQ;r!oavX&nawvIpj#+t3 zj>C6c4n>a3aTc7AW9FThvGJ< zbvcgw${fn8$}tmF_+0~7lS8o^a?I$Buvq)%n1y|Fob)Hubqi?q%P|W3=Q#6Pk>8r* z>^CUK${&+s^qZMuCTHe2;&XBgUj%d)n`6Wu$ZU6;xjx64+<>|_=1_D~jx+wx93%01 zj#c<(juGCRW94lD+zOf>3F2&a)@3mYj@AX_Gxi#0}+lKcq zbFKVju94WEYZe^HHTpR^IKqw&M%3)!h~{>nL~aM8@~93JI;w*saa0E@+OdNXKDvV= zc60~yEz*za0Q*n*0k9hXkNg+!*#TB3Y+MZwCYrwx-Ut$XV=RIB=N=`HdZ=;-<5&OX z@agp$vF{P`n{@syN65e7;EIm${(??V{INYB4y1ECzAjSf-)UH@@$k4@y6-L6!exdV836t9rL#%hdMocKZHimEJf@!7FsRn>B3I@HP$a z&~UVdcWO9K!wI^c<@$YrexKk~^ldmzzt7k3ehpV>xLU)t8rtP-__9ua{h<7J4toDV zzkjabaX!VzZ#3+x;guQ|X=w9h*Js0RnoduRcfE$UXz0-}py5CbhaLoH%v5|tG(2Xm zde4n0c$$X4)$lqEYc(98;SdccXgFWPCp28E;U*2=)9?!oo%g8vex>0>8Ww3-sbPbL z0S#wrc)y1K(C`fnlNve}DEg;pc#ejD)bK_P`)l}L8jjU)nTG$+@O=$;X!xCmC*G^- z`HhBMG%VKedJO{_4%M(%ohmm`zt7Ncfre2HS82FG!w)t5R>Pcyx}6&8=}Ol=sM0Gm ztkp1};YbaaX!x{-8#LUiAuUyOex~7h8eXnpwT8_a4%cw5h7V}?q=xG?{7l3B8lJFB z)l;Bhv4%Hlc=97E|MlexCN%t1!*4Vsjn_d#){n>HU*WZ?Tt5wMIoWVsuKG1smpj_d z$il1yvJ%KjAS;2a1hNvyN+2tNtOT+W$Vwn9fvg0w639v*D}k&8vJ%KjAS;2a1hNvy zN+2tNtOT+W$Vwn9fvg0w639v*D}k&8vJ%KjAS;2a1hNvyN+2tNtOT+W$Vwn9fvg0w z639v*D}k&8vJ%KjAS;2a1hNvyN+2r%k-(Ts)P2o6HJq#AA`PP&KB?gv4cBY9S;G%C z{9MCtHKa=w{f-)*tl_UUJWs=}8va4U9vW6^_$Lh;H1udVSi@l&PS9|Mh7k=P(C|?W zS8KRV!%Z5#qv6LICNWK&eCv!hD$YEpC$pkInx}J}%XK*ziB)W6S@NkIOY5HvCWdc>jON$3*?z5F7rd zd~Ew)@-bfXVZ;9^9|d)4+}q>iU|8_1`aaE*`uiPBpYqak#r}Scq$6vK#*1!HI57%fk2hJ(d~D8>fLm`fBP}v!rB4FJu3ZnVxYLqkKAC9 z&)3pi?+P}1Jrr8E`$zSk5k3iYOWcjFww7R3o5x-5t#`G!DHPKPKN=udTiaS!Ti@od zZFLPMc?S>m18VD=2GsU%bNL(W#0IzD?@PTjd(ywXZ9#cy^nveSBjdEXT3WpI6gn*& z*nVsn34XUq@%Ie}_8uE9Y#7qgP#Xxg)z#KDdqA4}AtM|hNTRq$k>Bqc($gI*_O^L~ z6sACjcF8xmTH4%2!7>yB#}vquT;SIX@wv-NIO#M=Qtd7F`i3Zx`P~iWE)N>j-yLAA ze8I{TCr}|vselpA6ND;vi`x}&b3%b6sQzIF)i2JuqJ2)9l|t@>ifUk&4tCeK1zmM5 z?n+m%i3?rBd9^I+KyW~9gUdgt*~96TDm}AfDA4!d#M&0d?I+1~x4Zpber=Lhbd}f7 zuRirU*mrROzYdnyR##wvALD^jLWW9mx3+o*x|tPD9ivjyBcajNEVYI041c|Eh>bl< zB?i4M-a+U|l#kdcZ9bn$S;8rIX0~W=Dz$xj$jS0)^JFqSM$!iPn}b3y%&%x|{UE7qmVR~jZe%IJ5^=nJB8m%$??(=*5dt9wj;X0kBDa4&87uGh{dlmi7skhoxmnYI` zELmn_J14a?*GakBfIA3%g*J*tt@T0QHjAc7a#bzf{%SJqmA8XM7czmP)gLI2k=HtZ z&^t&vCam5A%^o$@XUV&}wZ2JB9Q(Bu8WrNPUwuRPHL72Es`C3v{SJotH72jEE-AWB zUfMkRHO{Y|mf995z-CXQ48F~rW{V(Uzo==lonOgT@>t+m=lDFnRt4yVhBU$xT-qIZW;#zg>2T1{&7N-w`{f|DvE5F` z=oU#Pb%L$v_NsR*3JnJp4dsA7dOcm^7)kM@dn_yo>GxUk9;kPDus~BFBCiKc`z0#T z2i?v%QT6Jt$Ld$F2IR_Ak{WULs~WxQ>{o>xw_g>x&Gu`+CzCFr-y7Owz;4&CqDN~* z>PejhZOQ!X)vq4SOemM75cGRAzhmrojUU$USVn~0Ed7omA_Dyy^tOreUn1{A0?-{I zqA0%y8zFthUMX+sMJdMbZ2?ges?*nT%D|Kn1eGiafs9Vs%qh02gz0D0($OX*?z4za z=~L6=iW+Zoz}w;qUQAXkecz!Dg0JPqOzv1uk935fSc|z~N6^#9xG8dMBRzj?f7)|w zGu?lD3%zuFD}8!`hdwyb+tSdtSNV-4_1;z=lvrJJOLK4tjXMc?lV+Ucrx#BO(1D-9 z%xvvSPoLIy1#Cb_p}yADHkh6}Z6F(1m9+k}!8GFMLx%WVek`?9B8Ew!@wr5f!&86A z7~I-ITYwd2tYf;jHNti+;=x>9-{gj}e%&ac$DO5qf2pV5+W-@nwmN&#QnQTqnAf@8 zzV1*?0|MG$RYurytDII_y3Y zXxq@Vrvt<*Osmq>&9}R0o1?m@Z#k=X7)hg?CPgQ3v&2rO&m4ZNRe_+}U*T^%MgM%f( zhIaBwT5dlxH9ZGN6HWzcWbvtn8U*(vEeg5gIfbh&ao4r=FZBe$Aq@G4a>_hM8XaHc z+yIW)EgG5&))(3o4}fAsD2DE2hIoYg>9HJl1Kh9X`bv3k$KNuP4+9rGY`~|M9Iobo zTeba>Ts>asP2ha@YA56t!&t3@7Zsq5xrYp+y+8{|gFE4D{(yVE1i&X2${N&h7WOTA-X4 zAJyXZ^sl9tkeM9iK&IEzG6WfGj`Gu6NQ@#8$*3#*;ct-b9_({@8fr13Tmjm8RBNC= zEc#$=y$8B@Y)90vz7ud0iw!PuKiB4J@wBzl^o{|a3-0eS;KVuIx}*RydHSKJYH+rlCBlyF!bmansy9yAU6s=uHUxhRvZHkmvCK)Ck=8^s1d^odLPpn zgQd0+^MFPltrXvbNBe2R(N2ms0WsbH&Llf}bPKeELVXF@VK+#?xN<|PN4ufJQ-r=g zx(y5oHvIt1SR)9<`rCx|9W9GAO+E%hnvvQ7He1^KkTXp<8eR@s+5i`uqF_4t6f>Qi z3fA%~$F#z`f~#9wFK+atW4#`CExa+6J?&Vj6#~(g z^qgZ&8X=u9MxJ3j$swxgxntm%!Ha4JS8jS7h}%a?Z%yEihpb$*>R4IT+=BlWFygO( zEswX>UFT|Oq#c~Ho>`B)#${k&H@3C3NbP=CtLm*?$D+k|9fyW|#W)z5X%nZ`!{}H_ z2GI250`-1Zu)e9bPF9%O{(kQudKKjoI~@l1Fy=DsNarJC0LJbB&i*YFdq~=)D%mhcIYG z7edmlK1dlsi#5kL*U{7y#2|#5%=#oq@1B4n_wj6~<#nLJ+v;lepb!jV?KEYHN- z`S=~($-H5fqaPOJVKuJ>iyp97OUpqmH2Y`B20t$UklJPsq%31x?BJy*1e;rH<>#9~ zjm`ZT(;m&zkB4PgBC@gd1jyt>cWZ5ZgZ9v#K2do}E_&`n;7^qC6!g|#(v>Ej7@#Fc zOiCgfK?_b~!)*m4PGQ2KebTw(`57D40lcB#)}6@xwgpI$k(>k@0hY{(XhbFLL27)2 zM%*QcBThmR`W)!5@{pc|Cx%{XOomV586(Q%A)rQI!w72&HeNxi@D|?ARYyJt*G|`< zR^`M!f0CO%KFJ3WPCJ=J%1x5cg^QzFlsE~47zPaez~tsRjjl8Xc%k_+qwj;La#gf~ zCY{_!Yfnbs(Y}*g*vq76PC*0TI0Xg}%|10ikDrQm-@{{1e7M-jthL@bSx`UZy4Q$; zTVog~`vnrh|BwXCLvpZtzWZdTej0rW%L?tHnfMhO!3^7)o~E3_dY&FcPIwe>Sj*EB zc#A{7qjSdaGrGpXRm7Rli(DL?^};DZ`UDBHSdEx2e}DSm6lez;dMc0S(Wi3F6VZUA zXp+z6`L#SFUowdXaf+s%+5-Evi5>)I_yOiVEV?1(`8<3o3+5$cN4^z?pw7vujpW+K z7FU0YpUOHe)uZEncBpH=`E9FGK$9cl6pI-S{D)}2EM|B(M?=Zn>$!TEzM{aX!T8utT1uzyM zD;82UPdv?oNpLZ(Kw5GrkCwaYt8UH|vKg)A4F@=kJFlNN7{NObE z*AGl5jLeQ*>66nWx3;0#O|SmEp5FR-GwuI*D}DV756zu#_*B^^<{Nh5XXYC`7x&CJ zZdZBZBe46E6NIhlT%$_<=g*<~)Xy(}4unaJkYEH0QiLe!YgDuJ7l=~G+xlPFHN5r< zO?mq-&=i!jNiO<@yOll0)ku%ca2f@)4!=S(nQ|2ELF#0up(fjh$Vp6=G}MWFrsLH7 zfDTPOy@j^_3Y|QQD@g05(Wi42_nZ#GGq_;*nNx_4Dhk45s)H?2;;wI@#itiHHMhXH zJ-vh`|FV=G`6Xh{Z~n4^w*C?!<$=}Bbr{0^Y1FR}!>0+qvfuASb)iis80D}YX!tMD zxD6+uhQxecqrCNE)D5ArzYI3$pNoN$m@5|Dd~o4tfh*++3Jc4AsU4{zF{?HLGyD)Q zNs$ju!80@*ANYjj6}0Pq_m^Hw7Z@f|Is{H4Z!%*1C1xSCn}0`MMgL!3Z*{@QZde{C^ef8hsl(BxDGR){(No(%HxJ*22I<=Ba z^vqsve}A{eUw&p4e3R8@R@11n`oMj@>#Q3kLi*HMaEfVoCk)1o%tCS9y!5ghUgAKP) zXQJNaoDl+hP*qUcX!nFO1L6|VBIHM(=KR=`{7n8+p05da*aU*}hWywo zoK{SW&$_jC!S*%(sX&<$r-)0VTk#|qT7#evt-rr;1nC6e2)EJtM)M$dS!g$(a z=&rMQ3_XmzuuzD8DAYdSXKWiklae0(gnvhn&Lt1&fY;AfLf#KTp{-Il$*3&e&^avL zX=qMD(u!%+Iqk&z5V!OzMsK89zhTY$4^DZIqaW8-a4hKAbFfv1;W*IUr>cxTI)|S- zfD>7NGPsJbJ{e`(=&^H#1bJ8n+FIQWH1b^J%w+8v-HiNP;YC3Nab_2&z1L!9d*#Jodpb0@S!mFkEkavMp zUyQ|E1zN^j(97NG^$(#*7pP?-oi*(OwKUP33ugJ^-km`9zu>&^)79>&_h!?i^u** zXH@kx4=WW^QzgcC#uS08&GEBkz=*7310nei&z9ud+Jsrl8C%$9z!X%mnkPDYDT(CJ zHjVQcUJ^;ME8O&MXJvz^I!1D{-(kApcQp1aBqcxOhD6Z^lw0D}0XY%y-4~U5DAI+; zqUu#ieX>g#t?i;lKt}Q>T`FM?XC!>lrB4;@>w>O+id&2Lp<-j-MME;M<^Ul%6m_#W z=*NrFVt5oe;itq-lJOCb9|x@78D(Q#5PU|A4h!4|T+e113*R1x=ET?WGqUw06e*+K zUCJ|xO)P-ChDm4t$TPX8J6N6yuTCwfa#QGH*b%*b+#3N}4uuoG3mlq|4n1AagFY-M z>rG!5=t;02azho)EP9VyHg^g8BE}i+K@~&iUcu3ilxSHKHpT z67Gto&N~U^qx*RcNbHjZWEhJDF}Qkg%j#UlQh>&F<=svp`7jE`4qyeadiT1~k8RF1 z7rSZZB^;k#bg7q~xr`U74VRlVZ4wq%hca3u;{QfhMEq$F$|o1gdahIq2hwR**K#&u z5Q3j_iAgKDsHwIB-s#%XP65%DOAfO)Kp$KZbk_$nH5h#ZO7Z2Q$H(OADE3aIt$Vc- z8k}6hImrZbg5`y^%K=bkvuE0+=!Oqq;0_mt?8hUBzU^ol`+I6Ye274~W z0O`ZwJ^KFAa<6v)Xbius_aF?7v6o%16DD7lK0Y-4vTC~LGSoVZ>rQMFGi8DN{)B(W z?vdXU<++tp;>hJyyu7&;Qo8Fhwh|rzg@}||f|iiuC$~VJxU8P`pg{Z!J+XJ;CGiE+ zfRoSUNSAKA4DG1$dV^ZM(W1+%+b1kVe}*UW2#L!x6ldio4$Sh))#QB`6}6I`ON^d0T<*L3(6OI}LHy?}kXFD>!Sl zxMT09=so>A#mPUB8Bef!NG#!5oZ?4(Io_>!>v#6gDmUzWKlU4F))m!0cRhAncnk&T z?khlK1=ou+`G!(#ML6pB47lX3qutPtvb;g<&FdCyptYRxE-TsOZ0-+x*?Xm% zs`O*zC;pz%#hbceH|R=;SXO|{_3l8ow4$HK7*8`7$&aO*6}5Y>WQPN0mD|-y&jKg1 zPn6;kW+1*bPr3DPbKx)9PC&=KdS&K%_YJZVTbQDk5?2OjBw8DNO_#e9FOk=oRCorL z7M(fk56WwiU^hJml=yt~l-{$t`wwh9yv$VY)zfS0-WX@IKV<)H9W606CtK9S^Cr#?4#0xv;<*PCy=o^u{ zU36Py9nYF{oSl|k6{I8=-UwcfRXX_)$KbQ8ifPQ%CA8`4QhKjY*?83uo14ZLmC?+i za(bnxf`)akq`!BEP7Bbd-IXO*)<8SEv&|`H)i>P_yM=n7I~x1}YcqQ&fBHvp7=~R9 zv90Ee4D*wA{t;n(>>>nu@w{8aII=<|_OkO)oSC`wYMISL=oMfk7jx4wE|*`8ak-6C zcA}$ARsz_bt*7_Ux=Dq$PLiYt3$Lfg3(*H5mbM+*0q&SWRzySSK4iu~7%dpeb2W-5 zTw9yu!-aZ63bjo@4hvd%8MmrkbZB$oV6}axST4uLEFuvji$GHh^e{|a{QgQtJ54D{ znK4U%5)v~e`8v;X754gjk=l@4%LIPlmcv}3M~iqP*h}vqHMU=DxHnj86#+4FKP*BV zo&&nyasGEq%}d*h0(2+3DESm)N?dG0cR^pksq@4}SR^$dit9!rw9uDy_tVQjiO%6n zcLR=Td9Y8a1ouLB%!{qa4K0<$<3}Fw5ou$1JZs2VSm_}yxFuxvz~ak$TSJRAql=4$ zfn~)_^lC9=kA{O%oGHcb%5`+5XNxbPe;_CJ0GmdMyFlfrq6V%UF32Or#q>yto**SE z^ePs{8zr)Ozf+=D=nqTmwfeh~D!4BLc~chzW|UUbo27kx4VVHdWk)IM->5dHhS0JS zWiC8l0uH9-8nQ^rksp1W)8dav&f}ajuJjTLgLrfm zrzIsn{2J#hM9u@8^A_hsUz3unavhh@v!y*a{QVDPCZFZx#51|ZCA1Omu@{*~oHC+l zDO(I5G0s1w=mSi2ABg^lw1}{f6zMHto6C970fdn~unw>80d32xmF>(`pi@8WiEdkq z@tu2^RVqL$d)PkWw4QpwoYRwy4clLf^i*~?E$V5zgHQBSXC3GT&`u0xc0+IRbW2X> zNfG(Sv4-g4N01#F!$}D>k`ipgiS(c8nW?tk0b)!%%Otzb*ghQJBS1^9LF!wkfw&H| zYzS}RVP_#1;WE)*U-je@Ffgk{ioz{N zr=Kb-qu0yId3VrH-<9>EG1peM)iui^P7hqm@#j_7q6a}z)w~}xmq^VVy!iYYZ!327 zI9NTk43)iOquqnI7|@XRuATN6(l$$4MWiJqEw){0j}2uFZr*e8H6bjy9ofMAq|gW9N$Ay|$UwT<4`Ry)h{k+jM4M zXVRl$-yU?Pg~neu0PAFlE9j!tKuYf5!H&qzbx?h;BO&xY5{||Za&!!BxUQJymzU7G z@>1Gb-ouZm9PKGDlZ{jQzFeZkG`v?OE$RiYXkV{tT3&IZt7QPaRsn8403}#s=%3l; z9DQ0*uBQCc<>-{Jd4$GfUd9s4gS!QKk)A8ZuzHgbl7jFFXGx^@-EuIr3pt_foRdHf zu-@fom&)#}K1M2TS$Qe*E(k=^`^ zZDHC9WoZQ~mvt3<26H{|BC1)RGhSG*mr4g7e9Y+W3OT`|*N9>0_81mF%)kcBCQ4M) z4=8W0^J9aX?&dt1%=SvV!MzjsMAM|r9a2nH*_*ZC>YE1+wv5$oqcttK+24%-i_R{NN0&}S~ zTuO42FoCgp^9hZYuGfdpK16Ovj-4e|V?sK4;z)~W`}IxqP?fipx3cKDDsU=hnC))c zcG}n~R$libKfID>G-ku(Dh~ZVjik^Tu`gC3qhm3Bd3_1pUsFoY)|AnK8fEi7)~A9t z_Nk;%H&jvd1{J0kV_F;VFW*pu-7(sD0}r6QT$pyk&&F!o%h7@KH>-R2UHv8R-D=Uw zTdOPS$LcEAAbFcoBXnlgfKH5=N{(aA6na#whNTGJxq@PF?yg49JjAK7`?x)2w69u% ze<+!VNXdsKcPMOmxN7%u`csUF5j3_MX60i@3BAE9P+X#aTE}TdpQ=&D&lWDXAO}I_ zw70U8Oa8zrH~AfhetKtSep4eGDYN^4zv0}GPywwRW232kw6GrHy!~80Cf-i?{&c%u zMqc~@;S(nFQ+)#TE@N-ZGsKMg3@?#L8ht7K1Fj-`${l+}mM@14{=ZE zP01C1>OpV(3Bk{)H=~mu;{pv7{}Yeh4}qIlcBGc z_BboJ%~&!}fQg&Mbl;zP$Q7Q)ZsuNi_GY!;_BOCX3m7{d<*IC{Jaw}K8ecQqOm#A)cOo3&*3A~*UR=O$m`XXufmKti$c!_De!0nPg}G7fY^29E%VInDet-zTGo zIp-VX91s7GM*O*$7Tr=pkNu^TUaBqguqG02FuZ5FdeObE3VPlJNw!CyUyONxu+hd##NN7-cQffgU|bqfiOy{5#XfAElsrd7B5Zt3pP61&jGss zFJSE}v_^D1y>g4K$?5Z3ScQLe3tIjtM~Wf~(&TX!T1#$G>`MKXoktTgcW zzo=b~dyyM`^cXJo8pqB<3C2+!D11Kj7bwOJzzQz{qYf66q`&wVgmSR7Y-93|Gx_+F z$2f~=8ty~l?8fTaUTkIR&Xc4ywIDzBXb|Dh7H(B$W=_JvC*GD9%$2}Q+;=pyyqKTS zu_$G4s(khr5B*q+F8HV)>YRHl=*c{JuU1aH3xR!1;7u-6Pupt6&A+Rk3O&&p6pQ== zt;8v3Fgm>-OK*8UHAYr)=1>+#a^6vRMt6%i8f0{=?uVTL`Sljik~=yAA@nLUAnp#k zru2S4F@I>N3lba8h099lKtH`-F$Jl~1UD)22}?U1WpTLt2rdgV^Kj_7o*oBQbOnnv z^gX)L$#ZL!t2O8y0CoGG%Z|8y2DH#*<}$gOD-sIZT*Baf}e zxQ@M-a$G3G*&%wm4uqC>G-_~&3=?q$UgHl+*-u0UJESM>;fBKHhRoL04Z-pKR=fNs zC=lDisIeCrHTJi`o1o;o=iu21nI!r$gO9mk?yL;*>;K|D>R22 zo>^kq>v%Q}GZ@WV<;e$&88aNbE_JJsx15nyFo`(Z)n*Sm z&;XUY$<6V>&2Em>!90EsSW$(woN;51h$>Zzd!<{BGmL1IZKZLIuxJ}7+=voS2whRZ zkyTtmYxZrb#7c#_y0KcF9$3R=*0LcIk!NTf{|-%NhurYH zSja3FMf)G_@&NtN-|JIdc_%I*MVsJ7sn^X-Xhq89oWO6=h4HB!3_IEppoK^e%YJl7 zStA3Ry={SmjFktPFfN#%O~8&VlEV)8%eVL~Hj~)o?=@+g{9E9}Gi<4CO*pF4j4_RU zJ++%SuDJ(Ao6)<^HS74vI^@S@u(i}c4>a?jc^WB^X)O1|EPlqPtK4w2cqvQXg!~6#0Fn8;#w7G-L2}T4MlGifAH-A@PX>pX5an+ye&DZ1)a7=Oo-7Kk%BIO$51*i0aRy28=)P9 z9pokn@8!SlL%iVwUp0-st&hjYhPMuy3h_<1q0$KAS{d%z%vJ=7T=h`M0gAP1H)(Av zk4=*$GM}IEXZUob9m7Wbue8F0@n~aNuQ5-0Acj}?v?VsK)f)Xxs~*pECo)5OoCb!* zJp7DLQkZ*`F&^b3nXyIu3`Ic7D)zRtwR+V3BZ_&j(sAhgI}e||(W%3{ zl{Cp)Eh|G=13l~og=I`3At$dBk1$JUV`hALjJFMEIO~D_Akd?N7*pt6Enj1jif!%wu`>_jvt$3gpHnEN$wj#3$&ExxN7Or>DWid*}3`kH-l&ycy<( zn5x*jwjJUbzIIhU59H82Tth_a2|dTZlc)_fPhuiaWN!X^#1Ry6Y9j+apa~!vwq1k`~*l z+|GITfSIGP2fz6?Tz8_)h_#Om3}{wY{&-Rc==-3)D5=S7`-_Gn%y2IbKy7L}(#L%dtn@d&$BvjXilfu3aHwM&T|WFG6imbL9}pvVEPSFpVfBOgZWrXZ@{ z92AYQgLfD+uYC#bF1eq_xO;+NTlSGcLa%Gr`y-%6XR!hezs1kE zASIqm8Rpy zbANhfPzwyo)q_2BU~qt@4#|`U-G`nIjgpP-Z<34>P@*~QPv6VBk~D2L>(K^dq0o&bJ0 zfd$Vhrh5iKFJX-lox>aay9Plg^Qt2oS$hU?5MuaX@#!BJj3M|1%RDif@@ zf8VbBLN2mfI%C2a*bu;6rj>%AL>$g-Mx|8Yo-H}x{|c68WoG2`}#0rw8iL(F<8AR2$W3Xd-Y zQu0Y;IN`I>l-rxIliEm|ZpSGDws2GTd{_QAEXXs)2hF5UG3Ok z4)&9BO<5GaYJ&t6#@}(cBS%l&0oje^I64lx-|^Eokv{=$Ty7#KCUST@io2gkk!!pW zxsID!CEMTK{qYWL5o3)zIEKFRuV7Yg^G3!osTg0%#W2pil)L7y((|ezhZoY1AQP81 zNa&AV`s?8gXeIau|Ay|B+qa=HTxF6k&N>geIQ#hDU<@7j+mTiYMQJG{9UH|AXWj-B z{rb({4ySb&p+I=Fv~wyyLn657B=!lSkDY9w486oS4{<$N!rz5RMNS9(ru3f!2)S3CgP=tFDnD9L~Nsg!GW4b2M>Y$Urr(Na8p~ zhEiD`GO!e^<+S*nNHbe#B}np={v>4hyaDV5O)hpLG0yOQ&! z81B4^IEy6;vURA@t40C^BZnCrI2b<+6q4&$!G)jW$}8y8p@v#-?%}-n3eJnX_j96? z;A%@J259jxqr2D3XXm)*I1^7yCJ&k#mi|_Qza2^cY+gpaST;4>UsoAXY(hI{;*%u=;4iX+1Y2f+l zNZ^Kc0@tZ=Y4iv~ll;4lPLGZNTKKcmxYGByQUrxjdg2JCv5_;QpJwp#a;o4boEN)~ z^SD!=9AOBzC^edEj(y2FcFjXa+D*8dGZSb6p6yT;jBtK&0%jo=lxdDN((?>Q;{=;`1Z zQ|^UPn2Ps}Ht@Nz6ess`U5Uqj0SqiispR=!h+Z6RVB<1K-;M@O=qcdfdjOt53hDXL z29_)IP%$pxxal)SORSW(x9jNSXj_&u$Jm0OCvDupQjNbavK`7JExv$T9h!sQa`JaI zUbFw|AOME@X zz|G8=V+|J8ys?gswE98PqMHQE4E3AmJkBkQz-%OxK@ z-C%zcUd{XR{tR;+na|H;grA9hke2CcQI{lS=I$D6w0OP#l=L1RhkJ(b5yqiEWNz!j zGKq$veZt-2;|v66VIFK62ZUG%tuu?gv}&9jpg=FssPRVcx?4GhJ!ib3 z%u_o=6k(##NvElUd(-$WF`H!-d6Y#EpC}Srd74py?Rm+4LUI@JGdY@vM?;G9)#EXa zwvLC^9XWwnSt^^g%1mdrjT6TVx>K+Y0lq#wsaJIv-%VM#;qe(D4RGgbno zOF1KYH#a^09S^sRDYJY620@C2HyAT?fP2_QD<>ETvav=QIuW|u)xt_Rg*tO0P-Dwd z17!-ohn6v4(YtueMLy!$<+YXWyom-nT9294jGXv@rL%WEJg(fL3R*MKD68l}GbXWW z7ylMPsZ@1yCmC*9GZ~Zm(Wyp2_v!FyN*$%J#!h1C9 zMvoRRti)N9Q(b)bgRhp^Q}t0#kgd;=>zt*pPDWN>gF`e_+;?Lu+hVdh?+P=pM(wWKNUFm zA&doU+!RA_oTHThM#g(1OM(GO(uJi<~HCs$9Ix52k< zt$Z)!zG1}VTB&fObjWKwphQ*i5qX+C&G6%tCVYPOx&!nm&yM&<%-a~u5kwg=-=3U? z>&^jp1-&~BlPf+QD3J;17>BaC-b6NUe@fB0qCKC7SZvFLzL{pg$XEM9_fCfvdT6>m zb6#Rvp{*i{4@8s=ZtmLqr>j{@YZxK%79%9yWdz)0m}UgzD=MkBekvUO!0k(ZgZ5cC z9%N?*XyEV$?}bxMut1fte`=Qfbkd%)&Y@9ziv* zzIE98o9Phvdd>~);okNJY28e$TIm(xBhHMDW2uLEvf$*6UU|gC-Z2w{X4)*HjW*5( zV*GhACH%p_jm^O(TShc#mLX>4%2~jPz~F+5jip-Kh|6cCht3`Es5iS2}CF zDFKa}FK$UDa(F(f5AXXm3w!&oRf&|DM#;IzO-$sEzJwP2f9<^qoLgnt_kS{57Yc;c zB3qEHY;D*Vx3trR(JrCWLP21XnMpfCXC@)ZlnyRL1g#qeQ5F>lh=Pa^WEIdSJnV}Y zK@bEXD35}GghfR_`2Vi^`rRkzoMh_zKJTCB^Z73Wr^)xeu6y5?b4PRv7w;sM5v}Vx z-wWv+-MQvM)5P9zAsg0P;juZF?A(4KtQWo~7VDSFzeV$J3jf^BS*h|ot zPw%;qqq674V)0ri;I$v;mlt~DXOidqi!`XtRTn|CdZjoeN%75#Fp&D8m=!J;Ps$s1 zGVfhF_gxfHUOv1g)<2M(F^fr%I zjf&nh;r#C6kj&K2EWujUTwYPY6&3AHVG%CPDl97RPzuE|G0fu=#cAcPcqvo~RkyBe zR&FbHltYPlA{MKL!-+^SRBo$=%I(o|TctBx4~0vcRJJc{p2$S-R|^%|Gtoq;y|zPT zt3rFdquzl_mOI0RP;JX%N1?44ie}28a3ov|Won^XTdAuQDu<$_DdqN9ECvUn_%D_z zg$ixrTr3ukMWfMbr~)seVKIUqZMC*ySEkezsdf}Q>j+M*t==9kAe8kF6t+lIHZON& z;eFlCLVE(?MH02w+8~1?wNPPtq}W+*E45`R z9rgBNN3kP@aI{yEj)f@*XsN5xRq3oxEw)vs)R6||wn97HDZ!~sxVCAy)*%tChpO#m zBtoUV8j40E@kq73Gy{p%R`0}rhVNhl zjQl8ts_>__SvXRj8VT3h!_i7-q}V2bs!XZF<3cCWEP}`)4JwE~(xZfgLC|9Hc%~4F z#A}FbCZ4FaMarF}5U|vS6pfeKOVbL-`dU|QdZnXqV7aT@mMOKBr@y0} zBBfdNO{&w2GsCoJ++*O}Zo?4p;SGww<%9LuT&{f{7IxSq?ve;IdT4*nCTbNqv zDo(3RuWwVCR^GI*S*^V?z0_6Ns{WB$sI+Odt<+hcUY%A9)i%%6J1SGlTh~r3cU6&& zmCX>2&5Lb?DV4TxsVy9h)jKO);Y1C^LqgV8XsaORMSQEY*Sbn=wJFHLDoRWhaSqFu z8bXioPbqX&+wk9%u$E?6Lk_~AqrPdR&{YY=V-=)Wu?xwB@`@ag$Nej|)kBGTS7no0 zR}raRXpct{g|--y1VyykQ9=>HznfJ;Rmq6yB^1j@1#XqvqNsueRDueETyB@pmhcVv z(gtPotrDt*;CW2qQ^iwmtF?zCC=sz(9kmYb6hq<4G~_wLT!25QyVY>4hyYD3beJ5j zw3XqAD8>sNHMmef?JXfIOVdE1LMJRDpFgL7iHAEGuGp#bMv`H<5 zg3u8ucZDnM;c&6DvUwyCL8RI%9nnZ76t9QMo0Quk;Yg*e+69vih)W1xG*a!1l;LR! zxfU;U#ZiySruq~^XjUo`j8GU&N<18fBk=<2eg;t~AksC&B2z*6uAnr-?@+9ayo^R7 z_y;W&5-}QuR(m*x3_=NsSKE-QNI_(OwBC-St+z)IXk=r1BpNNi(I^rpkwHxD#PEtJ6jReUREqb0;61~*MI$Y&L8T%TLy7;=J(NP#DTQgZE$dSXQwvD2(q`4R(iUO(Go{pC?u-_uL{Sclor(Iv<+gBbdM#8y z<5_7hhYKMzOzo9z;$?JlMK~2Lbs!y)MEF`q`iSG`+oI7})N!1T?C&^v2bX!`a|J#} zmOD-YpZRkgCxg#K$#LTNyy7}Fe=rhqwgx|cM94W3pOLxxSzM@}L-CN&FJ?o|@sNkl z3OV!fi6NPDFFqeHsr~gc+l>AA&)b|R%+L63n{x&}r#{iYMG(Rp5`{ zk#Xo7I9Iv@J}<*jH~BmR+nnP5o!C8_h0pjGJDh{?`K|LijQy7`(9ie{9VXmUpMVbJ z(UH%q#nM8NCM& z*Uw^)e(rW`m&upMKc#&0kbZ9Xx_(}Ni+(Py>gR61*3bB#yG*`6EDxmt*-g4raJpVKf1$IXE&r@ zWu@b6h70M+C`b5k9wbK&SAL2d|A_Kyu%napC zkJ0!Qwo~4P9R0BJY;tUw@c>lZ3dU#0PlUZlJoxsLiT={<)WyHt50IYC}YuHl|Y z(O*w4;MPOo4dm$U%IA|yFDqYR<)JpCe=E7Nsq&rV*a6DFBWDg){tG#LsPaF_iH|DJ zIF|XjSb2N0vr>5uxpb^@4>^3A@(OaSpgd~r-=KUNxrkdPCBBziM*ApyCpppCZukXq zc!u)S<1~EXJ(ag77ZxZVL{2PJUSRbHl}{ko^U7JPf35Pj$l(ly@OJ z_bSgLhwoE9j-0q(`E%p~`Ymz)Vk>`5`DbJ&+G*r>lf(NfKVjvED8E9k9HHEGf`%^< zQ;v{hbCnM!7trsC|I5hED&;=QpHf~&&Y)iu{jo zR$goMpHn{F>hIKL()+vQ^3KZFTl*M?NPav(E*z!&C#&D9+?HVYRx0mEjwF;1Ay)^L zd&!kgE02(C8!1iNB*UpCl_(jTI63P7n~`EFR}KgDBodun(|X*XItgh$&n8z zcMfRysu)*_`yV35W+@*+F7_xdCrA60GuD1e`P=03kn%O;#IW*1*8WM#FOtJ)<&HrO zk5f?Iftw9m6Z`lKunaI5|)K;+rb}IysCh z-$nmN&XE{TdBVcrTS7PA-s-At&}$ zd7d2INBL~9geO7%4&~K-RemGc*-!aFYk#)#Gvx3b<=4R`|H#e|)0@00xkUaTxk|Cj4jC?D(K)#n;`|zZ@2P?$W`(o760l^e*(M+@^PhY}4EMgvxDt zZ%?-Ay%*W0_n~B)-baut41bJ#4>>`8h+H7QORlX_|L2^f=@~svxled1%2P#ol$^Ok zIZuw=rTkSes=jmN-O4`^Io?97wNEqc#ckv_$#;+s>ri=>Tp|CSd}OD}UnEz_Z;@AZ zseIa6^>5V_<=x50ljo8XWZd;&!Z%3%9C?U*0Xajyg}k2pYw`y2tK=ei(-C#Q65tI} zHGEcnFL^8I@3aYaU#F@35OSFONxJtq+1f8n_q$gkA5HzpCMq8ko`Lp_oFxyD3*-#> za`Jleo#X=fkK{ARp;2{z19>xYg}f6vHbcX6FnK`Zv&aXKqvQqT!^o@1F)|L*nf#bf zE|QNVm&kGQedHD77s;#0Gt%nb@#MY93Gy=XAbFTPME)i@L%xcTp1m;566L2_qS!(SzDM}D0AQF4vk zO@5wyB)LwGliwuwlbxM3{x||+%Hve>>EtkZ19>L-JaUBmQ}QhG!{jLWZSrB{-E-<+ zjC=z5Nb-W(3+4iD9w(Z3RvTZMluz|Wc;rubX+SRa z?R?@e+P7@&7ut<=*S=RS_RA0J_Y$pKSZLACYbUb~V}dZ#R-{|8_6g_HVx<+x|_$yRrOu9{S$=_#3!Y ze#mb_h+D^wmC6@X94W?RwEa zXy3B6pOi27lMhp#xV|L3vG8y8X@B^40k;ajU7z|A_?Xg`C3x7uaw`~2#@{0Mh{(I$;es=wAH`=#s?HAO#8-A}`?A!IW*|cxj z+OJIW`|p*DeY-w4m-a1N`*rz(KlzaKv+||TkBESOCkOcJ0WJslF0j;JJ0Go*?R@kx zVbo_kete2-$B!?P?f9|lv#M{$k9&~q_;DH8jvpt$5gT}XO8hof9=;8IZ+*H5+^Rm? z_09Jnm-1*?+?VoLnT~((CoJjdl}mou_0VlUr}iyd`#r{X!@ia84}EDL?RwJTWV@cU zkZjkJmXYmx(kilDPwFSz^`s%PT~8V#+x4VV$aXzR!n?8bJRSPp^!x_6RsFW>!EZn= z>1o-f$A{z#{^Y}yPp%(tbDE}yUC-KqY}d1P1xLgp|HS^r!n*+a-tZm;ZWUg;UVQ`P z5?;&VzU2Sbf$_DKKLvd$?{+@3bwSzAXZ~IImO$SdzFu&v@Y(hAYay5LS+?N|2gYw+ zxs*@4-u@u%TekM^f|K$mEcs#OPZkg#)OWkS^sF%AYv*ULlkNOW?0fSg^m%{$ej4DP zfhE4542+j++zC6wZxG(v!Cm#6|mhf7A;f?vfKiu=C_X2P$|Ly+6t@Pir^*_=k zzBl~$$|b$+e#O(YZ`s;U7~2i|Ub)z}`x|Xv(D+-n_6q^~Ub)z}`ysp2zGZ74%O>Ve zSklic7yEYqq?`6FTl+P&?xw$2F81wyOOp02Tl=>M>|6QgpfByAU9Y~HY}c!wA=~xp z&Ck&CXx9V8{f*`S$D!}d|Ha@|`EU1!ZiQUxn`ImR;C$UHH}U6w(&Mym_m`~wjC{eL zd`S9xjt+<-vsy5egwIsuVryx;#Z{u!X|yFFD&tka{ujK+P7@&*8=vv zaz<^2%hvv`0sB_|3iKsC?E2C>WV^mJ?Tae6>q{Rb+w~=J-K~3L8!nxrd^kDE^ywp)X@7zo`=;t&OpZ|hezJ3)`u{XJOn#4C zzFg(ucKDC=#CN#9I7=AebLie8a)S0xAV+_p_S57N)Bj9zg?uTwO#AncGfcmy$qx24 z#M{@b{0quB0&Kz)C4azh7@8{IhjP1~@KIsJ$Km?uGRkYcs(&oGxI!7%YZ~{fWL&JK z{*iIXjN!xys(&8YIZ*jJtACL4-Q@TI%1@Jv-7Hw za^{!newJLN9LLCve&IxwqnIftl)o*E^yy&wTuGivmOJA`9wz@r7~`wwxj*^`VN-t9 zy%)%FtR_qT{oOLo83@nlQvJx4%Da-CpDBNwT)Rp67;+p9f!JS9u3x6*O@0y7l+X8+ zFD576Rlbs3K1%s#b0?)_E#ZD6b*h5->uOt^)zHcGNkJR{Ato)10IM!qA*U5;6;o=6B|BhU^P5F7N zf2Q(lUTxR}{TYgC8r;!W4QvM3Lx?CBTvKsd*apg(D{|>{$!kX*Z0^?zjb$=6%HTjjE@BI#SYU->>Ozeo8|a*gt5$Z^VFAjck1eYsv-+$)gZ zB}eK1G~~U=E405gxkld2%I{bAW|O0oA4(20e-@IR2ULFBxiXXxMd^R0Xzwf`w{WTx^kxk&%=ln<3 zwkDUZR^HvpuTegN94#v!MGlkuEz`Y|t^T#D|9Nti`bBc=rz)49ESB(OXunJ@lJWbe zMqZ-*XUGM*Unj?IR`)tEG#B?0*p$Rd}rkpxr&LHq}Muf zbYGQ!kzD(V%D+oatXD3RGvxa%uT%LS$kop&zdcWvH3%eU!nSEl4JX-e-~K&TUCC& z)xS*nm*mo`s{bU}xn1S2lk5MX;hVaRhPU`jmCq#Cs>*v>`9sQwk?X%!UPP|`O8Gc) ziSZdChb!veY2@Nvs(-e%j~mt{Jub8Imz1w3C-8o@$nPT;9#Vdq9R0bn{C2C<|JrTJ zo!csBZdcxoT%rCE!srjSW`7W;yuOu&_aw>>qg;NZR@{#tt8)C@f%2Wo^2vwizEC-Bnf`sA9H)EVBuB^>3nPA4Fn<3@c@^*5OL!h8*T}e|)Wom&MU}r}^~qb# zRJk*x^%(F`ZP zrTULs`FEAyuyXPy+o^t~rsZ=xa^eAXKT3{#Mfqdo0{f4}|jmrJIPVDuX2m9$jh@;{ugq6vHBnSpvn_$ zf43!9*`Do7jLzRo<+Ng%-hvewqD!-Oo zB3H=aO;r8}xyt#(%jEJ=Du0VyAaAn0#<#@qeUMz^`=9%e<5&ok{5X{C+^pf7Z|&ct z+$)UyiLkvG6h?h{p7rH3)Q@m|?0jo~mb!lw{(3*_k6 zH9p@ZJDfjVPOf6%R@}Re9AW(KAQ$ga`6I$84>MUFUa@kH7vCk<7~dH?Y5bilG<-A3 z6>L<9e|wQ*k1BtdT%&vmx$wNokF)yR9~dTA$e$sXY5zQO;sLdfyX{PSQF%i7I;;Pr z@*U(V<&Ri>%KvEfpH}@h$aTs)cUJeqe^L2%O>31{P`MkRK0J%>0o)pHOPYny>A;jku z$|Iju{eP0f>@PO|5cE+Vc3^qfTNoD0?5{sAjP^gWr}o!ND6ej%={rdI_3R%Cl-K{J z=}{yXUQxc-+OI4BgdBTI`4)18_2)h-r~c!X-&FnQtp4lDuaTWMl;0)SD4(&b#;@{M zm2Xdu{8M=^a+&rICnw0CAZHlAPmvw+D7o;Ox_25m_NwwZM*NdB>v-=OlJk;9z--)r?Lf0A6jR`vf(j&r>7nzet8%AMUA zU+Qm8uG9S;teiYc81Zvh{tux%cAdJnh#X~jddXqNx8E}5IdX>e>+|FS`D}8cPwUV3 z$#IU4enAc&ukv4#oqpxtk;^A4zd(*0r2K~EgmTv&njV=28lRoX&T%R~!1B?`bIIjn zl#d}-mMagE6LIAnxxPyIOsgML{ua4*g7Oc^&OXZ5lB--_xrdxMTg&&OR{uS15C2Ne zysO;4r^c@wQuk((qyJL*KI9nF|1ffKh3d~I$5$#JLoRbXn2cm|TBO-&FY}krl%UfxBTuP38 zN%>aGMde?Ui{~l-m0aR|HdFT2@Yl{&`G?5WZ!6Cwm%gjKMi}k!<7|(=YVFhg%gD~z zs(%YP&ii#9C1=PlTl>6Er+pu$=Ot=?XL9BT${!{dj@AA6C6;l2p_H#7%eN?>My_wI z$pzj&_C<2-VRi3Pa{UqIo5U&agd62_t+}hVLxOqm*Aoj$fel{{eD^{4%-xJ(W+{U;V4n{x0Ma+m{cM zqkq)&T1JkL2gnZlqY2?na2|oU*y4QYy zhPU`rm2YEtw#H{ya+&j&j|wBb%1p20DX&h`{1~?O*&m!ncG#bOha6-7aXC4@iQ2z` zTw#BIC%H;~lq|o{D)sAGa_j-+m&lR(mH$ajJgD4ppvJdK`BuV6k2kw?zP2;vQI3yi zlbuVoJkKT9lA2yga_p;`USA-W$v-5QxITP4xq64%e?l1PSz&tqo$@;Mw>(J0TU@X1 z?@Uf`d^ww3{hZ1_LM|}97hCyH)W1)W<6K`Gv;35vKRLs4SoO~%7pEv+NiJd1E9rj= zx%!OSe~6s;lky+Pg}0UeX7#(&{`7-2e$MYyz9TvIi1I;JUR7R9t~{oEBDwY}<-Fx5 zl)phPQ~rHxpL`QJLHB=6j*(v^*EZAePB}!wo7hr$cXEOHA0bD`N0FUpH9V`yb-H&3 zImYxommGgg^{=x0obo;71o`*m@Sj!w8o9>wo^~k1`v;ZpMy@e`4-`iEdz0mF5#^D8 zX?gD@7cW*$kSiQ7=Ewz(|IfDa+f@GtR!+W+9O3-=am#GK>ehZz?Z0R3@2x!TFpW?2 zYsw!W7q3#@l^mygA0yW|zguGUdA>414lmLA^J#MQFl~>%V)eIG_rF6fd_eh1vP1iK zTKVPL-aJCC-J&kO&i?NP%5SFpamveo)AV|gT;Tn(?H|_omEKnQOtN#erq7<_4EHMzw)%Hz z`*IYyP97x}xc~fha{O-9zmZ%cKTeL`qw?3uRr1y!(eOq1{=y;T4EY!H`tK;mGxtzl{-EaX zqvYZTl>bC7ZKM1SIdiA-jE`yf9P)OSxxX`u9KTQX4<(21RbE7{laD5s?@{?`a^!yH zadIrG<>3r+oa>3_S~=UdACfEF|GJ)BV|#QDIkTI(_ar&Ii}Fk4`1Z>0k|Sxo4|I!< zYy9IkEALIN;~sjc-;2l<+)pn&NG=?zd^$ONu=2&^%pB$0$mN5SA0t<`RIZa_bZ^s` zhNnjV_97=JUq}ugp!WO8u|I11PLNA4D}TfCE6P707w=U2zp(aSS9z7}9Ix^}lf%3( z_DynxyxCl)AMcOdk6inX+Fw8}T&UbfPCTXlttXclzaqKF^t_y0WqSUCTq&q~kCNlK z??2=?&R@vRrpoV9|_5z0R&$F^5~#4_8X zSI8C0r+h-gTgC6lNP28fF6^j$FuA;w@=9`;d@?ys{jW2_E}WzC6D)sQ`O{>F?bTW2@YO26nq2y^@~_B|A1eQa z9J^ilJuCm9@)nCVd^MKOy~xq)RX(4bxmEc%a(PVoWO9}1`DJT=XO(}ST$-hPGdZ)D z@`>Q{a9k!?cAXnM{buH2G#_rPlq&`S4-liNSN3K`?D7kjG@+z`(j&g=v_=fVA zto$tHOUN0#C@JOZW^$PPYjW(HDu0n2|EhB5QVnnMeC3(s__vi0Ar}~)<>crYDjy)n zzNY*+a&d$5`Q-3dl&>a7zNCCFxpb!TGvp}K?;qsKc`Dz0nT9ufudbhLM=syZ^%Qd9 zKIQ$$#e0+wCD*CHkQ{qZGMEbprP88Grevcmj*J-|N*@J|E$ zaDZP9@S6di5%>GIvvRxj|G)tE1oYPinIanH-1|Lc>4hF5#WOY{P6&PBEUxl_}Bm^1AJ0|vjLt6@D~F7uh26$e8djp&Z@KAs=0iFo( z=L7te0Dm*U-wp5;0WK?d*!p-=fbR@2-_v&6kJke7EqndxyIp{11vnbu!vj1oz@G^4 z@&F$f;DG?I4e-eUo(S+41N^lBe=ES>3vfBWcL(_C0KXpK=_~x{xl4c#3-HGRyd=O! z2l)5^4+J<9;B^81Qh?76@OJ|IlK|fw;QtKp0|9;{z|RKwg#iC8!2b$x=SqM2ZW`ci z0=!dz_XzL-0X`zY-2q-4;FSSBF~F+>oDT5%0G}4%4FNtUz!wJiiU3~|;Pbj1=X^XD z;Q0=o@8bC$o(u6@gr|h(QasV)V1rLVk&VS;$1J9j!Fr{!XEpzU{b1xpb zE98DW58!za&oA*{n&x2X#Hr%>HJ*p@Jc8#pcpk;`7@ptac^uCZcz%cHDLlW&^E4hz zQ{<(yhXA?X#@N9}_Gd!E)3FFxU&z5+$!m~9VxhG{?JRiU_6VG;dK8WXH`1d0`SK;{y z9!#U0Yw$=KKZyr_1$iW0B#iRi`)m(4{{J%b|E)43g&^Yetz5D2uodayTzVv#-{0x$ z>r0Oeu3EDAnE39Krjecn~hACt_E!FH~NbJIX3`u2WJh+8brpEFsvZ>Uv@qA|7hDrPzM$Au5 z%^x1HhM!EOGV?}~V{2Q5b8#}4_r`be@K|c;_-KDB+fqB799*zIKR-X%BFc*)Ol2Ek z)R1YWc4t$`d}`tFNNOzUX8Ys{-n@(_v$<4ueyV?b&4RH!;+M)X5meGMhWKy9mw%(x z?A6hT`!IfDMayhFHJF6A12!0@qL`v%7F8zO!E$y}-rMa1bFIPiesTykV=e3ajFndAU!_dp-& z(E!v2Ml+z~SbA)Dz!dnt)hJwjTDk^C2D5#ck?}0TJdhqkJAnM`Ta5_9jz^Y}qUATr zCdbyKTBxe|2pXMM!W3G+)?Q@C5vs|oxv~rr9MyGTB#i{ff!ZH-{5#g)FgGCzLYjp=A#d(ID*Pc)4tJEE|)}92GZl=wCbeCQhk|J)~9IvhWqI? zns}-8!-!*Y7|936B+-)iI3+urPtiXQ^o^zaQvJ!n)s7U5zSZL+BgUz0a+G(*eCNs|Gb?#remVNCI{nQUDMc!VCb58)a^m?WUd>;z(n6ft&l z>8u9RtCb%f?V~^we_%+8JQO8%__sfsPou8Mx16bX_(Tl@r$+k*2K$Cleb#|S(U!pl z$7HHWTPZAYle7{ZHIgsJXp%vI6tYIi07+TYQs;rb@%(CJQ8sxB0x>Xzz@YOm-eA9`jP_!DD?V$HQYu7#aQdT`IgHk5qI~i1?0=XDT6A&ceHul??_~A z|9pnh05%zz7Ew({8h$l`BHyg1@Fkh06Znq0r55oWh0y)(1_p^RhzgF;fP`O?1mi1| zY$3OH5lu9uaIvZATRoD5S7PGNgP=*Dw9hD1c_jGYFhV2>ElMbiJ=NK$d06@czeZoS zZ`_P!QixeVauMlB2?Q?Qv_HI3d!e5uCAzAs-UU^Yutn5DzYv`VS{WZymZb z3-d4}TanfQqc!X9mRhOG-mfy?m+pZQWNcnajd4_mv^rbynMfK*kuqBIQ~BfoYAI=4 zhAsNtjPzWP8c*{qhBp=#nlXzC7G~3<{$MXkXe!Cnq%)fJh7HVTfCx9kL`sIDz< zDS?uwpa}WPikSF{i)-L5F%3gsp@Ff#+=zjv=m32g1NIgapf^*2{+xq>KVM+5k*pD^ zFB@Rcl>DxlCkL!qi%dXccGOZc6Evv{TyDnD>ryM1_b>-x=)wdtJ3W>gAC>+CR=RcM zA2&UqFuX;3)-3~Q9R)TF7Y=80d70O$P1SS_8^x7wcqCf$Y2GsybhybX8n>X1ws)@2 zJ!8vdg5fesruHft1>jhNv2xLvF`M|n7U=(8qNOJ!~Uy?(72Lfsl{_+{3C(0HYLQzyH6S+&=lmn9qVI-Qwt`_>i7{t;#a zj3wHxj=&NuM-9(IsdG)y#d^QH3E1c%#C`O;uGSG|VR^u@Z== zu^@%NrFze@*2ZIbS?Q4JjUp;!U5#f65_ySVj;W=m721dW!bFkKu#4BcX>{?o>CRC-zCVo~Iz zU55~EuSip@`Lg|yHBA$XhGel!m}Q9;(Vd?f@ij^`Y_UK*xrEDk#;&ghgnO-19kS{xhStoE*K#1{m z3i&DPVG?9$p!Z%pJZjTP4D6_D{=ZoX7YEV589kQ+#5QVY}B(PZ8;0F_3~3{#9RLQ7-;%%x>! z-2&MnB56=485nv2IX?@eR|fF->%fn|yJj*oeCr+qR0|ts9<^tdX!!lkbzL zH074jZOSb*^*8lm)-&H9E;DXGnx&Fh{*|PFj@d?W$!$bLB;b}*H3;@+##D1jzxwn8 z?Yn5GkqL-rj$%WJoB|?ulrH92k;WQqZi#KeVP;y3md2*;=onA*@@8QJ8(}(* zQX>|epsA_RjJnvgRX3n_l$7hBSqmp^t!b=uz<2CpnOzMHrfyzYFLf;2i&CU*EYvx; zmT$gc1`MP}Zd5!PG{$LSAiHX5>-y64(wsZEf>g?{JChO4xkbv5R~O|HLq3GupSoCu z8N>#`7&e7`Y3H?yvZyrxj_LrqM;jNgOc&hY0l4+fCW_UO$=pJ$f|$JlMNeEHbUnoP zAxyIo9FFt71_zj=@R}Uxnn+*NfJP@P+BzbW9?#Waxu4G^VmmAlZKcqH3H%>RHvGEm663V{%X-ybekUe?`MP!xQ%I zYBNx36s)SI$(DZ8P9>Le7SofPhqW-bkT(!(C2V+MCi~Tc7q0%NDiv@y0e6BqTa(OUXv zGp3#Nojx#*HXD0f#rhx`tog}2cBfD>r0JZS!5~W8HbEJ=YbqGB?Tdj%`yzH!q_Jb?F?3Z@qx0aV9LPX8 z&`ixA&SgeqOVNjJqCvy$LOi22eDww{HHy}z5!TdbV;~33-XYo0R`)%NeIhYSf1a>m z(ynC|LM)ESl*QTvdM#sbXgw@y2AKh;Jtzc^WL_?{!9>+KASRQ{9VoJO+8~w(U2Ex4 z*)_6g=L=BNVP8PV#>Bf6uBr>O$u$98w_#Nc!3D{@JK9v!xUK~g?7&-bdGeHi8!ND5 zu{pSG)L7m4V8j35m@e7*2+-M9LNTZ%-U=iTIe-q2XM(7{1)+F zs^wG^8^bD>0*Tc~sX%863+|W<-#zmaA>T>@3{c9@i?s;2H*Mv6qXma8e@csx?XBz~ zGO@ioffxX9Wc)2jfsv!H6#0zYOob`tIB5NYx-gQ?UNZt(tyN^*+^fC?1w9iSj!ipIbf5^ylE4I^*FVCoAWxKTL}4sfgRVzohz|6!Wx z&M2135`-8YgL4JxQ*y4ryBFJ7lJJ?D?$I*=ZWeNVvxUIcgw~=lyZbY_m_vJ$!jo$? zh62qxTwL`E7LMrQfYA}JX`p}vL~e)YH8)#eO<^;py7bdp<|!YhreX@)h=DcH{eLM@ z?y{C&v|=KorP~;H&+o;mrSVT0_0Js;xh8fN?ANnRKh?%L{8jWc|1@Z9cc=kYr5E@n z(hb+$nHf(p7z^k(B<%iZ!4Qi=>}QM`8;yozw#k-b5Lo+U9r8P4b#(ozrL3i)83?y_ zacsb?bQ&%m7!J5&dX83RzSPw&C6L<-aK=&gcv6G@JhkRn#19D8>-0&c)}HiXCUBCV zfu)&eQ^c6}j7hs@BFqlc7%xd?u>|dp#gbtz*BA|dS}YySr`Ph3g^Gj6Lwu(GSi~3j z`yQjpPK@7I;CK`l$kaq8CyTM|kApgmh_`U2cfLOoy%RVpKH6kcnsvXTU7R!C0no@d zJQDVGmqv>_t1`iDsL~MUs2gTD6z}&;4k4KS#b-5m&>5YO@h96@Pf}ip#=M1fudz($ zaX89#0*%~!98Ma*8i|g1)g@g^ZkZujGZN7DU)NsP+^fxIscrK&B6l19f1~4V{r`<> zph`7|n*G2e&S1RlNu{Pp$ub}(9!(Blw(Th*UXR`VxF$Q8F6aQ;BWdMMD?QIa47I%^ ziFXS!Je8wHaXCzEwi%=$^w#jKEAp4uEE3SXEfFka)||_Mo>XEH_n7!~@E6K|cfu6oQH^~?%e`z71F?1*%2!kvLA+Fo&a3e)d_#*Q#fC1GCR9&j+|Um(J^ z@B!{-mfN0+X<*K4j4%vJ4xqo#qGF6ZBN|~A8=p%H#w70>0}`V*=36QA8!;o*(6<+9 zjGB94F*YO4k@3+necQ$q9GdGm!E4f30P~unx;O0w&9%1|&Ue#?o0iJ9Eqsdg8{>6R{=hv@AhD?-r#>krQ}}B`fKe#flG`_huvHF@vI zwza)$hxJu8X$)Cw$IJ^VtNnv}O{WarEo>Yk>~&GMI2wE))um%>=@5?mYu~Ag`Rsy| z$2rJE$W2G0N18!L`D91?h3>0KlBN2lQchl{u&5(;k;r=uH03%UOzqh}d_^%wez~(E zngkB=s42=B+HRAB=H)nb77n0|k=9%C%X$V=tTIe$1G3hZ+%*vOQgCTHC9m74ZzG%t zKs**m1hDJ9e8+;3wKZm5<5CyggO6|`*GRJ*Pt?HFTY{_$UNi5EMp_v(#aJn|>Ei9% zCY3gNxZYESaV*0(XI3NAg|;wXk@gu%3L!u??t+cI0PMpcIG#%EIlQehhE`SF^#?1< zHoyLA5`^-9f96LOk=2uK^r}Y79YGasWT!_J8l6_)RZ`?PH74IBPzCRL3+Epge#s2N zo13bu6*%yosOyzVP2TyYGm|^F@u8{uX@^0cF_I@ATD9|PZ?eYKl?Fr5j6HQ)AJT+izv791s%c_BV);0_l z*>4ctN>9$Dwbdu)?7p^THU=1~W7|(sT|;MHE%NRjt;8;zw>vWIc1UJgBO~x`cSXZB zTC&1j)Nsx0Ql&L$^f{|!F%=VeNXB^_+8E7Cr{%!3GCkS=!27*Xm^MwhoS1Taj*Q$L!Ni78D9wSyZ!0ELvf!C`@9db--H$ zI)%Fk#@4jR6FD0==*>PEDJ8S1V6KX>o&IU6tHI!cbsQ};nYIeE=@nW81JiZv(dSxA z(0?H3yYVuSmU;R#whr%qHkSsxwF&d4L{#IZOp&($TKI~!-KH4NAC@Z|(D8dhfo)X0 zvd9H!6E15ao5S4Hr1`pFnwrs6lcBr}iKfa}@+Yp)g7ukzTufwcAg}Fv?a8?)yw1lx zeb>2hn7ATLGjZC#VQ*n_L|-ED*W868>2$U^m1KulQpq1CHEk@v7@x(E)zITx!_Xb4 zx!TM6PqGX9u9@~^-m#8~*wlE=Ikhlf+S~9Mle}KEY=NTRGuRwQnbamkE4T;^gFeQX2y%|vDtkLYn$pJ%({cMP0TzCb0#)0L-FD;*_t#J z6=>1SUs7N`NuhwGh4&`PG79iS4b973RO*~PKgU2cOqbymu@O%O%hs;D661HMu{Z3x zB8N0_B*z}0ZeiZa{e@|)qn+Z*ck$LW_U=5X9NWllfw8w(==udaIoG-5j6WDO8}12(8mCbnvQ+CowQW zYSAysfJ~cm$+CvJSu)HWGn^l?$?cWNoJ*RF;OI>Ab21xPnZe7~Eu`c9!Mb2pH^i5@ ztFh$T(n`+E{N|-rr?V}(O4or_c1N2HZ9Q(p(wYQoHq6Iz@``yYN5)&2nz$_-8P4<$ zuknoSY{mu4jNjZ_V&sLlroLDVo2#IhHq}8f4A!`myH&9&p2vRfx+J<#Pf^Hc=Z)jM zf|z)EY^*LK_nB4-=A~eFKdh;LNf&=pbKJ^INY zxt5yUHo9WTO(sOa=o?AHf-zf>4iwouUV=|%Jn@4wjr%}6SC3@uZXh~g?hEppy&(j( z(R1&~dO=>iBj0sV*j^$sF_Doi2B)uk;as_3#Ox!PE1nt#rqayCQDn3K-@Onza{5BH zn+Or4fwcnWPAtC(5-p2SnX^(X`^`COdxa5NNL<5(8_{w+osB#jk)^W%x#55x=7Jv8 zTdfvl2C-9+&{^H8fe@!*5m@;UH&EQghM94!MuO%& z-U|8*^g1AVb&6c`VeS?)7c?PESowxq@D|B0p0e91}Ek1M!DJdP#?pSU`21eJE!oE_4z%fFKUHV<$pMA98r zP?mV%n%_)Q8aAkzJw-CP4=Z7MS7pFl0~|2S4vL*7HzslVlq|JP@sL8|xfV*$930kC zb8^nq2+VV`6R?Fg3zu7&f+YX?%B~p5g0NB0l+LEmM)t#WxgY!NCjRD#T)aBen4rLF4%;Qx*)PlTi9maF!5;;ktb*pWR)-__O)o5^HWDtQG z?>E=nNvkt4VKN(=Xt*H|gA&|#$J-K7UEu`^8P4G0sytNrakL8o(=kp;lBgkQ-5PdH z5WEKC`m(zw1LmlR%wXDos~~EtZ11C_%FUAI_5!DG?bvvJ2)<{t!#R}fWFA40t2z43 z)f~-I)DUxlow+9rm&Np*lFknH%jliUkh0Ie!2h0hR*yfKQGkfuRSkOtqFG|MyrC@{ zd+s0tTT611%V$yER&f}N!bRG4{6bg)NZrFMYwaVyFas$J|erJr4i41lsd2(mS9{AM}qaFjWIv5+--BVwbWL&D6G6XXH7gi!< zwBWJtzOX;hEpsHUy);babcFlXW5Y$`x0ygUPOBLQ*2{~x<^+jR!Pz0S56DX110l2D z^}TkqB=3QZt(BCRqTfg`?}YsL@t9FNq!n%VFJ8B$k+0kQ(8$N_MiOX(g`PbtOg?XJv4E z?E%JFPm&`Q;FwJ(ql;r!uBI`tzRB#vtZu}G=cUk{g`zIUJ4<~ z-RSh?;v)@_+(X?xi2QUz05=;ULomSh1Od#AtrjN^tO#=z+0XR3fXSekd6zA9oFC9b zRB@tJL~hIFH*#mIi|o7WK7VAM#H(J0Wrf9r6{_O7xad>1*TwY8dnk*rU7A9)dj~LF zp+&2ZTOwD|4EErxwsFv!8;f&K9>>vT_f;0_sZU2*6jY?8Ib6Ddf@~ZynRMXchaG}7 zd(Uh_iji#4!ql&JlngigM!uKVT=(XpV@hLm8c;U-!TmURh8EuMOmC|33Y=-~^i^1M zJp`%~eKn1!=bc>BUh<{cU^A-5P3@>#P>uiMm21+%GgoG`#XHxe$z^*iuZ1&KKw+jSu1Xjl4Ay~sR;y@hduEVk zN_LZz7*Dnq9El~wChcWe+{O_+pM}ME_uz>x%$xMHmr8mT`L&W@m};id7~ty_)JT2z zDtR-1)@$S&*TfH@#>u(>YP9tBz5k|k-m^q*_M zIjl^XU*GVmrPp8u$pl$;mCzjN(t{pV1iFD)jSkX-x)NlP!S^!~lc;coY!gs*9>4|vvvC`H1ALMLy^@2xaIpVJE?kGCCSd`{{dE9WAln_XIyEujX0iZI!O6r5 zrn;vr3t3nLH;P$=Wnvr-?^A za(mH_SIJ!N<26`-U4FUT$7|-f#D~Usody^7V*-jD4!O)m797oDZ=ea7ZGx@~>2Ll3J4-n2^hW%vR37*GDbRC)fP1 zTfonO4C5DP=z(V`5INSfEakS&(!tBp&l0Q{>c*8@(QT`_=+6P^; zFze!`PsE5BW0u7zJSYbWi@Y$GFKDP}E^3iSQ!ckQsI!Qvw!(z4%wBNJ%pFL>`!qtjFb6*Kz}kx>X!K-9j&5h z8EtjMm2a~VPpp3$Aq_qnk34czhAyot9qbxoIP2)E^dWRUZu=#XDZm;8ne zr?B4MiW_(|P5jS=l&|1&c zp39xS1y?W7+MxZGU4cf+kE8vP0Cph+31l{-rGKz<7<7-pUwfO)HcUrd8Fb&+!`2;b zv#p(6Z$M{8*px*G@pDcHp3lTI=3WytrskX;cD|+6#G!O^F{#_Z*on(*8U2sSy7Hu= zK7H2+4SHYN{G_58ilOzL?MDpD%qtlGi;CVU$j0V0vyHQ|;p!g6af52jO#80qVcfZp z+C%f_Df2ivgWrNnuaP05b|PLAPa4>c1wFa#q}_0s9d~v??2pal)eg-#bCiLn{#2U$ zbQ-3$IcE-bUb4A4=)>`AnscxLyLQe{YIya21G+K?vjDCe$gEv6r(cfB$tWN<2WcyF z(fv4aRcTP?qgl^V1`nu8$9BYwL=*jUzmIUg5U7M8+g~$vA<~dK8AohE9l zJ$^_K+!nyJV|IZ^oBkH9uGG){w0V60g6Q?cn@rx7Em_aPauJqU-@kBp{O~1}Z!N8n zR0s}QZvN1ywtJ>8dOrgwYd7kN2_c$FEP`PqY<~b%JHyFW`ZhN2H*>B3sa}@trdj!U zznV^uAKqfsFm~Lf&i66T>}slMf86T#zp>KF^;PLO-@jmbJ@FNO3Uqb1v8en0g~a2B zH`f}*|2yl+wg>!gE@pYG|94j&w7vL$z?jk#*WmC=m(t(AET{Xva>qV0^KUl*{_kGS z)xhkBa{qou*!a;Z(oK69lPsz-jj&|oUze28y=-#i-oF?$yzoU}WAh5n;A3NI?sVb* zeAO`(+j+vmX5S-<$e)oN;6x{641g za6df59CknBk1xT^{+kZGBq8_H?X3Taurzz>3z&-kU$Ya4Q|xK%dSGmMYU+P_zs4Of zdDE2pQf^DpSXgLe%>QgL2(|=`J=VN=W#a#68x`{}&*p_C&(aC^Qf0yF{foBO6DjR> fydVn?l;H%7yJ6tUDVt>P*R!wizq{k$$lw13PMjyj literal 0 HcmV?d00001 diff --git a/vcpkg/installed/x64-osx/lib/gettext/hostname b/vcpkg/installed/x64-osx/lib/gettext/hostname new file mode 100644 index 0000000000000000000000000000000000000000..4c031d270efa0fad9b050378aa81736e305c06e2 GIT binary patch literal 140296 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 Qry*2&|Da08|5_`G-#9f8-T(jq literal 0 HcmV?d00001 diff --git a/vcpkg/installed/x64-osx/lib/gettext/project-id b/vcpkg/installed/x64-osx/lib/gettext/project-id new file mode 100644 index 0000000..e20bf11 --- /dev/null +++ b/vcpkg/installed/x64-osx/lib/gettext/project-id @@ -0,0 +1,86 @@ +#!/bin/sh +# Prints a package's identification PACKAGE VERSION or PACKAGE. +# +# Copyright (C) 2001-2003, 2005, 2014 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +want_version="$1" + +# NLS nuisances: Letter ranges are different in the Estonian locale. +LC_ALL=C + +while true; do + if test -f configure; then + package=`(grep '^PACKAGE_NAME=' configure; grep '^ *PACKAGE=' configure) | grep -v '=[ ]*$' | sed -e '1q' | sed -e 's/^[^=]*=//' | sed -e "s/^'//" -e "s/'$//"` + case "$package" in + *[\"\$\`\{\}]*) + # Some packages (gcal) retrieve the package name dynamically. + package= + ;; + esac + if test -n "$package"; then + is_gnu=`LC_ALL=C grep "GNU $package" * 2>/dev/null | grep -v '^libtool:'` + if test -n "$is_gnu"; then + package="GNU $package" + fi + if test -n "$want_version"; then + version=`(grep '^PACKAGE_VERSION=' configure; grep '^ *VERSION=' configure) | grep -v '=[ ]*$' | sed -e '1q' | sed -e 's/^[^=]*=//' | sed -e "s/^'//" -e "s/'$//"` + case "$version" in + *[\"\$\`\{\}]*) + # Some packages (gcal, gcc, clisp) retrieve the version dynamically. + version= + ;; + esac + if test -n "$version"; then + echo "$package $version" + else + echo "$package" + fi + else + echo "$package" + fi + exit 0 + fi + fi + dir=`basename "\`pwd\`"` + case "$dir" in + i18n) + # This directory name, used in GNU make, is not the top level directory. + ;; + *[A-Za-z]*[0-9]*) + package=`echo "$dir" | sed -e 's/^\([^0-9]*\)[0-9].*$/\1/' -e 's/[-_]$//'` + if test -n "$want_version"; then + version=`echo "$dir" | sed -e 's/^[^0-9]*\([0-9].*\)$/\1/'` + echo "$package $version" + else + echo "$package" + fi + exit 0 + ;; + esac + # Go to parent directory + last=`/bin/pwd` + cd .. + curr=`/bin/pwd` + if test "$last" = "$curr"; then + # Oops, didn't find the package name. + if test -n "$want_version"; then + echo "PACKAGE VERSION" + else + echo "PACKAGE" + fi + exit 0 + fi +done diff --git a/vcpkg/installed/x64-osx/lib/gettext/urlget b/vcpkg/installed/x64-osx/lib/gettext/urlget new file mode 100644 index 0000000000000000000000000000000000000000..ca09122c15bb0acf1c1e358c2c3e3bddbb3f6242 GIT binary patch literal 162800 zcmeFa3wTu3)$l(9i9{}*pnwrUf(9jWOB9qCA{ofY8JH0&ptg!=5yaLj%m7xA!I`lf zj-zO$ueGJc)(dU5qOTxYE)xhzK-74tf>^*SXB;n3lmt=o|E+z_T!Py7{hs&zKhO6) z4`}9`eP3(swbx#I?X~xL_3O`$ba1)c?OiTcJN~-yS6JY3#azX_xm>64r}H;;>IBai z?@zp!jF;H9|J-eZ-y4#8`qRMFsgt~yPimV*l@A|PixbW#tNb136q!0TIDK9)TmI zYg0D~Q>RY5`KH-f0v=so({*-zk9N0fk#HOO=gC;UAnb}Z-N6~i&I9z|DJBsX5@D4(fH~MZG4NJ`XrnS zpA(&V2;CNC=$46gxe`awjj;MxZ9md9OT#*K>J8USoqgMlKfU>eska1YIsIVgRliPs z)#(C+bKydkxbDx%K6UD~*95Q0M%Z{}!_{>*d@G&$B%E7cHmChIb?Q%NXGd$gU$eRP zHQM!Ay|Qs>P$kB}K9eZ@dgF~Z-;|Cx8ouox+4YsBGw{rX@96rn^3w0Sc$~M!XLB#5 z+SzS~(-qmHVBhU_SnA2G>vWeZY`59YRZLnj<(urR>USUEeT?}%9oxAIyV$b3h?L7u zY3E8&^)3E(uJ90-s}pe(oN_PFfc*WD@D=1);>3U7qd;%xI)%JP|2u(*V*WbwHzYKB z){q;n|LKrxZ@b}I!t(D_{sfMTx9%F~*?!K$_kZ}~uBY8|@2TeySInQPvIC{vUDUgx zrF&@mvq>xDFa57S_)9$^zjOadyEFNdG*EE4S|5Sse(f4E@wVB)={FAXU;oot*UY+Y z$VIcRxpDg3n`ixe_K?vx&zgSG&7qrM#OrUqY4D76%8*N^&zeol>>-|`@=)z}+Hq}z zjoklLI}@kRnsfcM>9c>hm2?h)oqy8KaQ-s*xMT!%$kG=2UXRG0Gx(grkoo$bk}Chc zTkb4o6yQtu30ZBD3?7wRkYN!ncFI@ZaPu|SPM*j@eeAt1r-7Y=eeb@lE%leN$ zaY!bfFOIc(yvuK%CB<-)=SC9C6T0DTDsQ#!dR$VgW=et88(c1byy{}!{YI;9)LV}x zh%s8N5lNNnqn<9873Bk}8Q10ui9^%7Hw&jxT5=trP$`9(sMyf2wH(l$L zOT8MGOZD%i6FtU}SgRJ>ZkJypm9dI|{}R*zo;Ta#|Y&Ac6Yy zO!_Q4J%1qSjhXazc5I%+KAVaC6ySlnzr_A76Z@7OJ6U4y&cr5&wIL|9>$+9aXGnT{ z*dKX^iks!3;CX=DHAb^_OR*r4f7V!e6w%hxLi;jRs>^FnOKjH+N$)4K6sqL8B*Xuc zCax*OG2D8h54lV07zsW&*UW#(C#7l6yFFaB>;c#zROUDPttHxL_9~&Ru>xUTZMxH7 zR46r&%3-JytCjk~Rnw(lP+OdT6)(|5=$0hd2~kc{xU6gXqO}#K?5;ww?GkE;?cqUR zxb(=U1$um`%3~ZU-@+j9mT&o)i~rp6pLJGm$y8SsOK1=BfBvES-LCrl{rtM42`&1( z-Ru8JU+PA>spnM4ZYrMtH#;OP0>-m;$g)F^+o64S=#O@&#SZ<49dhkc<$i643JCd) zb%hey5G&&GeOP$bKmk`45zw)&!hK&5iL@-xV*5xAR}BISMY%J1QIzX$Q*O9wERD`i zHTwRKDfby;CYN%xNQL_R7x-0_`-@GvmsREIrs{HNE0Q(DgjWAuoPXwk z0M5ZGdN4K&{K8e|0E0`5)eEv_eqfAnp>TEu?OB&1Uo-q%+uQ9*{$3SoCxwK~4&SGU zb#v0PF*v&o27fCRPWV42Rsx|d#QO8Mt*xy#r~Qg{>hn#0p;z!u;7h2w)3ka%r=@uQ z^>)bNvYB>BNCxE;do{#_ul~D~D|6t1XwjFBw6=z;zP%UxLuWv+UKgbaRz)*bzx6o; zThdFWrRMU3jMKGuaTYY8Ei!4;W7PTM3i8y6=_$y1`c$_oGCVJI^^0yY73mA> zMBrTExzcl$XX=zqKxBQ+ktEAU0SP=pK%S>i(Tp@aX?ZnKU-;=m3TCALVe4GVc#MWv zBG|RYXrXFJyTYy*MzMYlz~1s!U=HpM-%->$B(zV@coWHjY$3uQGie-4Z;p`e40V*Ss66 zwbe&Fnztpjeaa?^IP=@Y2||KJ^r~*uQe|w5wltyj2}1(-^-#N6-Szm7TElmAY8|2* zuLVDq`gNlTRxY?=%BD8ps`)^#Xb#qtZ*k!5rq#qpZHSL5_C#8GYNI!5tGk^bF*WhA zDyl{sz15?weyyMIZLmO()VeF0f(@ljQ#O?+j;>zSA8B1Mx0`WDH@jao+U;5+=YP+r zSv(@ualO1+qv`kZEimQMTBGsk3WT27@~5ft)!FjATJ8U<@)>;(9_r88Iym#AQ8s6y zJo)3RRvwTcxoSBN1o#Rbt~^ob)+L(NSY643gf%?ugvXi=OTuFb9wapKkOX7ZwUjmX zN8W26_rPiK2?S%cp@Dj=HF(zI4l+624b?^r(PA!b~T#ol1PwU5JGLEW|;>BltJ7P$1Qfg{solv-)7Ml$y3O?Oj7M9ZH zQ!{x`=@JRqbuI2dZGPhufpr>9s%k<#b2Ug8ob7e{BAeYba6oU^Bm$zm)u{CwGBA5C zk#XEjTYWKumLVEx;BS*Vx+Sz%kF>gjUHNSnJeBSaU7GwBj#x5caLAuL9~wL3lkf;n zc)ojZXqYcvQ{whjG-!8oHqYgYG(chKc{ot9SG&6dQU3Vtt>N2|U7sXdkn;*ZPk4ch z>ZJ-hW0hd18_TMB1PeU%9fnX1W4(p$yhW1YQ}c4stA@;qzy0n#{?Zl^+=E5rzIBn^ zgFdJdDBbIHV!*vO^=fW$m%IX6s3G|j_c?-9R15hxk$b z4L|sdf9OVY@)y**hM zdtIJI9l(AOEy$2Qdjmt&#X>6H-TaB**5x@K{&@aBd01esM5m#~y03Jzzx`7}n}e~-`E~oXn%q%ptwz)J z8Snbsb=qAUgp!7$q`%@Zk-T$yRmnfA1YVSJ{2%0VGR*m)ZF^939?gu44;|<< z2!Wgtv)k|9OXmwP(%n{fdIUnkggQL!mXOV2zW9|TZcq5aA)&sYR5C;s+zNW9_Z+d6 zTn?{h(ttz80>i6qF758OAiKZ)IvKC_e4ZZfSBsR-j`trCj2+aXPt)nnXbSbUPC8L^ zvmW2eIHB`XGos(mQ=!23G2uB>hFC7QM~GXCJtC~Rva2+KME#XODy%i^DpqvXIgkW) z%X5Y1r$sE}vT2n3)7KztY)bx?r>HoJV^ZzG%@F}g)aezQ=5!W$rpHIO(iPjWSAfb& zXpx?3<7#4cI7%kX3$2&NvS^Barp3N!X>CoN5Amea#Ee4iZAzyZ(WwL(yipZgO~Ly1 zbm&tu2K}We5!tALu$pxUbY*gyC~`%yxZil+azh$_1{Ni+kjb&zsVFHwk(SQEzU4bp zJFSI({!R_VG0{J8uNuM9fZ_=m zi{-B;S=hO(vDE2V?T!pTJ#;Jh3ZiNKmHM`iw8!=#W+T73PLUz4PqbQ#?bfu|d%$41 zsEKNVNGE%$H(F3vgih2epwJvTYm5vx*;yaaeBi6-*0?uF8v+R*~v-dpU?P`^@1As;?>dPrJl>Tz!Xl=EB1erv8X%OutiI5!O6Ah*hzwLsh z0kNJf7eFnUb~6^rB>+5PuoewbYcfna`pg}k@Es*6G(p6kFp#1gbBh^Q6Gug@cK1bO zXQ2R!joG?vea)!VD^)S=?#(jYpg4zbL+AMzsz`YU;ix7pt|mur1=Y+EtHR_m6seF* zQbc4-utR2`m`zS)DBVT9wXja4=m&ZbR- z2K7j^-(-uM#<`V37WE^dBG<{RaS< zIKObFovZHw|BCH*3`pxfuZ|E991KEre`n~plD}XmW&!XSn;ClZeqt^YUJ=1&=I^^x z3AIqy4f7~q8E~C$G4o~5L}(yG!uo!mA==p(TOr9E(ib|U^Za}qjGR{Gp$c4rMfC*B;79X0Ih71)%0FhpI z@0B4ayz^_YwABxmC)Qnrpt@q)xJPLpTJ%-erH!!l#QKA_l$#AWQSsV$i#bT%sN!hY!E5*f@ zV=smEirp-9KRQ_$(^(3CL47N!i1?T7_~k+cm2s_#$p7jbdwx|bVzCeVmDNaQ-<%aO z04bu&Dk3Aj&{>d2BA3uv8X+eX`JPE5_7b=;VQ8@lBJAvG%X%BOf}N5hiL)jZI3}hp zT5Pb&l%7F+3%_wQ?6mmFM9YHgSCmV3lz=^%q3k4okLF?ZqK@q7pP}q4T`WOD7_Q9w--*54W~r?=?1A zmyt8JGjw?aWg)*g>}RC=%+o}H*eq$RO5}Y5??e+kRe}$xq+mzuWL_e}j}LVLkSXYD zyRG@eC{v_$4R2^~*7)OciKFJ1G(FP$eQ)c=0W>1i+87$G)ekn0p|MVB3Z5!M`&`1d zNDcNI9loPq>kv$9sb11t5lLu?%#6XAva?q}ICXV-qDEW2PtseUos-^C(k;TNcI63X z48Qw;9v@L8ldbhjffZ%x%CyGG6Sr-ixV%Q$7$`@IE z=v#X2eN=O(ZSMd+uS&%VfkVfVr^mg8JR9{jMYK@HA0a3hNMM()F^>3+e^~=17W>~| zyCJbm7h)O{LS!t{*7JGp^!(PAUWE)&;{d~oD*otH!A2STW4|LL`(L{8mTqjd&Xrz{ z=U?(5OzU#Tb_OpLOFMG#MP(=4Ek^ZPFalAHO@uyRW!?I?ntD_%@nL;s4WhQzUIQAR zIkd#yCj0=L)kfQ|i5Am!F|hQ=K}Q+dfir`S?EQ@-v$dza+uk2d?|;JqvR@J~8a&3! ziVwb&C0o1*g3|Hl(DB8pkK@7-biB<5%WO7y%w~h9Y&HnN2J@Ey%i=*cX;p{hPx_S% zTUXFiQ!!}f9Jh->ZdP5!3kFLq`kC|w+}m9kzYsOZdQdTi7JY*hzcFkOIctnTgLxQJ zo`ju7sM;&7N5KVImcvd#J4Uh7FL;OiyC1MY$zi82WyjGhvYJ$mVGpr7%dpc-i8J$G zQ(1-s5>-SbLws0J9$L*lSg6KG!n`9S?;25{96np=aNio17yCppuvu@VIseHTTS0tA zS)lTNrmB}sk*3gzu%7fl&KzW2&@NY`3jc+xZoCB{9+crQ)CLa7KDl3@Ed;n%SOZ~t zPp+Wk_u0>L*PGIs*VyJY8hpkpKI1EP64*b`4Mwgpc}=jBSeUR*hiOk%ZQjNjV}4zD zez7aaro!aJ1~qmMT3bNhN~kr@lrq#+VFfG9MSk|Cj3ymv#J^F1$zaWu>O)R5V}4*zsSyfs*C-G_hVxQ=JOjf{a-|IeSr|AA|0niWxh*;*bWfWfV{Qgu+ z6#3}3cvbQSI;ERS8&t{7W-PN{~0k1&tI_~XZ&n$@P1fGG*sJT{gOi3 z>ik7WGcm7XS0h+uNU&9ldQ>p~E|nTOJ+jXoAK_wG08O=aPaZ>J0@HSCG9ve@*0M+yMNZ-fn3^P@}*gYxu>1EJRfu`R*gzIf+mJw9|_d8?G~c8DBDM2GWL z911av^Y{Hs26X;=Jdo(`%VS!X%Wjs)p^cGzKW}cf{^C^&NU~ObE0+9F7p2e@Icm5y z@Eb6}o*?tXMB&YFRWaotyR2Zr@r)o7udt9%57BL5k~^%bnstW4HLYRQJnl zizm?HQT_tdmmn7qZ=tO9+$aH0i#y?IY_P8rk0kOip6Rt#JIBR9kB`o4XfGg!tNtQoLeDg~m?p)jnisD6 zgNk~h0hyGJdQe3zYjBAevvb|AqJGt&u2Qw5?v<#Zk-Fa+bVx{AWBdDo+DF$Z)IKNO z+Tl@@KOQ065!pirw6;j@Fjc4h1C7J10e&uh8$36=oW_2tKO{yHqe~-+y4l4m^_n%c zEynKFCNuw8RV4Hd<7*RQh0>=odPE*Fw~ZxsvmJX|@=vst8GdPz+~r=WH9iy`98tgk z)Ei`$mVUfOSY&n8ovNnL>daWol$`WKCC^eN^Zlyf(2&f)%#`f;LnS|hhT$p^kC^+E zs2AenZgK<{RAUTC1s7> zVgN{fsk+pbe^#^XKgFwhiMTvN)n6j@2hR;x4NxyN;i|LM%j9rXsd||at}0V6bHi2V z%ZnCW1ol`K;#F@l?vxs7HPK4AYVS>?ht`tvqNE5TTdP&dKUB(JNm(u_WW(cArEF3u z50i4YqzGlLyHv^xD#ak>21zNBl$k2!X-Uyy^ORCjb+M$LLh6*Hk7Q>LN#vE%=UKnQ zbCZ0=+t}VvOjIXWH!`teA`sQ5-4c0i?=!~~=*H**kJ-T(%@V6wH+EU)Rgebvo`$(O z$eJ0N+Fn`7cSq!`9IYehXt~3qno_O7!AfXGJ}uUb5Yyr)>i6z5+ZkSVpF@^a!5zag z$uCVH4vNJqD97h01HbrRv;JHIg1YgBXjVoG9;k~8F&3YeZ4>*k7M%!PWLH63O={>< zT~=mQdl2$yzelXu&31dyM-Y@~;y}aPK2FLQQ`R(i-xNXQGwQLSrTU^sTPq}=sKkHZ zCE)(phbxCSiUt-SjHWwg@rW}C2Tzv$lyK_>!4qUZWsJ63MTb7c`g|s;^oL@$kLOph z>XN0Q>=Ab@Pozq+z>7RF=dWRWhdz@PVZG9QMgb2nVoH?0K(FfoCe}pBAxgyvYIDtl7 z*MCYPhRxKOx!59)g}z)hE4IjQB*xQlExKf;GZ$u?p zF-fY#&?lbyF|EQwK(UKi0w`J_wrtG~{L~@Sz0{gZrZ?XH4w+oH{UDiSsb$suD?_Fi zcvWPQ#g6q?LN=KO5!BeIXn(2{6@U>(C-Yt?Yh*Z6Ei5vIygY9^+eU z?mop!G2|OPJ+2M){%7bq)Kh$G{%=ul-2V#ogm$-{?pZ4&v;OqCa9DAcbXn&~*`zrR z4)Ynco`Vg=p%U%+ad`{h6IbE##KJ?aYSfQyp0(YmhJA!`Hl&|Ptu0U3@1bY2xt+Yr z?Y!FawNA{RuF+9|xd}p}o-D?>=T1<4y`utZ3xUGO{h6tKzwzd!go}u!-Nxg?E z%CW2+w008`c+Zxk6?W2Tmd1;{hnDIpO3H%(KM_K!sO-xK(&DK<+toI2TMb=Ip zZ0ij#)|RrZm);r5c;OGV>)wt>(+5(tgmC#zfcl5^2qk6LZEb2xc0H*kx+zIF%#yK> zDfxjuHxt76M6uymUH$?b`s|&cCaaQ4Wu6iKT}39@v^v4^sQORGrI9G>TovjODnlCy z4IoG8Ox@l#QNBi2GwITKXsiv^9iOQRlhUGf2qTiX0To$asJD^S{gHaZm2I@sT$h0H ztq+Zh%F9zY>Fx{`S_v}Q&eq9ZWb>?Z@hkJ=ZrXC-jkY6hbbZZWbdq>g0A-x{S~hd6 zzn!ZFNIQjeJSuzfD#!*-%Xi@`s(hDalR55G0I@A6Pv$6s9nZH&5D z!id!or!8727>j$LO^8^FXkSPsX~$eAmB>n=i}g3oKT5(F5=`Z$X2hP8R2yF!oJUB` zjl3u)CCM7?Wy30U;5f6KhvzwWYM{-3?2C3c*9i=^!>Q2jg<{5%bq@RQQhcohxYAN)TsQQOx3Ht3NNX{NHrB9 zDq|0Uf)@1=lRQldJs*3Mm|Ue^v`|y!t577=Vy6-V36&2~h2k77)lO6G2W!cc~YZ2rcA}16hhcC1B%*Qg2hl_|{Y1C}Z|BA@pNu)7c z{65V5zZTjuO?i^w;wWE2WFutVL^us2i?f(=xtmEJTb=FFskc0}pY};T3m>MQ@~l0bHc}5;hw<6^A^i?J z@#TM~hF1Fj-a&LRJK282yWDTiFZ7sG^L!0s3aQ2AHP7q z9Xu@ay~bI7bMgvWQ;nKZ(M9a#uxQnyRqCZuiw@;wvF;8Jzf6l=Cy|FLwb)g>U|L^E zdlPxZYaD*u0K}%Z$x~5>(w*B=sS{=BGK1)F(&^`=;H;K~hy`oWzETBViqCAxZn(O?Q4xkatdYENi z_Zv-~gPYvJQjVMS^qXWbcKG7GPSnj2yL4j&_MJSQFV&ddH_56;8r{C;*8}c%v}i{) zE6op69#v7i<*Lkx}2l}_h(T-lxqD6jfqXdq5^>W%L5+j1`9b>z~ zrqUnpe3EW@8!tBV8hI{K9zTS2GY?1tjbn|xEj4BUu^MUw#Up~B^6qJL>&tZ)k?#aYyd(6p>GqNq#d76J z%E1cG`qUUZ)rQ|_yq`AewV$wq!C6VcRg7K=*Ero`yzL-~$3iZFt6ihOA<@LIKe1;t zKs4}kWkca85SHk!S4wo(Jfge$C7Rs(`0bn^-=v0OmAg#kCc0}cqPx~eG`Y*5yN&n5 z2ju|g)?gW&Uzow#-`=~3s=C$lqwsYQr=C3Gxm|8YWV?WyZO+<)YEB^a_>{jnIh-C#(QbW5`A3a zD!$ZWs2#9Ty_#yg75h0_f;ddB9P3~4=8_(J(x_5H$?o27^EJ*IS|1$>^@dIqJeGRqgHqGWEvV28qc&7a^o&> zk+^=yx!veyL~M2V$RH8#S}Y*~H?p~1z___sZb86RL=Ah>yBroy=<)pXsCYtaXhrfq zaE$F#B-WzWP|kszqJ_4jxL+dWjA5Gly(0AwAqzbfF!(-R4DSj@>idy2+CAdlQ&Zus z)8eamvqk?JU%XqbFYXc1zcLWNtpLg~n5L|-`N?=k$@|)x(*2%_t=hdW(N~_*m%#1b zY19#z_HkfZ%42Me975iYi+6sHbRUM!4GbS<KTVC3zv2lOF5vIRl-w%`4>7Tu2^#G*}2Um$1s>6#H7CPzAJrKSEH@p+H0|!Xn>yR3B_`2hYDa-WkWOjC{vGY-oE4>t<&>3B1Vn z&W%ESP}*;!w8KW}4c&cMi=Il`-~%pUC@b<@A+Qy61gBnG!R8fWw~9Omr5awqN3VDl zd_vB`Hr^ooVc!?K~Lm)J@P#H1Wg!+l?WaOd@uWIKV!Ptj0gt4e~>8f0oxu~ z?b)!k5y4ADqSiL?>#yA-!f>Mq!;OU^Q6;+Tl@i@GkLa#`i6-|xemmFlGihV7%3Y>% z6Wz5J(OqjKn%s{31L~;S8kEl zJRyL82ZH!*>D%DMWIrS^D9GJB!J#lxac)iRy=!C=sg-G=Hn%F7Lx}C_uPxLo4%;&Q zVQN~Uq3RlA26~KIuQ3-{ zc0NKnSnM^l)Twf&as_lpNiK9GN?MgycB9L47CEAb!$Pj)tS@C9HF-_4Quqx)<(2Lm zOaQsp&V>TTt8{Bxt|7=S6z$$XR?ic1`7U&bU9oTUxO`5!b|wVtppcy(re*Z|C`4#d;3wf*(+< zk3+I6c|NpW77XdRMWiy&Hv_#nzbOqfx4KO5Tmr}e00HEA$$v0&D&gxfI>_{by6Q8= z6egc09(BTc{2iN8(z?<&{z-z!Vj)vx zc_(0hIBCX`5mmu1J`UuJ(pF1U=nKEeVXn_ONeVHI`B6Ux7cgV3^pM|}znpUwavH`6 zEb$rJSnw_Kv%QzQg^8wEQq1-zf1DO$bJZk|jDq26-M-c803vKpzAa1quY{bH-p0@t zSP#e1CfIMeZccf~3>8VC`A@nQ1>Vx4IO(e8_>?7D^i!l=gSQC? z)uBP}8s&tFmn4%Ne zl-in=>1^8u2SYjLQt#Woiu&NWxG$z_2@WO3Z-f%Td=C4bz}c}-Vd_!NiAobjqY(fh z$n$^zBX24_jI%$6LhElhx?&ZgGXq-9=fQIoq(>y>QcnHq(^v!6*W|l6?-PR0ZLl36 zq{&b`1#UD5UROW`j`a;j(`qmKr|Kr1zkP@iqVqf%2qy=qfYP!hZ3c?bwQc}LU&BSk@UJV` ziQ=;Ul^*HCyVD~WK#uB;8R`CT14Ft${Ko!FclQ*S07eHSzz&!Cy)ZH3b8+A;Y!?ZHwI$<`v*+0OTvC-xV>>aLj1wZqd^I_S}CE{*jPL_%`yn(6fA3gxG&qS;uEV-<$yr@Ab zD~s#i1EyYCm}svs0DlQkVu8%?{w^C}q`Rw>$t?%wV*F5=dkd``5Dw z6R95btjq^T(Z?1$O4tPl<@TtDJ^IxB4qMt)*=!ly#x(HfRK4BDLLIxGV@2?vc(FJ# zT8sYbuuOT!;rQq=PDl#_NWN%Pctl4GNRvtmf<-LgE@v1o^1B;ZB)QGWO^~QC)f3wi z@1YYb1JU_&Ir}M9m^BRrsXaQ@TSfrmFWAmt#`2e7Y^-7Qh?4LOKp6OiBv zU>T_^G`oDRlef#&B}1*z;RB%Shhyi{>}rV3@1mUMf+ zRBaKC)XmWa{`gR6dOJ#TYw&oh<1XqVmZ^9a?pn>(Hi4(xv;7-5`R6xB`pugQ0>tlmi33>X$Q^)uW?hv5 zP#xPE@J~U{%c#jK$$+~t4X)w`-5f(_Wc5G7MMs5ktIJK-bn`MS!>Rlw=sm0uUYm_< zsBi`Mvt?oAT;U`B=nG`+g(}w?I>5f7u8pZrZI!Oi>0k4FKVF0Wiu&23%ePSNNm(I8 zS^BA-WAc#;sb4q#l}!`-pVGU`OA6SGr+x%P>gDnTUSpMGib4fkkWx9mILM*MHvZR+ zKO=4@pi%5MuVd<1P^6n3baQ+Go6=gg3GhpRU!&m1sWOFMLpJ$4`0WC}U8${DWcs}; z9Ma6}v5<8G5d-ZAHc^SYk+>N??WR{}Xg7CXw2OfD)2%bK{=M%}?^nLWd+iLZd+oop z%lZ3p{(}-vfo*n1mEkoqyhaB8uHux&u=jVWCOO5o(rtCJTm8b0!y%zOk#;diezA=` ziaud@SdBk>e6WkI{0Zh3!jqoXOUrzf7ZuK)C`V@HIEaZA0eLsbUvVT@#{QdA-p)H5 zkq-f{pc{4uJL=}SkI3T6t=H^lm1uZP5iYuWs5V!+(JZl2KXy|<_Y#$mTvB}J%jU-!Y&o3 z;i(1Be39xRejEk5*-klj`OHfT*oTznZ2bUeP7ol3&k+h=q_ztoITCE00w8Mq_)Sgt zw>%N3sGU93Cj+6M9Ly*Va2CFzX?9;9r<4&1N6@E#>GizX=xY&EI&%{|s%NIvqU*=~6fQJawd#?eNcK`cEQX zJgslDTstjbd=xNmr2Wr=nB?cfpOPX)=|8R!Jo*T)BcILuvG6XdNv$xyj5n=ohwqLj zb-yv2duS8tz;o<%e|*qYEU)~U_YE=wHnX=m3R z(5_N#jV9x)nq-LrY)pTv(-x8WJ%BoS26294kN%qFiG1kx9bcC%dwC*VzP&UQ`H1`n zbZsCiR;^xpXygIy%KVR5y&mvu1NZp)Zlka-@=d3|v!mwnX`|oOBQL>bhuIqbD=`kg zzQBS8A$PdrtV!y1{qcl1$n;~&W9hWx8}TYE4tC?c{B^x~zwq^msS?G%5~X5Dc5^C- zb3E5b>eEfdBHd!3(D0E;dk~<<_Z$2o`TzSJ$;0M)| z;K&cStjSH$>!O1)jycY+|v#7Wr)rs*g zFRX`@92wSDj(A!xs}}Q&!uaj9JT)sN-jV&GeW~^7+KyNJldfy9&%8rQwgx}TA+GqV zPc5*1`6fCFsy1kTp&;4fGZ#RqRxUV{^y}KBkF+i$EF3nTr*+e2G3?=%>)i92TYa{F zZGSQBSxghm`2FP$A;$l8%xUv_GD^>`Kj6`>!YqKOsll=`Yj6^0GMIB8Lp}1bTR*>+q)Z zcxQaeeYkDcr!uxb_B`+QRbEvX+>;sP?mD5T?M%ujslz51b_P4qvSfpgwXQ7njOhUCtBBpLYe%YMv{3GL*dRYOE8lRAw+vJBU{h^IIt+!m50oditwYkR8Wq{k>tH z7hwkSu3_b5a2*_eHo4G5AHmyrD$RsqbR^D@+Z`?NFBV8+D_nFLF_l+t=Wg@=PBsoTK*{lMDPt zfA%0mB0SYjJ}k)kAZWXe!fP)vR^kZMqTz*ysAb1p{Bhf z{`hrzlHp_JsdeF zvnkgK7!#3nMdI%TIez0e2VluiikwXiE%GC2!0aLNG)s|{X^O0MMpk!+fG z5RxmXBh^K$gaAF_fGpd_K69kVnUoJXBi$!5=$zCIS^e|B1#iXo!25`*{l9{j_S2-~ zQiR5g>N*2kA*#2p_M^P9kr4whlbuf2Vv#M883q*_JdDmIDQ$zyq1Gd{AW6aiOkW^h zFxK=BfS!86Sfge@LGmkDfW?rUM9sRCtJUJ9M6Lv~@At{*pDetwnqZofTRqi{{kSbm z#sDsBgl13cq!JbhH6?{wq=pPER0DD&3G=soK`V<+b7&t`fs7-6#lc{yQ*Jm0%O-gC zTo@d{w*=>4g*2%e)#c>mZc!A)6Um9vqAwGJF(bK|CuW{LFjyiuDi9yY{c)QMvLkMZ zZk9d}9htXrunxCy_l! z{U#NKKDh-;BKXvl^hcGPKs{UL^^mk$t^Yd*v>$KR2ER1-?BqPHf?bCb-d3RCraw`ylI2qnR6k5%h7Io|3#9@2o-6UeW(q7 zcUB4Y^}dH#;;u%!{b0_CybZcr75sEozBc%cx!q8uV?_828{qCiNzFo9lw41bpju?( zw7W&^49_d1-XB+Y4(0LK$ZU9?l#F0c{LUO#L<$I|=Que87;nM6W^WB}KW!Axbh;~8 zax}Zh)QZX9bVQ50^5wPt8@@Mb?; zOK<_fH6Sl0-Q2MV&dEL$vg+1;cRZ@|Mc8ZiSy!>)N=vN9r|c`=!Y(BT5?>MpQ5M&t z<7U?LY5SA?l?`XSUdC``6&H!A(ZpySq6VuO>@AenqI-et;&{mbA-|@uy^NJTTUOi# z1dV$uvfQE-x|mTBL@4cw_~UhvG;BBO>yv-ly3Zba&i%KqEWK1!~`l_xoKw}jRZ@9QQSI)P zQZnAPUnHtw`&JsxbJx2`9 zz0dnh#`dRbY!Ca3D)^O*?RV#%z}WsX5unu*Kxes_UdeVjRRAS! zzpdbkI=o>4jj%^qHxj(==iWlp`b~ zEfcWxb4M4HzwT2jNM-BEPB5~bGA}ATcT6EC_tBa3bH^9x$JYk)#KuT@-8|2#{=00x zs3oRapQ`UCNZo(nc2rsCsL`6dpO8w=%(oLb#oFaXSV%7G?ss!7LqzlL!Ls+OMj0)8 zt&d4Wn9cO4gWB@_rM_9v?DdxMPubDubOvtnzKVa&9)=VftiP7Rq4o+G=N_ysW8))Q z@RPS5Qnk(77UF)L{MjTh_FGVIJEuC(d>`7R=_04;pR3HF-hlX`fXIm$>v@hcw6vq} zBZvaO=HDZ_Tw9h>>rd=+oZhxiEA4!b!Y1Xt7I)Naw*qj0u?eBpTY~m6_>shc=9w78 zB})lG-OPW)DOu^YLKiAqRk7+EJw9bSqJ#sZmc@o9o*H6O_<~ns6Bm|oQ2<`g`O~tc zgBvX`peuR_eC)%Fe31h$9lT03W9rV{Kdaz(>;oc8tv{=JBP|z)G<tpwm&0M;?bUO zP)GE%7+0=Cx81CHY$D5ns-!tWM)+0z_4V1arrY)A&wt>o>5lI|YuY}2)|4euf1mqK z&YC`?M8{REzW!&`4X3)YTLM1wVx&;x4@34}9b1*fTX}-Ys&6f{Zd)a@_9Q@5vv!sq zo2;u;Qa6%PA2{ddwjd{pwFeMiw7*?1Z`77?LvpoiMTyBiQ>4$Wetxed#OJi)LxIB|6J6(%<;uX`$}?7KXTv zMO!_FvndTzl8^9l2kXP<+8me2kq_$nx7*Q1nA7Vw(A8oGeVacHkZ~M%*r-8lwrMr5 zFeJWYL(zH;JUL(Z?c9#C-p)4zUmBfk$&!17FwK9q{bS*$E2LMAZy6Am?4rCHh%D&x zM-Yd3jrybn5U~;ENvp{1-W3|56O`)rzd9!Do_mZEX3s=MN((0 zRQo)X({8egjP|=bIa&&t`6d6fsU^4QaRl-Uj^GF>v&*UEOz96Z|1bt}A**EUE=&ER zGj6gP(GHH559$7yr&d~Y@VYR%9`*gzsZT8HX78nh%yT10=%!C;9!trZ`dEKJq+^E5 zLojPl7i!9Dy?3R{2t5ap@=74mqMoAoHFy)kU50mCy|>X#7I%1lqbt}kGJhNT^oyOP z+Q$kN3BvRaOz_kq>7|C4Jfzx&*b?WhK2{*Dn(d8PXI?lzq`)?o%_Kv8Y&-L~z_Ul5 zs-We()yJ-uDva2*JXX3f3xTfMx#MzjUg0REqC7T}KvLlLEFM}?&3(7gA|PasUm6N? zkS_XuCtRAJcdP6l;OfYkpk|P4o+aAq&h2F- zGz}m*gC;=pfunX}Sh-B1*b*APHMqm)-kiEZ_J~>aPMKidYEmP(g=y!h=>^Ztj8ERNW5vr=`Ka78m;MFrogPJGuY}vj4V5FA3n>&MdyjNq(MO; zBT-w=@DW&@roOkn(1_F+_(8^%^(`#vcWD9MGFSYGX*X_mm`eKG0`~! zN2H~rcGnH^7S9XIfuXym5?HJTc0evo{WCBIN{`5fQng@LBm>>8ZozeiKhtt+Jr^30 z5n10WysnrmEY40MBK2|>ef0bAIweyO6e3}4v2CtWvV(pbTq$6zldoBz&MAINT02@) zpQ&ckESKrC1o*V=Gs#!4?vaJ@zOa7vH|ek7-1?Ym*oK(CQXqzc$pK_nox;o|og&3E zog#oZbsbf(GWjohf({WhtQ(%Dtf9)<*-uK z(0L|y)PGCo0Z-ZEf~`-+g`#y*8qMKzhgZ|nLR?J?4b=)k$C&WF?5oA97`sWY5*;$7 zxRYIBVAX38JbZJgr-o8aucgMPyJ!pWwe6zRxj6;@J=wD?+_nRPL!G`17)L_bUX{2O zNf}>SCgSGK<7`>|3Q#iM0UC-hw;Tz?Z%)e##*0k9JxnD6D!tpZnA|UxVhy6^m!(Qr zRZga3cZ>A0WdMHBYphLwRWy$^5dY!|AvO}6cG(>eGFg8nodMe@QSMlRM}2G!zcRrW zsn8+;NsljE!n0wt(-RDT>BBjW1j3>!g(M0lOTQ;XgSsHQ?hW{Jdkieds>TG|}4evT0X zK9M%QI|}X+1ac?1xa4C#<5x{{{r;k)&Gq#$)nZ#pgnpX3Q8De0?IAB^g?Nf-e~^Bm zfhl&S*9kgSo^+@UoZYC?P2WT74^f%I>()@p73`_4jyLgU#@^%?btJ}>j;^HK#1~c! zBfTPo)S_4cpwL?0g+jj{rYIz(Yzm=-3@2cD<%0(td6$Im$YeE{w4svZtB(l?GLNbn z4#Tf9kG@2M^|3ONT*(c*=P*?UMMXJ!A5%QxP5LR7K$q^@tkF}Z=fHtpQW zF=`@EsEgM2;kl~kgsW`Ljq_pFefw3f3EzFU*W}#r5Ars>Cd10|0)aGt3IT`5lU>xi zNPKtlHw@b}vtC9Iw`JDk`=UB#rAFHhhN4OgwV4o-@|_TtbA6Ozo4<@H#aUei&rbe_ z^sE^Zors1+RpxUyN@F(jXJ>PUW{IhDVV$h4vI{n>b@SI)&w`LBv*@X=X)=AnUIt2Y>UBrtq&e$Tkaq~GnO1gr2GeYp5m{C_s6*8 zp@Oda48`UN-hE8GFY?!p@Hn22@C-o6>-qZ=@3X;ARE1ag3-R|$Nb)cK{t3bc&t*KT z>C-Fu`vdRU+3M*1yoH~l{ImY&4o8exVg>NyEt<9huo`}u&jX9YX{~iZu%GO|bs3;C z9IsafIQP^Q?;|}veS0ny#S3UpK8`{2=bp(S_&(O=KanYtz&N{SpZe1Ghu9R^r~7aZ z>nMFBudH@K=~j&JvbX=79-p#JOcaBzqx%BJ-qdB^)46b+)YNtyvtNv}0REuf1XgxF zbjdvxc(SkYx0h?afr6H>aY)BAgB79l&NV~Ni88DxdYGJ~$W zT5|ZN)x=zU2`YE3Br~`ac^4w0wsvq>5GzL`ruDMa&}`=_{Xi~#m^U+x7w3JCbJq1M z@#za5Cu{oPWHyCC2k*)N=!`G$EE-cNYo@bl$nmfoyxh05GTdqN5RWvu6kF#l*OPd zWz$S4INUn$FS+*5$AR2viuzcr&tZQT7rD(A&N_81uHfuId<5YJ4wvR#A#q&Y-{+|M zJ*MWV^w)I@otb)2)+;`9a)GaMQe8o)yM3->Xq|P>A8jFai(rB6?4~p-1A1-GRvmgS zwQ>=4x8X09Rg)PL1se-S>}+~EDczkVO562a@E6%N$0dWnEqBdg9%Jl zLN@C!kC3s=3NAG?r(oOV0Ww3{Z7VY{Vbn}rFw z6MCP+loy)=_XSEnSLYNffj7)mF^-K#i|wTViU>`SeF~S(%p(FJCZqp}0n%0TIiP8; z!4FxJKWS#nJf?aD_6<5=K^phspK+%Os`tsA%ecT zZCF~k%mt>5J*ce}ss8s$DxU2Oj8xwxX~`!#v~AGL@}i9Yqs^O>6nSi(7b%W-LF>gU zGM5;^>m5S;{_LX(;kVinLi^>_fSV@9V5vQ=`6~V568a}CNRu}UW|_Su#V^98#`(lM z*r#H-8LDAk+gkf?)R9wi>BUDX)(HnD$D#;`y@fsx_LLPSpV0%$WT!R?!jc>oz}R0# z$>0qR@{g3ZMSj0Ees5dkvz9+~YgZca+&*izPF$w?>{6%C(j5|-m<*%4s8M^3Odby zwn!F{7@rBt>IU4r*E)kwo8UracIk<~sczZ|QS=McIIHDhRJ~5WRpa$M^tHA8{T@AT zIL`pE$gN>(`5VulEOb)*l~MCKJVh7ZDNn+u^Q`09lU^9hUp?=c{TuF^Hl5q{A`N}Gh-MEvW$0}Wi{AF+he8pY^;?6Bb@XD9s#w?C&$?m_ywBOO z#gmF!FX+~Z`S%=UFElm^J8&NmmTrGVOYmGLL+~Vf{=xTar#_(bt5W7)_2mV% z39}VEIOM)kJ>qM4pmz=DOI8V9`Gi@MdMw?e9?SNr$73#fS1VN_QY&30bD37E^gjCc z#f<`t>fh#i7eo!6Y;5n>-c?wQdkeF1q{TgFVp4WznTD27AJf(ZYS7i!$kaxizNV05 zG*N0%8*wU(rMLgw{_2b1^2J7qL=pvddX4scg=nvj3Jb7T)-P4b9HOgQ#b1g~6mVOB z_WW?kw7||3EE*NQql}L`7FsD5Vht|#C0t3=R+l-fM_0G2_VW(SZ!LUQ>Gvey{~Pm$y$fM|_YaCW0M&j#`!Qu6(^ zHnru$Y;(kwd10M&a%R{F48;xk9zYW)6#js31E583ryuy0rH(y9e_Qwg5uDU( zHg?&#*3ePl+K}I>xuw@z*T@f8E;@~8QlhLil>VXpK%G{d8?_`=HGE!v1ICMXUgHW`Aak0_Baih-JfK~y7rR} z&95)q3OSGTeFtv)lul<6W`8_wGX&-~(JaG#Xfxbw3JSw5rW%{!J`{%AYcpKmxXp0) z!8PAuIKFrA=)YmOy;dKfv|fKuKvfL47SM#@cCJq|TvOpn})LexqEcbes zEX#GyfM8$rnObelrD|chCvBFq(KX(&5q^`#LAW75P9@TChU-LGNFGLNSfi-G_K(Op zUu&_qO4rHZT$>{^@=tv~A@ZpnFxVB8W%0{$U!(2Q)4{<>_Ne9KZj+az)oRZNT*gb> z@O`khkdN6L+%VX})zw|nM|1bXL0(y#QGVX#ESQlc>~I~pveZ?dyM1o*D$;M zd7V&9O}KJDZyW1_bqo7&2ul+qb0$~t9cwz#Ry#06nEg$5$?e7qf<1llQ0MZ5u~Dv` z;v0w%3J!>!LdedNr^V#fJv-1Yc#_8q<>B*mwv%yRCe0n}Z@FlJNzv^jzCoh3ho*_! zs~YD%M&fW|UJjC4v@<;&`9&Vz=WfRvd$%>l2duhNJvklIr@;E?0fEMEe4-h$7EDGc z>o0vYhgL zWTKt5Z%Lbaea1)PD0^{y=m2}U!~QtOPbaUmh6%0eYkIqe;Nrd_RieMRPzdC5wbQjf zZJm7$E+KL)G<)(mkAXbc0nHcdFW_mNhPV_oWuv{>U;0U~o8S0=TWys^>2qs`LUcEK zKMC4eW4!@T)=m6i0jQ1C9*7*Om~$UKJi&)kO^`QBj zOJDr6(Ku;|4@O$os7?zqO1We?v_x(&A7Mvr+ps`jD-jAnuT1NciLjH7=Z&?-FQ{!1 ze~@}K9IUS<2xDMIv{=yGEDo^7)=>-S8p#Uv`X z?T5t3*pTOzQR_E??t;kZJX}7U(??mayL5ZD|8or&l?+?*boHb@hMGKms8W z4k#!p=!hUtdTy;*8)rLDH~B1J8b z00LS?#2elKmFgMC3wVJDO5X2ppP6J5@u~m!^Sqz;eFJmOI{Uiz+PAgWUVH7=e+6Eb zngBXIkcJ+pgBo3jt})-u;evp>bAD)vyL))bOLIe$-97TqHc#P>wSnbLXOzS(0^kbrqO8oTsD&O)V)3i~q~xWO*) zO7)j*f@qGs=BG<$9vM61{Tldv_BRzb&f;rT41DE3&LfMn=Ru^eLk7)XX{qaBu%#}!7 ztAx@j{eHiF1DUXbNJZot%Te3xOu}YNIAEs=jAV1g$j%h|(+eE;$cP2tL2Rx|kxk7y z`@wt604K%G<~om`k23Y$bp9)`AMh27$*2wL-z20X+|CW%_U^NlvXS%JpNE;(YNc-g zPq-WtvYQr)jkuM}2r>g0#VJ(sYsS-j(ae!70cn#2WwCRcmK!06 zKT`CpRXdYL5f^z_HH~;V%EB8McZElj&PmZLV3H*7vhIo!I3ecw3oW5Z%+pd{Q<(L6 zU_7hPWsSKtjg{YnuCM=t@i~8E_Tw&;04~@?+bN0lZ>9%mMV|(%&GNP%h7~2m*d~9L zVTQC^2Gvd}a>y@r`zEx(CK2bj=e$nx!z+ASBZ+aRB0!~PDViV4j8NAB=z}D^0ptetiMxAjaus9M7x7Q zLcfPncCzn6u&17HnqAT^)hXNQBP-+W)Y(1>#TBWlAb#te#<=*@zD-e#g5@eBUN)B# z)IdH__P@yQhtz@M*-a{0UlAvoLVJsk2d(7w%bMl&4|XHkA zBNvy~Yd>Dn(1gC1bWwWq%_wy*xftPSPe(W^<@)HKsf3p8AxSDBM;O$y)AK zwA#LINfC@ElS^Egjs5TkX=;i7lPo{y92a>w@>TJ8(Fe5tIF)d^WoK!Uv2KrEO|*p2 ze~p3rscNFX7ts^_NmXLiZl%Dk-$wb7!Y?s2w4{914@@(>F;4Z^ zBtzsSrr9~t_GTi-E;YkSn953!C3fNeLAkkoVZA$W2IJv+H#|qWeFJ9$HCEKsn9;(j zJ)eC4+n7;FXJ>A6HgJlbr9VrcU-OrSM3wvwD5_?XOtl-F$?df+t%$br`EMhd&TD=P z(Z<)RzwB}a?}NYH9Wr1M7Vc?SA+3(uQ3c`zBbBGwpEFVF?i0f_YMXfz<@9bGG-&cQc@rl2$A?m~ zNAJwfZtwR^HYr6$TxHUH$G+Soh?U9rZRr8uyxo(U0O$K*mw0=`3Df;_&9k*Hmr>80i;W^ z6XTzY(0W0gp`YYDBtwv+_AJM(s}P!C+&;D^7`MQcG$SNSje%7AMsVV57hl08vE>Pm zbZ^!He6MKs4Fsh~pLHO3ZR~ndv!8}OhRZ%+Zx$HIZfDr&Ke51&dt}5#W_1l4{f@&% ztK}rpPqp7g{486SPTu6T*T|y}!eaMJYI$TDizXH)ywx5!gV5fpp%b`rGcOCKa`C9H zeI4sw*FJEo(b9hjFC5z7FvB=(a~#^@aFucRo8ypz!xhHiH;zLp4g-t>OEsm@4u>Ab zL5p@A+T(B<4uNutn-**94ej)8tcw5TS{ruwo^Z$i{MKJEFTt%1k2jul{$$_mI!@$b zEhx0dKZJz=7ZtwXzo1^$7;EbTZ|7!y8tiBa6z3<%(Vd&Q7%|Gu;AgDJ68%AUuOi8X z)Q%Oa6L#jE;76OtcMiJcAj_Xh=TbxeC#*0&>GqE)M0Mum;A!?sAjbrgcV`{J8j+hS zJyutog4<>UB*@)AZQ&f9xT0CI?o^5lx*U7w)-!~cJkaA&my96f2qoTPg}!7t-KazU0{lv+4!;kS(oF=rNA}WP6TuR ztVTJg;Ihv$sa0YF)g&WC^GRvQUe^C%Q<-RCsA?;RohsEpPsR8&U1SENW zAZ1PT7IXJ7s*OPyJ^ubG`wliJ0NJQ@lN-YJUm3&{%;bn2A23_V80Vn(k*m0y#isDNSP{I?hk5 zAt2&^1pI8Mn1jWuoe(#0v^c*s_@N>lZ}<8~AC z>4)?ZJ7WiS*nh&&-ps=xs>UC0By|nqho<`0eUSHoMY24J+pV4YA9B>L#7|AGZ@f&q z`SxcWtmr5CwrPV>>#@TS5eaH+Xxm2CkE(xEAWzum8gf~+1F2Fr9LA(1@63t{g9(tgg#pkx@yz|r zfd9)Un)9|yR-*r3Ki8aL|E5wh_!!+?I@G!50_S7Ft>#zq_hFyC7Yhq=ZSREo7eUvb^d(eB}P6Ypu zSGifk;w~5O1BO$S0`?q%2;myV-babUqDS{Et3jzk^9XHRU9+^uf^M88KmSMTC>skzKZqx zy~Y-^{p-b=PBw|l;I+p_XKNlq4!fFHtlMf| z|NZ{9kI4;%U4@W(aL7z{2oMy=uozqvs34KYlo>mLoH{5BHP~l@h(?yj;c3w2Q#-Oh z4r(fCANZYp$UtXWwYrugj>jp|jzk=kOl~agl#|M8Z-h>q`H`=$|A9g`yir4Ap;f>c zL`h$bdgD`S5M1~u>@e94AJLIdk=36yxPtAnWA+-6+e~zv6&5DVSvcgJr~u(wkrQ#z z9+OnF{(V3k?v3Q|qYz7<2*y%E9L)aIeuy|g_!n?vgEnxDb6SFg zwAGw*z4*`o8#DBZqxR`aT2!CzEG@;|NqbLy|1UI%JG6}*u;r8YxVC+B~vkUNW*8OI$`%C-tf6>^8W`>swpy^3&8B^zl zx>ik|1AYCZ@^dUVG}@0t8R*OriCke4-lW{@kt`yq?C%*%z1**6ZMZ_a5VAO?{gXi^ z6T6!U#qAlS=X390Ws=a@*&9hCmUMqh!VH9T$|xHd2)>_J{WWK>?*TDxmV-*y<%b^Ca>W<9iJM?@ z9{f2To0J@4hgkpk`r6vi;AF9sEX;Q0yVi!b&f1G>LP-oG7_VC!>d5S_?EDMt*y}`( za@}a60$YiL9V}GA@$9wnXg1@23Vkv3-CTE?KPBHtxyu zPF)An<(-{Tz$fZh%g*B((p`!5qpqH=`HiS6CMauH`N!VbJrSdEh$Nh&W$C`S{*AL=udNdC}(VTv0`ed#j@$V~?*Lp0hC zFQM+aCqrJdGakh&KNQ%7Vn^!NZyKkc}gvGn}V!jzpx>CzeZnsg@Y zee89j%j2x&*FX+?2QJO)!R8h_cXc@R3X-GphM=c`8fz$HAm7p#Bj@TR^&BhWwxx_9 zU*RS7UpZ;!k!I|vCVP4<)BE_-mg(*1n-qq%NKe-Po6|e8phbF3^^2lH_kz%KTwTdk zPoXJDbA!83OyUkT-B#b8i;f|PYiGerda;51QY_tGK3}{*O0YtQ%-(}*x&rcN?F+ug zb#I~iV=o-7Umolns$cQ8i*~)@OV=6H=}QH&n<4=uh^~4=B=6Q&XxHvtR>A3}7h+u! z?SmH^py{y=O8ooLu>-AvFu_G6I_en$u+!_5*FuiK&9=2)zsZVRe7xo9YP$OJp z9m#2AjcA|M$y89j+Q(K-ona`*{tT1VQK4Y)tbTiWU{3Xy%dHx5_$n>xepdCD89^>! zs9L(+6}(CLbT&CEv)}~XI`3mJeT!TkRxW?dP^KvOR3BU(Iv~zDk=I@1Wn#vz}raqI;G6r4M(FIkL|&fF2Ug^=1(KvF!uOQ*z006 zZ{{3Jd`CAGCKX;a=vZTN7Rh$+)Ryb@x@(+L0zloo)&!n-bWX8l)x(bzQxCncSK_}l?hQdT)R`9+$>|EQ2l9C=w zAki!Civr|*^=b9az-tv8W**;T&;P*C&J@L!2p>X`P)L%eIyUopHSAL$8 z7SfKrI`Tx>hp2dOJgLYql{bFGuL)TEERriEeyR{ z=zf0T6`)X=is9+y!wapyFcWQCcrnrQtos;5_uDs>sFvQa*3d-if~k3F&jvddhOTIm zS=no7F-`owGw9EnXKL28#6@^F&nNcSB(EFf)pUl-(9enAD=E;WE#tRO@;djM@#$~o zTn?kCb34wG(rU|1Tdn^9dvB=cBt>?=Yp5UYHcfGL z)wnsDZm%W`7vJnm?T@?uw7%@wPf?tOZ2NUgk4Pi zI;&vE;DkL52MX1G$Q#j*$pWoE6)z80lv)$*g(G2$EN^6LV^wA2Am|}FioouD`wLT4bhO_Uncf%9?!#tJVZT4?-9=u^S1lUtjoieN zYHa*|Q*UHEdVy~*x&&qr;K-s2tqo^b8`7$d4+@-7^(7A|hHR{^5wmQ2W2tg_)Sva< zq7+0Xy$bsu^F@}s?L`fS`pwFjlhLDZ5($r9m2yS)pg@1N(J{<+z>b1}H&W@gUq_ch zBnyw2s`OAW*nn58zL4u*!aXND>Do`2;MuGkce?F|iK3nw9??hM;hcd^OyyoQTZtU- zyO~Lj+P4sm0}IiGraR=fm``Z~=i!X5P1Zi9Mkb3+W*T%lcKm7PZyjU|1sl*aZ-9Y4 zo5q0}TLWyqt|4n0TbswXCV2(?vQ9sksluwcnW2;(Wz^_z0%owt*vnwi8K0q?yUAz zFJ-o<>8UJ2(@=R>utzB@CI!}~5Z%Ke$p*XUEc_)U`~wBj;t?Hx$Pb0dkiF>-?6Va@ zw-YE-kmQ)0{b3IlDry)PIbdI@cX%53yuoc)J0X|(CQ0PUdsSS= zExJQ+QXoT`dK?pW$)f*=he&7W-WVWssI3WfcXFWRP9Ur1I2my*7&m5N9G<%~Xj=>R zV1FEE4U1PTT&(&6HRb-^_*ZWqtno9Fvrt*R03kG(d_c=mt(>1%y)2E! zyL6XzkIoJHs+Vzwsa70gbT!|qjf9<{BIhF$ir8EK!j^$0JeX1@U(BM*_u> zdRzE~mwC*v@RC7}I}*1gwb<3w%hO!TIURP=E+?Khd@P*{<}HOtT=ZJYY^)EF-k#9!%NX{RgfpQ&hbSU@N(`g}UiB|3XT>y8ENfT1sqHEeV zHzAoy58$U;wC#UU9@DgDDKu>n19^mJhfj*m#>2@cW4qEpmojfixT5)3k=_zXh9ao%KlXCigtM*sK+oICh zUl77{1$7^z$2}D_owUyNaR5`oIip zcj!p{mz_EGWL0OLhUd66i(3YB`-Qyy!s9wxPkY@ja4*H+@VL$iI5R(dd)GYcd4I$^ zH9u52HBW{M=7-01x1Nr16YD1o1@>KF7tNtC&8fehZc=YfyE$bCGU+BI+Gf$YBWZ#OF3V^1v2dR}kq-{L3k6N=cOd=>t>D*JpI?wz>MEvkY9d+P1FhglF*#jGDYrX#I9y#kJOk>r$$=K3{eG{Kezc?PhoV zk=Ol9<2zN$Q!fo>RxNMm3JxWTb=Qw9;g?f;Cf6Oz?)q!5`#4`uvXE+g2cRAxb{g5y zw~lc?Ec4lv`^SZ{_xhMT{8>|~Oz~?kf!5L6QqW9Uo;o!6no0gell)L8d7Y7HPQEme ze3_Degh<1K51B|0m`GnE7A5m&*W^eAiAWOxqUe-05)a}O3sOmT5^MbIu0Qj;pCR%= zmQSV#F@UJH(FmSr)n*x}-6X4akb&AywrcwTL9jGKu=dtn-OM-la%Qxn+I-NCH2FG2 zDMZ2!ms+()==W92(?Q^UK|)}RgZ6RaG?#Uu!GpXDtlCW`PCKypyMfw+#UBim1{S{t z0*ej_EPiOd!6J1%LlIc4_Pe(>H!2~L4k9wWQnmav5V=W^5ZQ!S783l1p|2Sct@;c> z-Uf&cH?c&Jegl+s$lf_A>(`y6&2teW>6iN^g0Gp;qle1E~V$ z3Q`_Vbu{Jvq6M~YqM1q?Zq;Tt#gR!F6X!=xoSYVMUYiq-L+WXXkn^07zotbum*6%N z671>$qWi`1MRGO@-s`}B5xm2Je=qn62mY<#KRfWx1wZJ(KN9>C2VN<76)-hTiI*8j zH60M762HiJPKLu;G&zfCrl!*rU-pd%a&k8C6%PEl;Gquuf#8dj-tu%PbdG_PM`uCG zqs+-;e2a4blV~Q7zbXEECrloH7W}#cKOlIw1OHs`R$!;YY!IZByE!RywmpfWeF+@+XU5ai@VHB2?XBIsn9RZj>#<#_wce(-45~-H z?pMtGf@aY~`gnfm1UqzXLSOQo$+tH$j=8mP~$R*qhbG4d5C$q)BFCmc8jCa>c;Y!0RP+%Hw1BmYc*D(4CHUSNo}^!{XU9truBwtyg;VjWvC|qq=u{Q|F zGG{#)ul9viaNB(J-W<1dAEg^}yi9MeK9q{9wB7G9%nnxge-T=#%Y0G}3L# zb>h0r!BJLAG`Q|0&GL15AG}TL8kq`&ISOxtJ3|3iY?W0b2?Ni~Cg*8*v**1la)j*{Z+nSV^9h*%+H+i1ti*#%o?&8ln9?*zH7*^BO*{`^QA2er}p2#p*l$4p1 z6;d{3qnqrzw9JGAuqQSQ%@v8H9u>91!*!0Uf1gMp)BE>)%85fkqZdK_gJAsOGi;ni)g#V`|jiQ2r3KRJW#t zM}1Yx*OaQ@_}C;T`G-MP^CgP zB^5}wcIAgJXE=?u<&BKu{5%$MiDcL~{J>sll8GsqLidL(lNy6741VE=NBCWgnh6C6 zuW_(V>7st3CZbM&fl3iBJ`TpZhubiYX;Dna2~Sz=4W(e;V@^8tX6%-Y3a6|?%+=?A zAam~~GJgwor6$7GqsY24iL3@YhpdM1--WEdq3GWr>kR+@3R%xK$()j`2314Wm5|lJ zHig@-3wB9o-%u4fQG6^3o3X?hXyVk44K`#>&>)mD1RB$b5(zkiP;x|xr~M-z&7`WZ ze*{-F(p;Ks)m}?0MglMxk33zn$XOV#0@d6pDpS$bmBqYsXIM3pabY3r1PFIsX+0C_ ziW*nFJ1^X|w>RsB@>sNxAYv~ht~xQ!3?_9FjOEed7-ovr#ZF`2-Phlkg3dyMV0Oaa zu|wktTU)pM9Svw~%H8E-g5bo;J|p<4y~2?;JdUdo>PqzR2p`~A7mhEz18I)%A=t+e zJS>Iwcw)!R;FtPJx#E};tXO_dkjW=alubIo87@_J483wbAcLsMt$%w_vm4au2hq8GB0XTLWVT0G5T^;L%(8zcPw z9DfUbHx8f6=BmE`Pk-aSCEgC)Z}_x1z25=P<`;yF-}PsKPwTK#I3U#8P2V%W#eG4N z`)$B$z)S1x@A?bVNLz>f4drO+gLw-dl(Lf_z%L={o}&oXXvu^!?VixWAC(9tB=Tnm=Rl z{9S*;P7(es>grVSqu=8GMUuN49DadLUpH|0uD`#WB77ONJXL&)Iyja4xk>JQfnO)h zA2CgR*Wbmb2!Ai-I#v8XeT%!=cq05if%}qX1~`1z-^1wbwGR6jWohlE@8`b7y*|nP zHQ-Xx3^DzD*WZPw2>%>)ajN*QeT(~llH88~hf&2#1&8nY`}HZpPluMLir@Gx?x)eN z6XDMSeugwxG<^5pxu*zUO<7Kr#xK6b{f9~J4+AImyJXFpJua=NUCDHxvTa9bzE z3{~g+YX|S3Zn`e<;t)!G1P63EJ`zj8oxrS2U>V>?f50JKvkU;hgJ;vZ_5t*gK#_(>-=I`lZ~~$^vhv8%KmgIU|%o zfl6`bKZo^W_gnbF(h+o9Oj$0;p9*a)$hc z@_j#7<-=@TLh;y~o%M#NYWLJqh)feAu-~qS$84cb=Ugj2E&3)Q67);l7rGA?&^f$w zr_}A7%|id|lW073vPY6qi`|`fVQk}yd=Zgn^HBbj8a89N5#<| z`rC1jbi&%tsvx0SMfXM`dA$6QN3Y}+JD2)0hh-?j1Tp8VczlrwI+gQ1%%P)8KFwY8 zMkV_HsUz5Y3FqIBkv3?2!LH_z!B>nj%oHlK>coXsjUOQ9Z&vw8#_x8m1cYBUf#hNE zyCmKYUyf=&#yPxG2SE!Xi@_v#G1?kBq=b|dOCB6!c?)!YKUe6;W}HFC2^x4=7DEHv zMl+@nZI5HP>h>9Ttamdys}tqDi5!g0H=SUiz-03k+1#W8v$>a=Z*oW~Fy`T$puv|- ziLVnOor;R}XwJaF-(^zYF8uqGYIbj7pD*kWkhWda0(%)>2ZLAhR^|8BX|NvI>B025 zd8lDDy3%8vFqR6C=%3zj#?xCNV>orMUYHP5y=K*yUyfBpQCFJ~IvPax&w1Dck*&%U z`<4Xpx6@h}Fv7;K=iR&{EqO-X&Vjrw0>e4Cn*hJ+tn?$pyJH}>4f4_}7*&epll8)) z+1}8m!SW8(X6m)#q?=~_xYX3W)~F*$-M!(SqfIgge4)>6TirzUZ;q>FZL?~h5U!z~ z=NlyYbXL%?lUCTI9BWSsZuy3PCqzUlIxM@bh;ZnsADi<}@7M=NDrV|G>-EZ5rlTz}@3* zeuw!rc-cOXL*<#Tr&>~s4EBlb#dPg-E!P$#suMGry&sljx; zoHe*tP&yFO1?}ZYrD{0U_ICvik9bJ0NXA>R0Z*{c;JM$NV;lWc=a5u`5WTOi4siSMEa8 z;lhkcc5igqo|%O%TSg(mN>n3`+2H|XD?RO;3xw2AgH*5=S}+MsU9`rIaw^h)Ppyrk{PMs9tHV`Am^JPPdUPjrTuJ+Z;t$~l}XjM)AsPIlg6(*)?`@bx0K9u zyu(zD6t6-%MT2u8IKttLIu!eWf=G?^n9S-()tHpR!FBcunurRL0mPIBA-?cetj@c+Q^)ZOUNgq8+Y*%?Nh3?{PdieA=HGsfA~E`&P#jQ{SiK8I`z~ z9z^Hs9&JZ9%5%sYB9>-}+Rs3-dg);1?I;iu>K7XNOnF&bkYBENd&(3J^3{iS)i<>1 zGmLfoinoUii@Vqi_OdW`e>TF-k3c0z6ck!v!DIarSa-qOPZ=qX}N~l7KBdb z9eZU+UEa|hZ8>ce8jU%*(dzpUIHk8YG#cID9=*A+VOeD!lu&y+Z8Z>5%trUJd3lkm zPUhDh34RpXRei86_f`i`jz@V7(H#Wdh-i8(QtWkwq3F%-#$dn3prKUQ>tIJU4Dz*lk}kB3=W(CSQgt zZN_Enbd^+;=?k3N(!X~}^YS*0ElCUrNq<2lv!hV3a*&WuU_4P6kFhpfG8l&8EwJvx zu)KL%g6#q;V;gr%^66s3zd88cL!ykCYpb{IsXozR(Sxyv^EmWLn!Bi)~u3~tgji~B%4mbLC>I3;L*{SZXKm?0;m8ss<#X+zz(^gI{~{5-UO-hN zbA#u2BcqkKH`FFClHWV6>JB&Nd-At)+{_nlPjUe)oWEWD_KB)Y+;xfIvpyZDOSpgC z>@Ew9E$b-nUyLe^5K7(XiHo3jc*-tv4Xlbi_&?U)iVxKj@^WBLYr7zl-!ROd?3&2#&&4ZFYfN0jSa?(Ps!dN?p+_V=mODkqzF^cf0WSEeD5#CT?6)df`T)?RRgJ3j2j!_ozSz>+tPrbTbYQBtZWILCZZ;lz{ zG^hx9@d#_t8Uyt6(-TaSGn5)$)KL*_oWnfD8`-Yb8H zkkL&1s&mGJI8`z2ezr{)Qoi72_Pc`_X|~zV@G_gRS=)l$?X8aEA9xLU8Wwp?z58i8 zP$=Uxm7J~P{Ls>ebpBCsc2&YNqgLp5nq~x|i%eR0lKclRcffVPtCS3%v!GLivx`(?~(aIoaV7t`qq5 zyXgdVsrI^oB$TXh`M%fDw9&D}FQAH$;uz1|ovuNU947u9`yDbLwKM-h_rL{ZxP4-O zt#B||_V-DR5J?I8LWk)8>tmPCt@q-t_ z0+8F1{r%Jdh{TzB7BunXz88I5i!-udFH#|`8eQw6X*aOL6Ay)kt69NG(dIY!QW|vx z#8b+d&ZrI&N&VBmnDX#U59QI2ZzXmce`sMpX0p{ddP8}GIgn%j>=KgiUcK}omsKN6 z4|vxhEb8nHKk0PerK@EhDI8pBkIT?RbI3cgT7B4WjXEeE1=V*`AHd+_99=qKZ&&Mc znvNqORMY$)T+V@)^kxM$K#nCTwAhdZcrg9&_%CTSK2p;Fo-P7MM(qBZUftUBrRCze@j^s$ zo>Sm6daojTg5NFU?YNP>(r2k+mAbusK*X`Gxgh=QWsGfI{Z$ufxjq^w!0*I74H;Qc=b`A>*iTbCbR`jE5ssm@vUS2}&ZO!b6| zR?-sIu?E+4YR1FYS&rGC2qpU6IShsph-xv!(DwoQbQ}(_+w~yK%P_?pA#iK4k{=q( zj3kHyQZXi^h5at_{2IHdRH_JMC!=pQ^P4tZZG7T?Deoor&Jf{)Ncvv+xxaWt9snNv(9?8(0!_+kaUWWI*=BN8yJxKf^g;3xZ!}8@*;~*hIXL= zfYs2K^XQ=k{Xa3Qto?b?@i3Y*1?zm_${DEfKg=?PZlOU&>inOIMPXGQ8<#u-aG!>+ z?O?|9_4eiDuRJx12iM|6WF4X^$oeWjbU4o%^;Ew5V7SL!aFj~#LDIAS4Y!f?S;hCr zzB~OccW~&naMxXd>#S!+PT5%gR5*WEinS~Di{>0x6Nom~KcQW;&YRUWZP70om($V= z7XP48C~x85U}M$ZPE(Ff2Ne>v?wrq;5{~8pn05DApwgPEh-kz!2`{VW8sf6tvsj;S zmyvon7c?P~eX;L_Pez9WU!_>P{ch$D=r9xvuv&(!Fi4Hbe1Mikx_~MxR{m`C zk3=-(=lws@^8?t)*7T(Bd>cKlAw7qhm$ahhwGK6R#;N(MW@=KN|3=R_Vrox8&)DgP zm}LoK%3cpq$=k}kAP+H28OB|kxSTL^dTT4-<8ak z8vHI}qO<3N6`WywlC#ga$O+Sxff2rjago6Gxwvw1sW+5*8Aam(HqaHEq$(Fm)_NW@P2IRi$^xb3 z=PI|z@Ta;1+N;Ss*5ez#*^ck;dkaG>Aq3Y^FILS9hN0A0H+7-vW;?Ns$3{G^ip*a? z=z=;nykdxIV&W5-3A?qqgghfgvkLmaiUsdSp?09ANhNwj#WR|7twDXw^k^#55eZ{ie#xWHDB0edZLNBu=vnTc$-SECvXqw0=!m&9?*iLMc69 z3wp$F2Vk?{V|%PZNI@)wV3uWEc)?24#wJ8AiE&_dTW3n=R91Cvr6ji-?TtiG3z7~z zC*-BUD^)pPxIl9mXS`LthGYW>F)o~f(H?^9-WB@N=l4>vSH_bF5S5PWIOiTalla3zCzQH>on9hk8fH2TyB#iM_KO$=)KIOM7E;}!VATz2 z<@tnc@P^FcDqnahwcm#B~Op1NH&MRAIFTOi_m6u0O!R2{4j#ydee&yH?`@m$3Q*{o>UY|6 z9@QJ_wnZM*ZxcM@UjidJOO@wtN+aw}f|9Ds)D5;)prTmXa6y$f)ID|uT5d{LZ_7p{Q9RN)){ z-Pwc-9MtWL1Gpe9Fi8~t6Bu!WAuHNM<>F=4-iNbpHH=0K;G~FQQY|s_!?V#Y|EiPD zLw{ujbIe*-YuY)na}$|gmy~(TudR*(ai_vdTh9(&YwBY|60R5FN^AX^B-0mT+>tBl zQePo&4t%YpsWiTW!KU3Dn&(U^W8#z>kLwiWA?M?#=HsW%$4|`1D(B-~eMH5aIo}u*DU__gHM zSA1C9o~j9Ls%kI;$H1{pLx)qx?x~CLy5L(I!Yc`ow{aIV^hX}8R08a*eS{|- z@P=6Zcyyt0yD#o08EcZbd^MeprA@{GO(*VM`POES7HwEHDOlNed?W=^Bz0IeZdlZp z^)0o>A(~$)Yj$VcEPhV3LscZnU`j3)L)(zEZ$*REmqz`=F%+lJUB`E4zBlUOw+idV zN3!e4r#&o%J(mf_jH%}k7J27dlE=$-u-DAqx3&5DMm7}!pK*FG@Nvx>K_nja?0Ut@t4}Pk?s^E8 zC-gcK_zZC1#PLtO?oS)vVIyKymq_^@wgoyY?$@;bgK7B%2a~I}?tvRBw>DgDWNJ>h z^zyfvi@o(9c)W-SGW^+Sa;5C%WxG@Q>~7=&7PArYFEfOXePoPK9h4$!r9va zeIlB}aNA7a)sGMRI#oB{)?0VZf{xUinlCN>?{Os33TI>1BXtX(K5KK2 z_8Tc5v)MjhIR7b^_Ux*^Jk7f6SzIaLUQ+`dS8{UGnyo6)b>Ud9ko=%CSmu`i~viFg;9 z_p#^(BdUDgK7;QebBOb`xuVy%bYs@Q5JAhh;OdGF z!A+ z#7rnOJLVK_R-IqHN#j@BV8_}wmZv$p>VeUrFZ25!Atx?@@b^CqOWZzi`jEZaPlB6v zqw5ts=I#G#d=H*`f6F-+xYOlgF@4JTkZ|R)Mzo1qAxA5IN z?&gB*`ssq*d*f~o$KOx#{sZ`bm!Hy58J;K3JN&c`m)oiE`Tv94|6SZg*PlX%fAAYY z`4{uM3^@5WnSOFVzbE*8z^{3Fg?~YCGFnWmxllUXUQ3T2T7-1cvPCO~?)E+nIIItB zHq`{A*;;RkInxa@)1sL)SluP1zn1*4xxY}iN}1VgADvTD^~i{s7czmap~Xs-Ei&T! zd`d`Ejf>F){<8_`?5;itjBI+(s?lg!bMLCWs<(CUhX>S+WLDnd%5A~JZfL-O{n=Qr z--Px02IL&)#`-oF*wJsbtGbx=TPJJ7X!t90@7Ru5_Nulid$Kz$9`218%kxjrLy^~= zL4G6I`ss<(qc^L?J#d$BuL#B?tSP@jFNulq0;Z7bvsIpUJ~lATOwjUTKVsJ58?zlc zC7vzmwc^8mL}gg`;&QzpO2MA0oay(22-dRkvN0BhYi%7|lEg>T_+-AnXC;0*C0n}@ z5A>_JV}ypm(n5DnYR%9+alf9nC$oN~U{=k4L`yE}Fp2HA&s5st9-hNpHN(9wc*zPD zS)F9oXMJgRB@|<&Rr@fZp3oe{(n4nILi-{vqND&u`^8APwer{VOhZlEAFbJghd?Br!7`(dV!Bp ztF|W})`r@>e6dfRmOY)VKAa2>HOHX(zWrFDn3Hf|3h+mMCn`ZarAxWFZoFwtWJI!A zk2>_Sh!CfjL|*T8iqq>Ds7s6lmGro#L%Pcq0@CFe(!Fo*Wdasgh~)MQ zL;3gZR1-P7oy6WmZg+W{h=H@CT}3$NGxWlnC@V&ziL$!Dv=wEgZ=1JcY$G%=r1OSS zA7z(1P9ggMoWhRO2XR5*mwK=9$>@=(03Ey|3-<(dS)JN@(qw0UNTfvH(7R>-;LJyU zr~p+{+4SSZ4M@^t?OR3Dkx3;QZ|yEsb2w)h`7xI0sugH((vIQHn9&<&hy-)%Tw7|t zPlm|V(s0)wF~3B-qTS$`pr-cvJTZ-B)Fq}`QeVU0bQ6b<->J5JuL(2a7w0)qwvwoH zZbGU5NCeh;8&vNg#Ae1zm$8P%1wZz)LV%hrHc52tPP12q>$)t}tym$upZq|3h+0`B z=L#j#Avuw|NTgZv`zl@<)=&lwPkV_7XMH2rYfXgr?N2GwxJXxz6WRV1G11i=MVweq zGQqbQ(_X?<=03sp3DF|bgl&;>jO6S{#EGFloU>D3rzNLw5dLh7hE;W+ZAvbZbMrC^ zcn2_JHFE40%6Rq{L~rhl@HZ{m!$jwfK%^a8dYME|+NCO2)@Olol&L0>KRQ4YdBrY{ zkAGWkj0Y?rAPRHVW@HX0?aPD<6jRj8aL&Fl@N#yqzzZBTc#B$4kapmX;DR8B1A`2? zPTHS>UOZax=>!gDRzwIk&6w_wzNvVcD4U!Tb7fQemi_J%_J1Huet58`yOwnAm-QVQ z+|mYai}LFX6g^`Ic#ohN=T$9hGk}3wJwVto8ad-`&h9~AcXl&& zb5|$fx9H+#3tzIUY3v|@vsiw{0JoHHF|s`E6!SDhGOi!m>c@U=^@&sjxU>I_Fyt+WAI@IIIes;3Arrh2n4dG z)!B;>i6^7y*e}OkJn7F9TZfTT7WTG>!ARp1+g017-Zoljp4Q57poRp6{*+V|8vS~O z#$x_nOFpR-)HABv~eBJUrza#Y^qmA6XN zI`3dS?_D6=GVi#(ZTjbm4?C;*hEs1Cq8GSwyI45&t$R#zR_zaIA$(6UzEU^3WhlA5 z0zahOzOQi`?m$Ls#U1R?oAoB+>|>fm&E!w<9R}(VeBoaDz%IyBWJ#3{Iq%Cv(@^SM zC);2T#@TS{)cBWF}nKI8IbGs|mr7|b#1H+id>_)OncFZR9 zlM4M_+#|Uy{HL2zJz!^&Iw_m$)uI)mM5O1>JIOEJGG2u{OlB71`~r>hEc-K23^Y1G z_i0g5MEXHvdWa~^ExOsBx^q9X22+cx8AtgdV>kft5$hvs^V7cir#hg_h?RF(e{OCJ zet^8E(PjS0G{&*Fk;zirJxDjxFm&nb|CFxOK(>(j+}+x`>|yHw#D$`_Kcd|lcoRN|G@*Dx}Dp`3+2 z1(%U$TC6=sjJiTeDM+-O&=|+;p{zQI_QoQjJz}B-p0;(4vzgrS`P5sP&>Aeax;G>bfVOl>Ah>XAL0?7c6aB6qDG$b00t{W{-j}=WS%2&!YoU>Um+^iN)+Ic3enAyK;Zb2>e^XyKnP}p?*FZTs7U(vDc zS_VIJBgo5)A@<*Y+t_%sd%D)GTiI*G#PN?#pn7{+b6#dYB|bhXenBF>cwf8X8}YCH zFYzTVHTgfN_`|*tzstA9=f04qsdy9jYQ;VFU^DI@zVEmYciOb@ois6gK0WaU1$~yF z%=LcYcxiR>$?uzDC_GIt@;%XC^HvYIGy5D+wQo~vYwYv=oAtcWJa0138Rj|5Jm;9_ zT=Oh8&zsG2zIm3K=R)%=H_w21E;7$b^Ss?Wmzd`=^Q|vhgnWx7*dzoi%^SsDB z`g&p4sMkg?Z+h=P2{cH_tKV={3)B=IJ-j z3FbM`Jg+g&$>w>jc}_LY@0;h1=6REO&M?ne<~hea=bC3RPk*Fm39r0KjeTbJWuhro zCyKtuI8_Y0g1mxu2`Uw|S&&%C=syIl74%0zPY7BoXfoqs^e2L}9~!+| z&>}(7QYik3ph`h6Dn_XwTaa`ainS4A6d;Ow2%0FjA%eyT(!l_8VO{Zcf`-aX8=ujB zf{Z%*d4hCW)X0m9e=kV#wPNkMnvJRA9fFQB_ZGh-=tDv83X+t*_)|gq1hqlB65TDR zi=gd-&KLBAAgO#s*9*Er(C-CJ5G2j};u{40SkTRaRtj1yXqljppn#zJ1>G#@VL>wl zJtpW{LC*{F3)(Mel%S6UWePeWXrQ2U=BB9R?8Q9?NXsUVqxF1}ZgOhFg_NsvrI7jF?HIc)K6K^p|UCFl`Bp9y+UkWLFk?-z8s zpnC-M5>z8-h@jgA6$p|k=;DwdnSw6XvB2n!f?gDKji7e~c?Eqc=n6q?U}d7i1$7Z5 z^QXlgK^{Sa1f3~J`lHc~g8YKo2)aQ~18i1tnV^paEfI7`P*~9Gf_^S&kD$i{$q;n$ z9zp*S^pT*y39?{Qqw55TwT(U?XriF|1QiLAA?RW)XQEYt)(ToAXtSXCg2e1bX9+qk zXsV$0aM{rbf_e(d7c@Z7<$^{E8Z784K{5ngJWWs!K{pFJUC^C^(gfWr=p+ni@oxov zE@+b=?YI;_C+MJ{w*QHtBxt)J?FkjXC}^CZcLn7N(&9XNsi0KWfYD0? zbrsZ0P;Wuq1q~O}Nl?C^6hV^&9cKrsc$T2Ug31NGCrIY{qi+gYEoiTxwSsmD`kSE5 zg6ahQL(mI?{wU~eL2H2qO{pjjkvA~19Q{GvI7DlZ*Apsb?O^}m(Sp!p@U2F)u91d1vHE>|2F5GX5~U-7?} zM@8|>@}fj8ahp4?;#;qE^{Mdm8#`f&r%y$He(A2k1BVVBIKnl$Y~gL?CG&~{o_?d{ z;Tcn2ROFddHaD=Cggj%)f~9k221?3GFY)+FXAeyGm&`6Ittj%0o#Om__(Jb1`}p@WAGa}@^y3o9-kG-zIFa9~;aJnF%ep<>Xyh4Tj% z2NukCU01HirHb6Ag1Dn-HDw;}%#vC2i(EyO3yWqe>A>PLke(M@K#moz;-dKrUAG2H ziUO{RlKD8f;xuqgF2Bvw7g7!wpfG(sb0NusGL@keaDgEwnM|peIj`t)(fo$1CQkNU zHDQ`($~At^7@xl&-8H5tFuS;@!ce3v7+4q#RG9M8dR5>GPuX1j6k(vp7tXdzBK=~xU0%#G7?#X1Ol~+K+()Opyf*-xv0qF~h^%SF zMT<&G=c!Q*9Ozn12v-v&fSlGdV1Pq~0dvY`o3`Z|fM1|wK@sk*VT1XgipmGjT4-d! z^7%@}GpDSy2o&evR$A#Y{>D2e?meKQELc9f$Tgd9;>R1PXD;O{QY9Cams8}$#e90o z78aEX$zFXbdYQIbPD8*U9w`20yc6;0E{ahRm?IRO#AeP_r*9E@Ag2NQRJaxsoSv#I z`Mlhthkkv6z#i9>(pyT)7MFS|Zleh~#&AQ?zJMX>k60qIfETv!J~i zcDyVu=sIA4QlokoVN`4m<NLo5~g^p~9=h$acj ziN8McgL0o0q&Eb<)!hscCKBO2{rU_XI=4@s{^_m-Gb`g!Jq&>J0>#vt63m-4+UIlS zc_vKp`$gwPHw>QUSv-?2I#VMOy|BD2IImcxD5@-)ov8WQl#RAIXdn}1#UR)Gfa;a( zD*C&oOdc~J(=}+&WJdoAIPa1SA~62t}Z&u5#CCr;WMB7EGR8Fm>{D|5anB zPnqBpEN^l_zKglAyrL+O`1@VeAy#T~|$+JaNk8>7%`Q*Gwvy>{>WK zSUz)pj;quGDso&iU31D93`;$(^aU03W(O(*4n+4dE+uoOJ7Jwq=4(}PuU_fKmrn!V zSlY{#-pgd`%3HW_ev#kU0A!VE{sxbBxds;`zM90XP?cPJ9qAt&pj)< zi`XG?xu)};{@k;E!TeR>=fCpvum2JMc3ktWDO9th8L{Y2f=89i(<|f zpEPVh5le@BR za_1uvet5Dw9|?C6vMIcirb+*@WOqIi;YEw4@O+HF%9lCd8XWoi20SInJq}NtJYvqw*eyC>5V_i+>B?gdju4@i9AK0c0)OYTh{@vv=C zd~M$@HRZJQ4rx}WjE)I|myV%J7lTiQ7`}>l@c)Nc{sD}gC8dG+3D!T6o6B|lctgYS zHhmkqG#q#S8qOP#)^*UA4afUBf!h3+zxMKP*QS%zI$Vkz+O~H6pT9F&c&E1b`hVxc z-6pL=`e|qk#Q)swT`8wEcFgF6V@4;dvwYh&rnWm<0ROGFDXHxm6RrkuKGRP#DYSQY zNbBrs(>CSwGrD#=^Q`VlBi(gc$8!Ymzf1br{wi+ON8SSFuaenG?gD2n&@-=m=B)p#y)%K6tElsM_4G_mLK+Am zfMSCzB9ckVy{_vHgewNZkc307H$6RXW;)Z;-Sm-}$tv3dLO6t04x=D8$3g^@Mo`10 z%^l=$z$@I%r2$-NTx5d^?(bj!e|5jEo&=B0?q_#j=TlwpTmQP=zv|W1dH-n$P+3oe=n8^^qS;gP zR*p)!c`b7j(M&#T)uva+KFCd^AhU!j0BWj zI_Dg;82im;SzZf`%*~}NO(RdOvxD-90VvyQh~5Dz^`LyFRb^^e>*b)aiEe`LVLmOI ztQ?h!X${XGbVpiLt&%#=`GaxnSZ#4#mTYN0wPKL!iF72}GrS}|oKD31<5-s|$Q+E$ zb=lGkwj{Kyk0!Ki>2b|6BcgO9%cQW&wr^rk>umlCH>L}w!t0-y?n?)wqhwozefpLU z&SOVjk8duLs1N@0)rwSdU}(@%O`q;(ha?9Qt(m&IMGwj1;3AsLrA&6(cQqc8MYFfu z1Gawn92(7FJ79O-ew_}otlb0gd#|qBq4DGdH`uSEADVE7TkDxjI0qe~a43{)z4?Bv z&%@B+V=eU@(0YL^;SSjCATk$cF)itabUhElagLozsXl$fhv6h?s7YT0E|&*c5}grokWk9#XVfkec<}9@h=&|7N=twl)QqRFC{?mgx-0jV{bkXz~)b%`^ zjv<=D39zle=kPqniI(RUn+<#x#4z|+cc4^U_s<1M+V)#RkBZX+gL9kwP%fUse%$+s zbDo*jmc_kmT`$1n-g0{?uCw`cG#zbyaF^+HpQb~RmQJ_~|EUA(HH;u=`gpdfHrx&i z=_rLCDNjX*bUQ4JW(SAk8B1+L`ra2tS44+e9>5{p6&4N-ySg)aa#U(a&p8X@$+2i= z1S-|lmKYh`Y766;fx)r=}h z*Gj4<#9=5tkmXvMRt-yCaN^YR8PNA|Bt1pk#XT{Gb<-S~O7ulr?jCmL@HrC0XR4(a z4r?_oa?`C-s!Hl-Y*8vR;DN8|Cj8%k;EX4tM% zvAl}lm4dE@{z~gMYRL8s*Vh)Z*67Y}qMrGU*YoH+=FPmVnNxM2UyQ>7yLT#;(QUgJ zox17K)Ai)%Z!vydur-Esx*Zm`tg$FzMwhoFI^3E}WnE{{QECa6tV1|))Wy`lvby3+ zVyRrNMWX|H{9J;iVrx5Ob-Oo~CSh5UP{zDQS%PuCrOT@<=NV59;*TC!Gc`}oOA@K& zQM(H&?vx~JT?}V+yDx#RTb7s#_HyxAg5kR5_7v|qm(VXcEdzFz^*Iv7QLwGjtR5qm zjL;7<_E?wI&-+r0JPG<6)J>n9uIJL|GW!1w)+eVUYnfe~GP2>g&Y&q}PPgAutW8_T z`J8U+rEVh6GqyKjPLC5y2cs>e!E~{{sipB=H`ns~^=f@CjSpmK`tat6bULr47_(ZE zDSpa5%T-T@;kD_~d}gRspE-S7B*QMKxj2>6YCHzN(&bxjKCkt8%uoi0b$0K~bGl5Q zZsX=mIj3V*^iHsr%IgX7Sp2e;Y}s`!*Y|#$n`r3~*dyqv<}>lW3Hr-ei~gf4=3+Wb zD&CDr?Rv8u*sF&|2^@&xrxE<(#_JUc92%NCe+)lv@B%;rhm#!0GlvP3JbBuaz;tx( zf!K^JPO0&^16J0Rud-dWQU zb1d)9Jsg7&an3K(p1nS$t{3{!5t(+Ks+r=^ri(#$mM15&O6RsMr z&$2JJkzUqQ`@qqMe2R-t;PK--0z0d=Kr|2xY&E?-5Kw_Y zcyE*jA-U2qlmlM};co%Mn+I^>KsA7Df~vhdSp|DgaAk_>2u+10rl~40zJpTL9aOMu zN2PjpRBg2#QI!v(N*_{zau{*KDiGOK1;=+on%%*>tB&!HqJTYA+xW+j*Pg1qYc5WL z=OX^cRa^Drh_^TL-525eVeZ@ydG8N@f8?_m@s_AyZHWq$mMR!_RPCi>RWN)U%03Qh z;YW^Ffy(iy6a1bNabG8@VBsXyUN~6=y82ZI{ziQuf*xLqqkQV=%Tz~r8R|Tw+Ddo| zD?^BnRYEwaItodoS*hA1=cBv}AiDtZE>gktMJf=!SOrTLqs)s@k4scr=u#CdUJChD z$n$DkUyb-zt3da)sN1!weH?!6S{3ZMPPKKdM%ZfAUR$k#-Pa@h1{Db1q}s|iL0(pE z#j*;dzpGT}dnz#geZ*O#RCx``f?vE1ZE?G5FWsS3_)gUMP8F=dkKCm?@P}>MLlqUQ zR#2b2mFl`%1uFMJC-=jD5b@WdoR?Iv>t&_7Usi$gtE#>D8p?V{wbkAM2LtV;jzFL% z6zC|20)gswfws_`Kp?V1pe+J(u{|FQ1jctlKlxCgt>;65_DDDo2<;qbQ@aE@dUoOd zgS-EWKb2+ZjYu^vzMVm_hvjzopafj95xG9(LY&LqM}E~tQo2pCo?2 z_-XN1h<~Q|7l^+~{Hw&jQT*?TUlIRD;{R0q=fqzx{%^(qqxh3fz z0pcGd{t@CID}F@u^9k_}7QaX2i-ea6=fpov{FUN=S^UezzgGOR__vFHpZJf7zfSxY z#s9VVZ;P)^;`^K?{w(o#5`TB`_Y(h;;vXu0xA-TB-zR=j{88~w7yo?mFBQKe{`KPD zD*g||Un~9-;y)w)FU7Bk|9kP;H86|NT#d=2;-@HOCTz}JAU0bc{Y27C?p8t^sX zYrxlluK`~Jz6N{^_!{sv;A_CwfUf~x1HJ})4fq=HHQ;N&*MP49Ujx1dd=2;-@HOCT zz}JAU0bc{Y27C?p8t^sXYrxlluK`~Jz6N{^_!{sv@c%&rTkR5Ad{7}cCw;(i2QHp} z^oLc?%D}>ODUcp-JDTo)t1icJ<{vsgmCWX%$=s4$CY~IapNM9&i`{-V<0fOSIy$qq zt=Q!Z%|Em|V*<1D^BG8U2d2}Bcr2QWr;@6$?%hA}Cs3S)d=GZ}qxnQ`aX#rDk%~nV zt}2X6gg*t4q2mnqIYE=VWvF zUZ*#nL=07!Q&cKTcQpUd12dWE*kNvNekz~LsiMkGX$n3zn#j8c<`y6wN>E92cGnRWy9qa%btxdC z16a>gLB1l%0nL&|Rk}!-i;s?M=Ad(cB=(x=H4c9<#Y2 zr!SfriR(1SbGTRQD%)cRItj{SPzU#}a5E{wv_`Z;DnmG`aX6YC%Aj>Aq!7?SjTY>W z#&t$3jUW?Ck5Qc{c98>fsYGf7O^1+GI>a4~>*gvEMSD{jO{+De!UFnrNBxVXOGMbWCF(z|bMtskEC!MRr}V=%|Aa*>4{z zbG4S#^sO!twv~Js2^dJ*|-j&Qg%J~z{STcSmYdX z{L&?hNVJYc8QnTn4QUJoxqcF^XU^xeLTiR}p&K-1T!HozMID|` zdaJlfhmB<7Ih|pN5cd}w!C(Mw2=?jjo{g{2k;)S44#ah=HHMSRDN)5>p2cg0CHA;r zI+GemMu&Bd>m*E4RD;`eIq_JE^IKmhCuW+n)(9i@Qn4E-kD+)%H*ldHIV9q}Iuj@B z=A4X++t%Zzlg6kT*W=L2cBDzz`YTfCaJ@sX(%75HrABmnl$f*eBzMKtn%&{ppzgwD zgToj#Rd$WR^q5wT;BbmN^;*rtQ5|<&Lp~|Ejxd>U5*PvF$$s6*suX5!dA$LC0&0Yf zUbI1DZZP9U`<&rCo?pjQxzIr|n?%$psDdk7MciXZSZonSbGeMu=i>2A>HAwXaST&% zX<{)ND2JJVidgN9k)r7kfn{%CW`yeMEp*KUVpC#e0$HZd-0j*4q>bAhpFld2F=^Ln zsXU}r0}dy5^^>vQgbqe^->4Cvnw4R8gQmQj8AFydUE@v*lMo{ljq`Z9QWM%wE8l=M zWUVsciFi^sVMzkah`gE^lTx3Rv`i8xzy2f}mItvS+^FAL2}zr$S#x|K8q-S>+`&2% z($|Nasp3@$afj2nF$r5QVe#y+JKW1tQcc1zGQ?=AqqG}zSff)HCR2^=0gnUInDDfs z7&9>}0b=|Vt};RVjFt?tbhSZFUpAOc>yc%RFyN=V*=I5*9%K|HG@1SZV=3+@;tUpAr*{eF+S?qVkL2|AFZozUQ=UsUPYYG>d}w8 zScyWG_osO7SMt99JK`0e))cJvSRjk7DOB*IEHLf6A0{&=1_%f9MefcUDDR8 zN^LRqQX86!CJb6Ys59DK^=^B=x}{@4{dm$~G&|_1m!~AuOVfwdLo?Fq#w|1I!kJn1 z`ZidQt1r&ZCwu8JZ^}BWemtA>;$-u^)J17^^t0Kc>b=?RYW&*)6;#y`R2-eop?1Ek zZGs%`Zo~b3kKz``C~hK|A65^xWz$g%bkDT~)i{DX_TDR=RgbixpV#~FH-gb*Dv6bU z0+X<#7Z}$EX*NWpKCIBy{lS!aJQ!5vQK+zX8MTh1r`KzO**+4_4L0~ckmJi}-gdQKf7kT) z+LdVVHoYD`ryY}b2P(6g?vfVct~$2^4MR)de8yGRLHG#bqh@y_N;@76OnuHke7T!+ z(zIy*RtHv4QT1v^K9O*E_47uD_Ic^|JIel^HsnxyT;K5%xYuOLaeJeE{p##V(7{i& z25-}fra|qCld`G=L2(TQdAsCAlc*HB-%NCv8|5KHtbK>HkEKb!x^_}Ry*?S4eh)$P zoY0`mgRYaL#MG74Gn3M(Y<$!~Zy8BC>YJ0Zu}m}<8+3Z}{n$G?1DVu_`U$eBTu3=n zCvkXO&SLq)>zS)3n`c%%N(G(~BrSchEkJFbbu(C%yn^uJ1@sI%>cvU2NKn^LLF~II zbQpU~G#D)_Fw6a6G8RGu3AY|_4I)-_M4G)F_4z3oG*KoCh3YCo-Y@1IIaQIAi>#_I8DiBxI`WAS^_((2slXz!b*>-DLV z8dB?~<6&Gw)x;JM{o<;rDF;KH<3_Pr`QcOuFQsBi-=OaTu2nmB)tNZ9mk&?vk7u$u z_3l*ckD=4p5Q@Z;Jb?ak#Z)D{tzl&CQ(u8(9AT=BQ)SgT(@d_n zKvvZyL;xx)m1abdNJ^54b?}Rdy#znIvN$C>be=d z>dhJMuoJ`hptl=e+mhG)QB~R!**I~;wOeAl{|s_iNAp=*V}SVimNa1Marbu+m%kiD zU(59$pw5_yg09sCU5_Gy(Ge`5XdQ9ROjq4FGmU0CFN6f&g0Njb^HDmRQP<9lr7}F4 ztJh`@ptm6ZY$A%M(lejcX40sG=jLq`Q~eu|*h>|Va{;Z0c`C2e6yAQT zvqJsq;Sd^8y&2M*DfRuWQfc+rR-WNXowqdx4E618FtKfeOdp~_Qa{-tTFt4aDCZvq z0=RsIs{e={T`|V0Hrk869>U5&{fQ*!;mJ@JZiPI~)lZKsLDV^0(F#Oe4N2*I#GwU< zx*1f(;saqnpzrECZB)csO8y=tM>F2FRZcyRfDP0H?a|DDdU7kw0_vTusHgr3w~|v| z*t%W4bq>uaHT}Ioe^<^32KD?{A7<69Tk9Q>dTHylx(YX1{Gx88K7H1pzP+{CDm}in z-k|&f`Bp9<1s96CP4TUQCepJU>5p5}lMQZC$LB!feOlk%c0t-RkNBVy(eb1KH4>;EPn}|n-+U< zIuuPL=xpdUgjdmrQQsG-rjEK|mS;j#=b|2k?;@SL5m&`q>G9A98yJqSCE52W6`sy* z>%n&+xP}Q91>Q%(`a^&3w*2rvhX~{M(~Udop>6R@Vd_qoj8>U+jUU)tjh^V`8Re7FruC1f*!n$C9 z$EIIEQsOX_3Hi?(`MiXD)O(cq3l!KGsyED`?7zG{GS!L3kpUWnE4ZqD|FF(+3DsD9%3iX7Gfnr;^Z9Gs8c2y>oIx21HbTtqe57q*OKv#K6q}*2NNQY{HP-%K) z$HL5>bQqs>IS>kky3@rrL@ETji-B;VBND0x3T?$nrS{_FNTnmx6N!YYfl?scRS2dd zJ*8mv1C?zG!CHH*JzSZBERZ%FiiAVq0xqjt7u%6K5Gi(q(qYsg6ez@aIvGOwr{yDRGo%e zO|G?7g5^*lP}!yytZds|ZYxbHwj*w-y{8aBVYsZdMS8{q)j*_+GK0Q$y;-R=R35rR zsc!gNJfPGp_^Y2#st5i7TL#nyEI=sCrZq}0CHg2KB)IJ_V8 zJ;L2bGe0I=`wa7oCjQCH8;txE=B>Bp{L^vfU4+L!$GpFA;R5FQ!e!wlhA(2dD_pvn z`3&J6+&9(#D<=L!%(n;^*E8QMTor!Gq<@R$zX9)rjJh{4w{OE-{XO&c!d-u0o(CrV z^=!xXRX-)17CuVimp{nzLE*^G%x4Ohc459uxMx@9o4}NRaZl#kL>`*U{D{cM_hWui z7yoGn9n?Y7T?df@Seiz5SA|y4j;~(1XKBuPcwhc#9zpKzHmhNCgJWQS^g8@ zvhdp`{vwvo+Lr5665dO=a1_gr67KG1PJpRC1>wBNYe%#EOTyvB%-5OpOPFsLjx1$< z3{3g;2tOlS5`Im%D!f5Bd<>_bG@H|R3-2gg5Z;Hl1JCCm$3IxOOZaHv@-mhuz&jzn zu`7F_@VLltFzJUl{w=~i!WH3kg5?hhmxZ4Yt_eRQJbjqszbL%D@Ot5o2)`-3hwvYT zBf`P$_!y>bj5lDdBG6 zns8A#IEUk}65c|%B)pq&Rrnu;)%~3R!NOg_M+hG-e2Q?l#d99u^hSQXa3A9Dg!-=% zK3ljXe7WQ|_+WGT$l7L33tuPk%fjC!-U83P@DGIF6n!U`J^8h=KFrwCsv91^}mc$V;wgy#tVO85i9?+Ay5Ke7YYFCzT+ zh9Bkf7Z`qw`2^uE;UVF}g+D9YE&N5{9^os5)513ipDO&Q@Tl-p!e!ytgd;!Z`UH05 z`tKvWgYW^u^Mt#E7YJ9yp7&|OFAJY9Z0vnsX80K{Z?*6S;qMBoXIcJ$@D$-+2#17U z7oHesc^UO3Btz<$Ax=@&lDaMzD77L z{HXA#@P7ywgy(&b?`Ng(pm0%mh43ojmBJtr+tXi8#d_+yo|4>_sS`K^*=c8og}?slYVDidZT==d{g)TPsq=! zkA>ig?mx7F^S(*SH*CtsGDUxg>HfX)O_hI-RsJJV{-LC00?MI}sh?NAsq&X0KX3UX;ED8O*7wgqzAFkbj7$A|)G&_I zhnV_@k^gpQ){mM0H-N(wQ9g*eN&QUQrMZ4{z!TLkGMmSP(;%n%8K(Sqg^SPyKIBpT zymET}%zmXP=?znSN*{uwk4f*9Q+l(%`G%x7Y||cpDReu-xdG(hCPxQQ-{qK`fzF|}T%~ttd`KHRRS>?Yg<=f+750pkl z^!^>|&#);!f;|X*i0S^la?+pKpD&m6hE4hcCC103_sS`~+0Pdwyg)g!o|+$md>*pSQSex90fUf$8}*`;}dU&3 zqYJ6ZG|q&W^y!sTdzkZTZM>CoL-pN5S-aQvk| z(D3rS&fzK{opIcYuprt13@#P`3KKj4|@~iev5LyhX}6{w(oZdo z(Y0@k&t5sDH|M8ICB0#jzF?*I%5{4~DHM0a)L+=7Ph06D9yz5i311@V4V&~;E4^1v z>CJiWEt1}_Nq@JM-pI!hpPqkneyH$Q%ZSbS;m3u|`C*iJ3)J_|?0;WEd~bie0z6Uw zGw07UI=TG~oBG@PWv^V{znoX^A?eNewMn0*3w+3fs_W<5#FXBgZ|^PX4U>FVIJctCz!T}WAm{aefSjIh z!=`@Yx^|8FdF6C}-EzLa!#rspVUxaUr8n_OPU+3>0dpn2VUr%qZv7!9{TTUyh)?=3 z=R1pp&H2uW!sdJ@A#BcfC_nG`M8n8T1cvZHk_^Y|nhR$!V|dcsCHxPXL-=O-QJPUd z*&jxUXW+a=&Xckt?>>&>pDA2LMpWJf!jTi1uNE$TlKCd#ap5~meBpOw4tKL0(|}GNUd)U?ORDepWx3y!@Ot4h zglocIB}V@~{5~EZzfBAmTFUw1e-UW;5hA}|P<0mA7gS$>po&(q99!j%V^@t@6fe$~5~zbRaj{(}ER#rJnM%U?9{ zuVDU@a7FloSm#jv!omxLE9fW)R>uf;U(VcX_&nyEaOpzke-Tz9$A78O`FEYm@+*aF zQop-|E5eTpj|;yhTory#xFGrAf2HaC)%l$NPQpE3W&W7(_$AB-30KZxKFY+G`}>S= zc_qu!!lfef=Y)%r|GC0dx!kLusLryLb&VeT;G#~!+SILn)pkYM@{@InNJrk37>1^SF`-f!XX@ZpjxVA z;+L4O7Y;wb{3tQTr*-l?J}vSH1`PadeQpqa{)rgl+gmbzO`ptM6W&gEgYbumq4>(( zoZmje#Rr&A5bk=Axgf08GG8qm7On_Kgr5@b5#AtN5S}xI%P$J=Asm+WJwUj02$y%L za81U?V}wJ`u-p+Yht#IU3=I;xK|Bd-x;qtGU9~17bF+U|-{SEU=CjRTpZwQCqV17rqDDvPm)=xp? zGlVO`bA;1U{)dH?aHnus_)|tM=?^#QrM#nsi&Fm{;Vy|E7w(q)vck33xc;XJS42N& z3y(|wUlNW8mrQ&q?d$i)zin}FdUN~_Tl^`D7g&6< z#c5{DLi{g z>9=gJd^d~dTD-5tT^293_ymh%7B92-REtL}KFi{-SbUAeH(GqF#rInLh{Zp(_*siz zvG}(Z|DHK$p3lIRTHkfv(&8PM>*L8Mnd|L$kQKkzlAmhvn8l}Ce4fP@S$vtrS6h6e z#ow{`c8edh_)&|0X7RHYziDyD%;x^Pqs9AKyvX9X#UmD9Xz?``-(m3+7Qbro8y3H3 z@#IkR{cLIRju!7?@$MG?y~Xn_KEh(h;z5f~wfM6Zf5GCS#g|#U+T!n8e2>KsTl}QO zFIfC<7XQxTcP;L~|CjcThg(`a+u~g;-oxU(E&im%hgf{1#m88Dip2vKCoLYa_;icU zvG^j3FSqz=i%-P)#7S@`!<_=>!1cgI;dO465 zKQ#2tHofynZz|H+4BjAAUxvf$h6?XI;8_G~=MrVjX;%^f%~uYm)Ycd!f`@Y}Dg;SF;JY!Ap- zK+vx&+olW3rf1;Rwf1ojFx65cRJfCyrPK-&{&HXL9HEmH&y>HC`?aI{en zHax)BeQZHMz+*;$L-b3Xd`U_-@B24G*qT6tTdfK-WJ$3%fQHfapd9OAY-GSIXe}&B zZ_;xVda+n63YY+GSHKG%+X5UcCKVXcuq+@~ws`>#&bazrRs-6&fB|}iUrY>eP~A2I z3|Tc97SIN|$glvJ1enNzKvM*d34nTd!-zmV2%6JY1?mA*pVs$|>*A(to6Q@*1{kae z;Cliy0x+d0b^&meC2IiW)2p@)-p6merRoeDg900WcIwsunr(y-)r|mnfeit`N|br^ z-&ptHw`oC*SN#DSd)MD+#Z~pIy>JN&0`gwJzUFRDq1w(IN6?peVO+<6#_1J(b4{x#Qd6LQRo@${K2dQrHY1=TXk%yfD^n;+p*Qs<9JUOgc&a4A>8*WpU9XI1;9{XC zpm`)iYcz`7Xe{%JzAk8^vGhCsc9bTQX%h-Jo(!Ft-}|319i+w@fGtn+U1OMLivU_q zgSNH{pb4pY%;%_CvIyX08#Vwim6&(_X;v}QC%@{iLz>?9Zwawq@z)V1crxqt(57!t z1ye6Jg@cB+LmIFC+oJl*|FqQbJe5TJlDA%i@T>lG$uIjmun2=!`^lr1`|UUSO*lUr z5{XB|i48|-ds<#Q8_wun_1FAyU7tNi_3P{U-F|0OUcJXf{q1~bluSUOnG~+%U3a?T zckSy}5fYo1^>NwA-(1R2F&dZG_npytZq4J@Xg%*nex9m}y#Z&mQG{HX5}Fl1>d`!1 z(_8hZjgeSy zn3#v1$jYu|EY@JNnb`L?``c(d78$LL^VBi0y)h20=B?ZK;d@i;&X zz_R66y-0=~D#^TI;#{ z+SQiWVsO;qPDtOL>5hZ_LEY9T0s3=H+bx1QJKALQBRj8IPms3f zNt3cMvQf5IIyo_{>9MFOrZnN1`!L2c#dcDQ;dCU1bwrFISU3-2n4_V}$&vYPESB}L zK*OFT4LBZKg4j_d`w}pi>GY*qBU5W>Nz*|AX&MF@v5AL)PFf$spgCPOB6Tx!w%vb<{A7NRGhv zSTC$WlEpxbRc3^&-!VoM8+fHfxV3^6A=%gKN|qSm)<`ox3{&Z&B!-a4ZJ z$-G@7Y9a;u$0n+_Cu$aS{8X@wQ9UvwW;MfRs@d)pVogCM(7ty|r9>$TRmf)h3jSg>9ROQtUF)>ELQg-t1%^XkbY zSkFh8D)BV5h;Sy5!E-73dLocTX|k!0wyghw0T@))e?Gt)Ej56#MprpOwm@ZIcHC?% znkKB5$dh6nF)G8Ju~tLV`JE?)H;Rnj`6TT&HWG*TSeuOEinabmwY-H)bbF0jZZc!8 zpB@%qJMq*_)o@~&CsZ~(-rF=md&!W{8A~PlIzQe-&9c3lWc$ck3d0zgf~_Z~2gti6 zs|!RG^Qag7LU@{SiMUT z#0FiO!x2hnzBFo7FqkYUS zhp;@)W-(|{=hhFU1U1hTSviYGELzKY=Md@_yo%B5CG=}D1BoiK@6DQ1d)l4M1Y=rg zw7;}_U70kAv!Pd-NL+J?QJEecxrya&rk7XnGzE5!KqWZ;gGow^DSB4qAZ?Ns7Dy#5 zF_s*)qUj(j8mgGEqUoS|G;CXN+?jUhvCaLu&=#1>EscMcQ4Qg z`T-Uw_zNmI{PJObI?y%6^T5Y@ZnATbjFyU_$wqKAX9>vgH~*a${UZvu8~VPP6!7Cm zCprKO5yO5mje8q8D6Kc1JRT+@byf+I78I45$0?PG59k>de{7=3zP96$Xj|c4DF^7? z5f(0JG+w&U2x9#<*C}_x!#5w~;gE*5Sp0=E9bP2U5=#H*M$Ju4PfH{T(S6+;0#&3^ zhz0xK7$>m|!_(s(Ud?)?lO}!a?K~r|EkcLGpA4a9b?77^k3&N?9o*TBSR`N;__HHI z@%8a$Q%jjnoo%1~0~-7%g#MCr%@2_N?IMvH&_@XLXG{3k3<>d8$g}p5*|A;^Es~BX z1EOBDnh8S|j5K+&EoE8%X4Sl7@EcBc9tP2*o0*5@^w7LPH{L&&HtsMQjW7$B$I?Rs z^Lq2~L>~>q*?BVU%$31>-spb&%uQuS=VJ9Sud{PrHWRByiOk)1|NZyv{rml6efx6n zuZvKD9F803(ZY6~qUy;HD4nstwvJ-;)$KD?nujWqqcS?9yL$^seYCN}@PzB%X(rk) zn3;>>PV@^?{RgDYSN%p2-pbcQm9)#|tAHuMTfBrRdSJP$ZNBn7Wl$CBPp%#;%)X2l z8WW6q^nA?a;c4?#(OZaDP2LS9Z6mQu!QjHg0f!uG(8RU*s_8AHsiIAXDvh(0%~umo8QxZF1j`ZGpLL95W+3l|m=9X&XHpYI zF?(i@?62K=@p$pSU`^+_S9|%xCu5th$tC}$ekXI}`=7i0SD$NeW#*#aZ|)n`WlVI_ zI8bapI^4)ni|7a|{N}R^T9wn;Vs`W0L8FMK8`#u-z_a++RJ8hXT~0}9>t*`p`=@K# zHeh?O88v{+oA3So&TDxnc%QAz=G|%x;EyWAdubO!yAJ&O>$V=AY!vN7H=~y0y(kR3 zy}7!aCWY%`Z(exOJ(8`$oh3_jUt&BxwA! z@n7)kMf2&cA. + +# Prerequisites for using ${prefix}/lib and ${datarootdir}/locale. +prefix="`dirname $0`/../.." +exec_prefix="${prefix}" +datarootdir="${prefix}/share/gettext" +datadir="${datarootdir}" +# Set variables libdir, localedir. +libdir="${prefix}/lib" +localedir="${datarootdir}/locale" + +# Support for relocatability. +if test "yes" = yes; then + orig_installdir="$libdir"/gettext # see Makefile.am's install rule + # Determine curr_installdir without caring for symlinked callers. + curr_installdir=`echo "$0" | sed -e 's,/[^/]*$,,'` + curr_installdir=`cd "$curr_installdir" && pwd` + # Compute the original/current installation prefixes by stripping the + # trailing directories off the original/current installation directories. + while true; do + orig_last=`echo "$orig_installdir" | sed -n -e 's,^.*/\([^/]*\)$,\1,p'` + curr_last=`echo "$curr_installdir" | sed -n -e 's,^.*/\([^/]*\)$,\1,p'` + if test -z "$orig_last" || test -z "$curr_last"; then + break + fi + if test "$orig_last" != "$curr_last"; then + break + fi + orig_installdir=`echo "$orig_installdir" | sed -e 's,/[^/]*$,,'` + curr_installdir=`echo "$curr_installdir" | sed -e 's,/[^/]*$,,'` + done + # Now relocate the directory variables that we use. + libdir=`echo "$libdir/" | sed -e "s%^${orig_installdir}/%${curr_installdir}/%" | sed -e 's,/$,,'` + localedir=`echo "$localedir/" | sed -e "s%^${orig_installdir}/%${curr_installdir}/%" | sed -e 's,/$,,'` +fi + +# Internationalization. +. gettext.sh +TEXTDOMAIN=gettext-tools +export TEXTDOMAIN +TEXTDOMAINDIR="$localedir" +export TEXTDOMAINDIR + +# Redirect fileno 3 to interactive I/O. +exec 3>/dev/tty + +# Output a prompt. +if test $# != 0; then + echo "$1" 1>&3 +fi + +# Find the user name on the local machine. +user=`id -u -n 2>/dev/null` +if test -z "$user"; then + user="$USER" + if test -z "$user"; then + user="$LOGNAME" + if test -z "$user"; then + user=unknown + fi + fi +fi + +# Find the hostname. +# hostname on some systems (SVR3.2, old Linux) returns a bogus exit status, +# so uname gets run too, so we keep only the first line of output. +#host=`(hostname || uname -n) 2>/dev/null | sed 1q` +host=`"$libdir"/gettext/hostname --short 2>/dev/null | sed 1q` + +# Find the hostname. +hostfqdn=`"$libdir"/gettext/hostname --fqdn 2>/dev/null | sed 1q` + +# Find a list of email addresses from various mailer configuration files. +# All mailers use configuration files under $HOME. We handle them in a +# last-modified - first-priority order. +cd $HOME +files="" + +# ----------------------- BEGIN MAILER SPECIFIC CODE ----------------------- + +# Mozilla Thunderbird addresses +files="$files .thunderbird/*/prefs.js" + +# Mozilla addresses +files="$files .mozilla/*/prefs.js" + +# Netscape 4 addresses +files="$files .netscape/liprefs.js .netscape/preferences.js" + +# Netscape 3 addresses +files="$files .netscape/preferences" + +# Emacs/XEmacs rmail, Emacs/XEmacs gnus, XEmacs vm addresses +# XEmacs mew addresses +files="$files .emacs .emacs.el" + +# KDE2 addresses +files="$files .kde2/share/config/emaildefaults" + +# KDE kmail addresses +files="$files .kde2/share/config/kmailrc" + +# GNOME evolution 2 addresses +files="$files .gconf/apps/evolution/mail/%gconf.xml" + +# GNOME evolution 1 addresses +files="$files evolution/config.xmldb" + +# GNOME balsa addresses +files="$files .gnome/balsa" + +# StarOffice and OpenOffice addresses +sed_dos2unix='s/\r$//' +sed_soffice51='s,StarOffice 5\.1=\(.*\)$,\1/sofficerc,p' +sed_soffice52='s,StarOffice 5\.2=\(.*\)$,\1/user/sofficerc,p' +sed_ooffice='s,^OpenOffice[^=]*=\(.*\)$,\1/user/config/registry/instance/org/openoffice/UserProfile.xml,p' +files="$files Office51/sofficerc Office52/user/sofficerc "`sed -n -e "$sed_dos2unix" -e "$sed_soffice51" -e "$sed_soffice52" -e "$sed_ooffice" .sversionrc 2>/dev/null | sed -e 's,^file://*,/,'` + +# mutt addresses +files="$files .muttrc" + +# pine addresses +files="$files .pinerc" + +# xfmail addresses +files="$files .xfmail/.xfmailrc" + +# tkrat addresses +files="$files .ratatosk/ratatoskrc" + +# ----------------------- END MAILER SPECIFIC CODE ----------------------- + +# Expand wildcards and remove nonexistent files from the list. +nfiles="" +for file in $files; do + if test -r "$file" && test ! -d "$file"; then + nfiles="$nfiles $file" + fi +done +files="$nfiles" + +addresses="" + +if test -n "$files"; then + + for file in `ls -t $files`; do + + case "$file" in + +# ----------------------- BEGIN MAILER SPECIFIC CODE ----------------------- + + # Mozilla and Mozilla Thunderbird addresses + .mozilla/*/prefs.js | .thunderbird/*/prefs.js) + addresses="$addresses "`grep -h '^user_pref("mail\.identity\..*\.useremail", ".*");$' $file 2>/dev/null | sed -e 's/^user_pref("mail\.identity\..*\.useremail", "\(.*\)");$/\1/'` + ;; + + # Netscape 4 addresses + .netscape/liprefs.js | .netscape/preferences.js) + addresses="$addresses "`grep -h '^user_pref("mail\.identity\.useremail", ".*");$' $file 2>/dev/null | sed -e 's/^user_pref("mail\.identity\.useremail", "\(.*\)");$/\1/'` + ;; + + # Netscape 3 addresses + .netscape/preferences) + addresses="$addresses "`grep -h '^EMAIL_ADDRESS:' $file 2>/dev/null | sed -e 's/^EMAIL_ADDRESS:[ ]*//'` + ;; + + .emacs | .emacs.el) + # Emacs/XEmacs rmail, Emacs/XEmacs gnus, XEmacs vm addresses + addresses="$addresses "`grep -h '[ (]user-mail-address "[^"]*"' $file 2>/dev/null | sed -e 's/^.*[ (]user-mail-address "\([^"]*\)".*$/\1/'` + # XEmacs mew addresses + domains=`grep -h '[ (]mew-mail-domain "[^"]*"' $file 2>/dev/null | sed -e 's/^.*[ (]mew-mail-domain "\([^"]*\)".*$/\1/'` + if test -n "$domains"; then + for domain in $domains; do + addresses="$addresses ${user}@$domain" + done + fi + ;; + + # KDE2 addresses + .kde2/share/config/emaildefaults) + addresses="$addresses "`grep -h '^EmailAddress=' $file 2>/dev/null | sed -e 's/^EmailAddress=//'` + ;; + + # KDE kmail addresses + .kde2/share/config/kmailrc) + addresses="$addresses "`grep -h '^Email Address=' $file 2>/dev/null | sed -e 's/^Email Address=//'` + ;; + + # GNOME evolution 2 addresses + .gconf/apps/evolution/mail/%gconf.xml) + sedexpr0='s,^.*<addr-spec>\(.*\)</addr-spec>.*$,\1,p' + addresses="$addresses "`sed -n -e "$sedexpr0" < $file` + ;; + + # GNOME evolution 1 addresses + evolution/config.xmldb) + sedexpr0='s/^.*\(.*\).*$,\1,p' $file 2>/dev/null` + ;; + + # StarOffice addresses + # Not a typo. They really write "Adress" with a single d. + # German orthography... + */sofficerc) + addresses="$addresses "`grep -h '^User-Adress=' $file 2>/dev/null | sed -e 's/#[^#]*$//' -e 's/^.*#//'` + ;; + + # mutt addresses + .muttrc) + mutt_addresses=`grep -h '^set from="[^"]*"[ ]*$' $file 2>/dev/null | sed -e 's/^set from="\([^"]*\)"[ ]*$/\1/'` + if test -n "$mutt_addresses"; then + addresses="$addresses $mutt_addresses" + else + # mutt uses $EMAIL as fallback. + if test -n "$EMAIL"; then + addresses="$addresses $EMAIL" + fi + fi + ;; + + # pine addresses + .pinerc) + domains=`grep -h '^user-domain=' $file 2>/dev/null | sed -e 's/^user-domain=//'` + if test -n "$domains"; then + for domain in $domains; do + addresses="$addresses ${user}@$domain" + done + else + # The use-only-domain-name option is only used if the user-domain option is not present. + domains=`grep -h '^use-only-domain-name=' $file 2>/dev/null | sed -e 's/^use-only-domain-name=//'` + if test "Yes" = "$domains"; then + addresses="$addresses ${user}@"`echo "$hostfqdn" | sed -e 's/^[^.]*\.//'` + fi + fi + ;; + + # xfmail addresses + .xfmail/.xfmailrc) + addresses="$addresses "`grep -h '^from=.*<.*>' $file 2>/dev/null | sed -e 's/^.*<\([^<>]*\)>.*$/\1/'` + ;; + + # tkrat addresses + .ratatosk/ratatoskrc) + domains=`grep -h '^set option(masquerade_as) ' $file 2>/dev/null | sed -e 's/^set option(masquerade_as) //'` + if test -n "$domains"; then + for domain in $domains; do + addresses="$addresses ${user}@$domain" + done + else + # The domain option is used only if the masquerade_as option is not present. + domains=`grep -h '^set option(domain) ' $file 2>/dev/null | sed -e 's/^set option(domain) //'` + if test -n "$domains"; then + for domain in $domains; do + addresses="$addresses ${user}@${host}.$domain" + done + fi + fi + ;; + +# ----------------------- END MAILER SPECIFIC CODE ----------------------- + + esac + + done + +fi + +# Some Debian systems have a file /etc/mailname. +if test -r /etc/mailname; then + hostmailname=`cat /etc/mailname` + if test -n "$hostmailname"; then + addresses="$addresses ${user}@$hostmailname" + fi +fi + +# SuSE Linux >= 8.0 systems have a file /etc/sysconfig/mail. +if test -r /etc/sysconfig/mail; then + hostmailname=`. /etc/sysconfig/mail && echo "$FROM_HEADER"` + if test -n "$hostmailname"; then + addresses="$addresses ${user}@$hostmailname" + fi +fi + +# elm has no user-defined addresses. +# mailx has no user-defined addresses. +# mh has no user-defined addresses. +# They use the system default. +addresses="$addresses ${user}@$hostfqdn" + +# Normalize addresses: remove addresses without @, lowercase the part after @, +# and remove duplicates. +lowercase_sed='{ +h +s/^[^@]*@\(.*\)$/\1/ +y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ +x +s/^\([^@]*\)@.*/\1@/ +G +s/\n// +p +}' +naddresses="" +for addr in $addresses; do + case "$addr" in + "<"*">") addr=`echo "$addr" | sed -e 's/^$//'` ;; + esac + case "$addr" in + *@*) + addr=`echo "$addr" | sed -n -e "$lowercase_sed"` + case " $naddresses " in + *" $addr "*) ;; + *) naddresses="$naddresses $addr" ;; + esac + ;; + esac +done +addresses="$naddresses" + +# Now it's time to ask the user. +case "$addresses" in + " "*" "*) + # At least two addresses. + lines="" + i=0 + for addr in $addresses; do + i=`expr $i + 1` + lines="${lines}${i} ${addr} +" + done + while true; do + { gettext "Which is your email address?"; echo; } 1>&3 + echo "$lines" 1>&3 + { gettext "Please choose the number, or enter your email address."; echo; } 1>&3 + read answer < /dev/tty + case "$answer" in + *@*) ;; + [0-9]*) + i=0 + for addr in $addresses; do + i=`expr $i + 1` + if test "$i" = "$answer"; then + break 2 + fi + done + ;; + esac + case "$answer" in + "<"*">") answer=`echo "$answer" | sed -e 's/^$//'` ;; + esac + case "$answer" in + *" "*) { gettext "Invalid email address: invalid character."; echo; echo; } 1>&3 ; continue ;; + *@*.*) ;; + *@*) { gettext "Invalid email address: need a fully qualified host name or domain name."; echo; echo; } 1>&3 ; continue ;; + *) { gettext "Invalid email address: missing @"; echo; echo; } 1>&3 ; continue ;; + esac + addr=`echo "$answer" | sed -n -e "$lowercase_sed"` + break + done + ;; + " "*) + # One address. + while true; do + { gettext "Is the following your email address?"; echo; } 1>&3 + echo " $addresses" 1>&3 + { gettext "Please confirm by pressing Return, or enter your email address."; echo; } 1>&3 + read answer < /dev/tty + if test -z "$answer"; then + addr=`echo "$addresses" | sed -e 's/^ //'` + break + fi + case "$answer" in + "<"*">") answer=`echo "$answer" | sed -e 's/^$//'` ;; + esac + case "$answer" in + *" "*) { gettext "Invalid email address: invalid character."; echo; echo; } 1>&3 ; continue ;; + *@*.*) ;; + *@*) { gettext "Invalid email address: need a fully qualified host name or domain name."; echo; echo; } 1>&3 ; continue ;; + *) { gettext "Invalid email address: missing @"; echo; echo; } 1>&3 ; continue ;; + esac + addr=`echo "$answer" | sed -n -e "$lowercase_sed"` + break + done + ;; + "") + # No address. + { gettext "Couldn't find out about your email address."; echo; } 1>&3 + while true; do + { gettext "Please enter your email address."; echo; } 1>&3 + read answer < /dev/tty + case "$answer" in + "<"*">") answer=`echo "$answer" | sed -e 's/^$//'` ;; + esac + case "$answer" in + *" "*) { gettext "Invalid email address: invalid character."; echo; echo; } 1>&3 ; continue ;; + *@*.*) ;; + *@*) { gettext "Invalid email address: need a fully qualified host name or domain name."; echo; echo; } 1>&3 ; continue ;; + *) { gettext "Invalid email address: missing @"; echo; echo; } 1>&3 ; continue ;; + esac + addr=`echo "$answer" | sed -n -e "$lowercase_sed"` + break + done + ;; + *) echo "internal error" 1>&3 ; exit 1 ;; +esac + +# Print to standard output. +echo "$addr" diff --git a/vcpkg/installed/x64-osx/lib/glib-2.0/include/glibconfig.h b/vcpkg/installed/x64-osx/lib/glib-2.0/include/glibconfig.h new file mode 100644 index 0000000..01fb188 --- /dev/null +++ b/vcpkg/installed/x64-osx/lib/glib-2.0/include/glibconfig.h @@ -0,0 +1,220 @@ +/* glibconfig.h + * + * This is a generated file. Please modify 'glibconfig.h.in' + */ + +#ifndef __GLIBCONFIG_H__ +#define __GLIBCONFIG_H__ + +#include + +#include +#include +#define GLIB_HAVE_ALLOCA_H + +#define GLIB_STATIC_COMPILATION 1 +#define GOBJECT_STATIC_COMPILATION 1 +#define GIO_STATIC_COMPILATION 1 +#define GMODULE_STATIC_COMPILATION 1 +#define G_INTL_STATIC_COMPILATION 1 +#define FFI_STATIC_BUILD 1 + +/* Specifies that GLib's g_print*() functions wrap the + * system printf functions. This is useful to know, for example, + * when using glibc's register_printf_function(). + */ +#define GLIB_USING_SYSTEM_PRINTF + +G_BEGIN_DECLS + +#define G_MINFLOAT FLT_MIN +#define G_MAXFLOAT FLT_MAX +#define G_MINDOUBLE DBL_MIN +#define G_MAXDOUBLE DBL_MAX +#define G_MINSHORT SHRT_MIN +#define G_MAXSHORT SHRT_MAX +#define G_MAXUSHORT USHRT_MAX +#define G_MININT INT_MIN +#define G_MAXINT INT_MAX +#define G_MAXUINT UINT_MAX +#define G_MINLONG LONG_MIN +#define G_MAXLONG LONG_MAX +#define G_MAXULONG ULONG_MAX + +typedef signed char gint8; +typedef unsigned char guint8; + +typedef signed short gint16; +typedef unsigned short guint16; + +#define G_GINT16_MODIFIER "h" +#define G_GINT16_FORMAT "hi" +#define G_GUINT16_FORMAT "hu" + + +typedef signed int gint32; +typedef unsigned int guint32; + +#define G_GINT32_MODIFIER "" +#define G_GINT32_FORMAT "i" +#define G_GUINT32_FORMAT "u" + + +#define G_HAVE_GINT64 1 /* deprecated, always true */ + +G_GNUC_EXTENSION typedef signed long long gint64; +G_GNUC_EXTENSION typedef unsigned long long guint64; + +#define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##LL)) +#define G_GUINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##ULL)) + +#define G_GINT64_MODIFIER "ll" +#define G_GINT64_FORMAT "lli" +#define G_GUINT64_FORMAT "llu" + + +#define GLIB_SIZEOF_VOID_P 8 +#define GLIB_SIZEOF_LONG 8 +#define GLIB_SIZEOF_SIZE_T 8 +#define GLIB_SIZEOF_SSIZE_T 8 + +typedef signed long gssize; +typedef unsigned long gsize; +#define G_GSIZE_MODIFIER "l" +#define G_GSSIZE_MODIFIER "l" +#define G_GSIZE_FORMAT "lu" +#define G_GSSIZE_FORMAT "li" + +#define G_MAXSIZE G_MAXULONG +#define G_MINSSIZE G_MINLONG +#define G_MAXSSIZE G_MAXLONG + +typedef gint64 goffset; +#define G_MINOFFSET G_MININT64 +#define G_MAXOFFSET G_MAXINT64 + +#define G_GOFFSET_MODIFIER G_GINT64_MODIFIER +#define G_GOFFSET_FORMAT G_GINT64_FORMAT +#define G_GOFFSET_CONSTANT(val) G_GINT64_CONSTANT(val) + +#define G_POLLFD_FORMAT "%d" + +#define GPOINTER_TO_INT(p) ((gint) (glong) (p)) +#define GPOINTER_TO_UINT(p) ((guint) (gulong) (p)) + +#define GINT_TO_POINTER(i) ((gpointer) (glong) (i)) +#define GUINT_TO_POINTER(u) ((gpointer) (gulong) (u)) + +typedef signed long gintptr; +typedef unsigned long guintptr; + +#define G_GINTPTR_MODIFIER "l" +#define G_GINTPTR_FORMAT "li" +#define G_GUINTPTR_FORMAT "lu" + +#define GLIB_MAJOR_VERSION 2 +#define GLIB_MINOR_VERSION 78 +#define GLIB_MICRO_VERSION 4 + +#define G_OS_UNIX + +#define G_VA_COPY va_copy + +#define G_VA_COPY_AS_ARRAY 1 + +#define G_HAVE_ISO_VARARGS 1 + +/* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi + * is passed ISO vararg support is turned off, and there is no work + * around to turn it on, so we unconditionally turn it off. + */ +#if __GNUC__ == 2 && __GNUC_MINOR__ == 95 +# undef G_HAVE_ISO_VARARGS +#endif + +#define G_HAVE_GROWING_STACK 0 + +#ifndef _MSC_VER +# define G_HAVE_GNUC_VARARGS 1 +#endif + +#if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590) +#define G_GNUC_INTERNAL __attribute__((visibility("hidden"))) +#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) +#define G_GNUC_INTERNAL __hidden +#elif defined (__GNUC__) && defined (G_HAVE_GNUC_VISIBILITY) +#define G_GNUC_INTERNAL __attribute__((visibility("hidden"))) +#else +#define G_GNUC_INTERNAL +#endif + +#define G_THREADS_ENABLED +#define G_THREADS_IMPL_POSIX + +#define G_ATOMIC_LOCK_FREE + +#define GINT16_TO_LE(val) ((gint16) (val)) +#define GUINT16_TO_LE(val) ((guint16) (val)) +#define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val)) +#define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val)) + +#define GINT32_TO_LE(val) ((gint32) (val)) +#define GUINT32_TO_LE(val) ((guint32) (val)) +#define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val)) +#define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val)) + +#define GINT64_TO_LE(val) ((gint64) (val)) +#define GUINT64_TO_LE(val) ((guint64) (val)) +#define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val)) +#define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val)) + +#define GLONG_TO_LE(val) ((glong) GINT64_TO_LE (val)) +#define GULONG_TO_LE(val) ((gulong) GUINT64_TO_LE (val)) +#define GLONG_TO_BE(val) ((glong) GINT64_TO_BE (val)) +#define GULONG_TO_BE(val) ((gulong) GUINT64_TO_BE (val)) +#define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val)) +#define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val)) +#define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val)) +#define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val)) +#define GSIZE_TO_LE(val) ((gsize) GUINT64_TO_LE (val)) +#define GSSIZE_TO_LE(val) ((gssize) GINT64_TO_LE (val)) +#define GSIZE_TO_BE(val) ((gsize) GUINT64_TO_BE (val)) +#define GSSIZE_TO_BE(val) ((gssize) GINT64_TO_BE (val)) +#define G_BYTE_ORDER G_LITTLE_ENDIAN + +#define GLIB_SYSDEF_POLLIN =1 +#define GLIB_SYSDEF_POLLOUT =4 +#define GLIB_SYSDEF_POLLPRI =2 +#define GLIB_SYSDEF_POLLHUP =16 +#define GLIB_SYSDEF_POLLERR =8 +#define GLIB_SYSDEF_POLLNVAL =32 + +/* No way to disable deprecation warnings for macros, so only emit deprecation + * warnings on platforms where usage of this macro is broken */ +#if defined(__APPLE__) || defined(_MSC_VER) || defined(__CYGWIN__) +#define G_MODULE_SUFFIX "so" GLIB_DEPRECATED_MACRO_IN_2_76 +#else +#define G_MODULE_SUFFIX "so" +#endif + +typedef int GPid; +#define G_PID_FORMAT "i" + +#define GLIB_SYSDEF_AF_UNIX 1 +#define GLIB_SYSDEF_AF_INET 2 +#define GLIB_SYSDEF_AF_INET6 30 + +#define GLIB_SYSDEF_MSG_OOB 1 +#define GLIB_SYSDEF_MSG_PEEK 2 +#define GLIB_SYSDEF_MSG_DONTROUTE 4 + +#define G_DIR_SEPARATOR '/' +#define G_DIR_SEPARATOR_S "/" +#define G_SEARCHPATH_SEPARATOR ':' +#define G_SEARCHPATH_SEPARATOR_S ":" + +#undef G_HAVE_FREE_SIZED + +G_END_DECLS + +#endif /* __GLIBCONFIG_H__ */ diff --git a/vcpkg/installed/x64-osx/lib/libde265.a b/vcpkg/installed/x64-osx/lib/libde265.a new file mode 100644 index 0000000000000000000000000000000000000000..6c2e0fe30fd55ae51876584c95bfe2bd992bb7de GIT binary patch literal 1304224 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

      4j`De!#2udMK;H+p6q7w=duWOuX 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

      aw-s+`uY{t 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%0Ah*yM%zg`pbN#gl~}N>hSEs^%`F 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 literal 0 HcmV?d00001 diff --git a/vcpkg/installed/x64-osx/lib/libffi.a b/vcpkg/installed/x64-osx/lib/libffi.a new file mode 100644 index 0000000000000000000000000000000000000000..22fd52be2a10b7df725e503b826b2fed579da9c3 GIT binary patch literal 164632 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�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 P(B&c2wo?>D1oQs@q!d== literal 0 HcmV?d00001 diff --git a/vcpkg/installed/x64-osx/lib/libgdk_pixbuf-2.0.a b/vcpkg/installed/x64-osx/lib/libgdk_pixbuf-2.0.a new file mode 100644 index 0000000000000000000000000000000000000000..77d36d6b5091e6a5849b2e85f16eeedf8a4689a6 GIT binary patch literal 297104 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≀VAP#GHz&{+g-bqtnx$0aG34w&Q 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�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 z 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%0AcWcE>%hBD7A65S%aGSr}J(oFeo_Op}jaj|uj- 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

    APgsl%nkwch+jNv5BWaK2>?h4Wr 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 t7US4m>-+Y2;*{ zG9N0ZpsdA5D2TGwoMgc?Hj?|3)8B<(*B|Hm3;&nzi@)ys*Y|hqv#0d;Ze9rm-S}BhWbVc3C(jV|p`yfhJg);P%Xy)u&}6$4)|oULD8=o>zO)_z zwhw(a9Zfow8!T!yF-f#HL(Q#mUb{IwRZot5Amk19yXNn2rv_)CuN?+ zebYlWCwU$ZOP$A^EY{~-YhL!bK)mY;FL%DweB;b5ue4gkMs~a8t=WR7*pkn&p>{H|oGxcxM z(C9n?AUl+sWAi4`oC==bnI zAyEBLdUnU}D*^;ktM1~y#E;gq1pCX(k-?gF;?KlmQhy;{98T3Az3L@wb+~Q#-3TEH zd)~=u2e;#JuwSl*gB27BwG1l@b2@v2@RDJj?lp&HZ<7DMii^EhWsJynehL?RVz-*R z+XWrxy&+t(4_i9rm!)~-5CO=Cdr)(fm*2I0R%^XWi}=TgVtx5gUf4efm(bm8GII!s z-!2WoYT6-m2>1tEXw*9%H@qo&QSOAmDa0AEJ^H=N zY6c}my`??dEWc{B422MgJ?K|@L8a&?#~;8wEGIQz|ExOW%vYqpDT%yjrv#XzsEAgJ z(@$)%jft3u5}%#EmvPS0^?Uth4$UbumWxRng@SgWWA~)zm@o_vFLY+1j|Xyg z&Jo{3xvyNWvp%s{)iD2lGq?5dv!IjGqRWr|b#&n|M#Ci1{U9^Y*NDDO(pVeWRS-Gm z4i$PLRYh5lnMU*l-Y0rA*T}E*u*`f=wmpV3yiowG5IA1*wgPi(UlryLjgaT_)LowD zJs@{yRT3}2LulmMmI7G+r*5YJ;S)bckX(pVid*byg~om(Ce9>VN)DJ$NmI1hFOu0D z&zD0xwD8L$+8e2O>CN)7rj3?(&3V!&h`ZHZ9Po?m#@N!(;5Jr=cMfgXnGLNxaA;ne zBule4v{?g7^V*2F%FS2{t4}(?0wcN{LEnCwCI4H!UZqE{snxI(^YhhSPL@{}KI+P{ zR@X~!YoxdBrTtx@61)7X7e0c@adnvEVR_b3{=Q=Ie9wbt@@K&a{@lKoKSM$=A8jw& z(CvcO`j71$xnvVt?(NhTh*b4wr+)7=`aO1ltoFBgw0UDL$GEdu&S(-t$33klB0Y~< za-PT*nk>C}v5=;vI^}sqI1Q&?m%n1y954x6zM?<*0_NEMenSO-iMvv2c6&Bo!<%0 zZ>jS;#Q809ehZ!7Ea!JWRSUfB&aXsr@}rB*XJxN%tvEVYY(nsC7dd&Jhu8(8U&fh1 zJ_FBz-c1}C(@9{-uRV4{cbUN}S81~JZLmteFVK-K@jd_;K zp-GU?_$Gdtic+=X5}wE$*`xI8VQswfL?^jMcEC(+bv};bYahS)l(a`@8>^AJrG!3O zX0)`=PQgm6I(^0mLS(@BBY#uHC@pRGyPi^&y6jH5R4>Gfv+F6rieLOW+pTu(!yuAU zS-d8KX1NPOW!~YVlGt1BikG{rGS_E5V^>+p(mbiZT3mOut9j-IhUBDbDINN`S#ys7 zkM`Tc5>II<(Q;L%?GyiN5g<4uYlBp>%w3p7!{`ou^hrG@-kbd?eR@>PX|IufGR#XC z@XL_tQn02UD}xaYlkgiW9+V$b1xD~{^&@-xjN_izM|r-%$33&&s0wq9!I*wh7(CZA z>$vQhL4tc9UT@`w!&U5so!OU=yNACW14z)Iac>FLzWR)6pUed5@bfBENp5RnH|skVb9MrpW5j*xv3S+Y{SG zBXpin}byNYL^EL*BfpV#Yx{d8E@Va)!_U6T} z1a2B*sa6Ub2%ZINPSXe|&T?9f-CUl3@M;XX(WaK$qBXDEHI13I)2`_3`Ua`Uoue&U z9kZxsdvcVx_)sG^3RvL33oOCC1Eef^!4!aS6u8|NrhJDX& zM7Lz|?fRW3;{)hb3h|tEGV+WzJBXSWvqi@1%!Dyo{eTj$@$7Q4FdVyhEz`woJ}aZD zMGldb%QF<%wCXs|Mhsy@Bvu-WcQ@K%+w%su%~~O4WoWowSFKee^V`=Hz6M->fio`p zDtlarnBqWp+T&E|v{Mb)Rv9vxL1|2Svre9Z3V-zM@7dK19Gx1LB2`buu*57bX6|9iEaQiB z6Y?EqW$w^d7Z4+?-hI1Ka~D~XNXR{FrMzEu89vSIfn0Qu$T&GmB~$FPJWQhPS>ZI= zXLM;^;=uT_i*sA z#X)&xNULw-cIW5jQbDM;=perGVxN80Txt>*Vyc(@%3oQKB@^`yXD;;{$+D+=ea}yI z59&~DPO0fb^c?$5B0Hli$+IH9;fRd%Q$;jF5y`{-5QxyXazJ~{rE)SNrL%IN1lgBn z4(Oaoecb_OqM)$Me0Cv;P|x68R;cMxc1alliSx$-vpb5e&WaN?D`t~b72uH2I zUaUCyK=at))BsPWq)Vq?qnP>7_lg@5qkLv?APxxICC2CBayN>;&iVZFG2PGOUsAq$3V(~K zvWR2ENkU2-^8skVuLMC?l+M{^k||s5a^o!@guJnddV5?a+@vtN?^wS*Fqda|L*YAO zlt9#nWM?f;!kT*bDL(k;HXn><8KfQhf6EIii4BgN!V=dV@3g`N-*|v^oaTZzDRHRc zf`8CUMzTHhQ!#0_-UJ;yv{-$hc(Z2IN~RHIF%#*7ci`YpUurOhjUXe zJ^PSZmUxen-?a-^FOvn9MrO%xa6Z!}Hzd=k42~32=??3s>N$9&^>@H{%^~t`c(O4y zU+@kQ#!phPtvi6%nJ;gYBDpr09@bqpn8YeuQnJa`M|4En68Xqf3a9~d<^%@P@7g%! zY_V`VJy3G1e@cEJXJ)CjhcOBmw@y$3W4cnJy3%Z2(Yq7>pDFY0I$s8z89D>JD9&Siq%^}avnwn2&SCFidIQRDi=hq8~)XfekQ z!OIs=%*o4%Sb#i~*<3DQ@h**6bvYba;(V=s19Vw#R%uoiL?p`aIHM6$VR12lA<&V^ z=Q!00?yneQ6x{2HUhl%Md*o>Llpmu@zuxMZ6&4wU=g>M{L0o8yw#;f&^(VB%tttJf42YHgsK5vC zC3caEp!A^6X0295_G)%zp(o;FJ24z{jIH(;VtVi)KA1no#tP#HVrb&l>d&C5ty-j) z6rw$+Dd1Yor%0tdM141U#}DzCCdcP+_}cg#%1$PtCqZZ^ZtrQ4HwI;HU^q*DoW&!n z>`NwZC;4R3-!{NBzj+(e1|O9yBayn!Xuxu9xNH{Y^@SoNz;*x*d8+GqHjF0Lr;xbi z?3P|_(Ju zX^_pAjkhT>4zhv*2{u0NFQ=jA&5xTL_a!~>c26F6;KQ0H55n3MEUW8jIZiLIf(ILH>ChyJA za&Pp0WWIzzYC}V#$(j1-46V|3ckC$wx|gf)ztnmd#C|r^P@JuJ*@G?u9$l1CBal*F!ipYy;sA! zC1w=2C$Uwtfr{ea;!kmdU3W;2<6#_=+EV?OBCW}$cb8Lp<<(NNSmn@MSRk=x0(Ta; z>vtXXvYbZE+F|#s-w3-}w)OQ?>%zz=Pd`2W`U&7}&~HqFJwpb5BwLVQt;rp9273rG zkcN5c*ZzWoE(hqak6GmK;xN;(G`iwHv4Nf*zf~USM0_F-nFGW;7O#404{Kpf-p6f~ zy(V`jx3J+ETUdsDg(L6x`|*FeBQ5C`+9)BiRndVvZq~Y)Qb_;twlz3l{%WAyeTuQb zfB+7`4)YDYGuz)*d&hc@Sv^qli!DSUg4p}vCFejYis$>v~5--Y=dAZDhKk+Cr_KM#xUK1YKKMNliu^ru`BhQII zP*zXjYjH<-dVd%CZ1b99d%EQxQQuCoFq7Z1oo~6$w-Z|Rh~&2%=bPL4c3i7gCcXmG z?R?8|z8%x5MS)V)$1$$z%XYpU)v9+h4(eMs_083h|4y{voXC+Q7;z)?qxsYOcbE3( z6V6Jaj5T6pz1n5G=Q^O(oXai}7u7hY+ady>+wc>si8eXBVOO_k!PT7Owu=(9$A-Ha zcDTbkhUBePA5I1zkeAsFJF>$&3Y?cGfpgt>nBJbcF?~Gk+dcZ2(>-Rdlul%WFnvkS?p#{LSj7a)HOA#7C)e|ZGIu-A ztmO?EGmDE}(c$#ejVmNF$Lx~>|G|UT zI5~K;5qg8ON4;B=e%E45TyEbo1kBgfTHt2ILel9SY(f5UGrPDw=7s^*mQ@cF*C2S& z9gLbzt5G(u!SK#o>`~`7@dUyh-8t0e;5%=DRx8FXxTwoZHqD5I51{9BG<=ZT)nnn$ z-IwL$ZCTD$VAgALaN+AKuhsL)L>|RKjAD4aR3_5?YEi85<3fs~e4$qTH}V9GgV?Cz z7~1jOf5 zD){?A1@O;R;dFiG89sJ;P|iM63qpKyn4eB9$Y2uv=6LmsJocPLO%QirVnpaQ8Wi>H zHK)&O@S3;GTkJKq9NOY}op0CyG|z0Mg;#*ILtD9rVFIMlIR~DCVc)n*A|9;Y_?e8# z_|HB0Uw8*^@w$-MLB=*$ZB6K^8NZVD(2SxqfC^9SjXa3`i)0l^%V<^bC;!(LwIC0? z!h?RNM|(T7VgGe|teBdTb6mc{WtbmuiOEQ{EpP>$2At+i`^UhmWAs zx{(}eFK3$|Ium7tKSR< z@DPUL58*)oDz_m|TzR}zsu;EhfmN4RH^GH_g!%~-<;kBD|3SLuURsTC{&KH9nz!Dl zC+$2#v^P3A&-ewGeg~DpwQO{9c&wwWxSw+Z=(URt_cq9)^w|d~>2G5lMB?^_*fQ1atDvXtK&Ep_zzj*EN^D;5I zxEWn4~hqmfrR4odk3%S9FVp&3x6IH)KP=+@#k{NJN9uu69hs) zC=wv*VGc|xBsO~RL8a3y{HrtmXV@%}(vG>D*U>2*k&`)7z9ojk$BR4KZ+gYezdZgG z@J|}fzh*a~9zSYd&3-MXCPv?4LofD=?Kg3Q$G(Z3+!t{7dzFY z_|^8C9?s?;bw1pUe{`*Ze;M@&)!3;%Kl_qhU*cgANCd@c(LjNFvbbYT`%Oo>^N;o) z(fF5af41FzS8z=Ggl_EwS}%jDC5td8B?dFnOmQcZJ;gP>>6s~7H<7<{_bjv zPdH2zti})Kc6QJu@)hlE;|gRhDgL=4)`T|;Ua`LAyKV2X+?X(KY|kFw>;dDvzq!^6 zf7}OLW9@g9oKn%t2GN53DwGe`W!93_9mKMiPuck3GDY1V)hE8M z`#y+m?_a9V_;+kiVSck$_ie*b0+)yR$MQe-*lj-_z-7_U2c>%GLqDoMs^KE=IvQg* zjHfN;tt5Z>`x70?)PaNu;(t%t0Wk^?G`ZMm@|C{rAv|-W^nt8N@6S!?BicITmt%^? z9ugz~jkxs;hTaXNEcHP{*=ATgr*Px7?>bl|~%C2@}Q6skj(tY0}S^&g4>Jgn8o0ZW^eHx?NP zaaJ;w%k>Y5sU(O-sv?htJg(7awCa=B>b`Z1fnNR=wh8$$eIgE_|7~oPF<2{OP(4s4 zkUa=9)-ee0(C!vz5cXIhApwm)475ifAzn`p{x&rbxD!5U_4%C)gbhbVLKNVL4D^0* zfReMfOE8y90FzE_2ST!hAWar!5^aP_qk5XepzpETSBdZ?_xqdD%aAxsoqYaU550$2 zHahH^5s`iGu_}+BKmuitH?tWnDD!d|YOI$~k^?To!+GO3&k^S7f{Wz3V4H*&`qWXM ztyXzXk#`ys7aO5}ibU1SZQhs~D33C>`Gi4N((renD7f)HN;+kAPV2eY^~xDA zS6=OzBU7qq?@QB_yxD3zcA{f(4ter|_ef5>WkrX*>U{hQA3f3WxZ=sHELiM%)s)sh z(@KQ<=&)r@p4kEbk_G^fTmU$ak1L&zcgshVLimW|&ko#SO`vIdL@wWPU#PTKvuD^X zdHCcBF52$y?=|l$bZnJ^-?9ya3PaySpDeQdSY$uMb3AgOG(Q$R2booR&y4Kl!9du*&+}Gl$eiEt=w7Zrrcn0 zS8ny!eXq%Hq3(NK53SHAuEf*5(V{-Al3zYF==a6+^3`5_Mx$2`z0u@*6FB!ZdG))S znqh z0>Epp_T<6&x{s47GyQZb_iRB`x5Q zI*kg+1s26?G_>Wmb$#^XIK(4}HMsnOmAjaO>Cchke>-D=g=)R4_8`{+D+ccr< zCLhzF&Dl&3S%bI}ps>sX-%Vu`WdC{g$<$_wSBTx#o1`81qv#}jO>i{e-XcDIj_!L4 zKO8RI_clM-y6+ujd4Oq8Rc(qPz8)HY^~8J z9dHQyXRXQu12=iR0j>J?vAxzgl(VDu&wSx#VY#*}UpO9=20-0T ztwva86{9h7^g&)st3p8JUKy6$8+Q{neA@lSJFz_lv)&Oa2&1)Or#sx52d$J`&$F7d zuoeif-p{+r?(093IO_@hMkG|D^CR20=QsQBeW#{yR32c9jH82F*Y9<;ibtdMgghAB z>N=XgI(+b4{l_1r{3umE>ZyW-oWoI0-#6l4@_;j9B(OcD z=aJ)#ZVpf7=5sOw%A>)7NbR1M;UB!wlbQg6tn>sB^(X1=QYLwF=!LIChSn=N?plq` zo8+KtwU3bMI_mclf0X;4f?2I<+}Aeja);N-xN{*XusE$VQR;izwO$b-&7iIKi8uN2j&~cMCVFQQB4=J*JJ!UbIiA>Be})k zmm}GsY}psrIpZ!^PY%2lTYAc%U(M0uY;+9gZtGUkoyVL*SVH5~P!_y7sVmaix{kN1 z5#%Z?kGE@-Wi9^^25*q_=uCkED$8?TCA!I&5);PEty+`ZW7|UKu*YVevz%CCACe80 zNN@*EbXarWMvi2l+4PyU|0xVp9sekNp2cT!AE~r+Pa&D+=aToYM9$rW$Wm$W=Q-8N z#j9$TsA|Z@;Baws94>CI9{M#lqx!@rDw=&yjwo_YyWcpc-F*G-1-kFIkh|0Fh8BoU zp0lzPAS!Z*&>s)e5L(RIvCjDde5d#Q5SCxL)zc(+Qf(<{d5y~_q4OVTN#R4QUdxC0 ze*R?O4$0@Nqq34imw)cj9;g-dAeKNDKd#VN?tn$TIlM{;8s_1=rV4Gu8I9S2S;wkd!t3*5RC5iq8JwRC}P;90aM3)9URfIDb^N+5@RV%tI+F z|AE8gQIk14o7E{N86cd7OG8$>X!wXT@QfPGUAf>%WVXAF_k6~IpFTLj^8XN{XZTp7 z5#5%4Ol_$!J8`-7A&rxlL9th5xX1sV8ENJ&Y)TDh=-bN0#myP=6Q8k2mPGOUL%C2HQ*@%_Yoqekrl6QYY=mz zbUe9HK{-vDoPrXObsj<8E+UdqV7pY}PW3ihi-^K3njbvh&%xi-~-=r3}(@Xn@V2l17=eqS1(i)_4B00A*&MHwm+>-T1qbon{U?SkdpAxQ`f zd}Nbh4IU*XH>UeRANC&DE&z}j_rE%%*rr>>5x3$?% zIRKNrOaY{`U(weLXkGfO&AuB@o%)>t%hk2_m~nG)1{N}qAoQT(XO#2|dp3~~Jkw}T ze#2*ptSFRb7UAwbQVe5Oz&Fn8H+?UpmF$Q$lG<&Sm(M>@?WyhDi>;(PvAiFs6Pm2T5FdXL ze#YsFq+dwo{!e{wq7==)$Z3AEv+!~R@36)-OJ}R;MyLMT=HL|DA4~O`AUet;RrAkn zE_d>$$VNm$DP)QuB0Zc63$Dr=#*R7#3)1bOG|5K9sIfOx%A1!S?Tm=^q&p$vL&e}a zi1_>k5W$|2lm$GK%Ke`Zv4T?c=p3gsW+_YmbWH1}A`d z1SZ16pH?F~w4<{rBD=QVi%zJcxqwb7&cmCkbH)6T&9jL(S}Sfwbr&-pQEhHkMm&HO z2=X2XD<_N|eXl5oUkG5~?ZigHw)Ro(9wkzO*R?+>b3C8I4lUE-&@yZEyIXZ`eWR0w zq`Y_Z=m{AlGm$Z6sb&94Wr1LhbM~%>wX*sCq1YXFsWm#0&8&iaN zEW*(90G3W|1dP`vi9rP6tCaB>;kDvxa}*6!+W7uFvMh*9&wnpta1YM_1Z& zO72zeLnT^fTLx(WH9PfQA#(Ouf8MQ#+gVO>o}JX45}zD=552MBJFso71G--ginriv;gk`LKZ?niM~n1L7|P5Bl?WXsQF2aU*( zG)MCIEC1P@iz{<~<3n^qtO0Xn6HI-_UlXJfIc5FUh$2qF^yNuRT1SqtfLC4Q7+Q_& zHc5VV+QVIW*?Yd4leOpf*YLBG`@+up`iTVNzvX5_{p`4)nao^Qery&#%w^(y&RTfn zwbcHK)`*y3hAa?Hhui8a~j$?t$AdN{1T0{$BvV^%=~2`*0|j`DrByf zna>JRFe(yU#-9fogI&!J53vUBR+WMb%8p}?J89{(q)$3&=`rc<`m@soQgrDI^%I?` ze&$v2qj!@6+4^}pC)FOdZ9$E*)n86?(_6hYQ`jP0-2>@PPk;2=!+uwTKgT1D?m>jk z9)XfKwa7qvQXYK(Lp3$J;o-2d^<$4}HBwM_n!If6alJ+ciupPAq^=xYNJD9&44FR~ zm8Nq<{*s@#Lc^Wc5#*GBmv7L0zd5=Pm1l#0Xgbal^oB>|g?^C2kG8B(pC>)hmQBdk z=SfXGx%GL1A)dPF^Q0bBM)E3Rt3l;FRbQl`2O(Uh#1eOOp)a)hLMNXBDw-yCF$J%F zf;$5WK)X3f!Fom=3hhoEFJdsK`bB`{{KOC^WmBhe2&IH`H8%kSyvUCtDXpiU;f0x- zwLEWGM3JWYE@_igehj|T0l-Ju@|FIhqsfjvqhCj;M|sIxpxf zl}KeU5yMLkPm%EEW3o~83Vz#L(lF%$y?hgwz5n8FeY0mJTSFG0gU=F1i+E9acD+-- zOJ`4aTF33URtPSd!^f3|Qn=iAENSLl7# z?FY@i4=P6m*a@5)dpU*te@c?NHw8v1Qn%@snWXMXYd7gkQg_BCMdhlC_a2l^r(RFx zRAZUC;@YBW3h@J1*aJoLDUWdDoB-TW>Jm_v-6)xq}m+g5Sxk0f3-9H zWZ&P}Jntf>2sd|3P_0@Ha4yKRgIDnvx_>0ooM@z)Rv#I}1Sdq4GA5+5P^vO6>?95z zv-9lRf1MQE-k-NxItZcJ#MR)0e`W3!WbJ9)KPbC8-*t&hd? zP(#=18?^d0`LT-p^;$LanB6beompYIUEx_$;e6Uig?V*m##Lje#1(uQk0g z)F@^LZy1NFfe*8k5Okt*)oY)#iY|yK=m(U>fcCtwG`ril9_7e{%ui4v(#=A9cIuhP-jo{TPMeR zy?>&ku9sfkbr@V<+ssdX*R`2H4R#)eI?`R52~MP1S+OrrK2wZzODcEg6}vrk6v$9d zr4(Iy_aCV)DdC|bPdmA!i##pq?+=X*e3FT?XbS(%Da`h$#E9Zv)wz2+pU1Dh&vowh z?!GxtL4&a1N!{-4`mLOc>PojFaP!@AKX!Yig9#FHyB8+y)G&$~pt2rQXRq-=F|^Bl z%_6UbY<8cc`>vs}&)@+!0n?Y0;J5U9B)JM8k=Huy& z75lBk)dZ}{4EcqwYn}w5ASCfC408i}tw z$Z5Ka3)efT8)m_Sb4GVq|6ZU5=IR%d1Jf2dMKSKSm%oBuP0BkMpA!tui5F}D431V` zs}AM18O40~$oYVTMyt8lUR*gp6lz#}H9{`l;&EcMkJK1>8bPFgJ_1$!1;2yDMkNhGvxHw?gZ9PNU zsYnJF4Vjq%JgLaY&UiD;bifO_Z*?}iH`V?FFySDdneXgJPWndRB?r0H0c@jQ*-VKl zXQoc#KI;wufS|^|{|D56w7B#3@7xb$tdDz=!lv9u96+)@Y&&*q)uT46FGd?4;|)%o zV6nud(yF)7Wueg~){6yq^K#CbD(~R!fs*E_ec1k?3#d_vc;duiujHkyYm`6MQ?h- zC-4uhz^IdV^E?H~Ifr$i(BQYer02D`%Pal9 zjm~p7!2T63${f=q|7WkKq`aI}AR_bU9Iy;299)T*jMYreR;R6>XLU$?@O&_B{csR>7?X%lv>VTBQ*cy ziA+h#A1U@9h306>e2u*PnNENvO8x(T%FCcxN0wPh_<%)bKFGocSPJjVq;jS## zMhgku1j!RE8|c!jdkR2L)H^UcdHsWo8WFN}(QmTKG_Qqg!r|nWQ(+=!Tfle|nHfe# z?~~^Z@(^Kl3!=Xvfg z^BOIv(#CFlMScgb4;Wv1qXW6ottk=+C76Sa-Q{Qh{ntyPjq{?w<;T9B>ax;UfrI#r zk6c&iTi(ID{3Tno+Jh`#gt5G5PeU*%y$_9u|AyD8>#Rd7SuI>=?XbST$6lFh`JB$L zRc}tMR5UzsbCw}h_>Wuqy`7inA?r7DXrL{)l{)2QIsK=p6^h{YGixa63?T#C>jeg9 z?XxmgD%yK{;AeC-=Bw0@NYZ&F?wvW(f)u=`PA(ueT4c!X4p@XDDzGUw=ySShGz`mao zskdNeXcC@EeSFUe4Awn^Kad-`2c+dc^_YK@+nMs{jJ(7v<~*rov1``RV&gA@mx|G=0r$Sl7?hVzSPlJ2P- zGv)!QV_!uk-P3MqI3%#ajgq+(4K=@-&jVS7^(v-(W_kyuzluWXEG#+pD~0@9{wIn2 zQ`E4l{_?f-{j5)f;jwY`O$P#9Lkj2CqTShtea2hHJQ0W+(Fy$Z;;fDzhu)Abj+`!A z54)*cooLlN*@2)$F<#|9Y6f0?-*8#$Idrg5Mr(OqBOZ6k?>s^Da<#krxzDDUH4U{t z_D&_G$5Sb7-{qt-w`129GV93IrRTZk{J}UzgJWr?+o3xhQ*7_wy z)C5+k?@~ZU`i~8saJ$Qs*W}b1`Vm70$zEnIl@U+$PV%?n6t}$OMDR+KpZi~H4md1? z`QCBnz>`wX4%R**YN_XR>Pe^Gypyil9ZI~O98&N<;{fl0aPe0xoSHIf2BGqkR2i~f zH+W~}p8dz<@@WfQ#@;2%qVwMMy)t{>xUxx*Jgi)j&h#C`E9)E2be4BJ_6_iF?}$q6 zQq~DVNPGq5zVuX@I5OU~Uj8c^pP_trJ;x)|ir+<;uLe9a9rjES9y{z5P&~Hmh}6Fe zS89TePP|BbTMLad6v1WINR7HL%#4`jkKX8d7J_Umf}=}0j)S;1x&m$6ec&Dk-U9gXuAF{hl|>d30rI<^Pv^w3)vRLZHs zLP}onD2v?lWvwmePyU1cADnuu2&eW<`r`<)Du3X|=%T}#e|rj*AgJA{C!Hb4N*yfZ zmCsuc6R3m5N$ctCvt_)~!lU%jBGoLU9EfoJK8eXwj+TK7GkM+4`i({QvC{av*XJK_40q$jmgD~m@Cf@)mHx%Cwcc^ zpxo#0s*xzW_;WSMece|cP!fy_ZtJ|S`$%^>$=`bw^C8yphl22*P(Cw#W-7PfJ1uM2 z&S_%br%A2Fl%nIm{%sQ7_I;WoM1AFto%a{$9pe~bhDK(K=)YDjg3*nQdCmG3c8JK~ zyeU2XMhx8+2{?2h(aVU*FW0qbrizozCRd#~f_Y|GYYzLx4Wo>h7D5XUG-Frt)_ur>RGKPIf3 z?d|jXxPozRM66kMHSz(uQ!>8N4m-XQ{;aWo_(&YFH0uUd`3h}MCEKyK_oKv4?EZxjHFTf5m}t5WBIA9jt;t3{V{}9v&sXmvf7o8DDGq2 zy!O_qFz3Fg-^H3BJl|329G-j1qW#7^Aii{$4eV{!N`v9&%A#j~o0sA)_#1~dyPAys z;y2|BqgI+&79G~j{y3o6tW`s|1$TIf`&EI0l0)lVF{6c037;Fa(oJv4?kRaC?`e@* zs-ywgb_3+0$>`Fc+^}o=Q$D|S*4u#`KwAr)%Kd-}G@?Pa7o^V4Re#5$HkJj3? zdG*I7pr&+e>Ur^2UV7`CH!)YnN3GU&)m?B%xbhfeTJ;7x5GLX-i)|pkGQLQSI?}K|pFFNgBrD zL#hoOo(E13L{8xA=Q$aV@CjV6`Ke6=+*-~1Jb4MRapz7XTSY%}{Ly<#V%npklzqr-37(%>Og`qYb(dARAXX*%|Cnep#fMU^%39TIIS#MTRFso=cxAtePHIYUdDUv z>%%*`Z~QE>o1hf?B1SIW934yr$FCo%d!o^(fzI z>Ly+~P0bn`?VAt0RdS{4G!QImh%Ha1z*mmKMnEAB&xq*;c9RC?h+8Te*bXlnTH`d( z1}AuTdN^ezGSF_p8GKJXS~PEYbz#KQ2oj{8c!s5~1<2Uay-`f-cuFZn$9u{uTfTG_wjCSVKP`f~Awi1IMP zot|6oQRpZrFwb1{`T zEJ_GmhA`3R3%O8c-ik8vQa_7_S5r?fkKT`~wikt;Rb4jg56diCPFnus%C%9O-CG9I zXv0I;d8-4>u?{Y~JdvY?USr}Mt>#ib25`10WJXgqc0|}A;OxT)EiS`;0H%k?OZXiV zA6taAe0U1c(tV4|T$YjuvyvilC>j)Gzb!8UB@J3+3onTBjL2K8fevjT!UzITe`I&} z;J5wa2Qb~`3T2P492$uL0*(ve@X65Lz+eOtteM%fs1~KxvcauM|5VuTyOjC9M}D$( zPc}a}x(Dw$qusj4%}=iG$>pb;?!l+u=9d1~_SJagQ~rCy zM|s)>a>_-TIh~0dAoP+J@!0(VE5&Q#J4txjR})V7w+eB%nH0ojxqMuUMoV2~(Mf_d z!5v|8r)(drM+3 zzyJGx{?GG!-oWn8<;={PGc#w-oS8WzTK`YMTnx~DxAxDZ;>g>>J5Bq z&IdL|t5lvFeCA$XQPg-y85y8=8^K%^5pkQGfj{V#4gq&J_Z6-8m^GeLjXqhRzn|qV zkoLWJ@GYu=m#{IYj4$G2et|m%-sfsz)|@e3b3b?eht|mY2!pE~2T!!wmh`0UCU&&p z&RjCF18qIAVPROP8& z?synXko z{VK;`d+`$cwa5v&ud>uJJSZCXcuN|}bKT(y7=u2DS^GI}6983>;3g;>FGku!Rw-in zHP2)IL^X=Xd|3s0khogc=@}A7zfScOpAyT?w4_wPXPJPLmX?-v)MaM*!artMj~K13CdUG}?BgkU z$6-9S!BcVylP@xmAKNf=hqH38QT1HUjEsUk-q6$rqw1HqW%cNO#RDbR&&!N6U*PHa zg~}rV!&tO)9vhnL zgJs6-TEVck%xx@K?#N@x6z6h3(N6h77(_3k+5AK(;Sa_^$`y0 zDcP+W^cbzXi7brA$mla#7Y5+0V*Ly2&-bv4k zO!YNVVi$KwZK?5CJ^h4i*SjUd8h6P~+|J5(jjCnc$P;`2g6*HqNS>$3^CyH3-4R_t zmdv2ho0`SwGxLJ446dGkys-mQO|D4k+?njOMp2Qp$GBe z5wbXFH8`u5LLw0wl4DYv!%a#VS@L|FJ3QUy36Fs*!Z7*$gkgQW$> zjH(-j^E32(CfBcmrf`!yKY>@B0ZUK}zs-VhX{)f^4yQ-tjC6E2LIwr-UrcFfR)O#T9n}d zdy76GGceCl?uh=}5EqYHm@UDN&%47npZA#CJ>2(J?2j9;#XSTdjs3y$=E5Up^`8g} z_fIUrDhQCLr@^X5g{tZ)szxNi>r-^O*-d!H=6f;hUQ?;Zh;2TTxZ z;oR>b6vWpPbOQtezP%T9mtHcl512Kt*G??5Horw5K~mt`dole5=z$7)s0JCBgdUoJ z1_EfNqz$Dq3IhKXy<5r;Hl35hkjfIQ^JWaZBR@$l-tPzk6Ngi>X0|lGD%X3tO~*^Y z6NiIN>v)B;_d9~p#Npu5I)0!|KUBqoVC#5rtOLgy){t|U{$ykR2Kqd+DufI7WH!Z| zyX~Z~V^8fzcDWThD|^XJf_o)XWro#TbJQsPnKF?F~WdKVTzE#WtIIEQ3L70u(DKTfL#;db zt!r_V91pzbC^`lc%9>M#bgQg9r-(c<9xgOq?a~-6WDR`*%RNN48*OB_-LYgG?gujkW62ubYF_ZD+om-E20VH7wlVSkfd_U_$-c}CJVG<3VgZB{Vr# zY-TfMKOiR;Vc6m^Kyf2z@)Zrna8NW5u@q>GI16(DBe;vM|sxs-W?7GDZ<)ddX7kG5q?>1%@D-QUmOCZ5)>zr?`#YlDDrS>+(YvJ*~YLBA}7i{hah_@2FG zlFX=^B{;W(3f?Zkhg9$<5DQeyE463qRpl`^)i%(!cdgo4OiS$G^3L8^Gf8NTPr*HH?;i?V0dK!f5ua+$fA zoNATtgA>LAyA7yj#HihNW&a(+g+|q0Q5lsWV2(!giGHEj0lYvsLdiW1#zUf2fMr&A z%}FcKNi@n~OHp=I5YE}qGd{E^AzuYzJVz|iwY_?^{H{c^j5fLGv^=#_)a)=fJ5KF& z8t%=!ht3NLF2mjAur;{MddI1Qc$#@|wmj2(*Hv=b7<0;1a)@sjL~d4T;b)E|xiG`c zdSUREFo^9uXXZ0M^Ol?_@8vV!9UIOql+NlN;cGA!|4>F%$rfwQkfnkV{1&xJ%pS=# zf>GH^B3i8zqFBISL_mRU%+lmsFDoKuqdHl0ajrtvTr%ibMW2x_?)0i7xCAQc)HMQ%LB}r1*Zadhz3UDi~}QFYFXI^1kgk1 zph%YWnSq~0`%tzQ1JO(=@&c;13ljob3$Xa+s}R)yFU#rHP+9_|V32hbF_Tox zF#+!_;472hHRAkK#qUwyaH)8L$O)G*>+0@sf!X!QuEoeQIN#RL!U>CqzAYiAEXL;& zj^{AW2sb>l6FzdLL0l?qt9W;cSFxJ`wG_6{wMvQ{@IHADI4WPTGsPzt-o6a(__na3 z0sDYCzk`(LYb923u>og@n)QjK9&uEh4ax}vT=f{xZiV%4BbU46YwkJnn9B;0x{*LA6FVy92({-n%9oJn=q~w^wursO*IiLS zW|ARXA5!L>p@-O|y_@T$=OU=C&*Q$CQS~^&2-_W6>E~qxwvw?qVJW*b?vQ@2f=e4i zH%A7%AgUIvYh@Jq^AnnAl%7ff3oDf!9J%9B`yR>_fbV2laUg}?%`Z!52cY64dH<5y zITr!SfjrqKN*>6I_G0zbCKNH^DEGVIFR^UplyQ!%veK-BMTE!M9h zxtMpA(gj~E?oY4*aJ{u=Qj%->#3b1xwaP|BeWvU~{EnOv+~(fF;YjHV@$)&tb9{}d z%K`Yi)`xYZh%4m?z?AF^+llS5!hI;mSR@>8z2TvhV-Dm@nf_3Jl&_1~C0D{_;*%AU z5j=2QT1{^*{8I(lO90d7(Bz^5HL6Z?DJbfViO6-@6Fk(Ey7-ax3qxXvGb=}aa+y<# zhfK`Mm!BzFd33tsAwTHQi5_@a$1>x~CKcf90Qa2b@0dqOtqSpWxCr-K%000IO!mv2 ztetn+_-f?q4kowe2%hZ{BFfi0wi9w3j=S)(Ecy0l@sdSNfrs5ZH6Qs(I0ZbZ!KmEC zo3QLd<@21G>fraR^qI}*&YFF;I+tw|a%0wn@SrRadE@K%vXLNd@1lNkJDnJ5Ea+)~ z5o}16e+TkZ^Y*e)#_pb7&;#Z0)JtHiucTg;SJj8|qSvcJYjTXLo6s(KY#TWf?Y7l( zXxU@q=%=eOI`M=>;{6U$GhfA2Ztuf<3==Z#LcMkr$@X#WDUvA(0zae}pWg-^syM=3p#x*$)drGk9u$Ia~ zPB1;C#8UPG-v`Y}Z0$w7wno~xJHp%rA_QNc(3M+gr>v5ae{xKP{XTy`&QSy$96J&9H3tTsfMfG8 zV^?}XjH9yIKVU!+EGMuCz7&$X&E?k%thscC`l-H?pQ#&?Su2<1?+z_wHyf*_SF^Ep z&i(ptf2058SpKQ^jo06|&G}}i161w6^C@L!hlgF~myCv;)`=qIOU@@`-IpJmLbKG! zb(S0DsT`c5^BS{^RIJX=FG&$G7 zL+j6gS62D!oH;dK9iOS5N+B78KAB_l!@e^*Lkd>+<=i1oMT8xwW}35&#j?wc;;IEJ zV@EPYwnv3$RLW^69-++?RMSon829F0YawN4iycKz$r;&yJ5@9Pqq$NSmhoHI+_$(q%5v;w#2(Nl8kM=xuSBIiCJyFom`u=pHesX1J@pIITY(C^8Dtp~NnKIu> z(|?PSDCIP{BkLNc5nhY?(>cDB&4>QTy~X{RDr95j2q8ykvjDLHiOmBui73tk|KcI+ zxQJHb9OOpUHSU0J|FDSxdtaK_sFw9$j5+)$yC6sRtCf}s(yf|ZN*dDCs_moX0_vx! zf8GM4}J%1xO;eo9Dw*12o56i*abRp zfCOG7lSE31liDqj{%n5rRC^euv}b}o?nR$O=a2{I zuUxcI08%Q(nSyXIlR+MAo>We&c0Jn(c01F)2s7X&s~8y+;XVQ5qxtO`LoV=kwl(QSnTAm#0Zwyj3;WMowSf~3cZt-ozEfOZf2{Hl}fY+_4JlmDNQuMGNKt@2BwD#1`khFA0@ zr3-J3{S_AWa-+Oei;z}Y;|3x3zmCLeIcXGrMtVOJX$_KSmb-pb9vDam@%b6W*BI5$ zfQ)80o}C}F7{89@l1q#qUaDG5Qmerb0M2breSwWCQIkSYnwvKdyyjW#-xxoc$f!B) zHU@7wZcOgF`s8vNWR&&F9Fr;HZIQa*Y%G==%v@)lO(t$rnM*|t+bkC}!!vBhjUGr5 zMO6h-1ajYdBV^4stJh)u+y7Jjn|+dBule9gxFPz}XMz_r88?3@fru78n-tuhBpmU3jGOmMJW^QCJu04;Y~%S5-)P*t zL*fx}dN!)~hP3zwe>No>p>s2cy$;V3ZsyfagQ2___IVTAi^kQ@27WzQN&N7OT{ghxbI6G zxk#XuW}$?S)oE7gG!nf`@|!7f-_mJnB+yDTPQrWZG&MR6(N%)JB)d$aPu-=8q8d7) z%;=@?FeGvxkwo~2RaD46T_lZqi%& zoDAgT2-_{4Hg%Hkt?GM+`rgm?VdV0|$eo8bQyjwGEUPmduF=KMvN}ugH^^|7>LIck zN71x!$~+|bS*jDELd?N^$@vFXQvNQQWEbN2E~MODTfL%Ec?bsPE_r4iRIu*wvVXA> zG*vJ6d!(CqjKLd^8`ElqOxYz+qVYc!B^1bUT(Tz*_!*^K)upD>apSU@ zvQeh}4i6Xmy(J$6R?EO&tcPq^CV`>`?06bK8FpGWSB@rbX1^D?;%jQa&WI0KnM*v} z;1<8he(}D@AG5QC8H-8M4jTB*IPf?eRNw_qXt)Jj39v78U36=+u%m!dGUUna+@r`` z7d~Q(PkH6HrA=6|$*nlA*DU^uDqMIL$Xkv^n%&{u5@izoFeMTh@)@_T!3wmbLOr_i-&_b$n9S7l`qV^d7hQq;N&IsVs|ovBHGUYlbKDgAwRUnb&6E zg!jwj2ivcJ<1aIcZeM8>-LuLl3e*@y4|1p~``DD{IlD-Hu4Z>w@hhCi++kN9zY+Hu znZt*u0>xhOq^8KPQE0nEUDv2|o!EtM#ysSrje-=% z+|Fd0eg29SU?EH}LKtxkI{b(gerrwYl9|N^v!+0m50teVE}6J5s}W03Eyh^HgKuT8 zBdIZ_mUPP)WAnb5T(q)e3at}0=+GT4%R~Xnky6e)bM5vC)NAUs?V&ZPI??$0@W$&g z9uZuan;|3iRHWBMnee((j+Uny5o{#nYnKQ=W%0^_xNBrs=PYgjjh0rB&|(Q47P(l5 z7E5UCQl%eqhq658Lt?7O9lDQ|E$@2{uuF!*h8N=Wgnq7KdHHxJ26-|B624(LPLA%L zsgaosn0RyKt@O20I{=5MpQnoX0ZX^?J+y=$C9W+Iyn<_&;peh~yeO!JyrG-jp?(eS z-~$C2{wvk~5mx&hfg)7Y5yx!3DF~tkg6N_C2}F0}q)RyE9@uG5$s>~QTs9w7fnr%K zk!#=&u>)Wyh)5pKkPxs2yx`@(;SCrxc4Xx0VI?lEfbW&_lO+vvVfIhe2v|7R6P*8+ zJ;VQ@JLG>$k?iJVF0pOoE^w0jb%YB~JgHaz>Xq1U5SCOiS^67gDq*43cK7FGWgrQw zwsVIbP;J*WGE;}Dwo9mBO2N9tf2ryuH{IwBVILn1L%*2KPox$Z04&geh(+#}Ce^J3 zlx6nqRLyNxPp0$KS6|P!{1Gri1E5KO{F~bgWj?7^}z4BbN*IKb5go zrbEzYIvMZ-43>nhV2$k0@*x3)d$~F(LlEd$h%R~vHBTt}Rx8^PJnP;S9Mm;Lbw@w) z;M7MmtbGQlzj>^-DaUq9SP9FHTe2s=^)yrKwCo=YS&>ouevYj3rs5P%P(=Kgo)UQ@ zA?yovXLoX%gxr$tk`Tlr2fwjP#kKm>a+T57R7~Ck0c%KnNX%a6;C%%2H-W4@L{ZcF zchK4Fkz&t(TZ-L+^X9y{y~(owF+xbN6Ubh>aL01BPeN{y-7?v!>z;?mK-Sv{>$P5` znAU5p`klObEtK9?-h@(E+QBrTtUWA_PT>hw~+Zgv7gb4?*?+H^bdvu2zyF5AFeW=Bbl!|>L)R}ko| zp3VBv_!hZM|LY0k)@DlRAMWw9jN?vbz2ALP=DNZS<=N~?7P10YMud2w%8nZ(vGgN*(hYv>{GcOO>LN`z3Y|6++v%3-jEPj-# zuM`ai_Lk6A)^|K0I)Pw)zt<-c7`frJT{>poq*A`8Oq%Rs)qrd8HVJh70CczG>ORTN z4f1)@7zLC5A{7+DVEO6gEQGrIsN%E+anzu%@*)SwxL_4s!ztInbv~?LGSzUyJWCeC zD>>9!s01msmcFl_+@dIKjLJ!GRZx!l&W%0~vqo)^1FX|L8~orLS_bG^q~tTBZZoUo zuxJj(hp&8-iZE{;KE~oN+fn;8BKL>M$wZ&G;4#n>#$lGCvt1RR;*!OwbwX+yr$dXv zBIFUqHp(>Qs3Ntz_SHmoOi_z?Wjrdmz9!-|A_R=Zvm}Ke1U{z%t;MR2uvXPXR;#QE z!$VX_YE`YWWr@pqD%ERlmGy6}aZ8odY?RU6dC6?*_SRDFYZ zmbC0?3xU9!L#81`SpU^>{}jq?gk~w2d#(HlyPA*%R#}dItK&U6gGUs+EXJV6~4Nq3mAyj1&@Y zqK&GF?zWmJIrwA}u-Ye=_LE$TB6sVW)+-87ZpX^ZJo2h*j+IPG5Ez`a`v~Q*M{ZRW>Y2RJiSEGIRXkVlD&C@=b`qa27 z2Ha&^!Tlq`-?uxBiJuU07^!EwQHY2(b(>_=bp!|rnwwGB1NdI1F>$X*55}!*N8}A_ z&OspN%)MyVbk~_+pcB&0@U?h z`As?CQYxWnx6gpoZ8gR%n~Z7LxG@S(8&jK&^>sFmTl72+iErbq3UC}X->Bgn$Tn@@ z1dKC|U-DI4%1M{=r^}2vAEQBC_!re@CGtF3wuz$?b9B16lv0keFKC=;)@kU`0xkzq z$SNL6=eDp$ygHx#o7GQeD5SDi{)ZUVnTD}|Ruup-GOP>^$(N+(FIj!=r*K`lWcnpL zL}_bT;h)Cp3G>{cUN64!E0+H|`~#8{L*En{nNwEc&hd|Shk6hj_>|TD7_s0OEY9%v zSf=6zyMy!c8Oo*k0aWy|pw2vto$_#Y?=x7@t%1rEwA%5T2r8kywu%#w4JXv}IzX2NJ4;rFZ65=cI`{C>V zD*ZbCQ~cIL7O3+LUHbAsTly`~5S=tcAPMo6_-%geAK^DDrG4)ZlaVR(`+A%9{jo0n zJI$)~PWf$+F{N=!bo7NfdXE*|sy$2oWqjUU@z3x%LP^jo<95}aceKXmMIC+U2P)d# zK0Yt5`B&*P=AYtot1j>^UEsU-wW7~OI@+tF*I3bU`sg9_!AV8ipC%$Jm>t!4XsthE zM1Db3n*NPRm;ssncO5QjI8F?#gIRK3_D<#Nbx8K~%;n3pZzh}p-%9QKNc&ddtFIRI zoyyOw7WExDRH&coCGr!_Uc=5ig|E=Qv25t$dqMjSXx|#`yH}%AqkLWSG&&99!)Bxg zd0-XOzgfLU`@-v$uL<9xJMvo2f7z0%JZJqQ{Gl~HTKiLz2s~Q{Z@wyRy%`gqAqV_z zc8mj1othUH4 zH)50I{#^T3s%rM)B{PX@P41;aZgQv)D08VMcUKQ4Meu2Icipdjn%rIQQBAQ_le?=} zE(5Yg7xJtwM3Z}|CU@7|mxRDeHMzSEs8zlu5?JIGEjIUaOY>0pT69fiFpB=r^PX4I z=s7Q)o)6zL*N`IZuzpzJvfc&`w`^jj(_l_4k)3b|)wnV;@4W3|jE$1kh z*w`mRP{g`Mmms-G}z(RLE^og*)n)A9OjXZkT&X)H*aQY4T zVpt!26B!5I#Hef8eNM>GN}`a4Y(-u#+CYIWkb8 zl1iUhNleefmsGM@5aV z1S*HNw;o^LPGZt7eO@~BKS7_(Qp#7+$E%P^8(&YK|3~!co5bngr_Z(Ns3`i#$sRSn zY8zYA$4Fw*E`63Z{ZG*6MJc5feG*7rrjSab&;4KiBl?^@n84{D(uYGRq7=kHuCQqH z$pR&Mg_Z8uRC;QTq7)OzQIyLpHG5o{UZftLH;UA$Of(Y}97y3{N?;`iQc&Y%PrnLz zMIA_K;y{WPQ{|OJbs(i7?LbNmbMMd{kypOUWCxFRI2N6^F(v!+PL9ee^>?nA*N5{6 z6(GvNl^R48r+KpF@s;#x2Qx(|`->7?5}V9^Z&W5*cc=?_h`^0-kpFkJteO7ClRQK= zss=IQ!%vjFazuX2gD$mUJ&&Wx}QufQmMm|iHvX1!y&tj)T3L!|{|@vP2bBR?Qd zE(kosbQWdFEc|aqp1Sr?CEsa&&qV@FY^qy#y{_)icy)7CbvsCP{WIL5pwv*;RxTE( zy9$CuOH*3)N!&2 zl=)L$lZ*7ZLF3NVFn50Nv?Ji*Au0}-aY5X8JZ=>kvOr67R3OX>phX{k6AM{I!lnw9r2) zz8{@eN>!bgCy0(G`&~;@S})Y+gOc(PeG3`a{kn7;WZbXqmy{T z4?l_M51SQg5+;8{i~03L^d=oGVODfSYV@ykw1ipFvs0t1b+m+8(UVi7@6^!}W<}3P zjrQnh3A3W(he#Ds2kU4Fv!WyXCNS@!qa{rKsMs-n649TWQuUTF`E%4i)T~_@jzwkO zg>=>gcUa(btji;E=>FJ6iSvRCOPhNp1~TjO-6dNd*((Fqp!^$Q0 zHYEtNkw0*ev7f+YhQ>w0RCHL`f_S|E4;^a99y-*bx&mTVkep>oJqY$E;^X&&vp;%X zR=U@`$4~0=TF1-%yt5JRUNLP4^VMpGO`4l)jP9fI>w~!jFi3cgrl;kyx_$cjE7s;M z-f+1)^41v9Q816xMULWpU7Ath7AX*n9Q9*Rx4Gd|`k%)fGhbgolR3^~R#$=tj}5)R zPbMM2qieOvrcq-T(QkJjGlS^s$u*OI1BJ{fv^x-zDkf&sl%-jc|J`(>M~Ov|@k#-7P~H%_addmlO$TV(-tfN2 z%kRY0?}2}>yaT)2)T?cIDeq;wJ?1-zJ#=EC|xleeOi(Tq2flJ>f z^kqapCn)@=y1sZOOVVamfl0uIwt%$+l}Qa& zViQ#mH>&Dz@oJYAf-nK!XgsoxgA*?E3p%V~QP`z~2%+B2lEFr0ZaxhktV5kt+Y&h9 zGCz&306JOdwQXxQoS-DYRc!&TNCWszTYzt;0hF}`n4SjkUu^*%PXk!d7U0n|fT!95 zEKLJg*%sjGG=Sf?1^87Oz^^;DX~vZVB?+~uEx_6|fV#E->okDfz3B8xScOr&F%>4y zVfyURH(SH(Yzwnh!&trbi&OyaVA5MZZJkL=DvU0uxiySEC#A|7=1UD@6_lF_pbN?- zC`prx+5+?-$Y};vq8_YXOr7~%DlEOIVd!SLKJ-j2Hg!88MPrxK^#Y5Y*f%+>v1)9n zvRP&;VZ10{(a#;0dqekcXIA0howww{7mUjHm`dV>mk&%1I-mKeP$AYobvh`8)w|R+ zO`<)fF9&0ot1zqN^Q+mzy^~jl3&w?B{!$lv(%)0A%iMW1D`Q-Jr3wUVREr<_%rA_} za(Kz>T2sa8c{FGTYeb*FLGhmvL{f+pKpt|se&DBMW9n>3FHlvN0u}u>Uyg?-`1RDW zv&j*f1hM62tz7w4caVJgX6>Ym==roBdQ)nX>eiT$)?D|r1t?1cc&IJFLIF5AraOj5 zSEa%3!A572!m5*PC&(gykr8|ja8GCw`hL#z^YD}DV!MB}y|WmDuU;;ZS;9@FUu8re zPs`icw%c5z`jrb>G((G}3ZT}L1ub;e(IpBX&ahu-o5QmLaB@tKQlqLf_tHT$IqXKI zRz~;qtEDm;{G84@3I1qX@Q0Ii2ftX`;y=`xSR*G>ZpO=1?c{`VHVq)FEr3Ep?IDOg zLT4zjGP*B~m;bhNn@pc0C_W;L>h)~_-be#j+ZJFoLGghiqa=hjWXx>6$q>Dj^4mmC zwj!@-FLH_%SRt9IuK)@t} zF**a4N@pPaGsAzgFnnS3=H8-O9^{@gS~$O;Dqh<{!SJP)<$~efL;+`hr7-jzr2xrB z3OF297^+-J4HZ>|Ez&f!>INZE6;*bWv1Kh^)Cgi^yE$U>UqI9A?sSC4Oy>6oQL|NY z-7Tw^P>@x?9qmIroP=<-g5a1JCwtVzvD!JqBXc)n$&;l-^~z+D9{(VT5&X|=?yqwq znaP7w;wK~a>!kS&HMN|Faf+@mdQP!hJ)v2BBHq~+s(xYq;y1|xpXL3K)E*=_Mh-Ms znEfsZIIlgxKgR)AB>^Y20;Er>@-vO<7N{@H^gj(GsD4=>5>hwAx;2xmB*+u; zF>Q-Yh)K-Z1F@BAV$CeHdJT!K^?6IA=3~`MBuxI8rg`>?p&g&2F@VSR}!2`DXT{`5|_l3UA@+ro`b!lrVHht++g?zI^-UoQ8kYyl?%<` zUN`Mg!_nN!fb8-d-QAr2gIMubr@S_i(wUNS`!7|>I~^4hct}Zg@#vc{Oz9@!VK<*s zuri{Oly#IGF1Jy6HIHdn+oWC$8*Pp(ULD`*GAgr)B)Oa;*z%!jH%S})qHWc381+7;|8nFs zjv6do0-UB55o2veWhjq;xLitQDt}A>B=m+x6_|GH{0!@QR#CD_lO8g@Faa{&sKAoF z(pY^_oVoGpNOcPpR$|L;9IVb#q?SfPQrkK{YO;;$%|yu*F*kTNJJ1h{Bn$lofu5)* zM1|rWk=?uR^Kki#kUPSo&gyEgLS$~)#M>kaoT|QtJDDWbha^?c6UMB$jj1HeTW@Nh;ITRy(^{LNgwO25~lRA7n@Zdd*q#z(dzKg&HA)o zgtEP&hx}XghE$S)=FrWWDh%T%vA}7n#TE($Aj|4q4XE`(tM`Cpf~F4%J(AkBwL)8q zYcle3UQQD6dr2aG_mCo@WEA}_!Kp};1&eJ=uz5z+TB0epG$Sg8_)=j)IS6@}h+9Q? z?IF8+ja?}i*?im?0qHSwtv(T@zow;=>3fD1xwTCsi$w!~yDfm<0)UZVJ&Ud#E?LPe z>hItUxeH<)z2UB19)F6lG3-*V1i_mxPB2V|xhFacws8qJ?0ExzOrDkFE#zpd-W%;l z9GN9|13Pb5+hyPVh2AdnhQ<|;?>1$8rq}bkcy{w!Y4H0R75u<-_@8U|Ujv_D+~2_< zM$}L>i9S!`uqij`v8NCa@_4H#JnSx=WbwOdT3Ka_bO4^j(F62txHhG_jMdwKbWtRg z{F{b^mmT1GTJ#mbQYmcp^ioPnj_2=F-B#oIHbsHtRDwcE3qF{6q1P)Jjjpzg29~bI zP4<>ZUkvsFy2a@Ez1ya<^qw)ZI$> z`HI31!Q*wo5+;8s1z*{^ z;0-S&3x1l}%qlon7c4nMg}1a*W9f$UA~!z?hV_mltFM+Y`AaGI4QiWK5Z~*fBVtzeV`KH^MW>NAGyJ=v zz0lz^-L3%*;VUVMszx3oj*p*m(TSui{l&~#a^RqKqJ}jp3$+*75;-CG)mKZH{2|Qx zC#DOsKl($QqW%Jlnrru~O4X1cb^%DK39d7>!!3cW5d8MPfuPL84Jr!@!5cJ!5+;8s zO;F6>NJq8q_X$)lv{1c3qbkXxchW3isN7Sudk^7?4aDda?r@+1{a|H*ntwEP^` z^k9NEpOlgRBAKGZ14M|*->hDS%QJJShRpTA(b(Xui@41x4H0*}v!PjXuJ7WJd^Buci1#tl(cHf9AM$jN+oTwfmIk@B(19V+H!mC7hAKG=e4 z?`vQzPbRrTH*wKxLXO!jWWP$@4XW-dF=G3#KF_??9l9tQBml9r)ZfimU2{zZ1sPR? z=!6KM_xua#6A=S5F)Y#L_h;7vHi?!^+DC+t4Q3ySXA zqhd?nW}d;4GJ7?-M(`!d;C(|mW&f`y%BP|vnkK{yDeXt}pmwhypXg5QRt%zExn)_E zp)oD_D^JNkhiQD&M#j2P9fVZx03;9IggR0AFV!AWcWTPG#~M5jJdKonB(rlUBl?j9 zhjTHlT8ky-k9qa(puFeS-ToP0&d-ji?XXL*WF@-(Kb!*~et{cN2phSsu&1qVYy7D&-`I&MWWNRQI!uZWWF7JpB^&l{EhK_g4^ z8dU|j9QC7f_|XA_~ zc+C$S=IEUG(C^LA=a_NincWCLW>cI2X!58x?OVk$2>E4p~^k*mg2^|j`Tw0 z@01|fsa6?_jVoGZ(TMB8B~XA_sFm2mk*cmINo3RjD1lWw$*>m?6%X{y2=pimKG5M@ zc^5};K@N84L^u{ghIn4}bYb}j8GP}97b~%7=M0U@kwME-hJDS6gL3pT|I(NuXUk?r z_B=+m+^mZ?5yScgcW8)bCQWI)v^{e2Ri=@+Qn5!)V6+D-7Nt4C=I%!2Z>cMAWd8p za_6t1P8mC!l1H%|op?73txsN#(`@3Xfji~qwXkSq{I%%5n-r^t0Bo0-9eA*~bD24* zfvuSG32tR1H_z-AyFQL(otk$OSbApiW(d#2JxSqlBtMQm3s7qBmW6`pYG@nu7DlL; zCISu0cxt5Xl{meqVl%sB={Hjc%Lba>Vo3@V1tfQKBP^wfT9wQg3mhldlVOQX4i! zN68 z(4a1-oxhrMI8Y%}q0bH&j~wPn4SMq`Z|F6VBCJD{tPs5yb8NE6-vdDc<((XxJQj#X zR|Af@>x)Hv=;saHjyn3|$mAU&Lh!H!fAXM@P)(tYCIXb2=Kk-L72ku&Rva|=ZT}&b#7$KI^wUGjU!0MhN z-&td*?jzOf_tNX5B6_8^+^?j}R6LQBqR+O2h}yF#WDSeG9{5fQJ~P2bk3`ui6*lun zxp^lIo6dx7pN;tawOzRBWq0C;nA(^1e zoiID0jAtgVj5BkI^~JWtdGSLwk)p91_EJsfR8S9n8}#GxoQ%9OiS?ftHrr z_{`_?3?B)T&sy9EQ~Vi!OUA`vQhx`g#E-;1)ACpH`#hgIK1cX;dr#-{ZGLaG+^PAr zc9#RQq7~e0t^BRi{5$?V2U}XQn_5~fRVr%`yDl54E&h&gXl4 zzAB&p4gX)-{NLCImeJ?`$Y%$iQqFq*hOxed&nJAIX1w~5$-nCJG*a?c#Yy;o|C9K) zc?YZywrh_!Q#PNzd~W9>Ve&~0%Q@ZBGRuMyc=wES9hzid>$DQo4_=L@2%32`ji)PEtXpx~ET<=*7R*lPK;-ZHl{#5UB(2Q%k||L!!nbAF6D4oj0^j zL@#%3Qx=EpO4$t<8_FGCa*q8=$~ki7njhU}xfVn>YFBjy_(xY;9uX6wzY$MJohy&Z5q1%o zmq^5;7SzMykzId|OypIs#233vIiC~fK!N{_fP60w@;eFdq(D~Tv|hgu>)0vpX^6%( z?U4g9d>O^8xI#c=$!MO1z{@HV>z#>%nXQ|6FCi>ECPUUl%j{_bwL?R#NzE&p>ZW&> z7NDd;jj3S0+koW>okAQ|`9Kvq=FaFoageYy6^qktusETykVR6IV~m>E;u&Olq$?(B z@ot;++ckb;=0+tabvVvamKjyQAPW(wKx6r0vf<2PrmXxexfvE7Vff=t_texJzbJ*&AyU6824<&r9GL|!I{Ln+y2 zj(!sl<<1tjv}`+O+k@+5h?C^WO;J&QwhJP|QiIg#?Afk-#l|X#!N{KG9|=VH$(r^K z#YPhE;aIP|%mekb-Wi=El?jbeZ=4U}HD6%2T~? zqIQU)C)-U)iNblK^3^u2Fa3UMriI;cQ<4JGfzqBn!y%M1IJz_ktT-Xp5TWdpW z{>9d(hA}s-8AJV)Mi!mzoylhS7aj_r_i_+=lfJn!#W7XiN^Qk5-SyNVQOSSCU@hp_ zbB>DngZgH$lM68ERLs5RIUDnEiM>Q`V}2s6K*H3! zfF-*FZ{xrkSz&`1sae3p+Nko##bWGK6mBZ67PHuaBe5CjB}`A0Fg;O%6-Eiu+b^MC zS_#wBOZXS3J688O(cb4ppOZEX@`^=fMl_?{2>8RtU$&Pbi(^FXMlhaUA;Pif>OsPm z0~d1>$rGBdc+fdmQ{=%M7?F8U#ISc&S8@(QZ<=XT{t}<=9OsPcr|^sn&L56WH!R`+ zy*#cfyov0`hNcWhz1USAPERNdAI?&{FFfBWN9TpZOHYz5EB!DPz3DCq6b-5BZgO29 z+0|kfyRA{=jz2sV!~BpQSXK}tZY&))FPVo?eU(*EqLAO669j=mGm``?XJa^}u-vc6 z8JRRQ&I0?i&iRS6EiITMkv%4>md`<(Hnsc!nOMx0q`*Czgp1yQ2EtgK7A*pll}&7! zsQ8BU6eTtTRJ1`11fY}3xK|W(iqcH9H6nN^Vy9DVi7ooyVBI<KRS|?L7VJ;jIKwgjMJukRBO7#9PKD?7!`DWg<-m;D7sH}Bh-dx zS{FcSw8>1*^P81hM8gywc8Gq>-1_pLm3CMjc!*SeouTtPqF3=w#}D|t#%DdBEqvtd z4hfUbK|awG|A`cL947u-&$Aj|ro?v!!wdO*hp?~lJA}_QeB69)d}^#hZ#rP`Mk^LzxnK8T%6+5oA{&XMTX$+3moOb;MvshO7Wh zS7W{F0F#2eOw0D%mEQ1!jo$F>2a>soJq)%JFef&22X@^e1poutS+48{A8gDBysxZ* z<)s+VNZ313`W<;=g!f#P{eLkt6B^1D*vM-`l&z4;8nO$G%6l;*N7k58eCz<`;2h4p z>cI#cr(b+4(9Vayx#y)vrR4kFp*OCVm038jTOH?Vd3>^Xkxv3sD;~(pxWAJ-{NV1$ zg=iiuP#(G5jcz5=9lo+uEpJ;Mm(xsgT+8l}ZM#H{dMh-MBhyC@2u9%xC>*mZOeAk_ z#Q^cp4?)ap9*JUD65-YGg*p)RGEvMiRew;M{XqECJkx(5hk5H!-pj|`cs-Y(=@&q^8!Gnujs_4=7 zI4(;?OtLx$j|eBSw)V+?o|<(-WZg7-Mrcxl$FvOmam>f45~(>_Dfy-$*PuugnUbEv zGvt8iW>I_&GV`$id`l5)?e8Gg6;{`+@DzO^xO+>Y3+Wqn7F0EH`Yre-iH7M!cabPT zrDq4QWvvb%6s8_Pux)EyKdbRhMb=>tLUjlArj-rc7_ad&C_DUra)gGnL+mhz%g{W2 znGEB=GkOSw9W8nj{I{DG`hrPf6x7cqCu4r7C7o%rIIYVi7!VeEK0eOz2)4` zaODe&;}8ltAQnpWNtb4eRdKdhWwFJEdY9rvILEj_@!Yf)W#_tRi|O0=N1N%}6?H<~Bu)u^`$Vyr z&wLJY5Xs^ zuYv_GYSLE>Ira{zSUHDv4QHV=Z0u?mTz0sNXQD2bG|xUEMo}ae`6EQGD;@Vo~=bU<`tuJVP z-Eq=6h-UZ7sR(Iz4wgacu?(P>>r}VRU&*NJhW|P3zXCt^-Q`8^n#lEiWk3m9spR*N zmvkNVCb3MbZqv8M>cDzVy=RR(JawZP*oq+x=>`5v)bwdoK1=CjO?P2FahrQ1Ynl0> z={~t)|D+ff3$p?X`!-7XJ0dGptWi0S=J166GDuB@p}?A1=Knyp0fgFliEo-Z?~J>=Tzznz-@W|N}C&wl|Mwowv6%XQE! zf;2HgzOB%slm&1!hGN1hq%pGXmb5||6=z8)B!@x*KjrjqV1RB421a9`v%}QQ5zF!5 z5@J$eN!EzdsuQi{zt$6ac@U?9*d;pY9|}z5o|ojP3u&Yw`4e}c<<{0=DhK7^SD9S$ z($S-gCrBho7r!Fbg+Gq`C*50;r5N(zCa7~zzNg+fs4$*sE||zLZ~z&%>m#YRK1$d+ zrlO3f*n?K~(%4Z7T=zVNgDm^A_#bTLuS)fcy{-6um{>}2hn6l;mE_RsV^S$jzbZdE znZ@{h;a^L<<4q}c=nme}Lyf|?geXHeZYS^a1s~vL!mr6T)wn;%i9&UWpcJQ-SHk|1 zla5!?IQK$ND0h$}xJe%7i)R-2bLf&@IyXr-B? z+wA<6T6h1A9{^>P@}OeEa%|MbDHBDn(3o7IRRtNfkssX-bGKXV5xP?>6ltua!Z&zA z%QbO!_(wZ29&B5WcD-!Fay=de!KW9}z-F~3X-!}hm|aRd(%K9#Q6fni#p?oR)?EO?79o9(1{Yxyxmqgf2`4%e>)x8e+pZtG)u7$sgemTuSzY zmMSz&c}=kvv%K0H+%SYKz83#|A)Yeg?d2jDHWXc`cy4bXg=8ZNOnZsVzsqV0sq}A6 z*Rpz-?9Gs`s=i`AGV_G9&k!0p@#!+Xl{$+)%NZECL8CIO0j0naH3M6iajH%7R@jBR ziV|E^n}eQ_nJ1P}Lk=dV9brsPE>`~*K3mMRLe?PP#HW!Df)*cnh?H$4UADh#$&f%N z&O(nYxjx5#4W{C(M)7~!4AgM=(H(kR@Sqk~f(IhqF^j9#VVy(Oi2EC%j93@dnTl_l zx&en7RM`hNieJwU7h(}Ql=%%?AUAYF4&`;kN_kPEK&M*sO11Z=#~;?GIn(P7T}U69 z`J6~F!p`gI9Y3LXPw+2;1U*EE2l=Mwi2cFJK~jmap?=3gU7VpCbDSJq<>ire<2rD2 z_qP0s2l~h&;wLve$t~KWu!3E0@+`99Y?kA({6-*N4hN3l^TSU5@=@r0d}vL}eFY$N zv*Sj`4UryF@!-ZGa%ppd_0U!ImE7Jro&c*3*w)s#%^9vM*{i zUot26bkCfS$MMZ8$~y~I3T#O_d7OGYLSx|bd8j8?`%&=ph2>q{GnLJU+IZFp6Hp0z zk*ZHC3K#ls&4u`}?itD>l~t=*fQ{$VxKF8 zAB)LLZ|K*8sff+pm9AV2Y)|@ZnXtVDyvM3L@qYg}F-8es{Jsc7cfn=e@MS4B#+G?Q zU-N|gg9?N(_0U;d$tlbnZ%J&<2iP{0g5(dxT^jN0`9TO%3-Qxn{^Q%_WWCS)m4I?q zyme1Vv_-<+Sg2$A`;o{`1*!cZG$tpF{~E83>6;pFtQ%u*z%mM&#)8S<*BJ^hTv{W3ql-B7|j}jC_xZIL#~S zN7=t@`I1xPcjeTN%9Sabc~;JzbT9AbnYoD}I%C~(&K3_^=-NknK%HiZFS#NrS z*;z~e|S0=bIh;U*3S6Xwz*YiK{& za7T<*<7HIHekn|Uq-mcy%2?;W)Lu5y^v|@9GFCe;?SR`kv%{#+{7Z92n)7GojI4Lg znqTC9R(;j$dD1}PU3r7vB8ouXko{~RV6dJr;2orvV5nMs=1Tg!qi znSs2r;Q5w7=QYxID|ZBJ8}Qo#eQ@>;)+0JGtJ&sF+9fuIddUp5>Ji8QBd0FsIME=I$jeEejlB_jxXvcF=pETr_1Mib5fA6wR@yUdnR> zTRI!TpAh3wl-WSlouMli#TFXt8Wx@YV+ESO5yonqSry>XdC}>x{7#BZafFw?E(mjx z^+wRV1hV^Q;uwS@aIKtQ2^7alIK6VspCrZCt{Jn0h)b**1^UJMOWZvK`a528{RZMX z5y$<741X3fix%h*#FbfVVr17oa5(lcIokv8#SSi8NKc7>cHq92&nJAu9jA9(zk4U| z{K1&^`xk^(%hFzM5SaT|#6))VQR{+xJ>dxjC>bg&mh_GOY$Ma_?{b)Rj$pNPj&Y3qgQpL?uGP5Fc}fbbOrBB zt~55#&!5x%{EHXk5rAmR=muU1d3iS<~9Cb6KRHjC>d`;5vXf`GZ(cy%+!s$AilY+P75bKe2Xv$%>r zV_9)(x6^i>gDVdLwUZ@(>B+h*|LC%{vJgEI>nrjo47R{LCaR* zBY`B_C4qi*BUjpRz2ML1yFvU-;*SJ&#Cl73AW}E7MnW3=AFA-z>oRSzS5QzjE}EIQ zuH`89;}1qI|CO-dgONTjs^7K!Ae)+Eq2)u*Dy+ElW~}bA=(OAp^XDS=6sYEl#rh}# z7#n>%BHtJ&-NvZA4K`jkD&IzBNG9=$Kdba|`NChAOrK`#wGU;HL6z)nM0?4c6`r(B zCc{6nQl-<0_F=xt&pIQeIEK4qRL&gKAKZlj^yEznl*#M{wwPD3=8^<{7ZSZXS7og3 zR%ZIPsp_SYx0D`J(&+Ey4v(~zmE_*!HrM;CDgn}zJ4-v zm<=SE01+K^u6zdA$3F8M7cX9rRfP1}GUo`Mcds0ZTE$WEU_K0hOIEH7y$+;{Hi%WA zh2ZVg$_U5nbeEP`X9qPi-z(YUFLQ)@UT*HJja_Wpx&5qr=1xz@zP%*J-|4;s4s)M* zBKD3ue5)bsLit}9;#H%Iu&KIZY-BNy9_Z$IOnd7L_b2JW5j+v6~InEPVem!Ye0 z2S2sVxx|V(8teOpP%ch>p|w#p7c633hwfLTH>&Qy%PLs}UvsZJWN#4D`c-Iu;Ng^6 zA(|(+^9|*0;C_xd$l_)3~L}^H%TRMshuAq)++{cA( zK?Mn<8@RTuaYr4MahXBK1=oNJBnTudVpx=j3%KFE_NcfFi=*WGovM4gZ+9A;_y7LC z=lQ-o&rR2@s(b3xsZ*y;Rh>Fz5lblt(A<<#aMKGAYm4>dc0p=#lk}yfl0z8Dew$Eb z^^}S2jMzicSk()kzOr+XKD5~?eiXB*1rm{%!M++CSI)}q47S1~ zIJ?5!jHcL7UPHa|khrLov&3daP2I~h96rOQFJ1!N2rKhpudJB|ungeassu-dAO6+Q) z%i^~&{oBsD*CBc4up)?X0tQixM;qBd2eAJU6#w#>Wn9ok91M$^G|ReXRvVC?iBS0q zW!k;zpHp{!RYg6b>j+bpp69OJkJMXqjADi-hv}j(Cl1j+SGv9t9RLtQZH!n2@oGcW z?jv+Kgu`t#*h_!QqJt(u`OAvT3rGdi^=CtZ`=F}gL%jA*-FY-H*jB1z<(P}zJ|kHF zCOn8QsV~Z-jRB*4?R?(yjPj54YI*=8&SIBuuQ;8L%?2paj@=|9Dk4X7`xYzyox-bI z4!oH3BP^er`%s==i9Bmz8Q+;3>AQBAg@lrit)m~}Y5@q%R5A7pD7u3#l~^-NkGE?u zK9iCM%b=y;#4BoyvPQF_MsN^dhXG7cSt1tf1UtUJm+$RDQs~xlT)&G@<)%K8Mo3;)M=0^s=YM;KO===gRe?H;kYtNE( ztc?rWf!v#7XFyzcg?Z#iyBnypA#iH}W}aYH*)ZbPb|N$%(oh}&3fcP#2oQ=73(Of3 z8ASR7oxUtpN;{_%A%R*Q=CfBE8-rKacfQPh30@Q}&0H$0?Lsg{vYb0rLvru>LD&YRp9$RIC8ZiyW92DVS*p;}2V)vXND`>wsQnfk2#)Mvkz21GT_5-^C4S{Pat3L>gB|V(?6A zo__887D#)@=|#zXtZ##E&iS$n)#3Ca^NFv((>%RM79frTXY+|oM7U#RWFMopcADg9 zE?Ki}t2sjw<0FK6c?FRpoY7ULedhA1UkFSiCPSfUPBCWXaxy-zz#PG*CldB3z{&`f zhfZ0&P-in{R>d7DIr=$o)q=QxA$85O_a+FUgjtt9fjvjW&VUa5(CKK|4bQ8V{hbvH z`&i0NWj#n|?I1ro>#;AWtTWIVZ68@R3MjE!me6lR(Fxj$lfv{7JkAwU+Va0jpFR6V7!K5HNOt6v$l+(h&Jk8OEv?9&svRc>O!_uO#|13IB&}@*+eC#P+ZRU%L zeD>!VKz_2WU(Y&gLPdgxz~Eahrm_~?O_e0L)A|xfPBq%dL?d$O)?p)kk)Ft(Flxvc z;LEbkTY^g)1_I0kDox>*+eDWXg%EvAx@veI1#z==kKoo&Ud0D_TZf&BFQUowB8M2Y zBg27)I%H%^VC^RKq@rz2^W{z=V`yWg8NY+fd@lm2rRF@P<&15jSQ#?tJ~tyGtKSkf z=0#l9NcjXsm6?|p&C5GvSkd6TDxk&wNmMBDs^WFARbVWh7czg8IokS*C`6=+P);9- z$jtDD$}qVpXfD<~N2k8EU1TquwhxK0LsYv^j;_EyR*wKX=3D|YIIoyOr%xeTAltK4 zKs4Er`H}OOc1i_Am>SVzNFtOU=~TT?*JOr7!3PVUReZ2N3x6ebB4bahP!pu}4n~;TO>oUbg402lu)X%eU7Te^K>@5 zKke-DTw=gyI_14bT}FRr2Lhv?>YM}oy7mvNZIe#F={$Bv5}jFl=?o#45nUr4F)^UC z&VQB8{{i{!jaX=cy0n1SGAifg6_>23^l#hB%&W|JX?w_cX-nClx1s{5TBc|5VPlxz zZ2PFRar`8IqGNmJGt9l$__uBIm%cyYD!;iz_Tr7$Z`9a7^>_bJBhQ%jgQ~u^W%STv zY!f$>jUN!u7JDuC36(;9H~AA4^fK+0Ci)a{?D=o|(SD4Of*qZVs^;>z^b#X>7bJC9 zTfBW`vGxtBMK)R+2Wau5hMp>XA2{(163oEAdJpxGBT)LzA`a~Mi+N;DVkekcQ@>xs(TLOb=jVZ>APgL7iE8Y?< zH~#8ZP*-gaEdz)gqv{_YKPFxsCE9Piw4|@PIp^(u^q`TR7)ok zgBvg?6W2YziVdA0zc0wsH_J=^9sXx%(B*TC*jPSie<1v}&P&Z^vyO>|J(E>P`Q*zB zq$cGx<%tOD&g3Ss5+H+4TuLJFoOn+`FUVI=DU`n{P+DGNM9+r|_7?EcTp=f}>_t#O zY?O>>4Ona)u@9Z*2S=-_te)qHu1}qq>UlyKmiktvvP_h2_Ktd`D38qIb_-lVyprctXc{@`E-MnUyR+bYX&~j9WPQZ3W^n;T>sm zffOG(21;*hF0EIbUi~y*(&v~C4NdrZDTS(hPX3R^w74YD^&;0yW!Z~vchjY+ZI#f1 z5oSuOb^`4XC!pjqNn~4mUZ#k0WL|u(kX#r^v?X(c%SP{?r(3t8@6MZgaz=Xs>zJcw z1&x>3LfaUR%)v2?mnK4KOIY=e1!Rlo0ei1(wd^0E}j03bb| zud>wVQJpWrXh+)XK&yA{)(%{BRtAeGg zjOtTJvrCDgA$~-rON$vZE}`8O?dgL*AuTPr!cUUy;iS}@%oI+Zd;S;C4LQCQn7fMq z-<0+L*0(Ml1m|3M|53T}{lQyWT8f>c`v#dq{-gm}PQ>oz zvi4+N-Ylk})=rM!ig@ss;oVMm>hjV}Y;u#C+u!MQJ;XiQv-hj{%xZq<+$i-3rl8vY zI(ir@HB&Wcrp%|{j*=9elzwKu|cSAwm;Jmz|yh&`j40v3Ba#M;F^CgK- z$Mb3OR*l+q%Qb4FTBCN7LM`0KMe8WuHHo5iYVBmOE?^Ts$%82HX#M_#yo+J+f%^Tx z6atjJ?R%LFh@D+OkM&6vHE3lIsn64VDCQaF1gzSZh1&=9!4hTSDz-)4)rp$ORk9z_ z>2kfg@dBW<#jO#Ou{M~t1lFe}#M<^eA5@hoMobp7{2U5Tov2xIv_3>JIKM~~-!AAW z^E(2^7GR7D6Z-|;$~w;y5^hNhQ|DRs4ki9lP%-HF-UBJZxa$d(G+_2)YRI~gAxkW? z#8TnA?|`WsFJg}hwI=H<5r!poCd7lcK2YJoo7GiWH1XiwXblE$Mt06uXvF_U20S8u zIKK;c%X<3?X7#TFU2Pg|uznxSNG1KUhKz1uEDCu`I#{)12^?tjJ`wmR9+-d+s^ zR!t`e9ShTRoXsZ?>Ab%xI`$PJts+Wnd5QMx=s!Q0ChuKru-UcgEC=Z3Bq@auv3lCkq?@>>C}Yph~S{8;^N!Gp!wM&sa>%BKqs4KIYmE&;64O>ZDV=LeOmt=D+7T5Kzost1npk>4d$4i3(qE(4D#(hdQj6 z{F9qjm`dyKh?ZoaqRsOzJ81S5vet0SP8EQxHqR8zuZ(|gR@Zo1a#p5u-lB}gpXn>S z6X8%+rxTHcZx(|(jb%;d@HG19@-V-}vP{3stdxa9$ z6eQI#l?{hGweqBJz+qoGfwRC(OWE79Gf=^%zj+!b3~%$XgewOaub|2Kq^xd>^ogX~KgiBP z&s^if?^q|`REo}v)$U|0GK1!}ig;`$5qj>`CB4O7lNg?FuE%6ybi#MCxkz@l7s<}{ z2DY!8+1V}}{~0d2eoZ!4;BXp0v)ft2^B9;8K_6fm-W~M>b&;+Nd+KZyLcWkmzOuFS9;3-;Grb3U5SS!yKhBu3u(!ybu8BkWad*1o z9URZfGc?T4?-l9r0}$W%hW>G<`eZa)xpDx@T5~Q zq<~zQ0fcK@sHeaFUv2%>UvX^pnnPr%)jpRWRp~^EBroxuLz0*GP?(;Gcx!UoWz%G( zEW{ol&At%Xol&=H{Y9&~T|>O8Tc_7_V@(a@H@0lTS5gLAvEO=ukFlW6e)Yht3isUw zML0Kwv zP2oZ<86+^TKvn93waT?VGuJwdKy+>DV5&MJGO}B>SCjA49M$fbneXl! z$oG0C$^LU@if7c#UmWve79ecH!Zx1=VQ$$)vf~?yzps3p%0{1GB zeAL~p_&iLl16Rxq!l+Bj3R@Hq`$J(?VaJB@CWM)%zSh#w4qdVY%z|Ty?*YAb@!e-E znAx%tp7q^_?3dVIwTgG?T6+u0OWfqv=v;9X>Ccd!A+Xj+L=IsrF3+_vNp%Fcj5A5yPh;n^WPDC4s*Hu2dIJ3&< z7MY`0+6%G)VTX_t5SoVrsG4CblXmLn+e`toD3fhY83ocY;xcpnH8a;$XE77M)SD$T zIo;Q+3yvmvSVl54hLlXb4b#nJ?~LSA(#bAIT|R;OX~`@5e8P@2@QEUMm6Y9p)Lnfu z8tu4zQgyfKe7EX03*&CL*}`r{$;WmH6W?sPbdCT`BQ^Z=RBJG4iMLat?xbWDgn7;_wAC(gmdIHrh^H~=eH3K5 zE*ni*C-P)6E+JDOJJTJRnI1WqOowD=x;!(}l5ncRBPGS5uR>R9t`0OYntcSFuZpPA zO^DG!4{_FmY%r(;lkJfL}B$jrGQ;aLkdZZUK!%d zAu!PY)Y0ysBbYY_Q|PReoQ%(Eh9L)c6>c(q8#8NA2jgQ`+E0jDm|ODw3rWTLx+JEF z`wj9ud3aXjO}&U@FFPaW3*%9JvA~OzsMbSPvx}kCfgO3r7t}q6&-(%qz)#L}`Mi(~0DuMoDnjd7J;`|jM$Q&(FCNfZw0+Cq z1A^8xrgpNj@=s*VZbjQhKColtLWxE1)_g9MLKj*FkxIuaeu>rDpD-zMM<<(W0L4xV zty3BkLEdyrC**CDwFgKsEk>nk5?QxKl=isDy{5F<)@1#>Kd2LBu0xYPP-)UJ(eLGx z2UDM{RG%1Tf*63WwBA;qt+XdemRzOB$)HQGvt=qFdNH_pi=HSj%A3qOdzQ+OBJoj- z=bFS#&gju(jg-t4O&O!dNJEpj=NX#BfqlIsu4^@V#112aJ&3PzqTIY+3T3&el0l9I zRCVRugu0B{ zb#-dzAEj%zFYmi$Ah~AN-m;hE;)E+W+BL9I$;a@Mct>V)9>#~80_FDwC=JK0lZ zb23*8F6*wzLDzvbI%(E8hVeIGEUc3yBD)taIofqLAJVS+JBOvVvMv#rrM^lM^z^5t zOhGj{RyvKn(z-|>&}qG@!hsGsjyv5^75;!6F}btV9xa7s)Xtc>HwhV)>PduXKq6ye z_dyR^E<(*wv!&fs%?7tj!5R0}>Jzz@n6JjlSDU0N#sWv3TBF`P9do5&E+9_zpKF0c z_gHB^ud3gwZ;a6;ab~KtKK!8OD^<`hY%b|fk@Q1_ zCgCa6azAXj7x!&l*lMS+X-;86j@=a&dszzmQTmFp;9Ta=B9Qdd zKGq2oL?G=YsAROJBkK+X0g*Nt&AJ|d#zH0hR;t3CUXc{#RLT&LZ;_G{;6#SXY?9C6i)@l_fm%ZHNg+-0!3vSxD7c^Vf!!^$u=P2#=|MRPd*3O{a0+YU zeYYfkNeX)tu@MxmwL9;M77My)T1d~glYEq;Z#+jHu_c&gFIO2-4AUoteY%5Bmdsfl zd<35fsm>UwNu@8m-ZiOW=d&kcpU78^ysNV>V+ghESJ=f8Z#*BdMKK-=&Xis`BC1CC zJ*(UizRzKtDZlFGD?E7)(Rr>)Ln?s30ZS7fAKyJr`Fab_s`KXMWl;7)+1UK!4Ye3koyb57erRtJqq^--3J9VSA5U= z?sz(SCmC#6`SkSGcSN1a5|F=kZe3WFQ`jmtFGOdX`Ui!@E|J3KBb8VHX8#~IP-ez6 z>ZFsmdEMDZ(z96W0_>#)B?dY1*4Jb`3TBPtwAvVY?qt(Z?ArS-RjlEl%bg zMH|AUgv*=izbr6GMJcuq$9-wehU*A$SN&Q?i|1&m9Yw08%(|Zg#u0V)D=Js2efs1e zS%Z9$)jo9~F75N^2u-rZsz2_g*FHrCd#-S~$eiS#a-v^BNrL{YoD6-6#{6f{mJ5?s z3Kf4gE~v8yWe!!>r}W75Dny$cbr|c^Vf}DjhrBzkvn`}S&Gvm>3tu5bzy#CKO%tb-Kxt_-=kgj6v_ zxV-*RZeH&sSjbf4C*gIuP^`{wEAlkmEVs~gb+e?0sSi5|@|k+*9SAOA_~&pqCo-b; z50H;e;RE{~a_x@c$57I)8U8fEqZ}vhF7834exy3+D?1hf43FQ_x)hX<*KPs%36n151VSDB%Y)Fp6iup`hrHfOT zz}j8SVr*FE*{{$lSzWm47OYi}&L4Ns-M2{ui)NU0(uQefey0 zg4!*dJQs#}lJ_)fIcBL-$zY#DVWK=J)5Bg^VF`$v|J+7aBx=7D8RHpnz5$h11CBj3 zYrr`i}z7DO;@udO`jsYwD>nOk-(1m;z~-79T??)(iJ!A9sUb z00*jR=T~Yy-g)^4Gw4)`>~ExAe)Xov<=m;1N-wm9-j_4T=B@hlB&q(l;SyOkkwc#) zbxVDsqHPV!%851X5_Qr|&wEAZ`svS(&Lydbk{bKij^pM*wfYBp=x*qpM?^p8(nmG- znut-Hj5SOu^g^CJ!&?P?Z;Mmy<3Z&oH983MG}-s@o~oaix29fx@KTF|n(35(dSBWj zTvOlt&Npf3b@ox&WC@5UR%EenBj_R7giyL!9o1yvkStEwS*Wy)CNB47rfW>!8w%JH z_~(IROz)Q}Ls91fh-iN*>uG5|nlP$WVP|F+c8@9yww%h;7L)ktSFvcKwap|B$#4IdoglwB0TNgEC0t{c6T>Ld6s(J5^qJN>-ISI90~TI#~a&!Fsi0 zh8(t&eNL^W)ul>$;bKbKkVV*YT9s0nUCJ}>`FbMU*U)Lev75-?(ov;QjSq6)3{Z|5g#sFy3ggMPv0AIirp6 zW;VGVJ2^!zB_8G6P@eS=G!tF_+&YnKH=^aoE7r;R{YrwSxZG32ZE{RT0Z&SQ&Mx4j zoCTbaQ9x0;fVKn$JOiTHD1~r)$wk~-f)4mCDse`6t3b6?c`FB}Dx|gX4()t$p+p52 zn;+BZq6lYa)pQA0$)HO@+cSwHt=^b%J`_@gUr=wC6ZVug;j&gGU7B6e-`YBzD^@pg zPpx~mP==V6uePf<`p1l;L>gsN_KTBJHT5*z zCsdcFt906~4yaDsy-v{6c4IxYGiEH$Ma!z3CES`>!bRy4&LY^l@ocq2l&;Q%Kewt% zw{$_e(a!OyMuP>rwEgz!CupBBZGTd~hc{LlU15szcsf_q*%$^$3qhdl4LTLDl0<28{g%YlN*}4ab_a~nOqIm@TaVLv`dw}fU{g8KT7Ml zZ)~wqz9=O;CT(_v#{z9YW3EE-K6ZiDZ4Uex#~V;D&)$bnD}>L*J)gI9+en))L(vsj= z%X1{dS^rP#650gs0FrPxHLba}uWqC2knM<9OmcYuGf)LlR58`)nuva^g<}#sK0^ zN2?9xO3N7KggyC)sCoJYdBp1a6@8|kk@^Q*`+9UNcek?=fD zCduy-em{5O&p*KV3myrV^R2{t<0L-&=?+ch@t!vkf2!S;L^yGrS50wj)izl>e{aL+x9Kf(pS;1!@@l&H4Y0+*maLRL ztG9aRkQ_ga-M&wpovBZ(#qwpvCu%v(HDcL7HqK#Kv-)cxxSsc*bLuw{+2m|PK6IXF zTI%wuH^^YW$3H4kB;Js~3|rcEhB-}v+GbTyOmdqPKZI~|*><4IwmV3YZ7eX>*a zm%hlE@?{cN`=`m|Ym>9QxXJnx8CfyZl|+$mVauwI%6pLU#_%E)>LR28P+I}C2S$n# zTk^3oQtj?|%G0Cf4AB#BZvPhQPF`|juuW}0r8iF2wX-Jo7r8n@7B}O`D(rI~Yk}u@ z`taPjQ-}ZI#FcyEBv1AuUI67uTiojVT{wtXj={)5)jQiwI1wKS>I}xX{&NHQOItSc ze(^ZYnw%}E`|&134tP?}zm(L8V{wYtc8p}iNVn~665x1D+b1L-U%f2>?3LR7EP?g} zdR-=mu0P};GG3JJUsy;Y@=yUL5KfeUKsZeT0^uSF2!xpu5D3o_NJA*V)pTXe8Pxk$ zo@${5&jUP<^9YU3;+f6!EYB-EZ}BYVd5_1n{}z9Q>MZJ5dv%{Y?N2=APhI>{8?~nu z%#%KXPoK`%70Y^vx&F;tIiP{BqUA>Q3&e=muEglKu^yR&VQ{1JF6-KkJa?EJnvWdK zS>QS10=PG4oC`We#7?KNY9d{!Lp<`f*sgbm(JIWt>1zKZd~wiRgeNI%Krl$I9aiAj43ou}@jJ8G3iB7;mG>1qwXs^r99`G4 zNffH+2D11Qq27$tb>aZ9dXXsNEWL!xHTF=ZfB+KTR%N5weDAAz#Rja zeM@-) zM=IZD!EK@uOkC_Mj~^CqBW5H zvQmp#tpj;tQCa+u5XT<;@%GUA?PNbG={YXC7Fs)Ln%2??_c#esC;i18(xk~pRF*D$ z1JiD{PW7;X!gCuER#9B>w=9Xl>n_EAlvn8ptH}jvxbw5C^^nYf4nJ@Uzp8cv(=DLx zN~B6gmqkpH@SEuZ^OADDD)3XDm zTa0O!QS}OL(5~L}TQCveJm9K8{rC7{!vm|VJ#3eu-~1_1{l(6}whblAjM^TBmBwG* zHEPEc7E~GoOV~5oTu00bd0EEGGCG!TIsZb-izJuN&E76|_DZsrEiaaz(DHuxV=csc zX+h*cTfCU;vIf#}>CH*5L0#JatclL*E;q?-o{z zp)UtOSX3P$m2haQ9fn-sd)2rg^lG6{QDju;ry}EmvRC;RdbPWd>L*RApCA(04S>dR1}h#@4vxjWTN9Dkuh+@wDP`-rS*z@)0{<@-w) zM{K*1%q7ckEt?nSG0lH^TXzh_Xe65>uezNtUujMH1r(OdZpmiu$CYFWVa#&30E&x4j2y z)@WVP#{nQ@4bhTqMsuoq7xi2q74y_ns-0cWo6gpCT+rWB0bjkbAY9vv`*%J(HOD|@M}K13A#eT#tc@y1kJU%=s^%LU zeg7R5Y8@)ny!rH7G$4H@;+lh4MiYzIQ^a3~Shk+PIzw6S0?ySGhEL!>z6K}pL4|p; za)^o{uDOmem1{|4)cEI*9ClmGyK{kCRSp#vfbK8n0& z-|9lSQJ_$bH#)XASLj)ezHrf4u#9gymTBoxANj-{?tU{kN6GL1kX`ZEwJy6o&?oyv%?s94HHi7F^rv$Z}y++%mZLU_xHJ_=%puQJ3}DF4?o^Zl~E zTm!LGoQ$uk{-%BSKu|(RE8)e(*kDW$;k+^OEyB5aXZxGRl=tN#0pxN)rP&|$Kvq?n zVSj;yhzk3C5^5u%b`tVQNThT@TM6wcp>`7LD53TeQa2O&IUxD0L-G~Fl<1|O_ z&v)(BcLOG?;%>T!;(}+X;&7-<82~x1g@#FVdhmRXUo*9&U#PS4|LMX)AT{WNs{;;G zb3P%$IhDF_ZwATwFWRV9-D*8>2-_yZ3Yp(4oLj7~{4CU*z~GcPX$ipcLis-kI(^kg zI6gm{4^#D0;lKez|C6PFhJUd-gYai+TOqk1%BXUQ6Se-*DU<`X9X6Nwh?jVUC?(w)@S!2`=vMd%=ghpE>JwCpjpxYSOw%Mp! z&rA+Pf1FPWPU0lJdgmVF_ve4x@dr9r^ciLK!Tg5tz3pcux6BB4w!P`gfcaxaI@-J> zi%);K-zGA>WEq20Q$^{HpfT+I5C!&aB<1bi&rwQ2U!48k|Fp!)c;ZH|0U}G4g8O8r~;G<)VP7!ZeXq(sB;5NZeWue zP)$NRLmFJJ+y-(L$Orr#owR|dqG0`|wv0PHqvTiRl=a*~X}+Gq8^O}%$iD)mtHNCz z|M~&b#}t(*D`Wo8_;C{oS$rp6@B?w?y!lIwY5gEk2=`*s|05*Z8thvSPyHA$`!Ba` zViMs;;);qj;0lfK{JJt7_TT;9^7%p23 z?f&a8jA}K9`q-|7Hv`q1p(67-Az?HB%9@MR|6=vOpZY&U{U4?NU!wls!2f7-m2T>2 zv&&M=v)ve%rJC#97?-7*H@PusmRjmzsl!+^ZH75gELEoY>7Xr?={v~7Prn*bfu-oz zu}NlYfztJnpY0Vy{(rAtER%cdC1lJ|rEq6;AB^d#j|@M|Nv1BNT1cf(?|>da5n}~; zkxqJaVoZ~+rw3K8`AH3`YQ0d#(?H^(Vrg*g%6&LsE=u&f4#Lkjs)|s!fQ-L5T=Z+N_G7lcY0GpW9JMiXtA^^8qXB;5L0g<_a znfasB|K&cPwG;Zg_xY@?WSYf&5PrmU=d+Z!zHfx9CWTBnBf0!3g!Y#{@RvpV0UdO% z{n2-{P``kMG&%@l&CY^(l*}A(*it5Up~TS(&lD{ROD4JBY-@55W6(JTM(y&7czH1& zOSejNJ(Kb%W*@+ar49wT04#DfgiOml0)a0=(sy+jeHANrDDr;~+Nb;7TVKxqx0?6LH2WMTGT&GO@6oo9gudb}-<_#`=AVJ8k;04Wpb3*|N`_YPgr5~dB zE)6=@ZgO1+Qw~1;k;Ievru5|SD*G+s2Gbz{^-qF+V_~_kdi(E2^i@d4`UVOi9aKU) zxrxiDjViUrtdsjW#t#vXVq8EV?NrAG7;0(=%8ACUu9^tO`*WCmxGZSU$jKmm!L(t| z@XyQ<#!%eNqa4FL1!A%WvB$1K*nmJWs{=+qV2C0vev_OwF;oS(?4aGfc#rRhwr^c9 zQ?$o$SJkr4WfIeCMI&MA=AOP)TX1qU2RqX9KlBQ8|$onRk0k8*Q&9aqlkw>ucNHU{>ihMSQUx2ZSr)z zL#y3$-P~sZ(n{D7vORRVNRm!(AtRidAYNzN-9DHKxbDdu@EAP5$q_n*F*xp}>Y*%R zU)>~I<=lo7K3=Tge7=YBF3HalC%+)H4{#t z^ru;M^K-@Y5GA7=f4aE0g7?(&)xG`OI6~YzVOH~@bI#KDxLc3MXae!SjxXXx>{E}m zPx`g>ez8B5|Mph-JLbqAh#RQu^>%Tfq>+0*Q*$xb9w88K9~jh5UAOMs-<)}WD95}8 zarKN`$FA>#Jx8n;ikKWyw+j4{2gHvhQq#}if-v6HP%bJTO%&N=9eJ>FX&KpHHbss> zy9~r{>!(sW>y&U8@pWmoQ?i}4P_Br-NN)B`{_NtXY$YfI$C)kRWAMxgm#PBH$QB@3 zRzolCHj{fp87kVikh<&pgt>c>K-PWK8fF^x^TE5hp?s5rce6Dfn2xVZcw{Udg+UW@ z1<+S`NFAE33a4c5J|-G}m~Tr2HI$?Na|z>FL9s&e0LHdHL)GLz$Pbf$2tub_fwzp* zgjrqT=WQV64~+30X(Z#j)LM=2hZ0DQ??LR|GqN!Ld(%_n|EPKA6=U8yYCP*0eHWh> z;(|?cmA>CK5N~_SU!Dea2w2`E6M%LN(&2R1K}Y$Va9d7*BN!t`i~K7H?-_^>W!-$c zZ^AkB1656{2lI9ohdYS(2Ovma2*%qX{){O1@8y-3>bbTteH3r%A}N^{bo%`|DSMB= zpbD(}#8%wu3zCwKH^%9BU;>Y5@9jV&t6fj?(C1{!d4%UC&MwT$7(V$Pr{MI^| znGbl+BZIrR;iUAIlz2i?m?(yC37U86c@r(ci?gl~e?Y^&Uy&jde?cg4YT_gtPln%7 zj0?Q1@3*qJv!I12D-n@pt9MkPZQfQha6dC~MNDtL%gL9#N=B-}RDp>BBTrQXdlfAT zRAJctS$6kS%X;(JHmv3AS)QQashIV+lP2>4`SX)c%9X!BT(uaL77ACykExLBTuYfD zl{2bKu5zx#n0`1B!Rkrx<)I?I!f58Sh*3Kf(~932gmLC2?BK^!YLQ=EgrQgQPk?Ds ztN4C39wgiO-z1hBJm258RN60ODuSA?&lb9y2_a|X^!U&sGuB9ONObEh+;#JggdGM8 znW~Mf`*2lB$UV;OS%JjsO_D$UfP9@Az6ZtR z)kv(BwoME;KA`xf{cy!M^ki6P<3ku(1xVaiCoV4cBrYNm-|#|FB`kj$p#WT~^YHcG z$iUsJ!G^LW6hRodqM0Yq;A@l^kI*TpL#q7asVGNvx*L|qX3 zK^ocPC~jm!+1CO%FL^J`E95CNmreb=g(JUmDFnSr`eWs`ZTKSbm#+64f%V+@)wgMo z>f$hl$Rt`$=xbE}%-9^rw*yn_75%hm*|s4tZh6%^!hmd)$?ZbPD{0vGAw?Z=teapX zpqR{p~VLcrcPsoQsv+O;h6#L>ezcizG2T2G26f%{93|l3#A#c32K9s*a#FeKr zPM2u&b!i3kn==chzq$j{{HgEC2P#(77S{iXO%CH`Awf=5yI1=PSGw2hSWok+bYx7s{0-$u zC9H48?elvIqhY#!H+1@zF)w7BPI#3VxCZ^Ac|7ul}uY!oK>AD;!B7 z#%D~I+k8qO>q|S`w6j%Oi*L%FI>#v9<0CQ1eJ#4?mVKC?yoRT8tKS+(YBo!8@yKgs z=9g}v$H|ze{6|{96-tvC(Tj;{D3^WqJpVhQsz6$FP~1Yz4wimqB-&9zsPE6A(xmZN zU2y8}w8qJPDZ^5|C~ zb&UsJxb^)SloQHFo!!6Et!|Y;(ea{2y-`<7Aj{mV3lR$hX0Mo9~@$08b7O@WFV5fxhd$17%Xv z=`4QqWL&ls;}vrlv46N*QAaR<>fAkpi>9TPd8jNAth4`(c-8aCbN%PI_m5}Wr`#`9 z_$+0g664jiPoYAi7c2V|7$Rk#vH~Hj>{HOYuERd%yKn{L0QM<~0AtvWf}2i6XKWuX z;eWfxsqyl~qVOJqIbF{xps)`3#+Xidu1!TFF=81|+8EhfVIEWRak9N*w$jSqaXhjZ z^A`F}lQriM)sW$d6ddYZP+gCjx??ZdSv6*S39d%%Y6vDBD=@ChJ%Rk?Ot~6czEHc1 z?~*PCBLC86{V0y#Slw3vPquC2<&A*s*n8>@QS6Nw&yzWb0nE&fm>9jAkD1moTjU*x zh?nl--mX20$XX||1CjR0!uui}MG$2dH~&3Pak!p$OFLPY=1Z5h-0ni00@NV~pi8`f zym)DjPoVC?N1y22mR?b zG?$$HNp+)+(v8CX`JW$Q)m?R_J|)Z2LwII?dR;Zx|Fl1ySFHMz5uMKGIr`Lkcu)7K zb~*c0Z4TaCygbbcs!!2HxwY&`vSxDT3VR}PPUl$#CiWSS+Ie5VySDf`iAcr1a$+aD zM_u79j2@+mI#Czp=}zydooEHcmjg;?FBB|6dm9UuSC+2EXEbC{NOwt#0i_*E4`-dC zb$9x3S-SS|eSjli{;nEFdQ+EFZ(5O@EInajtDf+h2ZD4Zs?@q4y}zq|baTen``|`= zd7yN4#OX)r;#a17%vl`pkbcyd(T@fb>-3}J2r8f4auCpS%?QbL}TDr6;wCOybUw zKemU=Z&dq2X?w_}4j*LNL;fTxSwlP0@@$K+*DkY}cgHSsAE4Qd@}6Nk`3Yu`GD4oW zTieM=e5Y4kW)VuQx+rtMONjB>PMWGaDcebpnPm7twRDdf$xbX%rfest$e1YJWpmh0Za}|O=&UB-Md#i$I_M=j&kF>ytu&unnkq>-FEnDa zp=gehZg8PoK|pEYUR%jY4j64K3C3K)*4kF`C>I8rL~9rWJuviP>PTy2$@gt>p5hR4 zUs_QGH(MPD>TdF}2+Kb(mK-Y7+?BDU5f#bvf7@Wv7PH4LOT* z8FCgohMXks(vZ_$1782FE$1~L@V~OuMi22%>LnB@la3XfbgU5T#cf|(Zf+p)0U zt}X02F}Di~`w}gfOG4dzVmN7>Ndqb%!7%DNSb;XH{QCA#b$ZDD_pSlAa)ZnlN} zu7D{ih7E*B<*BZP{ra-Lu7&-FVqxFIV_|QKfj!3pl!1NHF|g-Q5T~WZz~1aXRcz$* z&G1xZR9`?qS<<&5pv>oe1mwI^L0bY{lxaPI?#i;BKo7X8&|kVJ^0Fp&$XsDv-$lu< zd2%dBA6EC83e+q^{;WrK?Tvmbzw(^pgr|Gr+%)g+2c#c}{`*Jr%goegZ_TOCdga%J zIC@a>>uOh@{j*1Y{aMMc+r0Yh2^liUBai&=WXdC15y+57b#lCCvq)4&o&AKcS2V8V z-4TuJFc-1kmiJb&YmdGE8!v{m=fuN9w(q>(;h5aYx}P{b8c9uOa->Fe+8h^Ecf2?VuLyNvW~ z`o>e4 zfGUZ z9H(XOaiMMnN?%>0#)36!EI6*L8>e=Sfh4w5`sx}z7Oau609!fHSF^@~+<2uIICA2Z zYk}injn~1s@H*JRi^N^ym9@aJt9mLS8rEZhoVEYM!>R!#MX9~_u&Obw#5)*p_@`be z)B!Whp?cKj0tqPvnyF8?UMbE#2^C9fTL~R5p>`7LC!zKd8mRSZ4y@WunS;Wv=%ecM zG5%pu8#`p3aOy3kqYW6 zsi3Zt3T9U7Z(4MS4}qbDdZfrbS-6bxp_y^u1%7up;StDwiMxj1`8=+Dt#^Gp+rLs6 z*`DcN=~80UQ4NoOB}7+h066tC*&5ICuhb!jf2ERFwSOf;ig5fZ$+?x3f29~u5p3GO z(pl}aklvktrB~Q#PWe|_&P!TcyZ)8#CRRD0!Hl+g2io$Jh#J?w(w?l6D*|t}zM?qo zU+E^kQ2t=fmOyU*O5(8}_AdBY{42eg@~?C-UnrL|%D>VXbCq1G6FUpXzf!&jq{qLK za+4}@It!lM2bqS~xi!3($>91|ItcR{aj%3J((aXfDfdcusBAgiD=lX?#j1TtSSyEn zrN^BFacra9D?O^+D+$8dy^@3)f5vC6<6cQ_z|5fc8l}K%_e$3@b}Q2EkbpzlV=~4M z?O$mZ^j*YfX?pzlVk`Ro%>y^(UkPAp49OyH#0B<=3?i?2focCrXDeW7|4IX5+^~3?f6%sNt2JN8mHVVUE|>bMaviHjOB^4 z-YtG{#ZfJ5OeJf?T9nhf_LID+Tr-rm!IT|GTtHPE=W>hh5qOW4vrmkuY~HBySm0{0 z7P2uS*eKrM&_Jy2mUm@Y%60GS0um3u$(L0*;uOhk*@HR%L>+?V+SMpGs6wWE`jRL zaqjRD&K+1)@)gPdP?68Lu+F$p`AfQ2JpJ6O;>(I~wj;?MQ^{rb7OQk;YFA$nnP>l1 z0PhMvv9-lAQSh6(d;I#6oP}R6gn{WrN#M6i;{v|C;QdOYOFf!WXWuKF z7V`yI54|fWu6@4;L4V(MC2Qmq&Wrm$BtEJ;$!~IB++eT4oo<&J8H4?$>x^hUnMv=l z8VANv^{!CXY(-HrDN+Fma!s=>LX5(QZa=R zBTkW0G3g44X_F{4H{vZE`p?bf6scwyy!$cidpp0Yd3x<=X?c}L;y&WH zj{LgMNZw!N$))dP?BDD?;mY|%#ch=@r12d2S+C}~zhP&l{UD*7q|}^oA2{>eV~~cN z@@fems^^Z4GS%HXa%|8%MW&&XdSk=XnK`Ic{~RtgupeX0$9%jQ8%Xc!uGq2SGm>rp z$?JwD`eUFey2v-yg}>{wO;_lHg=!+*Dcnx2tCq@kQGc#`k4GAl`z!lmoCq?Rx6H2@+MNBaIb`vy-!?y^C&ZrpuIc2^Yq&|zY6I|6 z>jOXP^?{#^=mjZgYJK1lFEmbyF|-a8l-NDX@JICmv||RdENFJDcX!Y}u{)7fedALY ze3f#Ag@UooI>rNAYUXaBMaIbuePC3;%Ejkw3b29pMP#Wh_x&npZ-}rh$%3}!>2$q= z;}kI2>5S|vJ;V!Wg?+PX4KX^AO|Nf$Ezq>zYJEb`zMj zy|r7Z?8)_NwTQ4f_aee-y@;^dvxt!4R%%zk)BwQwHW>ierqwg`>`gDPTdB;6t;emD zv+MPLdzQY)bt@&iUpMYhvS=5(U-0HU=B!BFmVEZIhVw{R{7K2Ln1#u~?`-+hos-0z z7&RjZpx;7?S~(yQN-VS>itM-kgbxDo!1TdVIYqO?J@|)1IpknE`3;qfyCCg*h~!}6 z{@!vVBAB>Sov0(bz)7f#4Hfy@jA^o*U(xpmW7?GjWJeyO-|j_emqncNwZ^W%s6El? z(2VE^0|D!+ORZBR)vOnPQ^j&B@Bn~_O&^|?^Qw2|M}~1)K3?8v*YGZxIxD2H#9v|c z-VQO*cEx+0R93_~4n^fGY|4X#-Lefn2SAzGfXg$Mw0q)~gl<750;Ic^s|;LsL~IQ-^tkzxLp2W7ofj!ujMf{tMao}p&J;S7#>w|Dbz9bPmf ztOVYBSZqkvfn?PH5sTpyg7G)<$SbCoM^tcHqGWbsOAS9jfctSg61c1 zO7uenzWNGBdu}O##8{4medd;OkbE6?zP{8gWv(Ybc`2o*zi@(|VX`O@-3Je@VtHn~SCC0aMJtG}A#(O~_*(O%sxK z5$^%nOlMu_ASd1GzC(nF3VirlVd{`Ty)_H!M~`Gcm6LF-ptkiu9ju@x51Kih|0uPn(9meKCLzIBQt?_%~ip3J;3i)!0o>SiMFz3{LU1W-_FXw zR!cHy;FZak~R$c$pfHE@^;;uR5Ms;7i$s)XdN3b1Tv3+B(Y#(e4h8JLS@RV&PY8kWZV2p4lG9Xoo z$@yT&mzQruzm~GM4)4sxCDXqmToJ!Z<|^q?H`0E-P&V0iemOr@+W|@!ipiphUE3p* zxux%(BZZ#A1lU`sU~{e{^Z}bpPX6V-j2dbgmBqcbpd17iX>gQcOmPS^G67EkpU=1I#)SYY^4L#?xj9Fs4%T zq?|F52P}dHxVVN{xTGaufY&o?mlLs{cI%PE3|%MiD)3f9ZqeGviEF*x5#;A#G<$ zZ(z^~&4G7bAq)eHGK)VPfQwRibC#Sg<8+Uz=3L-q%IVYiMCS5Uz{&eV`7Bl#neyZ; zVlw23H6*J(4HPc&WG~7Vtfdx$u6+!jR+q2Kr%LA0!Yin%Y9@&8$Sdu$;7qcxpgu=C ze|%@@PMM7u(T~8@s2w|p9Z6^Iwx=lPE!J)KsHXAoi9pD}FW}%8t5YLHOwP;N6ZTV` z$bJC8vO?}Ez~=Sr7HH7LfVMA@%>!@xM)+Q*=Sg}KuNmp@16`+Ysv*6O*NpUw*@e*Q zb&@`c*HoX?O)R8xwShSW;bUlDr3uk{YQR>iDgeHnFQ>DuJx|a*;&05M)%U)PFGS%< ze=%CVXx73cdcFHaVfai%kkq9OObR zid-(UBvC;X^hIEjCCFvPz?z={UmRw*vR2D+$%GuA<|*UNZVJ(mE%HzSj|%Yk@M|+s z-zx+3=3J;B=>a>=0V^vEK}t=Yk!qPaMUlg7VcAp+?gCG6RS9s8^tVys(n^QGXiI*t zI4l#-;1jP`Qw44?a&ecXd>M$OIkSe)!FPFSzmH^8k|ec`P+(m>I8FN}_tkV!^AB!Z zr-Wo!(dSNDEQ|QEKx3VhQGoaya0?*FAS#(4ep^o=gHwfouMsQFsHC3x90jZ1Kx&%t zx+uu#dU=*PNHgq~t}e1gz==Ldeub*conZOf!~S=O5+`rLwOC6HYxjxsrhiv9YvATH*Zds#I`;lKchg$n3 z4u53^Z7ulRk;0X93O(2es^#YQT(on7ayc%%kQves9Q=F1Ebc_?ini&3c| z$@hgClFTo)QeD;s()EOYMZ!FrH$(_o4>?tX9V}If-!+k+bc0u@B52Ayf6E(H@^Xf? z@K0%0-L{VgmYggDg2S*sqNgZN2&rDC%Ze=m4yu!=(aQ zA7lXOI1IYp<&4<;3EtrhYU2ez#fYZFIP7H1Z2Ba{-CFv!jFY=>dS@b3wIVAl?NhJ|E&v z9Qkx4t?DguB zp*3!M6Y1bKGKCu&mYN_=>`Y?SX`PFut%cxRi8H+)1g=CZ7_n`{u!ufTG)MljAtr9c<3&t-^r?t%(yG&IcpsVQF$G80&GFLGq5KcT?~5rb^q{ zQj)VUeJza_h>vOJ;udFozYfUJT?XSfS4R8{MaZ6p1xZyHl_p)B$;3}$eC|*1)G3IEvxxXuRtce?t zZ)W*yHJ^D#SlxVVB3L0HQFYaYdb3@B>Req}Ev+lLO4 zpFl;@!dE1t-?Q$k+@XI@FsnF3Qvnf-E}ch9MX@vNUusEt&AbQ zx0X-KNp{uq`Bplv|Ljp#n|^|PN<-dkeF0*qYO%dUb19aB^;Y1oEEwdb|7lduTeaC7 zR#h^svj~9yg8t*^?7O3X3&v?VI7n4RI7l;3>9M*dNMvayRH<%MMXa%7L&4oXn^Hn? zw#L0pSZ-QY)6sh3c03uBU&`p-#CE=#^+6JF$dO?Hi48NWZP8D5$3soTJ=j2BSWS5=BM-$8|(GTtLI z=wJIDlTD&uz!4I~RYiW0}N0gv7M$R`N*ZRqdL?ff?`VzDWm;kEIaxdeOvfBDPgbHn<+mb!`{7u@mKkN+K}$BP zzh(IkPVKy+MrGPFjf27fu~h{Y=P4|<7Z@?Ma-sGg_Q3IKmG#^tmWMUcXuVYl-w=PI z{|rnI@fEAFcT$xralp+mJH~_>2E%)YC%V8CoyH%q&@I7q|{Hyss z4Zq6TdaJ-6TcxV-4-y@`UwnCIi!{mUGzmQPUSrMwL)@EyM^$8v-{~YkK;Q-i#T^wL z;*NqtL`E*@hHmT@TyPt48I@6I+(}xy9qG1uq_d8Yhc6UNxe82DiJ%64j+`hNAQ>RXyI(6!tQ(3l{Cb<|8B)>`7 z|AJ%%Lne~*B3%EOLhwp@>mWGKmNPf>$HGSXU;n*QZ5#!YRR{5b7}LX2^v+D_<6z)z z1`Y>+Hi!{?I0LH>NF;X9#rDw(c|&^!tZ6cAnKcQZ`_&{L_pb@t9yw48#Ljb|?Qz`E z4{%n+H?!>K-ky!BN&6+n5OHf6POPBE;-@greq66U} z$>CIZTY}38OsA%UjC)26FX|fdBAo<}((UBYE~bC_?h)a7B996c%NZQ;(?w$>c9tEa z0JgAltd*UIHF)H3*g(8{h3o^kpQdL#cS^LTeezIfk*~t@;RV~RqCI=SE<7P zNzs!ac@F6x>Cy`+o$M<4^?U#SWY(6i%V5`)cx{zflB%U5i~1 zzLBUtPwdF&eTklYrp&xpQ68LFHHl|{Oqayx7(_bqkYQ=}4dNL@(8*k*SXlqyHwuC4 zce2V0mjQuSvuRd(5%7D4PVV=c2e|E(_a`;JPyN=Vi_^)h#&cg{HJ%6d(d^;L_tO?t zZ8_EIN^_;seX_fa_n%9pieO)qkqBXVox*Mjpz%epD+akZyvzw%zko3Al94OjCS<$l z?Ie48eTx(5{pm#)z00}_iZyz_l!+I=eqRc;`y5=PQOgB93WpztHEQvKTu@f1(5sBj zen`AY3R!UCO0`#l57LIj6xvMT_I5!h0ooD^$!=e(k-O3D=n~-{@&3*3yIgV2`(5t4 ztdhK!y6+F__Y1+cLR7R>`C{Hd%3d^ibCS37YoGkGXKDt}ppoC9$wmJ3ejvX@8wbF? zj+aZ+zBOJyXUaZNz=~1_^>pj3h-DWo7;$@c<=d28y52!^_2hdt6W6 z6M^StkqzINX66ugB~iv*=Fgp?UWevJQ%-Tg=v!jcOkZAP`zy6P$T_SzWla9g=8f`B z*+%%Lq!fIxui3638~qG@rTW>Pe!Ap;4eA-E_T~mC`u95L(;6eM{OBU}9P-(HNqj?i zg?ZA&`PPcsZ}X#zI~y-A_Qywdhl_WrSdP@QIFO@OSK&YQR7zl%{0G8f74TF3UUq(O z%lPJ|{oi7@pm_Wukg2%zm?xNH+RFj{WAV8Ag}zr z%I~YVZsy!=+TY@`kzz3)CI)F~&#dstpncjG3he_nv3xMIf6D@X4NFJg^{}5$(QPC< z*G-=TQF_$aDqpxfbw`)F?~41)Ebz&|2*ZkJDzD<2U7;QJdzu$hRr9VLQJH&vWgR${F z#l7OrrlLa;CZ_>{H?~lAA)&&3M#W~{xq3t1>!b3&{PWir^;Ay{ABtp0Y;!==pPfmy zrTM|MG#;gxJp@v6yDN;6^BuN_nZ6rEz#fdfAQD{&&1b1x{vn0xqwP)g*?rnV_?yI_yA)5Z zaW@7MkkKIlXJb$y{Rw%*m8$xMgu6<#Zx$u_jipsLx#d3B=Eo(r7_3Gb}OIKm|Js)^g*E+ zLA)_@TiX&#B8nrvrI5r1ah+4s1cQi~{zAdf&7dI39g;sJW>9hJbBNDod{}n9uYoe@ z21AYU&fE-I*?LGExt}3%Cjb`(x>Ls`A)#k`R|<214GMFsUQw8fq4Lm}`&e?sd-Plg z(0QzNr`q+qFZ!VPWU}J@ZqMu9(&e{a-{!; z&mU3I3)D@0C(shNJGGpLEv{4aW@-MFai7Hmb;;f;>*2e>On{TkSi5e`PlFiQQ#OvN z_r1v8yWYpP34*FrIIH(n%M(G!v|v+-+qgN?Y#P>$$&kf}2jE63Mtlx0as;=V12QP2 ze4y5>iA6^sHVnq)tD=~2tld->h`l3>68eAM(ZtM7>p*5umA-I77X9ZF&;AKwiTbLt z7ofQWQsoE)*>F(xPto*YGOjJTq11W)*pp(4>9c;4!%*C)=`iZN;hd_Nr8_fjZZhpHQ|x zUtwO{C={wJ$JDS~Iz)_}A-iP5+c3ro zy=31jwZuy*6L-*n0HYv~MkYSW_v*wb{k=L#kdL3UCygE?#mw$N zF&E`$jbSS>>v^gAoz+wJj99{`%o1A>cHxuxAFBkltg^s{Pq4*?Z%XYv{Enr64T5HifG2Xgw<7Q5vdnD0x-7*5V+;0&xtQ zb0k6XFH8<`q4 zE2aUv@*;y2myDbjtB}vcZouFeG!w7TC|}PHYYBk}wAjbt83dohRk$kJXu*tTl2c4`A#T1~BYwd#Wd)eH+9Ne>f`>B^%h*VjksBL4b$^z(`tX=ibxQDdXK;G=g8({S#)1+q+PT*Kinz0uS=vf+I(o_UQyM~yoq9R z?V?+Lwbi*w1;y^F!m<^viF|2aNFG55JAmUCqW3|`@v-8hr+x%C{EQQ=g+Khu7S2>H-smQF(Sd5(8KG zrcSM9>wTrK8i)k2KIlCiuCLU{1v|2@Gaf{whQ3t*?uV)Jbz2haW z6s(jVuVhF$uOz}Z!tOJq9FdnIhsHvca;IUQUcLW8trckQXI~ z0Q0{SCROl7F&gqtJe{u#5~uN1$cqev`6*>wVPVlkkyaNa`taQu?ElOb8VaAAA@pgv zQ$|YQ5g1>BAKnqGX>Fgh<<6z2j*fS^j~(#>m-RS;$6U zLWWXXFbmIlVZIv2H&&~vH#I_AxBkRxbM>xSSa|HWKj2&f4OzQiw(Gjt6No|B1p$KM z8dqY|d1k}7(U8S5UETZ-(t51F^iohQaY_PJ_(WT5s?2BytyiJmzo%1;iZT+Ft|dc{ zK$xyGYwo=h!)Bsnu;*L}MjJ$Xe-ew0R^}mLvj=|qdO`9JiN|@uC%BnOPFn@JYKyP! z_55*P!^qq767#zPn=+;Vh7-~-gv%0_?3^WZ{$r!UPcx{uPlZ-odym%omp%cjNigzT zb>Sxgnf8{wBbuYE@VUaRl#K^o(t8NL;p@Bn_N?2p5{0_)0d}p7d9=MohAnaN2s7ft z@R4JkL(wXYZis|Ut^_n5tTm=y2v4BKWlGXCD$eGW+;Tc$U8{N=>^(sVo4sj0CC(VL zWM7^VX#y6}+OOk_D{qRgiYs#s<+uH+G$Yp#-j-@Ca$S%hCDPLIEnAZFwv3j9FQ-~U zWh(bq5HL-y;B%W3e(N^3m(sTAe^nQ!4whfiKP}nz<<)IA!494zw}Y!&HfzhPE8eD? z-NI+L*-zDPEm^+DZ(9UNM_vOZV@GJg(W1>{k@MZHY3!9sp1VZkIiun+3Ti#mO)Qz} z0?V{aC)kaSr4lU^8q>${+uq85={#<=#g{n(>9nJ$DCuk6>Zz*L-qI>^39|0LJds|> zL2Xpj>0ciIphuCu#~v>>xq2TLDTanincV0Ko{~Al5Px3ytls&uzaS{F5yNR*aac)6`7YG5HpjDKRhSM`b z+oD`H(oS+PkTDp2RL@UzdOk>r&b@5eLZv%Ty~UmBHL|lYRgQ7t_ZSmJ7KE(#yxh5) zGT!_qv2dPqwkGt(5gEA}eHBfj^$+(#pBC#}m$EPWNno^s74U`{PvMft7fxU@P7Jvj zbVK6!(eN0En*PMe3Q|I}Dv`<-FvU%^kF*6_`+Uf<70RuUi3={d)}zmrZwU4Txx@%uyo~?{#$fTym%o#7f1~?)*%1>2FxR zzdH(=?@!uII_<+%tTl3?dYOLryqC^fLtgqJ-1io`vR{a}HsjZYtW`d%o|pux#mDT?yE8DhZ$GRPe7-*35SIEq^3y{PD7SZZ}SEc(aUR z#_$yqtnxNeWZ^c3tuQM)b4NYnB2m(Y(4mZ;nhSW(vW2KosMH{qp1=q2?4k)3_LjsV zs1P*$Le|W}QmLtwb3SXgIm%v3A3#JmBicwtg@`zxbRTY{2^SIL`MMt>hVT(YT#>3o z))X1;i*yAm(nu(D3%}8<&=4N_*Gx2Im8H;dX+sJP%(KozQ{-?y&A5G3q%h~o9K33C zFU&xWB7;1-V($WY0mY|5>5=M7_*@4RaedK4I{p|n9)1}RWQt}6M24!W_K_?Z46F0B z6cDdbPYWQPzUsjANM3@#Ie<7gDcT<=Z_uPd${**opbbiwIkYi~6qhzK!8xThINc8d z4ooM@-lQg#uOXV{G2dah)C{wee8seo7`J_)%lvj9)jg7>Xj2HYk(Xqzmh;!F47bM= zuZEyqwa5}2;0snSUzRm^zI3H=@av`H59J5pSWn+$4Bx}g6~?eVX5|I#bw)zup4m8l zfsztewymYMR?B@ z=9RYShun_1gZ=J5fxib~mQCyO3BE@GIpEe4gc-7`?Qc>KIJb3VbS za!Q&% za8Rjwp-{Q(MTJT_l45}2K`r>s9E*uW5t4x z&d$i^gqctnperSfBHJZ?bD0vgYFs%MLQ^;Y#v&Xpjhd@>m`D(fm~Q_bFf=mi)Q)>Y zqVT!wtYjZE>Vp%iGd?-N>tDP?$qiqyV;1Ptnb7s@X|V{P_<)R!d*+01Ykw|R-FRc8 z^JBl0D8Ib};&2Dfw13~2!b8UQ5OEf#zN$o!_(8$RAc? zj|fB;?<4fzCZpR3x>H{hC|o=qZ;VJ!j%sQ*absrZY;-i< z>};>K+;0W5^Mdh7+4=r@Z?@>9(bV|zt=d|LP*;xHujc=qO5PMQA7k$-jo^g4XB{%WKf?H7NbghlxHT(EH$R zqO2vD0Z?7O58u~Ayw;}-Y+@a*IjMbq@_Yt=T#Xw1(OH-+S{e zWOMBa74)_tlrw>2S}$a1M>JTO1~B zazNRV2<@9WXoZ2a`)a`>S>w9ZcYvukJGb2BfVSlDS92+e#Q|)VdqOr8lV4 z@o_}}vMKc%$-eI##qH%w6#@8Z=qiC=^|+&qD~Y#${vn@q)Lc4Q|#$Zs`<*9pMO zO~p_p?r8143%48BcDb|kG1Zk?{|Q_D9UHL1k?TM4=!fkeUnT%Eu_Ru8$4|v0DclVO z`_3JlTqL_X>3u)gxdZQpko7ex-XB7qRiVOmBj}mu4YhA$F&A0|E zHWZuTcai6k7c3A|1Pj<8QU4xQe+Q|5XOcx|C-&Ffq0TSHc12OUE9iNjM?=t48?aU~ z|2Y>CB|$($yk-G6a(K{6$ft0IbOQfV*8nC0tG^4Z{!g%Q`S>4#g$?7s6>R^31qn1Y znhMD&^o|?W8r$ckuuXj}@O?~cd>`T;1T4M4_}GsX#=*7Vx&34p&mi8x^>R}oKrp^u zu}QT)5ab+u1RZ>U@4(KT>=Khk3g6~Vw9fEau84SfW6-lEShz$XyeZ__5Zx^Zuk{42 zU9d$qX8~&m3z8uG*%ZQ|x>|q7-EvM7Zi(>DAbgvP@U_&xHR#zO3O`w1l)X{JU@R4y z5$z>DLD1SJqr3Wh|LSBKzs~SPI=X{$rr$cIHq|5kkPY^F8^G>k0n6dyMe|^nKS_NW1H5EI7q9Kbhm(7Z z_^W&%d!I9oRKKs~u7j)gjPVxeDR(F3(&#hYIhm{T^zl^%=u{WSwvHT4$TaFmZTluzI#+7)zY-X_Nnm zzT?aW#)5U-c!UcW`t<02oAltyMt<+wZY+Aqjqs;g9!D5UVR$I)74a*r<7Rm zr^0nA8$2~~r?0W4euuF|D%}-1?p~-6IprJbJGUKy%Y9`cf?nvp&nf2qk zQJqZcg-n`KdmYJ^??Xxp&!|@{$oHn26l=9S32^Ug7Bo`Ir(WSK7rK+;{WR~@_F4Z6 zew4w9zPi_)A(|5{@7sj_SZ$;-8~ESxqwhnWWq~Qk=*^{SihL9DtduEo8B;{@q^;<7 z6leNIrpVLD^JPkw1`BG`6xk+I#3)}ZJ4^Ud6Zdj3K{l%i!px|17!x{hgt)*Iwjv1r zT?0Fpf#R|-=4xtwY-SE<{-aJtzn9q)NeBnp#M%O0_d~X?HM0Aqklm8s%gD>v)e66F zU{u=TKQ6DIIWOxU^J42rL z()isPvKj-{rwYG2_s4Irqg?F)*Mg z1%A`~ClkN!aCCHsBPeUNaVpLQMxT17O0C0@CNEMP=^-91I1;AtT;R76#)Ogi6-++L zaUZx?pO!SF_|sC@3iDa;gu0Mk0U6@Ow$bqUyr4rET)UjAddpTfHlEf*bs zod2p)|Ae3URR%q*YwAO&06w6;Y0Zt^y5(W0Y+gUQ zg+bxqmiv*BdVd3L8#AAw-vR3*jt}7n$s=6-cEGbSQ1H2^U1v^}9I^X*OXI`i-3tP- z^4@v;4#XDqRuEfD`~~m&3l|5Bi$6!d9xQAQpQO+95*7D}lbf5LQ1_~wuFLOXj_FT+ z&nE%P`C3>zX{u=9_h7&$mSSU>KJ2{oev8gsYmVN(gQ|Zl^~TH7w+gO3(-mX|Y7pEp zOA!Y@G<|gW&ryE|y)f0nmIzbzapt&e5$V>Tw|Qh{NZ)sQnSaW6V%Dmq4ZrnpFTlml zuMdx)RdKd@#0T&wuL+-S6sTxIMnQZeUyOo><#^jDcv6fCjDlOrjDkC=jDkqDOkP?) z>m&CxcN5fW3arrqS%G(C?{zkR;gkIFcs^x03CD&fl+P1ERf6b=4u2yeRCB&RI%wZQ zHf7-gf4o9x=5RRfBQu^dDs!ktG~$Gc+uqz`4S8w$-yiCx2l_Tey85Rql|DLzmH7CR zS!sH@TreQYVnz2NDg2-6eP0Iz%eRi+7ai&Jeo@bZ_x_gFz0Xp;Kef%?OXg6GRsg8( zfB2^A{%dR8?yrmF(|zfnke-@ZiI3LJY8~$q_ure=c;)Ot;dK(lAgj?I91O1|YsI#qj1HveD?PtH77GV@{(oq0 zty!%hv3#2ZsUd%KVI#~bD_qoO*Ic60SbcRJSp~6blI;=9J}9MyUsX~G7=G~ZgJL*c zpNnCJNMm^90>QBNSAfy(6tZGO7REkKS>$t@3#RKr(1;$}o6(B3OE$U~-+v-^`FK{A z!xU5WJIaKDqu=#0Ed>7`twwLbrn$M{PW1?r^otA1*xMS@j-azFVP52L&I=dFrBlhX z(*p09D)dM3{wKeV)^dLC*=rJJUVC58q~5t)xsw;*#a$}eS9 zXiV+Nr=}$x2w}`?FkbAbBaGkT=wi+W>-plfwgHd27iEFYkX?rbo#fa@oVJ!Z9?>~+ z>NxF@9KRUl(aap-2{e#fSEO6m8@?@7d-yt1+SL{1s&YSvN2F7{q_nRqYNt~6g!`vc zP9>#7T~T|LvO9cqIwilZr~{+8BrjUSPJ4s3*jiKjb53*#RMYQs!L2$~#edrRI8m}@ z7E=})j~_!ErX}2OwWWis!pMR-!r*cr{E`J+EZj<=#NyDE8-Hxup0P7RS0v*sK!-n043T*#<(6UxdDut0vrQk0-t^+9=UPd;R(v7bjnn8n%EQ7+xj;cuyZg(}f z0a1zUR1+rg&PTJdLh*hZqzHo?-QtKol0 z^5>l>H9R<%H)zr>F$^Qa`vC?PpaikK~qJ z#5IZagKv;`GTpsLB)W|_`gu5SPuz$}gwwvizD$-E`NtBI*GDRgI-8qL`t1hkMZC)~ zICA){*sc0)vVN#cS!$J{-yRkkG|}v%@5b_Z}FZQzC(7UhtIKZylf=vec~MU zbuubds?+_?9hpHgTQ(|^xk2EUWGkw>7}Z^jsxHRcJ%v3yX>Gz^beKw0J#9&N5HilB z_7^iH21)vjyyfcO8KaN=WaG*VZqgtuP9utfV3I=pNOEY)UEcD7@NZ>*$!_Loy14J z*u8#V?Dn7;8$L1^o29lpvDvam3xTbfL&>hLg7mBi#HY?t$nn*f@uCj3yK*e$b{B{Z zxf^k&Di9kxA!v=N4q8u&IXwq*m8|J=tk8?ZSCX9xXC%n56J(Dvvk!_m?EP5rSqMT^ zvA+KJCAn%4>+y)-YIDms&lekh>+pCkwQy1(femlrPy&A3zVv*!$O8Ysk~zgE81vyF zp-RL9k1P+Hl-a&jvcT+EZ*szyG*~`}11cro66GJ8+vuiJe|*s2ARc3WkkE;1elQDG z&FEZTR@+>*`w(OL<6;;ye>r*X&8PP_b)Mz-?3U<=>~{wG=7k4(3%8V>=Ple&(wA>l z3Pc1NwSQ;(YDC|{U?^wo-W(3l7UxOkc4VIP6>r?#IV4v)%vqKt!8oE1NZxZyxS^*h zHYC@>@fl^T9rjR}2{d_{Z=T%#6k5Qc&m25J=tG7)0y;XE-X1F4R_x=xL+&INR9v7? z@l7CZdd!aaKZaOyf5|QF$6;4-KeCzRD-o1+ShFd>T}c{O`Pf2KDQv}n$$X2E&q^BD zxhC7|7w($G?0whC&Bu!%)9%K8v$61-AFOdO$nVZI@rg}?%kWx?E|RGm^Kwb7XQ^k2 zfN9Je#n30;N<**C6S^Gv??UKmzIh$V;j}9JMjn54_rf zAm~kf+3t=;`PD!zbWuK1{pes+j1xv2?{WhL1aOpq7zz606Nv#?Qf3`VkGW}82Ii#X zS(&}{;uzswA|1sGQzK<^*MPMyIWc7qC?h%aU?WL(HJJTnF#8{5Fi%!PDHefJM2}{- zmZJ&&-SPCtkA2{r*)k!Je4Pog#2w73Lsif5Ph7>+fK%KG{mesMIg4kRzwmt{x&p}x zl!T~5k7bS5>R`W*w4a(bUYQ9O%Cuqnrl(CNf(E0uV*Zp+*#YK{o+yHEuhrL#4G~DH zaJ8PU3VH)9dLm$RB0aN=tO*3-uB6+YB=z0dm5 zXKgWeZtxXKU`6yqC5^_cN@NE6LFl_oVsOThVCeDqv-PO9N$AOA(jy4|;#~sRl(jLR ziw;KBkaSMzIYQFs9E7A#R3!bg^iR)bm!6&3?9#KI&$TcA+WFjp{;BU zf`*sKAhWy6O2SWXjD@AQ97C2puY`l2@H9d=Sob|G$3|6SuQ3lL!08J7cD3E6f z$PQ#F$h&+_@CGEX^*n%_b8#lC#bZ>JKp)GZRt94gKqK5PkcTm3h1a^acfQxUxp$tG zD_#5hKUCNLth@Hl!D7jy`ao&pDI}W56&g9z+2AkSVN8=9Ha*&l?nQ9m_Q2I&drvzd z7{6z)E<8EUU$~8o<88qK-%9Qytf6e%v%H3X6T60jttdH;$v~hHy;I0ln@&in7HOA~ z=C#(L8!;_)Pj+&g3j}*F!6abP&ZIfXZf=5u-$@lHg8dn_`L%atZ1jspbPu$KTVAfu zI!@7byz@*YY<$6YvwkS!s5+hJ4kMMT@k`f%cVk64xxIx-#xrJpsX#4h3|aL^)2MV% z40*-e-&fr{@+tvNUAL8^mb^_yC6|jciZAO(m>G6A( z^j#j}#J&I{n-sZ8H!UxJogxH;W|A`${cHs%m*W0K!d^_W_996 zfJm%S37DSdIgWUUxPwfjL_>R%B2G1-%2<%?=h$^R6RgaBOkOlrS~q4Ni{3yFo3!l= z-9e^gE(Z9JY&MSrPRai~tLQfOS#i*!?fvQ(7HP~9D<@Ec@H=V_ET&TCtP!o?t1&-2 zLkPyx6MdR11j`){2jUlh#F8E0ZsBo2;6`fTmOZ2R#a!YB$$(4Sf&jaoBT#u!!nXOA zke4=bH=F8>@YM%t{9ED%(0GE!0UKX~u>*Phy7AL!TsI8G5t7QR{UMjA6%1vTeIanD zB|?nY^=%$N;1M&7&;q-GrHvBJ=IS3ZrcLo-Em@j9Sas%r=o+9QKCexP;Xfy9XvaOR zP*q|(`>tf4pw-~BZV&pbd;O-xUJJt?5ByD?ECnsK@lpp&oD#@3E8~Dlpa+L!_LU{E zVN`F`HD3PPu0v-;NE8xVtWEAcjdAWln&&mj0M1* z%@7z;9&1=Egp^n7%uXXJ@iXzAMbJtbnk}hmE7@RH&a4p+Z-O5y-}cNI1cOr3^U$`Y zXDEK7nx4*<#n4W@qUe>#I*w>CO13W9Ew(Q9K$1h&GA?TtYI7Ev^wKhQox(~P53s^< z6-RttU!%LGO#GW7!<*&N#+q^owkS|wPm;mX)#vZGrYvN@geXyRsYPXxyvuISTCMRD z!c!?B_93h%>~u5N6Y`9=MM|(ApcLe*Z@MtN%g{dBHwl*1=BXY@z?Lg})Djxg2a|fI zj<3XDVMz%0wzxw}hE&(vO<$|JUco~Vgu@9SCooWD%f;m`j7}GltP7*mN(j)h%8kUC zvEnP!2rRW$7i?>)%?%%sURG8V-P!!Z!_=_)QkN=U9fumco-&;qck} zgXFF3L&#kL#KUAzzzB=?TDSTwe~|pT$800$@uGB(8^$9`=^m@ENnd*RrT9z7Hcq${y#4LzkvRKL;p9MYrgSy{NaH8SB2Z||A2J=o8A6% znFr#bj4^DC**Cf|dS5Uve6iEz7Pvi8*L~KEB0pEy=n=n!(S1aXIOhEtyM85}qZfec ziu}nOb=oMd2`!w?&vfN|p+BuJ&Q6HFI7}4McEeQZwsgX-rk4#m)7jDV?wYVKt)A1 z!&(2JdteR-AJrIb&qdE$>9t;)gkA_Aj5(NpRPlKp$PFT-pvQ%*4l!oU1TC2e7>ucY zvY6Y8=I8L&9dCfmYrY7?i##3InDJn5)RcR3N-qc&CWO%k$Kdf(k;1QMEF4bdsR zZ;w+&kL2Ep6Z6)i>Zvz9b*fV{3+Z(7bu$*Y6%E)-mLgODD2*;-gQT<81>?7~fT7f_ z_YN%i(1_myLK)|JUk&(Rv<97WJgU>^-pfSWIL@gS>q^WFAwlQ^t zQVVuA$`6BXmBQ#aMZg*}fx=ZrbP!`AeIg>Cr#2M7HP5vCf=!JWIdbxL+!iu?_-Xst zOx!UC?BxBAM7eWF=pqq&>R79_y|o#$WXV)AP;1S{lkds$-{Wx}Ec*LtJ}&4TvOZ_V zJo>1bF}r3fX>R@JYCkd88yodu$Vw)U%tXN8ta_h{(ITlpH%~l_5RXG_c1?y~bR^4+ z=v5%nXGPE>EXxhahJCG3E+KQ1-Kr$7`{@Qg`C?Pj@VBi7`FNF*V#G6>ZlM3bvO}ps z=DBK+wWvYr0H4nOOCCyOy{)~!r3(U?=s@BMg^{^|!k@;m z4iVVbvNe9arxga{w;`WOMn~Uai@sx-oIzCcz2pYmUlmhD=dp`Jai#M(wgp0-1R-X< zk5(Xjind5BBhf1cA)M9wRB|#Pbt8SwrT$6Ph=v1Nl(<+3HSR;5F$(tR%sV+e>95=2 zf7MRj81P+Eg&7w9x?XFw*?h@Wu?k^Qb8{mn&&>;;3&SbfY%uYoUu`97R><1n?X}LB zUlZ^w5fG9`Dp#OgX4zMmD6kaDoh51nQKZ84V!kp&<4T84Z(u15#LT<^%pt0V)q@Vh znDxErP)pg6q=+X{BiOg!7LoHH1pFCyL@=hG@;DFyZ-9W;J)*|;w+|}V8JVdS9%8 zPnQ^Bb6CGE9x|20ErU%@O)Q_1e4k3Q0C9&rj3ISa(49iv1-5%0R%kv^QdOk)8vxH~ zRVIeB-sCiDE73V>y zFt#exUaZKGxwbMfIS9SH$bA;j%kw;1(TnW|QJH&>*gs@dx0{6q0M3CMZ2~UvqyzMXCQ#?9zlb8A|;1&+xt{}tHN{;rc63QjJ~FqgA2vw8+I_%-e$|+jOcI`>ZA z<6_Bd9(5IbCP*rp>Ct|lRg$^ml5L{DpwZcN`K-8f0a>l z#^qRzDP#JbQYZt}_HAlz4?Y|F5xwJR-XwJq82KBD$IkahoBJ5kEBNiVcB>Jp&$G_A z%Q6yUtrMqZB#PADqNJ6PD7I`Z5`_)MBorWReykE3{5eDNIUln+*%G@+kL^SV=-xbt z!QV@4rTTICB1TdXpDiu7&Vu8@#zZ$K%ZbS`nd!#skcYp!Uy1?C^M zcFvT|dl6YXdJpldk7XC-=V?4~PA}Ay2BoLe@(*20z|I2?*(f%U-KH)Dd(Wd6z zdRxMWD(gFf`6TjRoQ1ulw|6fB{D@;V3s?Nbhq98gwJhB)_ZKgao924W^+bqU+~W^q zMTk2U4uyt}?0mbJZ^(LVc`tTz^K}%79Ksz-z92t!hBGoU^pgzPVF}c{!*VlpRvF~V zmw5k^bTMlMHUIcL!3v8;f|2s?K_##rM(W$bpHn?MPs$oxo!gy|H`(DM`QH;hftb`0 z0xb>tfi~V|ZN}ff#m6lpAZ>4$dqXdX|HL_^_MUzfq z@iA_Jn^D(``C7E51Ga2AoFA6pkkWssuHo8L4V=7E$*EF_-1Z%^!oBl+nEU3Nuc@n% zdU4XD7@=uAv@B5X?R^87%`)SIJ!ahBE4q0TfJAp~GL545GYWc_MuXyAvGyhkjLcO zpj)Y3?#iaQisb>rkH}Y_82_xs{tc3U0!@ZHs=VACRvBX7cDGs%BE8iV@!+}@Z+Am? znPhFKor1B2f_$muIyDQM5=(F5LKADc(!FZs8RUnrO8=}%H4aZya;_+M4(odq0=!bv ztK`~s?}>(2bYhtrUZ79ffqGRX9m~=>x#Y)bZjvG2#GX>@u)fGIS?h~N%0r?Pmrl+` zyG{SU?1uHLRW#TiE4qQ_1b_6tyR*Va#xBZ_U3M#0jXI(t^U1$V z2HVO$GWy-EN`LmFxWsGqnJ;!V_K}wiZlyOX6asVYBL{$&-02E0&rcT)AOROXSd~_r z-P%IaoidheKp}_PY$9s2i6et(UhGG>WT%(U(AapQuA+tT;S*O)zJ_rnWiM&n(NMwu>XvGK^LX+EE?4m51{d#aB&$Ym*1nV z?o_%(eBOO&CED&aUoh`DIQ!U)k3fmmoLxFUh>U%1h7JwOd+hvBVb$j+pGuD*GQUy& zTL3oS5uTQe>8CvoSw_Z}{JSurmr6U7_LX*z)$Qh@yxT42me`A_YV(qZB9l>{`HpB? zjq)#1{rJk8!i%ty_e2P)BmThB4eTUVC-|6+`G1%msg9wF*BV4L(#?mI{@JmAk`@OZ zq^CKhXGl-aI6zO2Q}BrTJaUvhT)Jt!k2#|{LePkQJcd4-Y3^tR7i0bQJ*NRPIxjA( z)oQ`l;WelQgYjca#hC7<&at596J%=dVzJ~iJ-7%oA7aeB6pSTbOQ|QsKu!$fmNJ4m z>oR|QgjlB4c&)R<1TZ$bio-P{{zqsB(Ieg?|B%_@kWO_d2A`JEIKE2j1DCQz^wf$H zXiqA`R5A#5LI=T4Zs~fKey}S8m?FqxYDjj|X<*LP zmn+n11)+;NG=z)UlUNm%J)e1b;-%$cja36c9LS44h$$^v z>8?6nfO=PHC1?u&L)@HLXpXDNQWnhfK`FzJkusF9hs}2bJpuLw;sIrpmq2PsgkO~+ zg6PdD1TT;yu8?Ut9ZVmpbEJrqL(X zn0w@53~6vW{QVTw;WKrIFEcMUFHPKbw48UVp7s*Fi|%7O#3vYFhh5_@+&=Ckt@v17 zb&&IIr#~gvXWC3zjY@rZbQ()&dAsiO>;1Aa)(-4()zxouD;J-;KLqI zGjx=LQ1V5rD^RU5>m<J|Ms=iYk z+B~$rP1DbBq$ZWUCIf%hDZc2*v*{1S?@$4DV8C z(jmXQN>!g;E|cze`G|*Fo6XB^&w>y)_0)u@Mm)N-mkctkPd>H+tVZUFGwBtayBvp~ zpS2xaSKG4Rb`p;u!HiD4)iaLm#1(mt5nOUz8pw8|=c_64dmdoD#$g^I!@JiPGwgGO z+o(ZAEyQ6(3*Iujr4sZoT~jxwCV%{OWrL|a92;5YM6XmAvffW~n#g3;^ZQGy&>D-U zpk_G#IRdE(4x_A^w(^yj=B>4&A#1l0J(He#ty4t>=PWET(Awz`D*$I;(w*&c_iL)N zck&Px!3p33r5jB#h+6;!1~F0|X$G;XM8VmGug=gY9^nJd);yv>*cIb~D}SJHr!nmm zd3TLsLUUaG=z;BFcGF)vC(7Tv?31eF`hd^I8mdE0f#as&J1Jb>UVAPb?#ICMl%-p#&Lx zFP(DWa^yyPrdWMATnuE1QdV*Pl1tjMyKx!VisEsZJTmoJFjM^d42v6wp6u1Eiq3Dj zSztY_X0SH)O)E|xyHEB0=1C68ByL>{ zr+MHS5-4|XTo=8WISi{?#d&|e&h;t8(59# zJ&8K15{XpK|Ldb={E~loIt#}VpY22ZvCHys(918(Vb(Pj_40_4i-_(75YC_W3_rPY z;_bOSb0T={UES_a5pL^UPIR;}{4i$M5|NpRn4aa>mRiw=$Y;gG%dFKFMjQ~ADERR2 zx@=@H_KxhCw0oNwEyd2^Quf#A4b^61;PgC5cT#6|X^Gz!hz&;gY;(piKbj{+)A38N z@O)5yRubz^Mep#WZ5;yEFlFnI4tJqrdF;1;>Z4){U=7XwNx>6{jX==K^efwx+Bb<` z*(Vd#Xg+!$%Z?MOZcYv3d9JWWYm;jf^pP?r32}|^%p(=2$FciV_6KI{N(_StCES## z?Ip}v-;c`$VH~5?1qzlLGi~HVuE5FV%DD6RDS;gWvAE#M8=L5lT^(#Pdx;#~$aO3~ z=SI#@SKqLSTEKV0EGNLc`L>As+Ahf~++a)>)@jT6tMNn)$9>*-KgaJh!EABqcxy_Ex;Oxl1*Xs)jHS(k-!UH>Ubo-V-j!rYZVH89<;jdI+Ip zWw!aY2=CIbh|^}WC@tQPsq%LGdH=S=K1el{(LL2ST2|dFFbg(#tuOKa7V9A0)7PXA zPoAQB`VXbV7W}avVCAkG&!+06-c#s1wsC8|@^##cU1=wbg^@p?gpkvoQtYm&!ovcw*)r$N z*a(*fKku!K)5e=I^Z;0u)nG)aelgv!=(-Y%wRfb5(5t6EHwj&)B)1d||8lG<|68+u zy0pPaQoB<@y#A`ypYHdLcNm9 z(x|R>Y}pc)Xf>0RMc<1jDOP;O|H|qN2`Jw3#ZK3@5=2V<`b1gtrC4ejH4flsey zT)F*y0EXh??9H9U=o*{Cu;`76#*uP~@qD4r)VD=^BhHi5Bw79`ul363Tt=5q$_;+Z zuzij_O-uUH{>F0iiU!6Py8>m}(81g$pSdU$N)SX>nMU-O{?8YyMPYPUosCw$>1xvU zGiAq+)^R*046M55%NLuBN^J}(wV_y|!5)+)d@%O1S_S2jtp}B7wFC=Q_c{_|GY}to zE3{b^h)+{z{sbTj#jcZsgjK9gK}%gd=CwvWA;xGZ*{W4M`-)XyAbDmQ`&z%XR2%}5 zN0^I5|AkAaxwBrhZjrB@%WL*_GG{NVza#$J$_QFPa89mhPJ9(V@OpnKu4T#dY$5f><6v6(PEM99* zbXSK`U$UE)r-|B7`)!_lI!6HR1sEOq>z5~yO~m=70|i zAB5j&S}eM{lszO2%UZqKZd#metq5=Ta_{8oZ#mv5JzHu&CRMwjBUL@o*OrPa2tCU^ zTzaP1ViZJMYr!=w7!@ajVxPnfyHa#&v7vVdtxtmSt60}D&p2Cxg2J6vpwVHWuVe_( zxA-uO=!3KMKa?V%h}g-P$hAiyGOzU9;J{FI@o|779?)gl4`#E%J_Cex&Qj$F4nVUw zZ7~qE|`MIOc!x9UB|0ooh8Uu ziwLSO%q`pN7ibl%x(0)eBk@Y~fhkX7(P_iIK5e{bmfne@nXZ#go~e*56# zGxb{4GtPgbc|vPMW*{b1Nu~DnR*n-&tGx^XLJ#9I)S31+QrB(f}LqZ3HKUpfh^}O%dX(_*VF&+?| zckUF`_xmU-S{pN#qb9mI$Z*dxAxBH3BM8&G?-XGuOq_v@o}JzURMSsD;DAzUQd~wk z+MF-2QpJ3#a9qUC78mgv0wQ>J7GTr-i=#B6Uh}l#y~2cUCu>y9SIMFj#`_zpUyPnY5zZU@kYy`l#33Iw>J`*< zK#H-;q@cCf#*ct4LJ*5$Z4F&|Pn9gYVn2UiDI}+KphzJD$<&qU>O^;t-C7PA?Y+$4_qQK()%9 ze;@>%o>@OkRj+N49=6PyRy6bo_*6T!pJ}fWq2q-ASMkg&he`;p_Ml=U&^H-_<`&p zI{pSE1m$9a5Z2Wn8x^-BMA#28bs^0LPP*jMi`JI(mpvt_xE`1AK>wDh(3EOW>k-Y| z^=5E}3D5gKs!c%kt+ENg)IL%6lF+~E0haYBHO0vO2{G`k_$vcx&*wjC0TasVx8i>J zC@C;LWWLZ`yBq6@lOuUctZSRFKKDNg*1z-kudrecp@IDQj~d7giS_?%ZpI8e1)cRh zYGq~TkIk3NU0m9uesO7E&FLg0>c@$n^96+nXtg{5J_&q_k-s2Rd!B;Pwr%_OJgIb? zyLbR>gF2N{w*8`fC&U5c3k7@&bfEtudAPRyggI~`91I$x@H|6xA@OcAcddX{p$s{h z6I%i4kM(V+@F%)bHSQEg>8|$IryVKor#kcGykOxc;(q$AEE{|)xx8Y%QkNS3bz-2u z4m+wNW9>BtIF~z|Ih)owXC(Z>e8r@{V4dBc5uILK%&K3uP>nhf5h=v4gTy@QV|5r|#07n)iz) z4Vm^BpPO`$F$olYK5mFZ5;9C_Zm0A+r%5C({6AC?mq3(%ax$L^oPkXuWkoPwKs;Kj zr>~+LJVLg%ML3@`b=oAHrD{$=YFqVjZctwvjyJG`5c6B=!2*aghdA$8Ys}^=u0mD7 zA#QF34HLyW!3D;}7zTe*&qP#v$qAyaKp}8<$hr>yx}kUbJ?esPGpf`D9)AJbSk`D~ zShZJ&;-fQfgN4s}55HTR``NREa&ISRigH_mXGGfp{{D3QL(6kzyFXPpgeO)3e(p6o z(_2UkmrxmmQO(&_r4he@86pz=tn>L1;PSKRiTse2zOCJ?-JL`!C~QcEq2fUpzWo-g zUwtVMxs3(2n-hEJV3TIdql%_(=JDSq&Egx?q`CekHEF8n%DELVAY|IL94EPaTYVVC z2cN((3OEiG4#N`7$?T|k#;m`~$gyP?6sYb;h3)UxS?P+qeJ^pRF7?@^h@+Bt5LQq% zNA+qZkN?)I?`}}N`sPN}s};}bUfDko2tpchyO=yep;iO}Xanru!G8N0)?yXq;>v@- zlB;3KJ|HZp(Eg}__=5rhmXR0&985TL7fy@|wNTnu1C@gcdjd`dYS(wDK%vzv67M2k zuuL5Sue}OfQHf}|05P?oEjFf}LsbWX`r_FNgFzmxFlgt402R+-3}yn88O0jYx)@g? zLboQ`2x(#ONCJbkR^yMWC!Yp?A?q_~JhfmxeGMoFJEi%mV^)osJUWC{yha+`-B3v%ZIZ;R=#T zEvNBTCJZBW;}^S)yZ9efEvJLTC=e3{EeV4Ae~ebRUv-_BFVsk9!2Q`fvqiAut}&PH zhz+z%*sc-%8*975gZ7$C5;b-Kk$uAstefm-DHX-5T_u!uLQPX?jdyT_5&W|6XBr{Iv?Jlm7-aZu=(1u`+l- z#a_6Njo2q0PjrkFcX6Ks!<%1ld!=aRG3o3GyjS z5M>2EjW%F}!q}B;>u&LvXxbDjJofjPwi4e)O9|)#bSBo?2r+Ne2?Nny>@OW2>aeji zapr4SyJ}b)9M{8Yi8v#ITn7MyHn;zthfA9og51^DC^SAxGQ|1KjuwJkKLK3sStwjT zu0Pum!pv+_G$gW{#45{>-H25t8x{#4CVe23nzccMw^1Uzm0T_cCQSr(sk62@B-g_w ziT8>p=%{5(M z?$@gD*kZ_`PvLwEL`B3k%gTc!R zWz0Xvzh=vnEja2yEQ6}A5(PuQ-T`XEd0@H6m2mJmwJs6o4lUQQGzz!uZ<3{ z%wFsnR7S>gRL4b26vBM=cW4ri;X|}`aC}0IkU?};skN*0Yx^X=ni3Ym8y~#O zA0O-C=1Rh?@1ReEXPig7k(easd*gnL4#sBdH5+v_YhWMmQNOvy5U zS{lgGL1!U~Nval67%~Ebqcz|`q5yA}V0#}YJ8{t}p6T3dRwF1it(8zwbeG?VD;1-) zomXq6jB@-as<3J+mQOyCcyJ8IpRZ78&u2psto3>}aWuyvu-Do`+PsmEWF;;t&{jBa z0*BA@ov(1Offl;sB@S3mike!$(V_g312p6&?}eR>dOn-px3RcZRqtaO|PrW z!k?hm?@fdNV?@I1u@${`l}ZZ|t?6~0jQ-Bg+o0DeyPJV1a#f0EmpL^11^I<$#Vo=W zvwh+j_x(=>y$+ahRN2qX;cJ*@#(Z(J2mvD0dOFm)N>S?+N+EOg*JvZcO~U?@d=hH4 z(U(H6%|=C6KJ8DhJ@{%8xvV9*ZUNRA$I)!$eiB;|>oAI_M5E$QipoN*NcFsQhT%Fx zD?)9T&QPE;v?9|V-S&-&Je{ExkuFJR_(suas1=F6lFm@4D0EqxLhS=k=qi^&mr=s6 zDRh;h&_1mwbj9T@C^SLTGx&dv7e!pW$CE;$b5GGEdK_K#dA{}){=!DH#+W(}R-Zh{ zYrSu8VXw(E8D*0AtOomI^{#&2L7y4f1t<-2=c0jKPG`*MWMyp^Q)YAifl+0;l`jSp zD?MW0LEuu!He;y&*P7c6B^2jSR>GCQm_?+Ci1fjczvp_wc(Be=TY-VIR9nXWJL6)%KRyx@zuB^NsKg;bnFY2m@f+%Q+DmqDYKr+*wz4&8y*>@Vp+jBM z)imQcF2Li01k@aC6ag0NWNhtZm1;05JxofKC=Nn1chD=*B5%d#$DGn!Mj_+=Qa;KB z7~!M))|9UgDb2WL$U$TQ)YFto4US4EI#(Y z`k&_`{BzQoJ2#|xWR)>LU&8vI7r%t{yv7r)+ZEkySgT9F*}0+OgVMa@>DCJNz^54V z;c{I@FuPcj^N6ewTEL(Mm3rFALfA(ukTou9hr;SPNiI`je39Rfk#`&3cLS&BjmG=-dTaR!BWJ&nn( zkVsGcG22^!D1xh3WM1F($&;*YNF7HQ^ABV9)ueKCKZh{9!PTC{sD!O|Ap@Vq=421f z3MfcTYdu>C32Y>n>KOAcZV<0?ho9?pkTB6 ze*rEY)u7n9)P}t6wbt9abJR~I${6=czzZ!szOJ**IJ|5Rew^>Cx6Q_UPV9P&4LyRj zTS{KPP#5@&KFm10935Oo<}$Jzwd?#t0L~TMZHx9Y@l#R@VkGPRBS}%XDW@?(e^*73=M7u&CB)rAo#1e-pTLCSXXpV z`R_c&X>q^&XGwl{Pf(}!1WQ1jeY>DA-tPY4YJwuDZn9UWu$swV&u6_ow@v)Ym=X3` z7UTWVEW8(hXB-NxRD8;gS+Y3NtApr#g(gXV(@A%PR|n7Gqoh-k{+N^A63va6)amql zo%EJi?w2Zmjg#II$;+Me{cv`glf5O5hpRCu|6srDdyy8~KylJ%ElG~_N$=>S-=4YG6kzTZ?pIWz`nyG)`4pc=p)8$C~aFQdYy98V2j>@I}P5kZp+o|rznbByU1GiV5%B5CTc$>C{I(Dv0G zla5p>@lpLc?sR2Or;vyYj{aVS&;If)DW`>y5AQ)8a!_?Ds~{Ror3cI{Q7S#%t~K75;2Qj}-G&>r?SfO|6{$+P7Lb zSw26l-NVB90V*Zq=?z9yv>CE+el1U$zJ_zlmdd4Li-rl^9dn#>MIKHwMLV#17_rr} zP3_YEM$rPfoXA};PofS*#A}TEw;smP%?7<*c1o?68xhZ)J-W!DO0BeU=LUNzxm|+O zWaQ#+Qn$oK=x8-Lu?Z8K+xnQ;D{0T}063FO%0Du;y)OQQev^`L#9s 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