Index: uspace/lib/c/generic/arg_parse.c
===================================================================
--- uspace/lib/c/generic/arg_parse.c	(revision 88dea9d01a9bc5e8482c1ceafa6e6531ac50cb4f)
+++ uspace/lib/c/generic/arg_parse.c	(revision d8e3467358e76057c47d6b02a28d442a944676e6)
@@ -34,4 +34,15 @@
 #include <errno.h>
 #include <str.h>
+
+int arg_parse_short_long(const char *arg, const char *ashort, const char *along)
+{
+	if (str_cmp(arg, ashort) == 0)
+		return 0;
+	
+	if (str_lcmp(arg, along, str_length(along)) == 0)
+		return str_length(along);
+	
+	return -1;
+}
 
 /** Parse the next argument as an integer.
Index: uspace/lib/c/include/arg_parse.h
===================================================================
--- uspace/lib/c/include/arg_parse.h	(revision 88dea9d01a9bc5e8482c1ceafa6e6531ac50cb4f)
+++ uspace/lib/c/include/arg_parse.h	(revision d8e3467358e76057c47d6b02a28d442a944676e6)
@@ -38,4 +38,5 @@
 typedef int (*arg_parser)(const char *, int *);
 
+extern int arg_parse_short_long(const char *, const char *, const char *);
 extern int arg_parse_int(int, char **, int *, int *, int);
 extern int arg_parse_name_int(int, char **, int *, int *, int, arg_parser);
