home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / base / root.15 / usr / lib / hpnp / cfg / getspoolname / getspoolname~
Text File  |  1998-08-19  |  5KB  |  180 lines

  1. #!/bin/ksh
  2. #ident    "@(#)getspoolname    1.2"
  3. #        copyright    "%c%"
  4. #
  5. # (c)Copyright Hewlett-Packard Company 1991.  All Rights Reserved.
  6. # (c)Copyright 1983 Regents of the University of California
  7. # (c)Copyright 1988, 1989 by Carnegie Mellon University
  8. #                          RESTRICTED RIGHTS LEGEND
  9. # Use, duplication, or disclosure by the U.S. Government is subject to
  10. # restrictions as set forth in sub-paragraph (c)(1)(ii) of the Rights in
  11. # Technical Data and Computer Software clause in DFARS 252.227-7013.
  12. #
  13. #                          Hewlett-Packard Company
  14. #                          3000 Hanover Street
  15. #                          Palo Alto, CA 94304 U.S.A.
  16. #
  17.  
  18. OPTION=$1
  19. DEFAULT=$2
  20. TYPE=$3
  21.  
  22. case $OS in
  23.  
  24.   9000/*)
  25.     if [ "$TYPE" = "class" ]
  26.     then
  27.       DEFAULT=""
  28.     else
  29.       echo $DEFAULT | grep '^[a-zA-Z0-9_]*$' > /dev/null
  30.       VALID=$?
  31.       if [ $VALID -eq 0 -a -n "$DEFAULT" ]
  32.       then
  33.         # Name can be only 14 chars or less
  34.         LENGTH=`expr "$DEFAULT" : '.*'`
  35.         if [ $LENGTH -gt 14 ]
  36.         then
  37.           VALID=1
  38.         fi
  39.       fi
  40.       if [ $VALID -ne 0 ]
  41.       then
  42.         DEFAULT=""
  43.       fi
  44.     fi
  45.     ;;
  46.   sunx)
  47.     ;;
  48. esac
  49.  
  50. while [ 0 ] 
  51. do
  52.   echo ""
  53.   if [ -n "$DEFAULT" ]
  54.   then
  55.     if [ "$OS" = "sunx" ]
  56.     then
  57.       echo "Enter the lpr peripheral name (default=$DEFAULT): $NL"
  58.     else
  59.       echo "Enter the lp spooler destination name (default=$DEFAULT): $NL"
  60.     fi
  61.   else
  62.     if [ "$TYPE" = "class" ]
  63.     then
  64.       echo "Enter the spooler class for the peripheral to join (optional): $NL"
  65.     else
  66.       if [ "$OS" = "sunx" ]
  67.       then
  68.         echo "Enter the lpr peripheral name: $NL"
  69.       else
  70.         echo "Enter the lp spooler destination name: $NL"
  71.       fi
  72.     fi
  73.   fi
  74.   read -r SPOOLNM
  75.   if [ "$SPOOLNM" = "q" ]
  76.   then
  77.     exit 1
  78.   fi
  79.   if [ -z "$SPOOLNM" ]
  80.   then
  81.     if [ "$TYPE" = "class" ]
  82.     then
  83.       exit 2
  84.     fi
  85.     if [ -n "$DEFAULT" ]
  86.     then
  87.       SPOOLNM=$DEFAULT
  88.       break
  89.     else
  90.       continue
  91.     fi
  92.   fi
  93.   if [ "$SPOOLNM" = "?" ]
  94.   then
  95.     case $OPTION in
  96.       option6hp)
  97.     if [ "$TYPE" = "class" ]
  98.     then
  99.           echo ""
  100.       echo "A class defines a group of peripherals.  A peripheral class can be"
  101.       echo "used as a print destination instead of a peripheral name.  The first"
  102.       echo "available peripheral in the peripheral class will print the next"
  103.       echo "job queued to that peripheral class.  If no peripheral class is"
  104.       echo "entered, the peripheral will not be added to any class."
  105.     else
  106.           echo ""
  107.           echo "Enter the name to be used as the destination in an \"lp\" command."
  108.           echo "The name should match the peripheral's network name, but it does"
  109.       echo "not have to.  For example, the lp destination name can be \"p1\""
  110.       echo "and the name known on the network (and stored stored in /etc/hosts)"
  111.       echo "can be \"koala\"."
  112.     fi
  113.     echo ""
  114.         echo "The name is limited to 14 characters and must consist entirely"
  115.         echo "of the characters A-Z, a-z, 0-9, and _ (underscore)."
  116.         echo ""
  117.         $QUITHELP
  118.         continue
  119.     ;;
  120.       option6sun)
  121.     echo ""
  122.         echo "Enter the peripheral name to be used in an \"lpr -Pperipheral\" command."
  123.         echo "The name should match the peripheral's network name, but it does"
  124.     echo "not have to.  For example, the lpr peripheral name can be \"p1\""
  125.     echo "and the name known on the network (and stored stored in /etc/hosts)"
  126.     echo "can be \"koala\"."
  127.     echo ""
  128.     $QUITHELP
  129.         ;;
  130.       option8hp)
  131.         echo ""
  132.         echo "Enter the name used as the destination in an \"lp\" command."
  133.     echo "This destination is removed from the spooler."
  134.     echo ""
  135.     $QUITHELP
  136.     ;;
  137.       option8sun)
  138.         echo "Enter the peripheral name used in an \"lpr -Pperipheral\" command."
  139.     echo "The /etc/printcap entry for this peripheral will be removed.  You"
  140.     echo "will be asked if the spool directory for this peripheral should"
  141.     echo "also be removed."
  142.     echo ""
  143.     $QUITHELP
  144.     ;;
  145.     esac
  146.     continue
  147.   fi
  148.   case $OPTION in
  149.     option6hp|option8hp)
  150.       echo $SPOOLNM | grep '^[a-zA-Z0-9_]*$' > /dev/null
  151.       VALID=$?
  152.       if [ $VALID -eq 0 ]
  153.       then
  154.         # Name can be only 14 chars or less
  155.         LENGTH=`expr "$SPOOLNM" : '.*'`
  156.         if [ $LENGTH -gt 14 ]
  157.         then
  158.           VALID=1
  159.         fi
  160.       fi
  161.       if [ $VALID -ne 0 ]
  162.       then
  163.         echo ""
  164.         echo "$SPOOLNM is an invalid name.  The name is limited to 14"
  165.         echo "characters and must consist entirely of the characters A-Z,"
  166.         echo "a-z, 0-9, and _ (underscore)."
  167.     echo ""
  168.     continue
  169.       fi
  170.       ;;
  171.     option6sun|option8sun)  # no limits
  172.       ;;
  173.   esac
  174.   break
  175. done
  176.  
  177. echo $SPOOLNM > "$TMP/SPOOLNM"
  178. exit 0
  179.