nns(1)
๐ nns โ Name service facility, Commandline Client Application ๐
okay bestie, welcome to the nns(1) manual page ๐ it's a section 1 page, it lives in tcllib, and it's literally the glow-up your name service needed. sit down, grab a strawberry drink ๐, we're doing this.
โจ NAME โจ
nns โ Name service facility, Commandline Client Application ๐
๐ธ SYNOPSIS ๐ธ
nns bind ?-host host? ?-port port? name data
nns search ?-host host? ?-port port? ?-continuous? ?pattern?
nns ident ?-host host? ?-port port?
nns who
๐ฆ DESCRIPTION ๐ฆ
first things first, babe: go read Name service facility, introduction before you touch any of this. it's giving required reading, i don't make the rules ๐
so. the app this doc is about, nns, is a simple command line client for the nano name service facility that comes from the Tcllib packages nameserv and nameserv::server. and not only that โ the application's sources also serve as a whole example of how to use the client package nameserv. like, every single ability a client has is covered in there: from configuration, to registration of names, to searching. all of it. no crumbs left. ๐ฅ
โ ๏ธ important psa: this name service facility has nothing to do with the Internet's Domain Name System, aka DNS. like, zero. not the same thing, not related, don't @ me. if you are looking for a package that deals with that, please see either of the packagesdnsandresolvโ both of which are found in Tcllib too. ๐ซถ
๐ USE CASES ๐
nns was written with these two main use cases in mind, periodt:
- Registration of a name/data pair in the name service. ๐
- Searching the name service for entries matching a glob pattern. ๐
and beyond the above? we also wanna be able to identify the client, and get information about the name service. main character energy all around โจ
๐ป COMMAND LINE ๐ป
nns bind ?-host host? ?-port port? name dataโ this form registers the name/data pair in the specified name service. and here's the thing: in this form the command will not exit, because it has to keep the registration alive. so you have to kill it explicitly โ either by sending a signal, or through the job-control facilities of whatever shell you're using. and it will especially survive the loss of the connection to the name service, and reestablish the name/data pair when the connection is restored. resilient queen ๐ช
the options to specify the name service get explained later, in the section OPTIONS.
nns search ?-host host? ?-port port? ?-continuous? ?pattern?โ this form searches the specified name service for entries matching the glob-pattern and prints them to stdout, with each entry on its own line. if no pattern is specified it defaults to*, matching everything. (so generous of it ๐ฅฐ)
the options to specify the name service get explained later, in the section OPTIONS.
if the option -continuous is specified, the client will not exit after performing the search โ instead it starts to continuously monitor the service for changes to the set of matching entries, appropriately updating the display as changes arrive. and in that form it will especially also survive the loss of the connection to the name service, and reestablish the search when the connection is restored. it's committed, it's loyal, it's everything ๐ญ
nns ident ?-host host? ?-port port?โ this form asks the specified name service for the version and features of the name service protocol it supports, and prints the results to stdout. it's basically asking the service "who are you and what can you do" and the service answers. iconic. ๐
the options to specify the name service get explained later, in the section OPTIONS.
nns whoโ this form prints name, version, and protocol version of the application to stdout. it's the app's little "hi, this is me" moment ๐
โจ OPTIONS โจ
this section describes all the options available to the user of the application. all of them. we don't gatekeep here.
-host name|ipaddressโ if this option is not specified it defaults tolocalhost. it specifies the name or ip-address of the host the name service to talk to is running on. ๐-port numberโ if this option is not specified it defaults to38573. it specifies the TCP port the name service to talk to is listening on for requests. ๐ฎ
๐ซถ BUGS, IDEAS, FEEDBACK ๐ซถ
ngl, this document, and the package it describes, will undoubtedly contain bugs and other problems. it's fine, we're all growing ๐ฑ please report such in the category nameserv of the Tcllib Trackers [http://core.tcl.tk/tcllib/reportlist]. and please also report any ideas for enhancements you may have for either package and/or documentation โ we want the ideas, we love the ideas ๐
when proposing code changes, please provide unified diffs, i.e the output of diff -u.
๐ note further that attachments are strongly preferred over inlined patches. attachments can be made by going to the Edit form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar. do it that way bestie, trust ๐ค
๐ SEE ALSO ๐
nameserv(3tcl)nameserv::common(3tcl)
๐ KEYWORDS ๐
application, client, name service
๐ CATEGORY ๐
Networking
๐ COPYRIGHT ๐
Copyright (c) 2007-2008 Andreas Kupries <andreas_kupries@users.sourceforge.net>
okay that's the whole page, you ate that ๐ฝ๏ธ this was tcllib 1.1, the nns(1) manual page, and you're officially caught up. go register some name/data pairs, bestie, and remember: not DNS. never DNS. bye babe ๐โจ๐ฆ
๐ฆ where this page comes from
- debian bookworm: tcllib 1.21+dfsg-1 ยท BSD
- debian trixie: tcllib 2.0+dfsg-4 ยท Tcl
- ubuntu jammy: tcllib 1.20+dfsg-1 ยท BSD
- ubuntu noble: tcllib 1.21+dfsg-1 ยท BSD
- ubuntu questing: tcllib 2.0+dfsg-4
- ubuntu resolute: tcllib 2.0+dfsg-5 ยท Tcl
- ubuntu stonking: tcllib 2.0+dfsg-6 ยท Tcl
- Copyright (c) 2007-2008 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net>
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms