gio2 0.90.3-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (856) hide show
  1. data/ChangeLog +60 -0
  2. data/README +34 -0
  3. data/Rakefile +76 -0
  4. data/ext/gio2/depend +5 -0
  5. data/ext/gio2/extconf.rb +91 -0
  6. data/ext/gio2/gappinfo.c +318 -0
  7. data/ext/gio2/gapplaunchcontext.c +79 -0
  8. data/ext/gio2/gasyncinitable.c +244 -0
  9. data/ext/gio2/gasyncresult.c +39 -0
  10. data/ext/gio2/gbufferedinputstream.c +184 -0
  11. data/ext/gio2/gbufferedoutputstream.c +82 -0
  12. data/ext/gio2/gcancellable.c +177 -0
  13. data/ext/gio2/gcharsetconverter.c +72 -0
  14. data/ext/gio2/gcontenttype.c +135 -0
  15. data/ext/gio2/gconverter.c +117 -0
  16. data/ext/gio2/gconverterinputstream.c +48 -0
  17. data/ext/gio2/gconverteroutputstream.c +48 -0
  18. data/ext/gio2/gdatainputstream.c +341 -0
  19. data/ext/gio2/gdataoutputstream.c +202 -0
  20. data/ext/gio2/gdesktopappinfo.c +90 -0
  21. data/ext/gio2/gdrive.c +267 -0
  22. data/ext/gio2/gemblem.c +71 -0
  23. data/ext/gio2/gemblemedicon.c +63 -0
  24. data/ext/gio2/gfile.c +2058 -0
  25. data/ext/gio2/gfileattribute.c +263 -0
  26. data/ext/gio2/gfileattributematcher.c +90 -0
  27. data/ext/gio2/gfiledescriptorbased.c +42 -0
  28. data/ext/gio2/gfileenumerator.c +167 -0
  29. data/ext/gio2/gfileicon.c +46 -0
  30. data/ext/gio2/gfileinfo.c +641 -0
  31. data/ext/gio2/gfileinputstream.c +92 -0
  32. data/ext/gio2/gfileiostream.c +98 -0
  33. data/ext/gio2/gfilemonitor.c +63 -0
  34. data/ext/gio2/gfilenamecompleter.c +72 -0
  35. data/ext/gio2/gfileoutputstream.c +100 -0
  36. data/ext/gio2/gfilterinputstream.c +56 -0
  37. data/ext/gio2/gfilteroutputstream.c +56 -0
  38. data/ext/gio2/gicon.c +69 -0
  39. data/ext/gio2/ginetaddress.c +188 -0
  40. data/ext/gio2/ginetsocketaddress.c +54 -0
  41. data/ext/gio2/ginitable.c +195 -0
  42. data/ext/gio2/ginputstream.c +341 -0
  43. data/ext/gio2/gio2.c +120 -0
  44. data/ext/gio2/gio2.def +2 -0
  45. data/ext/gio2/gio2.h +343 -0
  46. data/ext/gio2/gioerror.c +67 -0
  47. data/ext/gio2/giomodule.c +63 -0
  48. data/ext/gio2/gioscheduler.c +195 -0
  49. data/ext/gio2/giostream.c +129 -0
  50. data/ext/gio2/gloadableicon.c +91 -0
  51. data/ext/gio2/gmemoryinputstream.c +65 -0
  52. data/ext/gio2/gmemoryoutputstream.c +65 -0
  53. data/ext/gio2/gmount.c +283 -0
  54. data/ext/gio2/gmountoperation.c +168 -0
  55. data/ext/gio2/gnetworkaddress.c +71 -0
  56. data/ext/gio2/gnetworkservice.c +64 -0
  57. data/ext/gio2/goutputstream.c +343 -0
  58. data/ext/gio2/gresolver.c +230 -0
  59. data/ext/gio2/gseekable.c +89 -0
  60. data/ext/gio2/gsimpleasyncresult.c +153 -0
  61. data/ext/gio2/gsocket.c +451 -0
  62. data/ext/gio2/gsocketaddress.c +45 -0
  63. data/ext/gio2/gsocketclient.c +273 -0
  64. data/ext/gio2/gsocketconnectable.c +97 -0
  65. data/ext/gio2/gsocketconnection.c +82 -0
  66. data/ext/gio2/gsocketcontrolmessage.c +82 -0
  67. data/ext/gio2/gsocketlistener.c +239 -0
  68. data/ext/gio2/gsocketservice.c +64 -0
  69. data/ext/gio2/gsrvtarget.c +77 -0
  70. data/ext/gio2/gtcpconnection.c +48 -0
  71. data/ext/gio2/gthemedicon.c +86 -0
  72. data/ext/gio2/gthreadedsocketservice.c +39 -0
  73. data/ext/gio2/gunixconnection.c +69 -0
  74. data/ext/gio2/gunixfdlist.c +112 -0
  75. data/ext/gio2/gunixfdmessage.c +81 -0
  76. data/ext/gio2/gunixinputstream.c +73 -0
  77. data/ext/gio2/gunixmounts.c +346 -0
  78. data/ext/gio2/gunixoutputstream.c +73 -0
  79. data/ext/gio2/gunixsocketaddress.c +79 -0
  80. data/ext/gio2/gvfs.c +84 -0
  81. data/ext/gio2/gvolume.c +191 -0
  82. data/ext/gio2/gvolumemonitor.c +77 -0
  83. data/ext/gio2/gzlibcompressor.c +47 -0
  84. data/ext/gio2/gzlibdecompressor.c +43 -0
  85. data/ext/gio2/util.c +323 -0
  86. data/extconf.rb +49 -0
  87. data/lib/1.8/gio2.so +0 -0
  88. data/lib/1.9/gio2.so +0 -0
  89. data/lib/gio2.rb +141 -0
  90. data/vendor/local/bin/envsubst.exe +0 -0
  91. data/vendor/local/bin/gettext.exe +0 -0
  92. data/vendor/local/bin/gettext.sh +123 -0
  93. data/vendor/local/bin/glib-genmarshal.exe +0 -0
  94. data/vendor/local/bin/glib-gettextize +188 -0
  95. data/vendor/local/bin/glib-mkenums +537 -0
  96. data/vendor/local/bin/gobject-query.exe +0 -0
  97. data/vendor/local/bin/gspawn-win32-helper-console.exe +0 -0
  98. data/vendor/local/bin/gspawn-win32-helper.exe +0 -0
  99. data/vendor/local/bin/intl.dll +0 -0
  100. data/vendor/local/bin/libasprintf-0.dll +0 -0
  101. data/vendor/local/bin/libgcc_s_dw2-1.dll +0 -0
  102. data/vendor/local/bin/libgio-2.0-0.dll +0 -0
  103. data/vendor/local/bin/libglib-2.0-0.dll +0 -0
  104. data/vendor/local/bin/libgmodule-2.0-0.dll +0 -0
  105. data/vendor/local/bin/libgobject-2.0-0.dll +0 -0
  106. data/vendor/local/bin/libgthread-2.0-0.dll +0 -0
  107. data/vendor/local/bin/ngettext.exe +0 -0
  108. data/vendor/local/include/autosprintf.h +66 -0
  109. data/vendor/local/include/glib-2.0/gio/gappinfo.h +236 -0
  110. data/vendor/local/include/glib-2.0/gio/gasyncinitable.h +119 -0
  111. data/vendor/local/include/glib-2.0/gio/gasyncresult.h +73 -0
  112. data/vendor/local/include/glib-2.0/gio/gbufferedinputstream.h +123 -0
  113. data/vendor/local/include/glib-2.0/gio/gbufferedoutputstream.h +81 -0
  114. data/vendor/local/include/glib-2.0/gio/gcancellable.h +103 -0
  115. data/vendor/local/include/glib-2.0/gio/gcharsetconverter.h +60 -0
  116. data/vendor/local/include/glib-2.0/gio/gcontenttype.h +57 -0
  117. data/vendor/local/include/glib-2.0/gio/gconverter.h +95 -0
  118. data/vendor/local/include/glib-2.0/gio/gconverterinputstream.h +79 -0
  119. data/vendor/local/include/glib-2.0/gio/gconverteroutputstream.h +79 -0
  120. data/vendor/local/include/glib-2.0/gio/gcredentials.h +76 -0
  121. data/vendor/local/include/glib-2.0/gio/gdatainputstream.h +150 -0
  122. data/vendor/local/include/glib-2.0/gio/gdataoutputstream.h +115 -0
  123. data/vendor/local/include/glib-2.0/gio/gdbusaddress.h +58 -0
  124. data/vendor/local/include/glib-2.0/gio/gdbusauthobserver.h +46 -0
  125. data/vendor/local/include/glib-2.0/gio/gdbusconnection.h +562 -0
  126. data/vendor/local/include/glib-2.0/gio/gdbuserror.h +100 -0
  127. data/vendor/local/include/glib-2.0/gio/gdbusintrospection.h +286 -0
  128. data/vendor/local/include/glib-2.0/gio/gdbusmessage.h +149 -0
  129. data/vendor/local/include/glib-2.0/gio/gdbusmethodinvocation.h +73 -0
  130. data/vendor/local/include/glib-2.0/gio/gdbusnameowning.h +112 -0
  131. data/vendor/local/include/glib-2.0/gio/gdbusnamewatching.h +94 -0
  132. data/vendor/local/include/glib-2.0/gio/gdbusproxy.h +167 -0
  133. data/vendor/local/include/glib-2.0/gio/gdbusserver.h +54 -0
  134. data/vendor/local/include/glib-2.0/gio/gdbusutils.h +44 -0
  135. data/vendor/local/include/glib-2.0/gio/gdrive.h +225 -0
  136. data/vendor/local/include/glib-2.0/gio/gemblem.h +58 -0
  137. data/vendor/local/include/glib-2.0/gio/gemblemedicon.h +62 -0
  138. data/vendor/local/include/glib-2.0/gio/gfile.h +1017 -0
  139. data/vendor/local/include/glib-2.0/gio/gfileattribute.h +77 -0
  140. data/vendor/local/include/glib-2.0/gio/gfileenumerator.h +132 -0
  141. data/vendor/local/include/glib-2.0/gio/gfileicon.h +56 -0
  142. data/vendor/local/include/glib-2.0/gio/gfileinfo.h +952 -0
  143. data/vendor/local/include/glib-2.0/gio/gfileinputstream.h +112 -0
  144. data/vendor/local/include/glib-2.0/gio/gfileiostream.h +118 -0
  145. data/vendor/local/include/glib-2.0/gio/gfilemonitor.h +95 -0
  146. data/vendor/local/include/glib-2.0/gio/gfilenamecompleter.h +76 -0
  147. data/vendor/local/include/glib-2.0/gio/gfileoutputstream.h +119 -0
  148. data/vendor/local/include/glib-2.0/gio/gfilterinputstream.h +76 -0
  149. data/vendor/local/include/glib-2.0/gio/gfilteroutputstream.h +76 -0
  150. data/vendor/local/include/glib-2.0/gio/gicon.h +91 -0
  151. data/vendor/local/include/glib-2.0/gio/ginetaddress.h +103 -0
  152. data/vendor/local/include/glib-2.0/gio/ginetsocketaddress.h +69 -0
  153. data/vendor/local/include/glib-2.0/gio/ginitable.h +96 -0
  154. data/vendor/local/include/glib-2.0/gio/ginputstream.h +172 -0
  155. data/vendor/local/include/glib-2.0/gio/gio.h +122 -0
  156. data/vendor/local/include/glib-2.0/gio/gioenums.h +1221 -0
  157. data/vendor/local/include/glib-2.0/gio/gioenumtypes.h +121 -0
  158. data/vendor/local/include/glib-2.0/gio/gioerror.h +52 -0
  159. data/vendor/local/include/glib-2.0/gio/giomodule.h +132 -0
  160. data/vendor/local/include/glib-2.0/gio/gioscheduler.h +52 -0
  161. data/vendor/local/include/glib-2.0/gio/giostream.h +112 -0
  162. data/vendor/local/include/glib-2.0/gio/giotypes.h +375 -0
  163. data/vendor/local/include/glib-2.0/gio/gloadableicon.h +97 -0
  164. data/vendor/local/include/glib-2.0/gio/gmemoryinputstream.h +82 -0
  165. data/vendor/local/include/glib-2.0/gio/gmemoryoutputstream.h +98 -0
  166. data/vendor/local/include/glib-2.0/gio/gmount.h +242 -0
  167. data/vendor/local/include/glib-2.0/gio/gmountoperation.h +123 -0
  168. data/vendor/local/include/glib-2.0/gio/gnativevolumemonitor.h +62 -0
  169. data/vendor/local/include/glib-2.0/gio/gnetworkaddress.h +73 -0
  170. data/vendor/local/include/glib-2.0/gio/gnetworkservice.h +71 -0
  171. data/vendor/local/include/glib-2.0/gio/goutputstream.h +207 -0
  172. data/vendor/local/include/glib-2.0/gio/gpermission.h +118 -0
  173. data/vendor/local/include/glib-2.0/gio/gproxy.h +123 -0
  174. data/vendor/local/include/glib-2.0/gio/gproxyaddress.h +76 -0
  175. data/vendor/local/include/glib-2.0/gio/gproxyaddressenumerator.h +75 -0
  176. data/vendor/local/include/glib-2.0/gio/gproxyresolver.h +96 -0
  177. data/vendor/local/include/glib-2.0/gio/gresolver.h +167 -0
  178. data/vendor/local/include/glib-2.0/gio/gseekable.h +99 -0
  179. data/vendor/local/include/glib-2.0/gio/gsettings.h +258 -0
  180. data/vendor/local/include/glib-2.0/gio/gsettingsbackend.h +138 -0
  181. data/vendor/local/include/glib-2.0/gio/gsimpleasyncresult.h +125 -0
  182. data/vendor/local/include/glib-2.0/gio/gsimplepermission.h +45 -0
  183. data/vendor/local/include/glib-2.0/gio/gsocket.h +194 -0
  184. data/vendor/local/include/glib-2.0/gio/gsocketaddress.h +79 -0
  185. data/vendor/local/include/glib-2.0/gio/gsocketaddressenumerator.h +89 -0
  186. data/vendor/local/include/glib-2.0/gio/gsocketclient.h +152 -0
  187. data/vendor/local/include/glib-2.0/gio/gsocketconnectable.h +74 -0
  188. data/vendor/local/include/glib-2.0/gio/gsocketconnection.h +91 -0
  189. data/vendor/local/include/glib-2.0/gio/gsocketcontrolmessage.h +105 -0
  190. data/vendor/local/include/glib-2.0/gio/gsocketlistener.h +138 -0
  191. data/vendor/local/include/glib-2.0/gio/gsocketservice.h +88 -0
  192. data/vendor/local/include/glib-2.0/gio/gsrvtarget.h +52 -0
  193. data/vendor/local/include/glib-2.0/gio/gtcpconnection.h +68 -0
  194. data/vendor/local/include/glib-2.0/gio/gthemedicon.h +63 -0
  195. data/vendor/local/include/glib-2.0/gio/gthreadedsocketservice.h +81 -0
  196. data/vendor/local/include/glib-2.0/gio/gvfs.h +125 -0
  197. data/vendor/local/include/glib-2.0/gio/gvolume.h +211 -0
  198. data/vendor/local/include/glib-2.0/gio/gvolumemonitor.h +150 -0
  199. data/vendor/local/include/glib-2.0/gio/gzlibcompressor.h +60 -0
  200. data/vendor/local/include/glib-2.0/gio/gzlibdecompressor.h +57 -0
  201. data/vendor/local/include/glib-2.0/glib-object.h +42 -0
  202. data/vendor/local/include/glib-2.0/glib.h +99 -0
  203. data/vendor/local/include/glib-2.0/glib/galloca.h +110 -0
  204. data/vendor/local/include/glib-2.0/glib/garray.h +179 -0
  205. data/vendor/local/include/glib-2.0/glib/gasyncqueue.h +120 -0
  206. data/vendor/local/include/glib-2.0/glib/gatomic.h +105 -0
  207. data/vendor/local/include/glib-2.0/glib/gbacktrace.h +68 -0
  208. data/vendor/local/include/glib-2.0/glib/gbase64.h +57 -0
  209. data/vendor/local/include/glib-2.0/glib/gbitlock.h +43 -0
  210. data/vendor/local/include/glib-2.0/glib/gbookmarkfile.h +215 -0
  211. data/vendor/local/include/glib-2.0/glib/gcache.h +69 -0
  212. data/vendor/local/include/glib-2.0/glib/gchecksum.h +86 -0
  213. data/vendor/local/include/glib-2.0/glib/gcompletion.h +81 -0
  214. data/vendor/local/include/glib-2.0/glib/gconvert.h +162 -0
  215. data/vendor/local/include/glib-2.0/glib/gdataset.h +122 -0
  216. data/vendor/local/include/glib-2.0/glib/gdate.h +263 -0
  217. data/vendor/local/include/glib-2.0/glib/gdatetime.h +217 -0
  218. data/vendor/local/include/glib-2.0/glib/gdir.h +52 -0
  219. data/vendor/local/include/glib-2.0/glib/gerror.h +98 -0
  220. data/vendor/local/include/glib-2.0/glib/gfileutils.h +128 -0
  221. data/vendor/local/include/glib-2.0/glib/ghash.h +166 -0
  222. data/vendor/local/include/glib-2.0/glib/ghook.h +181 -0
  223. data/vendor/local/include/glib-2.0/glib/ghostutils.h +40 -0
  224. data/vendor/local/include/glib-2.0/glib/gi18n-lib.h +38 -0
  225. data/vendor/local/include/glib-2.0/glib/gi18n.h +34 -0
  226. data/vendor/local/include/glib-2.0/glib/giochannel.h +366 -0
  227. data/vendor/local/include/glib-2.0/glib/gkeyfile.h +266 -0
  228. data/vendor/local/include/glib-2.0/glib/glist.h +120 -0
  229. data/vendor/local/include/glib-2.0/glib/gmacros.h +284 -0
  230. data/vendor/local/include/glib-2.0/glib/gmain.h +531 -0
  231. data/vendor/local/include/glib-2.0/glib/gmappedfile.h +49 -0
  232. data/vendor/local/include/glib-2.0/glib/gmarkup.h +163 -0
  233. data/vendor/local/include/glib-2.0/glib/gmem.h +309 -0
  234. data/vendor/local/include/glib-2.0/glib/gmessages.h +343 -0
  235. data/vendor/local/include/glib-2.0/glib/gnode.h +290 -0
  236. data/vendor/local/include/glib-2.0/glib/goption.h +370 -0
  237. data/vendor/local/include/glib-2.0/glib/gpattern.h +49 -0
  238. data/vendor/local/include/glib-2.0/glib/gpoll.h +117 -0
  239. data/vendor/local/include/glib-2.0/glib/gprimes.h +51 -0
  240. data/vendor/local/include/glib-2.0/glib/gprintf.h +52 -0
  241. data/vendor/local/include/glib-2.0/glib/gqsort.h +46 -0
  242. data/vendor/local/include/glib-2.0/glib/gquark.h +52 -0
  243. data/vendor/local/include/glib-2.0/glib/gqueue.h +127 -0
  244. data/vendor/local/include/glib-2.0/glib/grand.h +85 -0
  245. data/vendor/local/include/glib-2.0/glib/gregex.h +471 -0
  246. data/vendor/local/include/glib-2.0/glib/grel.h +101 -0
  247. data/vendor/local/include/glib-2.0/glib/gscanner.h +278 -0
  248. data/vendor/local/include/glib-2.0/glib/gsequence.h +128 -0
  249. data/vendor/local/include/glib-2.0/glib/gshell.h +55 -0
  250. data/vendor/local/include/glib-2.0/glib/gslice.h +86 -0
  251. data/vendor/local/include/glib-2.0/glib/gslist.h +114 -0
  252. data/vendor/local/include/glib-2.0/glib/gspawn.h +139 -0
  253. data/vendor/local/include/glib-2.0/glib/gstdio.h +147 -0
  254. data/vendor/local/include/glib-2.0/glib/gstrfuncs.h +269 -0
  255. data/vendor/local/include/glib-2.0/glib/gstring.h +178 -0
  256. data/vendor/local/include/glib-2.0/glib/gtestutils.h +297 -0
  257. data/vendor/local/include/glib-2.0/glib/gthread.h +407 -0
  258. data/vendor/local/include/glib-2.0/glib/gthreadpool.h +114 -0
  259. data/vendor/local/include/glib-2.0/glib/gtimer.h +65 -0
  260. data/vendor/local/include/glib-2.0/glib/gtimezone.h +44 -0
  261. data/vendor/local/include/glib-2.0/glib/gtree.h +91 -0
  262. data/vendor/local/include/glib-2.0/glib/gtypes.h +451 -0
  263. data/vendor/local/include/glib-2.0/glib/gunicode.h +421 -0
  264. data/vendor/local/include/glib-2.0/glib/gurifuncs.h +81 -0
  265. data/vendor/local/include/glib-2.0/glib/gutils.h +490 -0
  266. data/vendor/local/include/glib-2.0/glib/gvariant.h +248 -0
  267. data/vendor/local/include/glib-2.0/glib/gvarianttype.h +334 -0
  268. data/vendor/local/include/glib-2.0/glib/gwin32.h +114 -0
  269. data/vendor/local/include/glib-2.0/gmodule.h +101 -0
  270. data/vendor/local/include/glib-2.0/gobject/gbinding.h +136 -0
  271. data/vendor/local/include/glib-2.0/gobject/gboxed.h +248 -0
  272. data/vendor/local/include/glib-2.0/gobject/gclosure.h +251 -0
  273. data/vendor/local/include/glib-2.0/gobject/genums.h +261 -0
  274. data/vendor/local/include/glib-2.0/gobject/gmarshal.h +186 -0
  275. data/vendor/local/include/glib-2.0/gobject/gobject.h +567 -0
  276. data/vendor/local/include/glib-2.0/gobject/gobjectnotifyqueue.c +193 -0
  277. data/vendor/local/include/glib-2.0/gobject/gparam.h +415 -0
  278. data/vendor/local/include/glib-2.0/gobject/gparamspecs.h +1137 -0
  279. data/vendor/local/include/glib-2.0/gobject/gsignal.h +509 -0
  280. data/vendor/local/include/glib-2.0/gobject/gsourceclosure.h +51 -0
  281. data/vendor/local/include/glib-2.0/gobject/gtype.h +1736 -0
  282. data/vendor/local/include/glib-2.0/gobject/gtypemodule.h +263 -0
  283. data/vendor/local/include/glib-2.0/gobject/gtypeplugin.h +134 -0
  284. data/vendor/local/include/glib-2.0/gobject/gvalue.h +159 -0
  285. data/vendor/local/include/glib-2.0/gobject/gvaluearray.h +77 -0
  286. data/vendor/local/include/glib-2.0/gobject/gvaluecollector.h +227 -0
  287. data/vendor/local/include/glib-2.0/gobject/gvaluetypes.h +260 -0
  288. data/vendor/local/include/libintl.h +464 -0
  289. data/vendor/local/lib/GNU.Gettext.dll +0 -0
  290. data/vendor/local/lib/gio-2.0.def +1143 -0
  291. data/vendor/local/lib/gio-2.0.lib +0 -0
  292. data/vendor/local/lib/glib-2.0.def +1452 -0
  293. data/vendor/local/lib/glib-2.0.lib +0 -0
  294. data/vendor/local/lib/glib-2.0/include/glibconfig.h +284 -0
  295. data/vendor/local/lib/gmodule-2.0.def +11 -0
  296. data/vendor/local/lib/gmodule-2.0.lib +0 -0
  297. data/vendor/local/lib/gobject-2.0.def +370 -0
  298. data/vendor/local/lib/gobject-2.0.lib +0 -0
  299. data/vendor/local/lib/gthread-2.0.def +3 -0
  300. data/vendor/local/lib/gthread-2.0.lib +0 -0
  301. data/vendor/local/lib/intl.lib +0 -0
  302. data/vendor/local/lib/libasprintf.dll.a +0 -0
  303. data/vendor/local/lib/libgio-2.0.dll.a +0 -0
  304. data/vendor/local/lib/libglib-2.0.dll.a +0 -0
  305. data/vendor/local/lib/libgmodule-2.0.dll.a +0 -0
  306. data/vendor/local/lib/libgobject-2.0.dll.a +0 -0
  307. data/vendor/local/lib/libgthread-2.0.dll.a +0 -0
  308. data/vendor/local/lib/libintl.def +31 -0
  309. data/vendor/local/lib/libintl.dll.a +0 -0
  310. data/vendor/local/lib/pkgconfig/gio-2.0.pc +15 -0
  311. data/vendor/local/lib/pkgconfig/gio-windows-2.0.pc +11 -0
  312. data/vendor/local/lib/pkgconfig/glib-2.0.pc +15 -0
  313. data/vendor/local/lib/pkgconfig/gmodule-2.0.pc +14 -0
  314. data/vendor/local/lib/pkgconfig/gmodule-no-export-2.0.pc +14 -0
  315. data/vendor/local/lib/pkgconfig/gobject-2.0.pc +11 -0
  316. data/vendor/local/lib/pkgconfig/gthread-2.0.pc +11 -0
  317. data/vendor/local/manifest/gettext-runtime-dev_0.18.1.1-2_win32.mft +81 -0
  318. data/vendor/local/manifest/gettext-runtime_0.18.1.1-2_win32.mft +3 -0
  319. data/vendor/local/manifest/glib-dev_2.24.2-2_win32.mft +491 -0
  320. data/vendor/local/manifest/glib-dev_2.26.0-2_win32.mft +570 -0
  321. data/vendor/local/manifest/glib_2.24.2-2_win32.mft +101 -0
  322. data/vendor/local/manifest/glib_2.26.0-2_win32.mft +102 -0
  323. data/vendor/local/share/aclocal/glib-2.0.m4 +211 -0
  324. data/vendor/local/share/aclocal/glib-gettext.m4 +432 -0
  325. data/vendor/local/share/doc/gettext/bind_textdomain_codeset.3.html +165 -0
  326. data/vendor/local/share/doc/gettext/bindtextdomain.3.html +160 -0
  327. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext.html +8 -0
  328. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceManager.html +305 -0
  329. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceSet.html +356 -0
  330. data/vendor/local/share/doc/gettext/csharpdoc/begin.html +11 -0
  331. data/vendor/local/share/doc/gettext/csharpdoc/index.html +10 -0
  332. data/vendor/local/share/doc/gettext/csharpdoc/namespaces.html +6 -0
  333. data/vendor/local/share/doc/gettext/envsubst.1.html +213 -0
  334. data/vendor/local/share/doc/gettext/gettext.1.html +266 -0
  335. data/vendor/local/share/doc/gettext/gettext.3.html +186 -0
  336. data/vendor/local/share/doc/gettext/ngettext.1.html +280 -0
  337. data/vendor/local/share/doc/gettext/ngettext.3.html +143 -0
  338. data/vendor/local/share/doc/gettext/textdomain.3.html +150 -0
  339. data/vendor/local/share/doc/glib-2.24.2/COPYING +482 -0
  340. data/vendor/local/share/doc/glib-2.26.0/COPYING +482 -0
  341. data/vendor/local/share/doc/glib-dev-2.24.2/COPYING +482 -0
  342. data/vendor/local/share/doc/glib-dev-2.26.0/COPYING +482 -0
  343. data/vendor/local/share/doc/libasprintf/autosprintf_all.html +174 -0
  344. data/vendor/local/share/glib-2.0/gdb/glib.py +249 -0
  345. data/vendor/local/share/glib-2.0/gdb/gobject.py +305 -0
  346. data/vendor/local/share/glib-2.0/gettext/mkinstalldirs +111 -0
  347. data/vendor/local/share/glib-2.0/gettext/po/Makefile.in.in +279 -0
  348. data/vendor/local/share/glib-2.0/schemas/gschema.dtd +60 -0
  349. data/vendor/local/share/gtk-doc/html/gio/GAppInfo.html +1403 -0
  350. data/vendor/local/share/gtk-doc/html/gio/GAsyncInitable.html +733 -0
  351. data/vendor/local/share/gtk-doc/html/gio/GAsyncResult.html +343 -0
  352. data/vendor/local/share/gtk-doc/html/gio/GBufferedInputStream.html +563 -0
  353. data/vendor/local/share/gtk-doc/html/gio/GBufferedOutputStream.html +291 -0
  354. data/vendor/local/share/gtk-doc/html/gio/GCancellable.html +620 -0
  355. data/vendor/local/share/gtk-doc/html/gio/GCharsetConverter.html +245 -0
  356. data/vendor/local/share/gtk-doc/html/gio/GConverter.html +423 -0
  357. data/vendor/local/share/gtk-doc/html/gio/GCredentials.html +398 -0
  358. data/vendor/local/share/gtk-doc/html/gio/GDBusAuthObserver.html +254 -0
  359. data/vendor/local/share/gtk-doc/html/gio/GDBusConnection.html +6211 -0
  360. data/vendor/local/share/gtk-doc/html/gio/GDBusMessage.html +1833 -0
  361. data/vendor/local/share/gtk-doc/html/gio/GDBusMethodInvocation.html +618 -0
  362. data/vendor/local/share/gtk-doc/html/gio/GDBusProxy.html +2050 -0
  363. data/vendor/local/share/gtk-doc/html/gio/GDBusServer.html +1124 -0
  364. data/vendor/local/share/gtk-doc/html/gio/GDataInputStream.html +1215 -0
  365. data/vendor/local/share/gtk-doc/html/gio/GDataOutputStream.html +540 -0
  366. data/vendor/local/share/gtk-doc/html/gio/GDrive.html +1416 -0
  367. data/vendor/local/share/gtk-doc/html/gio/GEmblem.html +272 -0
  368. data/vendor/local/share/gtk-doc/html/gio/GEmblemedIcon.html +206 -0
  369. data/vendor/local/share/gtk-doc/html/gio/GFile.html +7462 -0
  370. data/vendor/local/share/gtk-doc/html/gio/GFileDescriptorBased.html +120 -0
  371. data/vendor/local/share/gtk-doc/html/gio/GFileEnumerator.html +516 -0
  372. data/vendor/local/share/gtk-doc/html/gio/GFileIOStream.html +312 -0
  373. data/vendor/local/share/gtk-doc/html/gio/GFileIcon.html +155 -0
  374. data/vendor/local/share/gtk-doc/html/gio/GFileInfo.html +3144 -0
  375. data/vendor/local/share/gtk-doc/html/gio/GFileInputStream.html +262 -0
  376. data/vendor/local/share/gtk-doc/html/gio/GFileMonitor.html +353 -0
  377. data/vendor/local/share/gtk-doc/html/gio/GFileOutputStream.html +301 -0
  378. data/vendor/local/share/gtk-doc/html/gio/GFilenameCompleter.html +217 -0
  379. data/vendor/local/share/gtk-doc/html/gio/GFilterInputStream.html +188 -0
  380. data/vendor/local/share/gtk-doc/html/gio/GFilterOutputStream.html +189 -0
  381. data/vendor/local/share/gtk-doc/html/gio/GIOModule.html +261 -0
  382. data/vendor/local/share/gtk-doc/html/gio/GIOStream.html +479 -0
  383. data/vendor/local/share/gtk-doc/html/gio/GIcon.html +331 -0
  384. data/vendor/local/share/gtk-doc/html/gio/GInetAddress.html +717 -0
  385. data/vendor/local/share/gtk-doc/html/gio/GInetSocketAddress.html +196 -0
  386. data/vendor/local/share/gtk-doc/html/gio/GInitable.html +388 -0
  387. data/vendor/local/share/gtk-doc/html/gio/GInputStream.html +808 -0
  388. data/vendor/local/share/gtk-doc/html/gio/GLoadableIcon.html +301 -0
  389. data/vendor/local/share/gtk-doc/html/gio/GMemoryInputStream.html +185 -0
  390. data/vendor/local/share/gtk-doc/html/gio/GMemoryOutputStream.html +393 -0
  391. data/vendor/local/share/gtk-doc/html/gio/GMount.html +1465 -0
  392. data/vendor/local/share/gtk-doc/html/gio/GMountOperation.html +848 -0
  393. data/vendor/local/share/gtk-doc/html/gio/GNetworkAddress.html +343 -0
  394. data/vendor/local/share/gtk-doc/html/gio/GNetworkService.html +311 -0
  395. data/vendor/local/share/gtk-doc/html/gio/GOutputStream.html +1012 -0
  396. data/vendor/local/share/gtk-doc/html/gio/GPermission.html +560 -0
  397. data/vendor/local/share/gtk-doc/html/gio/GProxy.html +312 -0
  398. data/vendor/local/share/gtk-doc/html/gio/GProxyAddress.html +348 -0
  399. data/vendor/local/share/gtk-doc/html/gio/GProxyResolver.html +301 -0
  400. data/vendor/local/share/gtk-doc/html/gio/GResolver.html +787 -0
  401. data/vendor/local/share/gtk-doc/html/gio/GSeekable.html +350 -0
  402. data/vendor/local/share/gtk-doc/html/gio/GSettings.html +2424 -0
  403. data/vendor/local/share/gtk-doc/html/gio/GSettingsBackend.html +609 -0
  404. data/vendor/local/share/gtk-doc/html/gio/GSimpleAsyncResult.html +1193 -0
  405. data/vendor/local/share/gtk-doc/html/gio/GSimplePermission.html +107 -0
  406. data/vendor/local/share/gtk-doc/html/gio/GSocket.html +2438 -0
  407. data/vendor/local/share/gtk-doc/html/gio/GSocketAddress.html +297 -0
  408. data/vendor/local/share/gtk-doc/html/gio/GSocketClient.html +1292 -0
  409. data/vendor/local/share/gtk-doc/html/gio/GSocketConnectable.html +513 -0
  410. data/vendor/local/share/gtk-doc/html/gio/GSocketConnection.html +337 -0
  411. data/vendor/local/share/gtk-doc/html/gio/GSocketControlMessage.html +275 -0
  412. data/vendor/local/share/gtk-doc/html/gio/GSocketListener.html +745 -0
  413. data/vendor/local/share/gtk-doc/html/gio/GSocketService.html +258 -0
  414. data/vendor/local/share/gtk-doc/html/gio/GTcpConnection.html +165 -0
  415. data/vendor/local/share/gtk-doc/html/gio/GThemedIcon.html +377 -0
  416. data/vendor/local/share/gtk-doc/html/gio/GThreadedSocketService.html +197 -0
  417. data/vendor/local/share/gtk-doc/html/gio/GUnixConnection.html +298 -0
  418. data/vendor/local/share/gtk-doc/html/gio/GUnixCredentialsMessage.html +222 -0
  419. data/vendor/local/share/gtk-doc/html/gio/GUnixFDList.html +389 -0
  420. data/vendor/local/share/gtk-doc/html/gio/GUnixFDMessage.html +288 -0
  421. data/vendor/local/share/gtk-doc/html/gio/GUnixInputStream.html +237 -0
  422. data/vendor/local/share/gtk-doc/html/gio/GUnixOutputStream.html +237 -0
  423. data/vendor/local/share/gtk-doc/html/gio/GUnixSocketAddress.html +491 -0
  424. data/vendor/local/share/gtk-doc/html/gio/GVfs.html +274 -0
  425. data/vendor/local/share/gtk-doc/html/gio/GVolume.html +1028 -0
  426. data/vendor/local/share/gtk-doc/html/gio/GVolumeMonitor.html +705 -0
  427. data/vendor/local/share/gtk-doc/html/gio/GZlibCompressor.html +252 -0
  428. data/vendor/local/share/gtk-doc/html/gio/GZlibDecompressor.html +170 -0
  429. data/vendor/local/share/gtk-doc/html/gio/annotation-glossary.html +65 -0
  430. data/vendor/local/share/gtk-doc/html/gio/api-index-2-18.html +153 -0
  431. data/vendor/local/share/gtk-doc/html/gio/api-index-2-20.html +155 -0
  432. data/vendor/local/share/gtk-doc/html/gio/api-index-2-22.html +1084 -0
  433. data/vendor/local/share/gtk-doc/html/gio/api-index-2-24.html +223 -0
  434. data/vendor/local/share/gtk-doc/html/gio/api-index-2-26.html +1598 -0
  435. data/vendor/local/share/gtk-doc/html/gio/api-index-deprecated.html +112 -0
  436. data/vendor/local/share/gtk-doc/html/gio/api-index-full.html +6250 -0
  437. data/vendor/local/share/gtk-doc/html/gio/async.html +44 -0
  438. data/vendor/local/share/gtk-doc/html/gio/ch01.html +207 -0
  439. data/vendor/local/share/gtk-doc/html/gio/ch02.html +50 -0
  440. data/vendor/local/share/gtk-doc/html/gio/ch03.html +180 -0
  441. data/vendor/local/share/gtk-doc/html/gio/ch19.html +75 -0
  442. data/vendor/local/share/gtk-doc/html/gio/ch20.html +217 -0
  443. data/vendor/local/share/gtk-doc/html/gio/ch20s02.html +41 -0
  444. data/vendor/local/share/gtk-doc/html/gio/ch20s03.html +39 -0
  445. data/vendor/local/share/gtk-doc/html/gio/ch24.html +75 -0
  446. data/vendor/local/share/gtk-doc/html/gio/ch25.html +217 -0
  447. data/vendor/local/share/gtk-doc/html/gio/ch25s02.html +41 -0
  448. data/vendor/local/share/gtk-doc/html/gio/ch25s03.html +39 -0
  449. data/vendor/local/share/gtk-doc/html/gio/ch26.html +57 -0
  450. data/vendor/local/share/gtk-doc/html/gio/ch26s02.html +59 -0
  451. data/vendor/local/share/gtk-doc/html/gio/ch26s03.html +159 -0
  452. data/vendor/local/share/gtk-doc/html/gio/ch26s04.html +46 -0
  453. data/vendor/local/share/gtk-doc/html/gio/ch26s05.html +48 -0
  454. data/vendor/local/share/gtk-doc/html/gio/ch26s06.html +277 -0
  455. data/vendor/local/share/gtk-doc/html/gio/ch26s07.html +95 -0
  456. data/vendor/local/share/gtk-doc/html/gio/ch27.html +70 -0
  457. data/vendor/local/share/gtk-doc/html/gio/ch27s02.html +130 -0
  458. data/vendor/local/share/gtk-doc/html/gio/ch27s03.html +202 -0
  459. data/vendor/local/share/gtk-doc/html/gio/ch27s04.html +96 -0
  460. data/vendor/local/share/gtk-doc/html/gio/ch27s05.html +823 -0
  461. data/vendor/local/share/gtk-doc/html/gio/ch27s06.html +828 -0
  462. data/vendor/local/share/gtk-doc/html/gio/conversion.html +44 -0
  463. data/vendor/local/share/gtk-doc/html/gio/extending-gio.html +109 -0
  464. data/vendor/local/share/gtk-doc/html/gio/extending.html +41 -0
  465. data/vendor/local/share/gtk-doc/html/gio/failable_initialization.html +38 -0
  466. data/vendor/local/share/gtk-doc/html/gio/file_mon.html +33 -0
  467. data/vendor/local/share/gtk-doc/html/gio/file_ops.html +50 -0
  468. data/vendor/local/share/gtk-doc/html/gio/gdbus-convenience.html +41 -0
  469. data/vendor/local/share/gtk-doc/html/gio/gdbus-lowlevel.html +59 -0
  470. data/vendor/local/share/gtk-doc/html/gio/gdbus.html +243 -0
  471. data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Addresses.html +316 -0
  472. data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Introspection-Data.html +1117 -0
  473. data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Utilities.html +216 -0
  474. data/vendor/local/share/gtk-doc/html/gio/gio-Desktop-file-based-GAppInfo.html +339 -0
  475. data/vendor/local/share/gtk-doc/html/gio/gio-Extension-Points.html +473 -0
  476. data/vendor/local/share/gtk-doc/html/gio/gio-GContentType.html +391 -0
  477. data/vendor/local/share/gtk-doc/html/gio/gio-GConverterInputstream.html +159 -0
  478. data/vendor/local/share/gtk-doc/html/gio/gio-GConverterOutputstream.html +159 -0
  479. data/vendor/local/share/gtk-doc/html/gio/gio-GDBusError.html +908 -0
  480. data/vendor/local/share/gtk-doc/html/gio/gio-GFileAttribute.html +933 -0
  481. data/vendor/local/share/gtk-doc/html/gio/gio-GIOError.html +409 -0
  482. data/vendor/local/share/gtk-doc/html/gio/gio-GIOScheduler.html +297 -0
  483. data/vendor/local/share/gtk-doc/html/gio/gio-GSrvTarget.html +313 -0
  484. data/vendor/local/share/gtk-doc/html/gio/gio-Owning-Bus-Names.html +736 -0
  485. data/vendor/local/share/gtk-doc/html/gio/gio-Unix-Mounts.html +909 -0
  486. data/vendor/local/share/gtk-doc/html/gio/gio-Watching-Bus-Names.html +666 -0
  487. data/vendor/local/share/gtk-doc/html/gio/gio-hierarchy.html +123 -0
  488. data/vendor/local/share/gtk-doc/html/gio/gio-querymodules.html +53 -0
  489. data/vendor/local/share/gtk-doc/html/gio/gio.devhelp +1736 -0
  490. data/vendor/local/share/gtk-doc/html/gio/gio.devhelp2 +2006 -0
  491. data/vendor/local/share/gtk-doc/html/gio/glib-compile-schemas.html +102 -0
  492. data/vendor/local/share/gtk-doc/html/gio/gvfs-overview.png +0 -0
  493. data/vendor/local/share/gtk-doc/html/gio/highlevel-socket.html +53 -0
  494. data/vendor/local/share/gtk-doc/html/gio/home.png +0 -0
  495. data/vendor/local/share/gtk-doc/html/gio/icons.html +50 -0
  496. data/vendor/local/share/gtk-doc/html/gio/index.html +435 -0
  497. data/vendor/local/share/gtk-doc/html/gio/index.sgml +2513 -0
  498. data/vendor/local/share/gtk-doc/html/gio/left.png +0 -0
  499. data/vendor/local/share/gtk-doc/html/gio/migrating.html +62 -0
  500. data/vendor/local/share/gtk-doc/html/gio/networking.html +69 -0
  501. data/vendor/local/share/gtk-doc/html/gio/permissions.html +39 -0
  502. data/vendor/local/share/gtk-doc/html/gio/pt01.html +39 -0
  503. data/vendor/local/share/gtk-doc/html/gio/pt02.html +390 -0
  504. data/vendor/local/share/gtk-doc/html/gio/resolver.html +50 -0
  505. data/vendor/local/share/gtk-doc/html/gio/right.png +0 -0
  506. data/vendor/local/share/gtk-doc/html/gio/settings.html +38 -0
  507. data/vendor/local/share/gtk-doc/html/gio/streaming.html +92 -0
  508. data/vendor/local/share/gtk-doc/html/gio/style.css +265 -0
  509. data/vendor/local/share/gtk-doc/html/gio/tools.html +44 -0
  510. data/vendor/local/share/gtk-doc/html/gio/types.html +41 -0
  511. data/vendor/local/share/gtk-doc/html/gio/up.png +0 -0
  512. data/vendor/local/share/gtk-doc/html/gio/utils.html +33 -0
  513. data/vendor/local/share/gtk-doc/html/gio/volume_mon.html +47 -0
  514. data/vendor/local/share/gtk-doc/html/glib/annotation-glossary.html +77 -0
  515. data/vendor/local/share/gtk-doc/html/glib/api-index-2-10.html +180 -0
  516. data/vendor/local/share/gtk-doc/html/glib/api-index-2-12.html +312 -0
  517. data/vendor/local/share/gtk-doc/html/glib/api-index-2-14.html +559 -0
  518. data/vendor/local/share/gtk-doc/html/glib/api-index-2-16.html +362 -0
  519. data/vendor/local/share/gtk-doc/html/glib/api-index-2-18.html +102 -0
  520. data/vendor/local/share/gtk-doc/html/glib/api-index-2-2.html +124 -0
  521. data/vendor/local/share/gtk-doc/html/glib/api-index-2-20.html +83 -0
  522. data/vendor/local/share/gtk-doc/html/glib/api-index-2-22.html +194 -0
  523. data/vendor/local/share/gtk-doc/html/glib/api-index-2-24.html +420 -0
  524. data/vendor/local/share/gtk-doc/html/glib/api-index-2-26.html +359 -0
  525. data/vendor/local/share/gtk-doc/html/glib/api-index-2-4.html +396 -0
  526. data/vendor/local/share/gtk-doc/html/glib/api-index-2-6.html +417 -0
  527. data/vendor/local/share/gtk-doc/html/glib/api-index-2-8.html +158 -0
  528. data/vendor/local/share/gtk-doc/html/glib/api-index-deprecated.html +419 -0
  529. data/vendor/local/share/gtk-doc/html/glib/api-index-full.html +8214 -0
  530. data/vendor/local/share/gtk-doc/html/glib/file-name-encodings.png +0 -0
  531. data/vendor/local/share/gtk-doc/html/glib/glib-Arrays.html +893 -0
  532. data/vendor/local/share/gtk-doc/html/glib/glib-Asynchronous-Queues.html +818 -0
  533. data/vendor/local/share/gtk-doc/html/glib/glib-Atomic-Operations.html +414 -0
  534. data/vendor/local/share/gtk-doc/html/glib/glib-Automatic-String-Completion.html +466 -0
  535. data/vendor/local/share/gtk-doc/html/glib/glib-Balanced-Binary-Trees.html +802 -0
  536. data/vendor/local/share/gtk-doc/html/glib/glib-Base64-Encoding.html +372 -0
  537. data/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html +500 -0
  538. data/vendor/local/share/gtk-doc/html/glib/glib-Bookmark-file-parser.html +2056 -0
  539. data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Arrays.html +560 -0
  540. data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Order-Macros.html +1686 -0
  541. data/vendor/local/share/gtk-doc/html/glib/glib-Caches.html +398 -0
  542. data/vendor/local/share/gtk-doc/html/glib/glib-Character-Set-Conversion.html +1094 -0
  543. data/vendor/local/share/gtk-doc/html/glib/glib-Commandline-option-parser.html +1671 -0
  544. data/vendor/local/share/gtk-doc/html/glib/glib-Data-Checksums.html +460 -0
  545. data/vendor/local/share/gtk-doc/html/glib/glib-Datasets.html +528 -0
  546. data/vendor/local/share/gtk-doc/html/glib/glib-Date-and-Time-Functions.html +2045 -0
  547. data/vendor/local/share/gtk-doc/html/glib/glib-Double-ended-Queues.html +1278 -0
  548. data/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html +1406 -0
  549. data/vendor/local/share/gtk-doc/html/glib/glib-Dynamic-Loading-of-Modules.html +548 -0
  550. data/vendor/local/share/gtk-doc/html/glib/glib-Error-Reporting.html +1026 -0
  551. data/vendor/local/share/gtk-doc/html/glib/glib-File-Utilities.html +1852 -0
  552. data/vendor/local/share/gtk-doc/html/glib/glib-GDateTime.html +2201 -0
  553. data/vendor/local/share/gtk-doc/html/glib/glib-GTimeZone.html +239 -0
  554. data/vendor/local/share/gtk-doc/html/glib/glib-GVariant.html +4278 -0
  555. data/vendor/local/share/gtk-doc/html/glib/glib-GVariantType.html +1864 -0
  556. data/vendor/local/share/gtk-doc/html/glib/glib-Glob-style-pattern-matching.html +295 -0
  557. data/vendor/local/share/gtk-doc/html/glib/glib-Hash-Tables.html +1512 -0
  558. data/vendor/local/share/gtk-doc/html/glib/glib-Hook-Functions.html +1367 -0
  559. data/vendor/local/share/gtk-doc/html/glib/glib-Hostname-Utilities.html +229 -0
  560. data/vendor/local/share/gtk-doc/html/glib/glib-I18N.html +692 -0
  561. data/vendor/local/share/gtk-doc/html/glib/glib-IO-Channels.html +2196 -0
  562. data/vendor/local/share/gtk-doc/html/glib/glib-Key-value-file-parser.html +2740 -0
  563. data/vendor/local/share/gtk-doc/html/glib/glib-Keyed-Data-Lists.html +612 -0
  564. data/vendor/local/share/gtk-doc/html/glib/glib-Lexical-Scanner.html +1451 -0
  565. data/vendor/local/share/gtk-doc/html/glib/glib-Limits-of-Basic-Types.html +389 -0
  566. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html +1033 -0
  567. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocators.html +141 -0
  568. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Chunks.html +706 -0
  569. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Slices.html +510 -0
  570. data/vendor/local/share/gtk-doc/html/glib/glib-Message-Logging.html +748 -0
  571. data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html +1105 -0
  572. data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html +1552 -0
  573. data/vendor/local/share/gtk-doc/html/glib/glib-N-ary-Trees.html +1468 -0
  574. data/vendor/local/share/gtk-doc/html/glib/glib-Numerical-Definitions.html +194 -0
  575. data/vendor/local/share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html +2745 -0
  576. data/vendor/local/share/gtk-doc/html/glib/glib-Pointer-Arrays.html +752 -0
  577. data/vendor/local/share/gtk-doc/html/glib/glib-Quarks.html +269 -0
  578. data/vendor/local/share/gtk-doc/html/glib/glib-Random-Numbers.html +578 -0
  579. data/vendor/local/share/gtk-doc/html/glib/glib-Relations-and-Tuples.html +532 -0
  580. data/vendor/local/share/gtk-doc/html/glib/glib-Sequences.html +1353 -0
  581. data/vendor/local/share/gtk-doc/html/glib/glib-Shell-related-Utilities.html +238 -0
  582. data/vendor/local/share/gtk-doc/html/glib/glib-Simple-XML-Subset-Parser.html +1282 -0
  583. data/vendor/local/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html +1213 -0
  584. data/vendor/local/share/gtk-doc/html/glib/glib-Spawning-Processes.html +924 -0
  585. data/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html +470 -0
  586. data/vendor/local/share/gtk-doc/html/glib/glib-String-Chunks.html +301 -0
  587. data/vendor/local/share/gtk-doc/html/glib/glib-String-Utility-Functions.html +2960 -0
  588. data/vendor/local/share/gtk-doc/html/glib/glib-Strings.html +1291 -0
  589. data/vendor/local/share/gtk-doc/html/glib/glib-Testing.html +1805 -0
  590. data/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html +3478 -0
  591. data/vendor/local/share/gtk-doc/html/glib/glib-Thread-Pools.html +606 -0
  592. data/vendor/local/share/gtk-doc/html/glib/glib-Threads.html +3411 -0
  593. data/vendor/local/share/gtk-doc/html/glib/glib-Timers.html +245 -0
  594. data/vendor/local/share/gtk-doc/html/glib/glib-Trash-Stacks.html +188 -0
  595. data/vendor/local/share/gtk-doc/html/glib/glib-Type-Conversion-Macros.html +263 -0
  596. data/vendor/local/share/gtk-doc/html/glib/glib-URI-Functions.html +400 -0
  597. data/vendor/local/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html +3448 -0
  598. data/vendor/local/share/gtk-doc/html/glib/glib-Version-Information.html +253 -0
  599. data/vendor/local/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html +438 -0
  600. data/vendor/local/share/gtk-doc/html/glib/glib-Windows-Compatibility-Functions.html +476 -0
  601. data/vendor/local/share/gtk-doc/html/glib/glib-building.html +466 -0
  602. data/vendor/local/share/gtk-doc/html/glib/glib-changes.html +159 -0
  603. data/vendor/local/share/gtk-doc/html/glib/glib-compiling.html +118 -0
  604. data/vendor/local/share/gtk-doc/html/glib/glib-core.html +64 -0
  605. data/vendor/local/share/gtk-doc/html/glib/glib-cross-compiling.html +160 -0
  606. data/vendor/local/share/gtk-doc/html/glib/glib-data-types.html +120 -0
  607. data/vendor/local/share/gtk-doc/html/glib/glib-fundamentals.html +59 -0
  608. data/vendor/local/share/gtk-doc/html/glib/glib-gettextize.html +93 -0
  609. data/vendor/local/share/gtk-doc/html/glib/glib-regex-syntax.html +2217 -0
  610. data/vendor/local/share/gtk-doc/html/glib/glib-resources.html +121 -0
  611. data/vendor/local/share/gtk-doc/html/glib/glib-running.html +319 -0
  612. data/vendor/local/share/gtk-doc/html/glib/glib-utilities.html +118 -0
  613. data/vendor/local/share/gtk-doc/html/glib/glib.devhelp +2183 -0
  614. data/vendor/local/share/gtk-doc/html/glib/glib.devhelp2 +2671 -0
  615. data/vendor/local/share/gtk-doc/html/glib/glib.html +80 -0
  616. data/vendor/local/share/gtk-doc/html/glib/gtester-report.html +72 -0
  617. data/vendor/local/share/gtk-doc/html/glib/gtester.html +131 -0
  618. data/vendor/local/share/gtk-doc/html/glib/gvariant-format-strings.html +1288 -0
  619. data/vendor/local/share/gtk-doc/html/glib/home.png +0 -0
  620. data/vendor/local/share/gtk-doc/html/glib/index.html +344 -0
  621. data/vendor/local/share/gtk-doc/html/glib/index.sgml +2846 -0
  622. data/vendor/local/share/gtk-doc/html/glib/left.png +0 -0
  623. data/vendor/local/share/gtk-doc/html/glib/mainloop-states.gif +0 -0
  624. data/vendor/local/share/gtk-doc/html/glib/right.png +0 -0
  625. data/vendor/local/share/gtk-doc/html/glib/style.css +265 -0
  626. data/vendor/local/share/gtk-doc/html/glib/tools.html +41 -0
  627. data/vendor/local/share/gtk-doc/html/glib/up.png +0 -0
  628. data/vendor/local/share/gtk-doc/html/gobject/GBinding.html +803 -0
  629. data/vendor/local/share/gtk-doc/html/gobject/GTypeModule.html +710 -0
  630. data/vendor/local/share/gtk-doc/html/gobject/GTypePlugin.html +453 -0
  631. data/vendor/local/share/gtk-doc/html/gobject/annotation-glossary.html +47 -0
  632. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-10.html +85 -0
  633. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-12.html +55 -0
  634. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-14.html +51 -0
  635. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-18.html +46 -0
  636. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-2.html +38 -0
  637. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-22.html +46 -0
  638. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-24.html +73 -0
  639. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-26.html +201 -0
  640. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-4.html +178 -0
  641. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-6.html +42 -0
  642. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-8.html +42 -0
  643. data/vendor/local/share/gtk-doc/html/gobject/api-index-deprecated.html +50 -0
  644. data/vendor/local/share/gtk-doc/html/gobject/api-index-full.html +2721 -0
  645. data/vendor/local/share/gtk-doc/html/gobject/ch01s02.html +136 -0
  646. data/vendor/local/share/gtk-doc/html/gobject/ch06s03.html +113 -0
  647. data/vendor/local/share/gtk-doc/html/gobject/chapter-gobject.html +293 -0
  648. data/vendor/local/share/gtk-doc/html/gobject/chapter-gtype.html +263 -0
  649. data/vendor/local/share/gtk-doc/html/gobject/chapter-intro.html +92 -0
  650. data/vendor/local/share/gtk-doc/html/gobject/chapter-signal.html +214 -0
  651. data/vendor/local/share/gtk-doc/html/gobject/glib-genmarshal.html +361 -0
  652. data/vendor/local/share/gtk-doc/html/gobject/glib-mkenums.html +307 -0
  653. data/vendor/local/share/gtk-doc/html/gobject/glue.png +0 -0
  654. data/vendor/local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html +417 -0
  655. data/vendor/local/share/gtk-doc/html/gobject/gobject-Closures.html +2412 -0
  656. data/vendor/local/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html +847 -0
  657. data/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html +1433 -0
  658. data/vendor/local/share/gtk-doc/html/gobject/gobject-Generic-values.html +776 -0
  659. data/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html +2741 -0
  660. data/vendor/local/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html +5555 -0
  661. data/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html +2875 -0
  662. data/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html +4460 -0
  663. data/vendor/local/share/gtk-doc/html/gobject/gobject-Value-arrays.html +416 -0
  664. data/vendor/local/share/gtk-doc/html/gobject/gobject-Varargs-Value-Collection.html +260 -0
  665. data/vendor/local/share/gtk-doc/html/gobject/gobject-memory.html +234 -0
  666. data/vendor/local/share/gtk-doc/html/gobject/gobject-properties.html +270 -0
  667. data/vendor/local/share/gtk-doc/html/gobject/gobject-query.html +117 -0
  668. data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp +762 -0
  669. data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp2 +801 -0
  670. data/vendor/local/share/gtk-doc/html/gobject/gtype-conventions.html +143 -0
  671. data/vendor/local/share/gtk-doc/html/gobject/gtype-instantiable-classed.html +287 -0
  672. data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable-classed.html +316 -0
  673. data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable.html +76 -0
  674. data/vendor/local/share/gtk-doc/html/gobject/home.png +0 -0
  675. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-chainup.html +100 -0
  676. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-code.html +86 -0
  677. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-construction.html +113 -0
  678. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-destruction.html +122 -0
  679. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-methods.html +257 -0
  680. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject.html +283 -0
  681. data/vendor/local/share/gtk-doc/html/gobject/howto-interface-implement.html +125 -0
  682. data/vendor/local/share/gtk-doc/html/gobject/howto-interface-properties.html +167 -0
  683. data/vendor/local/share/gtk-doc/html/gobject/howto-interface.html +160 -0
  684. data/vendor/local/share/gtk-doc/html/gobject/howto-signals.html +121 -0
  685. data/vendor/local/share/gtk-doc/html/gobject/index.html +192 -0
  686. data/vendor/local/share/gtk-doc/html/gobject/index.sgml +786 -0
  687. data/vendor/local/share/gtk-doc/html/gobject/left.png +0 -0
  688. data/vendor/local/share/gtk-doc/html/gobject/pr01.html +72 -0
  689. data/vendor/local/share/gtk-doc/html/gobject/pt01.html +80 -0
  690. data/vendor/local/share/gtk-doc/html/gobject/pt02.html +66 -0
  691. data/vendor/local/share/gtk-doc/html/gobject/pt03.html +55 -0
  692. data/vendor/local/share/gtk-doc/html/gobject/right.png +0 -0
  693. data/vendor/local/share/gtk-doc/html/gobject/rn01.html +85 -0
  694. data/vendor/local/share/gtk-doc/html/gobject/rn02.html +47 -0
  695. data/vendor/local/share/gtk-doc/html/gobject/signal.html +377 -0
  696. data/vendor/local/share/gtk-doc/html/gobject/style.css +265 -0
  697. data/vendor/local/share/gtk-doc/html/gobject/tools-ginspector.html +35 -0
  698. data/vendor/local/share/gtk-doc/html/gobject/tools-gob.html +40 -0
  699. data/vendor/local/share/gtk-doc/html/gobject/tools-gtkdoc.html +63 -0
  700. data/vendor/local/share/gtk-doc/html/gobject/tools-refdb.html +55 -0
  701. data/vendor/local/share/gtk-doc/html/gobject/tools-vala.html +43 -0
  702. data/vendor/local/share/gtk-doc/html/gobject/up.png +0 -0
  703. data/vendor/local/share/locale/af/LC_MESSAGES/glib20.mo +0 -0
  704. data/vendor/local/share/locale/am/LC_MESSAGES/glib20.mo +0 -0
  705. data/vendor/local/share/locale/ar/LC_MESSAGES/glib20.mo +0 -0
  706. data/vendor/local/share/locale/as/LC_MESSAGES/glib20.mo +0 -0
  707. data/vendor/local/share/locale/ast/LC_MESSAGES/glib20.mo +0 -0
  708. data/vendor/local/share/locale/az/LC_MESSAGES/glib20.mo +0 -0
  709. data/vendor/local/share/locale/be/LC_MESSAGES/gettext-runtime.mo +0 -0
  710. data/vendor/local/share/locale/be/LC_MESSAGES/glib20.mo +0 -0
  711. data/vendor/local/share/locale/be@latin/LC_MESSAGES/glib20.mo +0 -0
  712. data/vendor/local/share/locale/bg/LC_MESSAGES/gettext-runtime.mo +0 -0
  713. data/vendor/local/share/locale/bg/LC_MESSAGES/glib20.mo +0 -0
  714. data/vendor/local/share/locale/bn/LC_MESSAGES/glib20.mo +0 -0
  715. data/vendor/local/share/locale/bn_IN/LC_MESSAGES/glib20.mo +0 -0
  716. data/vendor/local/share/locale/bs/LC_MESSAGES/glib20.mo +0 -0
  717. data/vendor/local/share/locale/ca/LC_MESSAGES/gettext-runtime.mo +0 -0
  718. data/vendor/local/share/locale/ca/LC_MESSAGES/glib20.mo +0 -0
  719. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/glib20.mo +0 -0
  720. data/vendor/local/share/locale/cs/LC_MESSAGES/gettext-runtime.mo +0 -0
  721. data/vendor/local/share/locale/cs/LC_MESSAGES/glib20.mo +0 -0
  722. data/vendor/local/share/locale/cy/LC_MESSAGES/glib20.mo +0 -0
  723. data/vendor/local/share/locale/da/LC_MESSAGES/gettext-runtime.mo +0 -0
  724. data/vendor/local/share/locale/da/LC_MESSAGES/glib20.mo +0 -0
  725. data/vendor/local/share/locale/de/LC_MESSAGES/gettext-runtime.mo +0 -0
  726. data/vendor/local/share/locale/de/LC_MESSAGES/glib20.mo +0 -0
  727. data/vendor/local/share/locale/dz/LC_MESSAGES/glib20.mo +0 -0
  728. data/vendor/local/share/locale/el/LC_MESSAGES/gettext-runtime.mo +0 -0
  729. data/vendor/local/share/locale/el/LC_MESSAGES/glib20.mo +0 -0
  730. data/vendor/local/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo +0 -0
  731. data/vendor/local/share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo +0 -0
  732. data/vendor/local/share/locale/en@shaw/LC_MESSAGES/glib20.mo +0 -0
  733. data/vendor/local/share/locale/en_CA/LC_MESSAGES/glib20.mo +0 -0
  734. data/vendor/local/share/locale/en_GB/LC_MESSAGES/glib20.mo +0 -0
  735. data/vendor/local/share/locale/eo/LC_MESSAGES/gettext-runtime.mo +0 -0
  736. data/vendor/local/share/locale/eo/LC_MESSAGES/glib20.mo +0 -0
  737. data/vendor/local/share/locale/es/LC_MESSAGES/gettext-runtime.mo +0 -0
  738. data/vendor/local/share/locale/es/LC_MESSAGES/glib20.mo +0 -0
  739. data/vendor/local/share/locale/et/LC_MESSAGES/gettext-runtime.mo +0 -0
  740. data/vendor/local/share/locale/et/LC_MESSAGES/glib20.mo +0 -0
  741. data/vendor/local/share/locale/eu/LC_MESSAGES/glib20.mo +0 -0
  742. data/vendor/local/share/locale/fa/LC_MESSAGES/glib20.mo +0 -0
  743. data/vendor/local/share/locale/fi/LC_MESSAGES/gettext-runtime.mo +0 -0
  744. data/vendor/local/share/locale/fi/LC_MESSAGES/glib20.mo +0 -0
  745. data/vendor/local/share/locale/fr/LC_MESSAGES/gettext-runtime.mo +0 -0
  746. data/vendor/local/share/locale/fr/LC_MESSAGES/glib20.mo +0 -0
  747. data/vendor/local/share/locale/ga/LC_MESSAGES/gettext-runtime.mo +0 -0
  748. data/vendor/local/share/locale/ga/LC_MESSAGES/glib20.mo +0 -0
  749. data/vendor/local/share/locale/gl/LC_MESSAGES/gettext-runtime.mo +0 -0
  750. data/vendor/local/share/locale/gl/LC_MESSAGES/glib20.mo +0 -0
  751. data/vendor/local/share/locale/gu/LC_MESSAGES/glib20.mo +0 -0
  752. data/vendor/local/share/locale/he/LC_MESSAGES/glib20.mo +0 -0
  753. data/vendor/local/share/locale/hi/LC_MESSAGES/glib20.mo +0 -0
  754. data/vendor/local/share/locale/hr/LC_MESSAGES/glib20.mo +0 -0
  755. data/vendor/local/share/locale/hu/LC_MESSAGES/glib20.mo +0 -0
  756. data/vendor/local/share/locale/hy/LC_MESSAGES/glib20.mo +0 -0
  757. data/vendor/local/share/locale/id/LC_MESSAGES/gettext-runtime.mo +0 -0
  758. data/vendor/local/share/locale/id/LC_MESSAGES/glib20.mo +0 -0
  759. data/vendor/local/share/locale/is/LC_MESSAGES/glib20.mo +0 -0
  760. data/vendor/local/share/locale/it/LC_MESSAGES/gettext-runtime.mo +0 -0
  761. data/vendor/local/share/locale/it/LC_MESSAGES/glib20.mo +0 -0
  762. data/vendor/local/share/locale/ja/LC_MESSAGES/gettext-runtime.mo +0 -0
  763. data/vendor/local/share/locale/ja/LC_MESSAGES/glib20.mo +0 -0
  764. data/vendor/local/share/locale/ka/LC_MESSAGES/glib20.mo +0 -0
  765. data/vendor/local/share/locale/kk/LC_MESSAGES/glib20.mo +0 -0
  766. data/vendor/local/share/locale/kn/LC_MESSAGES/glib20.mo +0 -0
  767. data/vendor/local/share/locale/ko/LC_MESSAGES/gettext-runtime.mo +0 -0
  768. data/vendor/local/share/locale/ko/LC_MESSAGES/glib20.mo +0 -0
  769. data/vendor/local/share/locale/ku/LC_MESSAGES/glib20.mo +0 -0
  770. data/vendor/local/share/locale/locale.alias +77 -0
  771. data/vendor/local/share/locale/lt/LC_MESSAGES/glib20.mo +0 -0
  772. data/vendor/local/share/locale/lv/LC_MESSAGES/glib20.mo +0 -0
  773. data/vendor/local/share/locale/mai/LC_MESSAGES/glib20.mo +0 -0
  774. data/vendor/local/share/locale/mg/LC_MESSAGES/glib20.mo +0 -0
  775. data/vendor/local/share/locale/mk/LC_MESSAGES/glib20.mo +0 -0
  776. data/vendor/local/share/locale/ml/LC_MESSAGES/glib20.mo +0 -0
  777. data/vendor/local/share/locale/mn/LC_MESSAGES/glib20.mo +0 -0
  778. data/vendor/local/share/locale/mr/LC_MESSAGES/glib20.mo +0 -0
  779. data/vendor/local/share/locale/ms/LC_MESSAGES/glib20.mo +0 -0
  780. data/vendor/local/share/locale/nb/LC_MESSAGES/gettext-runtime.mo +0 -0
  781. data/vendor/local/share/locale/nb/LC_MESSAGES/glib20.mo +0 -0
  782. data/vendor/local/share/locale/nds/LC_MESSAGES/glib20.mo +0 -0
  783. data/vendor/local/share/locale/ne/LC_MESSAGES/glib20.mo +0 -0
  784. data/vendor/local/share/locale/nl/LC_MESSAGES/gettext-runtime.mo +0 -0
  785. data/vendor/local/share/locale/nl/LC_MESSAGES/glib20.mo +0 -0
  786. data/vendor/local/share/locale/nn/LC_MESSAGES/gettext-runtime.mo +0 -0
  787. data/vendor/local/share/locale/nn/LC_MESSAGES/glib20.mo +0 -0
  788. data/vendor/local/share/locale/oc/LC_MESSAGES/glib20.mo +0 -0
  789. data/vendor/local/share/locale/or/LC_MESSAGES/glib20.mo +0 -0
  790. data/vendor/local/share/locale/pa/LC_MESSAGES/glib20.mo +0 -0
  791. data/vendor/local/share/locale/pl/LC_MESSAGES/gettext-runtime.mo +0 -0
  792. data/vendor/local/share/locale/pl/LC_MESSAGES/glib20.mo +0 -0
  793. data/vendor/local/share/locale/ps/LC_MESSAGES/glib20.mo +0 -0
  794. data/vendor/local/share/locale/pt/LC_MESSAGES/gettext-runtime.mo +0 -0
  795. data/vendor/local/share/locale/pt/LC_MESSAGES/glib20.mo +0 -0
  796. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo +0 -0
  797. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/glib20.mo +0 -0
  798. data/vendor/local/share/locale/ro/LC_MESSAGES/gettext-runtime.mo +0 -0
  799. data/vendor/local/share/locale/ro/LC_MESSAGES/glib20.mo +0 -0
  800. data/vendor/local/share/locale/ru/LC_MESSAGES/gettext-runtime.mo +0 -0
  801. data/vendor/local/share/locale/ru/LC_MESSAGES/glib20.mo +0 -0
  802. data/vendor/local/share/locale/rw/LC_MESSAGES/glib20.mo +0 -0
  803. data/vendor/local/share/locale/si/LC_MESSAGES/glib20.mo +0 -0
  804. data/vendor/local/share/locale/sk/LC_MESSAGES/gettext-runtime.mo +0 -0
  805. data/vendor/local/share/locale/sk/LC_MESSAGES/glib20.mo +0 -0
  806. data/vendor/local/share/locale/sl/LC_MESSAGES/gettext-runtime.mo +0 -0
  807. data/vendor/local/share/locale/sl/LC_MESSAGES/glib20.mo +0 -0
  808. data/vendor/local/share/locale/sq/LC_MESSAGES/glib20.mo +0 -0
  809. data/vendor/local/share/locale/sr/LC_MESSAGES/gettext-runtime.mo +0 -0
  810. data/vendor/local/share/locale/sr/LC_MESSAGES/glib20.mo +0 -0
  811. data/vendor/local/share/locale/sr@ije/LC_MESSAGES/glib20.mo +0 -0
  812. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/glib20.mo +0 -0
  813. data/vendor/local/share/locale/sv/LC_MESSAGES/gettext-runtime.mo +0 -0
  814. data/vendor/local/share/locale/sv/LC_MESSAGES/glib20.mo +0 -0
  815. data/vendor/local/share/locale/ta/LC_MESSAGES/glib20.mo +0 -0
  816. data/vendor/local/share/locale/te/LC_MESSAGES/glib20.mo +0 -0
  817. data/vendor/local/share/locale/th/LC_MESSAGES/glib20.mo +0 -0
  818. data/vendor/local/share/locale/tl/LC_MESSAGES/glib20.mo +0 -0
  819. data/vendor/local/share/locale/tr/LC_MESSAGES/gettext-runtime.mo +0 -0
  820. data/vendor/local/share/locale/tr/LC_MESSAGES/glib20.mo +0 -0
  821. data/vendor/local/share/locale/tt/LC_MESSAGES/glib20.mo +0 -0
  822. data/vendor/local/share/locale/uk/LC_MESSAGES/gettext-runtime.mo +0 -0
  823. data/vendor/local/share/locale/uk/LC_MESSAGES/glib20.mo +0 -0
  824. data/vendor/local/share/locale/vi/LC_MESSAGES/gettext-runtime.mo +0 -0
  825. data/vendor/local/share/locale/vi/LC_MESSAGES/glib20.mo +0 -0
  826. data/vendor/local/share/locale/wa/LC_MESSAGES/glib20.mo +0 -0
  827. data/vendor/local/share/locale/xh/LC_MESSAGES/glib20.mo +0 -0
  828. data/vendor/local/share/locale/yi/LC_MESSAGES/glib20.mo +0 -0
  829. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo +0 -0
  830. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/glib20.mo +0 -0
  831. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo +0 -0
  832. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/glib20.mo +0 -0
  833. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo +0 -0
  834. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/glib20.mo +0 -0
  835. data/vendor/local/share/man/man1/envsubst.1 +54 -0
  836. data/vendor/local/share/man/man1/gettext.1 +69 -0
  837. data/vendor/local/share/man/man1/glib-genmarshal.1 +312 -0
  838. data/vendor/local/share/man/man1/glib-mkenums.1 +246 -0
  839. data/vendor/local/share/man/man1/gobject-query.1 +83 -0
  840. data/vendor/local/share/man/man1/ngettext.1 +68 -0
  841. data/vendor/local/share/man/man3/bind_textdomain_codeset.3 +72 -0
  842. data/vendor/local/share/man/man3/bindtextdomain.3 +69 -0
  843. data/vendor/local/share/man/man3/dcgettext.3 +1 -0
  844. data/vendor/local/share/man/man3/dcngettext.3 +1 -0
  845. data/vendor/local/share/man/man3/dgettext.3 +1 -0
  846. data/vendor/local/share/man/man3/dngettext.3 +1 -0
  847. data/vendor/local/share/man/man3/gettext.3 +99 -0
  848. data/vendor/local/share/man/man3/ngettext.3 +60 -0
  849. data/vendor/local/share/man/man3/textdomain.3 +57 -0
  850. data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.log +10423 -0
  851. data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.sh +457 -0
  852. data/vendor/local/src/tml/packaging/glib_2.24.2-2_win32.log +2602 -0
  853. data/vendor/local/src/tml/packaging/glib_2.24.2-2_win32.sh +290 -0
  854. data/vendor/local/src/tml/packaging/glib_2.26.0-2_win32.log +2867 -0
  855. data/vendor/local/src/tml/packaging/glib_2.26.0-2_win32.sh +64 -0
  856. 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 &lt;gio/gio.h&gt;
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>