mirror of
https://git.kernel.org/pub/scm/bluetooth/bluez.git
synced 2024-11-23 12:14:26 +08:00
4832ed0339
The C Standard, subclause 7.16.1.4, paragraph 4 [ISO/IEC 9899:2011], states: The parameter parmN is the identifier of the rightmost parameter in the variable parameter list in the function definition (the one just before the ...). If the parameter parmN is declared with the register storage class, with a function or array type, or with a type that is not compatible with the type that results after application of the default argument promotions, the behavior is undefined.
139 lines
4.5 KiB
C
139 lines
4.5 KiB
C
/*
|
|
*
|
|
* OBEX library with GLib integration
|
|
*
|
|
* Copyright (C) 2011 Intel Corporation. All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*
|
|
*/
|
|
|
|
#ifndef __GOBEX_H
|
|
#define __GOBEX_H
|
|
|
|
#include <stdarg.h>
|
|
#include <glib.h>
|
|
|
|
#include "gobex/gobex-defs.h"
|
|
#include "gobex/gobex-packet.h"
|
|
|
|
typedef enum {
|
|
G_OBEX_TRANSPORT_STREAM,
|
|
G_OBEX_TRANSPORT_PACKET,
|
|
} GObexTransportType;
|
|
|
|
typedef struct _GObex GObex;
|
|
|
|
typedef void (*GObexFunc) (GObex *obex, GError *err, gpointer user_data);
|
|
typedef void (*GObexRequestFunc) (GObex *obex, GObexPacket *req,
|
|
gpointer user_data);
|
|
typedef void (*GObexResponseFunc) (GObex *obex, GError *err, GObexPacket *rsp,
|
|
gpointer user_data);
|
|
|
|
gboolean g_obex_send(GObex *obex, GObexPacket *pkt, GError **err);
|
|
|
|
guint g_obex_send_req(GObex *obex, GObexPacket *req, int timeout,
|
|
GObexResponseFunc func, gpointer user_data,
|
|
GError **err);
|
|
gboolean g_obex_cancel_req(GObex *obex, guint req_id,
|
|
gboolean remove_callback);
|
|
|
|
gboolean g_obex_send_rsp(GObex *obex, guint8 rspcode, GError **err,
|
|
guint first_hdr_type, ...);
|
|
|
|
void g_obex_set_disconnect_function(GObex *obex, GObexFunc func,
|
|
gpointer user_data);
|
|
guint g_obex_add_request_function(GObex *obex, guint8 opcode,
|
|
GObexRequestFunc func,
|
|
gpointer user_data);
|
|
gboolean g_obex_remove_request_function(GObex *obex, guint id);
|
|
|
|
void g_obex_suspend(GObex *obex);
|
|
void g_obex_resume(GObex *obex);
|
|
gboolean g_obex_srm_active(GObex *obex);
|
|
|
|
GObex *g_obex_new(GIOChannel *io, GObexTransportType transport_type,
|
|
gssize rx_mtu, gssize tx_mtu);
|
|
|
|
GObex *g_obex_ref(GObex *obex);
|
|
void g_obex_unref(GObex *obex);
|
|
|
|
/* High level client functions */
|
|
|
|
guint g_obex_connect(GObex *obex, GObexResponseFunc func, gpointer user_data,
|
|
GError **err, guint first_hdr_id, ...);
|
|
|
|
guint g_obex_disconnect(GObex *obex, GObexResponseFunc func, gpointer user_data,
|
|
GError **err);
|
|
|
|
guint g_obex_setpath(GObex *obex, const char *path, GObexResponseFunc func,
|
|
gpointer user_data, GError **err);
|
|
|
|
guint g_obex_mkdir(GObex *obex, const char *path, GObexResponseFunc func,
|
|
gpointer user_data, GError **err);
|
|
|
|
guint g_obex_delete(GObex *obex, const char *name, GObexResponseFunc func,
|
|
gpointer user_data, GError **err);
|
|
|
|
guint g_obex_copy(GObex *obex, const char *name, const char *dest,
|
|
GObexResponseFunc func, gpointer user_data,
|
|
GError **err);
|
|
|
|
guint g_obex_move(GObex *obex, const char *name, const char *dest,
|
|
GObexResponseFunc func, gpointer user_data,
|
|
GError **err);
|
|
|
|
guint g_obex_abort(GObex *obex, GObexResponseFunc func, gpointer user_data,
|
|
GError **err);
|
|
|
|
/* Transfer related high-level functions */
|
|
|
|
guint g_obex_put_req(GObex *obex, GObexDataProducer data_func,
|
|
GObexFunc complete_func, gpointer user_data,
|
|
GError **err, guint first_hdr_id, ...);
|
|
|
|
guint g_obex_put_req_pkt(GObex *obex, GObexPacket *req,
|
|
GObexDataProducer data_func, GObexFunc complete_func,
|
|
gpointer user_data, GError **err);
|
|
|
|
guint g_obex_get_req(GObex *obex, GObexDataConsumer data_func,
|
|
GObexFunc complete_func, gpointer user_data,
|
|
GError **err, guint first_hdr_id, ...);
|
|
|
|
guint g_obex_get_req_pkt(GObex *obex, GObexPacket *req,
|
|
GObexDataConsumer data_func, GObexFunc complete_func,
|
|
gpointer user_data, GError **err);
|
|
|
|
guint g_obex_put_rsp(GObex *obex, GObexPacket *req,
|
|
GObexDataConsumer data_func, GObexFunc complete_func,
|
|
gpointer user_data, GError **err,
|
|
guint first_hdr_id, ...);
|
|
|
|
guint g_obex_get_rsp(GObex *obex, GObexDataProducer data_func,
|
|
GObexFunc complete_func, gpointer user_data,
|
|
GError **err, guint first_hdr_id, ...);
|
|
|
|
guint g_obex_get_rsp_pkt(GObex *obex, GObexPacket *rsp,
|
|
GObexDataProducer data_func, GObexFunc complete_func,
|
|
gpointer user_data, GError **err);
|
|
|
|
gboolean g_obex_cancel_transfer(guint id, GObexFunc complete_func,
|
|
gpointer user_data);
|
|
|
|
const char *g_obex_strerror(guint8 err_code);
|
|
guint8 g_obex_errno_to_rsp(int err);
|
|
|
|
#endif /* __GOBEX_H */
|