1 /* 2 * src/nl-link-ifindex2name.c Transform a interface index to its name 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation version 2.1 7 * of the License. 8 * 9 * Copyright (c) 2003-2009 Thomas Graf <tgraf@suug.ch> 10 */ 11 12 #include <netlink/cli/utils.h> 13 #include <netlink/cli/link.h> 14 print_usage(void)15static void print_usage(void) 16 { 17 printf("Usage: nl-link-ifindex2name <ifindex>\n"); 18 exit(0); 19 } 20 main(int argc,char * argv[])21int main(int argc, char *argv[]) 22 { 23 struct nl_sock *sock; 24 struct nl_cache *link_cache; 25 char name[IFNAMSIZ]; 26 uint32_t ifindex; 27 28 if (argc < 2) 29 print_usage(); 30 31 sock = nl_cli_alloc_socket(); 32 nl_cli_connect(sock, NETLINK_ROUTE); 33 link_cache = nl_cli_link_alloc_cache(sock); 34 35 ifindex = nl_cli_parse_u32(argv[1]); 36 37 if (!rtnl_link_i2name(link_cache, ifindex, name, sizeof(name))) 38 nl_cli_fatal(ENOENT, "Interface index %d does not exist", 39 ifindex); 40 41 printf("%s\n", name); 42 43 return 0; 44 } 45