summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2012-12-29 22:03:42 -0800
committerMarcel Holtmann <marcel@holtmann.org>2012-12-29 22:03:42 -0800
commit5dbf71c91dd641a4806343fa696c9e1054164f77 (patch)
treed449e376d137e677e86f35dfa935f0b7678d6487
parent62778f4d665b73f7da42cfd56004cb80da054ff4 (diff)
downloadbluez-5dbf71c91dd641a4806343fa696c9e1054164f77.tar.gz
core: Add helper function for creating modalias
-rw-r--r--src/glib-helper.c15
-rw-r--r--src/glib-helper.h2
2 files changed, 17 insertions, 0 deletions
diff --git a/src/glib-helper.c b/src/glib-helper.c
index 310dd5232..9d482fb34 100644
--- a/src/glib-helper.c
+++ b/src/glib-helper.c
@@ -36,6 +36,21 @@
#include "glib-helper.h"
+char *bt_modalias(uint16_t source, uint16_t vendor,
+ uint16_t product, uint16_t version)
+{
+ switch (source) {
+ case 0x0001:
+ return g_strdup_printf("%s:v%04Xp%04Xd%04X",
+ "bluetooth", vendor, product, version);
+ case 0x0002:
+ return g_strdup_printf("%s:v%04Xp%04Xd%04X",
+ "usb", vendor, product, version);
+ }
+
+ return NULL;
+}
+
char *bt_uuid2string(uuid_t *uuid)
{
gchar *str;
diff --git a/src/glib-helper.h b/src/glib-helper.h
index 061dfcdae..f414e0c9d 100644
--- a/src/glib-helper.h
+++ b/src/glib-helper.h
@@ -21,6 +21,8 @@
*
*/
+char *bt_modalias(uint16_t source, uint16_t vendor,
+ uint16_t product, uint16_t version);
gchar *bt_uuid2string(uuid_t *uuid);
char *bt_name2string(const char *string);
int bt_string2uuid(uuid_t *uuid, const char *string);