mirror of git://git.sysmocom.de/ofono
bluetooth: Add Btio library for DUN
Btio library is the low level socket API for BT RFCOMM connection. We share the same library among BlueZ, Obex and oFono. So make sure you synchronize to other two projects when you make changes to btio.[ch].
This commit is contained in:
parent
e0e734619f
commit
2565d8aed6
|
@ -82,6 +82,8 @@ gisi_sources = gisi/client.c gisi/client.h gisi/common.h \
|
|||
gisi/server.c gisi/server.h \
|
||||
gisi/socket.c gisi/socket.h
|
||||
|
||||
btio_sources = btio/btio.h btio/btio.c
|
||||
|
||||
udev_files = plugins/ofono.rules
|
||||
|
||||
if UDEV
|
||||
|
@ -348,7 +350,8 @@ src_ofonod_SOURCES = $(gdbus_sources) $(builtin_sources) src/ofono.ver \
|
|||
src/smsagent.c src/smsagent.h src/ctm.c \
|
||||
src/cdma-voicecall.c
|
||||
|
||||
src_ofonod_LDADD = $(builtin_libadd) @GLIB_LIBS@ @DBUS_LIBS@ @CAPNG_LIBS@ -ldl
|
||||
src_ofonod_LDADD = $(builtin_libadd) @GLIB_LIBS@ @DBUS_LIBS@ @CAPNG_LIBS@ \
|
||||
@BLUEZ_LIBS@ -ldl
|
||||
|
||||
src_ofonod_LDFLAGS = -Wl,--export-dynamic \
|
||||
-Wl,--version-script=$(srcdir)/src/ofono.ver
|
||||
|
@ -371,7 +374,8 @@ AM_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @CAPNG_CFLAGS@ @USB_CFLAGS@ \
|
|||
-DPLUGINDIR=\""$(build_plugindir)"\"
|
||||
|
||||
INCLUDES = -I$(builddir)/include -I$(builddir)/src -I$(srcdir)/src \
|
||||
-I$(srcdir)/gdbus -I$(srcdir)/gisi -I$(srcdir)/gatchat
|
||||
-I$(srcdir)/gdbus -I$(srcdir)/gisi -I$(srcdir)/gatchat \
|
||||
-I$(srcdir)/btio
|
||||
|
||||
doc_files = doc/overview.txt doc/ofono-paper.txt doc/release-faq.txt \
|
||||
doc/manager-api.txt doc/modem-api.txt doc/network-api.txt \
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,97 @@
|
|||
/*
|
||||
*
|
||||
* BlueZ - Bluetooth protocol stack for Linux
|
||||
*
|
||||
* Copyright (C) 2009-2010 Marcel Holtmann <marcel at holtmann.org>
|
||||
* Copyright (C) 2009-2010 Nokia Corporation
|
||||
*
|
||||
*
|
||||
* 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 BT_IO_H
|
||||
#define BT_IO_H
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
typedef enum {
|
||||
BT_IO_ERROR_DISCONNECTED,
|
||||
BT_IO_ERROR_CONNECT_FAILED,
|
||||
BT_IO_ERROR_FAILED,
|
||||
BT_IO_ERROR_INVALID_ARGS,
|
||||
} BtIOError;
|
||||
|
||||
#define BT_IO_ERROR bt_io_error_quark()
|
||||
|
||||
GQuark bt_io_error_quark(void);
|
||||
|
||||
typedef enum {
|
||||
BT_IO_L2RAW,
|
||||
BT_IO_L2CAP,
|
||||
BT_IO_RFCOMM,
|
||||
BT_IO_SCO,
|
||||
} BtIOType;
|
||||
|
||||
typedef enum {
|
||||
BT_IO_OPT_INVALID = 0,
|
||||
BT_IO_OPT_SOURCE,
|
||||
BT_IO_OPT_SOURCE_BDADDR,
|
||||
BT_IO_OPT_DEST,
|
||||
BT_IO_OPT_DEST_BDADDR,
|
||||
BT_IO_OPT_DEFER_TIMEOUT,
|
||||
BT_IO_OPT_SEC_LEVEL,
|
||||
BT_IO_OPT_CHANNEL,
|
||||
BT_IO_OPT_SOURCE_CHANNEL,
|
||||
BT_IO_OPT_DEST_CHANNEL,
|
||||
BT_IO_OPT_PSM,
|
||||
BT_IO_OPT_MTU,
|
||||
BT_IO_OPT_OMTU,
|
||||
BT_IO_OPT_IMTU,
|
||||
BT_IO_OPT_MASTER,
|
||||
BT_IO_OPT_HANDLE,
|
||||
BT_IO_OPT_CLASS,
|
||||
BT_IO_OPT_MODE,
|
||||
} BtIOOption;
|
||||
|
||||
typedef enum {
|
||||
BT_IO_SEC_SDP = 0,
|
||||
BT_IO_SEC_LOW,
|
||||
BT_IO_SEC_MEDIUM,
|
||||
BT_IO_SEC_HIGH,
|
||||
} BtIOSecLevel;
|
||||
|
||||
typedef void (*BtIOConfirm)(GIOChannel *io, gpointer user_data);
|
||||
|
||||
typedef void (*BtIOConnect)(GIOChannel *io, GError *err, gpointer user_data);
|
||||
|
||||
gboolean bt_io_accept(GIOChannel *io, BtIOConnect connect, gpointer user_data,
|
||||
GDestroyNotify destroy, GError **err);
|
||||
|
||||
gboolean bt_io_set(GIOChannel *io, BtIOType type, GError **err,
|
||||
BtIOOption opt1, ...);
|
||||
|
||||
gboolean bt_io_get(GIOChannel *io, BtIOType type, GError **err,
|
||||
BtIOOption opt1, ...);
|
||||
|
||||
GIOChannel *bt_io_connect(BtIOType type, BtIOConnect connect,
|
||||
gpointer user_data, GDestroyNotify destroy,
|
||||
GError **err, BtIOOption opt1, ...);
|
||||
|
||||
GIOChannel *bt_io_listen(BtIOType type, BtIOConnect connect,
|
||||
BtIOConfirm confirm, gpointer user_data,
|
||||
GDestroyNotify destroy, GError **err,
|
||||
BtIOOption opt1, ...);
|
||||
|
||||
#endif
|
|
@ -102,6 +102,11 @@ else
|
|||
fi
|
||||
AC_SUBST(DBUS_CONFDIR)
|
||||
|
||||
PKG_CHECK_MODULES(BLUEZ, bluez, dummy=yes,
|
||||
AC_MSG_ERROR(libbluetooth is required))
|
||||
AC_SUBST(BLUEZ_CFLAGS)
|
||||
AC_SUBST(BLUEZ_LIBS)
|
||||
|
||||
AC_ARG_WITH(dbusdatadir, AC_HELP_STRING([--with-dbusdatadir=PATH],
|
||||
[path to D-Bus data directory]), [path_dbusdata=${withval}],
|
||||
[path_dbusdata="`$PKG_CONFIG --variable=datadir dbus-1`"])
|
||||
|
|
Loading…
Reference in New Issue