#!/bin/sh
#      *********************************************************
#      *                                                       *
#      *      Platform Independent Printer Status Routine      *
#      *                                                       *
#      *********************************************************
#
#                    COPYRIGHT (c) 1999, 2010 BY
#            VAISALA INC., WESTFORD MASSACHUSETTS, U.S.A.
# 
# THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
# ONLY  IN  ACCORDANCE WITH  THE  TERMS  OF  SUCH  LICENSE  AND WITH THE
# INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE  OR  ANY OTHER
# COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
# OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
# TRANSFERED.

MACHINE=`uname -s`

# Process command line args
#
ARGLIST=""
LISTALL="false"
HELP="false"

while [ ! "$1" = "" ] ; do
  ARG="$1" ; shift

  if [ "${ARG#-}" = "${ARG}" ] ; then
    ARGLIST="${ARGLIST} ${ARG}"

  else
    if [ "${ARG}" = "-help" ] ; then
      HELP="true"

    elif [ "${ARG}" = "-listall" ] ; then
      LISTALL="true" ;

    else
      echo "Unknown option: '${ARG}'" ; HELP="true"
    fi
  fi
done

if [ "${HELP}" = "true" ] ; then
  echo "Command Line Options:"
  echo "  -listall : Produce list of all available printers"
  exit
fi

# Handle the LISTALL option.  Make a listing of all available
# printers, one per line of output, with no duplications.
#
if [ "${LISTALL}" = "true" ] ; then
  if [ "${MACHINE}" = 'Linux' ]  ; then
    if [ -r /etc/printcap ] ; then
      grep -E -v '^[ 	]*#|^[ 	]*$|^[ 	]*:' /etc/printcap |
        sed 's/[:|].*//' | tr -d ' 	' | sort -u
    fi
  else
    echo "Unknown"
  fi
fi
