/src/barebox/commands/host.c
Line | Count | Source |
1 | | // SPDX-License-Identifier: GPL-2.0-only |
2 | | |
3 | | #include <common.h> |
4 | | #include <command.h> |
5 | | #include <net.h> |
6 | | |
7 | | static int do_host(int argc, char *argv[]) |
8 | 0 | { |
9 | 0 | IPaddr_t ip; |
10 | 0 | int ret; |
11 | 0 | char *hostname, *varname = NULL; |
12 | |
|
13 | 0 | if (argc < 2) |
14 | 0 | return COMMAND_ERROR_USAGE; |
15 | | |
16 | 0 | hostname = argv[1]; |
17 | |
|
18 | 0 | if (argc > 2) |
19 | 0 | varname = argv[2]; |
20 | |
|
21 | 0 | ret = resolv(argv[1], &ip); |
22 | 0 | if (ret) { |
23 | 0 | printf("unknown host %s\n", hostname); |
24 | 0 | return 1; |
25 | 0 | } |
26 | | |
27 | 0 | if (varname) |
28 | 0 | setenv_ip(varname, ip); |
29 | 0 | else |
30 | 0 | printf("%s is at %pI4\n", hostname, &ip); |
31 | |
|
32 | 0 | return 0; |
33 | 0 | } |
34 | | |
35 | | BAREBOX_CMD_START(host) |
36 | | .cmd = do_host, |
37 | | BAREBOX_CMD_DESC("resolve a hostname") |
38 | | BAREBOX_CMD_OPTS("<HOSTNAME> [VARIABLE]") |
39 | | BAREBOX_CMD_GROUP(CMD_GRP_NET) |
40 | | BAREBOX_CMD_END |