target: Provide method to get tag from target structure
authorRavi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
Wed, 25 Jan 2012 13:41:49 +0000 (15:41 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Fri, 27 Jan 2012 18:31:58 +0000 (19:31 +0100)
include/target.h
src/target.c

index f42fe14..2228119 100644 (file)
@@ -32,6 +32,8 @@
 
 struct near_tag *near_target_add_tag(uint32_t adapter_idx, uint32_t target_idx,
                                        size_t data_length);
+struct near_tag *near_target_get_tag(uint32_t adapter_idx, uint32_t target_idx);
+
 enum near_target_sub_type near_target_get_subtype(uint32_t adapter_idx,
                                uint32_t target_idx);
 uint8_t *near_target_get_nfcid(uint32_t adapter_idx, uint32_t target_idx,
index 0c8e602..aeeed92 100644 (file)
@@ -477,6 +477,24 @@ fail:
        return NULL;
 }
 
+struct near_tag *near_target_get_tag(uint32_t adapter_idx, uint32_t target_idx)
+{
+       struct near_target *target;
+       char *path;
+
+       path = g_strdup_printf("%s/nfc%d/target%d", NFC_PATH,
+                                       adapter_idx, target_idx);
+       if (path == NULL)
+               return NULL;
+
+       target = g_hash_table_lookup(target_hash, path);
+       g_free(path);
+       if (target == NULL)
+               return NULL;
+
+       return target->tag;
+}
+
 struct near_tag *near_target_add_tag(uint32_t adapter_idx, uint32_t target_idx,
                                                size_t data_length)
 {