nl-util-addr.c revision 44d362409d5469aed47d19e7908d19bd194493a
144d362409d5469aed47d19e7908d19bd194493aThomas Graf/* 244d362409d5469aed47d19e7908d19bd194493aThomas Graf * src/nl-util-addr.c Address Helper 344d362409d5469aed47d19e7908d19bd194493aThomas Graf * 444d362409d5469aed47d19e7908d19bd194493aThomas Graf * This library is free software; you can redistribute it and/or 544d362409d5469aed47d19e7908d19bd194493aThomas Graf * modify it under the terms of the GNU Lesser General Public 644d362409d5469aed47d19e7908d19bd194493aThomas Graf * License as published by the Free Software Foundation version 2.1 744d362409d5469aed47d19e7908d19bd194493aThomas Graf * of the License. 844d362409d5469aed47d19e7908d19bd194493aThomas Graf * 944d362409d5469aed47d19e7908d19bd194493aThomas Graf * Copyright (c) 2003-2006 Thomas Graf <tgraf@suug.ch> 1044d362409d5469aed47d19e7908d19bd194493aThomas Graf */ 1144d362409d5469aed47d19e7908d19bd194493aThomas Graf 1244d362409d5469aed47d19e7908d19bd194493aThomas Graf#include "utils.h" 1344d362409d5469aed47d19e7908d19bd194493aThomas Graf 1444d362409d5469aed47d19e7908d19bd194493aThomas Grafint main(int argc, char *argv[]) 1544d362409d5469aed47d19e7908d19bd194493aThomas Graf{ 1644d362409d5469aed47d19e7908d19bd194493aThomas Graf int err; 1744d362409d5469aed47d19e7908d19bd194493aThomas Graf char host[256]; 1844d362409d5469aed47d19e7908d19bd194493aThomas Graf struct nl_addr *a; 1944d362409d5469aed47d19e7908d19bd194493aThomas Graf 2044d362409d5469aed47d19e7908d19bd194493aThomas Graf if (argc < 2) { 2144d362409d5469aed47d19e7908d19bd194493aThomas Graf fprintf(stderr, "Usage: nl-util-addr <address>\n"); 2244d362409d5469aed47d19e7908d19bd194493aThomas Graf return -1; 2344d362409d5469aed47d19e7908d19bd194493aThomas Graf } 2444d362409d5469aed47d19e7908d19bd194493aThomas Graf 2544d362409d5469aed47d19e7908d19bd194493aThomas Graf a = nl_addr_parse(argv[1], AF_UNSPEC); 2644d362409d5469aed47d19e7908d19bd194493aThomas Graf if (a == NULL) { 2744d362409d5469aed47d19e7908d19bd194493aThomas Graf fprintf(stderr, "Cannot parse address \"%s\"\n", argv[1]); 2844d362409d5469aed47d19e7908d19bd194493aThomas Graf return -1; 2944d362409d5469aed47d19e7908d19bd194493aThomas Graf } 3044d362409d5469aed47d19e7908d19bd194493aThomas Graf 3144d362409d5469aed47d19e7908d19bd194493aThomas Graf err = nl_addr_resolve(a, host, sizeof(host)); 3244d362409d5469aed47d19e7908d19bd194493aThomas Graf if (err != 0) { 3344d362409d5469aed47d19e7908d19bd194493aThomas Graf fprintf(stderr, "Cannot resolve address \"%s\": %d\n", 3444d362409d5469aed47d19e7908d19bd194493aThomas Graf argv[1], err); 3544d362409d5469aed47d19e7908d19bd194493aThomas Graf return -1; 3644d362409d5469aed47d19e7908d19bd194493aThomas Graf } 3744d362409d5469aed47d19e7908d19bd194493aThomas Graf 3844d362409d5469aed47d19e7908d19bd194493aThomas Graf printf("%s\n", host); 3944d362409d5469aed47d19e7908d19bd194493aThomas Graf 4044d362409d5469aed47d19e7908d19bd194493aThomas Graf return 0; 4144d362409d5469aed47d19e7908d19bd194493aThomas Graf} 42