Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 74d8afe92b546211cd13e017cbff8c32 > files > 16

osso-gwobex-devel-0.64-3.bef6bc21.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>GW OBEX Library: gw-obex.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">GW OBEX Library&#160;<span id="projectnumber">0.64</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a>  </div>
  <div class="headertitle">
<h1>gw-obex.h File Reference</h1>  </div>
</div>
<div class="contents">
<div class="textblock"><code>#include &lt;glib.h&gt;</code><br/>
<code>#include &lt;openobex/obex.h&gt;</code><br/>
</div>
<p><a href="gw-obex_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#ab559c6b321c835c233928db58fe88a81">GW_OBEX_UNKNOWN_LENGTH</a>&#160;&#160;&#160;-1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a30cadc2cd08928ec9bd48298b85f77ba">OBEX_FTP_UUID</a>&#160;&#160;&#160;&quot;\xF9\xEC\x7B\xC4\x95\x3C\x11\xD2\x98\x4E\x52\x54\x00\xDC\x9E\x09&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a429b27f223c1094c656c0d746ca9d291">OBEX_FTP_UUID_LEN</a>&#160;&#160;&#160;16</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#ab57e69842e07f8a61090f8a3551911f9">OBEX_PBAP_UUID</a>&#160;&#160;&#160;&quot;\x79\x61\x35\xF0\xF0\xC5\x11\xD8\x09\x66\x08\x00\x20\x0C\x9A\x66&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#ab9668bfcb812872bc56482e2e1d1393c">OBEX_PBAP_UUID_LEN</a>&#160;&#160;&#160;16</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a0497c7837858d71826fb774e60e396a6">OBEX_SYNC_UUID</a>&#160;&#160;&#160;&quot;IRMC-SYNC&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a0068079fba3cb5b7793c4925a4d0f7b2">OBEX_SYNC_UUID_LEN</a>&#160;&#160;&#160;9</td></tr>
<tr><td colspan="2"><div class="groupHeader">GW OBEX Error Codes</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>The error codes returned by many of the functions refer either to an OBEX Protocol error or to a GW OBEX error. If the error code is less that 256, it refers to an OBEX error, othervice it refers to a GW_OBEX_ERROR_* error. </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a707d93c67a2bac2a4515c6aa2598aa76">GW_OBEX_ERROR_DISCONNECT</a>&#160;&#160;&#160;256</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a5e8401649667a7a8a0664f4aab1b7ab9">GW_OBEX_ERROR_ABORT</a>&#160;&#160;&#160;257</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a3bbb077b834dbda5881422cdd3739960">GW_OBEX_ERROR_INTERNAL</a>&#160;&#160;&#160;258</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a2e84429f34f38ba58234931e994c6bfa">GW_OBEX_ERROR_NO_SERVICE</a>&#160;&#160;&#160;259</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#adac6abc766b5d1c1bfd71af827906ac3">GW_OBEX_ERROR_CONNECT_FAILED</a>&#160;&#160;&#160;260</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a11778311c2b6a1aa3d0904718641a1fe">GW_OBEX_ERROR_TIMEOUT</a>&#160;&#160;&#160;261</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a56942856e01c4cd77916b741d884b13b">GW_OBEX_ERROR_INVALID_DATA</a>&#160;&#160;&#160;262</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a09468af56b4cd865941fa03c30af81be">GW_OBEX_ERROR_INVALID_PARAMS</a>&#160;&#160;&#160;263</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a298033353f9de2db4fb5deee19b0dba2">GW_OBEX_ERROR_LOCAL_ACCESS</a>&#160;&#160;&#160;264</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#ae3bf683a10a81ac7914244464505017b">GW_OBEX_ERROR_BUSY</a>&#160;&#160;&#160;265</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a7257bef35cfb42530c041193f373d2cf">GW_OBEX_ERROR_NO_DATA</a>&#160;&#160;&#160;266</td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct gw_obex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct gw_obex_xfer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a60b07b008feb17701611f08d046c11e5">gw_obex_xfer_cb_t</a> )(<a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *xfer, gpointer data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a1018e15842ad8c78c1b91ba8644badfd">gw_obex_disconnect_cb_t</a> )(<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, gpointer data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a38842d36e360a033e73af779f24a5653">gw_obex_progress_cb_t</a> )(<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, gint obex_cmd, gint current, gint target, gpointer data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef gboolean(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a6784de9a8c7a3391325cdcfaabce702d">gw_obex_cancel_cb_t</a> )(gpointer data)</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Functions for connecting and disconnecting</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>With these functions you can create and and disconnect connections. You can either connect using a filename (e.g. "/dev/rfcomm0") or using a file descriptor (e.g. a RFCOMM socket). </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a395d19981a56ce550099501371117ec6">gw_obex_setup_dev</a> (const gchar *device, const gchar *uuid, gint uuid_len, GMainContext *context, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#abf55f0a3b90903ba2b1bb5b9fb66cef7">gw_obex_setup_fd</a> (int fd, const gchar *uuid, gint uuid_len, GMainContext *context, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a7391c2a95635616756164e4b54a74a70">gw_obex_close</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx)</td></tr>
<tr><td colspan="2"><div class="groupHeader">Registering callback functions</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>With these functions you can register your own callback functions to gwobex to receive indications about special events. </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#aae3ea459aaaf86105a0843189062490d">gw_obex_set_disconnect_callback</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, <a class="el" href="gw-obex_8h.html#a1018e15842ad8c78c1b91ba8644badfd">gw_obex_disconnect_cb_t</a> callback, gpointer data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a3532bb66676f23383640404064bf01d9">gw_obex_set_progress_callback</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, <a class="el" href="gw-obex_8h.html#a38842d36e360a033e73af779f24a5653">gw_obex_progress_cb_t</a> callback, gpointer data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#afa0dcd81a95954634e35c6c4be2aa253">gw_obex_set_cancel_callback</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, <a class="el" href="gw-obex_8h.html#a6784de9a8c7a3391325cdcfaabce702d">gw_obex_cancel_cb_t</a> callback, gpointer data)</td></tr>
<tr><td colspan="2"><div class="groupHeader">Functions for performing synchronous remote operations</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Once you have setup a connection using one of the gw_obex_setup_* functions, you can perform different remote transactions using these functions. </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a8daca049a95000ea8721de95963b9e96">gw_obex_get_capability</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, gchar **cap, gint *cap_len, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a6c21b10168a4e31c11e5cd2bd000e97a">gw_obex_get_file</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, const gchar *local, const gchar *remote, const gchar *type, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a592341b43f949b163d6a339e0802fed9">gw_obex_put_file</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, const gchar *local, const gchar *remote, const gchar *type, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a56113ad940944160684ba3aff31c79ce">gw_obex_get_fd</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, gint fd, const gchar *remote, const gchar *type, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a6568a2888ac0dad4889de9c1fea9e3ae">gw_obex_put_fd</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, gint fd, const gchar *remote, const gchar *type, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#aa7e04cc843521659f5c9970a36553157">gw_obex_get_buf</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, const gchar *remote, const gchar *type, gchar **buf, gint *buf_size, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#aebbf193dc7fe878773f91f17f22be5bf">gw_obex_put_buf</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, const gchar *remote, const gchar *type, const gchar *buf, gint buf_size, gint time, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a9f78aff94744e8420c798df000807c12">gw_obex_get_buf_with_apparam</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, const gchar *remote, const gchar *type, const guint8 *apparam, gint apparam_size, gchar **buf, gint *buf_size, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#aecbd57de0413b2b98e93e8d3f16a7eac">gw_obex_put_buf_with_apparam</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, const gchar *remote, const gchar *type, const guint8 *apparam, gint apparam_size, const gchar *buf, gint buf_size, gint time, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#aac21f4df17bb472d2838375cad3526bc">gw_obex_chdir</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, const gchar *dir, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#af74deea7942bbf36aa1d503a38e07b31">gw_obex_mkdir</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, const gchar *dir, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#aadee5b1ccbd303a6019288de53dc79a8">gw_obex_read_dir</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, const gchar *dir, gchar **buf, gint *buf_size, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a9f33e91b9e9ab042019251cc4935e341">gw_obex_delete</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, const gchar *name, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#aa33814db622ad0673cb8afffc0dc703a">gw_obex_move</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, const gchar *src, const gchar *dst, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a6d69f2be7fe08467def67d2330db7828">gw_obex_copy</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, const gchar *src, const gchar *dst, gint *error)</td></tr>
<tr><td colspan="2"><div class="groupHeader">Functions for performing transfers in an asynchronous manner</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>With these functions you can do transfers in smaller steps. The steps are split up in a open, read/write, close manner. </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a77e407cb46aafd3c3fd8f4b2e83e9016">gw_obex_put_async</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, const char *name, const char *type, gint size, time_t time, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#ae840ffc6b96b1ab970fdbf75a1dd1c7a">gw_obex_get_async</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, const char *name, const char *type, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a55fe8a0f6a244f35251825a94f50805d">gw_obex_get_async_with_apparam</a> (<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, const char *name, const char *type, const guint8 *apparam, gint apparam_size, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a66c5bec4f1a2f928008e3836f4f11365">gw_obex_xfer_set_callback</a> (<a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *xfer, <a class="el" href="gw-obex_8h.html#a60b07b008feb17701611f08d046c11e5">gw_obex_xfer_cb_t</a> cb, gpointer user_data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a196f495556d9877aa9656df16603c5f4">gw_obex_xfer_object_time</a> (<a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *xfer)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a483b3d5935ea4d57a78229fe37301327">gw_obex_xfer_object_size</a> (<a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *xfer)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#ad2aded72d1bbd1444f89f60ea4c66cc6">gw_obex_xfer_object_apparam</a> (<a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *xfer, size_t *apparam_size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a8b447cd6a1d8428cb3121c0309c5fa78">gw_obex_xfer_object_done</a> (<a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *xfer)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#ae6b46a275a9336d1ed6aeedd3a00989a">gw_obex_xfer_write</a> (<a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *xfer, const char *buf, gint buf_size, gint *bytes_written, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a48697b830e7bfdb595035f962ac42e3a">gw_obex_xfer_read</a> (<a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *xfer, char *buf, gint buf_size, gint *bytes_read, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a16ebe2554ade8ec47f67e73b03e07b4c">gw_obex_xfer_flush</a> (<a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *xfer, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#accd2fb67321771d312f911fe9a8e2a44">gw_obex_xfer_close</a> (<a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *xfer, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a70a09d731cf39da7d9264e2eaffdd032">gw_obex_xfer_abort</a> (<a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *xfer, gint *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#a3bbc826952ab651b424710a4649f252b">gw_obex_xfer_free</a> (struct gw_obex_xfer *xfer)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gw-obex_8h.html#aaba1db69c33e375794045bd7be4709a5">gw_obex_xfer_set_blocking</a> (<a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *xfer, gboolean block)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OSSO GW OBEX Connectivity Library and API</p>
<dl class="author"><dt><b>Author:</b></dt><dd>Johan Hedberg &lt;<a href="mailto:johan.hedberg@nokia.com">johan.hedberg@nokia.com</a>&gt;</dd></dl>
<p>Copyright (C) 2004-2005 Nokia Corporation. All rights reserved.</p>
<p>This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License, version 2.1, as published by the Free Software Foundation.</p>
<p>This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</p>
<p>You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. </p>
</div><hr/><h2>Define Documentation</h2>
<a class="anchor" id="a5e8401649667a7a8a0664f4aab1b7ab9"></a><!-- doxytag: member="gw&#45;obex.h::GW_OBEX_ERROR_ABORT" ref="a5e8401649667a7a8a0664f4aab1b7ab9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GW_OBEX_ERROR_ABORT&#160;&#160;&#160;257</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Operation was aborted </p>

</div>
</div>
<a class="anchor" id="ae3bf683a10a81ac7914244464505017b"></a><!-- doxytag: member="gw&#45;obex.h::GW_OBEX_ERROR_BUSY" ref="ae3bf683a10a81ac7914244464505017b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GW_OBEX_ERROR_BUSY&#160;&#160;&#160;265</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Another operation is in progress </p>

</div>
</div>
<a class="anchor" id="adac6abc766b5d1c1bfd71af827906ac3"></a><!-- doxytag: member="gw&#45;obex.h::GW_OBEX_ERROR_CONNECT_FAILED" ref="adac6abc766b5d1c1bfd71af827906ac3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GW_OBEX_ERROR_CONNECT_FAILED&#160;&#160;&#160;260</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Unable to create connection </p>

</div>
</div>
<a class="anchor" id="a707d93c67a2bac2a4515c6aa2598aa76"></a><!-- doxytag: member="gw&#45;obex.h::GW_OBEX_ERROR_DISCONNECT" ref="a707d93c67a2bac2a4515c6aa2598aa76" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GW_OBEX_ERROR_DISCONNECT&#160;&#160;&#160;256</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Transport connection was disconnected </p>

</div>
</div>
<a class="anchor" id="a3bbb077b834dbda5881422cdd3739960"></a><!-- doxytag: member="gw&#45;obex.h::GW_OBEX_ERROR_INTERNAL" ref="a3bbb077b834dbda5881422cdd3739960" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GW_OBEX_ERROR_INTERNAL&#160;&#160;&#160;258</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>GW OBEX internal error </p>

</div>
</div>
<a class="anchor" id="a56942856e01c4cd77916b741d884b13b"></a><!-- doxytag: member="gw&#45;obex.h::GW_OBEX_ERROR_INVALID_DATA" ref="a56942856e01c4cd77916b741d884b13b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GW_OBEX_ERROR_INVALID_DATA&#160;&#160;&#160;262</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Remote device returned invalid/corrupted data </p>

</div>
</div>
<a class="anchor" id="a09468af56b4cd865941fa03c30af81be"></a><!-- doxytag: member="gw&#45;obex.h::GW_OBEX_ERROR_INVALID_PARAMS" ref="a09468af56b4cd865941fa03c30af81be" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GW_OBEX_ERROR_INVALID_PARAMS&#160;&#160;&#160;263</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Invalid parameters given to gwobex </p>

</div>
</div>
<a class="anchor" id="a298033353f9de2db4fb5deee19b0dba2"></a><!-- doxytag: member="gw&#45;obex.h::GW_OBEX_ERROR_LOCAL_ACCESS" ref="a298033353f9de2db4fb5deee19b0dba2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GW_OBEX_ERROR_LOCAL_ACCESS&#160;&#160;&#160;264</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Local access error (e.g. read/write/open failed for local file) </p>

</div>
</div>
<a class="anchor" id="a7257bef35cfb42530c041193f373d2cf"></a><!-- doxytag: member="gw&#45;obex.h::GW_OBEX_ERROR_NO_DATA" ref="a7257bef35cfb42530c041193f373d2cf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GW_OBEX_ERROR_NO_DATA&#160;&#160;&#160;266</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>No data currently available </p>

</div>
</div>
<a class="anchor" id="a2e84429f34f38ba58234931e994c6bfa"></a><!-- doxytag: member="gw&#45;obex.h::GW_OBEX_ERROR_NO_SERVICE" ref="a2e84429f34f38ba58234931e994c6bfa" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GW_OBEX_ERROR_NO_SERVICE&#160;&#160;&#160;259</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Unable to connecto to the specified service (UUID) </p>

</div>
</div>
<a class="anchor" id="a11778311c2b6a1aa3d0904718641a1fe"></a><!-- doxytag: member="gw&#45;obex.h::GW_OBEX_ERROR_TIMEOUT" ref="a11778311c2b6a1aa3d0904718641a1fe" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GW_OBEX_ERROR_TIMEOUT&#160;&#160;&#160;261</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Timeout while waiting for data from the remote device </p>

</div>
</div>
<a class="anchor" id="ab559c6b321c835c233928db58fe88a81"></a><!-- doxytag: member="gw&#45;obex.h::GW_OBEX_UNKNOWN_LENGTH" ref="ab559c6b321c835c233928db58fe88a81" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GW_OBEX_UNKNOWN_LENGTH&#160;&#160;&#160;-1</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Value used if target length for put or get is not known </p>

</div>
</div>
<a class="anchor" id="a30cadc2cd08928ec9bd48298b85f77ba"></a><!-- doxytag: member="gw&#45;obex.h::OBEX_FTP_UUID" ref="a30cadc2cd08928ec9bd48298b85f77ba" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define OBEX_FTP_UUID&#160;&#160;&#160;&quot;\xF9\xEC\x7B\xC4\x95\x3C\x11\xD2\x98\x4E\x52\x54\x00\xDC\x9E\x09&quot;</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Standard folder browsing service UUID (give this as a parameter to gw_obex_setup_* to connect to folder browsing service </p>

</div>
</div>
<a class="anchor" id="a429b27f223c1094c656c0d746ca9d291"></a><!-- doxytag: member="gw&#45;obex.h::OBEX_FTP_UUID_LEN" ref="a429b27f223c1094c656c0d746ca9d291" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define OBEX_FTP_UUID_LEN&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Length of OBEX_FTP_UUID </p>

</div>
</div>
<a class="anchor" id="ab57e69842e07f8a61090f8a3551911f9"></a><!-- doxytag: member="gw&#45;obex.h::OBEX_PBAP_UUID" ref="ab57e69842e07f8a61090f8a3551911f9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define OBEX_PBAP_UUID&#160;&#160;&#160;&quot;\x79\x61\x35\xF0\xF0\xC5\x11\xD8\x09\x66\x08\x00\x20\x0C\x9A\x66&quot;</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Phone Book Access Profile UUID </p>

</div>
</div>
<a class="anchor" id="ab9668bfcb812872bc56482e2e1d1393c"></a><!-- doxytag: member="gw&#45;obex.h::OBEX_PBAP_UUID_LEN" ref="ab9668bfcb812872bc56482e2e1d1393c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define OBEX_PBAP_UUID_LEN&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Length of OBEX_PBAP_UUID </p>

</div>
</div>
<a class="anchor" id="a0497c7837858d71826fb774e60e396a6"></a><!-- doxytag: member="gw&#45;obex.h::OBEX_SYNC_UUID" ref="a0497c7837858d71826fb774e60e396a6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define OBEX_SYNC_UUID&#160;&#160;&#160;&quot;IRMC-SYNC&quot;</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>IrMC Sync Profile UUID </p>

</div>
</div>
<a class="anchor" id="a0068079fba3cb5b7793c4925a4d0f7b2"></a><!-- doxytag: member="gw&#45;obex.h::OBEX_SYNC_UUID_LEN" ref="a0068079fba3cb5b7793c4925a4d0f7b2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define OBEX_SYNC_UUID_LEN&#160;&#160;&#160;9</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Length of OBEX_SYNC_UUID </p>

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="a6784de9a8c7a3391325cdcfaabce702d"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_cancel_cb_t" ref="a6784de9a8c7a3391325cdcfaabce702d" args=")(gpointer data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef gboolean(* <a class="el" href="gw-obex_8h.html#a6784de9a8c7a3391325cdcfaabce702d">gw_obex_cancel_cb_t</a>)(gpointer data)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Callback type for checking if the operation should be canceled. Only used for the synchronous functions. In the GNOME VFS case the callback function should be gnome_vfs_cancellation_check(). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>Optional pointer to user data </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE if the operation should be canceled, FALSE othervice </dd></dl>

</div>
</div>
<a class="anchor" id="a1018e15842ad8c78c1b91ba8644badfd"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_disconnect_cb_t" ref="a1018e15842ad8c78c1b91ba8644badfd" args=")(GwObex *ctx, gpointer data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="gw-obex_8h.html#a1018e15842ad8c78c1b91ba8644badfd">gw_obex_disconnect_cb_t</a>)(<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, gpointer data)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Callback type for transport connection loss </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>GwObex pointer for the connection </td></tr>
    <tr><td class="paramname">data</td><td>Optional pointer to user data </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a38842d36e360a033e73af779f24a5653"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_progress_cb_t" ref="a38842d36e360a033e73af779f24a5653" args=")(GwObex *ctx, gint obex_cmd, gint current, gint target, gpointer data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="gw-obex_8h.html#a38842d36e360a033e73af779f24a5653">gw_obex_progress_cb_t</a>)(<a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *ctx, gint obex_cmd, gint current, gint target, gpointer data)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Callback type for progress information Only used for the synchronous transfer functions. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>GwObex pointer for the connection </td></tr>
    <tr><td class="paramname">obex_cmd</td><td>eg. OBEX_CMD_PUT </td></tr>
    <tr><td class="paramname">current</td><td>Bytes transfered </td></tr>
    <tr><td class="paramname">target</td><td>Total length (or GW_OBEX_UNKNOWN_LENGTH) </td></tr>
    <tr><td class="paramname">data</td><td>Optional pointer to user data </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a60b07b008feb17701611f08d046c11e5"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_xfer_cb_t" ref="a60b07b008feb17701611f08d046c11e5" args=")(GwObexXfer *xfer, gpointer data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="gw-obex_8h.html#a60b07b008feb17701611f08d046c11e5">gw_obex_xfer_cb_t</a>)(<a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *xfer, gpointer data)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Callback type for ongoing transfers </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>GwObexXfer pointer for the transfer </td></tr>
    <tr><td class="paramname">data</td><td>Optional pointer to user data </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abe9f1605edaeb148ac859915494d8524"></a><!-- doxytag: member="gw&#45;obex.h::GwObex" ref="abe9f1605edaeb148ac859915494d8524" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct gw_obex <a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Struct containing the context of a gwobex connection </p>

</div>
</div>
<a class="anchor" id="a06af483a737e4cd1943b4a789456b825"></a><!-- doxytag: member="gw&#45;obex.h::GwObexXfer" ref="a06af483a737e4cd1943b4a789456b825" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct gw_obex_xfer <a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Objecct transfer handle </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="aac21f4df17bb472d2838375cad3526bc"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_chdir" ref="aac21f4df17bb472d2838375cad3526bc" args="(GwObex *ctx, const gchar *dir, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_chdir </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Change directory (relative to the current one).</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">dir</td><td>New directory to change to (null terminated UTF-8), ".." to go up, NULL to go to the root folder </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="a7391c2a95635616756164e4b54a74a70"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_close" ref="a7391c2a95635616756164e4b54a74a70" args="(GwObex *ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gw_obex_close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Close GW OBEX connection and free all memory associated with it.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup(). Cannot be used anymore after this calling this function. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6d69f2be7fe08467def67d2330db7828"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_copy" ref="a6d69f2be7fe08467def67d2330db7828" args="(GwObex *ctx, const gchar *src, const gchar *dst, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_copy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Copy a file on the remote device.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">src</td><td>Source filename (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">dst</td><td>Destination filename (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="a9f33e91b9e9ab042019251cc4935e341"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_delete" ref="a9f33e91b9e9ab042019251cc4935e341" args="(GwObex *ctx, const gchar *name, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_delete </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Remove a file from the remote device.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">name</td><td>Filename to remove (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="ae840ffc6b96b1ab970fdbf75a1dd1c7a"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_get_async" ref="ae840ffc6b96b1ab970fdbf75a1dd1c7a" args="(GwObex *ctx, const char *name, const char *type, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a>* gw_obex_get_async </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Start a GET operation asynchronously</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">name</td><td>Name of the object (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">type</td><td>Type of the object (null terminated UTF-8), or NULL </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a new GwObexXfer object on success, NULL on failure </dd></dl>

</div>
</div>
<a class="anchor" id="a55fe8a0f6a244f35251825a94f50805d"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_get_async_with_apparam" ref="a55fe8a0f6a244f35251825a94f50805d" args="(GwObex *ctx, const char *name, const char *type, const guint8 *apparam, gint apparam_size, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a>* gw_obex_get_async_with_apparam </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const guint8 *&#160;</td>
          <td class="paramname"><em>apparam</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint&#160;</td>
          <td class="paramname"><em>apparam_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Start a GET operation asynchronously with application parameters</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">name</td><td>Name of the object (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">type</td><td>Type of the object (null terminated UTF-8), or NULL </td></tr>
    <tr><td class="paramname">apparam</td><td>Application parameters of the object </td></tr>
    <tr><td class="paramname">apparam_size</td><td>Application paramters' size </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a new GwObexXfer object on success, NULL on failure </dd></dl>

</div>
</div>
<a class="anchor" id="aa7e04cc843521659f5c9970a36553157"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_get_buf" ref="aa7e04cc843521659f5c9970a36553157" args="(GwObex *ctx, const gchar *remote, const gchar *type, gchar **buf, gint *buf_size, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_get_buf </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>remote</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gchar **&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>buf_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get an object from the remote device and store it in a memory buffer. Either remote filename or type must be supplied (or both).</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">remote</td><td>Remote filename (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">type</td><td>MIME-type of the object </td></tr>
    <tr><td class="paramname">buf</td><td>Buffer to store the object in. g_free() when not needed anymore. </td></tr>
    <tr><td class="paramname">buf_size</td><td>Place to store length of fetched object </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="a9f78aff94744e8420c798df000807c12"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_get_buf_with_apparam" ref="a9f78aff94744e8420c798df000807c12" args="(GwObex *ctx, const gchar *remote, const gchar *type, const guint8 *apparam, gint apparam_size, gchar **buf, gint *buf_size, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_get_buf_with_apparam </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>remote</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const guint8 *&#160;</td>
          <td class="paramname"><em>apparam</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint&#160;</td>
          <td class="paramname"><em>apparam_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gchar **&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>buf_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get an object from the remote device and store it in a memory buffer. Either remote filename or type must be supplied (or both).</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">remote</td><td>Remote filename (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">type</td><td>MIME-type of the object </td></tr>
    <tr><td class="paramname">apparam</td><td>Application parameters of the object </td></tr>
    <tr><td class="paramname">apparam_size</td><td>Application parameters size </td></tr>
    <tr><td class="paramname">buf</td><td>Buffer to store the object in. g_free() when not needed anymore. </td></tr>
    <tr><td class="paramname">buf_size</td><td>Place to store length of fetched object </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="a8daca049a95000ea8721de95963b9e96"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_get_capability" ref="a8daca049a95000ea8721de95963b9e96" args="(GwObex *ctx, gchar **cap, gint *cap_len, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_get_capability </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gchar **&#160;</td>
          <td class="paramname"><em>cap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>cap_len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the capability object from the connected remote device.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">cap</td><td>Place to store the fetched object. g_free() when not needed anymore. </td></tr>
    <tr><td class="paramname">cap_len</td><td>Place to store the size of the fetched object </td></tr>
    <tr><td class="paramname">error</td><td>Place to store a possible error code (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="a56113ad940944160684ba3aff31c79ce"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_get_fd" ref="a56113ad940944160684ba3aff31c79ce" args="(GwObex *ctx, gint fd, const gchar *remote, const gchar *type, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_get_fd </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint&#160;</td>
          <td class="paramname"><em>fd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>remote</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get a file from the remote device and write it to a file descriptor</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">fd</td><td>File descriptor to write the file into </td></tr>
    <tr><td class="paramname">remote</td><td>Remote filename (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">type</td><td>MIME-type of the object </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="a6c21b10168a4e31c11e5cd2bd000e97a"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_get_file" ref="a6c21b10168a4e31c11e5cd2bd000e97a" args="(GwObex *ctx, const gchar *local, const gchar *remote, const gchar *type, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_get_file </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>local</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>remote</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get a file from the remote device.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">local</td><td>Local filename (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">remote</td><td>Remote filename (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">type</td><td>MIME-type of the object </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="af74deea7942bbf36aa1d503a38e07b31"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_mkdir" ref="af74deea7942bbf36aa1d503a38e07b31" args="(GwObex *ctx, const gchar *dir, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_mkdir </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create a new directory.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">dir</td><td>Directory to create (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="aa33814db622ad0673cb8afffc0dc703a"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_move" ref="aa33814db622ad0673cb8afffc0dc703a" args="(GwObex *ctx, const gchar *src, const gchar *dst, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_move </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Move/Rename a file on the remote device.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">src</td><td>Source filename (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">dst</td><td>Destination filename (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="a77e407cb46aafd3c3fd8f4b2e83e9016"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_put_async" ref="a77e407cb46aafd3c3fd8f4b2e83e9016" args="(GwObex *ctx, const char *name, const char *type, gint size, time_t time, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a>* gw_obex_put_async </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>time</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Start a PUT operation asynchronously</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">name</td><td>Name of the object (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">type</td><td>Type of the object (null terminated UTF-8), or NULL </td></tr>
    <tr><td class="paramname">size</td><td>Size of the object (GW_OBEX_UNKNOWN_LENGTH if not known) </td></tr>
    <tr><td class="paramname">time</td><td>Last modification time of the object (-1 if not known) </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a new GwObexXfer object on success, NULL on failure </dd></dl>

</div>
</div>
<a class="anchor" id="aebbf193dc7fe878773f91f17f22be5bf"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_put_buf" ref="aebbf193dc7fe878773f91f17f22be5bf" args="(GwObex *ctx, const gchar *remote, const gchar *type, const gchar *buf, gint buf_size, gint time, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_put_buf </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>remote</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint&#160;</td>
          <td class="paramname"><em>buf_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint&#160;</td>
          <td class="paramname"><em>time</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Send a object located in a memory buffer to the remote device. Either remote filename or type must be supplied (or both)</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">remote</td><td>Remote filename (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">type</td><td>MIME-type of the object </td></tr>
    <tr><td class="paramname">buf</td><td>Buffer containing the object </td></tr>
    <tr><td class="paramname">buf_size</td><td>Buffer (object) size </td></tr>
    <tr><td class="paramname">time</td><td>Last modification time of object (or -1 if not known) </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="aecbd57de0413b2b98e93e8d3f16a7eac"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_put_buf_with_apparam" ref="aecbd57de0413b2b98e93e8d3f16a7eac" args="(GwObex *ctx, const gchar *remote, const gchar *type, const guint8 *apparam, gint apparam_size, const gchar *buf, gint buf_size, gint time, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_put_buf_with_apparam </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>remote</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const guint8 *&#160;</td>
          <td class="paramname"><em>apparam</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint&#160;</td>
          <td class="paramname"><em>apparam_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint&#160;</td>
          <td class="paramname"><em>buf_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint&#160;</td>
          <td class="paramname"><em>time</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Send a object located in a memory buffer to the remote device. Either remote filename or type must be supplied (or both)</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">remote</td><td>Remote filename (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">type</td><td>MIME-type of the object </td></tr>
    <tr><td class="paramname">apparam</td><td>Application parameters of the object </td></tr>
    <tr><td class="paramname">apparam_size</td><td>Application parameters size </td></tr>
    <tr><td class="paramname">buf</td><td>Buffer containing the object </td></tr>
    <tr><td class="paramname">buf_size</td><td>Buffer (object) size </td></tr>
    <tr><td class="paramname">time</td><td>Last modification time of object (or -1 if not known) </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="a6568a2888ac0dad4889de9c1fea9e3ae"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_put_fd" ref="a6568a2888ac0dad4889de9c1fea9e3ae" args="(GwObex *ctx, gint fd, const gchar *remote, const gchar *type, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_put_fd </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint&#160;</td>
          <td class="paramname"><em>fd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>remote</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Read data from a file descriptor and send it to the remote device</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">fd</td><td>File descriptor to read the data from </td></tr>
    <tr><td class="paramname">remote</td><td>Remote filename (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">type</td><td>MIME-type of the object </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="a592341b43f949b163d6a339e0802fed9"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_put_file" ref="a592341b43f949b163d6a339e0802fed9" args="(GwObex *ctx, const gchar *local, const gchar *remote, const gchar *type, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_put_file </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>local</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>remote</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Send a file to the remote device.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">local</td><td>Local filename (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">remote</td><td>Remote filename (null terminated UTF-8) </td></tr>
    <tr><td class="paramname">type</td><td>MIME-type of the object </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="aadee5b1ccbd303a6019288de53dc79a8"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_read_dir" ref="aadee5b1ccbd303a6019288de53dc79a8" args="(GwObex *ctx, const gchar *dir, gchar **buf, gint *buf_size, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_read_dir </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gchar **&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>buf_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get folder listing for the specified directory.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">dir</td><td>Directory to list (null terminated UTF-8), NULL to list current directory </td></tr>
    <tr><td class="paramname">buf</td><td>Place to store the folder-listing object </td></tr>
    <tr><td class="paramname">buf_size</td><td>Place to store the size for the retrieved object </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="afa0dcd81a95954634e35c6c4be2aa253"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_set_cancel_callback" ref="afa0dcd81a95954634e35c6c4be2aa253" args="(GwObex *ctx, gw_obex_cancel_cb_t callback, gpointer data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gw_obex_set_cancel_callback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#a6784de9a8c7a3391325cdcfaabce702d">gw_obex_cancel_cb_t</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gpointer&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set function to be called to check if the current operation should be canceled. In the GNOME VFS case the callback function should be gnome_vfs_cancellation_check(). The callback function should return TRUE if the operation should be canceled and FALSE othervice.</p>
<p>Only used for the synchronous transfer functions.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">callback</td><td>Function to call </td></tr>
    <tr><td class="paramname">data</td><td>Pointer to pass to the callback function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aae3ea459aaaf86105a0843189062490d"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_set_disconnect_callback" ref="aae3ea459aaaf86105a0843189062490d" args="(GwObex *ctx, gw_obex_disconnect_cb_t callback, gpointer data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gw_obex_set_disconnect_callback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#a1018e15842ad8c78c1b91ba8644badfd">gw_obex_disconnect_cb_t</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gpointer&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set function to be called when a disconnection happens. You may (and probably should) call <a class="el" href="gw-obex_8h.html#a7391c2a95635616756164e4b54a74a70">gw_obex_close()</a> if this function is called. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">callback</td><td>Function to call </td></tr>
    <tr><td class="paramname">data</td><td>Optional data to pass to the callback function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3532bb66676f23383640404064bf01d9"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_set_progress_callback" ref="a3532bb66676f23383640404064bf01d9" args="(GwObex *ctx, gw_obex_progress_cb_t callback, gpointer data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gw_obex_set_progress_callback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#a38842d36e360a033e73af779f24a5653">gw_obex_progress_cb_t</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gpointer&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set function to be called when progress for a put or get operation happens. Only used for the synchronous transfer functions.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Pointer returned by gw_obex_setup() </td></tr>
    <tr><td class="paramname">callback</td><td>Function to call </td></tr>
    <tr><td class="paramname">data</td><td>Optional data to pass to the callback function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a395d19981a56ce550099501371117ec6"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_setup_dev" ref="a395d19981a56ce550099501371117ec6" args="(const gchar *device, const gchar *uuid, gint uuid_len, GMainContext *context, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a>* gw_obex_setup_dev </td>
          <td>(</td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>uuid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint&#160;</td>
          <td class="paramname"><em>uuid_len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GMainContext *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Open connection using a local device node and setup parameters. This function should be called before calling any other functions. The pointer returned by this function should be passed to the other functions.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>The local device which should be opened for the connection </td></tr>
    <tr><td class="paramname">uuid</td><td>UUID of service to connect to. NULL for the default service (INBOX). </td></tr>
    <tr><td class="paramname">uuid_len</td><td>Length (in bytes) of UUID </td></tr>
    <tr><td class="paramname">context</td><td>GMainContext to attach to (or NULL for the default one) </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer, NULL on failure This pointer should be passed to the other obex_* functions. </dd></dl>

</div>
</div>
<a class="anchor" id="abf55f0a3b90903ba2b1bb5b9fb66cef7"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_setup_fd" ref="abf55f0a3b90903ba2b1bb5b9fb66cef7" args="(int fd, const gchar *uuid, gint uuid_len, GMainContext *context, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gw-obex_8h.html#abe9f1605edaeb148ac859915494d8524">GwObex</a>* gw_obex_setup_fd </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>fd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>uuid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint&#160;</td>
          <td class="paramname"><em>uuid_len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GMainContext *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Setup OBEX connection using an opened file descriptor This function should be called before calling any other functions. The pointer returned by this function should be passed to the other functions.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fd</td><td>Opened file descriptor to use for the connection </td></tr>
    <tr><td class="paramname">uuid</td><td>UUID of service to connect to. NULL for the default service (INBOX). </td></tr>
    <tr><td class="paramname">uuid_len</td><td>Length (in bytes) of UUID </td></tr>
    <tr><td class="paramname">context</td><td>GMainContext to attach to (or NULL for the default one) </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer, NULL on failure This pointer should be passed to the other obex_* functions. </dd></dl>

</div>
</div>
<a class="anchor" id="a70a09d731cf39da7d9264e2eaffdd032"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_xfer_abort" ref="a70a09d731cf39da7d9264e2eaffdd032" args="(GwObexXfer *xfer, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_xfer_abort </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *&#160;</td>
          <td class="paramname"><em>xfer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Abort an ongoing transfer</p>
<p>You still need to call gw_obex_xfer_free after this to free the actual memory allocated for the GwObexXfer object. xfer_close and xfer_abort are mutually exclusive (only call one of them for a transfer).</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">xfer</td><td>Pointer returned by gw_obex_put_async or gw_obex_get_async </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="accd2fb67321771d312f911fe9a8e2a44"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_xfer_close" ref="accd2fb67321771d312f911fe9a8e2a44" args="(GwObexXfer *xfer, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_xfer_close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *&#160;</td>
          <td class="paramname"><em>xfer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Close an ongoing transfer</p>
<p>You still need to call gw_obex_xfer_free after this to free the actual memory allocated for the GwObexXfer object.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">xfer</td><td>Pointer returned by gw_obex_put_async or gw_obex_get_async </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="a16ebe2554ade8ec47f67e73b03e07b4c"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_xfer_flush" ref="a16ebe2554ade8ec47f67e73b03e07b4c" args="(GwObexXfer *xfer, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_xfer_flush </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *&#160;</td>
          <td class="paramname"><em>xfer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Force all data remaining in buffers to be sent</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">xfer</td><td>Pointer returned by gw_obex_put_async or gw_obex_get_async </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="a3bbc826952ab651b424710a4649f252b"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_xfer_free" ref="a3bbc826952ab651b424710a4649f252b" args="(struct gw_obex_xfer *xfer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gw_obex_xfer_free </td>
          <td>(</td>
          <td class="paramtype">struct gw_obex_xfer *&#160;</td>
          <td class="paramname"><em>xfer</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Free the data allocated for a GwObexXfer object</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">xfer</td><td>Pointer returned by gw_obex_put_async or gw_obex_get_async </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad2aded72d1bbd1444f89f60ea4c66cc6"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_xfer_object_apparam" ref="ad2aded72d1bbd1444f89f60ea4c66cc6" args="(GwObexXfer *xfer, size_t *apparam_size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char* gw_obex_xfer_object_apparam </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *&#160;</td>
          <td class="paramname"><em>xfer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>apparam_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the contents of the application parameters header</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">xfer</td><td>Pointer returned by gw_obex_put_async or gw_obex_get_async </td></tr>
    <tr><td class="paramname">apparam_size</td><td>Return value for the size of the application parameters header.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The pointer to the buffer that hold the contents. </dd></dl>

</div>
</div>
<a class="anchor" id="a8b447cd6a1d8428cb3121c0309c5fa78"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_xfer_object_done" ref="a8b447cd6a1d8428cb3121c0309c5fa78" args="(GwObexXfer *xfer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_xfer_object_done </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *&#160;</td>
          <td class="paramname"><em>xfer</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns if a transfer is already done</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">xfer</td><td>Pointer returned by gw_obex_put_async or gw_obex_get_async</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>whether the current transfer is done </dd></dl>

</div>
</div>
<a class="anchor" id="a483b3d5935ea4d57a78229fe37301327"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_xfer_object_size" ref="a483b3d5935ea4d57a78229fe37301327" args="(GwObexXfer *xfer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gint gw_obex_xfer_object_size </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *&#160;</td>
          <td class="paramname"><em>xfer</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the size of the object being transfered</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">xfer</td><td>Pointer returned by gw_obex_put_async or gw_obex_get_async</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The size or GW_OBEX_UNKNOWN_LENGTH if it is not known. </dd></dl>

</div>
</div>
<a class="anchor" id="a196f495556d9877aa9656df16603c5f4"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_xfer_object_time" ref="a196f495556d9877aa9656df16603c5f4" args="(GwObexXfer *xfer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">time_t gw_obex_xfer_object_time </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *&#160;</td>
          <td class="paramname"><em>xfer</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the last modification time of the object being transfered</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">xfer</td><td>Pointer returned by gw_obex_put_async or gw_obex_get_async</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The modification time or -1 if it is not known. </dd></dl>

</div>
</div>
<a class="anchor" id="a48697b830e7bfdb595035f962ac42e3a"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_xfer_read" ref="a48697b830e7bfdb595035f962ac42e3a" args="(GwObexXfer *xfer, char *buf, gint buf_size, gint *bytes_read, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_xfer_read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *&#160;</td>
          <td class="paramname"><em>xfer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint&#160;</td>
          <td class="paramname"><em>buf_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>bytes_read</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Read data from a transfer</p>
<p>The function will report EOF by returning success with zero bytes read.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">xfer</td><td>Pointer returned by gw_obex_put_async or gw_obex_get_async </td></tr>
    <tr><td class="paramname">buf</td><td>Buffer where the data should be stored </td></tr>
    <tr><td class="paramname">buf_size</td><td>Size of the buffer </td></tr>
    <tr><td class="paramname">bytes_read</td><td>Return value for the number of bytes that were read </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
<a class="anchor" id="aaba1db69c33e375794045bd7be4709a5"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_xfer_set_blocking" ref="aaba1db69c33e375794045bd7be4709a5" args="(GwObexXfer *xfer, gboolean block)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gw_obex_xfer_set_blocking </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *&#160;</td>
          <td class="paramname"><em>xfer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gboolean&#160;</td>
          <td class="paramname"><em>block</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set blocking behaviour for a GwObexXfer object when calling xfer_read and xfer_write</p>
<p>When blocking is enabled xfer_read will return only after it has been able to read some data (i.e. GW_OBEX_ERROR_NO_DATA will not be returned). For xfer_write blocking guarantees that *some* data will be written.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">xfer</td><td>Pointer returned by gw_obex_put_async or gw_obex_get_async </td></tr>
    <tr><td class="paramname">block</td><td>TRUE to enable blocking behaviour </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a66c5bec4f1a2f928008e3836f4f11365"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_xfer_set_callback" ref="a66c5bec4f1a2f928008e3836f4f11365" args="(GwObexXfer *xfer, gw_obex_xfer_cb_t cb, gpointer user_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gw_obex_xfer_set_callback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *&#160;</td>
          <td class="paramname"><em>xfer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#a60b07b008feb17701611f08d046c11e5">gw_obex_xfer_cb_t</a>&#160;</td>
          <td class="paramname"><em>cb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gpointer&#160;</td>
          <td class="paramname"><em>user_data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set a callback function for a GwObexXfer object The callback function will be called in the following situations: </p>
<ul>
<li>
Data can be written (i.e. xfer_write will succeed) </li>
<li>
Data can be read (i.e. xfer_read will succees) </li>
<li>
An error ocured </li>
<li>
The transfer is finished </li>
</ul>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">xfer</td><td>Pointer returned by gw_obex_put_async or gw_obex_get_async </td></tr>
    <tr><td class="paramname">cb</td><td>Pointer to the callback function </td></tr>
    <tr><td class="paramname">user_data</td><td>Optional user data which will be passed to the callback function</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a new GwObexXfer object on success, NULL on failure </dd></dl>

</div>
</div>
<a class="anchor" id="ae6b46a275a9336d1ed6aeedd3a00989a"></a><!-- doxytag: member="gw&#45;obex.h::gw_obex_xfer_write" ref="ae6b46a275a9336d1ed6aeedd3a00989a" args="(GwObexXfer *xfer, const char *buf, gint buf_size, gint *bytes_written, gint *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean gw_obex_xfer_write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gw-obex_8h.html#a06af483a737e4cd1943b4a789456b825">GwObexXfer</a> *&#160;</td>
          <td class="paramname"><em>xfer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint&#160;</td>
          <td class="paramname"><em>buf_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>bytes_written</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gint *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Supply more data to a transfer</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">xfer</td><td>Pointer returned by gw_obex_put_async or gw_obex_get_async </td></tr>
    <tr><td class="paramname">buf</td><td>Buffer containing the data </td></tr>
    <tr><td class="paramname">buf_size</td><td>Size of the buffer </td></tr>
    <tr><td class="paramname">bytes_written</td><td>Return value for the number of bytes that were written </td></tr>
    <tr><td class="paramname">error</td><td>Place to store error code on failure (NULL if not interested)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE on success, FALSE on failure </dd></dl>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Wed Feb 9 2011 for GW OBEX Library by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>