Sophie

Sophie

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

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

\section{gw-\/obex.h File Reference}
\label{gw-obex_8h}\index{gw-\/obex.h@{gw-\/obex.h}}
{\ttfamily \#include $<$glib.h$>$}\par
{\ttfamily \#include $<$openobex/obex.h$>$}\par
\subsection*{Defines}
\begin{DoxyCompactItemize}
\item 
\#define {\bf GW\_\-OBEX\_\-UNKNOWN\_\-LENGTH}~-\/1
\item 
\#define {\bf OBEX\_\-FTP\_\-UUID}~\char`\"{}$\backslash$xF9$\backslash$xEC$\backslash$x7B$\backslash$xC4$\backslash$x95$\backslash$x3C$\backslash$x11$\backslash$xD2$\backslash$x98$\backslash$x4E$\backslash$x52$\backslash$x54$\backslash$x00$\backslash$xDC$\backslash$x9E$\backslash$x09\char`\"{}
\item 
\#define {\bf OBEX\_\-FTP\_\-UUID\_\-LEN}~16
\item 
\#define {\bf OBEX\_\-PBAP\_\-UUID}~\char`\"{}$\backslash$x79$\backslash$x61$\backslash$x35$\backslash$xF0$\backslash$xF0$\backslash$xC5$\backslash$x11$\backslash$xD8$\backslash$x09$\backslash$x66$\backslash$x08$\backslash$x00$\backslash$x20$\backslash$x0C$\backslash$x9A$\backslash$x66\char`\"{}
\item 
\#define {\bf OBEX\_\-PBAP\_\-UUID\_\-LEN}~16
\item 
\#define {\bf OBEX\_\-SYNC\_\-UUID}~\char`\"{}IRMC-\/SYNC\char`\"{}
\item 
\#define {\bf OBEX\_\-SYNC\_\-UUID\_\-LEN}~9
\end{DoxyCompactItemize}
\begin{Indent}{\bf GW OBEX Error Codes}\par
{\em 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\_\-$\ast$ error. }\begin{DoxyCompactItemize}
\item 
\#define {\bf GW\_\-OBEX\_\-ERROR\_\-DISCONNECT}~256
\item 
\#define {\bf GW\_\-OBEX\_\-ERROR\_\-ABORT}~257
\item 
\#define {\bf GW\_\-OBEX\_\-ERROR\_\-INTERNAL}~258
\item 
\#define {\bf GW\_\-OBEX\_\-ERROR\_\-NO\_\-SERVICE}~259
\item 
\#define {\bf GW\_\-OBEX\_\-ERROR\_\-CONNECT\_\-FAILED}~260
\item 
\#define {\bf GW\_\-OBEX\_\-ERROR\_\-TIMEOUT}~261
\item 
\#define {\bf GW\_\-OBEX\_\-ERROR\_\-INVALID\_\-DATA}~262
\item 
\#define {\bf GW\_\-OBEX\_\-ERROR\_\-INVALID\_\-PARAMS}~263
\item 
\#define {\bf GW\_\-OBEX\_\-ERROR\_\-LOCAL\_\-ACCESS}~264
\item 
\#define {\bf GW\_\-OBEX\_\-ERROR\_\-BUSY}~265
\item 
\#define {\bf GW\_\-OBEX\_\-ERROR\_\-NO\_\-DATA}~266
\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct gw\_\-obex {\bf GwObex}
\item 
typedef struct gw\_\-obex\_\-xfer {\bf GwObexXfer}
\item 
typedef void($\ast$ {\bf gw\_\-obex\_\-xfer\_\-cb\_\-t} )({\bf GwObexXfer} $\ast$xfer, gpointer data)
\item 
typedef void($\ast$ {\bf gw\_\-obex\_\-disconnect\_\-cb\_\-t} )({\bf GwObex} $\ast$ctx, gpointer data)
\item 
typedef void($\ast$ {\bf gw\_\-obex\_\-progress\_\-cb\_\-t} )({\bf GwObex} $\ast$ctx, gint obex\_\-cmd, gint current, gint target, gpointer data)
\item 
typedef gboolean($\ast$ {\bf gw\_\-obex\_\-cancel\_\-cb\_\-t} )(gpointer data)
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{Indent}{\bf Functions for connecting and disconnecting}\par
{\em With these functions you can create and and disconnect connections. You can either connect using a filename (e.g. \char`\"{}/dev/rfcomm0\char`\"{}) or using a file descriptor (e.g. a RFCOMM socket). }\begin{DoxyCompactItemize}
\item 
{\bf GwObex} $\ast$ {\bf gw\_\-obex\_\-setup\_\-dev} (const gchar $\ast$device, const gchar $\ast$uuid, gint uuid\_\-len, GMainContext $\ast$context, gint $\ast$error)
\item 
{\bf GwObex} $\ast$ {\bf gw\_\-obex\_\-setup\_\-fd} (int fd, const gchar $\ast$uuid, gint uuid\_\-len, GMainContext $\ast$context, gint $\ast$error)
\item 
void {\bf gw\_\-obex\_\-close} ({\bf GwObex} $\ast$ctx)
\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Registering callback functions}\par
{\em With these functions you can register your own callback functions to gwobex to receive indications about special events. }\begin{DoxyCompactItemize}
\item 
void {\bf gw\_\-obex\_\-set\_\-disconnect\_\-callback} ({\bf GwObex} $\ast$ctx, {\bf gw\_\-obex\_\-disconnect\_\-cb\_\-t} callback, gpointer data)
\item 
void {\bf gw\_\-obex\_\-set\_\-progress\_\-callback} ({\bf GwObex} $\ast$ctx, {\bf gw\_\-obex\_\-progress\_\-cb\_\-t} callback, gpointer data)
\item 
void {\bf gw\_\-obex\_\-set\_\-cancel\_\-callback} ({\bf GwObex} $\ast$ctx, {\bf gw\_\-obex\_\-cancel\_\-cb\_\-t} callback, gpointer data)
\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Functions for performing synchronous remote operations}\par
{\em Once you have setup a connection using one of the gw\_\-obex\_\-setup\_\-$\ast$ functions, you can perform different remote transactions using these functions. }\begin{DoxyCompactItemize}
\item 
gboolean {\bf gw\_\-obex\_\-get\_\-capability} ({\bf GwObex} $\ast$ctx, gchar $\ast$$\ast$cap, gint $\ast$cap\_\-len, gint $\ast$error)
\item 
gboolean {\bf gw\_\-obex\_\-get\_\-file} ({\bf GwObex} $\ast$ctx, const gchar $\ast$local, const gchar $\ast$remote, const gchar $\ast$type, gint $\ast$error)
\item 
gboolean {\bf gw\_\-obex\_\-put\_\-file} ({\bf GwObex} $\ast$ctx, const gchar $\ast$local, const gchar $\ast$remote, const gchar $\ast$type, gint $\ast$error)
\item 
gboolean {\bf gw\_\-obex\_\-get\_\-fd} ({\bf GwObex} $\ast$ctx, gint fd, const gchar $\ast$remote, const gchar $\ast$type, gint $\ast$error)
\item 
gboolean {\bf gw\_\-obex\_\-put\_\-fd} ({\bf GwObex} $\ast$ctx, gint fd, const gchar $\ast$remote, const gchar $\ast$type, gint $\ast$error)
\item 
gboolean {\bf gw\_\-obex\_\-get\_\-buf} ({\bf GwObex} $\ast$ctx, const gchar $\ast$remote, const gchar $\ast$type, gchar $\ast$$\ast$buf, gint $\ast$buf\_\-size, gint $\ast$error)
\item 
gboolean {\bf gw\_\-obex\_\-put\_\-buf} ({\bf GwObex} $\ast$ctx, const gchar $\ast$remote, const gchar $\ast$type, const gchar $\ast$buf, gint buf\_\-size, gint time, gint $\ast$error)
\item 
gboolean {\bf gw\_\-obex\_\-get\_\-buf\_\-with\_\-apparam} ({\bf GwObex} $\ast$ctx, const gchar $\ast$remote, const gchar $\ast$type, const guint8 $\ast$apparam, gint apparam\_\-size, gchar $\ast$$\ast$buf, gint $\ast$buf\_\-size, gint $\ast$error)
\item 
gboolean {\bf gw\_\-obex\_\-put\_\-buf\_\-with\_\-apparam} ({\bf GwObex} $\ast$ctx, const gchar $\ast$remote, const gchar $\ast$type, const guint8 $\ast$apparam, gint apparam\_\-size, const gchar $\ast$buf, gint buf\_\-size, gint time, gint $\ast$error)
\item 
gboolean {\bf gw\_\-obex\_\-chdir} ({\bf GwObex} $\ast$ctx, const gchar $\ast$dir, gint $\ast$error)
\item 
gboolean {\bf gw\_\-obex\_\-mkdir} ({\bf GwObex} $\ast$ctx, const gchar $\ast$dir, gint $\ast$error)
\item 
gboolean {\bf gw\_\-obex\_\-read\_\-dir} ({\bf GwObex} $\ast$ctx, const gchar $\ast$dir, gchar $\ast$$\ast$buf, gint $\ast$buf\_\-size, gint $\ast$error)
\item 
gboolean {\bf gw\_\-obex\_\-delete} ({\bf GwObex} $\ast$ctx, const gchar $\ast$name, gint $\ast$error)
\item 
gboolean {\bf gw\_\-obex\_\-move} ({\bf GwObex} $\ast$ctx, const gchar $\ast$src, const gchar $\ast$dst, gint $\ast$error)
\item 
gboolean {\bf gw\_\-obex\_\-copy} ({\bf GwObex} $\ast$ctx, const gchar $\ast$src, const gchar $\ast$dst, gint $\ast$error)
\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Functions for performing transfers in an asynchronous manner}\par
{\em With these functions you can do transfers in smaller steps. The steps are split up in a open, read/write, close manner. }\begin{DoxyCompactItemize}
\item 
{\bf GwObexXfer} $\ast$ {\bf gw\_\-obex\_\-put\_\-async} ({\bf GwObex} $\ast$ctx, const char $\ast$name, const char $\ast$type, gint size, time\_\-t time, gint $\ast$error)
\item 
{\bf GwObexXfer} $\ast$ {\bf gw\_\-obex\_\-get\_\-async} ({\bf GwObex} $\ast$ctx, const char $\ast$name, const char $\ast$type, gint $\ast$error)
\item 
{\bf GwObexXfer} $\ast$ {\bf gw\_\-obex\_\-get\_\-async\_\-with\_\-apparam} ({\bf GwObex} $\ast$ctx, const char $\ast$name, const char $\ast$type, const guint8 $\ast$apparam, gint apparam\_\-size, gint $\ast$error)
\item 
void {\bf gw\_\-obex\_\-xfer\_\-set\_\-callback} ({\bf GwObexXfer} $\ast$xfer, {\bf gw\_\-obex\_\-xfer\_\-cb\_\-t} cb, gpointer user\_\-data)
\item 
time\_\-t {\bf gw\_\-obex\_\-xfer\_\-object\_\-time} ({\bf GwObexXfer} $\ast$xfer)
\item 
gint {\bf gw\_\-obex\_\-xfer\_\-object\_\-size} ({\bf GwObexXfer} $\ast$xfer)
\item 
unsigned char $\ast$ {\bf gw\_\-obex\_\-xfer\_\-object\_\-apparam} ({\bf GwObexXfer} $\ast$xfer, size\_\-t $\ast$apparam\_\-size)
\item 
gboolean {\bf gw\_\-obex\_\-xfer\_\-object\_\-done} ({\bf GwObexXfer} $\ast$xfer)
\item 
gboolean {\bf gw\_\-obex\_\-xfer\_\-write} ({\bf GwObexXfer} $\ast$xfer, const char $\ast$buf, gint buf\_\-size, gint $\ast$bytes\_\-written, gint $\ast$error)
\item 
gboolean {\bf gw\_\-obex\_\-xfer\_\-read} ({\bf GwObexXfer} $\ast$xfer, char $\ast$buf, gint buf\_\-size, gint $\ast$bytes\_\-read, gint $\ast$error)
\item 
gboolean {\bf gw\_\-obex\_\-xfer\_\-flush} ({\bf GwObexXfer} $\ast$xfer, gint $\ast$error)
\item 
gboolean {\bf gw\_\-obex\_\-xfer\_\-close} ({\bf GwObexXfer} $\ast$xfer, gint $\ast$error)
\item 
gboolean {\bf gw\_\-obex\_\-xfer\_\-abort} ({\bf GwObexXfer} $\ast$xfer, gint $\ast$error)
\item 
void {\bf gw\_\-obex\_\-xfer\_\-free} (struct gw\_\-obex\_\-xfer $\ast$xfer)
\item 
void {\bf gw\_\-obex\_\-xfer\_\-set\_\-blocking} ({\bf GwObexXfer} $\ast$xfer, gboolean block)
\end{DoxyCompactItemize}
\end{Indent}


\subsection{Detailed Description}
OSSO GW OBEX Connectivity Library and API

\begin{DoxyAuthor}{Author}
Johan Hedberg $<${\tt johan.hedberg@nokia.com}$>$
\end{DoxyAuthor}
Copyright (C) 2004-\/2005 Nokia Corporation. All rights reserved.

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.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place -\/ Suite 330, Boston, MA 02111-\/1307, USA. 

\subsection{Define Documentation}
\index{gw-\/obex.h@{gw-\/obex.h}!GW\_\-OBEX\_\-ERROR\_\-ABORT@{GW\_\-OBEX\_\-ERROR\_\-ABORT}}
\index{GW\_\-OBEX\_\-ERROR\_\-ABORT@{GW\_\-OBEX\_\-ERROR\_\-ABORT}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{GW\_\-OBEX\_\-ERROR\_\-ABORT}]{\setlength{\rightskip}{0pt plus 5cm}\#define GW\_\-OBEX\_\-ERROR\_\-ABORT~257}\label{gw-obex_8h_a5e8401649667a7a8a0664f4aab1b7ab9}
Operation was aborted \index{gw-\/obex.h@{gw-\/obex.h}!GW\_\-OBEX\_\-ERROR\_\-BUSY@{GW\_\-OBEX\_\-ERROR\_\-BUSY}}
\index{GW\_\-OBEX\_\-ERROR\_\-BUSY@{GW\_\-OBEX\_\-ERROR\_\-BUSY}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{GW\_\-OBEX\_\-ERROR\_\-BUSY}]{\setlength{\rightskip}{0pt plus 5cm}\#define GW\_\-OBEX\_\-ERROR\_\-BUSY~265}\label{gw-obex_8h_ae3bf683a10a81ac7914244464505017b}
Another operation is in progress \index{gw-\/obex.h@{gw-\/obex.h}!GW\_\-OBEX\_\-ERROR\_\-CONNECT\_\-FAILED@{GW\_\-OBEX\_\-ERROR\_\-CONNECT\_\-FAILED}}
\index{GW\_\-OBEX\_\-ERROR\_\-CONNECT\_\-FAILED@{GW\_\-OBEX\_\-ERROR\_\-CONNECT\_\-FAILED}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{GW\_\-OBEX\_\-ERROR\_\-CONNECT\_\-FAILED}]{\setlength{\rightskip}{0pt plus 5cm}\#define GW\_\-OBEX\_\-ERROR\_\-CONNECT\_\-FAILED~260}\label{gw-obex_8h_adac6abc766b5d1c1bfd71af827906ac3}
Unable to create connection \index{gw-\/obex.h@{gw-\/obex.h}!GW\_\-OBEX\_\-ERROR\_\-DISCONNECT@{GW\_\-OBEX\_\-ERROR\_\-DISCONNECT}}
\index{GW\_\-OBEX\_\-ERROR\_\-DISCONNECT@{GW\_\-OBEX\_\-ERROR\_\-DISCONNECT}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{GW\_\-OBEX\_\-ERROR\_\-DISCONNECT}]{\setlength{\rightskip}{0pt plus 5cm}\#define GW\_\-OBEX\_\-ERROR\_\-DISCONNECT~256}\label{gw-obex_8h_a707d93c67a2bac2a4515c6aa2598aa76}
Transport connection was disconnected \index{gw-\/obex.h@{gw-\/obex.h}!GW\_\-OBEX\_\-ERROR\_\-INTERNAL@{GW\_\-OBEX\_\-ERROR\_\-INTERNAL}}
\index{GW\_\-OBEX\_\-ERROR\_\-INTERNAL@{GW\_\-OBEX\_\-ERROR\_\-INTERNAL}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{GW\_\-OBEX\_\-ERROR\_\-INTERNAL}]{\setlength{\rightskip}{0pt plus 5cm}\#define GW\_\-OBEX\_\-ERROR\_\-INTERNAL~258}\label{gw-obex_8h_a3bbb077b834dbda5881422cdd3739960}
GW OBEX internal error \index{gw-\/obex.h@{gw-\/obex.h}!GW\_\-OBEX\_\-ERROR\_\-INVALID\_\-DATA@{GW\_\-OBEX\_\-ERROR\_\-INVALID\_\-DATA}}
\index{GW\_\-OBEX\_\-ERROR\_\-INVALID\_\-DATA@{GW\_\-OBEX\_\-ERROR\_\-INVALID\_\-DATA}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{GW\_\-OBEX\_\-ERROR\_\-INVALID\_\-DATA}]{\setlength{\rightskip}{0pt plus 5cm}\#define GW\_\-OBEX\_\-ERROR\_\-INVALID\_\-DATA~262}\label{gw-obex_8h_a56942856e01c4cd77916b741d884b13b}
Remote device returned invalid/corrupted data \index{gw-\/obex.h@{gw-\/obex.h}!GW\_\-OBEX\_\-ERROR\_\-INVALID\_\-PARAMS@{GW\_\-OBEX\_\-ERROR\_\-INVALID\_\-PARAMS}}
\index{GW\_\-OBEX\_\-ERROR\_\-INVALID\_\-PARAMS@{GW\_\-OBEX\_\-ERROR\_\-INVALID\_\-PARAMS}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{GW\_\-OBEX\_\-ERROR\_\-INVALID\_\-PARAMS}]{\setlength{\rightskip}{0pt plus 5cm}\#define GW\_\-OBEX\_\-ERROR\_\-INVALID\_\-PARAMS~263}\label{gw-obex_8h_a09468af56b4cd865941fa03c30af81be}
Invalid parameters given to gwobex \index{gw-\/obex.h@{gw-\/obex.h}!GW\_\-OBEX\_\-ERROR\_\-LOCAL\_\-ACCESS@{GW\_\-OBEX\_\-ERROR\_\-LOCAL\_\-ACCESS}}
\index{GW\_\-OBEX\_\-ERROR\_\-LOCAL\_\-ACCESS@{GW\_\-OBEX\_\-ERROR\_\-LOCAL\_\-ACCESS}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{GW\_\-OBEX\_\-ERROR\_\-LOCAL\_\-ACCESS}]{\setlength{\rightskip}{0pt plus 5cm}\#define GW\_\-OBEX\_\-ERROR\_\-LOCAL\_\-ACCESS~264}\label{gw-obex_8h_a298033353f9de2db4fb5deee19b0dba2}
Local access error (e.g. read/write/open failed for local file) \index{gw-\/obex.h@{gw-\/obex.h}!GW\_\-OBEX\_\-ERROR\_\-NO\_\-DATA@{GW\_\-OBEX\_\-ERROR\_\-NO\_\-DATA}}
\index{GW\_\-OBEX\_\-ERROR\_\-NO\_\-DATA@{GW\_\-OBEX\_\-ERROR\_\-NO\_\-DATA}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{GW\_\-OBEX\_\-ERROR\_\-NO\_\-DATA}]{\setlength{\rightskip}{0pt plus 5cm}\#define GW\_\-OBEX\_\-ERROR\_\-NO\_\-DATA~266}\label{gw-obex_8h_a7257bef35cfb42530c041193f373d2cf}
No data currently available \index{gw-\/obex.h@{gw-\/obex.h}!GW\_\-OBEX\_\-ERROR\_\-NO\_\-SERVICE@{GW\_\-OBEX\_\-ERROR\_\-NO\_\-SERVICE}}
\index{GW\_\-OBEX\_\-ERROR\_\-NO\_\-SERVICE@{GW\_\-OBEX\_\-ERROR\_\-NO\_\-SERVICE}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{GW\_\-OBEX\_\-ERROR\_\-NO\_\-SERVICE}]{\setlength{\rightskip}{0pt plus 5cm}\#define GW\_\-OBEX\_\-ERROR\_\-NO\_\-SERVICE~259}\label{gw-obex_8h_a2e84429f34f38ba58234931e994c6bfa}
Unable to connecto to the specified service (UUID) \index{gw-\/obex.h@{gw-\/obex.h}!GW\_\-OBEX\_\-ERROR\_\-TIMEOUT@{GW\_\-OBEX\_\-ERROR\_\-TIMEOUT}}
\index{GW\_\-OBEX\_\-ERROR\_\-TIMEOUT@{GW\_\-OBEX\_\-ERROR\_\-TIMEOUT}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{GW\_\-OBEX\_\-ERROR\_\-TIMEOUT}]{\setlength{\rightskip}{0pt plus 5cm}\#define GW\_\-OBEX\_\-ERROR\_\-TIMEOUT~261}\label{gw-obex_8h_a11778311c2b6a1aa3d0904718641a1fe}
Timeout while waiting for data from the remote device \index{gw-\/obex.h@{gw-\/obex.h}!GW\_\-OBEX\_\-UNKNOWN\_\-LENGTH@{GW\_\-OBEX\_\-UNKNOWN\_\-LENGTH}}
\index{GW\_\-OBEX\_\-UNKNOWN\_\-LENGTH@{GW\_\-OBEX\_\-UNKNOWN\_\-LENGTH}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{GW\_\-OBEX\_\-UNKNOWN\_\-LENGTH}]{\setlength{\rightskip}{0pt plus 5cm}\#define GW\_\-OBEX\_\-UNKNOWN\_\-LENGTH~-\/1}\label{gw-obex_8h_ab559c6b321c835c233928db58fe88a81}
Value used if target length for put or get is not known \index{gw-\/obex.h@{gw-\/obex.h}!OBEX\_\-FTP\_\-UUID@{OBEX\_\-FTP\_\-UUID}}
\index{OBEX\_\-FTP\_\-UUID@{OBEX\_\-FTP\_\-UUID}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{OBEX\_\-FTP\_\-UUID}]{\setlength{\rightskip}{0pt plus 5cm}\#define OBEX\_\-FTP\_\-UUID~\char`\"{}$\backslash$xF9$\backslash$xEC$\backslash$x7B$\backslash$xC4$\backslash$x95$\backslash$x3C$\backslash$x11$\backslash$xD2$\backslash$x98$\backslash$x4E$\backslash$x52$\backslash$x54$\backslash$x00$\backslash$xDC$\backslash$x9E$\backslash$x09\char`\"{}}\label{gw-obex_8h_a30cadc2cd08928ec9bd48298b85f77ba}
Standard folder browsing service UUID (give this as a parameter to gw\_\-obex\_\-setup\_\-$\ast$ to connect to folder browsing service \index{gw-\/obex.h@{gw-\/obex.h}!OBEX\_\-FTP\_\-UUID\_\-LEN@{OBEX\_\-FTP\_\-UUID\_\-LEN}}
\index{OBEX\_\-FTP\_\-UUID\_\-LEN@{OBEX\_\-FTP\_\-UUID\_\-LEN}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{OBEX\_\-FTP\_\-UUID\_\-LEN}]{\setlength{\rightskip}{0pt plus 5cm}\#define OBEX\_\-FTP\_\-UUID\_\-LEN~16}\label{gw-obex_8h_a429b27f223c1094c656c0d746ca9d291}
Length of OBEX\_\-FTP\_\-UUID \index{gw-\/obex.h@{gw-\/obex.h}!OBEX\_\-PBAP\_\-UUID@{OBEX\_\-PBAP\_\-UUID}}
\index{OBEX\_\-PBAP\_\-UUID@{OBEX\_\-PBAP\_\-UUID}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{OBEX\_\-PBAP\_\-UUID}]{\setlength{\rightskip}{0pt plus 5cm}\#define OBEX\_\-PBAP\_\-UUID~\char`\"{}$\backslash$x79$\backslash$x61$\backslash$x35$\backslash$xF0$\backslash$xF0$\backslash$xC5$\backslash$x11$\backslash$xD8$\backslash$x09$\backslash$x66$\backslash$x08$\backslash$x00$\backslash$x20$\backslash$x0C$\backslash$x9A$\backslash$x66\char`\"{}}\label{gw-obex_8h_ab57e69842e07f8a61090f8a3551911f9}
Phone Book Access Profile UUID \index{gw-\/obex.h@{gw-\/obex.h}!OBEX\_\-PBAP\_\-UUID\_\-LEN@{OBEX\_\-PBAP\_\-UUID\_\-LEN}}
\index{OBEX\_\-PBAP\_\-UUID\_\-LEN@{OBEX\_\-PBAP\_\-UUID\_\-LEN}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{OBEX\_\-PBAP\_\-UUID\_\-LEN}]{\setlength{\rightskip}{0pt plus 5cm}\#define OBEX\_\-PBAP\_\-UUID\_\-LEN~16}\label{gw-obex_8h_ab9668bfcb812872bc56482e2e1d1393c}
Length of OBEX\_\-PBAP\_\-UUID \index{gw-\/obex.h@{gw-\/obex.h}!OBEX\_\-SYNC\_\-UUID@{OBEX\_\-SYNC\_\-UUID}}
\index{OBEX\_\-SYNC\_\-UUID@{OBEX\_\-SYNC\_\-UUID}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{OBEX\_\-SYNC\_\-UUID}]{\setlength{\rightskip}{0pt plus 5cm}\#define OBEX\_\-SYNC\_\-UUID~\char`\"{}IRMC-\/SYNC\char`\"{}}\label{gw-obex_8h_a0497c7837858d71826fb774e60e396a6}
IrMC Sync Profile UUID \index{gw-\/obex.h@{gw-\/obex.h}!OBEX\_\-SYNC\_\-UUID\_\-LEN@{OBEX\_\-SYNC\_\-UUID\_\-LEN}}
\index{OBEX\_\-SYNC\_\-UUID\_\-LEN@{OBEX\_\-SYNC\_\-UUID\_\-LEN}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{OBEX\_\-SYNC\_\-UUID\_\-LEN}]{\setlength{\rightskip}{0pt plus 5cm}\#define OBEX\_\-SYNC\_\-UUID\_\-LEN~9}\label{gw-obex_8h_a0068079fba3cb5b7793c4925a4d0f7b2}
Length of OBEX\_\-SYNC\_\-UUID 

\subsection{Typedef Documentation}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-cancel\_\-cb\_\-t@{gw\_\-obex\_\-cancel\_\-cb\_\-t}}
\index{gw\_\-obex\_\-cancel\_\-cb\_\-t@{gw\_\-obex\_\-cancel\_\-cb\_\-t}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-cancel\_\-cb\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}typedef gboolean($\ast$ {\bf gw\_\-obex\_\-cancel\_\-cb\_\-t})(gpointer data)}\label{gw-obex_8h_a6784de9a8c7a3391325cdcfaabce702d}
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(). 
\begin{DoxyParams}{Parameters}
{\em data} & Optional pointer to user data \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE if the operation should be canceled, FALSE othervice 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-disconnect\_\-cb\_\-t@{gw\_\-obex\_\-disconnect\_\-cb\_\-t}}
\index{gw\_\-obex\_\-disconnect\_\-cb\_\-t@{gw\_\-obex\_\-disconnect\_\-cb\_\-t}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-disconnect\_\-cb\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}typedef void($\ast$ {\bf gw\_\-obex\_\-disconnect\_\-cb\_\-t})({\bf GwObex} $\ast$ctx, gpointer data)}\label{gw-obex_8h_a1018e15842ad8c78c1b91ba8644badfd}
Callback type for transport connection loss 
\begin{DoxyParams}{Parameters}
{\em ctx} & GwObex pointer for the connection \\
\hline
{\em data} & Optional pointer to user data \\
\hline
\end{DoxyParams}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-progress\_\-cb\_\-t@{gw\_\-obex\_\-progress\_\-cb\_\-t}}
\index{gw\_\-obex\_\-progress\_\-cb\_\-t@{gw\_\-obex\_\-progress\_\-cb\_\-t}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-progress\_\-cb\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}typedef void($\ast$ {\bf gw\_\-obex\_\-progress\_\-cb\_\-t})({\bf GwObex} $\ast$ctx, gint obex\_\-cmd, gint current, gint target, gpointer data)}\label{gw-obex_8h_a38842d36e360a033e73af779f24a5653}
Callback type for progress information Only used for the synchronous transfer functions. 
\begin{DoxyParams}{Parameters}
{\em ctx} & GwObex pointer for the connection \\
\hline
{\em obex\_\-cmd} & eg. OBEX\_\-CMD\_\-PUT \\
\hline
{\em current} & Bytes transfered \\
\hline
{\em target} & Total length (or GW\_\-OBEX\_\-UNKNOWN\_\-LENGTH) \\
\hline
{\em data} & Optional pointer to user data \\
\hline
\end{DoxyParams}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-xfer\_\-cb\_\-t@{gw\_\-obex\_\-xfer\_\-cb\_\-t}}
\index{gw\_\-obex\_\-xfer\_\-cb\_\-t@{gw\_\-obex\_\-xfer\_\-cb\_\-t}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-xfer\_\-cb\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}typedef void($\ast$ {\bf gw\_\-obex\_\-xfer\_\-cb\_\-t})({\bf GwObexXfer} $\ast$xfer, gpointer data)}\label{gw-obex_8h_a60b07b008feb17701611f08d046c11e5}
Callback type for ongoing transfers 
\begin{DoxyParams}{Parameters}
{\em ctx} & GwObexXfer pointer for the transfer \\
\hline
{\em data} & Optional pointer to user data \\
\hline
\end{DoxyParams}
\index{gw-\/obex.h@{gw-\/obex.h}!GwObex@{GwObex}}
\index{GwObex@{GwObex}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{GwObex}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct gw\_\-obex {\bf GwObex}}\label{gw-obex_8h_abe9f1605edaeb148ac859915494d8524}
Struct containing the context of a gwobex connection \index{gw-\/obex.h@{gw-\/obex.h}!GwObexXfer@{GwObexXfer}}
\index{GwObexXfer@{GwObexXfer}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{GwObexXfer}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct gw\_\-obex\_\-xfer {\bf GwObexXfer}}\label{gw-obex_8h_a06af483a737e4cd1943b4a789456b825}
Objecct transfer handle 

\subsection{Function Documentation}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-chdir@{gw\_\-obex\_\-chdir}}
\index{gw\_\-obex\_\-chdir@{gw\_\-obex\_\-chdir}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-chdir}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-chdir (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{const gchar $\ast$}]{dir, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_aac21f4df17bb472d2838375cad3526bc}
Change directory (relative to the current one).


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em dir} & New directory to change to (null terminated UTF-\/8), \char`\"{}..\char`\"{} to go up, NULL to go to the root folder \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-close@{gw\_\-obex\_\-close}}
\index{gw\_\-obex\_\-close@{gw\_\-obex\_\-close}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-close}]{\setlength{\rightskip}{0pt plus 5cm}void gw\_\-obex\_\-close (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a7391c2a95635616756164e4b54a74a70}
Close GW OBEX connection and free all memory associated with it.


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup(). Cannot be used anymore after this calling this function. \\
\hline
\end{DoxyParams}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-copy@{gw\_\-obex\_\-copy}}
\index{gw\_\-obex\_\-copy@{gw\_\-obex\_\-copy}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-copy}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-copy (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{const gchar $\ast$}]{src, }
\item[{const gchar $\ast$}]{dst, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a6d69f2be7fe08467def67d2330db7828}
Copy a file on the remote device.


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em src} & Source filename (null terminated UTF-\/8) \\
\hline
{\em dst} & Destination filename (null terminated UTF-\/8) \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-delete@{gw\_\-obex\_\-delete}}
\index{gw\_\-obex\_\-delete@{gw\_\-obex\_\-delete}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-delete}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-delete (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{const gchar $\ast$}]{name, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a9f33e91b9e9ab042019251cc4935e341}
Remove a file from the remote device.


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em name} & Filename to remove (null terminated UTF-\/8) \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-get\_\-async@{gw\_\-obex\_\-get\_\-async}}
\index{gw\_\-obex\_\-get\_\-async@{gw\_\-obex\_\-get\_\-async}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-get\_\-async}]{\setlength{\rightskip}{0pt plus 5cm}{\bf GwObexXfer}$\ast$ gw\_\-obex\_\-get\_\-async (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{const char $\ast$}]{name, }
\item[{const char $\ast$}]{type, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_ae840ffc6b96b1ab970fdbf75a1dd1c7a}
Start a GET operation asynchronously


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em name} & Name of the object (null terminated UTF-\/8) \\
\hline
{\em type} & Type of the object (null terminated UTF-\/8), or NULL \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new GwObexXfer object on success, NULL on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-get\_\-async\_\-with\_\-apparam@{gw\_\-obex\_\-get\_\-async\_\-with\_\-apparam}}
\index{gw\_\-obex\_\-get\_\-async\_\-with\_\-apparam@{gw\_\-obex\_\-get\_\-async\_\-with\_\-apparam}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-get\_\-async\_\-with\_\-apparam}]{\setlength{\rightskip}{0pt plus 5cm}{\bf GwObexXfer}$\ast$ gw\_\-obex\_\-get\_\-async\_\-with\_\-apparam (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{const char $\ast$}]{name, }
\item[{const char $\ast$}]{type, }
\item[{const guint8 $\ast$}]{apparam, }
\item[{gint}]{apparam\_\-size, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a55fe8a0f6a244f35251825a94f50805d}
Start a GET operation asynchronously with application parameters


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em name} & Name of the object (null terminated UTF-\/8) \\
\hline
{\em type} & Type of the object (null terminated UTF-\/8), or NULL \\
\hline
{\em apparam} & Application parameters of the object \\
\hline
{\em apparam\_\-size} & Application paramters' size \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new GwObexXfer object on success, NULL on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-get\_\-buf@{gw\_\-obex\_\-get\_\-buf}}
\index{gw\_\-obex\_\-get\_\-buf@{gw\_\-obex\_\-get\_\-buf}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-get\_\-buf}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-get\_\-buf (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{const gchar $\ast$}]{remote, }
\item[{const gchar $\ast$}]{type, }
\item[{gchar $\ast$$\ast$}]{buf, }
\item[{gint $\ast$}]{buf\_\-size, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_aa7e04cc843521659f5c9970a36553157}
Get an object from the remote device and store it in a memory buffer. Either remote filename or type must be supplied (or both).


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em remote} & Remote filename (null terminated UTF-\/8) \\
\hline
{\em type} & MIME-\/type of the object \\
\hline
{\em buf} & Buffer to store the object in. g\_\-free() when not needed anymore. \\
\hline
{\em buf\_\-size} & Place to store length of fetched object \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-get\_\-buf\_\-with\_\-apparam@{gw\_\-obex\_\-get\_\-buf\_\-with\_\-apparam}}
\index{gw\_\-obex\_\-get\_\-buf\_\-with\_\-apparam@{gw\_\-obex\_\-get\_\-buf\_\-with\_\-apparam}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-get\_\-buf\_\-with\_\-apparam}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-get\_\-buf\_\-with\_\-apparam (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{const gchar $\ast$}]{remote, }
\item[{const gchar $\ast$}]{type, }
\item[{const guint8 $\ast$}]{apparam, }
\item[{gint}]{apparam\_\-size, }
\item[{gchar $\ast$$\ast$}]{buf, }
\item[{gint $\ast$}]{buf\_\-size, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a9f78aff94744e8420c798df000807c12}
Get an object from the remote device and store it in a memory buffer. Either remote filename or type must be supplied (or both).


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em remote} & Remote filename (null terminated UTF-\/8) \\
\hline
{\em type} & MIME-\/type of the object \\
\hline
{\em apparam} & Application parameters of the object \\
\hline
{\em apparam\_\-size} & Application parameters size \\
\hline
{\em buf} & Buffer to store the object in. g\_\-free() when not needed anymore. \\
\hline
{\em buf\_\-size} & Place to store length of fetched object \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-get\_\-capability@{gw\_\-obex\_\-get\_\-capability}}
\index{gw\_\-obex\_\-get\_\-capability@{gw\_\-obex\_\-get\_\-capability}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-get\_\-capability}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-get\_\-capability (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{gchar $\ast$$\ast$}]{cap, }
\item[{gint $\ast$}]{cap\_\-len, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a8daca049a95000ea8721de95963b9e96}
Get the capability object from the connected remote device.


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em cap} & Place to store the fetched object. g\_\-free() when not needed anymore. \\
\hline
{\em cap\_\-len} & Place to store the size of the fetched object \\
\hline
{\em error} & Place to store a possible error code (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-get\_\-fd@{gw\_\-obex\_\-get\_\-fd}}
\index{gw\_\-obex\_\-get\_\-fd@{gw\_\-obex\_\-get\_\-fd}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-get\_\-fd}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-get\_\-fd (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{gint}]{fd, }
\item[{const gchar $\ast$}]{remote, }
\item[{const gchar $\ast$}]{type, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a56113ad940944160684ba3aff31c79ce}
Get a file from the remote device and write it to a file descriptor


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em fd} & File descriptor to write the file into \\
\hline
{\em remote} & Remote filename (null terminated UTF-\/8) \\
\hline
{\em type} & MIME-\/type of the object \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-get\_\-file@{gw\_\-obex\_\-get\_\-file}}
\index{gw\_\-obex\_\-get\_\-file@{gw\_\-obex\_\-get\_\-file}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-get\_\-file}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-get\_\-file (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{const gchar $\ast$}]{local, }
\item[{const gchar $\ast$}]{remote, }
\item[{const gchar $\ast$}]{type, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a6c21b10168a4e31c11e5cd2bd000e97a}
Get a file from the remote device.


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em local} & Local filename (null terminated UTF-\/8) \\
\hline
{\em remote} & Remote filename (null terminated UTF-\/8) \\
\hline
{\em type} & MIME-\/type of the object \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-mkdir@{gw\_\-obex\_\-mkdir}}
\index{gw\_\-obex\_\-mkdir@{gw\_\-obex\_\-mkdir}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-mkdir}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-mkdir (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{const gchar $\ast$}]{dir, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_af74deea7942bbf36aa1d503a38e07b31}
Create a new directory.


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em dir} & Directory to create (null terminated UTF-\/8) \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-move@{gw\_\-obex\_\-move}}
\index{gw\_\-obex\_\-move@{gw\_\-obex\_\-move}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-move}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-move (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{const gchar $\ast$}]{src, }
\item[{const gchar $\ast$}]{dst, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_aa33814db622ad0673cb8afffc0dc703a}
Move/Rename a file on the remote device.


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em src} & Source filename (null terminated UTF-\/8) \\
\hline
{\em dst} & Destination filename (null terminated UTF-\/8) \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-put\_\-async@{gw\_\-obex\_\-put\_\-async}}
\index{gw\_\-obex\_\-put\_\-async@{gw\_\-obex\_\-put\_\-async}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-put\_\-async}]{\setlength{\rightskip}{0pt plus 5cm}{\bf GwObexXfer}$\ast$ gw\_\-obex\_\-put\_\-async (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{const char $\ast$}]{name, }
\item[{const char $\ast$}]{type, }
\item[{gint}]{size, }
\item[{time\_\-t}]{time, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a77e407cb46aafd3c3fd8f4b2e83e9016}
Start a PUT operation asynchronously


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em name} & Name of the object (null terminated UTF-\/8) \\
\hline
{\em type} & Type of the object (null terminated UTF-\/8), or NULL \\
\hline
{\em size} & Size of the object (GW\_\-OBEX\_\-UNKNOWN\_\-LENGTH if not known) \\
\hline
{\em time} & Last modification time of the object (-\/1 if not known) \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new GwObexXfer object on success, NULL on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-put\_\-buf@{gw\_\-obex\_\-put\_\-buf}}
\index{gw\_\-obex\_\-put\_\-buf@{gw\_\-obex\_\-put\_\-buf}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-put\_\-buf}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-put\_\-buf (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{const gchar $\ast$}]{remote, }
\item[{const gchar $\ast$}]{type, }
\item[{const gchar $\ast$}]{buf, }
\item[{gint}]{buf\_\-size, }
\item[{gint}]{time, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_aebbf193dc7fe878773f91f17f22be5bf}
Send a object located in a memory buffer to the remote device. Either remote filename or type must be supplied (or both)


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em remote} & Remote filename (null terminated UTF-\/8) \\
\hline
{\em type} & MIME-\/type of the object \\
\hline
{\em buf} & Buffer containing the object \\
\hline
{\em buf\_\-size} & Buffer (object) size \\
\hline
{\em time} & Last modification time of object (or -\/1 if not known) \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-put\_\-buf\_\-with\_\-apparam@{gw\_\-obex\_\-put\_\-buf\_\-with\_\-apparam}}
\index{gw\_\-obex\_\-put\_\-buf\_\-with\_\-apparam@{gw\_\-obex\_\-put\_\-buf\_\-with\_\-apparam}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-put\_\-buf\_\-with\_\-apparam}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-put\_\-buf\_\-with\_\-apparam (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{const gchar $\ast$}]{remote, }
\item[{const gchar $\ast$}]{type, }
\item[{const guint8 $\ast$}]{apparam, }
\item[{gint}]{apparam\_\-size, }
\item[{const gchar $\ast$}]{buf, }
\item[{gint}]{buf\_\-size, }
\item[{gint}]{time, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_aecbd57de0413b2b98e93e8d3f16a7eac}
Send a object located in a memory buffer to the remote device. Either remote filename or type must be supplied (or both)


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em remote} & Remote filename (null terminated UTF-\/8) \\
\hline
{\em type} & MIME-\/type of the object \\
\hline
{\em apparam} & Application parameters of the object \\
\hline
{\em apparam\_\-size} & Application parameters size \\
\hline
{\em buf} & Buffer containing the object \\
\hline
{\em buf\_\-size} & Buffer (object) size \\
\hline
{\em time} & Last modification time of object (or -\/1 if not known) \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-put\_\-fd@{gw\_\-obex\_\-put\_\-fd}}
\index{gw\_\-obex\_\-put\_\-fd@{gw\_\-obex\_\-put\_\-fd}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-put\_\-fd}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-put\_\-fd (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{gint}]{fd, }
\item[{const gchar $\ast$}]{remote, }
\item[{const gchar $\ast$}]{type, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a6568a2888ac0dad4889de9c1fea9e3ae}
Read data from a file descriptor and send it to the remote device


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em fd} & File descriptor to read the data from \\
\hline
{\em remote} & Remote filename (null terminated UTF-\/8) \\
\hline
{\em type} & MIME-\/type of the object \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-put\_\-file@{gw\_\-obex\_\-put\_\-file}}
\index{gw\_\-obex\_\-put\_\-file@{gw\_\-obex\_\-put\_\-file}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-put\_\-file}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-put\_\-file (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{const gchar $\ast$}]{local, }
\item[{const gchar $\ast$}]{remote, }
\item[{const gchar $\ast$}]{type, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a592341b43f949b163d6a339e0802fed9}
Send a file to the remote device.


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em local} & Local filename (null terminated UTF-\/8) \\
\hline
{\em remote} & Remote filename (null terminated UTF-\/8) \\
\hline
{\em type} & MIME-\/type of the object \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-read\_\-dir@{gw\_\-obex\_\-read\_\-dir}}
\index{gw\_\-obex\_\-read\_\-dir@{gw\_\-obex\_\-read\_\-dir}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-read\_\-dir}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-read\_\-dir (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{const gchar $\ast$}]{dir, }
\item[{gchar $\ast$$\ast$}]{buf, }
\item[{gint $\ast$}]{buf\_\-size, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_aadee5b1ccbd303a6019288de53dc79a8}
Get folder listing for the specified directory.


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em dir} & Directory to list (null terminated UTF-\/8), NULL to list current directory \\
\hline
{\em buf} & Place to store the folder-\/listing object \\
\hline
{\em buf\_\-size} & Place to store the size for the retrieved object \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-set\_\-cancel\_\-callback@{gw\_\-obex\_\-set\_\-cancel\_\-callback}}
\index{gw\_\-obex\_\-set\_\-cancel\_\-callback@{gw\_\-obex\_\-set\_\-cancel\_\-callback}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-set\_\-cancel\_\-callback}]{\setlength{\rightskip}{0pt plus 5cm}void gw\_\-obex\_\-set\_\-cancel\_\-callback (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{{\bf gw\_\-obex\_\-cancel\_\-cb\_\-t}}]{callback, }
\item[{gpointer}]{data}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_afa0dcd81a95954634e35c6c4be2aa253}
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.

Only used for the synchronous transfer functions.


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em callback} & Function to call \\
\hline
{\em data} & Pointer to pass to the callback function \\
\hline
\end{DoxyParams}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-set\_\-disconnect\_\-callback@{gw\_\-obex\_\-set\_\-disconnect\_\-callback}}
\index{gw\_\-obex\_\-set\_\-disconnect\_\-callback@{gw\_\-obex\_\-set\_\-disconnect\_\-callback}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-set\_\-disconnect\_\-callback}]{\setlength{\rightskip}{0pt plus 5cm}void gw\_\-obex\_\-set\_\-disconnect\_\-callback (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{{\bf gw\_\-obex\_\-disconnect\_\-cb\_\-t}}]{callback, }
\item[{gpointer}]{data}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_aae3ea459aaaf86105a0843189062490d}
Set function to be called when a disconnection happens. You may (and probably should) call \doxyref{gw\_\-obex\_\-close()}{p.}{gw-obex_8h_a7391c2a95635616756164e4b54a74a70} if this function is called. 
\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em callback} & Function to call \\
\hline
{\em data} & Optional data to pass to the callback function \\
\hline
\end{DoxyParams}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-set\_\-progress\_\-callback@{gw\_\-obex\_\-set\_\-progress\_\-callback}}
\index{gw\_\-obex\_\-set\_\-progress\_\-callback@{gw\_\-obex\_\-set\_\-progress\_\-callback}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-set\_\-progress\_\-callback}]{\setlength{\rightskip}{0pt plus 5cm}void gw\_\-obex\_\-set\_\-progress\_\-callback (
\begin{DoxyParamCaption}
\item[{{\bf GwObex} $\ast$}]{ctx, }
\item[{{\bf gw\_\-obex\_\-progress\_\-cb\_\-t}}]{callback, }
\item[{gpointer}]{data}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a3532bb66676f23383640404064bf01d9}
Set function to be called when progress for a put or get operation happens. Only used for the synchronous transfer functions.


\begin{DoxyParams}{Parameters}
{\em ctx} & Pointer returned by gw\_\-obex\_\-setup() \\
\hline
{\em callback} & Function to call \\
\hline
{\em data} & Optional data to pass to the callback function \\
\hline
\end{DoxyParams}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-setup\_\-dev@{gw\_\-obex\_\-setup\_\-dev}}
\index{gw\_\-obex\_\-setup\_\-dev@{gw\_\-obex\_\-setup\_\-dev}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-setup\_\-dev}]{\setlength{\rightskip}{0pt plus 5cm}{\bf GwObex}$\ast$ gw\_\-obex\_\-setup\_\-dev (
\begin{DoxyParamCaption}
\item[{const gchar $\ast$}]{device, }
\item[{const gchar $\ast$}]{uuid, }
\item[{gint}]{uuid\_\-len, }
\item[{GMainContext $\ast$}]{context, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a395d19981a56ce550099501371117ec6}
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.


\begin{DoxyParams}{Parameters}
{\em device} & The local device which should be opened for the connection \\
\hline
{\em uuid} & UUID of service to connect to. NULL for the default service (INBOX). \\
\hline
{\em uuid\_\-len} & Length (in bytes) of UUID \\
\hline
{\em context} & GMainContext to attach to (or NULL for the default one) \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A pointer, NULL on failure This pointer should be passed to the other obex\_\-$\ast$ functions. 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-setup\_\-fd@{gw\_\-obex\_\-setup\_\-fd}}
\index{gw\_\-obex\_\-setup\_\-fd@{gw\_\-obex\_\-setup\_\-fd}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-setup\_\-fd}]{\setlength{\rightskip}{0pt plus 5cm}{\bf GwObex}$\ast$ gw\_\-obex\_\-setup\_\-fd (
\begin{DoxyParamCaption}
\item[{int}]{fd, }
\item[{const gchar $\ast$}]{uuid, }
\item[{gint}]{uuid\_\-len, }
\item[{GMainContext $\ast$}]{context, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_abf55f0a3b90903ba2b1bb5b9fb66cef7}
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.


\begin{DoxyParams}{Parameters}
{\em fd} & Opened file descriptor to use for the connection \\
\hline
{\em uuid} & UUID of service to connect to. NULL for the default service (INBOX). \\
\hline
{\em uuid\_\-len} & Length (in bytes) of UUID \\
\hline
{\em context} & GMainContext to attach to (or NULL for the default one) \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A pointer, NULL on failure This pointer should be passed to the other obex\_\-$\ast$ functions. 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-xfer\_\-abort@{gw\_\-obex\_\-xfer\_\-abort}}
\index{gw\_\-obex\_\-xfer\_\-abort@{gw\_\-obex\_\-xfer\_\-abort}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-xfer\_\-abort}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-xfer\_\-abort (
\begin{DoxyParamCaption}
\item[{{\bf GwObexXfer} $\ast$}]{xfer, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a70a09d731cf39da7d9264e2eaffdd032}
Abort an ongoing transfer

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).


\begin{DoxyParams}{Parameters}
{\em xfer} & Pointer returned by gw\_\-obex\_\-put\_\-async or gw\_\-obex\_\-get\_\-async \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-xfer\_\-close@{gw\_\-obex\_\-xfer\_\-close}}
\index{gw\_\-obex\_\-xfer\_\-close@{gw\_\-obex\_\-xfer\_\-close}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-xfer\_\-close}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-xfer\_\-close (
\begin{DoxyParamCaption}
\item[{{\bf GwObexXfer} $\ast$}]{xfer, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_accd2fb67321771d312f911fe9a8e2a44}
Close an ongoing transfer

You still need to call gw\_\-obex\_\-xfer\_\-free after this to free the actual memory allocated for the GwObexXfer object.


\begin{DoxyParams}{Parameters}
{\em xfer} & Pointer returned by gw\_\-obex\_\-put\_\-async or gw\_\-obex\_\-get\_\-async \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-xfer\_\-flush@{gw\_\-obex\_\-xfer\_\-flush}}
\index{gw\_\-obex\_\-xfer\_\-flush@{gw\_\-obex\_\-xfer\_\-flush}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-xfer\_\-flush}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-xfer\_\-flush (
\begin{DoxyParamCaption}
\item[{{\bf GwObexXfer} $\ast$}]{xfer, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a16ebe2554ade8ec47f67e73b03e07b4c}
Force all data remaining in buffers to be sent


\begin{DoxyParams}{Parameters}
{\em xfer} & Pointer returned by gw\_\-obex\_\-put\_\-async or gw\_\-obex\_\-get\_\-async \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-xfer\_\-free@{gw\_\-obex\_\-xfer\_\-free}}
\index{gw\_\-obex\_\-xfer\_\-free@{gw\_\-obex\_\-xfer\_\-free}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-xfer\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}void gw\_\-obex\_\-xfer\_\-free (
\begin{DoxyParamCaption}
\item[{struct gw\_\-obex\_\-xfer $\ast$}]{xfer}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a3bbc826952ab651b424710a4649f252b}
Free the data allocated for a GwObexXfer object


\begin{DoxyParams}{Parameters}
{\em xfer} & Pointer returned by gw\_\-obex\_\-put\_\-async or gw\_\-obex\_\-get\_\-async \\
\hline
\end{DoxyParams}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-xfer\_\-object\_\-apparam@{gw\_\-obex\_\-xfer\_\-object\_\-apparam}}
\index{gw\_\-obex\_\-xfer\_\-object\_\-apparam@{gw\_\-obex\_\-xfer\_\-object\_\-apparam}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-xfer\_\-object\_\-apparam}]{\setlength{\rightskip}{0pt plus 5cm}unsigned char$\ast$ gw\_\-obex\_\-xfer\_\-object\_\-apparam (
\begin{DoxyParamCaption}
\item[{{\bf GwObexXfer} $\ast$}]{xfer, }
\item[{size\_\-t $\ast$}]{apparam\_\-size}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_ad2aded72d1bbd1444f89f60ea4c66cc6}
Get the contents of the application parameters header


\begin{DoxyParams}{Parameters}
{\em xfer} & Pointer returned by gw\_\-obex\_\-put\_\-async or gw\_\-obex\_\-get\_\-async \\
\hline
{\em apparam\_\-size} & Return value for the size of the application parameters header.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The pointer to the buffer that hold the contents. 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-xfer\_\-object\_\-done@{gw\_\-obex\_\-xfer\_\-object\_\-done}}
\index{gw\_\-obex\_\-xfer\_\-object\_\-done@{gw\_\-obex\_\-xfer\_\-object\_\-done}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-xfer\_\-object\_\-done}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-xfer\_\-object\_\-done (
\begin{DoxyParamCaption}
\item[{{\bf GwObexXfer} $\ast$}]{xfer}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a8b447cd6a1d8428cb3121c0309c5fa78}
Returns if a transfer is already done


\begin{DoxyParams}{Parameters}
{\em xfer} & Pointer returned by gw\_\-obex\_\-put\_\-async or gw\_\-obex\_\-get\_\-async\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the current transfer is done 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-xfer\_\-object\_\-size@{gw\_\-obex\_\-xfer\_\-object\_\-size}}
\index{gw\_\-obex\_\-xfer\_\-object\_\-size@{gw\_\-obex\_\-xfer\_\-object\_\-size}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-xfer\_\-object\_\-size}]{\setlength{\rightskip}{0pt plus 5cm}gint gw\_\-obex\_\-xfer\_\-object\_\-size (
\begin{DoxyParamCaption}
\item[{{\bf GwObexXfer} $\ast$}]{xfer}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a483b3d5935ea4d57a78229fe37301327}
Get the size of the object being transfered


\begin{DoxyParams}{Parameters}
{\em xfer} & Pointer returned by gw\_\-obex\_\-put\_\-async or gw\_\-obex\_\-get\_\-async\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The size or GW\_\-OBEX\_\-UNKNOWN\_\-LENGTH if it is not known. 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-xfer\_\-object\_\-time@{gw\_\-obex\_\-xfer\_\-object\_\-time}}
\index{gw\_\-obex\_\-xfer\_\-object\_\-time@{gw\_\-obex\_\-xfer\_\-object\_\-time}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-xfer\_\-object\_\-time}]{\setlength{\rightskip}{0pt plus 5cm}time\_\-t gw\_\-obex\_\-xfer\_\-object\_\-time (
\begin{DoxyParamCaption}
\item[{{\bf GwObexXfer} $\ast$}]{xfer}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a196f495556d9877aa9656df16603c5f4}
Get the last modification time of the object being transfered


\begin{DoxyParams}{Parameters}
{\em xfer} & Pointer returned by gw\_\-obex\_\-put\_\-async or gw\_\-obex\_\-get\_\-async\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The modification time or -\/1 if it is not known. 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-xfer\_\-read@{gw\_\-obex\_\-xfer\_\-read}}
\index{gw\_\-obex\_\-xfer\_\-read@{gw\_\-obex\_\-xfer\_\-read}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-xfer\_\-read}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-xfer\_\-read (
\begin{DoxyParamCaption}
\item[{{\bf GwObexXfer} $\ast$}]{xfer, }
\item[{char $\ast$}]{buf, }
\item[{gint}]{buf\_\-size, }
\item[{gint $\ast$}]{bytes\_\-read, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a48697b830e7bfdb595035f962ac42e3a}
Read data from a transfer

The function will report EOF by returning success with zero bytes read.


\begin{DoxyParams}{Parameters}
{\em xfer} & Pointer returned by gw\_\-obex\_\-put\_\-async or gw\_\-obex\_\-get\_\-async \\
\hline
{\em buf} & Buffer where the data should be stored \\
\hline
{\em buf\_\-size} & Size of the buffer \\
\hline
{\em bytes\_\-read} & Return value for the number of bytes that were read \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-xfer\_\-set\_\-blocking@{gw\_\-obex\_\-xfer\_\-set\_\-blocking}}
\index{gw\_\-obex\_\-xfer\_\-set\_\-blocking@{gw\_\-obex\_\-xfer\_\-set\_\-blocking}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-xfer\_\-set\_\-blocking}]{\setlength{\rightskip}{0pt plus 5cm}void gw\_\-obex\_\-xfer\_\-set\_\-blocking (
\begin{DoxyParamCaption}
\item[{{\bf GwObexXfer} $\ast$}]{xfer, }
\item[{gboolean}]{block}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_aaba1db69c33e375794045bd7be4709a5}
Set blocking behaviour for a GwObexXfer object when calling xfer\_\-read and xfer\_\-write

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 $\ast$some$\ast$ data will be written.


\begin{DoxyParams}{Parameters}
{\em xfer} & Pointer returned by gw\_\-obex\_\-put\_\-async or gw\_\-obex\_\-get\_\-async \\
\hline
{\em block} & TRUE to enable blocking behaviour \\
\hline
\end{DoxyParams}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-xfer\_\-set\_\-callback@{gw\_\-obex\_\-xfer\_\-set\_\-callback}}
\index{gw\_\-obex\_\-xfer\_\-set\_\-callback@{gw\_\-obex\_\-xfer\_\-set\_\-callback}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-xfer\_\-set\_\-callback}]{\setlength{\rightskip}{0pt plus 5cm}void gw\_\-obex\_\-xfer\_\-set\_\-callback (
\begin{DoxyParamCaption}
\item[{{\bf GwObexXfer} $\ast$}]{xfer, }
\item[{{\bf gw\_\-obex\_\-xfer\_\-cb\_\-t}}]{cb, }
\item[{gpointer}]{user\_\-data}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_a66c5bec4f1a2f928008e3836f4f11365}
Set a callback function for a GwObexXfer object The callback function will be called in the following situations: 
\begin{DoxyItemize}
\item Data can be written (i.e. xfer\_\-write will succeed) 
\item Data can be read (i.e. xfer\_\-read will succees) 
\item An error ocured 
\item The transfer is finished 
\end{DoxyItemize}


\begin{DoxyParams}{Parameters}
{\em xfer} & Pointer returned by gw\_\-obex\_\-put\_\-async or gw\_\-obex\_\-get\_\-async \\
\hline
{\em cb} & Pointer to the callback function \\
\hline
{\em user\_\-data} & Optional user data which will be passed to the callback function\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new GwObexXfer object on success, NULL on failure 
\end{DoxyReturn}
\index{gw-\/obex.h@{gw-\/obex.h}!gw\_\-obex\_\-xfer\_\-write@{gw\_\-obex\_\-xfer\_\-write}}
\index{gw\_\-obex\_\-xfer\_\-write@{gw\_\-obex\_\-xfer\_\-write}!gw-obex.h@{gw-\/obex.h}}
\subsubsection[{gw\_\-obex\_\-xfer\_\-write}]{\setlength{\rightskip}{0pt plus 5cm}gboolean gw\_\-obex\_\-xfer\_\-write (
\begin{DoxyParamCaption}
\item[{{\bf GwObexXfer} $\ast$}]{xfer, }
\item[{const char $\ast$}]{buf, }
\item[{gint}]{buf\_\-size, }
\item[{gint $\ast$}]{bytes\_\-written, }
\item[{gint $\ast$}]{error}
\end{DoxyParamCaption}
)}\label{gw-obex_8h_ae6b46a275a9336d1ed6aeedd3a00989a}
Supply more data to a transfer


\begin{DoxyParams}{Parameters}
{\em xfer} & Pointer returned by gw\_\-obex\_\-put\_\-async or gw\_\-obex\_\-get\_\-async \\
\hline
{\em buf} & Buffer containing the data \\
\hline
{\em buf\_\-size} & Size of the buffer \\
\hline
{\em bytes\_\-written} & Return value for the number of bytes that were written \\
\hline
{\em error} & Place to store error code on failure (NULL if not interested)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
TRUE on success, FALSE on failure 
\end{DoxyReturn}