Portions created by SGI are Copyright (C) 2000 Silicon Graphics, Inc.
All Rights Reserved.


This directory contains three example programs.


---------------------------------------------------------------------------

PROGRAM

    lookupdns

FILES

    lookupdns.c
    res.c

USAGE

    lookupdns <hostname1> [<hostname2>] ...

DESCRIPTION

    This program performs asynchronous DNS host name resolution and reports
    IP address for each <hostname> specified as a command line argument.
    One ST thread is created for each host name.  All threads do host name
    resolution concurrently.


---------------------------------------------------------------------------

PROGRAM

    proxy

FILES

    proxy.c

USAGE

    proxy -l <local_addr> -r <remote_addr> [-p <num_processes>] [-S]

    -l <local_addr>      bind to local address specified as [<host>]:<port>
    -r <remote_addr>     connect to remote address specified as <host>:<port>
    -p <num_processes>   create specified number of processes
    -S                   serialize accept() calls from different processes
                         on the same listening socket (if needed).

DESCRIPTION

    This program acts as a generic gateway.  It listens for connections to a
    local address.  Upon accepting a client connection, it connects to the
    specified remote address and then just pumps the data through without any
    modification.


---------------------------------------------------------------------------

PROGRAM

    server

FILES

    server.c
    error.c

USAGE

    server -l <log_directory> [<options>]

    -l <log_directory>      open all log files in specified directory.

    Possible options:

    -b <host>:<port>        bind to specified address (multiple addresses
                            are permitted)
    -p <num_processes>      create specified number of processes
    -t <min_thr>:<max_thr>  specify thread limits per listening socket
                            across all processes
    -u <user>               change server's user id to specified value
    -q <backlog>            set max length of pending connections queue
    -a                      enable access logging
    -i                      run in interactive mode (useful for debugging)
    -S                      serialize accept() calls from different processes
                            on the same listening socket (if needed).

DESCRIPTION

    This program is a general server example.  It accepts a client connection
    and outputs a short HTML page.  It can be easily adapted to provide
    other services.


---------------------------------------------------------------------------

