gio2 0.90.3-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +60 -0
- data/README +34 -0
- data/Rakefile +76 -0
- data/ext/gio2/depend +5 -0
- data/ext/gio2/extconf.rb +91 -0
- data/ext/gio2/gappinfo.c +318 -0
- data/ext/gio2/gapplaunchcontext.c +79 -0
- data/ext/gio2/gasyncinitable.c +244 -0
- data/ext/gio2/gasyncresult.c +39 -0
- data/ext/gio2/gbufferedinputstream.c +184 -0
- data/ext/gio2/gbufferedoutputstream.c +82 -0
- data/ext/gio2/gcancellable.c +177 -0
- data/ext/gio2/gcharsetconverter.c +72 -0
- data/ext/gio2/gcontenttype.c +135 -0
- data/ext/gio2/gconverter.c +117 -0
- data/ext/gio2/gconverterinputstream.c +48 -0
- data/ext/gio2/gconverteroutputstream.c +48 -0
- data/ext/gio2/gdatainputstream.c +341 -0
- data/ext/gio2/gdataoutputstream.c +202 -0
- data/ext/gio2/gdesktopappinfo.c +90 -0
- data/ext/gio2/gdrive.c +267 -0
- data/ext/gio2/gemblem.c +71 -0
- data/ext/gio2/gemblemedicon.c +63 -0
- data/ext/gio2/gfile.c +2058 -0
- data/ext/gio2/gfileattribute.c +263 -0
- data/ext/gio2/gfileattributematcher.c +90 -0
- data/ext/gio2/gfiledescriptorbased.c +42 -0
- data/ext/gio2/gfileenumerator.c +167 -0
- data/ext/gio2/gfileicon.c +46 -0
- data/ext/gio2/gfileinfo.c +641 -0
- data/ext/gio2/gfileinputstream.c +92 -0
- data/ext/gio2/gfileiostream.c +98 -0
- data/ext/gio2/gfilemonitor.c +63 -0
- data/ext/gio2/gfilenamecompleter.c +72 -0
- data/ext/gio2/gfileoutputstream.c +100 -0
- data/ext/gio2/gfilterinputstream.c +56 -0
- data/ext/gio2/gfilteroutputstream.c +56 -0
- data/ext/gio2/gicon.c +69 -0
- data/ext/gio2/ginetaddress.c +188 -0
- data/ext/gio2/ginetsocketaddress.c +54 -0
- data/ext/gio2/ginitable.c +195 -0
- data/ext/gio2/ginputstream.c +341 -0
- data/ext/gio2/gio2.c +120 -0
- data/ext/gio2/gio2.def +2 -0
- data/ext/gio2/gio2.h +343 -0
- data/ext/gio2/gioerror.c +67 -0
- data/ext/gio2/giomodule.c +63 -0
- data/ext/gio2/gioscheduler.c +195 -0
- data/ext/gio2/giostream.c +129 -0
- data/ext/gio2/gloadableicon.c +91 -0
- data/ext/gio2/gmemoryinputstream.c +65 -0
- data/ext/gio2/gmemoryoutputstream.c +65 -0
- data/ext/gio2/gmount.c +283 -0
- data/ext/gio2/gmountoperation.c +168 -0
- data/ext/gio2/gnetworkaddress.c +71 -0
- data/ext/gio2/gnetworkservice.c +64 -0
- data/ext/gio2/goutputstream.c +343 -0
- data/ext/gio2/gresolver.c +230 -0
- data/ext/gio2/gseekable.c +89 -0
- data/ext/gio2/gsimpleasyncresult.c +153 -0
- data/ext/gio2/gsocket.c +451 -0
- data/ext/gio2/gsocketaddress.c +45 -0
- data/ext/gio2/gsocketclient.c +273 -0
- data/ext/gio2/gsocketconnectable.c +97 -0
- data/ext/gio2/gsocketconnection.c +82 -0
- data/ext/gio2/gsocketcontrolmessage.c +82 -0
- data/ext/gio2/gsocketlistener.c +239 -0
- data/ext/gio2/gsocketservice.c +64 -0
- data/ext/gio2/gsrvtarget.c +77 -0
- data/ext/gio2/gtcpconnection.c +48 -0
- data/ext/gio2/gthemedicon.c +86 -0
- data/ext/gio2/gthreadedsocketservice.c +39 -0
- data/ext/gio2/gunixconnection.c +69 -0
- data/ext/gio2/gunixfdlist.c +112 -0
- data/ext/gio2/gunixfdmessage.c +81 -0
- data/ext/gio2/gunixinputstream.c +73 -0
- data/ext/gio2/gunixmounts.c +346 -0
- data/ext/gio2/gunixoutputstream.c +73 -0
- data/ext/gio2/gunixsocketaddress.c +79 -0
- data/ext/gio2/gvfs.c +84 -0
- data/ext/gio2/gvolume.c +191 -0
- data/ext/gio2/gvolumemonitor.c +77 -0
- data/ext/gio2/gzlibcompressor.c +47 -0
- data/ext/gio2/gzlibdecompressor.c +43 -0
- data/ext/gio2/util.c +323 -0
- data/extconf.rb +49 -0
- data/lib/1.8/gio2.so +0 -0
- data/lib/1.9/gio2.so +0 -0
- data/lib/gio2.rb +141 -0
- data/vendor/local/bin/envsubst.exe +0 -0
- data/vendor/local/bin/gettext.exe +0 -0
- data/vendor/local/bin/gettext.sh +123 -0
- data/vendor/local/bin/glib-genmarshal.exe +0 -0
- data/vendor/local/bin/glib-gettextize +188 -0
- data/vendor/local/bin/glib-mkenums +537 -0
- data/vendor/local/bin/gobject-query.exe +0 -0
- data/vendor/local/bin/gspawn-win32-helper-console.exe +0 -0
- data/vendor/local/bin/gspawn-win32-helper.exe +0 -0
- data/vendor/local/bin/intl.dll +0 -0
- data/vendor/local/bin/libasprintf-0.dll +0 -0
- data/vendor/local/bin/libgcc_s_dw2-1.dll +0 -0
- data/vendor/local/bin/libgio-2.0-0.dll +0 -0
- data/vendor/local/bin/libglib-2.0-0.dll +0 -0
- data/vendor/local/bin/libgmodule-2.0-0.dll +0 -0
- data/vendor/local/bin/libgobject-2.0-0.dll +0 -0
- data/vendor/local/bin/libgthread-2.0-0.dll +0 -0
- data/vendor/local/bin/ngettext.exe +0 -0
- data/vendor/local/include/autosprintf.h +66 -0
- data/vendor/local/include/glib-2.0/gio/gappinfo.h +236 -0
- data/vendor/local/include/glib-2.0/gio/gasyncinitable.h +119 -0
- data/vendor/local/include/glib-2.0/gio/gasyncresult.h +73 -0
- data/vendor/local/include/glib-2.0/gio/gbufferedinputstream.h +123 -0
- data/vendor/local/include/glib-2.0/gio/gbufferedoutputstream.h +81 -0
- data/vendor/local/include/glib-2.0/gio/gcancellable.h +103 -0
- data/vendor/local/include/glib-2.0/gio/gcharsetconverter.h +60 -0
- data/vendor/local/include/glib-2.0/gio/gcontenttype.h +57 -0
- data/vendor/local/include/glib-2.0/gio/gconverter.h +95 -0
- data/vendor/local/include/glib-2.0/gio/gconverterinputstream.h +79 -0
- data/vendor/local/include/glib-2.0/gio/gconverteroutputstream.h +79 -0
- data/vendor/local/include/glib-2.0/gio/gcredentials.h +76 -0
- data/vendor/local/include/glib-2.0/gio/gdatainputstream.h +150 -0
- data/vendor/local/include/glib-2.0/gio/gdataoutputstream.h +115 -0
- data/vendor/local/include/glib-2.0/gio/gdbusaddress.h +58 -0
- data/vendor/local/include/glib-2.0/gio/gdbusauthobserver.h +46 -0
- data/vendor/local/include/glib-2.0/gio/gdbusconnection.h +562 -0
- data/vendor/local/include/glib-2.0/gio/gdbuserror.h +100 -0
- data/vendor/local/include/glib-2.0/gio/gdbusintrospection.h +286 -0
- data/vendor/local/include/glib-2.0/gio/gdbusmessage.h +149 -0
- data/vendor/local/include/glib-2.0/gio/gdbusmethodinvocation.h +73 -0
- data/vendor/local/include/glib-2.0/gio/gdbusnameowning.h +112 -0
- data/vendor/local/include/glib-2.0/gio/gdbusnamewatching.h +94 -0
- data/vendor/local/include/glib-2.0/gio/gdbusproxy.h +167 -0
- data/vendor/local/include/glib-2.0/gio/gdbusserver.h +54 -0
- data/vendor/local/include/glib-2.0/gio/gdbusutils.h +44 -0
- data/vendor/local/include/glib-2.0/gio/gdrive.h +225 -0
- data/vendor/local/include/glib-2.0/gio/gemblem.h +58 -0
- data/vendor/local/include/glib-2.0/gio/gemblemedicon.h +62 -0
- data/vendor/local/include/glib-2.0/gio/gfile.h +1017 -0
- data/vendor/local/include/glib-2.0/gio/gfileattribute.h +77 -0
- data/vendor/local/include/glib-2.0/gio/gfileenumerator.h +132 -0
- data/vendor/local/include/glib-2.0/gio/gfileicon.h +56 -0
- data/vendor/local/include/glib-2.0/gio/gfileinfo.h +952 -0
- data/vendor/local/include/glib-2.0/gio/gfileinputstream.h +112 -0
- data/vendor/local/include/glib-2.0/gio/gfileiostream.h +118 -0
- data/vendor/local/include/glib-2.0/gio/gfilemonitor.h +95 -0
- data/vendor/local/include/glib-2.0/gio/gfilenamecompleter.h +76 -0
- data/vendor/local/include/glib-2.0/gio/gfileoutputstream.h +119 -0
- data/vendor/local/include/glib-2.0/gio/gfilterinputstream.h +76 -0
- data/vendor/local/include/glib-2.0/gio/gfilteroutputstream.h +76 -0
- data/vendor/local/include/glib-2.0/gio/gicon.h +91 -0
- data/vendor/local/include/glib-2.0/gio/ginetaddress.h +103 -0
- data/vendor/local/include/glib-2.0/gio/ginetsocketaddress.h +69 -0
- data/vendor/local/include/glib-2.0/gio/ginitable.h +96 -0
- data/vendor/local/include/glib-2.0/gio/ginputstream.h +172 -0
- data/vendor/local/include/glib-2.0/gio/gio.h +122 -0
- data/vendor/local/include/glib-2.0/gio/gioenums.h +1221 -0
- data/vendor/local/include/glib-2.0/gio/gioenumtypes.h +121 -0
- data/vendor/local/include/glib-2.0/gio/gioerror.h +52 -0
- data/vendor/local/include/glib-2.0/gio/giomodule.h +132 -0
- data/vendor/local/include/glib-2.0/gio/gioscheduler.h +52 -0
- data/vendor/local/include/glib-2.0/gio/giostream.h +112 -0
- data/vendor/local/include/glib-2.0/gio/giotypes.h +375 -0
- data/vendor/local/include/glib-2.0/gio/gloadableicon.h +97 -0
- data/vendor/local/include/glib-2.0/gio/gmemoryinputstream.h +82 -0
- data/vendor/local/include/glib-2.0/gio/gmemoryoutputstream.h +98 -0
- data/vendor/local/include/glib-2.0/gio/gmount.h +242 -0
- data/vendor/local/include/glib-2.0/gio/gmountoperation.h +123 -0
- data/vendor/local/include/glib-2.0/gio/gnativevolumemonitor.h +62 -0
- data/vendor/local/include/glib-2.0/gio/gnetworkaddress.h +73 -0
- data/vendor/local/include/glib-2.0/gio/gnetworkservice.h +71 -0
- data/vendor/local/include/glib-2.0/gio/goutputstream.h +207 -0
- data/vendor/local/include/glib-2.0/gio/gpermission.h +118 -0
- data/vendor/local/include/glib-2.0/gio/gproxy.h +123 -0
- data/vendor/local/include/glib-2.0/gio/gproxyaddress.h +76 -0
- data/vendor/local/include/glib-2.0/gio/gproxyaddressenumerator.h +75 -0
- data/vendor/local/include/glib-2.0/gio/gproxyresolver.h +96 -0
- data/vendor/local/include/glib-2.0/gio/gresolver.h +167 -0
- data/vendor/local/include/glib-2.0/gio/gseekable.h +99 -0
- data/vendor/local/include/glib-2.0/gio/gsettings.h +258 -0
- data/vendor/local/include/glib-2.0/gio/gsettingsbackend.h +138 -0
- data/vendor/local/include/glib-2.0/gio/gsimpleasyncresult.h +125 -0
- data/vendor/local/include/glib-2.0/gio/gsimplepermission.h +45 -0
- data/vendor/local/include/glib-2.0/gio/gsocket.h +194 -0
- data/vendor/local/include/glib-2.0/gio/gsocketaddress.h +79 -0
- data/vendor/local/include/glib-2.0/gio/gsocketaddressenumerator.h +89 -0
- data/vendor/local/include/glib-2.0/gio/gsocketclient.h +152 -0
- data/vendor/local/include/glib-2.0/gio/gsocketconnectable.h +74 -0
- data/vendor/local/include/glib-2.0/gio/gsocketconnection.h +91 -0
- data/vendor/local/include/glib-2.0/gio/gsocketcontrolmessage.h +105 -0
- data/vendor/local/include/glib-2.0/gio/gsocketlistener.h +138 -0
- data/vendor/local/include/glib-2.0/gio/gsocketservice.h +88 -0
- data/vendor/local/include/glib-2.0/gio/gsrvtarget.h +52 -0
- data/vendor/local/include/glib-2.0/gio/gtcpconnection.h +68 -0
- data/vendor/local/include/glib-2.0/gio/gthemedicon.h +63 -0
- data/vendor/local/include/glib-2.0/gio/gthreadedsocketservice.h +81 -0
- data/vendor/local/include/glib-2.0/gio/gvfs.h +125 -0
- data/vendor/local/include/glib-2.0/gio/gvolume.h +211 -0
- data/vendor/local/include/glib-2.0/gio/gvolumemonitor.h +150 -0
- data/vendor/local/include/glib-2.0/gio/gzlibcompressor.h +60 -0
- data/vendor/local/include/glib-2.0/gio/gzlibdecompressor.h +57 -0
- data/vendor/local/include/glib-2.0/glib-object.h +42 -0
- data/vendor/local/include/glib-2.0/glib.h +99 -0
- data/vendor/local/include/glib-2.0/glib/galloca.h +110 -0
- data/vendor/local/include/glib-2.0/glib/garray.h +179 -0
- data/vendor/local/include/glib-2.0/glib/gasyncqueue.h +120 -0
- data/vendor/local/include/glib-2.0/glib/gatomic.h +105 -0
- data/vendor/local/include/glib-2.0/glib/gbacktrace.h +68 -0
- data/vendor/local/include/glib-2.0/glib/gbase64.h +57 -0
- data/vendor/local/include/glib-2.0/glib/gbitlock.h +43 -0
- data/vendor/local/include/glib-2.0/glib/gbookmarkfile.h +215 -0
- data/vendor/local/include/glib-2.0/glib/gcache.h +69 -0
- data/vendor/local/include/glib-2.0/glib/gchecksum.h +86 -0
- data/vendor/local/include/glib-2.0/glib/gcompletion.h +81 -0
- data/vendor/local/include/glib-2.0/glib/gconvert.h +162 -0
- data/vendor/local/include/glib-2.0/glib/gdataset.h +122 -0
- data/vendor/local/include/glib-2.0/glib/gdate.h +263 -0
- data/vendor/local/include/glib-2.0/glib/gdatetime.h +217 -0
- data/vendor/local/include/glib-2.0/glib/gdir.h +52 -0
- data/vendor/local/include/glib-2.0/glib/gerror.h +98 -0
- data/vendor/local/include/glib-2.0/glib/gfileutils.h +128 -0
- data/vendor/local/include/glib-2.0/glib/ghash.h +166 -0
- data/vendor/local/include/glib-2.0/glib/ghook.h +181 -0
- data/vendor/local/include/glib-2.0/glib/ghostutils.h +40 -0
- data/vendor/local/include/glib-2.0/glib/gi18n-lib.h +38 -0
- data/vendor/local/include/glib-2.0/glib/gi18n.h +34 -0
- data/vendor/local/include/glib-2.0/glib/giochannel.h +366 -0
- data/vendor/local/include/glib-2.0/glib/gkeyfile.h +266 -0
- data/vendor/local/include/glib-2.0/glib/glist.h +120 -0
- data/vendor/local/include/glib-2.0/glib/gmacros.h +284 -0
- data/vendor/local/include/glib-2.0/glib/gmain.h +531 -0
- data/vendor/local/include/glib-2.0/glib/gmappedfile.h +49 -0
- data/vendor/local/include/glib-2.0/glib/gmarkup.h +163 -0
- data/vendor/local/include/glib-2.0/glib/gmem.h +309 -0
- data/vendor/local/include/glib-2.0/glib/gmessages.h +343 -0
- data/vendor/local/include/glib-2.0/glib/gnode.h +290 -0
- data/vendor/local/include/glib-2.0/glib/goption.h +370 -0
- data/vendor/local/include/glib-2.0/glib/gpattern.h +49 -0
- data/vendor/local/include/glib-2.0/glib/gpoll.h +117 -0
- data/vendor/local/include/glib-2.0/glib/gprimes.h +51 -0
- data/vendor/local/include/glib-2.0/glib/gprintf.h +52 -0
- data/vendor/local/include/glib-2.0/glib/gqsort.h +46 -0
- data/vendor/local/include/glib-2.0/glib/gquark.h +52 -0
- data/vendor/local/include/glib-2.0/glib/gqueue.h +127 -0
- data/vendor/local/include/glib-2.0/glib/grand.h +85 -0
- data/vendor/local/include/glib-2.0/glib/gregex.h +471 -0
- data/vendor/local/include/glib-2.0/glib/grel.h +101 -0
- data/vendor/local/include/glib-2.0/glib/gscanner.h +278 -0
- data/vendor/local/include/glib-2.0/glib/gsequence.h +128 -0
- data/vendor/local/include/glib-2.0/glib/gshell.h +55 -0
- data/vendor/local/include/glib-2.0/glib/gslice.h +86 -0
- data/vendor/local/include/glib-2.0/glib/gslist.h +114 -0
- data/vendor/local/include/glib-2.0/glib/gspawn.h +139 -0
- data/vendor/local/include/glib-2.0/glib/gstdio.h +147 -0
- data/vendor/local/include/glib-2.0/glib/gstrfuncs.h +269 -0
- data/vendor/local/include/glib-2.0/glib/gstring.h +178 -0
- data/vendor/local/include/glib-2.0/glib/gtestutils.h +297 -0
- data/vendor/local/include/glib-2.0/glib/gthread.h +407 -0
- data/vendor/local/include/glib-2.0/glib/gthreadpool.h +114 -0
- data/vendor/local/include/glib-2.0/glib/gtimer.h +65 -0
- data/vendor/local/include/glib-2.0/glib/gtimezone.h +44 -0
- data/vendor/local/include/glib-2.0/glib/gtree.h +91 -0
- data/vendor/local/include/glib-2.0/glib/gtypes.h +451 -0
- data/vendor/local/include/glib-2.0/glib/gunicode.h +421 -0
- data/vendor/local/include/glib-2.0/glib/gurifuncs.h +81 -0
- data/vendor/local/include/glib-2.0/glib/gutils.h +490 -0
- data/vendor/local/include/glib-2.0/glib/gvariant.h +248 -0
- data/vendor/local/include/glib-2.0/glib/gvarianttype.h +334 -0
- data/vendor/local/include/glib-2.0/glib/gwin32.h +114 -0
- data/vendor/local/include/glib-2.0/gmodule.h +101 -0
- data/vendor/local/include/glib-2.0/gobject/gbinding.h +136 -0
- data/vendor/local/include/glib-2.0/gobject/gboxed.h +248 -0
- data/vendor/local/include/glib-2.0/gobject/gclosure.h +251 -0
- data/vendor/local/include/glib-2.0/gobject/genums.h +261 -0
- data/vendor/local/include/glib-2.0/gobject/gmarshal.h +186 -0
- data/vendor/local/include/glib-2.0/gobject/gobject.h +567 -0
- data/vendor/local/include/glib-2.0/gobject/gobjectnotifyqueue.c +193 -0
- data/vendor/local/include/glib-2.0/gobject/gparam.h +415 -0
- data/vendor/local/include/glib-2.0/gobject/gparamspecs.h +1137 -0
- data/vendor/local/include/glib-2.0/gobject/gsignal.h +509 -0
- data/vendor/local/include/glib-2.0/gobject/gsourceclosure.h +51 -0
- data/vendor/local/include/glib-2.0/gobject/gtype.h +1736 -0
- data/vendor/local/include/glib-2.0/gobject/gtypemodule.h +263 -0
- data/vendor/local/include/glib-2.0/gobject/gtypeplugin.h +134 -0
- data/vendor/local/include/glib-2.0/gobject/gvalue.h +159 -0
- data/vendor/local/include/glib-2.0/gobject/gvaluearray.h +77 -0
- data/vendor/local/include/glib-2.0/gobject/gvaluecollector.h +227 -0
- data/vendor/local/include/glib-2.0/gobject/gvaluetypes.h +260 -0
- data/vendor/local/include/libintl.h +464 -0
- data/vendor/local/lib/GNU.Gettext.dll +0 -0
- data/vendor/local/lib/gio-2.0.def +1143 -0
- data/vendor/local/lib/gio-2.0.lib +0 -0
- data/vendor/local/lib/glib-2.0.def +1452 -0
- data/vendor/local/lib/glib-2.0.lib +0 -0
- data/vendor/local/lib/glib-2.0/include/glibconfig.h +284 -0
- data/vendor/local/lib/gmodule-2.0.def +11 -0
- data/vendor/local/lib/gmodule-2.0.lib +0 -0
- data/vendor/local/lib/gobject-2.0.def +370 -0
- data/vendor/local/lib/gobject-2.0.lib +0 -0
- data/vendor/local/lib/gthread-2.0.def +3 -0
- data/vendor/local/lib/gthread-2.0.lib +0 -0
- data/vendor/local/lib/intl.lib +0 -0
- data/vendor/local/lib/libasprintf.dll.a +0 -0
- data/vendor/local/lib/libgio-2.0.dll.a +0 -0
- data/vendor/local/lib/libglib-2.0.dll.a +0 -0
- data/vendor/local/lib/libgmodule-2.0.dll.a +0 -0
- data/vendor/local/lib/libgobject-2.0.dll.a +0 -0
- data/vendor/local/lib/libgthread-2.0.dll.a +0 -0
- data/vendor/local/lib/libintl.def +31 -0
- data/vendor/local/lib/libintl.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/gio-2.0.pc +15 -0
- data/vendor/local/lib/pkgconfig/gio-windows-2.0.pc +11 -0
- data/vendor/local/lib/pkgconfig/glib-2.0.pc +15 -0
- data/vendor/local/lib/pkgconfig/gmodule-2.0.pc +14 -0
- data/vendor/local/lib/pkgconfig/gmodule-no-export-2.0.pc +14 -0
- data/vendor/local/lib/pkgconfig/gobject-2.0.pc +11 -0
- data/vendor/local/lib/pkgconfig/gthread-2.0.pc +11 -0
- data/vendor/local/manifest/gettext-runtime-dev_0.18.1.1-2_win32.mft +81 -0
- data/vendor/local/manifest/gettext-runtime_0.18.1.1-2_win32.mft +3 -0
- data/vendor/local/manifest/glib-dev_2.24.2-2_win32.mft +491 -0
- data/vendor/local/manifest/glib-dev_2.26.0-2_win32.mft +570 -0
- data/vendor/local/manifest/glib_2.24.2-2_win32.mft +101 -0
- data/vendor/local/manifest/glib_2.26.0-2_win32.mft +102 -0
- data/vendor/local/share/aclocal/glib-2.0.m4 +211 -0
- data/vendor/local/share/aclocal/glib-gettext.m4 +432 -0
- data/vendor/local/share/doc/gettext/bind_textdomain_codeset.3.html +165 -0
- data/vendor/local/share/doc/gettext/bindtextdomain.3.html +160 -0
- data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext.html +8 -0
- data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceManager.html +305 -0
- data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceSet.html +356 -0
- data/vendor/local/share/doc/gettext/csharpdoc/begin.html +11 -0
- data/vendor/local/share/doc/gettext/csharpdoc/index.html +10 -0
- data/vendor/local/share/doc/gettext/csharpdoc/namespaces.html +6 -0
- data/vendor/local/share/doc/gettext/envsubst.1.html +213 -0
- data/vendor/local/share/doc/gettext/gettext.1.html +266 -0
- data/vendor/local/share/doc/gettext/gettext.3.html +186 -0
- data/vendor/local/share/doc/gettext/ngettext.1.html +280 -0
- data/vendor/local/share/doc/gettext/ngettext.3.html +143 -0
- data/vendor/local/share/doc/gettext/textdomain.3.html +150 -0
- data/vendor/local/share/doc/glib-2.24.2/COPYING +482 -0
- data/vendor/local/share/doc/glib-2.26.0/COPYING +482 -0
- data/vendor/local/share/doc/glib-dev-2.24.2/COPYING +482 -0
- data/vendor/local/share/doc/glib-dev-2.26.0/COPYING +482 -0
- data/vendor/local/share/doc/libasprintf/autosprintf_all.html +174 -0
- data/vendor/local/share/glib-2.0/gdb/glib.py +249 -0
- data/vendor/local/share/glib-2.0/gdb/gobject.py +305 -0
- data/vendor/local/share/glib-2.0/gettext/mkinstalldirs +111 -0
- data/vendor/local/share/glib-2.0/gettext/po/Makefile.in.in +279 -0
- data/vendor/local/share/glib-2.0/schemas/gschema.dtd +60 -0
- data/vendor/local/share/gtk-doc/html/gio/GAppInfo.html +1403 -0
- data/vendor/local/share/gtk-doc/html/gio/GAsyncInitable.html +733 -0
- data/vendor/local/share/gtk-doc/html/gio/GAsyncResult.html +343 -0
- data/vendor/local/share/gtk-doc/html/gio/GBufferedInputStream.html +563 -0
- data/vendor/local/share/gtk-doc/html/gio/GBufferedOutputStream.html +291 -0
- data/vendor/local/share/gtk-doc/html/gio/GCancellable.html +620 -0
- data/vendor/local/share/gtk-doc/html/gio/GCharsetConverter.html +245 -0
- data/vendor/local/share/gtk-doc/html/gio/GConverter.html +423 -0
- data/vendor/local/share/gtk-doc/html/gio/GCredentials.html +398 -0
- data/vendor/local/share/gtk-doc/html/gio/GDBusAuthObserver.html +254 -0
- data/vendor/local/share/gtk-doc/html/gio/GDBusConnection.html +6211 -0
- data/vendor/local/share/gtk-doc/html/gio/GDBusMessage.html +1833 -0
- data/vendor/local/share/gtk-doc/html/gio/GDBusMethodInvocation.html +618 -0
- data/vendor/local/share/gtk-doc/html/gio/GDBusProxy.html +2050 -0
- data/vendor/local/share/gtk-doc/html/gio/GDBusServer.html +1124 -0
- data/vendor/local/share/gtk-doc/html/gio/GDataInputStream.html +1215 -0
- data/vendor/local/share/gtk-doc/html/gio/GDataOutputStream.html +540 -0
- data/vendor/local/share/gtk-doc/html/gio/GDrive.html +1416 -0
- data/vendor/local/share/gtk-doc/html/gio/GEmblem.html +272 -0
- data/vendor/local/share/gtk-doc/html/gio/GEmblemedIcon.html +206 -0
- data/vendor/local/share/gtk-doc/html/gio/GFile.html +7462 -0
- data/vendor/local/share/gtk-doc/html/gio/GFileDescriptorBased.html +120 -0
- data/vendor/local/share/gtk-doc/html/gio/GFileEnumerator.html +516 -0
- data/vendor/local/share/gtk-doc/html/gio/GFileIOStream.html +312 -0
- data/vendor/local/share/gtk-doc/html/gio/GFileIcon.html +155 -0
- data/vendor/local/share/gtk-doc/html/gio/GFileInfo.html +3144 -0
- data/vendor/local/share/gtk-doc/html/gio/GFileInputStream.html +262 -0
- data/vendor/local/share/gtk-doc/html/gio/GFileMonitor.html +353 -0
- data/vendor/local/share/gtk-doc/html/gio/GFileOutputStream.html +301 -0
- data/vendor/local/share/gtk-doc/html/gio/GFilenameCompleter.html +217 -0
- data/vendor/local/share/gtk-doc/html/gio/GFilterInputStream.html +188 -0
- data/vendor/local/share/gtk-doc/html/gio/GFilterOutputStream.html +189 -0
- data/vendor/local/share/gtk-doc/html/gio/GIOModule.html +261 -0
- data/vendor/local/share/gtk-doc/html/gio/GIOStream.html +479 -0
- data/vendor/local/share/gtk-doc/html/gio/GIcon.html +331 -0
- data/vendor/local/share/gtk-doc/html/gio/GInetAddress.html +717 -0
- data/vendor/local/share/gtk-doc/html/gio/GInetSocketAddress.html +196 -0
- data/vendor/local/share/gtk-doc/html/gio/GInitable.html +388 -0
- data/vendor/local/share/gtk-doc/html/gio/GInputStream.html +808 -0
- data/vendor/local/share/gtk-doc/html/gio/GLoadableIcon.html +301 -0
- data/vendor/local/share/gtk-doc/html/gio/GMemoryInputStream.html +185 -0
- data/vendor/local/share/gtk-doc/html/gio/GMemoryOutputStream.html +393 -0
- data/vendor/local/share/gtk-doc/html/gio/GMount.html +1465 -0
- data/vendor/local/share/gtk-doc/html/gio/GMountOperation.html +848 -0
- data/vendor/local/share/gtk-doc/html/gio/GNetworkAddress.html +343 -0
- data/vendor/local/share/gtk-doc/html/gio/GNetworkService.html +311 -0
- data/vendor/local/share/gtk-doc/html/gio/GOutputStream.html +1012 -0
- data/vendor/local/share/gtk-doc/html/gio/GPermission.html +560 -0
- data/vendor/local/share/gtk-doc/html/gio/GProxy.html +312 -0
- data/vendor/local/share/gtk-doc/html/gio/GProxyAddress.html +348 -0
- data/vendor/local/share/gtk-doc/html/gio/GProxyResolver.html +301 -0
- data/vendor/local/share/gtk-doc/html/gio/GResolver.html +787 -0
- data/vendor/local/share/gtk-doc/html/gio/GSeekable.html +350 -0
- data/vendor/local/share/gtk-doc/html/gio/GSettings.html +2424 -0
- data/vendor/local/share/gtk-doc/html/gio/GSettingsBackend.html +609 -0
- data/vendor/local/share/gtk-doc/html/gio/GSimpleAsyncResult.html +1193 -0
- data/vendor/local/share/gtk-doc/html/gio/GSimplePermission.html +107 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocket.html +2438 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketAddress.html +297 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketClient.html +1292 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketConnectable.html +513 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketConnection.html +337 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketControlMessage.html +275 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketListener.html +745 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketService.html +258 -0
- data/vendor/local/share/gtk-doc/html/gio/GTcpConnection.html +165 -0
- data/vendor/local/share/gtk-doc/html/gio/GThemedIcon.html +377 -0
- data/vendor/local/share/gtk-doc/html/gio/GThreadedSocketService.html +197 -0
- data/vendor/local/share/gtk-doc/html/gio/GUnixConnection.html +298 -0
- data/vendor/local/share/gtk-doc/html/gio/GUnixCredentialsMessage.html +222 -0
- data/vendor/local/share/gtk-doc/html/gio/GUnixFDList.html +389 -0
- data/vendor/local/share/gtk-doc/html/gio/GUnixFDMessage.html +288 -0
- data/vendor/local/share/gtk-doc/html/gio/GUnixInputStream.html +237 -0
- data/vendor/local/share/gtk-doc/html/gio/GUnixOutputStream.html +237 -0
- data/vendor/local/share/gtk-doc/html/gio/GUnixSocketAddress.html +491 -0
- data/vendor/local/share/gtk-doc/html/gio/GVfs.html +274 -0
- data/vendor/local/share/gtk-doc/html/gio/GVolume.html +1028 -0
- data/vendor/local/share/gtk-doc/html/gio/GVolumeMonitor.html +705 -0
- data/vendor/local/share/gtk-doc/html/gio/GZlibCompressor.html +252 -0
- data/vendor/local/share/gtk-doc/html/gio/GZlibDecompressor.html +170 -0
- data/vendor/local/share/gtk-doc/html/gio/annotation-glossary.html +65 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-18.html +153 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-20.html +155 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-22.html +1084 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-24.html +223 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-26.html +1598 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-deprecated.html +112 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-full.html +6250 -0
- data/vendor/local/share/gtk-doc/html/gio/async.html +44 -0
- data/vendor/local/share/gtk-doc/html/gio/ch01.html +207 -0
- data/vendor/local/share/gtk-doc/html/gio/ch02.html +50 -0
- data/vendor/local/share/gtk-doc/html/gio/ch03.html +180 -0
- data/vendor/local/share/gtk-doc/html/gio/ch19.html +75 -0
- data/vendor/local/share/gtk-doc/html/gio/ch20.html +217 -0
- data/vendor/local/share/gtk-doc/html/gio/ch20s02.html +41 -0
- data/vendor/local/share/gtk-doc/html/gio/ch20s03.html +39 -0
- data/vendor/local/share/gtk-doc/html/gio/ch24.html +75 -0
- data/vendor/local/share/gtk-doc/html/gio/ch25.html +217 -0
- data/vendor/local/share/gtk-doc/html/gio/ch25s02.html +41 -0
- data/vendor/local/share/gtk-doc/html/gio/ch25s03.html +39 -0
- data/vendor/local/share/gtk-doc/html/gio/ch26.html +57 -0
- data/vendor/local/share/gtk-doc/html/gio/ch26s02.html +59 -0
- data/vendor/local/share/gtk-doc/html/gio/ch26s03.html +159 -0
- data/vendor/local/share/gtk-doc/html/gio/ch26s04.html +46 -0
- data/vendor/local/share/gtk-doc/html/gio/ch26s05.html +48 -0
- data/vendor/local/share/gtk-doc/html/gio/ch26s06.html +277 -0
- data/vendor/local/share/gtk-doc/html/gio/ch26s07.html +95 -0
- data/vendor/local/share/gtk-doc/html/gio/ch27.html +70 -0
- data/vendor/local/share/gtk-doc/html/gio/ch27s02.html +130 -0
- data/vendor/local/share/gtk-doc/html/gio/ch27s03.html +202 -0
- data/vendor/local/share/gtk-doc/html/gio/ch27s04.html +96 -0
- data/vendor/local/share/gtk-doc/html/gio/ch27s05.html +823 -0
- data/vendor/local/share/gtk-doc/html/gio/ch27s06.html +828 -0
- data/vendor/local/share/gtk-doc/html/gio/conversion.html +44 -0
- data/vendor/local/share/gtk-doc/html/gio/extending-gio.html +109 -0
- data/vendor/local/share/gtk-doc/html/gio/extending.html +41 -0
- data/vendor/local/share/gtk-doc/html/gio/failable_initialization.html +38 -0
- data/vendor/local/share/gtk-doc/html/gio/file_mon.html +33 -0
- data/vendor/local/share/gtk-doc/html/gio/file_ops.html +50 -0
- data/vendor/local/share/gtk-doc/html/gio/gdbus-convenience.html +41 -0
- data/vendor/local/share/gtk-doc/html/gio/gdbus-lowlevel.html +59 -0
- data/vendor/local/share/gtk-doc/html/gio/gdbus.html +243 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Addresses.html +316 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Introspection-Data.html +1117 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Utilities.html +216 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-Desktop-file-based-GAppInfo.html +339 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-Extension-Points.html +473 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GContentType.html +391 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GConverterInputstream.html +159 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GConverterOutputstream.html +159 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GDBusError.html +908 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GFileAttribute.html +933 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GIOError.html +409 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GIOScheduler.html +297 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GSrvTarget.html +313 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-Owning-Bus-Names.html +736 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-Unix-Mounts.html +909 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-Watching-Bus-Names.html +666 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-hierarchy.html +123 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-querymodules.html +53 -0
- data/vendor/local/share/gtk-doc/html/gio/gio.devhelp +1736 -0
- data/vendor/local/share/gtk-doc/html/gio/gio.devhelp2 +2006 -0
- data/vendor/local/share/gtk-doc/html/gio/glib-compile-schemas.html +102 -0
- data/vendor/local/share/gtk-doc/html/gio/gvfs-overview.png +0 -0
- data/vendor/local/share/gtk-doc/html/gio/highlevel-socket.html +53 -0
- data/vendor/local/share/gtk-doc/html/gio/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/gio/icons.html +50 -0
- data/vendor/local/share/gtk-doc/html/gio/index.html +435 -0
- data/vendor/local/share/gtk-doc/html/gio/index.sgml +2513 -0
- data/vendor/local/share/gtk-doc/html/gio/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/gio/migrating.html +62 -0
- data/vendor/local/share/gtk-doc/html/gio/networking.html +69 -0
- data/vendor/local/share/gtk-doc/html/gio/permissions.html +39 -0
- data/vendor/local/share/gtk-doc/html/gio/pt01.html +39 -0
- data/vendor/local/share/gtk-doc/html/gio/pt02.html +390 -0
- data/vendor/local/share/gtk-doc/html/gio/resolver.html +50 -0
- data/vendor/local/share/gtk-doc/html/gio/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/gio/settings.html +38 -0
- data/vendor/local/share/gtk-doc/html/gio/streaming.html +92 -0
- data/vendor/local/share/gtk-doc/html/gio/style.css +265 -0
- data/vendor/local/share/gtk-doc/html/gio/tools.html +44 -0
- data/vendor/local/share/gtk-doc/html/gio/types.html +41 -0
- data/vendor/local/share/gtk-doc/html/gio/up.png +0 -0
- data/vendor/local/share/gtk-doc/html/gio/utils.html +33 -0
- data/vendor/local/share/gtk-doc/html/gio/volume_mon.html +47 -0
- data/vendor/local/share/gtk-doc/html/glib/annotation-glossary.html +77 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-10.html +180 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-12.html +312 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-14.html +559 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-16.html +362 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-18.html +102 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-2.html +124 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-20.html +83 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-22.html +194 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-24.html +420 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-26.html +359 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-4.html +396 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-6.html +417 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-8.html +158 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-deprecated.html +419 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-full.html +8214 -0
- data/vendor/local/share/gtk-doc/html/glib/file-name-encodings.png +0 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Arrays.html +893 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Asynchronous-Queues.html +818 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Atomic-Operations.html +414 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Automatic-String-Completion.html +466 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Balanced-Binary-Trees.html +802 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Base64-Encoding.html +372 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html +500 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Bookmark-file-parser.html +2056 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Arrays.html +560 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Order-Macros.html +1686 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Caches.html +398 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Character-Set-Conversion.html +1094 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Commandline-option-parser.html +1671 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Data-Checksums.html +460 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Datasets.html +528 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Date-and-Time-Functions.html +2045 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Double-ended-Queues.html +1278 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html +1406 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Dynamic-Loading-of-Modules.html +548 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Error-Reporting.html +1026 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-File-Utilities.html +1852 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-GDateTime.html +2201 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-GTimeZone.html +239 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-GVariant.html +4278 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-GVariantType.html +1864 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Glob-style-pattern-matching.html +295 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Hash-Tables.html +1512 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Hook-Functions.html +1367 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Hostname-Utilities.html +229 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-I18N.html +692 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-IO-Channels.html +2196 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Key-value-file-parser.html +2740 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Keyed-Data-Lists.html +612 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Lexical-Scanner.html +1451 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Limits-of-Basic-Types.html +389 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html +1033 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocators.html +141 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Chunks.html +706 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Slices.html +510 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Message-Logging.html +748 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html +1105 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html +1552 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-N-ary-Trees.html +1468 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Numerical-Definitions.html +194 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html +2745 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Pointer-Arrays.html +752 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Quarks.html +269 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Random-Numbers.html +578 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Relations-and-Tuples.html +532 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Sequences.html +1353 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Shell-related-Utilities.html +238 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Simple-XML-Subset-Parser.html +1282 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html +1213 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Spawning-Processes.html +924 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html +470 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-String-Chunks.html +301 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-String-Utility-Functions.html +2960 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Strings.html +1291 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Testing.html +1805 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html +3478 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Thread-Pools.html +606 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Threads.html +3411 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Timers.html +245 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Trash-Stacks.html +188 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Type-Conversion-Macros.html +263 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-URI-Functions.html +400 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html +3448 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Version-Information.html +253 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html +438 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Windows-Compatibility-Functions.html +476 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-building.html +466 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-changes.html +159 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-compiling.html +118 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-core.html +64 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-cross-compiling.html +160 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-data-types.html +120 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-fundamentals.html +59 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-gettextize.html +93 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-regex-syntax.html +2217 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-resources.html +121 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-running.html +319 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-utilities.html +118 -0
- data/vendor/local/share/gtk-doc/html/glib/glib.devhelp +2183 -0
- data/vendor/local/share/gtk-doc/html/glib/glib.devhelp2 +2671 -0
- data/vendor/local/share/gtk-doc/html/glib/glib.html +80 -0
- data/vendor/local/share/gtk-doc/html/glib/gtester-report.html +72 -0
- data/vendor/local/share/gtk-doc/html/glib/gtester.html +131 -0
- data/vendor/local/share/gtk-doc/html/glib/gvariant-format-strings.html +1288 -0
- data/vendor/local/share/gtk-doc/html/glib/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/glib/index.html +344 -0
- data/vendor/local/share/gtk-doc/html/glib/index.sgml +2846 -0
- data/vendor/local/share/gtk-doc/html/glib/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/glib/mainloop-states.gif +0 -0
- data/vendor/local/share/gtk-doc/html/glib/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/glib/style.css +265 -0
- data/vendor/local/share/gtk-doc/html/glib/tools.html +41 -0
- data/vendor/local/share/gtk-doc/html/glib/up.png +0 -0
- data/vendor/local/share/gtk-doc/html/gobject/GBinding.html +803 -0
- data/vendor/local/share/gtk-doc/html/gobject/GTypeModule.html +710 -0
- data/vendor/local/share/gtk-doc/html/gobject/GTypePlugin.html +453 -0
- data/vendor/local/share/gtk-doc/html/gobject/annotation-glossary.html +47 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-10.html +85 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-12.html +55 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-14.html +51 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-18.html +46 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-2.html +38 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-22.html +46 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-24.html +73 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-26.html +201 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-4.html +178 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-6.html +42 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-8.html +42 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-deprecated.html +50 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-full.html +2721 -0
- data/vendor/local/share/gtk-doc/html/gobject/ch01s02.html +136 -0
- data/vendor/local/share/gtk-doc/html/gobject/ch06s03.html +113 -0
- data/vendor/local/share/gtk-doc/html/gobject/chapter-gobject.html +293 -0
- data/vendor/local/share/gtk-doc/html/gobject/chapter-gtype.html +263 -0
- data/vendor/local/share/gtk-doc/html/gobject/chapter-intro.html +92 -0
- data/vendor/local/share/gtk-doc/html/gobject/chapter-signal.html +214 -0
- data/vendor/local/share/gtk-doc/html/gobject/glib-genmarshal.html +361 -0
- data/vendor/local/share/gtk-doc/html/gobject/glib-mkenums.html +307 -0
- data/vendor/local/share/gtk-doc/html/gobject/glue.png +0 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html +417 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Closures.html +2412 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html +847 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html +1433 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Generic-values.html +776 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html +2741 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html +5555 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html +2875 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html +4460 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Value-arrays.html +416 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Varargs-Value-Collection.html +260 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-memory.html +234 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-properties.html +270 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-query.html +117 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp +762 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp2 +801 -0
- data/vendor/local/share/gtk-doc/html/gobject/gtype-conventions.html +143 -0
- data/vendor/local/share/gtk-doc/html/gobject/gtype-instantiable-classed.html +287 -0
- data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable-classed.html +316 -0
- data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable.html +76 -0
- data/vendor/local/share/gtk-doc/html/gobject/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-chainup.html +100 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-code.html +86 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-construction.html +113 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-destruction.html +122 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-methods.html +257 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject.html +283 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface-implement.html +125 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface-properties.html +167 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface.html +160 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-signals.html +121 -0
- data/vendor/local/share/gtk-doc/html/gobject/index.html +192 -0
- data/vendor/local/share/gtk-doc/html/gobject/index.sgml +786 -0
- data/vendor/local/share/gtk-doc/html/gobject/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/gobject/pr01.html +72 -0
- data/vendor/local/share/gtk-doc/html/gobject/pt01.html +80 -0
- data/vendor/local/share/gtk-doc/html/gobject/pt02.html +66 -0
- data/vendor/local/share/gtk-doc/html/gobject/pt03.html +55 -0
- data/vendor/local/share/gtk-doc/html/gobject/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/gobject/rn01.html +85 -0
- data/vendor/local/share/gtk-doc/html/gobject/rn02.html +47 -0
- data/vendor/local/share/gtk-doc/html/gobject/signal.html +377 -0
- data/vendor/local/share/gtk-doc/html/gobject/style.css +265 -0
- data/vendor/local/share/gtk-doc/html/gobject/tools-ginspector.html +35 -0
- data/vendor/local/share/gtk-doc/html/gobject/tools-gob.html +40 -0
- data/vendor/local/share/gtk-doc/html/gobject/tools-gtkdoc.html +63 -0
- data/vendor/local/share/gtk-doc/html/gobject/tools-refdb.html +55 -0
- data/vendor/local/share/gtk-doc/html/gobject/tools-vala.html +43 -0
- data/vendor/local/share/gtk-doc/html/gobject/up.png +0 -0
- data/vendor/local/share/locale/af/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/am/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ar/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/as/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ast/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/az/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/be/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/be/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/be@latin/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/bg/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/bg/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/bn/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/bn_IN/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/bs/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ca/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ca/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/cs/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/cs/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/cy/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/da/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/da/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/de/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/de/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/dz/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/el/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/el/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/en@shaw/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/en_CA/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/en_GB/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/eo/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/eo/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/es/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/es/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/et/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/et/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/eu/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/fa/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/fi/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/fi/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/fr/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/fr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ga/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ga/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/gl/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/gl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/gu/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/he/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/hi/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/hr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/hu/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/hy/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/id/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/id/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/is/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/it/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/it/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ja/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ja/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ka/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/kk/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/kn/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ko/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ko/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ku/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/locale.alias +77 -0
- data/vendor/local/share/locale/lt/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/lv/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/mai/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/mg/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/mk/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ml/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/mn/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/mr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ms/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/nb/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/nb/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/nds/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ne/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/nl/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/nl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/nn/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/nn/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/oc/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/or/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pa/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pl/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/pl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ps/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pt/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/pt/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/pt_BR/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ro/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ro/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ru/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ru/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/rw/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/si/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sk/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/sk/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sl/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/sl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sq/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sr/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/sr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sr@ije/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sr@latin/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sv/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/sv/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ta/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/te/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/th/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/tl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/tr/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/tr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/tt/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/uk/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/uk/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/vi/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/vi/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/wa/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/xh/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/yi/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/zh_CN/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/zh_HK/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/zh_TW/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/man/man1/envsubst.1 +54 -0
- data/vendor/local/share/man/man1/gettext.1 +69 -0
- data/vendor/local/share/man/man1/glib-genmarshal.1 +312 -0
- data/vendor/local/share/man/man1/glib-mkenums.1 +246 -0
- data/vendor/local/share/man/man1/gobject-query.1 +83 -0
- data/vendor/local/share/man/man1/ngettext.1 +68 -0
- data/vendor/local/share/man/man3/bind_textdomain_codeset.3 +72 -0
- data/vendor/local/share/man/man3/bindtextdomain.3 +69 -0
- data/vendor/local/share/man/man3/dcgettext.3 +1 -0
- data/vendor/local/share/man/man3/dcngettext.3 +1 -0
- data/vendor/local/share/man/man3/dgettext.3 +1 -0
- data/vendor/local/share/man/man3/dngettext.3 +1 -0
- data/vendor/local/share/man/man3/gettext.3 +99 -0
- data/vendor/local/share/man/man3/ngettext.3 +60 -0
- data/vendor/local/share/man/man3/textdomain.3 +57 -0
- data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.log +10423 -0
- data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.sh +457 -0
- data/vendor/local/src/tml/packaging/glib_2.24.2-2_win32.log +2602 -0
- data/vendor/local/src/tml/packaging/glib_2.24.2-2_win32.sh +290 -0
- data/vendor/local/src/tml/packaging/glib_2.26.0-2_win32.log +2867 -0
- data/vendor/local/src/tml/packaging/glib_2.26.0-2_win32.sh +64 -0
- metadata +952 -0
@@ -0,0 +1,107 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
5
|
+
<title>GSimplePermission</title>
|
6
|
+
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
7
|
+
<link rel="home" href="index.html" title="GIO Reference Manual">
|
8
|
+
<link rel="up" href="permissions.html" title="Permissions">
|
9
|
+
<link rel="prev" href="GPermission.html" title="GPermission">
|
10
|
+
<link rel="next" href="extending.html" title="Extending GIO">
|
11
|
+
<meta name="generator" content="GTK-Doc V1.15.1 (XML mode)">
|
12
|
+
<link rel="stylesheet" href="style.css" type="text/css">
|
13
|
+
</head>
|
14
|
+
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
15
|
+
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
|
16
|
+
<tr valign="middle">
|
17
|
+
<td><a accesskey="p" href="GPermission.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
|
18
|
+
<td><a accesskey="u" href="permissions.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
|
19
|
+
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
|
20
|
+
<th width="100%" align="center">GIO Reference Manual</th>
|
21
|
+
<td><a accesskey="n" href="extending.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
|
22
|
+
</tr>
|
23
|
+
<tr><td colspan="5" class="shortcuts">
|
24
|
+
<a href="#GSimplePermission.synopsis" class="shortcut">Top</a>
|
25
|
+
|
|
26
|
+
<a href="#GSimplePermission.description" class="shortcut">Description</a>
|
27
|
+
|
|
28
|
+
<a href="#GSimplePermission.object-hierarchy" class="shortcut">Object Hierarchy</a>
|
29
|
+
</td></tr>
|
30
|
+
</table>
|
31
|
+
<div class="refentry">
|
32
|
+
<a name="GSimplePermission"></a><div class="titlepage"></div>
|
33
|
+
<div class="refnamediv"><table width="100%"><tr>
|
34
|
+
<td valign="top">
|
35
|
+
<h2><span class="refentrytitle"><a name="GSimplePermission.top_of_page"></a>GSimplePermission</span></h2>
|
36
|
+
<p>GSimplePermission — a GPermission that doesn't change value</p>
|
37
|
+
</td>
|
38
|
+
<td valign="top" align="right"></td>
|
39
|
+
</tr></table></div>
|
40
|
+
<div class="refsynopsisdiv">
|
41
|
+
<a name="GSimplePermission.synopsis"></a><h2>Synopsis</h2>
|
42
|
+
<pre class="synopsis"> <a class="link" href="GSimplePermission.html#GSimplePermission-struct" title="GSimplePermission">GSimplePermission</a>;
|
43
|
+
<a class="link" href="GPermission.html" title="GPermission"><span class="returnvalue">GPermission</span></a> * <a class="link" href="GSimplePermission.html#g-simple-permission-new" title="g_simple_permission_new ()">g_simple_permission_new</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> allowed</code></em>);
|
44
|
+
</pre>
|
45
|
+
</div>
|
46
|
+
<div class="refsect1">
|
47
|
+
<a name="GSimplePermission.object-hierarchy"></a><h2>Object Hierarchy</h2>
|
48
|
+
<pre class="synopsis">
|
49
|
+
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
|
50
|
+
+----<a class="link" href="GPermission.html" title="GPermission">GPermission</a>
|
51
|
+
+----GSimplePermission
|
52
|
+
</pre>
|
53
|
+
</div>
|
54
|
+
<div class="refsect1">
|
55
|
+
<a name="GSimplePermission.description"></a><h2>Description</h2>
|
56
|
+
<p>
|
57
|
+
<a class="link" href="GSimplePermission.html" title="GSimplePermission"><span class="type">GSimplePermission</span></a> is a trivial implementation of <a class="link" href="GPermission.html" title="GPermission"><span class="type">GPermission</span></a> that
|
58
|
+
represents a permission that is either always or never allowed. The
|
59
|
+
value is given at constuction and doesn't change.
|
60
|
+
</p>
|
61
|
+
<p>
|
62
|
+
Calling request or release will result in errors.
|
63
|
+
</p>
|
64
|
+
</div>
|
65
|
+
<div class="refsect1">
|
66
|
+
<a name="GSimplePermission.details"></a><h2>Details</h2>
|
67
|
+
<div class="refsect2">
|
68
|
+
<a name="GSimplePermission-struct"></a><h3>GSimplePermission</h3>
|
69
|
+
<pre class="programlisting">typedef struct _GSimplePermission GSimplePermission;</pre>
|
70
|
+
<p>
|
71
|
+
<a class="link" href="GSimplePermission.html" title="GSimplePermission"><span class="type">GSimplePermission</span></a> is an opaque data structure. There are no methods
|
72
|
+
except for those defined by <a class="link" href="GPermission.html" title="GPermission"><span class="type">GPermission</span></a>.
|
73
|
+
</p>
|
74
|
+
</div>
|
75
|
+
<hr>
|
76
|
+
<div class="refsect2">
|
77
|
+
<a name="g-simple-permission-new"></a><h3>g_simple_permission_new ()</h3>
|
78
|
+
<pre class="programlisting"><a class="link" href="GPermission.html" title="GPermission"><span class="returnvalue">GPermission</span></a> * g_simple_permission_new (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> allowed</code></em>);</pre>
|
79
|
+
<p>
|
80
|
+
Creates a new <a class="link" href="GPermission.html" title="GPermission"><span class="type">GPermission</span></a> instance that represents an action that is
|
81
|
+
either always or never allowed.
|
82
|
+
</p>
|
83
|
+
<div class="variablelist"><table border="0">
|
84
|
+
<col align="left" valign="top">
|
85
|
+
<tbody>
|
86
|
+
<tr>
|
87
|
+
<td><p><span class="term"><em class="parameter"><code>allowed</code></em> :</span></p></td>
|
88
|
+
<td>
|
89
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the action is allowed
|
90
|
+
</td>
|
91
|
+
</tr>
|
92
|
+
<tr>
|
93
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
94
|
+
<td>the <a class="link" href="GSimplePermission.html" title="GSimplePermission"><span class="type">GSimplePermission</span></a>, as a <a class="link" href="GPermission.html" title="GPermission"><span class="type">GPermission</span></a>
|
95
|
+
</td>
|
96
|
+
</tr>
|
97
|
+
</tbody>
|
98
|
+
</table></div>
|
99
|
+
<p class="since">Since 2.26</p>
|
100
|
+
</div>
|
101
|
+
</div>
|
102
|
+
</div>
|
103
|
+
<div class="footer">
|
104
|
+
<hr>
|
105
|
+
Generated by GTK-Doc V1.15.1</div>
|
106
|
+
</body>
|
107
|
+
</html>
|
@@ -0,0 +1,2438 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
5
|
+
<title>GSocket</title>
|
6
|
+
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
7
|
+
<link rel="home" href="index.html" title="GIO Reference Manual">
|
8
|
+
<link rel="up" href="networking.html" title="Lowlevel network support">
|
9
|
+
<link rel="prev" href="networking.html" title="Lowlevel network support">
|
10
|
+
<link rel="next" href="GInetAddress.html" title="GInetAddress">
|
11
|
+
<meta name="generator" content="GTK-Doc V1.15.1 (XML mode)">
|
12
|
+
<link rel="stylesheet" href="style.css" type="text/css">
|
13
|
+
</head>
|
14
|
+
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
15
|
+
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
|
16
|
+
<tr valign="middle">
|
17
|
+
<td><a accesskey="p" href="networking.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
|
18
|
+
<td><a accesskey="u" href="networking.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
|
19
|
+
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
|
20
|
+
<th width="100%" align="center">GIO Reference Manual</th>
|
21
|
+
<td><a accesskey="n" href="GInetAddress.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
|
22
|
+
</tr>
|
23
|
+
<tr><td colspan="5" class="shortcuts">
|
24
|
+
<a href="#GSocket.synopsis" class="shortcut">Top</a>
|
25
|
+
|
|
26
|
+
<a href="#GSocket.description" class="shortcut">Description</a>
|
27
|
+
|
|
28
|
+
<a href="#GSocket.object-hierarchy" class="shortcut">Object Hierarchy</a>
|
29
|
+
|
|
30
|
+
<a href="#GSocket.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
|
31
|
+
|
|
32
|
+
<a href="#GSocket.properties" class="shortcut">Properties</a>
|
33
|
+
</td></tr>
|
34
|
+
</table>
|
35
|
+
<div class="refentry">
|
36
|
+
<a name="GSocket"></a><div class="titlepage"></div>
|
37
|
+
<div class="refnamediv"><table width="100%"><tr>
|
38
|
+
<td valign="top">
|
39
|
+
<h2><span class="refentrytitle"><a name="GSocket.top_of_page"></a>GSocket</span></h2>
|
40
|
+
<p>GSocket — Low-level socket object</p>
|
41
|
+
</td>
|
42
|
+
<td valign="top" align="right"></td>
|
43
|
+
</tr></table></div>
|
44
|
+
<div class="refsynopsisdiv">
|
45
|
+
<a name="GSocket.synopsis"></a><h2>Synopsis</h2>
|
46
|
+
<pre class="synopsis">
|
47
|
+
#include <gio/gio.h>
|
48
|
+
|
49
|
+
<a class="link" href="GSocket.html#GSocket-struct" title="GSocket">GSocket</a>;
|
50
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (<a class="link" href="GSocket.html#GSocketSourceFunc" title="GSocketSourceFunc ()">*GSocketSourceFunc</a>) (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
51
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#GIOCondition"><span class="type">GIOCondition</span></a> condition</code></em>,
|
52
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
|
53
|
+
enum <a class="link" href="GSocket.html#GSocketType" title="enum GSocketType">GSocketType</a>;
|
54
|
+
enum <a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol">GSocketProtocol</a>;
|
55
|
+
enum <a class="link" href="GSocket.html#GSocketMsgFlags" title="enum GSocketMsgFlags">GSocketMsgFlags</a>;
|
56
|
+
<a class="link" href="GSocket.html#GInputVector" title="GInputVector">GInputVector</a>;
|
57
|
+
<a class="link" href="GSocket.html#GOutputVector" title="GOutputVector">GOutputVector</a>;
|
58
|
+
<a class="link" href="GSocket.html" title="GSocket"><span class="returnvalue">GSocket</span></a> * <a class="link" href="GSocket.html#g-socket-new" title="g_socket_new ()">g_socket_new</a> (<em class="parameter"><code><a class="link" href="GSocketAddress.html#GSocketFamily" title="enum GSocketFamily"><span class="type">GSocketFamily</span></a> family</code></em>,
|
59
|
+
<em class="parameter"><code><a class="link" href="GSocket.html#GSocketType" title="enum GSocketType"><span class="type">GSocketType</span></a> type</code></em>,
|
60
|
+
<em class="parameter"><code><a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="type">GSocketProtocol</span></a> protocol</code></em>,
|
61
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
62
|
+
<a class="link" href="GSocket.html" title="GSocket"><span class="returnvalue">GSocket</span></a> * <a class="link" href="GSocket.html#g-socket-new-from-fd" title="g_socket_new_from_fd ()">g_socket_new_from_fd</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> fd</code></em>,
|
63
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
64
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GSocket.html#g-socket-bind" title="g_socket_bind ()">g_socket_bind</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
65
|
+
<em class="parameter"><code><a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> *address</code></em>,
|
66
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> allow_reuse</code></em>,
|
67
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
68
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GSocket.html#g-socket-listen" title="g_socket_listen ()">g_socket_listen</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
69
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
70
|
+
<a class="link" href="GSocket.html" title="GSocket"><span class="returnvalue">GSocket</span></a> * <a class="link" href="GSocket.html#g-socket-accept" title="g_socket_accept ()">g_socket_accept</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
71
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
72
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
73
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GSocket.html#g-socket-connect" title="g_socket_connect ()">g_socket_connect</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
74
|
+
<em class="parameter"><code><a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> *address</code></em>,
|
75
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
76
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
77
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GSocket.html#g-socket-check-connect-result" title="g_socket_check_connect_result ()">g_socket_check_connect_result</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
78
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
79
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a> <a class="link" href="GSocket.html#g-socket-receive" title="g_socket_receive ()">g_socket_receive</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
80
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *buffer</code></em>,
|
81
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
|
82
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
83
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
84
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a> <a class="link" href="GSocket.html#g-socket-receive-from" title="g_socket_receive_from ()">g_socket_receive_from</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
85
|
+
<em class="parameter"><code><a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> **address</code></em>,
|
86
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *buffer</code></em>,
|
87
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
|
88
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
89
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
90
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a> <a class="link" href="GSocket.html#g-socket-receive-message" title="g_socket_receive_message ()">g_socket_receive_message</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
91
|
+
<em class="parameter"><code><a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> **address</code></em>,
|
92
|
+
<em class="parameter"><code><a class="link" href="GSocket.html#GInputVector" title="GInputVector"><span class="type">GInputVector</span></a> *vectors</code></em>,
|
93
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num_vectors</code></em>,
|
94
|
+
<em class="parameter"><code><a class="link" href="GSocketControlMessage.html" title="GSocketControlMessage"><span class="type">GSocketControlMessage</span></a> ***messages</code></em>,
|
95
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *num_messages</code></em>,
|
96
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *flags</code></em>,
|
97
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
98
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
99
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a> <a class="link" href="GSocket.html#g-socket-receive-with-blocking" title="g_socket_receive_with_blocking ()">g_socket_receive_with_blocking</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
100
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *buffer</code></em>,
|
101
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
|
102
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> blocking</code></em>,
|
103
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
104
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
105
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a> <a class="link" href="GSocket.html#g-socket-send" title="g_socket_send ()">g_socket_send</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
106
|
+
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *buffer</code></em>,
|
107
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
|
108
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
109
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
110
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a> <a class="link" href="GSocket.html#g-socket-send-to" title="g_socket_send_to ()">g_socket_send_to</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
111
|
+
<em class="parameter"><code><a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> *address</code></em>,
|
112
|
+
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *buffer</code></em>,
|
113
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
|
114
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
115
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
116
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a> <a class="link" href="GSocket.html#g-socket-send-message" title="g_socket_send_message ()">g_socket_send_message</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
117
|
+
<em class="parameter"><code><a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> *address</code></em>,
|
118
|
+
<em class="parameter"><code><a class="link" href="GSocket.html#GOutputVector" title="GOutputVector"><span class="type">GOutputVector</span></a> *vectors</code></em>,
|
119
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num_vectors</code></em>,
|
120
|
+
<em class="parameter"><code><a class="link" href="GSocketControlMessage.html" title="GSocketControlMessage"><span class="type">GSocketControlMessage</span></a> **messages</code></em>,
|
121
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num_messages</code></em>,
|
122
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> flags</code></em>,
|
123
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
124
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
125
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a> <a class="link" href="GSocket.html#g-socket-send-with-blocking" title="g_socket_send_with_blocking ()">g_socket_send_with_blocking</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
126
|
+
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *buffer</code></em>,
|
127
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
|
128
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> blocking</code></em>,
|
129
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
130
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
131
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GSocket.html#g-socket-close" title="g_socket_close ()">g_socket_close</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
132
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
133
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GSocket.html#g-socket-is-closed" title="g_socket_is_closed ()">g_socket_is_closed</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);
|
134
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GSocket.html#g-socket-shutdown" title="g_socket_shutdown ()">g_socket_shutdown</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
135
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> shutdown_read</code></em>,
|
136
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> shutdown_write</code></em>,
|
137
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
138
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GSocket.html#g-socket-is-connected" title="g_socket_is_connected ()">g_socket_is_connected</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);
|
139
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GSource"><span class="returnvalue">GSource</span></a> * <a class="link" href="GSocket.html#g-socket-create-source" title="g_socket_create_source ()">g_socket_create_source</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
140
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#GIOCondition"><span class="type">GIOCondition</span></a> condition</code></em>,
|
141
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>);
|
142
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#GIOCondition"><span class="returnvalue">GIOCondition</span></a> <a class="link" href="GSocket.html#g-socket-condition-check" title="g_socket_condition_check ()">g_socket_condition_check</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
143
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#GIOCondition"><span class="type">GIOCondition</span></a> condition</code></em>);
|
144
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GSocket.html#g-socket-condition-wait" title="g_socket_condition_wait ()">g_socket_condition_wait</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
145
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#GIOCondition"><span class="type">GIOCondition</span></a> condition</code></em>,
|
146
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
147
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
148
|
+
<span class="returnvalue">void</span> <a class="link" href="GSocket.html#g-socket-set-listen-backlog" title="g_socket_set_listen_backlog ()">g_socket_set_listen_backlog</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
149
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> backlog</code></em>);
|
150
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> <a class="link" href="GSocket.html#g-socket-get-listen-backlog" title="g_socket_get_listen_backlog ()">g_socket_get_listen_backlog</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);
|
151
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GSocket.html#g-socket-get-blocking" title="g_socket_get_blocking ()">g_socket_get_blocking</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);
|
152
|
+
<span class="returnvalue">void</span> <a class="link" href="GSocket.html#g-socket-set-blocking" title="g_socket_set_blocking ()">g_socket_set_blocking</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
153
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> blocking</code></em>);
|
154
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GSocket.html#g-socket-get-keepalive" title="g_socket_get_keepalive ()">g_socket_get_keepalive</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);
|
155
|
+
<span class="returnvalue">void</span> <a class="link" href="GSocket.html#g-socket-set-keepalive" title="g_socket_set_keepalive ()">g_socket_set_keepalive</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
156
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> keepalive</code></em>);
|
157
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="GSocket.html#g-socket-get-timeout" title="g_socket_get_timeout ()">g_socket_get_timeout</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);
|
158
|
+
<span class="returnvalue">void</span> <a class="link" href="GSocket.html#g-socket-set-timeout" title="g_socket_set_timeout ()">g_socket_set_timeout</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
159
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> timeout</code></em>);
|
160
|
+
<a class="link" href="GSocketAddress.html#GSocketFamily" title="enum GSocketFamily"><span class="returnvalue">GSocketFamily</span></a> <a class="link" href="GSocket.html#g-socket-get-family" title="g_socket_get_family ()">g_socket_get_family</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);
|
161
|
+
<span class="returnvalue">int</span> <a class="link" href="GSocket.html#g-socket-get-fd" title="g_socket_get_fd ()">g_socket_get_fd</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);
|
162
|
+
<a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="returnvalue">GSocketAddress</span></a> * <a class="link" href="GSocket.html#g-socket-get-local-address" title="g_socket_get_local_address ()">g_socket_get_local_address</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
163
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
164
|
+
<a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="returnvalue">GSocketProtocol</span></a> <a class="link" href="GSocket.html#g-socket-get-protocol" title="g_socket_get_protocol ()">g_socket_get_protocol</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);
|
165
|
+
<a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="returnvalue">GSocketAddress</span></a> * <a class="link" href="GSocket.html#g-socket-get-remote-address" title="g_socket_get_remote_address ()">g_socket_get_remote_address</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
166
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
167
|
+
<a class="link" href="GSocket.html#GSocketType" title="enum GSocketType"><span class="returnvalue">GSocketType</span></a> <a class="link" href="GSocket.html#g-socket-get-socket-type" title="g_socket_get_socket_type ()">g_socket_get_socket_type</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);
|
168
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GSocket.html#g-socket-speaks-ipv4" title="g_socket_speaks_ipv4 ()">g_socket_speaks_ipv4</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);
|
169
|
+
<a class="link" href="GCredentials.html" title="GCredentials"><span class="returnvalue">GCredentials</span></a> * <a class="link" href="GSocket.html#g-socket-get-credentials" title="g_socket_get_credentials ()">g_socket_get_credentials</a> (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
170
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
|
171
|
+
</pre>
|
172
|
+
</div>
|
173
|
+
<div class="refsect1">
|
174
|
+
<a name="GSocket.object-hierarchy"></a><h2>Object Hierarchy</h2>
|
175
|
+
<pre class="synopsis">
|
176
|
+
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
|
177
|
+
+----GSocket
|
178
|
+
</pre>
|
179
|
+
</div>
|
180
|
+
<div class="refsect1">
|
181
|
+
<a name="GSocket.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
|
182
|
+
<p>
|
183
|
+
GSocket implements
|
184
|
+
<a class="link" href="GInitable.html" title="GInitable">GInitable</a>.</p>
|
185
|
+
</div>
|
186
|
+
<div class="refsect1">
|
187
|
+
<a name="GSocket.properties"></a><h2>Properties</h2>
|
188
|
+
<pre class="synopsis">
|
189
|
+
"<a class="link" href="GSocket.html#GSocket--blocking" title='The "blocking" property'>blocking</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
|
190
|
+
"<a class="link" href="GSocket.html#GSocket--family" title='The "family" property'>family</a>" <a class="link" href="GSocketAddress.html#GSocketFamily" title="enum GSocketFamily"><span class="type">GSocketFamily</span></a> : Read / Write / Construct Only
|
191
|
+
"<a class="link" href="GSocket.html#GSocket--fd" title='The "fd" property'>fd</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write / Construct Only
|
192
|
+
"<a class="link" href="GSocket.html#GSocket--keepalive" title='The "keepalive" property'>keepalive</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
|
193
|
+
"<a class="link" href="GSocket.html#GSocket--listen-backlog" title='The "listen-backlog" property'>listen-backlog</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write
|
194
|
+
"<a class="link" href="GSocket.html#GSocket--local-address" title='The "local-address" property'>local-address</a>" <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a>* : Read
|
195
|
+
"<a class="link" href="GSocket.html#GSocket--protocol" title='The "protocol" property'>protocol</a>" <a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="type">GSocketProtocol</span></a> : Read / Write / Construct Only
|
196
|
+
"<a class="link" href="GSocket.html#GSocket--remote-address" title='The "remote-address" property'>remote-address</a>" <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a>* : Read
|
197
|
+
"<a class="link" href="GSocket.html#GSocket--timeout" title='The "timeout" property'>timeout</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
|
198
|
+
"<a class="link" href="GSocket.html#GSocket--type" title='The "type" property'>type</a>" <a class="link" href="GSocket.html#GSocketType" title="enum GSocketType"><span class="type">GSocketType</span></a> : Read / Write / Construct Only
|
199
|
+
</pre>
|
200
|
+
</div>
|
201
|
+
<div class="refsect1">
|
202
|
+
<a name="GSocket.description"></a><h2>Description</h2>
|
203
|
+
<p>
|
204
|
+
A <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> is a low-level networking primitive. It is a more or less
|
205
|
+
direct mapping of the BSD socket API in a portable GObject based API.
|
206
|
+
It supports both the UNIX socket implementations and winsock2 on Windows.
|
207
|
+
</p>
|
208
|
+
<p>
|
209
|
+
<a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> is the platform independent base upon which the higher level
|
210
|
+
network primitives are based. Applications are not typically meant to
|
211
|
+
use it directly, but rather through classes like <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>,
|
212
|
+
<a class="link" href="GSocketService.html" title="GSocketService"><span class="type">GSocketService</span></a> and <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a>. However there may be cases where
|
213
|
+
direct use of <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> is useful.
|
214
|
+
</p>
|
215
|
+
<p>
|
216
|
+
<a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> implements the <a class="link" href="GInitable.html" title="GInitable"><span class="type">GInitable</span></a> interface, so if it is manually constructed
|
217
|
+
by e.g. <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-new"><code class="function">g_object_new()</code></a> you must call <a class="link" href="GInitable.html#g-initable-init" title="g_initable_init ()"><code class="function">g_initable_init()</code></a> and check the
|
218
|
+
results before using the object. This is done automatically in
|
219
|
+
<a class="link" href="GSocket.html#g-socket-new" title="g_socket_new ()"><code class="function">g_socket_new()</code></a> and <a class="link" href="GSocket.html#g-socket-new-from-fd" title="g_socket_new_from_fd ()"><code class="function">g_socket_new_from_fd()</code></a>, so these functions can return
|
220
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
|
221
|
+
</p>
|
222
|
+
<p>
|
223
|
+
Sockets operate in two general modes, blocking or non-blocking. When
|
224
|
+
in blocking mode all operations block until the requested operation
|
225
|
+
is finished or there is an error. In non-blocking mode all calls that
|
226
|
+
would block return immediately with a <a class="link" href="gio-GIOError.html#G-IO-ERROR-WOULD-BLOCK:CAPS"><code class="literal">G_IO_ERROR_WOULD_BLOCK</code></a> error.
|
227
|
+
To know when a call would successfully run you can call <a class="link" href="GSocket.html#g-socket-condition-check" title="g_socket_condition_check ()"><code class="function">g_socket_condition_check()</code></a>,
|
228
|
+
or <a class="link" href="GSocket.html#g-socket-condition-wait" title="g_socket_condition_wait ()"><code class="function">g_socket_condition_wait()</code></a>. You can also use <a class="link" href="GSocket.html#g-socket-create-source" title="g_socket_create_source ()"><code class="function">g_socket_create_source()</code></a> and
|
229
|
+
attach it to a <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> to get callbacks when I/O is possible.
|
230
|
+
Note that all sockets are always set to non blocking mode in the system, and
|
231
|
+
blocking mode is emulated in GSocket.
|
232
|
+
</p>
|
233
|
+
<p>
|
234
|
+
When working in non-blocking mode applications should always be able to
|
235
|
+
handle getting a <a class="link" href="gio-GIOError.html#G-IO-ERROR-WOULD-BLOCK:CAPS"><code class="literal">G_IO_ERROR_WOULD_BLOCK</code></a> error even when some other
|
236
|
+
function said that I/O was possible. This can easily happen in case
|
237
|
+
of a race condition in the application, but it can also happen for other
|
238
|
+
reasons. For instance, on Windows a socket is always seen as writable
|
239
|
+
until a write returns <a class="link" href="gio-GIOError.html#G-IO-ERROR-WOULD-BLOCK:CAPS"><code class="literal">G_IO_ERROR_WOULD_BLOCK</code></a>.
|
240
|
+
</p>
|
241
|
+
<p>
|
242
|
+
<a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>s can be either connection oriented or datagram based.
|
243
|
+
For connection oriented types you must first establish a connection by
|
244
|
+
either connecting to an address or accepting a connection from another
|
245
|
+
address. For connectionless socket types the target/source address is
|
246
|
+
specified or received in each I/O operation.
|
247
|
+
</p>
|
248
|
+
<p>
|
249
|
+
All socket file descriptors are set to be close-on-exec.
|
250
|
+
</p>
|
251
|
+
<p>
|
252
|
+
Note that creating a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> causes the signal <code class="literal">SIGPIPE</code> to be
|
253
|
+
ignored for the remainder of the program. If you are writing a
|
254
|
+
command-line utility that uses <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>, you may need to take into
|
255
|
+
account the fact that your program will not automatically be killed
|
256
|
+
if it tries to write to <code class="literal">stdout</code> after it has been closed.
|
257
|
+
</p>
|
258
|
+
</div>
|
259
|
+
<div class="refsect1">
|
260
|
+
<a name="GSocket.details"></a><h2>Details</h2>
|
261
|
+
<div class="refsect2">
|
262
|
+
<a name="GSocket-struct"></a><h3>GSocket</h3>
|
263
|
+
<pre class="programlisting">typedef struct _GSocket GSocket;</pre>
|
264
|
+
<p>
|
265
|
+
A lowlevel network socket object.
|
266
|
+
</p>
|
267
|
+
<p class="since">Since 2.22</p>
|
268
|
+
</div>
|
269
|
+
<hr>
|
270
|
+
<div class="refsect2">
|
271
|
+
<a name="GSocketSourceFunc"></a><h3>GSocketSourceFunc ()</h3>
|
272
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (*GSocketSourceFunc) (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
273
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#GIOCondition"><span class="type">GIOCondition</span></a> condition</code></em>,
|
274
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
|
275
|
+
<p>
|
276
|
+
This is the function type of the callback used for the <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GSource"><span class="type">GSource</span></a>
|
277
|
+
returned by <a class="link" href="GSocket.html#g-socket-create-source" title="g_socket_create_source ()"><code class="function">g_socket_create_source()</code></a>.
|
278
|
+
</p>
|
279
|
+
<div class="variablelist"><table border="0">
|
280
|
+
<col align="left" valign="top">
|
281
|
+
<tbody>
|
282
|
+
<tr>
|
283
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
284
|
+
<td>the <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
|
285
|
+
</td>
|
286
|
+
</tr>
|
287
|
+
<tr>
|
288
|
+
<td><p><span class="term"><em class="parameter"><code>condition</code></em> :</span></p></td>
|
289
|
+
<td>the current condition at the source fired.
|
290
|
+
</td>
|
291
|
+
</tr>
|
292
|
+
<tr>
|
293
|
+
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
|
294
|
+
<td>data passed in by the user.
|
295
|
+
</td>
|
296
|
+
</tr>
|
297
|
+
<tr>
|
298
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
299
|
+
<td> it should return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the source should be removed.
|
300
|
+
|
301
|
+
</td>
|
302
|
+
</tr>
|
303
|
+
</tbody>
|
304
|
+
</table></div>
|
305
|
+
<p class="since">Since 2.22</p>
|
306
|
+
</div>
|
307
|
+
<hr>
|
308
|
+
<div class="refsect2">
|
309
|
+
<a name="GSocketType"></a><h3>enum GSocketType</h3>
|
310
|
+
<pre class="programlisting">typedef enum
|
311
|
+
{
|
312
|
+
G_SOCKET_TYPE_INVALID,
|
313
|
+
G_SOCKET_TYPE_STREAM,
|
314
|
+
G_SOCKET_TYPE_DATAGRAM,
|
315
|
+
G_SOCKET_TYPE_SEQPACKET
|
316
|
+
} GSocketType;
|
317
|
+
</pre>
|
318
|
+
<p>
|
319
|
+
Flags used when creating a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>. Some protocols may not implement
|
320
|
+
all the socket types.
|
321
|
+
</p>
|
322
|
+
<div class="variablelist"><table border="0">
|
323
|
+
<col align="left" valign="top">
|
324
|
+
<tbody>
|
325
|
+
<tr>
|
326
|
+
<td><p><a name="G-SOCKET-TYPE-INVALID:CAPS"></a><span class="term"><code class="literal">G_SOCKET_TYPE_INVALID</code></span></p></td>
|
327
|
+
<td>Type unknown or wrong
|
328
|
+
</td>
|
329
|
+
</tr>
|
330
|
+
<tr>
|
331
|
+
<td><p><a name="G-SOCKET-TYPE-STREAM:CAPS"></a><span class="term"><code class="literal">G_SOCKET_TYPE_STREAM</code></span></p></td>
|
332
|
+
<td>Reliable connection-based byte streams (e.g. TCP).
|
333
|
+
</td>
|
334
|
+
</tr>
|
335
|
+
<tr>
|
336
|
+
<td><p><a name="G-SOCKET-TYPE-DATAGRAM:CAPS"></a><span class="term"><code class="literal">G_SOCKET_TYPE_DATAGRAM</code></span></p></td>
|
337
|
+
<td>Connectionless, unreliable datagram passing.
|
338
|
+
(e.g. UDP)
|
339
|
+
</td>
|
340
|
+
</tr>
|
341
|
+
<tr>
|
342
|
+
<td><p><a name="G-SOCKET-TYPE-SEQPACKET:CAPS"></a><span class="term"><code class="literal">G_SOCKET_TYPE_SEQPACKET</code></span></p></td>
|
343
|
+
<td>Reliable connection-based passing of datagrams
|
344
|
+
of fixed maximum length (e.g. SCTP).
|
345
|
+
</td>
|
346
|
+
</tr>
|
347
|
+
</tbody>
|
348
|
+
</table></div>
|
349
|
+
<p class="since">Since 2.22</p>
|
350
|
+
</div>
|
351
|
+
<hr>
|
352
|
+
<div class="refsect2">
|
353
|
+
<a name="GSocketProtocol"></a><h3>enum GSocketProtocol</h3>
|
354
|
+
<pre class="programlisting">typedef enum {
|
355
|
+
G_SOCKET_PROTOCOL_UNKNOWN = -1,
|
356
|
+
G_SOCKET_PROTOCOL_DEFAULT = 0,
|
357
|
+
G_SOCKET_PROTOCOL_TCP = 6,
|
358
|
+
G_SOCKET_PROTOCOL_UDP = 17,
|
359
|
+
G_SOCKET_PROTOCOL_SCTP = 132
|
360
|
+
} GSocketProtocol;
|
361
|
+
</pre>
|
362
|
+
<p>
|
363
|
+
A protocol identifier is specified when creating a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>, which is a
|
364
|
+
family/type specific identifier, where 0 means the default protocol for
|
365
|
+
the particular family/type.
|
366
|
+
</p>
|
367
|
+
<p>
|
368
|
+
This enum contains a set of commonly available and used protocols. You
|
369
|
+
can also pass any other identifiers handled by the platform in order to
|
370
|
+
use protocols not listed here.
|
371
|
+
</p>
|
372
|
+
<div class="variablelist"><table border="0">
|
373
|
+
<col align="left" valign="top">
|
374
|
+
<tbody>
|
375
|
+
<tr>
|
376
|
+
<td><p><a name="G-SOCKET-PROTOCOL-UNKNOWN:CAPS"></a><span class="term"><code class="literal">G_SOCKET_PROTOCOL_UNKNOWN</code></span></p></td>
|
377
|
+
<td>The protocol type is unknown
|
378
|
+
</td>
|
379
|
+
</tr>
|
380
|
+
<tr>
|
381
|
+
<td><p><a name="G-SOCKET-PROTOCOL-DEFAULT:CAPS"></a><span class="term"><code class="literal">G_SOCKET_PROTOCOL_DEFAULT</code></span></p></td>
|
382
|
+
<td>The default protocol for the family/type
|
383
|
+
</td>
|
384
|
+
</tr>
|
385
|
+
<tr>
|
386
|
+
<td><p><a name="G-SOCKET-PROTOCOL-TCP:CAPS"></a><span class="term"><code class="literal">G_SOCKET_PROTOCOL_TCP</code></span></p></td>
|
387
|
+
<td>TCP over IP
|
388
|
+
</td>
|
389
|
+
</tr>
|
390
|
+
<tr>
|
391
|
+
<td><p><a name="G-SOCKET-PROTOCOL-UDP:CAPS"></a><span class="term"><code class="literal">G_SOCKET_PROTOCOL_UDP</code></span></p></td>
|
392
|
+
<td>UDP over IP
|
393
|
+
</td>
|
394
|
+
</tr>
|
395
|
+
<tr>
|
396
|
+
<td><p><a name="G-SOCKET-PROTOCOL-SCTP:CAPS"></a><span class="term"><code class="literal">G_SOCKET_PROTOCOL_SCTP</code></span></p></td>
|
397
|
+
<td>SCTP over IP
|
398
|
+
</td>
|
399
|
+
</tr>
|
400
|
+
</tbody>
|
401
|
+
</table></div>
|
402
|
+
<p class="since">Since 2.22</p>
|
403
|
+
</div>
|
404
|
+
<hr>
|
405
|
+
<div class="refsect2">
|
406
|
+
<a name="GSocketMsgFlags"></a><h3>enum GSocketMsgFlags</h3>
|
407
|
+
<pre class="programlisting">typedef enum
|
408
|
+
{
|
409
|
+
G_SOCKET_MSG_NONE,
|
410
|
+
G_SOCKET_MSG_OOB = GLIB_SYSDEF_MSG_OOB,
|
411
|
+
G_SOCKET_MSG_PEEK = GLIB_SYSDEF_MSG_PEEK,
|
412
|
+
G_SOCKET_MSG_DONTROUTE = GLIB_SYSDEF_MSG_DONTROUTE
|
413
|
+
} GSocketMsgFlags;
|
414
|
+
</pre>
|
415
|
+
<p>
|
416
|
+
Flags used in <a class="link" href="GSocket.html#g-socket-receive-message" title="g_socket_receive_message ()"><code class="function">g_socket_receive_message()</code></a> and <a class="link" href="GSocket.html#g-socket-send-message" title="g_socket_send_message ()"><code class="function">g_socket_send_message()</code></a>.
|
417
|
+
The flags listed in the enum are some commonly available flags, but the
|
418
|
+
values used for them are the same as on the platform, and any other flags
|
419
|
+
are passed in/out as is. So to use a platform specific flag, just include
|
420
|
+
the right system header and pass in the flag.
|
421
|
+
</p>
|
422
|
+
<div class="variablelist"><table border="0">
|
423
|
+
<col align="left" valign="top">
|
424
|
+
<tbody>
|
425
|
+
<tr>
|
426
|
+
<td><p><a name="G-SOCKET-MSG-NONE:CAPS"></a><span class="term"><code class="literal">G_SOCKET_MSG_NONE</code></span></p></td>
|
427
|
+
<td>No flags.
|
428
|
+
</td>
|
429
|
+
</tr>
|
430
|
+
<tr>
|
431
|
+
<td><p><a name="G-SOCKET-MSG-OOB:CAPS"></a><span class="term"><code class="literal">G_SOCKET_MSG_OOB</code></span></p></td>
|
432
|
+
<td>Request to send/receive out of band data.
|
433
|
+
</td>
|
434
|
+
</tr>
|
435
|
+
<tr>
|
436
|
+
<td><p><a name="G-SOCKET-MSG-PEEK:CAPS"></a><span class="term"><code class="literal">G_SOCKET_MSG_PEEK</code></span></p></td>
|
437
|
+
<td>Read data from the socket without removing it from
|
438
|
+
the queue.
|
439
|
+
</td>
|
440
|
+
</tr>
|
441
|
+
<tr>
|
442
|
+
<td><p><a name="G-SOCKET-MSG-DONTROUTE:CAPS"></a><span class="term"><code class="literal">G_SOCKET_MSG_DONTROUTE</code></span></p></td>
|
443
|
+
<td>Don't use a gateway to send out the packet,
|
444
|
+
only send to hosts on directly connected networks.
|
445
|
+
</td>
|
446
|
+
</tr>
|
447
|
+
</tbody>
|
448
|
+
</table></div>
|
449
|
+
<p class="since">Since 2.22</p>
|
450
|
+
</div>
|
451
|
+
<hr>
|
452
|
+
<div class="refsect2">
|
453
|
+
<a name="GInputVector"></a><h3>GInputVector</h3>
|
454
|
+
<pre class="programlisting">typedef struct {
|
455
|
+
gpointer buffer;
|
456
|
+
gsize size;
|
457
|
+
} GInputVector;
|
458
|
+
</pre>
|
459
|
+
<p>
|
460
|
+
Structure used for scatter/gather data input.
|
461
|
+
You generally pass in an array of <a class="link" href="GSocket.html#GInputVector" title="GInputVector"><span class="type">GInputVector</span></a>s
|
462
|
+
and the operation will store the read data starting in the
|
463
|
+
first buffer, switching to the next as needed.
|
464
|
+
</p>
|
465
|
+
<div class="variablelist"><table border="0">
|
466
|
+
<col align="left" valign="top">
|
467
|
+
<tbody>
|
468
|
+
<tr>
|
469
|
+
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GInputVector.buffer"></a>buffer</code></em>;</span></p></td>
|
470
|
+
<td>Pointer to a buffer where data will be written.
|
471
|
+
</td>
|
472
|
+
</tr>
|
473
|
+
<tr>
|
474
|
+
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> <em class="structfield"><code><a name="GInputVector.size"></a>size</code></em>;</span></p></td>
|
475
|
+
<td>the available size in <em class="parameter"><code>buffer</code></em>.
|
476
|
+
</td>
|
477
|
+
</tr>
|
478
|
+
</tbody>
|
479
|
+
</table></div>
|
480
|
+
<p class="since">Since 2.22</p>
|
481
|
+
</div>
|
482
|
+
<hr>
|
483
|
+
<div class="refsect2">
|
484
|
+
<a name="GOutputVector"></a><h3>GOutputVector</h3>
|
485
|
+
<pre class="programlisting">typedef struct {
|
486
|
+
gconstpointer buffer;
|
487
|
+
gsize size;
|
488
|
+
} GOutputVector;
|
489
|
+
</pre>
|
490
|
+
<p>
|
491
|
+
Structure used for scatter/gather data output.
|
492
|
+
You generally pass in an array of <a class="link" href="GSocket.html#GOutputVector" title="GOutputVector"><span class="type">GOutputVector</span></a>s
|
493
|
+
and the operation will use all the buffers as if they were
|
494
|
+
one buffer.
|
495
|
+
</p>
|
496
|
+
<div class="variablelist"><table border="0">
|
497
|
+
<col align="left" valign="top">
|
498
|
+
<tbody>
|
499
|
+
<tr>
|
500
|
+
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> <em class="structfield"><code><a name="GOutputVector.buffer"></a>buffer</code></em>;</span></p></td>
|
501
|
+
<td>Pointer to a buffer of data to read.
|
502
|
+
</td>
|
503
|
+
</tr>
|
504
|
+
<tr>
|
505
|
+
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> <em class="structfield"><code><a name="GOutputVector.size"></a>size</code></em>;</span></p></td>
|
506
|
+
<td>the size of <em class="parameter"><code>buffer</code></em>.
|
507
|
+
</td>
|
508
|
+
</tr>
|
509
|
+
</tbody>
|
510
|
+
</table></div>
|
511
|
+
<p class="since">Since 2.22</p>
|
512
|
+
</div>
|
513
|
+
<hr>
|
514
|
+
<div class="refsect2">
|
515
|
+
<a name="g-socket-new"></a><h3>g_socket_new ()</h3>
|
516
|
+
<pre class="programlisting"><a class="link" href="GSocket.html" title="GSocket"><span class="returnvalue">GSocket</span></a> * g_socket_new (<em class="parameter"><code><a class="link" href="GSocketAddress.html#GSocketFamily" title="enum GSocketFamily"><span class="type">GSocketFamily</span></a> family</code></em>,
|
517
|
+
<em class="parameter"><code><a class="link" href="GSocket.html#GSocketType" title="enum GSocketType"><span class="type">GSocketType</span></a> type</code></em>,
|
518
|
+
<em class="parameter"><code><a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="type">GSocketProtocol</span></a> protocol</code></em>,
|
519
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
520
|
+
<p>
|
521
|
+
Creates a new <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> with the defined family, type and protocol.
|
522
|
+
If <em class="parameter"><code>protocol</code></em> is 0 (<a class="link" href="GSocket.html#G-SOCKET-PROTOCOL-DEFAULT:CAPS"><code class="literal">G_SOCKET_PROTOCOL_DEFAULT</code></a>) the default protocol type
|
523
|
+
for the family and type is used.
|
524
|
+
</p>
|
525
|
+
<p>
|
526
|
+
The <em class="parameter"><code>protocol</code></em> is a family and type specific int that specifies what
|
527
|
+
kind of protocol to use. <a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="type">GSocketProtocol</span></a> lists several common ones.
|
528
|
+
Many families only support one protocol, and use 0 for this, others
|
529
|
+
support several and using 0 means to use the default protocol for
|
530
|
+
the family and type.
|
531
|
+
</p>
|
532
|
+
<p>
|
533
|
+
The protocol id is passed directly to the operating
|
534
|
+
system, so you can use protocols not listed in <a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="type">GSocketProtocol</span></a> if you
|
535
|
+
know the protocol number used for it.
|
536
|
+
</p>
|
537
|
+
<div class="variablelist"><table border="0">
|
538
|
+
<col align="left" valign="top">
|
539
|
+
<tbody>
|
540
|
+
<tr>
|
541
|
+
<td><p><span class="term"><em class="parameter"><code>family</code></em> :</span></p></td>
|
542
|
+
<td>the socket family to use, e.g. <a class="link" href="GSocketAddress.html#G-SOCKET-FAMILY-IPV4:CAPS"><code class="literal">G_SOCKET_FAMILY_IPV4</code></a>.
|
543
|
+
</td>
|
544
|
+
</tr>
|
545
|
+
<tr>
|
546
|
+
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
|
547
|
+
<td>the socket type to use.
|
548
|
+
</td>
|
549
|
+
</tr>
|
550
|
+
<tr>
|
551
|
+
<td><p><span class="term"><em class="parameter"><code>protocol</code></em> :</span></p></td>
|
552
|
+
<td>the id of the protocol to use, or 0 for default.
|
553
|
+
</td>
|
554
|
+
</tr>
|
555
|
+
<tr>
|
556
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
557
|
+
<td>
|
558
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
559
|
+
</td>
|
560
|
+
</tr>
|
561
|
+
<tr>
|
562
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
563
|
+
<td> a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error.
|
564
|
+
Free the returned object with <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>.
|
565
|
+
|
566
|
+
</td>
|
567
|
+
</tr>
|
568
|
+
</tbody>
|
569
|
+
</table></div>
|
570
|
+
<p class="since">Since 2.22</p>
|
571
|
+
</div>
|
572
|
+
<hr>
|
573
|
+
<div class="refsect2">
|
574
|
+
<a name="g-socket-new-from-fd"></a><h3>g_socket_new_from_fd ()</h3>
|
575
|
+
<pre class="programlisting"><a class="link" href="GSocket.html" title="GSocket"><span class="returnvalue">GSocket</span></a> * g_socket_new_from_fd (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> fd</code></em>,
|
576
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
577
|
+
<p>
|
578
|
+
Creates a new <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> from a native file descriptor
|
579
|
+
or winsock SOCKET handle.
|
580
|
+
</p>
|
581
|
+
<p>
|
582
|
+
This reads all the settings from the file descriptor so that
|
583
|
+
all properties should work. Note that the file descriptor
|
584
|
+
will be set to non-blocking mode, independent on the blocking
|
585
|
+
mode of the <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
586
|
+
</p>
|
587
|
+
<div class="variablelist"><table border="0">
|
588
|
+
<col align="left" valign="top">
|
589
|
+
<tbody>
|
590
|
+
<tr>
|
591
|
+
<td><p><span class="term"><em class="parameter"><code>fd</code></em> :</span></p></td>
|
592
|
+
<td>a native socket file descriptor.
|
593
|
+
</td>
|
594
|
+
</tr>
|
595
|
+
<tr>
|
596
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
597
|
+
<td>
|
598
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
599
|
+
</td>
|
600
|
+
</tr>
|
601
|
+
<tr>
|
602
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
603
|
+
<td> a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error.
|
604
|
+
Free the returned object with <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>.
|
605
|
+
|
606
|
+
</td>
|
607
|
+
</tr>
|
608
|
+
</tbody>
|
609
|
+
</table></div>
|
610
|
+
<p class="since">Since 2.22</p>
|
611
|
+
</div>
|
612
|
+
<hr>
|
613
|
+
<div class="refsect2">
|
614
|
+
<a name="g-socket-bind"></a><h3>g_socket_bind ()</h3>
|
615
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_socket_bind (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
616
|
+
<em class="parameter"><code><a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> *address</code></em>,
|
617
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> allow_reuse</code></em>,
|
618
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
619
|
+
<p>
|
620
|
+
When a socket is created it is attached to an address family, but it
|
621
|
+
doesn't have an address in this family. <a class="link" href="GSocket.html#g-socket-bind" title="g_socket_bind ()"><code class="function">g_socket_bind()</code></a> assigns the
|
622
|
+
address (sometimes called name) of the socket.
|
623
|
+
</p>
|
624
|
+
<p>
|
625
|
+
It is generally required to bind to a local address before you can
|
626
|
+
receive connections. (See <a class="link" href="GSocket.html#g-socket-listen" title="g_socket_listen ()"><code class="function">g_socket_listen()</code></a> and <a class="link" href="GSocket.html#g-socket-accept" title="g_socket_accept ()"><code class="function">g_socket_accept()</code></a> ).
|
627
|
+
In certain situations, you may also want to bind a socket that will be
|
628
|
+
used to initiate connections, though this is not normally required.
|
629
|
+
</p>
|
630
|
+
<p>
|
631
|
+
<em class="parameter"><code>allow_reuse</code></em> should be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for server sockets (sockets that you will
|
632
|
+
eventually call <a class="link" href="GSocket.html#g-socket-accept" title="g_socket_accept ()"><code class="function">g_socket_accept()</code></a> on), and <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> for client sockets.
|
633
|
+
(Specifically, if it is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, then <a class="link" href="GSocket.html#g-socket-bind" title="g_socket_bind ()"><code class="function">g_socket_bind()</code></a> will set the
|
634
|
+
<code class="literal">SO_REUSEADDR</code> flag on the socket, allowing it to bind <em class="parameter"><code>address</code></em> even if
|
635
|
+
that address was previously used by another socket that has not yet been
|
636
|
+
fully cleaned-up by the kernel. Failing to set this flag on a server
|
637
|
+
socket may cause the bind call to return <a class="link" href="gio-GIOError.html#G-IO-ERROR-ADDRESS-IN-USE:CAPS"><code class="literal">G_IO_ERROR_ADDRESS_IN_USE</code></a> if
|
638
|
+
the server program is stopped and then immediately restarted.)
|
639
|
+
</p>
|
640
|
+
<div class="variablelist"><table border="0">
|
641
|
+
<col align="left" valign="top">
|
642
|
+
<tbody>
|
643
|
+
<tr>
|
644
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
645
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
646
|
+
</td>
|
647
|
+
</tr>
|
648
|
+
<tr>
|
649
|
+
<td><p><span class="term"><em class="parameter"><code>address</code></em> :</span></p></td>
|
650
|
+
<td>a <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> specifying the local address.
|
651
|
+
</td>
|
652
|
+
</tr>
|
653
|
+
<tr>
|
654
|
+
<td><p><span class="term"><em class="parameter"><code>allow_reuse</code></em> :</span></p></td>
|
655
|
+
<td>whether to allow reusing this address
|
656
|
+
</td>
|
657
|
+
</tr>
|
658
|
+
<tr>
|
659
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
660
|
+
<td>
|
661
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
662
|
+
</td>
|
663
|
+
</tr>
|
664
|
+
<tr>
|
665
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
666
|
+
<td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on error.
|
667
|
+
|
668
|
+
</td>
|
669
|
+
</tr>
|
670
|
+
</tbody>
|
671
|
+
</table></div>
|
672
|
+
<p class="since">Since 2.22</p>
|
673
|
+
</div>
|
674
|
+
<hr>
|
675
|
+
<div class="refsect2">
|
676
|
+
<a name="g-socket-listen"></a><h3>g_socket_listen ()</h3>
|
677
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_socket_listen (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
678
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
679
|
+
<p>
|
680
|
+
Marks the socket as a server socket, i.e. a socket that is used
|
681
|
+
to accept incoming requests using <a class="link" href="GSocket.html#g-socket-accept" title="g_socket_accept ()"><code class="function">g_socket_accept()</code></a>.
|
682
|
+
</p>
|
683
|
+
<p>
|
684
|
+
Before calling this the socket must be bound to a local address using
|
685
|
+
<a class="link" href="GSocket.html#g-socket-bind" title="g_socket_bind ()"><code class="function">g_socket_bind()</code></a>.
|
686
|
+
</p>
|
687
|
+
<p>
|
688
|
+
To set the maximum amount of outstanding clients, use
|
689
|
+
<a class="link" href="GSocket.html#g-socket-set-listen-backlog" title="g_socket_set_listen_backlog ()"><code class="function">g_socket_set_listen_backlog()</code></a>.
|
690
|
+
</p>
|
691
|
+
<div class="variablelist"><table border="0">
|
692
|
+
<col align="left" valign="top">
|
693
|
+
<tbody>
|
694
|
+
<tr>
|
695
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
696
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
697
|
+
</td>
|
698
|
+
</tr>
|
699
|
+
<tr>
|
700
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
701
|
+
<td>
|
702
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
703
|
+
</td>
|
704
|
+
</tr>
|
705
|
+
<tr>
|
706
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
707
|
+
<td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on error.
|
708
|
+
|
709
|
+
</td>
|
710
|
+
</tr>
|
711
|
+
</tbody>
|
712
|
+
</table></div>
|
713
|
+
<p class="since">Since 2.22</p>
|
714
|
+
</div>
|
715
|
+
<hr>
|
716
|
+
<div class="refsect2">
|
717
|
+
<a name="g-socket-accept"></a><h3>g_socket_accept ()</h3>
|
718
|
+
<pre class="programlisting"><a class="link" href="GSocket.html" title="GSocket"><span class="returnvalue">GSocket</span></a> * g_socket_accept (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
719
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
720
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
721
|
+
<p>
|
722
|
+
Accept incoming connections on a connection-based socket. This removes
|
723
|
+
the first outstanding connection request from the listening socket and
|
724
|
+
creates a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> object for it.
|
725
|
+
</p>
|
726
|
+
<p>
|
727
|
+
The <em class="parameter"><code>socket</code></em> must be bound to a local address with <a class="link" href="GSocket.html#g-socket-bind" title="g_socket_bind ()"><code class="function">g_socket_bind()</code></a> and
|
728
|
+
must be listening for incoming connections (<a class="link" href="GSocket.html#g-socket-listen" title="g_socket_listen ()"><code class="function">g_socket_listen()</code></a>).
|
729
|
+
</p>
|
730
|
+
<p>
|
731
|
+
If there are no outstanding connections then the operation will block
|
732
|
+
or return <a class="link" href="gio-GIOError.html#G-IO-ERROR-WOULD-BLOCK:CAPS"><code class="literal">G_IO_ERROR_WOULD_BLOCK</code></a> if non-blocking I/O is enabled.
|
733
|
+
To be notified of an incoming connection, wait for the <a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#G-IO-IN:CAPS"><code class="literal">G_IO_IN</code></a> condition.
|
734
|
+
</p>
|
735
|
+
<div class="variablelist"><table border="0">
|
736
|
+
<col align="left" valign="top">
|
737
|
+
<tbody>
|
738
|
+
<tr>
|
739
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
740
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
741
|
+
</td>
|
742
|
+
</tr>
|
743
|
+
<tr>
|
744
|
+
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
|
745
|
+
<td>a <a class="link" href="GCancellable.html" title="GCancellable"><code class="literal">GCancellable</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
746
|
+
</td>
|
747
|
+
</tr>
|
748
|
+
<tr>
|
749
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
750
|
+
<td>
|
751
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
752
|
+
</td>
|
753
|
+
</tr>
|
754
|
+
<tr>
|
755
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
756
|
+
<td> a new <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error.
|
757
|
+
Free the returned object with <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>.
|
758
|
+
|
759
|
+
</td>
|
760
|
+
</tr>
|
761
|
+
</tbody>
|
762
|
+
</table></div>
|
763
|
+
<p class="since">Since 2.22</p>
|
764
|
+
</div>
|
765
|
+
<hr>
|
766
|
+
<div class="refsect2">
|
767
|
+
<a name="g-socket-connect"></a><h3>g_socket_connect ()</h3>
|
768
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_socket_connect (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
769
|
+
<em class="parameter"><code><a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> *address</code></em>,
|
770
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
771
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
772
|
+
<p>
|
773
|
+
Connect the socket to the specified remote address.
|
774
|
+
</p>
|
775
|
+
<p>
|
776
|
+
For connection oriented socket this generally means we attempt to make
|
777
|
+
a connection to the <em class="parameter"><code>address</code></em>. For a connection-less socket it sets
|
778
|
+
the default address for <a class="link" href="GSocket.html#g-socket-send" title="g_socket_send ()"><code class="function">g_socket_send()</code></a> and discards all incoming datagrams
|
779
|
+
from other sources.
|
780
|
+
</p>
|
781
|
+
<p>
|
782
|
+
Generally connection oriented sockets can only connect once, but
|
783
|
+
connection-less sockets can connect multiple times to change the
|
784
|
+
default address.
|
785
|
+
</p>
|
786
|
+
<p>
|
787
|
+
If the connect call needs to do network I/O it will block, unless
|
788
|
+
non-blocking I/O is enabled. Then <a class="link" href="gio-GIOError.html#G-IO-ERROR-PENDING:CAPS"><code class="literal">G_IO_ERROR_PENDING</code></a> is returned
|
789
|
+
and the user can be notified of the connection finishing by waiting
|
790
|
+
for the G_IO_OUT condition. The result of the connection can then be
|
791
|
+
checked with <a class="link" href="GSocket.html#g-socket-check-connect-result" title="g_socket_check_connect_result ()"><code class="function">g_socket_check_connect_result()</code></a>.
|
792
|
+
</p>
|
793
|
+
<div class="variablelist"><table border="0">
|
794
|
+
<col align="left" valign="top">
|
795
|
+
<tbody>
|
796
|
+
<tr>
|
797
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
798
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
799
|
+
</td>
|
800
|
+
</tr>
|
801
|
+
<tr>
|
802
|
+
<td><p><span class="term"><em class="parameter"><code>address</code></em> :</span></p></td>
|
803
|
+
<td>a <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> specifying the remote address.
|
804
|
+
</td>
|
805
|
+
</tr>
|
806
|
+
<tr>
|
807
|
+
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
|
808
|
+
<td>a <a class="link" href="GCancellable.html" title="GCancellable"><code class="literal">GCancellable</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
809
|
+
</td>
|
810
|
+
</tr>
|
811
|
+
<tr>
|
812
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
813
|
+
<td>
|
814
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
815
|
+
</td>
|
816
|
+
</tr>
|
817
|
+
<tr>
|
818
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
819
|
+
<td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if connected, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on error.
|
820
|
+
|
821
|
+
</td>
|
822
|
+
</tr>
|
823
|
+
</tbody>
|
824
|
+
</table></div>
|
825
|
+
<p class="since">Since 2.22</p>
|
826
|
+
</div>
|
827
|
+
<hr>
|
828
|
+
<div class="refsect2">
|
829
|
+
<a name="g-socket-check-connect-result"></a><h3>g_socket_check_connect_result ()</h3>
|
830
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_socket_check_connect_result (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
831
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
832
|
+
<p>
|
833
|
+
Checks and resets the pending connect error for the socket.
|
834
|
+
This is used to check for errors when <a class="link" href="GSocket.html#g-socket-connect" title="g_socket_connect ()"><code class="function">g_socket_connect()</code></a> is
|
835
|
+
used in non-blocking mode.
|
836
|
+
</p>
|
837
|
+
<div class="variablelist"><table border="0">
|
838
|
+
<col align="left" valign="top">
|
839
|
+
<tbody>
|
840
|
+
<tr>
|
841
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
842
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
|
843
|
+
</td>
|
844
|
+
</tr>
|
845
|
+
<tr>
|
846
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
847
|
+
<td>
|
848
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
849
|
+
</td>
|
850
|
+
</tr>
|
851
|
+
<tr>
|
852
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
853
|
+
<td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if no error, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise, setting <em class="parameter"><code>error</code></em> to the error
|
854
|
+
|
855
|
+
</td>
|
856
|
+
</tr>
|
857
|
+
</tbody>
|
858
|
+
</table></div>
|
859
|
+
<p class="since">Since 2.22</p>
|
860
|
+
</div>
|
861
|
+
<hr>
|
862
|
+
<div class="refsect2">
|
863
|
+
<a name="g-socket-receive"></a><h3>g_socket_receive ()</h3>
|
864
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a> g_socket_receive (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
865
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *buffer</code></em>,
|
866
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
|
867
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
868
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
869
|
+
<p>
|
870
|
+
Receive data (up to <em class="parameter"><code>size</code></em> bytes) from a socket. This is mainly used by
|
871
|
+
connection-oriented sockets; it is identical to <a class="link" href="GSocket.html#g-socket-receive-from" title="g_socket_receive_from ()"><code class="function">g_socket_receive_from()</code></a>
|
872
|
+
with <em class="parameter"><code>address</code></em> set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
|
873
|
+
</p>
|
874
|
+
<p>
|
875
|
+
For <a class="link" href="GSocket.html#G-SOCKET-TYPE-DATAGRAM:CAPS"><code class="literal">G_SOCKET_TYPE_DATAGRAM</code></a> and <a class="link" href="GSocket.html#G-SOCKET-TYPE-SEQPACKET:CAPS"><code class="literal">G_SOCKET_TYPE_SEQPACKET</code></a> sockets,
|
876
|
+
<a class="link" href="GSocket.html#g-socket-receive" title="g_socket_receive ()"><code class="function">g_socket_receive()</code></a> will always read either 0 or 1 complete messages from
|
877
|
+
the socket. If the received message is too large to fit in <em class="parameter"><code>buffer</code></em>, then
|
878
|
+
the data beyond <em class="parameter"><code>size</code></em> bytes will be discarded, without any explicit
|
879
|
+
indication that this has occurred.
|
880
|
+
</p>
|
881
|
+
<p>
|
882
|
+
For <a class="link" href="GSocket.html#G-SOCKET-TYPE-STREAM:CAPS"><code class="literal">G_SOCKET_TYPE_STREAM</code></a> sockets, <a class="link" href="GSocket.html#g-socket-receive" title="g_socket_receive ()"><code class="function">g_socket_receive()</code></a> can return any
|
883
|
+
number of bytes, up to <em class="parameter"><code>size</code></em>. If more than <em class="parameter"><code>size</code></em> bytes have been
|
884
|
+
received, the additional data will be returned in future calls to
|
885
|
+
<a class="link" href="GSocket.html#g-socket-receive" title="g_socket_receive ()"><code class="function">g_socket_receive()</code></a>.
|
886
|
+
</p>
|
887
|
+
<p>
|
888
|
+
If the socket is in blocking mode the call will block until there is
|
889
|
+
some data to receive or there is an error. If there is no data available
|
890
|
+
and the socket is in non-blocking mode, a <a class="link" href="gio-GIOError.html#G-IO-ERROR-WOULD-BLOCK:CAPS"><code class="literal">G_IO_ERROR_WOULD_BLOCK</code></a> error
|
891
|
+
will be returned. To be notified when data is available, wait for the
|
892
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#G-IO-IN:CAPS"><code class="literal">G_IO_IN</code></a> condition.
|
893
|
+
</p>
|
894
|
+
<p>
|
895
|
+
On error -1 is returned and <em class="parameter"><code>error</code></em> is set accordingly.
|
896
|
+
</p>
|
897
|
+
<div class="variablelist"><table border="0">
|
898
|
+
<col align="left" valign="top">
|
899
|
+
<tbody>
|
900
|
+
<tr>
|
901
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
902
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
|
903
|
+
</td>
|
904
|
+
</tr>
|
905
|
+
<tr>
|
906
|
+
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
|
907
|
+
<td>a buffer to read data into (which should be at least <em class="parameter"><code>size</code></em>
|
908
|
+
bytes long).
|
909
|
+
</td>
|
910
|
+
</tr>
|
911
|
+
<tr>
|
912
|
+
<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
|
913
|
+
<td>the number of bytes you want to read from the socket
|
914
|
+
</td>
|
915
|
+
</tr>
|
916
|
+
<tr>
|
917
|
+
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
|
918
|
+
<td>a <a class="link" href="GCancellable.html" title="GCancellable"><code class="literal">GCancellable</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
919
|
+
</td>
|
920
|
+
</tr>
|
921
|
+
<tr>
|
922
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
923
|
+
<td>
|
924
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
925
|
+
</td>
|
926
|
+
</tr>
|
927
|
+
<tr>
|
928
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
929
|
+
<td> Number of bytes read, or -1 on error
|
930
|
+
|
931
|
+
</td>
|
932
|
+
</tr>
|
933
|
+
</tbody>
|
934
|
+
</table></div>
|
935
|
+
<p class="since">Since 2.22</p>
|
936
|
+
</div>
|
937
|
+
<hr>
|
938
|
+
<div class="refsect2">
|
939
|
+
<a name="g-socket-receive-from"></a><h3>g_socket_receive_from ()</h3>
|
940
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a> g_socket_receive_from (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
941
|
+
<em class="parameter"><code><a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> **address</code></em>,
|
942
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *buffer</code></em>,
|
943
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
|
944
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
945
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
946
|
+
<p>
|
947
|
+
Receive data (up to <em class="parameter"><code>size</code></em> bytes) from a socket.
|
948
|
+
</p>
|
949
|
+
<p>
|
950
|
+
If <em class="parameter"><code>address</code></em> is non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then <em class="parameter"><code>address</code></em> will be set equal to the
|
951
|
+
source address of the received packet.
|
952
|
+
<em class="parameter"><code>address</code></em> is owned by the caller.
|
953
|
+
</p>
|
954
|
+
<p>
|
955
|
+
See <a class="link" href="GSocket.html#g-socket-receive" title="g_socket_receive ()"><code class="function">g_socket_receive()</code></a> for additional information.
|
956
|
+
</p>
|
957
|
+
<div class="variablelist"><table border="0">
|
958
|
+
<col align="left" valign="top">
|
959
|
+
<tbody>
|
960
|
+
<tr>
|
961
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
962
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
|
963
|
+
</td>
|
964
|
+
</tr>
|
965
|
+
<tr>
|
966
|
+
<td><p><span class="term"><em class="parameter"><code>address</code></em> :</span></p></td>
|
967
|
+
<td>a pointer to a <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> pointer, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
968
|
+
</td>
|
969
|
+
</tr>
|
970
|
+
<tr>
|
971
|
+
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
|
972
|
+
<td>a buffer to read data into (which should be at least <em class="parameter"><code>size</code></em>
|
973
|
+
bytes long).
|
974
|
+
</td>
|
975
|
+
</tr>
|
976
|
+
<tr>
|
977
|
+
<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
|
978
|
+
<td>the number of bytes you want to read from the socket
|
979
|
+
</td>
|
980
|
+
</tr>
|
981
|
+
<tr>
|
982
|
+
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
|
983
|
+
<td>a <a class="link" href="GCancellable.html" title="GCancellable"><code class="literal">GCancellable</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
984
|
+
</td>
|
985
|
+
</tr>
|
986
|
+
<tr>
|
987
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
988
|
+
<td>
|
989
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
990
|
+
</td>
|
991
|
+
</tr>
|
992
|
+
<tr>
|
993
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
994
|
+
<td> Number of bytes read, or -1 on error
|
995
|
+
|
996
|
+
</td>
|
997
|
+
</tr>
|
998
|
+
</tbody>
|
999
|
+
</table></div>
|
1000
|
+
<p class="since">Since 2.22</p>
|
1001
|
+
</div>
|
1002
|
+
<hr>
|
1003
|
+
<div class="refsect2">
|
1004
|
+
<a name="g-socket-receive-message"></a><h3>g_socket_receive_message ()</h3>
|
1005
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a> g_socket_receive_message (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
1006
|
+
<em class="parameter"><code><a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> **address</code></em>,
|
1007
|
+
<em class="parameter"><code><a class="link" href="GSocket.html#GInputVector" title="GInputVector"><span class="type">GInputVector</span></a> *vectors</code></em>,
|
1008
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num_vectors</code></em>,
|
1009
|
+
<em class="parameter"><code><a class="link" href="GSocketControlMessage.html" title="GSocketControlMessage"><span class="type">GSocketControlMessage</span></a> ***messages</code></em>,
|
1010
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *num_messages</code></em>,
|
1011
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *flags</code></em>,
|
1012
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
1013
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
1014
|
+
<p>
|
1015
|
+
Receive data from a socket. This is the most complicated and
|
1016
|
+
fully-featured version of this call. For easier use, see
|
1017
|
+
<a class="link" href="GSocket.html#g-socket-receive" title="g_socket_receive ()"><code class="function">g_socket_receive()</code></a> and <a class="link" href="GSocket.html#g-socket-receive-from" title="g_socket_receive_from ()"><code class="function">g_socket_receive_from()</code></a>.
|
1018
|
+
</p>
|
1019
|
+
<p>
|
1020
|
+
If <em class="parameter"><code>address</code></em> is non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then <em class="parameter"><code>address</code></em> will be set equal to the
|
1021
|
+
source address of the received packet.
|
1022
|
+
<em class="parameter"><code>address</code></em> is owned by the caller.
|
1023
|
+
</p>
|
1024
|
+
<p>
|
1025
|
+
<em class="parameter"><code>vector</code></em> must point to an array of <a class="link" href="GSocket.html#GInputVector" title="GInputVector"><span class="type">GInputVector</span></a> structs and
|
1026
|
+
<em class="parameter"><code>num_vectors</code></em> must be the length of this array. These structs
|
1027
|
+
describe the buffers that received data will be scattered into.
|
1028
|
+
If <em class="parameter"><code>num_vectors</code></em> is -1, then <em class="parameter"><code>vectors</code></em> is assumed to be terminated
|
1029
|
+
by a <a class="link" href="GSocket.html#GInputVector" title="GInputVector"><span class="type">GInputVector</span></a> with a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> buffer pointer.
|
1030
|
+
</p>
|
1031
|
+
<p>
|
1032
|
+
As a special case, if <em class="parameter"><code>num_vectors</code></em> is 0 (in which case, <em class="parameter"><code>vectors</code></em>
|
1033
|
+
may of course be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>), then a single byte is received and
|
1034
|
+
discarded. This is to facilitate the common practice of sending a
|
1035
|
+
single '\0' byte for the purposes of transferring ancillary data.
|
1036
|
+
</p>
|
1037
|
+
<p>
|
1038
|
+
<em class="parameter"><code>messages</code></em>, if non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, will be set to point to a newly-allocated
|
1039
|
+
array of <a class="link" href="GSocketControlMessage.html" title="GSocketControlMessage"><span class="type">GSocketControlMessage</span></a> instances or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such
|
1040
|
+
messages was received. These correspond to the control messages
|
1041
|
+
received from the kernel, one <a class="link" href="GSocketControlMessage.html" title="GSocketControlMessage"><span class="type">GSocketControlMessage</span></a> per message
|
1042
|
+
from the kernel. This array is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated and must be freed
|
1043
|
+
by the caller using <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after calling <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> on each
|
1044
|
+
element. If <em class="parameter"><code>messages</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, any control messages received will
|
1045
|
+
be discarded.
|
1046
|
+
</p>
|
1047
|
+
<p>
|
1048
|
+
<em class="parameter"><code>num_messages</code></em>, if non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, will be set to the number of control
|
1049
|
+
messages received.
|
1050
|
+
</p>
|
1051
|
+
<p>
|
1052
|
+
If both <em class="parameter"><code>messages</code></em> and <em class="parameter"><code>num_messages</code></em> are non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, then
|
1053
|
+
<em class="parameter"><code>num_messages</code></em> gives the number of <a class="link" href="GSocketControlMessage.html" title="GSocketControlMessage"><span class="type">GSocketControlMessage</span></a> instances
|
1054
|
+
in <em class="parameter"><code>messages</code></em> (ie: not including the <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminator).
|
1055
|
+
</p>
|
1056
|
+
<p>
|
1057
|
+
<em class="parameter"><code>flags</code></em> is an in/out parameter. The commonly available arguments
|
1058
|
+
for this are available in the <a class="link" href="GSocket.html#GSocketMsgFlags" title="enum GSocketMsgFlags"><span class="type">GSocketMsgFlags</span></a> enum, but the
|
1059
|
+
values there are the same as the system values, and the flags
|
1060
|
+
are passed in as-is, so you can pass in system-specific flags too
|
1061
|
+
(and <a class="link" href="GSocket.html#g-socket-receive-message" title="g_socket_receive_message ()"><code class="function">g_socket_receive_message()</code></a> may pass system-specific flags out).
|
1062
|
+
</p>
|
1063
|
+
<p>
|
1064
|
+
As with <a class="link" href="GSocket.html#g-socket-receive" title="g_socket_receive ()"><code class="function">g_socket_receive()</code></a>, data may be discarded if <em class="parameter"><code>socket</code></em> is
|
1065
|
+
<a class="link" href="GSocket.html#G-SOCKET-TYPE-DATAGRAM:CAPS"><code class="literal">G_SOCKET_TYPE_DATAGRAM</code></a> or <a class="link" href="GSocket.html#G-SOCKET-TYPE-SEQPACKET:CAPS"><code class="literal">G_SOCKET_TYPE_SEQPACKET</code></a> and you do not
|
1066
|
+
provide enough buffer space to read a complete message. You can pass
|
1067
|
+
<a class="link" href="GSocket.html#G-SOCKET-MSG-PEEK:CAPS"><code class="literal">G_SOCKET_MSG_PEEK</code></a> in <em class="parameter"><code>flags</code></em> to peek at the current message without
|
1068
|
+
removing it from the receive queue, but there is no portable way to find
|
1069
|
+
out the length of the message other than by reading it into a
|
1070
|
+
sufficiently-large buffer.
|
1071
|
+
</p>
|
1072
|
+
<p>
|
1073
|
+
If the socket is in blocking mode the call will block until there
|
1074
|
+
is some data to receive or there is an error. If there is no data
|
1075
|
+
available and the socket is in non-blocking mode, a
|
1076
|
+
<a class="link" href="gio-GIOError.html#G-IO-ERROR-WOULD-BLOCK:CAPS"><code class="literal">G_IO_ERROR_WOULD_BLOCK</code></a> error will be returned. To be notified when
|
1077
|
+
data is available, wait for the <a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#G-IO-IN:CAPS"><code class="literal">G_IO_IN</code></a> condition.
|
1078
|
+
</p>
|
1079
|
+
<p>
|
1080
|
+
On error -1 is returned and <em class="parameter"><code>error</code></em> is set accordingly.
|
1081
|
+
</p>
|
1082
|
+
<div class="variablelist"><table border="0">
|
1083
|
+
<col align="left" valign="top">
|
1084
|
+
<tbody>
|
1085
|
+
<tr>
|
1086
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
1087
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
|
1088
|
+
</td>
|
1089
|
+
</tr>
|
1090
|
+
<tr>
|
1091
|
+
<td><p><span class="term"><em class="parameter"><code>address</code></em> :</span></p></td>
|
1092
|
+
<td>a pointer to a <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> pointer, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
1093
|
+
</td>
|
1094
|
+
</tr>
|
1095
|
+
<tr>
|
1096
|
+
<td><p><span class="term"><em class="parameter"><code>vectors</code></em> :</span></p></td>
|
1097
|
+
<td>an array of <a class="link" href="GSocket.html#GInputVector" title="GInputVector"><span class="type">GInputVector</span></a> structs
|
1098
|
+
</td>
|
1099
|
+
</tr>
|
1100
|
+
<tr>
|
1101
|
+
<td><p><span class="term"><em class="parameter"><code>num_vectors</code></em> :</span></p></td>
|
1102
|
+
<td>the number of elements in <em class="parameter"><code>vectors</code></em>, or -1
|
1103
|
+
</td>
|
1104
|
+
</tr>
|
1105
|
+
<tr>
|
1106
|
+
<td><p><span class="term"><em class="parameter"><code>messages</code></em> :</span></p></td>
|
1107
|
+
<td>a pointer which may be filled with an array of
|
1108
|
+
<a href="GSocketControlMessage.html"><span class="type">GSocketControlMessages</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
1109
|
+
</td>
|
1110
|
+
</tr>
|
1111
|
+
<tr>
|
1112
|
+
<td><p><span class="term"><em class="parameter"><code>num_messages</code></em> :</span></p></td>
|
1113
|
+
<td>a pointer which will be filled with the number of
|
1114
|
+
elements in <em class="parameter"><code>messages</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
1115
|
+
</td>
|
1116
|
+
</tr>
|
1117
|
+
<tr>
|
1118
|
+
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
|
1119
|
+
<td>a pointer to an int containing <a class="link" href="GSocket.html#GSocketMsgFlags" title="enum GSocketMsgFlags"><span class="type">GSocketMsgFlags</span></a> flags
|
1120
|
+
</td>
|
1121
|
+
</tr>
|
1122
|
+
<tr>
|
1123
|
+
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
|
1124
|
+
<td>a <a class="link" href="GCancellable.html" title="GCancellable"><code class="literal">GCancellable</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
1125
|
+
</td>
|
1126
|
+
</tr>
|
1127
|
+
<tr>
|
1128
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
1129
|
+
<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> pointer, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
1130
|
+
</td>
|
1131
|
+
</tr>
|
1132
|
+
<tr>
|
1133
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1134
|
+
<td> Number of bytes read, or -1 on error
|
1135
|
+
|
1136
|
+
</td>
|
1137
|
+
</tr>
|
1138
|
+
</tbody>
|
1139
|
+
</table></div>
|
1140
|
+
<p class="since">Since 2.22</p>
|
1141
|
+
</div>
|
1142
|
+
<hr>
|
1143
|
+
<div class="refsect2">
|
1144
|
+
<a name="g-socket-receive-with-blocking"></a><h3>g_socket_receive_with_blocking ()</h3>
|
1145
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a> g_socket_receive_with_blocking (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
1146
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *buffer</code></em>,
|
1147
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
|
1148
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> blocking</code></em>,
|
1149
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
1150
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
1151
|
+
<p>
|
1152
|
+
This behaves exactly the same as <a class="link" href="GSocket.html#g-socket-receive" title="g_socket_receive ()"><code class="function">g_socket_receive()</code></a>, except that
|
1153
|
+
the choice of blocking or non-blocking behavior is determined by
|
1154
|
+
the <em class="parameter"><code>blocking</code></em> argument rather than by <em class="parameter"><code>socket</code></em>'s properties.
|
1155
|
+
</p>
|
1156
|
+
<div class="variablelist"><table border="0">
|
1157
|
+
<col align="left" valign="top">
|
1158
|
+
<tbody>
|
1159
|
+
<tr>
|
1160
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
1161
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
|
1162
|
+
</td>
|
1163
|
+
</tr>
|
1164
|
+
<tr>
|
1165
|
+
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
|
1166
|
+
<td>a buffer to read data into (which should be at least <em class="parameter"><code>size</code></em>
|
1167
|
+
bytes long).
|
1168
|
+
</td>
|
1169
|
+
</tr>
|
1170
|
+
<tr>
|
1171
|
+
<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
|
1172
|
+
<td>the number of bytes you want to read from the socket
|
1173
|
+
</td>
|
1174
|
+
</tr>
|
1175
|
+
<tr>
|
1176
|
+
<td><p><span class="term"><em class="parameter"><code>blocking</code></em> :</span></p></td>
|
1177
|
+
<td>whether to do blocking or non-blocking I/O
|
1178
|
+
</td>
|
1179
|
+
</tr>
|
1180
|
+
<tr>
|
1181
|
+
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
|
1182
|
+
<td>a <a class="link" href="GCancellable.html" title="GCancellable"><code class="literal">GCancellable</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
1183
|
+
</td>
|
1184
|
+
</tr>
|
1185
|
+
<tr>
|
1186
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
1187
|
+
<td>
|
1188
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
1189
|
+
</td>
|
1190
|
+
</tr>
|
1191
|
+
<tr>
|
1192
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1193
|
+
<td> Number of bytes read, or -1 on error
|
1194
|
+
|
1195
|
+
</td>
|
1196
|
+
</tr>
|
1197
|
+
</tbody>
|
1198
|
+
</table></div>
|
1199
|
+
<p class="since">Since 2.26</p>
|
1200
|
+
</div>
|
1201
|
+
<hr>
|
1202
|
+
<div class="refsect2">
|
1203
|
+
<a name="g-socket-send"></a><h3>g_socket_send ()</h3>
|
1204
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a> g_socket_send (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
1205
|
+
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *buffer</code></em>,
|
1206
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
|
1207
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
1208
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
1209
|
+
<p>
|
1210
|
+
Tries to send <em class="parameter"><code>size</code></em> bytes from <em class="parameter"><code>buffer</code></em> on the socket. This is
|
1211
|
+
mainly used by connection-oriented sockets; it is identical to
|
1212
|
+
<a class="link" href="GSocket.html#g-socket-send-to" title="g_socket_send_to ()"><code class="function">g_socket_send_to()</code></a> with <em class="parameter"><code>address</code></em> set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
|
1213
|
+
</p>
|
1214
|
+
<p>
|
1215
|
+
If the socket is in blocking mode the call will block until there is
|
1216
|
+
space for the data in the socket queue. If there is no space available
|
1217
|
+
and the socket is in non-blocking mode a <a class="link" href="gio-GIOError.html#G-IO-ERROR-WOULD-BLOCK:CAPS"><code class="literal">G_IO_ERROR_WOULD_BLOCK</code></a> error
|
1218
|
+
will be returned. To be notified when space is available, wait for the
|
1219
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#G-IO-OUT:CAPS"><code class="literal">G_IO_OUT</code></a> condition. Note though that you may still receive
|
1220
|
+
<a class="link" href="gio-GIOError.html#G-IO-ERROR-WOULD-BLOCK:CAPS"><code class="literal">G_IO_ERROR_WOULD_BLOCK</code></a> from <a class="link" href="GSocket.html#g-socket-send" title="g_socket_send ()"><code class="function">g_socket_send()</code></a> even if you were previously
|
1221
|
+
notified of a <a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#G-IO-OUT:CAPS"><code class="literal">G_IO_OUT</code></a> condition. (On Windows in particular, this is
|
1222
|
+
very common due to the way the underlying APIs work.)
|
1223
|
+
</p>
|
1224
|
+
<p>
|
1225
|
+
On error -1 is returned and <em class="parameter"><code>error</code></em> is set accordingly.
|
1226
|
+
</p>
|
1227
|
+
<div class="variablelist"><table border="0">
|
1228
|
+
<col align="left" valign="top">
|
1229
|
+
<tbody>
|
1230
|
+
<tr>
|
1231
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
1232
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
|
1233
|
+
</td>
|
1234
|
+
</tr>
|
1235
|
+
<tr>
|
1236
|
+
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
|
1237
|
+
<td>the buffer containing the data to send.
|
1238
|
+
</td>
|
1239
|
+
</tr>
|
1240
|
+
<tr>
|
1241
|
+
<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
|
1242
|
+
<td>the number of bytes to send
|
1243
|
+
</td>
|
1244
|
+
</tr>
|
1245
|
+
<tr>
|
1246
|
+
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
|
1247
|
+
<td>a <a class="link" href="GCancellable.html" title="GCancellable"><code class="literal">GCancellable</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
1248
|
+
</td>
|
1249
|
+
</tr>
|
1250
|
+
<tr>
|
1251
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
1252
|
+
<td>
|
1253
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
1254
|
+
</td>
|
1255
|
+
</tr>
|
1256
|
+
<tr>
|
1257
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1258
|
+
<td> Number of bytes written (which may be less than <em class="parameter"><code>size</code></em>), or -1
|
1259
|
+
on error
|
1260
|
+
|
1261
|
+
</td>
|
1262
|
+
</tr>
|
1263
|
+
</tbody>
|
1264
|
+
</table></div>
|
1265
|
+
<p class="since">Since 2.22</p>
|
1266
|
+
</div>
|
1267
|
+
<hr>
|
1268
|
+
<div class="refsect2">
|
1269
|
+
<a name="g-socket-send-to"></a><h3>g_socket_send_to ()</h3>
|
1270
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a> g_socket_send_to (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
1271
|
+
<em class="parameter"><code><a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> *address</code></em>,
|
1272
|
+
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *buffer</code></em>,
|
1273
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
|
1274
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
1275
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
1276
|
+
<p>
|
1277
|
+
Tries to send <em class="parameter"><code>size</code></em> bytes from <em class="parameter"><code>buffer</code></em> to <em class="parameter"><code>address</code></em>. If <em class="parameter"><code>address</code></em> is
|
1278
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then the message is sent to the default receiver (set by
|
1279
|
+
<a class="link" href="GSocket.html#g-socket-connect" title="g_socket_connect ()"><code class="function">g_socket_connect()</code></a>).
|
1280
|
+
</p>
|
1281
|
+
<p>
|
1282
|
+
See <a class="link" href="GSocket.html#g-socket-send" title="g_socket_send ()"><code class="function">g_socket_send()</code></a> for additional information.
|
1283
|
+
</p>
|
1284
|
+
<div class="variablelist"><table border="0">
|
1285
|
+
<col align="left" valign="top">
|
1286
|
+
<tbody>
|
1287
|
+
<tr>
|
1288
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
1289
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
|
1290
|
+
</td>
|
1291
|
+
</tr>
|
1292
|
+
<tr>
|
1293
|
+
<td><p><span class="term"><em class="parameter"><code>address</code></em> :</span></p></td>
|
1294
|
+
<td>a <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
1295
|
+
</td>
|
1296
|
+
</tr>
|
1297
|
+
<tr>
|
1298
|
+
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
|
1299
|
+
<td>the buffer containing the data to send.
|
1300
|
+
</td>
|
1301
|
+
</tr>
|
1302
|
+
<tr>
|
1303
|
+
<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
|
1304
|
+
<td>the number of bytes to send
|
1305
|
+
</td>
|
1306
|
+
</tr>
|
1307
|
+
<tr>
|
1308
|
+
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
|
1309
|
+
<td>a <a class="link" href="GCancellable.html" title="GCancellable"><code class="literal">GCancellable</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
1310
|
+
</td>
|
1311
|
+
</tr>
|
1312
|
+
<tr>
|
1313
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
1314
|
+
<td>
|
1315
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
1316
|
+
</td>
|
1317
|
+
</tr>
|
1318
|
+
<tr>
|
1319
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1320
|
+
<td> Number of bytes written (which may be less than <em class="parameter"><code>size</code></em>), or -1
|
1321
|
+
on error
|
1322
|
+
|
1323
|
+
</td>
|
1324
|
+
</tr>
|
1325
|
+
</tbody>
|
1326
|
+
</table></div>
|
1327
|
+
<p class="since">Since 2.22</p>
|
1328
|
+
</div>
|
1329
|
+
<hr>
|
1330
|
+
<div class="refsect2">
|
1331
|
+
<a name="g-socket-send-message"></a><h3>g_socket_send_message ()</h3>
|
1332
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a> g_socket_send_message (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
1333
|
+
<em class="parameter"><code><a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> *address</code></em>,
|
1334
|
+
<em class="parameter"><code><a class="link" href="GSocket.html#GOutputVector" title="GOutputVector"><span class="type">GOutputVector</span></a> *vectors</code></em>,
|
1335
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num_vectors</code></em>,
|
1336
|
+
<em class="parameter"><code><a class="link" href="GSocketControlMessage.html" title="GSocketControlMessage"><span class="type">GSocketControlMessage</span></a> **messages</code></em>,
|
1337
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num_messages</code></em>,
|
1338
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> flags</code></em>,
|
1339
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
1340
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
1341
|
+
<p>
|
1342
|
+
Send data to <em class="parameter"><code>address</code></em> on <em class="parameter"><code>socket</code></em>. This is the most complicated and
|
1343
|
+
fully-featured version of this call. For easier use, see
|
1344
|
+
<a class="link" href="GSocket.html#g-socket-send" title="g_socket_send ()"><code class="function">g_socket_send()</code></a> and <a class="link" href="GSocket.html#g-socket-send-to" title="g_socket_send_to ()"><code class="function">g_socket_send_to()</code></a>.
|
1345
|
+
</p>
|
1346
|
+
<p>
|
1347
|
+
If <em class="parameter"><code>address</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then the message is sent to the default receiver
|
1348
|
+
(set by <a class="link" href="GSocket.html#g-socket-connect" title="g_socket_connect ()"><code class="function">g_socket_connect()</code></a>).
|
1349
|
+
</p>
|
1350
|
+
<p>
|
1351
|
+
<em class="parameter"><code>vectors</code></em> must point to an array of <a class="link" href="GSocket.html#GOutputVector" title="GOutputVector"><span class="type">GOutputVector</span></a> structs and
|
1352
|
+
<em class="parameter"><code>num_vectors</code></em> must be the length of this array. (If <em class="parameter"><code>num_vectors</code></em> is -1,
|
1353
|
+
then <em class="parameter"><code>vectors</code></em> is assumed to be terminated by a <a class="link" href="GSocket.html#GOutputVector" title="GOutputVector"><span class="type">GOutputVector</span></a> with a
|
1354
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> buffer pointer.) The <a class="link" href="GSocket.html#GOutputVector" title="GOutputVector"><span class="type">GOutputVector</span></a> structs describe the buffers
|
1355
|
+
that the sent data will be gathered from. Using multiple
|
1356
|
+
<a class="link" href="GSocket.html#GOutputVector" title="GOutputVector"><span class="type">GOutputVector</span></a>s is more memory-efficient than manually copying
|
1357
|
+
data from multiple sources into a single buffer, and more
|
1358
|
+
network-efficient than making multiple calls to <a class="link" href="GSocket.html#g-socket-send" title="g_socket_send ()"><code class="function">g_socket_send()</code></a>.
|
1359
|
+
</p>
|
1360
|
+
<p>
|
1361
|
+
<em class="parameter"><code>messages</code></em>, if non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, is taken to point to an array of <em class="parameter"><code>num_messages</code></em>
|
1362
|
+
<a class="link" href="GSocketControlMessage.html" title="GSocketControlMessage"><span class="type">GSocketControlMessage</span></a> instances. These correspond to the control
|
1363
|
+
messages to be sent on the socket.
|
1364
|
+
If <em class="parameter"><code>num_messages</code></em> is -1 then <em class="parameter"><code>messages</code></em> is treated as a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated
|
1365
|
+
array.
|
1366
|
+
</p>
|
1367
|
+
<p>
|
1368
|
+
<em class="parameter"><code>flags</code></em> modify how the message is sent. The commonly available arguments
|
1369
|
+
for this are available in the <a class="link" href="GSocket.html#GSocketMsgFlags" title="enum GSocketMsgFlags"><span class="type">GSocketMsgFlags</span></a> enum, but the
|
1370
|
+
values there are the same as the system values, and the flags
|
1371
|
+
are passed in as-is, so you can pass in system-specific flags too.
|
1372
|
+
</p>
|
1373
|
+
<p>
|
1374
|
+
If the socket is in blocking mode the call will block until there is
|
1375
|
+
space for the data in the socket queue. If there is no space available
|
1376
|
+
and the socket is in non-blocking mode a <a class="link" href="gio-GIOError.html#G-IO-ERROR-WOULD-BLOCK:CAPS"><code class="literal">G_IO_ERROR_WOULD_BLOCK</code></a> error
|
1377
|
+
will be returned. To be notified when space is available, wait for the
|
1378
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#G-IO-OUT:CAPS"><code class="literal">G_IO_OUT</code></a> condition. Note though that you may still receive
|
1379
|
+
<a class="link" href="gio-GIOError.html#G-IO-ERROR-WOULD-BLOCK:CAPS"><code class="literal">G_IO_ERROR_WOULD_BLOCK</code></a> from <a class="link" href="GSocket.html#g-socket-send" title="g_socket_send ()"><code class="function">g_socket_send()</code></a> even if you were previously
|
1380
|
+
notified of a <a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#G-IO-OUT:CAPS"><code class="literal">G_IO_OUT</code></a> condition. (On Windows in particular, this is
|
1381
|
+
very common due to the way the underlying APIs work.)
|
1382
|
+
</p>
|
1383
|
+
<p>
|
1384
|
+
On error -1 is returned and <em class="parameter"><code>error</code></em> is set accordingly.
|
1385
|
+
</p>
|
1386
|
+
<div class="variablelist"><table border="0">
|
1387
|
+
<col align="left" valign="top">
|
1388
|
+
<tbody>
|
1389
|
+
<tr>
|
1390
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
1391
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
|
1392
|
+
</td>
|
1393
|
+
</tr>
|
1394
|
+
<tr>
|
1395
|
+
<td><p><span class="term"><em class="parameter"><code>address</code></em> :</span></p></td>
|
1396
|
+
<td>a <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
1397
|
+
</td>
|
1398
|
+
</tr>
|
1399
|
+
<tr>
|
1400
|
+
<td><p><span class="term"><em class="parameter"><code>vectors</code></em> :</span></p></td>
|
1401
|
+
<td>an array of <a class="link" href="GSocket.html#GOutputVector" title="GOutputVector"><span class="type">GOutputVector</span></a> structs
|
1402
|
+
</td>
|
1403
|
+
</tr>
|
1404
|
+
<tr>
|
1405
|
+
<td><p><span class="term"><em class="parameter"><code>num_vectors</code></em> :</span></p></td>
|
1406
|
+
<td>the number of elements in <em class="parameter"><code>vectors</code></em>, or -1
|
1407
|
+
</td>
|
1408
|
+
</tr>
|
1409
|
+
<tr>
|
1410
|
+
<td><p><span class="term"><em class="parameter"><code>messages</code></em> :</span></p></td>
|
1411
|
+
<td>a pointer to an array of <a href="GSocketControlMessage.html"><span class="type">GSocketControlMessages</span></a>, or
|
1412
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
|
1413
|
+
</td>
|
1414
|
+
</tr>
|
1415
|
+
<tr>
|
1416
|
+
<td><p><span class="term"><em class="parameter"><code>num_messages</code></em> :</span></p></td>
|
1417
|
+
<td>number of elements in <em class="parameter"><code>messages</code></em>, or -1.
|
1418
|
+
</td>
|
1419
|
+
</tr>
|
1420
|
+
<tr>
|
1421
|
+
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
|
1422
|
+
<td>an int containing <a class="link" href="GSocket.html#GSocketMsgFlags" title="enum GSocketMsgFlags"><span class="type">GSocketMsgFlags</span></a> flags
|
1423
|
+
</td>
|
1424
|
+
</tr>
|
1425
|
+
<tr>
|
1426
|
+
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
|
1427
|
+
<td>a <a class="link" href="GCancellable.html" title="GCancellable"><code class="literal">GCancellable</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
1428
|
+
</td>
|
1429
|
+
</tr>
|
1430
|
+
<tr>
|
1431
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
1432
|
+
<td>
|
1433
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
1434
|
+
</td>
|
1435
|
+
</tr>
|
1436
|
+
<tr>
|
1437
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1438
|
+
<td> Number of bytes written (which may be less than <em class="parameter"><code>size</code></em>), or -1
|
1439
|
+
on error
|
1440
|
+
|
1441
|
+
</td>
|
1442
|
+
</tr>
|
1443
|
+
</tbody>
|
1444
|
+
</table></div>
|
1445
|
+
<p class="since">Since 2.22</p>
|
1446
|
+
</div>
|
1447
|
+
<hr>
|
1448
|
+
<div class="refsect2">
|
1449
|
+
<a name="g-socket-send-with-blocking"></a><h3>g_socket_send_with_blocking ()</h3>
|
1450
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a> g_socket_send_with_blocking (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
1451
|
+
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *buffer</code></em>,
|
1452
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
|
1453
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> blocking</code></em>,
|
1454
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
1455
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
1456
|
+
<p>
|
1457
|
+
This behaves exactly the same as <a class="link" href="GSocket.html#g-socket-send" title="g_socket_send ()"><code class="function">g_socket_send()</code></a>, except that
|
1458
|
+
the choice of blocking or non-blocking behavior is determined by
|
1459
|
+
the <em class="parameter"><code>blocking</code></em> argument rather than by <em class="parameter"><code>socket</code></em>'s properties.
|
1460
|
+
</p>
|
1461
|
+
<div class="variablelist"><table border="0">
|
1462
|
+
<col align="left" valign="top">
|
1463
|
+
<tbody>
|
1464
|
+
<tr>
|
1465
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
1466
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
|
1467
|
+
</td>
|
1468
|
+
</tr>
|
1469
|
+
<tr>
|
1470
|
+
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
|
1471
|
+
<td>the buffer containing the data to send.
|
1472
|
+
</td>
|
1473
|
+
</tr>
|
1474
|
+
<tr>
|
1475
|
+
<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
|
1476
|
+
<td>the number of bytes to send
|
1477
|
+
</td>
|
1478
|
+
</tr>
|
1479
|
+
<tr>
|
1480
|
+
<td><p><span class="term"><em class="parameter"><code>blocking</code></em> :</span></p></td>
|
1481
|
+
<td>whether to do blocking or non-blocking I/O
|
1482
|
+
</td>
|
1483
|
+
</tr>
|
1484
|
+
<tr>
|
1485
|
+
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
|
1486
|
+
<td>a <a class="link" href="GCancellable.html" title="GCancellable"><code class="literal">GCancellable</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
1487
|
+
</td>
|
1488
|
+
</tr>
|
1489
|
+
<tr>
|
1490
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
1491
|
+
<td>
|
1492
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
1493
|
+
</td>
|
1494
|
+
</tr>
|
1495
|
+
<tr>
|
1496
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1497
|
+
<td> Number of bytes written (which may be less than <em class="parameter"><code>size</code></em>), or -1
|
1498
|
+
on error
|
1499
|
+
|
1500
|
+
</td>
|
1501
|
+
</tr>
|
1502
|
+
</tbody>
|
1503
|
+
</table></div>
|
1504
|
+
<p class="since">Since 2.26</p>
|
1505
|
+
</div>
|
1506
|
+
<hr>
|
1507
|
+
<div class="refsect2">
|
1508
|
+
<a name="g-socket-close"></a><h3>g_socket_close ()</h3>
|
1509
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_socket_close (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
1510
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
1511
|
+
<p>
|
1512
|
+
Closes the socket, shutting down any active connection.
|
1513
|
+
</p>
|
1514
|
+
<p>
|
1515
|
+
Closing a socket does not wait for all outstanding I/O operations
|
1516
|
+
to finish, so the caller should not rely on them to be guaranteed
|
1517
|
+
to complete even if the close returns with no error.
|
1518
|
+
</p>
|
1519
|
+
<p>
|
1520
|
+
Once the socket is closed, all other operations will return
|
1521
|
+
<a class="link" href="gio-GIOError.html#G-IO-ERROR-CLOSED:CAPS"><code class="literal">G_IO_ERROR_CLOSED</code></a>. Closing a socket multiple times will not
|
1522
|
+
return an error.
|
1523
|
+
</p>
|
1524
|
+
<p>
|
1525
|
+
Sockets will be automatically closed when the last reference
|
1526
|
+
is dropped, but you might want to call this function to make sure
|
1527
|
+
resources are released as early as possible.
|
1528
|
+
</p>
|
1529
|
+
<p>
|
1530
|
+
Beware that due to the way that TCP works, it is possible for
|
1531
|
+
recently-sent data to be lost if either you close a socket while the
|
1532
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#G-IO-IN:CAPS"><code class="literal">G_IO_IN</code></a> condition is set, or else if the remote connection tries to
|
1533
|
+
send something to you after you close the socket but before it has
|
1534
|
+
finished reading all of the data you sent. There is no easy generic
|
1535
|
+
way to avoid this problem; the easiest fix is to design the network
|
1536
|
+
protocol such that the client will never send data "out of turn".
|
1537
|
+
Another solution is for the server to half-close the connection by
|
1538
|
+
calling <a class="link" href="GSocket.html#g-socket-shutdown" title="g_socket_shutdown ()"><code class="function">g_socket_shutdown()</code></a> with only the <em class="parameter"><code>shutdown_write</code></em> flag set,
|
1539
|
+
and then wait for the client to notice this and close its side of the
|
1540
|
+
connection, after which the server can safely call <a class="link" href="GSocket.html#g-socket-close" title="g_socket_close ()"><code class="function">g_socket_close()</code></a>.
|
1541
|
+
(This is what <a class="link" href="GTcpConnection.html" title="GTcpConnection"><span class="type">GTcpConnection</span></a> does if you call
|
1542
|
+
<a class="link" href="GTcpConnection.html#g-tcp-connection-set-graceful-disconnect" title="g_tcp_connection_set_graceful_disconnect ()"><code class="function">g_tcp_connection_set_graceful_disconnect()</code></a>. But of course, this
|
1543
|
+
only works if the client will close its connection after the server
|
1544
|
+
does.)
|
1545
|
+
</p>
|
1546
|
+
<div class="variablelist"><table border="0">
|
1547
|
+
<col align="left" valign="top">
|
1548
|
+
<tbody>
|
1549
|
+
<tr>
|
1550
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
1551
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
|
1552
|
+
</td>
|
1553
|
+
</tr>
|
1554
|
+
<tr>
|
1555
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
1556
|
+
<td>
|
1557
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
1558
|
+
</td>
|
1559
|
+
</tr>
|
1560
|
+
<tr>
|
1561
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1562
|
+
<td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on error
|
1563
|
+
|
1564
|
+
</td>
|
1565
|
+
</tr>
|
1566
|
+
</tbody>
|
1567
|
+
</table></div>
|
1568
|
+
<p class="since">Since 2.22</p>
|
1569
|
+
</div>
|
1570
|
+
<hr>
|
1571
|
+
<div class="refsect2">
|
1572
|
+
<a name="g-socket-is-closed"></a><h3>g_socket_is_closed ()</h3>
|
1573
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_socket_is_closed (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);</pre>
|
1574
|
+
<p>
|
1575
|
+
Checks whether a socket is closed.
|
1576
|
+
</p>
|
1577
|
+
<div class="variablelist"><table border="0">
|
1578
|
+
<col align="left" valign="top">
|
1579
|
+
<tbody>
|
1580
|
+
<tr>
|
1581
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
1582
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
|
1583
|
+
</td>
|
1584
|
+
</tr>
|
1585
|
+
<tr>
|
1586
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1587
|
+
<td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if socket is closed, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise
|
1588
|
+
|
1589
|
+
</td>
|
1590
|
+
</tr>
|
1591
|
+
</tbody>
|
1592
|
+
</table></div>
|
1593
|
+
<p class="since">Since 2.22</p>
|
1594
|
+
</div>
|
1595
|
+
<hr>
|
1596
|
+
<div class="refsect2">
|
1597
|
+
<a name="g-socket-shutdown"></a><h3>g_socket_shutdown ()</h3>
|
1598
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_socket_shutdown (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
1599
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> shutdown_read</code></em>,
|
1600
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> shutdown_write</code></em>,
|
1601
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
1602
|
+
<p>
|
1603
|
+
Shut down part of a full-duplex connection.
|
1604
|
+
</p>
|
1605
|
+
<p>
|
1606
|
+
If <em class="parameter"><code>shutdown_read</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> then the recieving side of the connection
|
1607
|
+
is shut down, and further reading is disallowed.
|
1608
|
+
</p>
|
1609
|
+
<p>
|
1610
|
+
If <em class="parameter"><code>shutdown_write</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> then the sending side of the connection
|
1611
|
+
is shut down, and further writing is disallowed.
|
1612
|
+
</p>
|
1613
|
+
<p>
|
1614
|
+
It is allowed for both <em class="parameter"><code>shutdown_read</code></em> and <em class="parameter"><code>shutdown_write</code></em> to be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.
|
1615
|
+
</p>
|
1616
|
+
<p>
|
1617
|
+
One example where this is used is graceful disconnect for TCP connections
|
1618
|
+
where you close the sending side, then wait for the other side to close
|
1619
|
+
the connection, thus ensuring that the other side saw all sent data.
|
1620
|
+
</p>
|
1621
|
+
<div class="variablelist"><table border="0">
|
1622
|
+
<col align="left" valign="top">
|
1623
|
+
<tbody>
|
1624
|
+
<tr>
|
1625
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
1626
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
|
1627
|
+
</td>
|
1628
|
+
</tr>
|
1629
|
+
<tr>
|
1630
|
+
<td><p><span class="term"><em class="parameter"><code>shutdown_read</code></em> :</span></p></td>
|
1631
|
+
<td>whether to shut down the read side
|
1632
|
+
</td>
|
1633
|
+
</tr>
|
1634
|
+
<tr>
|
1635
|
+
<td><p><span class="term"><em class="parameter"><code>shutdown_write</code></em> :</span></p></td>
|
1636
|
+
<td>whether to shut down the write side
|
1637
|
+
</td>
|
1638
|
+
</tr>
|
1639
|
+
<tr>
|
1640
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
1641
|
+
<td>
|
1642
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
1643
|
+
</td>
|
1644
|
+
</tr>
|
1645
|
+
<tr>
|
1646
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1647
|
+
<td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on error
|
1648
|
+
|
1649
|
+
</td>
|
1650
|
+
</tr>
|
1651
|
+
</tbody>
|
1652
|
+
</table></div>
|
1653
|
+
<p class="since">Since 2.22</p>
|
1654
|
+
</div>
|
1655
|
+
<hr>
|
1656
|
+
<div class="refsect2">
|
1657
|
+
<a name="g-socket-is-connected"></a><h3>g_socket_is_connected ()</h3>
|
1658
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_socket_is_connected (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);</pre>
|
1659
|
+
<p>
|
1660
|
+
Check whether the socket is connected. This is only useful for
|
1661
|
+
connection-oriented sockets.
|
1662
|
+
</p>
|
1663
|
+
<div class="variablelist"><table border="0">
|
1664
|
+
<col align="left" valign="top">
|
1665
|
+
<tbody>
|
1666
|
+
<tr>
|
1667
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
1668
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
1669
|
+
</td>
|
1670
|
+
</tr>
|
1671
|
+
<tr>
|
1672
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1673
|
+
<td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if socket is connected, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
|
1674
|
+
|
1675
|
+
</td>
|
1676
|
+
</tr>
|
1677
|
+
</tbody>
|
1678
|
+
</table></div>
|
1679
|
+
<p class="since">Since 2.22</p>
|
1680
|
+
</div>
|
1681
|
+
<hr>
|
1682
|
+
<div class="refsect2">
|
1683
|
+
<a name="g-socket-create-source"></a><h3>g_socket_create_source ()</h3>
|
1684
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GSource"><span class="returnvalue">GSource</span></a> * g_socket_create_source (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
1685
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#GIOCondition"><span class="type">GIOCondition</span></a> condition</code></em>,
|
1686
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>);</pre>
|
1687
|
+
<p>
|
1688
|
+
Creates a <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GSource"><code class="literal">GSource</code></a> that can be attached to a <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><code class="literal">GMainContext</code></a> to monitor
|
1689
|
+
for the availibility of the specified <em class="parameter"><code>condition</code></em> on the socket.
|
1690
|
+
</p>
|
1691
|
+
<p>
|
1692
|
+
The callback on the source is of the <a class="link" href="GSocket.html#GSocketSourceFunc" title="GSocketSourceFunc ()"><span class="type">GSocketSourceFunc</span></a> type.
|
1693
|
+
</p>
|
1694
|
+
<p>
|
1695
|
+
It is meaningless to specify <a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#G-IO-ERR:CAPS"><code class="literal">G_IO_ERR</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#G-IO-HUP:CAPS"><code class="literal">G_IO_HUP</code></a> in <em class="parameter"><code>condition</code></em>;
|
1696
|
+
these conditions will always be reported output if they are true.
|
1697
|
+
</p>
|
1698
|
+
<p>
|
1699
|
+
<em class="parameter"><code>cancellable</code></em> if not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> can be used to cancel the source, which will
|
1700
|
+
cause the source to trigger, reporting the current condition (which
|
1701
|
+
is likely 0 unless cancellation happened at the same time as a
|
1702
|
+
condition change). You can check for this in the callback using
|
1703
|
+
<a class="link" href="GCancellable.html#g-cancellable-is-cancelled" title="g_cancellable_is_cancelled ()"><code class="function">g_cancellable_is_cancelled()</code></a>.
|
1704
|
+
</p>
|
1705
|
+
<p>
|
1706
|
+
If <em class="parameter"><code>socket</code></em> has a timeout set, and it is reached before <em class="parameter"><code>condition</code></em>
|
1707
|
+
occurs, the source will then trigger anyway, reporting <a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#G-IO-IN:CAPS"><code class="literal">G_IO_IN</code></a> or
|
1708
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#G-IO-OUT:CAPS"><code class="literal">G_IO_OUT</code></a> depending on <em class="parameter"><code>condition</code></em>. However, <em class="parameter"><code>socket</code></em> will have been
|
1709
|
+
marked as having had a timeout, and so the next <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> I/O method
|
1710
|
+
you call will then fail with a <a class="link" href="gio-GIOError.html#G-IO-ERROR-TIMED-OUT:CAPS"><code class="literal">G_IO_ERROR_TIMED_OUT</code></a>.
|
1711
|
+
</p>
|
1712
|
+
<div class="variablelist"><table border="0">
|
1713
|
+
<col align="left" valign="top">
|
1714
|
+
<tbody>
|
1715
|
+
<tr>
|
1716
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
1717
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
|
1718
|
+
</td>
|
1719
|
+
</tr>
|
1720
|
+
<tr>
|
1721
|
+
<td><p><span class="term"><em class="parameter"><code>condition</code></em> :</span></p></td>
|
1722
|
+
<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#GIOCondition"><span class="type">GIOCondition</span></a> mask to monitor
|
1723
|
+
</td>
|
1724
|
+
</tr>
|
1725
|
+
<tr>
|
1726
|
+
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
|
1727
|
+
<td>a <a class="link" href="GCancellable.html" title="GCancellable"><code class="literal">GCancellable</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
1728
|
+
</td>
|
1729
|
+
</tr>
|
1730
|
+
<tr>
|
1731
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1732
|
+
<td> a newly allocated <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GSource"><code class="literal">GSource</code></a>, free with <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-source-unref"><code class="function">g_source_unref()</code></a>.
|
1733
|
+
|
1734
|
+
</td>
|
1735
|
+
</tr>
|
1736
|
+
</tbody>
|
1737
|
+
</table></div>
|
1738
|
+
<p class="since">Since 2.22</p>
|
1739
|
+
</div>
|
1740
|
+
<hr>
|
1741
|
+
<div class="refsect2">
|
1742
|
+
<a name="g-socket-condition-check"></a><h3>g_socket_condition_check ()</h3>
|
1743
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#GIOCondition"><span class="returnvalue">GIOCondition</span></a> g_socket_condition_check (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
1744
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#GIOCondition"><span class="type">GIOCondition</span></a> condition</code></em>);</pre>
|
1745
|
+
<p>
|
1746
|
+
Checks on the readiness of <em class="parameter"><code>socket</code></em> to perform operations.
|
1747
|
+
The operations specified in <em class="parameter"><code>condition</code></em> are checked for and masked
|
1748
|
+
against the currently-satisfied conditions on <em class="parameter"><code>socket</code></em>. The result
|
1749
|
+
is returned.
|
1750
|
+
</p>
|
1751
|
+
<p>
|
1752
|
+
Note that on Windows, it is possible for an operation to return
|
1753
|
+
<a class="link" href="gio-GIOError.html#G-IO-ERROR-WOULD-BLOCK:CAPS"><code class="literal">G_IO_ERROR_WOULD_BLOCK</code></a> even immediately after
|
1754
|
+
<a class="link" href="GSocket.html#g-socket-condition-check" title="g_socket_condition_check ()"><code class="function">g_socket_condition_check()</code></a> has claimed that the socket is ready for
|
1755
|
+
writing. Rather than calling <a class="link" href="GSocket.html#g-socket-condition-check" title="g_socket_condition_check ()"><code class="function">g_socket_condition_check()</code></a> and then
|
1756
|
+
writing to the socket if it succeeds, it is generally better to
|
1757
|
+
simply try writing to the socket right away, and try again later if
|
1758
|
+
the initial attempt returns <a class="link" href="gio-GIOError.html#G-IO-ERROR-WOULD-BLOCK:CAPS"><code class="literal">G_IO_ERROR_WOULD_BLOCK</code></a>.
|
1759
|
+
</p>
|
1760
|
+
<p>
|
1761
|
+
It is meaningless to specify <a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#G-IO-ERR:CAPS"><code class="literal">G_IO_ERR</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#G-IO-HUP:CAPS"><code class="literal">G_IO_HUP</code></a> in condition;
|
1762
|
+
these conditions will always be set in the output if they are true.
|
1763
|
+
</p>
|
1764
|
+
<p>
|
1765
|
+
This call never blocks.
|
1766
|
+
</p>
|
1767
|
+
<div class="variablelist"><table border="0">
|
1768
|
+
<col align="left" valign="top">
|
1769
|
+
<tbody>
|
1770
|
+
<tr>
|
1771
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
1772
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
|
1773
|
+
</td>
|
1774
|
+
</tr>
|
1775
|
+
<tr>
|
1776
|
+
<td><p><span class="term"><em class="parameter"><code>condition</code></em> :</span></p></td>
|
1777
|
+
<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#GIOCondition"><span class="type">GIOCondition</span></a> mask to check
|
1778
|
+
</td>
|
1779
|
+
</tr>
|
1780
|
+
<tr>
|
1781
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1782
|
+
<td> the <em class="parameter"><code>GIOCondition</code></em> mask of the current state
|
1783
|
+
|
1784
|
+
</td>
|
1785
|
+
</tr>
|
1786
|
+
</tbody>
|
1787
|
+
</table></div>
|
1788
|
+
<p class="since">Since 2.22</p>
|
1789
|
+
</div>
|
1790
|
+
<hr>
|
1791
|
+
<div class="refsect2">
|
1792
|
+
<a name="g-socket-condition-wait"></a><h3>g_socket_condition_wait ()</h3>
|
1793
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_socket_condition_wait (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
1794
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#GIOCondition"><span class="type">GIOCondition</span></a> condition</code></em>,
|
1795
|
+
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
|
1796
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
1797
|
+
<p>
|
1798
|
+
Waits for <em class="parameter"><code>condition</code></em> to become true on <em class="parameter"><code>socket</code></em>. When the condition
|
1799
|
+
is met, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is returned.
|
1800
|
+
</p>
|
1801
|
+
<p>
|
1802
|
+
If <em class="parameter"><code>cancellable</code></em> is cancelled before the condition is met, or if the
|
1803
|
+
socket has a timeout set and it is reached before the condition is
|
1804
|
+
met, then <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> is returned and <em class="parameter"><code>error</code></em>, if non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, is set to
|
1805
|
+
the appropriate value (<a class="link" href="gio-GIOError.html#G-IO-ERROR-CANCELLED:CAPS"><code class="literal">G_IO_ERROR_CANCELLED</code></a> or
|
1806
|
+
<a class="link" href="gio-GIOError.html#G-IO-ERROR-TIMED-OUT:CAPS"><code class="literal">G_IO_ERROR_TIMED_OUT</code></a>).
|
1807
|
+
</p>
|
1808
|
+
<div class="variablelist"><table border="0">
|
1809
|
+
<col align="left" valign="top">
|
1810
|
+
<tbody>
|
1811
|
+
<tr>
|
1812
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
1813
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
|
1814
|
+
</td>
|
1815
|
+
</tr>
|
1816
|
+
<tr>
|
1817
|
+
<td><p><span class="term"><em class="parameter"><code>condition</code></em> :</span></p></td>
|
1818
|
+
<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-IO-Channels.html#GIOCondition"><span class="type">GIOCondition</span></a> mask to wait for
|
1819
|
+
</td>
|
1820
|
+
</tr>
|
1821
|
+
<tr>
|
1822
|
+
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
|
1823
|
+
<td>a <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
1824
|
+
</td>
|
1825
|
+
</tr>
|
1826
|
+
<tr>
|
1827
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
1828
|
+
<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> pointer, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
|
1829
|
+
</td>
|
1830
|
+
</tr>
|
1831
|
+
<tr>
|
1832
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1833
|
+
<td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the condition was met, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise
|
1834
|
+
|
1835
|
+
</td>
|
1836
|
+
</tr>
|
1837
|
+
</tbody>
|
1838
|
+
</table></div>
|
1839
|
+
<p class="since">Since 2.22</p>
|
1840
|
+
</div>
|
1841
|
+
<hr>
|
1842
|
+
<div class="refsect2">
|
1843
|
+
<a name="g-socket-set-listen-backlog"></a><h3>g_socket_set_listen_backlog ()</h3>
|
1844
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_socket_set_listen_backlog (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
1845
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> backlog</code></em>);</pre>
|
1846
|
+
<p>
|
1847
|
+
Sets the maximum number of outstanding connections allowed
|
1848
|
+
when listening on this socket. If more clients than this are
|
1849
|
+
connecting to the socket and the application is not handling them
|
1850
|
+
on time then the new connections will be refused.
|
1851
|
+
</p>
|
1852
|
+
<p>
|
1853
|
+
Note that this must be called before <a class="link" href="GSocket.html#g-socket-listen" title="g_socket_listen ()"><code class="function">g_socket_listen()</code></a> and has no
|
1854
|
+
effect if called after that.
|
1855
|
+
</p>
|
1856
|
+
<div class="variablelist"><table border="0">
|
1857
|
+
<col align="left" valign="top">
|
1858
|
+
<tbody>
|
1859
|
+
<tr>
|
1860
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
1861
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
1862
|
+
</td>
|
1863
|
+
</tr>
|
1864
|
+
<tr>
|
1865
|
+
<td><p><span class="term"><em class="parameter"><code>backlog</code></em> :</span></p></td>
|
1866
|
+
<td>the maximum number of pending connections.
|
1867
|
+
</td>
|
1868
|
+
</tr>
|
1869
|
+
</tbody>
|
1870
|
+
</table></div>
|
1871
|
+
<p class="since">Since 2.22</p>
|
1872
|
+
</div>
|
1873
|
+
<hr>
|
1874
|
+
<div class="refsect2">
|
1875
|
+
<a name="g-socket-get-listen-backlog"></a><h3>g_socket_get_listen_backlog ()</h3>
|
1876
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> g_socket_get_listen_backlog (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);</pre>
|
1877
|
+
<p>
|
1878
|
+
Gets the listen backlog setting of the socket. For details on this,
|
1879
|
+
see <a class="link" href="GSocket.html#g-socket-set-listen-backlog" title="g_socket_set_listen_backlog ()"><code class="function">g_socket_set_listen_backlog()</code></a>.
|
1880
|
+
</p>
|
1881
|
+
<div class="variablelist"><table border="0">
|
1882
|
+
<col align="left" valign="top">
|
1883
|
+
<tbody>
|
1884
|
+
<tr>
|
1885
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
1886
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
1887
|
+
</td>
|
1888
|
+
</tr>
|
1889
|
+
<tr>
|
1890
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1891
|
+
<td> the maximum number of pending connections.
|
1892
|
+
|
1893
|
+
</td>
|
1894
|
+
</tr>
|
1895
|
+
</tbody>
|
1896
|
+
</table></div>
|
1897
|
+
<p class="since">Since 2.22</p>
|
1898
|
+
</div>
|
1899
|
+
<hr>
|
1900
|
+
<div class="refsect2">
|
1901
|
+
<a name="g-socket-get-blocking"></a><h3>g_socket_get_blocking ()</h3>
|
1902
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_socket_get_blocking (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);</pre>
|
1903
|
+
<p>
|
1904
|
+
Gets the blocking mode of the socket. For details on blocking I/O,
|
1905
|
+
see <a class="link" href="GSocket.html#g-socket-set-blocking" title="g_socket_set_blocking ()"><code class="function">g_socket_set_blocking()</code></a>.
|
1906
|
+
</p>
|
1907
|
+
<div class="variablelist"><table border="0">
|
1908
|
+
<col align="left" valign="top">
|
1909
|
+
<tbody>
|
1910
|
+
<tr>
|
1911
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
1912
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
1913
|
+
</td>
|
1914
|
+
</tr>
|
1915
|
+
<tr>
|
1916
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1917
|
+
<td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if blocking I/O is used, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
|
1918
|
+
|
1919
|
+
</td>
|
1920
|
+
</tr>
|
1921
|
+
</tbody>
|
1922
|
+
</table></div>
|
1923
|
+
<p class="since">Since 2.22</p>
|
1924
|
+
</div>
|
1925
|
+
<hr>
|
1926
|
+
<div class="refsect2">
|
1927
|
+
<a name="g-socket-set-blocking"></a><h3>g_socket_set_blocking ()</h3>
|
1928
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_socket_set_blocking (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
1929
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> blocking</code></em>);</pre>
|
1930
|
+
<p>
|
1931
|
+
Sets the blocking mode of the socket. In blocking mode
|
1932
|
+
all operations block until they succeed or there is an error. In
|
1933
|
+
non-blocking mode all functions return results immediately or
|
1934
|
+
with a <a class="link" href="gio-GIOError.html#G-IO-ERROR-WOULD-BLOCK:CAPS"><code class="literal">G_IO_ERROR_WOULD_BLOCK</code></a> error.
|
1935
|
+
</p>
|
1936
|
+
<p>
|
1937
|
+
All sockets are created in blocking mode. However, note that the
|
1938
|
+
platform level socket is always non-blocking, and blocking mode
|
1939
|
+
is a GSocket level feature.
|
1940
|
+
</p>
|
1941
|
+
<div class="variablelist"><table border="0">
|
1942
|
+
<col align="left" valign="top">
|
1943
|
+
<tbody>
|
1944
|
+
<tr>
|
1945
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
1946
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
1947
|
+
</td>
|
1948
|
+
</tr>
|
1949
|
+
<tr>
|
1950
|
+
<td><p><span class="term"><em class="parameter"><code>blocking</code></em> :</span></p></td>
|
1951
|
+
<td>Whether to use blocking I/O or not.
|
1952
|
+
</td>
|
1953
|
+
</tr>
|
1954
|
+
</tbody>
|
1955
|
+
</table></div>
|
1956
|
+
<p class="since">Since 2.22</p>
|
1957
|
+
</div>
|
1958
|
+
<hr>
|
1959
|
+
<div class="refsect2">
|
1960
|
+
<a name="g-socket-get-keepalive"></a><h3>g_socket_get_keepalive ()</h3>
|
1961
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_socket_get_keepalive (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);</pre>
|
1962
|
+
<p>
|
1963
|
+
Gets the keepalive mode of the socket. For details on this,
|
1964
|
+
see <a class="link" href="GSocket.html#g-socket-set-keepalive" title="g_socket_set_keepalive ()"><code class="function">g_socket_set_keepalive()</code></a>.
|
1965
|
+
</p>
|
1966
|
+
<div class="variablelist"><table border="0">
|
1967
|
+
<col align="left" valign="top">
|
1968
|
+
<tbody>
|
1969
|
+
<tr>
|
1970
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
1971
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
1972
|
+
</td>
|
1973
|
+
</tr>
|
1974
|
+
<tr>
|
1975
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1976
|
+
<td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if keepalive is active, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
|
1977
|
+
|
1978
|
+
</td>
|
1979
|
+
</tr>
|
1980
|
+
</tbody>
|
1981
|
+
</table></div>
|
1982
|
+
<p class="since">Since 2.22</p>
|
1983
|
+
</div>
|
1984
|
+
<hr>
|
1985
|
+
<div class="refsect2">
|
1986
|
+
<a name="g-socket-set-keepalive"></a><h3>g_socket_set_keepalive ()</h3>
|
1987
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_socket_set_keepalive (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
1988
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> keepalive</code></em>);</pre>
|
1989
|
+
<p>
|
1990
|
+
Sets or unsets the <code class="literal">SO_KEEPALIVE</code> flag on the underlying socket. When
|
1991
|
+
this flag is set on a socket, the system will attempt to verify that the
|
1992
|
+
remote socket endpoint is still present if a sufficiently long period of
|
1993
|
+
time passes with no data being exchanged. If the system is unable to
|
1994
|
+
verify the presence of the remote endpoint, it will automatically close
|
1995
|
+
the connection.
|
1996
|
+
</p>
|
1997
|
+
<p>
|
1998
|
+
This option is only functional on certain kinds of sockets. (Notably,
|
1999
|
+
<a class="link" href="GSocket.html#G-SOCKET-PROTOCOL-TCP:CAPS"><code class="literal">G_SOCKET_PROTOCOL_TCP</code></a> sockets.)
|
2000
|
+
</p>
|
2001
|
+
<p>
|
2002
|
+
The exact time between pings is system- and protocol-dependent, but will
|
2003
|
+
normally be at least two hours. Most commonly, you would set this flag
|
2004
|
+
on a server socket if you want to allow clients to remain idle for long
|
2005
|
+
periods of time, but also want to ensure that connections are eventually
|
2006
|
+
garbage-collected if clients crash or become unreachable.
|
2007
|
+
</p>
|
2008
|
+
<div class="variablelist"><table border="0">
|
2009
|
+
<col align="left" valign="top">
|
2010
|
+
<tbody>
|
2011
|
+
<tr>
|
2012
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
2013
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
2014
|
+
</td>
|
2015
|
+
</tr>
|
2016
|
+
<tr>
|
2017
|
+
<td><p><span class="term"><em class="parameter"><code>keepalive</code></em> :</span></p></td>
|
2018
|
+
<td>Value for the keepalive flag
|
2019
|
+
</td>
|
2020
|
+
</tr>
|
2021
|
+
</tbody>
|
2022
|
+
</table></div>
|
2023
|
+
<p class="since">Since 2.22</p>
|
2024
|
+
</div>
|
2025
|
+
<hr>
|
2026
|
+
<div class="refsect2">
|
2027
|
+
<a name="g-socket-get-timeout"></a><h3>g_socket_get_timeout ()</h3>
|
2028
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> g_socket_get_timeout (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);</pre>
|
2029
|
+
<p>
|
2030
|
+
Gets the timeout setting of the socket. For details on this, see
|
2031
|
+
<a class="link" href="GSocket.html#g-socket-set-timeout" title="g_socket_set_timeout ()"><code class="function">g_socket_set_timeout()</code></a>.
|
2032
|
+
</p>
|
2033
|
+
<div class="variablelist"><table border="0">
|
2034
|
+
<col align="left" valign="top">
|
2035
|
+
<tbody>
|
2036
|
+
<tr>
|
2037
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
2038
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
2039
|
+
</td>
|
2040
|
+
</tr>
|
2041
|
+
<tr>
|
2042
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
2043
|
+
<td> the timeout in seconds
|
2044
|
+
|
2045
|
+
</td>
|
2046
|
+
</tr>
|
2047
|
+
</tbody>
|
2048
|
+
</table></div>
|
2049
|
+
<p class="since">Since 2.26</p>
|
2050
|
+
</div>
|
2051
|
+
<hr>
|
2052
|
+
<div class="refsect2">
|
2053
|
+
<a name="g-socket-set-timeout"></a><h3>g_socket_set_timeout ()</h3>
|
2054
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_socket_set_timeout (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
2055
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> timeout</code></em>);</pre>
|
2056
|
+
<p>
|
2057
|
+
Sets the time in seconds after which I/O operations on <em class="parameter"><code>socket</code></em> will
|
2058
|
+
time out if they have not yet completed.
|
2059
|
+
</p>
|
2060
|
+
<p>
|
2061
|
+
On a blocking socket, this means that any blocking <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
|
2062
|
+
operation will time out after <em class="parameter"><code>timeout</code></em> seconds of inactivity,
|
2063
|
+
returning <a class="link" href="gio-GIOError.html#G-IO-ERROR-TIMED-OUT:CAPS"><code class="literal">G_IO_ERROR_TIMED_OUT</code></a>.
|
2064
|
+
</p>
|
2065
|
+
<p>
|
2066
|
+
On a non-blocking socket, calls to <a class="link" href="GSocket.html#g-socket-condition-wait" title="g_socket_condition_wait ()"><code class="function">g_socket_condition_wait()</code></a> will
|
2067
|
+
also fail with <a class="link" href="gio-GIOError.html#G-IO-ERROR-TIMED-OUT:CAPS"><code class="literal">G_IO_ERROR_TIMED_OUT</code></a> after the given time. Sources
|
2068
|
+
created with <a class="link" href="GSocket.html#g-socket-create-source" title="g_socket_create_source ()"><code class="function">g_socket_create_source()</code></a> will trigger after
|
2069
|
+
<em class="parameter"><code>timeout</code></em> seconds of inactivity, with the requested condition
|
2070
|
+
set, at which point calling <a class="link" href="GSocket.html#g-socket-receive" title="g_socket_receive ()"><code class="function">g_socket_receive()</code></a>, <a class="link" href="GSocket.html#g-socket-send" title="g_socket_send ()"><code class="function">g_socket_send()</code></a>,
|
2071
|
+
<a class="link" href="GSocket.html#g-socket-check-connect-result" title="g_socket_check_connect_result ()"><code class="function">g_socket_check_connect_result()</code></a>, etc, will fail with
|
2072
|
+
<a class="link" href="gio-GIOError.html#G-IO-ERROR-TIMED-OUT:CAPS"><code class="literal">G_IO_ERROR_TIMED_OUT</code></a>.
|
2073
|
+
</p>
|
2074
|
+
<p>
|
2075
|
+
If <em class="parameter"><code>timeout</code></em> is 0 (the default), operations will never time out
|
2076
|
+
on their own.
|
2077
|
+
</p>
|
2078
|
+
<p>
|
2079
|
+
Note that if an I/O operation is interrupted by a signal, this may
|
2080
|
+
cause the timeout to be reset.
|
2081
|
+
</p>
|
2082
|
+
<div class="variablelist"><table border="0">
|
2083
|
+
<col align="left" valign="top">
|
2084
|
+
<tbody>
|
2085
|
+
<tr>
|
2086
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
2087
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
2088
|
+
</td>
|
2089
|
+
</tr>
|
2090
|
+
<tr>
|
2091
|
+
<td><p><span class="term"><em class="parameter"><code>timeout</code></em> :</span></p></td>
|
2092
|
+
<td>the timeout for <em class="parameter"><code>socket</code></em>, in seconds, or 0 for none
|
2093
|
+
</td>
|
2094
|
+
</tr>
|
2095
|
+
</tbody>
|
2096
|
+
</table></div>
|
2097
|
+
<p class="since">Since 2.26</p>
|
2098
|
+
</div>
|
2099
|
+
<hr>
|
2100
|
+
<div class="refsect2">
|
2101
|
+
<a name="g-socket-get-family"></a><h3>g_socket_get_family ()</h3>
|
2102
|
+
<pre class="programlisting"><a class="link" href="GSocketAddress.html#GSocketFamily" title="enum GSocketFamily"><span class="returnvalue">GSocketFamily</span></a> g_socket_get_family (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);</pre>
|
2103
|
+
<p>
|
2104
|
+
Gets the socket family of the socket.
|
2105
|
+
</p>
|
2106
|
+
<div class="variablelist"><table border="0">
|
2107
|
+
<col align="left" valign="top">
|
2108
|
+
<tbody>
|
2109
|
+
<tr>
|
2110
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
2111
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
2112
|
+
</td>
|
2113
|
+
</tr>
|
2114
|
+
<tr>
|
2115
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
2116
|
+
<td> a <a class="link" href="GSocketAddress.html#GSocketFamily" title="enum GSocketFamily"><span class="type">GSocketFamily</span></a>
|
2117
|
+
|
2118
|
+
</td>
|
2119
|
+
</tr>
|
2120
|
+
</tbody>
|
2121
|
+
</table></div>
|
2122
|
+
<p class="since">Since 2.22</p>
|
2123
|
+
</div>
|
2124
|
+
<hr>
|
2125
|
+
<div class="refsect2">
|
2126
|
+
<a name="g-socket-get-fd"></a><h3>g_socket_get_fd ()</h3>
|
2127
|
+
<pre class="programlisting"><span class="returnvalue">int</span> g_socket_get_fd (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);</pre>
|
2128
|
+
<p>
|
2129
|
+
Returns the underlying OS socket object. On unix this
|
2130
|
+
is a socket file descriptor, and on windows this is
|
2131
|
+
a Winsock2 SOCKET handle. This may be useful for
|
2132
|
+
doing platform specific or otherwise unusual operations
|
2133
|
+
on the socket.
|
2134
|
+
</p>
|
2135
|
+
<div class="variablelist"><table border="0">
|
2136
|
+
<col align="left" valign="top">
|
2137
|
+
<tbody>
|
2138
|
+
<tr>
|
2139
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
2140
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
2141
|
+
</td>
|
2142
|
+
</tr>
|
2143
|
+
<tr>
|
2144
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
2145
|
+
<td> the file descriptor of the socket.
|
2146
|
+
|
2147
|
+
</td>
|
2148
|
+
</tr>
|
2149
|
+
</tbody>
|
2150
|
+
</table></div>
|
2151
|
+
<p class="since">Since 2.22</p>
|
2152
|
+
</div>
|
2153
|
+
<hr>
|
2154
|
+
<div class="refsect2">
|
2155
|
+
<a name="g-socket-get-local-address"></a><h3>g_socket_get_local_address ()</h3>
|
2156
|
+
<pre class="programlisting"><a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="returnvalue">GSocketAddress</span></a> * g_socket_get_local_address (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
2157
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
2158
|
+
<p>
|
2159
|
+
Try to get the local address of a bound socket. This is only
|
2160
|
+
useful if the socket has been bound to a local address,
|
2161
|
+
either explicitly or implicitly when connecting.
|
2162
|
+
</p>
|
2163
|
+
<div class="variablelist"><table border="0">
|
2164
|
+
<col align="left" valign="top">
|
2165
|
+
<tbody>
|
2166
|
+
<tr>
|
2167
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
2168
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
2169
|
+
</td>
|
2170
|
+
</tr>
|
2171
|
+
<tr>
|
2172
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
2173
|
+
<td>
|
2174
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
2175
|
+
</td>
|
2176
|
+
</tr>
|
2177
|
+
<tr>
|
2178
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
2179
|
+
<td> a <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error.
|
2180
|
+
Free the returned object with <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>.
|
2181
|
+
|
2182
|
+
</td>
|
2183
|
+
</tr>
|
2184
|
+
</tbody>
|
2185
|
+
</table></div>
|
2186
|
+
<p class="since">Since 2.22</p>
|
2187
|
+
</div>
|
2188
|
+
<hr>
|
2189
|
+
<div class="refsect2">
|
2190
|
+
<a name="g-socket-get-protocol"></a><h3>g_socket_get_protocol ()</h3>
|
2191
|
+
<pre class="programlisting"><a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="returnvalue">GSocketProtocol</span></a> g_socket_get_protocol (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);</pre>
|
2192
|
+
<p>
|
2193
|
+
Gets the socket protocol id the socket was created with.
|
2194
|
+
In case the protocol is unknown, -1 is returned.
|
2195
|
+
</p>
|
2196
|
+
<div class="variablelist"><table border="0">
|
2197
|
+
<col align="left" valign="top">
|
2198
|
+
<tbody>
|
2199
|
+
<tr>
|
2200
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
2201
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
2202
|
+
</td>
|
2203
|
+
</tr>
|
2204
|
+
<tr>
|
2205
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
2206
|
+
<td> a protocol id, or -1 if unknown
|
2207
|
+
|
2208
|
+
</td>
|
2209
|
+
</tr>
|
2210
|
+
</tbody>
|
2211
|
+
</table></div>
|
2212
|
+
<p class="since">Since 2.22</p>
|
2213
|
+
</div>
|
2214
|
+
<hr>
|
2215
|
+
<div class="refsect2">
|
2216
|
+
<a name="g-socket-get-remote-address"></a><h3>g_socket_get_remote_address ()</h3>
|
2217
|
+
<pre class="programlisting"><a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="returnvalue">GSocketAddress</span></a> * g_socket_get_remote_address (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
2218
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
2219
|
+
<p>
|
2220
|
+
Try to get the remove address of a connected socket. This is only
|
2221
|
+
useful for connection oriented sockets that have been connected.
|
2222
|
+
</p>
|
2223
|
+
<div class="variablelist"><table border="0">
|
2224
|
+
<col align="left" valign="top">
|
2225
|
+
<tbody>
|
2226
|
+
<tr>
|
2227
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
2228
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
2229
|
+
</td>
|
2230
|
+
</tr>
|
2231
|
+
<tr>
|
2232
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
2233
|
+
<td>
|
2234
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
2235
|
+
</td>
|
2236
|
+
</tr>
|
2237
|
+
<tr>
|
2238
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
2239
|
+
<td> a <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error.
|
2240
|
+
Free the returned object with <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>.
|
2241
|
+
|
2242
|
+
</td>
|
2243
|
+
</tr>
|
2244
|
+
</tbody>
|
2245
|
+
</table></div>
|
2246
|
+
<p class="since">Since 2.22</p>
|
2247
|
+
</div>
|
2248
|
+
<hr>
|
2249
|
+
<div class="refsect2">
|
2250
|
+
<a name="g-socket-get-socket-type"></a><h3>g_socket_get_socket_type ()</h3>
|
2251
|
+
<pre class="programlisting"><a class="link" href="GSocket.html#GSocketType" title="enum GSocketType"><span class="returnvalue">GSocketType</span></a> g_socket_get_socket_type (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);</pre>
|
2252
|
+
<p>
|
2253
|
+
Gets the socket type of the socket.
|
2254
|
+
</p>
|
2255
|
+
<div class="variablelist"><table border="0">
|
2256
|
+
<col align="left" valign="top">
|
2257
|
+
<tbody>
|
2258
|
+
<tr>
|
2259
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
2260
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
2261
|
+
</td>
|
2262
|
+
</tr>
|
2263
|
+
<tr>
|
2264
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
2265
|
+
<td> a <a class="link" href="GSocket.html#GSocketType" title="enum GSocketType"><span class="type">GSocketType</span></a>
|
2266
|
+
|
2267
|
+
</td>
|
2268
|
+
</tr>
|
2269
|
+
</tbody>
|
2270
|
+
</table></div>
|
2271
|
+
<p class="since">Since 2.22</p>
|
2272
|
+
</div>
|
2273
|
+
<hr>
|
2274
|
+
<div class="refsect2">
|
2275
|
+
<a name="g-socket-speaks-ipv4"></a><h3>g_socket_speaks_ipv4 ()</h3>
|
2276
|
+
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_socket_speaks_ipv4 (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>);</pre>
|
2277
|
+
<p>
|
2278
|
+
Checks if a socket is capable of speaking IPv4.
|
2279
|
+
</p>
|
2280
|
+
<p>
|
2281
|
+
IPv4 sockets are capable of speaking IPv4. On some operating systems
|
2282
|
+
and under some combinations of circumstances IPv6 sockets are also
|
2283
|
+
capable of speaking IPv4. See RFC 3493 section 3.7 for more
|
2284
|
+
information.
|
2285
|
+
</p>
|
2286
|
+
<p>
|
2287
|
+
No other types of sockets are currently considered as being capable
|
2288
|
+
of speaking IPv4.
|
2289
|
+
</p>
|
2290
|
+
<div class="variablelist"><table border="0">
|
2291
|
+
<col align="left" valign="top">
|
2292
|
+
<tbody>
|
2293
|
+
<tr>
|
2294
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
2295
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
|
2296
|
+
</td>
|
2297
|
+
</tr>
|
2298
|
+
<tr>
|
2299
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
2300
|
+
<td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if this socket can be used with IPv4.
|
2301
|
+
|
2302
|
+
</td>
|
2303
|
+
</tr>
|
2304
|
+
</tbody>
|
2305
|
+
</table></div>
|
2306
|
+
<p class="since">Since 2.22</p>
|
2307
|
+
</div>
|
2308
|
+
<hr>
|
2309
|
+
<div class="refsect2">
|
2310
|
+
<a name="g-socket-get-credentials"></a><h3>g_socket_get_credentials ()</h3>
|
2311
|
+
<pre class="programlisting"><a class="link" href="GCredentials.html" title="GCredentials"><span class="returnvalue">GCredentials</span></a> * g_socket_get_credentials (<em class="parameter"><code><a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> *socket</code></em>,
|
2312
|
+
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
2313
|
+
<p>
|
2314
|
+
Returns the credentials of the foreign process connected to this
|
2315
|
+
socket, if any (e.g. it is only supported for <a class="link" href="GSocketAddress.html#G-SOCKET-FAMILY-UNIX:CAPS"><code class="literal">G_SOCKET_FAMILY_UNIX</code></a>
|
2316
|
+
sockets).
|
2317
|
+
</p>
|
2318
|
+
<p>
|
2319
|
+
If this operation isn't supported on the OS, the method fails with
|
2320
|
+
the <a class="link" href="gio-GIOError.html#G-IO-ERROR-NOT-SUPPORTED:CAPS"><code class="literal">G_IO_ERROR_NOT_SUPPORTED</code></a> error. On Linux this is implemented
|
2321
|
+
by reading the <code class="literal">SO_PEERCRED</code> option on the underlying socket.
|
2322
|
+
</p>
|
2323
|
+
<p>
|
2324
|
+
Other ways to obtain credentials from a foreign peer includes the
|
2325
|
+
<a class="link" href="GUnixCredentialsMessage.html" title="GUnixCredentialsMessage"><span class="type">GUnixCredentialsMessage</span></a> type and
|
2326
|
+
<a class="link" href="GUnixConnection.html#g-unix-connection-send-credentials" title="g_unix_connection_send_credentials ()"><code class="function">g_unix_connection_send_credentials()</code></a> /
|
2327
|
+
<a class="link" href="GUnixConnection.html#g-unix-connection-receive-credentials" title="g_unix_connection_receive_credentials ()"><code class="function">g_unix_connection_receive_credentials()</code></a> functions.
|
2328
|
+
</p>
|
2329
|
+
<div class="variablelist"><table border="0">
|
2330
|
+
<col align="left" valign="top">
|
2331
|
+
<tbody>
|
2332
|
+
<tr>
|
2333
|
+
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
|
2334
|
+
<td>a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>.
|
2335
|
+
</td>
|
2336
|
+
</tr>
|
2337
|
+
<tr>
|
2338
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
2339
|
+
<td>
|
2340
|
+
<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
|
2341
|
+
</td>
|
2342
|
+
</tr>
|
2343
|
+
<tr>
|
2344
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
2345
|
+
<td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em> is set, otherwise a <a class="link" href="GCredentials.html" title="GCredentials"><span class="type">GCredentials</span></a> object
|
2346
|
+
that must be freed with <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>.
|
2347
|
+
|
2348
|
+
</td>
|
2349
|
+
</tr>
|
2350
|
+
</tbody>
|
2351
|
+
</table></div>
|
2352
|
+
<p class="since">Since 2.26</p>
|
2353
|
+
</div>
|
2354
|
+
</div>
|
2355
|
+
<div class="refsect1">
|
2356
|
+
<a name="GSocket.property-details"></a><h2>Property Details</h2>
|
2357
|
+
<div class="refsect2">
|
2358
|
+
<a name="GSocket--blocking"></a><h3>The <code class="literal">"blocking"</code> property</h3>
|
2359
|
+
<pre class="programlisting"> "blocking" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
|
2360
|
+
<p>Whether or not I/O on this socket is blocking.</p>
|
2361
|
+
<p>Default value: TRUE</p>
|
2362
|
+
</div>
|
2363
|
+
<hr>
|
2364
|
+
<div class="refsect2">
|
2365
|
+
<a name="GSocket--family"></a><h3>The <code class="literal">"family"</code> property</h3>
|
2366
|
+
<pre class="programlisting"> "family" <a class="link" href="GSocketAddress.html#GSocketFamily" title="enum GSocketFamily"><span class="type">GSocketFamily</span></a> : Read / Write / Construct Only</pre>
|
2367
|
+
<p>The sockets address family.</p>
|
2368
|
+
<p>Default value: G_SOCKET_FAMILY_INVALID</p>
|
2369
|
+
</div>
|
2370
|
+
<hr>
|
2371
|
+
<div class="refsect2">
|
2372
|
+
<a name="GSocket--fd"></a><h3>The <code class="literal">"fd"</code> property</h3>
|
2373
|
+
<pre class="programlisting"> "fd" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write / Construct Only</pre>
|
2374
|
+
<p>The sockets file descriptor.</p>
|
2375
|
+
<p>Default value: -1</p>
|
2376
|
+
</div>
|
2377
|
+
<hr>
|
2378
|
+
<div class="refsect2">
|
2379
|
+
<a name="GSocket--keepalive"></a><h3>The <code class="literal">"keepalive"</code> property</h3>
|
2380
|
+
<pre class="programlisting"> "keepalive" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
|
2381
|
+
<p>Keep connection alive by sending periodic pings.</p>
|
2382
|
+
<p>Default value: FALSE</p>
|
2383
|
+
</div>
|
2384
|
+
<hr>
|
2385
|
+
<div class="refsect2">
|
2386
|
+
<a name="GSocket--listen-backlog"></a><h3>The <code class="literal">"listen-backlog"</code> property</h3>
|
2387
|
+
<pre class="programlisting"> "listen-backlog" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write</pre>
|
2388
|
+
<p>Outstanding connections in the listen queue.</p>
|
2389
|
+
<p>Allowed values: [0,128]</p>
|
2390
|
+
<p>Default value: 10</p>
|
2391
|
+
</div>
|
2392
|
+
<hr>
|
2393
|
+
<div class="refsect2">
|
2394
|
+
<a name="GSocket--local-address"></a><h3>The <code class="literal">"local-address"</code> property</h3>
|
2395
|
+
<pre class="programlisting"> "local-address" <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a>* : Read</pre>
|
2396
|
+
<p>The local address the socket is bound to.</p>
|
2397
|
+
</div>
|
2398
|
+
<hr>
|
2399
|
+
<div class="refsect2">
|
2400
|
+
<a name="GSocket--protocol"></a><h3>The <code class="literal">"protocol"</code> property</h3>
|
2401
|
+
<pre class="programlisting"> "protocol" <a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="type">GSocketProtocol</span></a> : Read / Write / Construct Only</pre>
|
2402
|
+
<p>The id of the protocol to use, or -1 for unknown.</p>
|
2403
|
+
<p>Default value: G_SOCKET_PROTOCOL_UNKNOWN</p>
|
2404
|
+
</div>
|
2405
|
+
<hr>
|
2406
|
+
<div class="refsect2">
|
2407
|
+
<a name="GSocket--remote-address"></a><h3>The <code class="literal">"remote-address"</code> property</h3>
|
2408
|
+
<pre class="programlisting"> "remote-address" <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a>* : Read</pre>
|
2409
|
+
<p>The remote address the socket is connected to.</p>
|
2410
|
+
</div>
|
2411
|
+
<hr>
|
2412
|
+
<div class="refsect2">
|
2413
|
+
<a name="GSocket--timeout"></a><h3>The <code class="literal">"timeout"</code> property</h3>
|
2414
|
+
<pre class="programlisting"> "timeout" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write</pre>
|
2415
|
+
<p>
|
2416
|
+
The timeout in seconds on socket I/O
|
2417
|
+
</p>
|
2418
|
+
<p>Default value: 0</p>
|
2419
|
+
<p class="since">Since 2.26</p>
|
2420
|
+
</div>
|
2421
|
+
<hr>
|
2422
|
+
<div class="refsect2">
|
2423
|
+
<a name="GSocket--type"></a><h3>The <code class="literal">"type"</code> property</h3>
|
2424
|
+
<pre class="programlisting"> "type" <a class="link" href="GSocket.html#GSocketType" title="enum GSocketType"><span class="type">GSocketType</span></a> : Read / Write / Construct Only</pre>
|
2425
|
+
<p>The sockets type.</p>
|
2426
|
+
<p>Default value: G_SOCKET_TYPE_STREAM</p>
|
2427
|
+
</div>
|
2428
|
+
</div>
|
2429
|
+
<div class="refsect1">
|
2430
|
+
<a name="GSocket.see-also"></a><h2>See Also</h2>
|
2431
|
+
<a class="link" href="GInitable.html" title="GInitable"><span class="type">GInitable</span></a>
|
2432
|
+
</div>
|
2433
|
+
</div>
|
2434
|
+
<div class="footer">
|
2435
|
+
<hr>
|
2436
|
+
Generated by GTK-Doc V1.15.1</div>
|
2437
|
+
</body>
|
2438
|
+
</html>
|