Diff between 62778f4d665b73f7da42cfd56004cb80da054ff4 and 5dbf71c91dd641a4806343fa696c9e1054164f77

Changed Files

File Additions Deletions Status
src/glib-helper.c +15 -0 modified
src/glib-helper.h +2 -0 modified

Full Patch

diff --git a/src/glib-helper.c b/src/glib-helper.c
index 310dd52..9d482fb 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 061dfcd..f414e0c 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);