summaryrefslogtreecommitdiffstats
path: root/src/nl-link-ifindex2name.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nl-link-ifindex2name.c')
-rw-r--r--src/nl-link-ifindex2name.c59
1 files changed, 24 insertions, 35 deletions
diff --git a/src/nl-link-ifindex2name.c b/src/nl-link-ifindex2name.c
index e1043fb..68e5158 100644
--- a/src/nl-link-ifindex2name.c
+++ b/src/nl-link-ifindex2name.c
@@ -6,50 +6,39 @@
* License as published by the Free Software Foundation version 2.1
* of the License.
*
- * Copyright (c) 2003-2006 Thomas Graf <tgraf@suug.ch>
+ * Copyright (c) 2003-2009 Thomas Graf <tgraf@suug.ch>
*/
-#include "utils.h"
+#include <netlink/cli/utils.h>
+#include <netlink/cli/link.h>
-int main(int argc, char **argv)
+static void print_usage(void)
{
- struct nl_handle *nlh;
- struct nl_cache *link_cache;
- int err = -1, ifindex;
- char dst[32] = {0};
- const char *name;
-
- if (nltool_init(argc, argv) < 0)
- return -1;
-
- if (argc < 2 || !strcmp(argv[1], "-h")) {
- fprintf(stderr, "Usage: nl-link-ifindex2name <ifindex>\n");
- return -1;
- }
+ printf("Usage: nl-link-ifindex2name <ifindex>\n");
+ exit(0);
+}
- nlh = nltool_alloc_handle();
- if (!nlh)
- return -1;
+int main(int argc, char *argv[])
+{
+ struct nl_sock *sock;
+ struct nl_cache *link_cache;
+ char name[IFNAMSIZ];
+ uint32_t ifindex;
- if (nltool_connect(nlh, NETLINK_ROUTE) < 0)
- goto errout;
+ if (argc < 2)
+ print_usage();
- link_cache = nltool_alloc_link_cache(nlh);
- if (!link_cache)
- goto errout;
+ sock = nl_cli_alloc_socket();
+ nl_cli_connect(sock, NETLINK_ROUTE);
+ link_cache = nl_cli_link_alloc_cache(sock);
- ifindex = strtoul(argv[1], NULL, 0);
+ ifindex = nl_cli_parse_u32(argv[1]);
- if (!(name = rtnl_link_i2name(link_cache, ifindex, dst, sizeof(dst))))
- fprintf(stderr, "Interface index %d does not exist\n", ifindex);
- else
- printf("%s\n", name);
+ if (!rtnl_link_i2name(link_cache, ifindex, name, sizeof(name)))
+ nl_cli_fatal(ENOENT, "Interface index %d does not exist",
+ ifindex);
- nl_cache_free(link_cache);
- err = 0;
-errout:
- nl_close(nlh);
- nl_handle_destroy(nlh);
+ printf("%s\n", name);
- return err;
+ return 0;
}