diff --git a/Makefile.am b/Makefile.am
index 07492b0..23516b9 100644
--- a/Makefile.am
+++ b/Makefile.am
src/device.h src/device.c src/attio.h \
src/dbus-common.c src/dbus-common.h \
src/eir.h src/eir.c \
+ src/shared/io.h src/shared/io-glib.c \
src/shared/queue.h src/shared/queue.c \
src/shared/util.h src/shared/util.c \
src/shared/mgmt.h src/shared/mgmt.c
unit_tests += unit/test-mgmt
unit_test_mgmt_SOURCES = unit/test-mgmt.c \
+ src/shared/io.h src/shared/io-glib.c \
src/shared/queue.h src/shared/queue.c \
src/shared/util.h src/shared/util.c \
src/shared/mgmt.h src/shared/mgmt.c
diff --git a/Makefile.tools b/Makefile.tools
index 32e08c3..ec1499a 100644
--- a/Makefile.tools
+++ b/Makefile.tools
tools_mgmt_tester_SOURCES = tools/mgmt-tester.c monitor/bt.h \
emulator/btdev.h emulator/btdev.c \
emulator/bthost.h emulator/bthost.c \
+ src/shared/io.h src/shared/io-glib.c \
src/shared/queue.h src/shared/queue.c \
src/shared/util.h src/shared/util.c \
src/shared/mgmt.h src/shared/mgmt.c \
tools_l2cap_tester_SOURCES = tools/l2cap-tester.c monitor/bt.h \
emulator/btdev.h emulator/btdev.c \
emulator/bthost.h emulator/bthost.c \
+ src/shared/io.h src/shared/io-glib.c \
src/shared/queue.h src/shared/queue.c \
src/shared/util.h src/shared/util.c \
src/shared/mgmt.h src/shared/mgmt.c \
tools_smp_tester_SOURCES = tools/smp-tester.c monitor/bt.h \
emulator/btdev.h emulator/btdev.c \
emulator/bthost.h emulator/bthost.c \
+ src/shared/io.h src/shared/io-glib.c \
src/shared/queue.h src/shared/queue.c \
src/shared/util.h src/shared/util.c \
src/shared/mgmt.h src/shared/mgmt.c \
tools_sco_tester_SOURCES = tools/sco-tester.c monitor/bt.h \
emulator/btdev.h emulator/btdev.c \
emulator/bthost.h emulator/bthost.c \
+ src/shared/io.h src/shared/io-glib.c \
src/shared/queue.h src/shared/queue.c \
src/shared/util.h src/shared/util.c \
src/shared/mgmt.h src/shared/mgmt.c \
tools_hcieventmask_LDADD = lib/libbluetooth-internal.la
tools_btmgmt_SOURCES = tools/btmgmt.c src/glib-helper.c src/eir.c \
+ src/shared/io.h src/shared/io-glib.c \
src/shared/queue.h src/shared/queue.c \
src/shared/util.h src/shared/util.c \
src/shared/mgmt.h src/shared/mgmt.c
diff --git a/android/Android.mk b/android/Android.mk
index dc9a7b2..99882bb 100644
--- a/android/Android.mk
+++ b/android/Android.mk
../src/shared/mgmt.c \
../src/shared/util.c \
../src/shared/queue.c \
+ ../src/shared/io-glib.c \
../src/sdpd-database.c \
../src/sdpd-service.c \
../src/sdpd-request.c \
diff --git a/android/Makefile.am b/android/Makefile.am
index 77e343e..f91d8eb 100644
--- a/android/Makefile.am
+++ b/android/Makefile.am
src/sdpd-service.c src/sdpd-request.c \
src/glib-helper.h src/glib-helper.c \
src/eir.h src/eir.c \
+ src/shared/io.h src/shared/io-glib.c \
src/shared/queue.h src/shared/queue.c \
src/shared/util.h src/shared/util.c \
src/shared/mgmt.h src/shared/mgmt.c \
android_android_tester_SOURCES = emulator/btdev.h emulator/btdev.c \
emulator/bthost.h emulator/bthost.c \
+ src/shared/io.h src/shared/io-glib.c \
src/shared/queue.h src/shared/queue.c \
src/shared/util.h src/shared/util.c \
src/shared/mgmt.h src/shared/mgmt.c \
diff --git a/src/shared/io-glib.c b/src/shared/io-glib.c
new file mode 100644
index 0000000..8a7fb9a
--- /dev/null
+++ b/src/shared/io-glib.c
+/*
+ *
+ * BlueZ - Bluetooth protocol stack for Linux
+ *
+ * Copyright (C) 2012 Intel 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 as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "src/shared/io.h"
diff --git a/src/shared/io.h b/src/shared/io.h
new file mode 100644
index 0000000..29ead9c
--- /dev/null
+++ b/src/shared/io.h
+/*
+ *
+ * BlueZ - Bluetooth protocol stack for Linux
+ *
+ * Copyright (C) 2012 Intel 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 as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
diff --git a/src/shared/mgmt.c b/src/shared/mgmt.c
index 8e35215..45fb0df 100644
--- a/src/shared/mgmt.c
+++ b/src/shared/mgmt.c
#include "lib/mgmt.h"
#include "lib/hci.h"
+#include "src/shared/io.h"
#include "src/shared/queue.h"
#include "src/shared/util.h"
#include "src/shared/mgmt.h"