[PATCH 18/25] libusbg: Add getter for function name.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Add usbg_get_function_name() and usbg_get_function_name_len()
to avoid direct function structure members access.

Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx>
---
 include/usbg/usbg.h |   16 ++++++++++++++++
 src/usbg.c          |   10 ++++++++++
 2 files changed, 26 insertions(+)

diff --git a/include/usbg/usbg.h b/include/usbg/usbg.h
index bca99e2..8dad4fa 100644
--- a/include/usbg/usbg.h
+++ b/include/usbg/usbg.h
@@ -451,6 +451,22 @@ extern void usbg_set_gadget_product(struct gadget *g, int lang, char *prd);
 extern struct function *usbg_create_function(struct gadget *g, enum function_type type,
 		char *instance, union attrs* f_attrs);
 
+/**
+ * @brief Get function name length
+ * @param f Config which name length should be returned
+ * @return Length of name string or -1 if error occurred.
+ */
+extern size_t usbg_get_function_name_len(struct function *f);
+
+/**
+ * @brieg Get config name
+ * @param f Pointer to function
+ * @param buf Buffer where name should be copied
+ * @param len Length of given buffer
+ * @return Pointer to destination or NULL if error occurred.
+ */
+extern char *usbg_get_function_name(struct function *f, char *buf, size_t len);
+
 /* USB configurations allocation and configuration */
 
 /**
diff --git a/src/usbg.c b/src/usbg.c
index 3f1d5a9..5fb3c3a 100644
--- a/src/usbg.c
+++ b/src/usbg.c
@@ -957,6 +957,16 @@ char *usbg_get_config_name(struct config* c, char *buf, size_t len)
 	return c ? strncpy(buf, c->name, len) : NULL;
 }
 
+size_t usbg_get_function_name_len(struct function *f)
+{
+	return f ? strlen(f->name): -1;
+}
+
+char *usbg_get_function_name(struct function *f, char *buf, size_t len)
+{
+	return f ? strncpy(buf, f->name, len) : NULL;
+}
+
 void usbg_set_config_attrs(struct config *c, struct config_attrs *c_attrs)
 {
 	if(!c || !c_attrs) {
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux