From ba2d7ae1d7b319645b10aaa31a7f664f9f80c25c Mon Sep 17 00:00:00 2001 From: user Date: Sat, 18 Jul 2026 00:38:38 +0200 Subject: 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. --- usr/nslookup.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 usr/nslookup.c (limited to 'usr/nslookup.c') 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(); + } +} -- cgit v1.3.1-sl0p