Provided by: tcllib_1.19-dfsg-2_all bug

NAME

       nettool - Tools for networked applications

SYNOPSIS

       package require Tcl  8.5

       package require nettool  ?0.5.2?

       package require twapi  3.1

       package require ip  0.1

       package require platform  0.1

       ::cat filename

       ::nettool::allocate_port startingport

       ::nettool::arp_table

       ::nettool::broadcast_list

       ::nettool::claim_port port ?protocol?

       ::nettool::cpuinfo args

       ::nettool::find_port startingport

       ::nettool::hwid_list

       ::nettool::ip_list

       ::nettool::mac_list

       ::nettool::network_list

       ::nettool::port_busy port

       ::nettool::release_port port ?protocol?

       ::nettool::status

       ::nettool::user_data_root appname

_________________________________________________________________________________________________

DESCRIPTION

       The  nettool  package  consists  of  a  Pure-tcl  set  of  tools to perform common network
       functions that would normally require different packages or calls to exec, in  a  standard
       Tcl  interface.   At  present  nettool  has  reference  implementations  for the following
       operating systems: Windows, MacOSX, and Linux (debian).

COMMANDS

       ::cat filename
              Dump the contents of a file as a result.

       ::nettool::allocate_port startingport
              Attempt to allocate startingport, or, if busy, advance the port number sequentially
              until  a  free  port  is  found, and claim that port.  This command uses a built-in
              database of known ports to avoid returning a port which  is  in  common  use.  (For
              example: http (80))

       ::nettool::arp_table
              Dump  the contents of this computer's Address Resolution Protocol (ARP) table.  The
              result will be a Tcl formatted list: macid ipaddrlist ...

       ::nettool::broadcast_list
              Returns a list of broadcast  addresses  (suitable  for  UDP  multicast)  that  this
              computer is associated with.

       ::nettool::claim_port port ?protocol?
              Mark port as busy, optionally as either tcp (default) or udp.

       ::nettool::cpuinfo args
              If  no  arguments  are  given,  return  a  key/value list describing the CPU of the
              present machine. Included in the matrix is info on the number  of  cores/processors
              that  are  available  for  parallel  tasking, installed physical RAM, and processor
              family.

              The exact contents are platform specific.

              For Linux, information is drawn from /proc/cpuinfo and /proc/meminfo.

              For MacOSX, information is drawn from sysctl

              For Windows, information is draw from TWAPI.

              If arguments are given, the result with be a key/value list limited to  the  fields
              requested.

              Canonical fields for all platforms:

              cpus   Count of CPUs/cores/execution units

              speed  Clock speed of processor(s) in Mhz

              memory Installed RAM (in MB)

              vendor Manufacturer

       ::nettool::find_port startingport
              Return  startingport  if it is available, or the next free port after startingport.
              Note: Unlike ::nettool::allocate_port, this command does not claim the port.

              This command uses a built-in database of known ports  to  avoid  returning  a  port
              which is in common use. (For example: http (80))

       ::nettool::hwid_list
              Return  a  list of hardware specific identifiers from this computer. The source and
              content will vary by platform.

              For MacOSX, the motherboard serial number and macids for  all  network  devices  is
              returned.

              For  Windows,  the  volume serial number of C and macids for all network devices is
              returned.

              For Linux, macids for all network devices is returned.

       ::nettool::ip_list
              Return a list of IP addresses associated with this computer.

       ::nettool::mac_list
              Return a list of MACIDs for the network cards attached to this machine.  The  MACID
              of the primary network card is returned first.

       ::nettool::network_list
              Return a list of networks associated with this computer. Networks are formated with
              ip::nativeToPrefix.

       ::nettool::port_busy port
              Return true if port is claimed, false otherwise.

       ::nettool::release_port port ?protocol?
              Mark port as not busy, optionally as either tcp (default) or udp.

       ::nettool::status
              Return a key/value list describing the  status  of  the  computer.  The  output  is
              designed to be comparable to the output of top for all platforms.

              Common fields include:

              load   Processes per processing unit

              memory_total
                     Total physical RAM (MB)

              memory_free
                     Total physical RAM unused (MB)

       ::nettool::user_data_root appname
              Return  a  fully  qualified  path to a folder where appname should store it's data.
              The path is not created, only computed, by this command.

BUGS, IDEAS, FEEDBACK

       This document, and the package it describes,  will  undoubtedly  contain  bugs  and  other
       problems.    Please   report   such   in   the   category  odie  of  the  Tcllib  Trackers
       [http://core.tcl.tk/tcllib/reportlist].  Please also report any ideas for enhancements you
       may have for either package and/or documentation.

       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.

KEYWORDS

       nettool, odie

CATEGORY

       System

COPYRIGHT

       Copyright (c) 2015-2018 Sean Woods <yoda@etoyoc.com>