Provided by: gopher_3.0.16build1_amd64 bug


       gophfilt - oneshot connection to gopher document server


       gophfilt [-t type] [-p path] [-h host] [-s port] [-i item]


       The gophfilt program is a oneshot command line driven version of a gopher client, suitable
       for use in shell- or awk-scripts.

       The Internet Gopher is a distributed document delivery service.  It allows a neophyte user
       to access various types of data residing on multiple hosts in a seamless fashion.  This is
       accomplished by presenting the user a hierarchical arrangement of documents and by using a
       client-server  communications  model.   The Internet Gopher Server accepts simple queries,
       and responds by sending the client a document.

       Gophfilt can operate in either of two modes.  The first one  is  in  the  spirit  of  unix
       filters,  in  that it accepts requests on stdin and writes results to stdout.  The request
       is in the form of a tab-delimited .cache item.  For example:

          1Master Gopher at UMN    1/   70

       (Or in string notation)

          "1Master Gopher at UMN\t1/\\t70\n"

       This example would result in the retrieval of the root directory from the Master Gopher.

       Gophfilt's other mode permits the construction of a gopher request from arguments provided
       on  the  command  line.   In  this "manual" mode, at least the path and type items must be
       provided.  The default host and port are taken from the file conf.h at module build time.

       -p specifies the path to the requested data.  From our "filter" example above,  the  field
       "1/" is the path.

       -t  specifies  the  type  of  the requested data.  From our example above, the leading "1"
       character is the type (directory, in this case).

       -h specifies the name of the host where the server is  to  be  found.   The  default  host
       (CLIENT1_HOST from file conf.h) is used if not provided.

       -s  specifies  the  service  (port)  that  the  server  is  monitoring.   The default port
       (CLIENT1_PORT from file conf.h) is used if not provided.

       -i specifies a search item.   This  field  immediately  follows  the  path  field  in  the
       transmitted request.

       -T  specifies  a receiver timeout in seconds.  This is the maximum time that gophfilt will
       wait for more data.  If the "timeout" return value is noticed by the calling program,  any
       data received to that point should be considered suspect.

       To  recreate  using  manual  operation the request from our example, one would execute the
       following command.

       gophfilt -t 1 -p 1/ -h -s 70


       Here is an example that demonstrates  the  usefulness  of  the  gophfilt.   This  specific
       example only works on the Rutgers campus, but illustrates the point

       gophfilt -t 0 -p "webster default SPELL" -i flatulence
         -h -s 770 | gophfilt

       This  example  requests a selector item from the Webster's Dictionary, and then pipes that
       item to gophfilt for subsequent  retrieval  of  the  actual  definition.   The  result  is
       available on stdout for use.


       Gophfilt returns the following completion codes on exit:

           0 Successful completion.

          -1 Error in parsing command line arguments.

          -2 Manual operation and insufficient parameters were provided.

          -3 Piped operation and unable to read selector from stdin.

          -4 Unsupported item type requested.

          -5 Unable to connect to specified host and port combination.

          -6 Error encountered writing to stdout.

          -7 Timeout occurred while waiting for more data.