diff options
| author | user <user@clank> | 2026-07-18 00:38:38 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-07-18 00:38:38 +0200 |
| commit | ba2d7ae1d7b319645b10aaa31a7f664f9f80c25c (patch) | |
| tree | e01e6c7c710a661defe2515ff9657f08cddcb283 /usr/nslookup.c | |
| parent | tools: gbtype prints hub errors to stderr and exits 1 (diff) | |
| download | gbos-ba2d7ae1d7b319645b10aaa31a7f664f9f80c25c.tar.gz gbos-ba2d7ae1d7b319645b10aaa31a7f664f9f80c25c.tar.xz gbos-ba2d7ae1d7b319645b10aaa31a7f664f9f80c25c.zip | |
refactor: c/ -> usr/, compiled program blobs out of the source tree
Userland sources live in usr/ (fits the Unix theme better than 'c').
SDCC output .bin blobs land in build/usr/ with the other build artifacts
instead of littering the source dir; programs.asm INCBINs them from there.
Byte-identical ROM.
Diffstat (limited to 'usr/nslookup.c')
| -rw-r--r-- | usr/nslookup.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/usr/nslookup.c b/usr/nslookup.c new file mode 100644 index 0000000..6a531b8 --- /dev/null +++ b/usr/nslookup.c @@ -0,0 +1,23 @@ +#include "resolve.h" +/* nslookup HOST - resolve a hostname to an IPv4 address via DNS over UDP. + All the DNS logic lives in resolve.h (shared with wget). */ + +static unsigned char namebuf[64]; /* first so it lands past the arg at 0xA000 */ +static unsigned char ip[4]; + +void main(void) { + char *host; + unsigned char i; + host = getargs(); + if (!host || !*host) { puts("usage: nslookup HOST"); nl(); sexit(1); } + for (i = 0; host[i] && i < 63; i++) namebuf[i] = (unsigned char)host[i]; + namebuf[i] = 0; + + if (resolve((char *)namebuf, ip)) { + puts((char *)namebuf); puts(" -> "); + for (i = 0; i < 4; i++) { putu(ip[i]); if (i < 3) putc('.'); } + nl(); + } else { + puts("nslookup: cannot resolve "); puts((char *)namebuf); nl(); + } +} |
