nettool(3)



nettool(3tcl)                       nettool                      nettool(3tcl)

______________________________________________________________________________

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 com-
       mon 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 multi-
              cast) 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  paral-
              lel 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 lim-
              ited 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 com-
              puter. 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.  Net-
              works 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 out-
       put 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>

tcllib                               0.5.2                       nettool(3tcl)

Man(1) output converted with man2html
list of all man pages