APPENDIX O:

upd_admin

SUMMARY of upd_padmin:
On Host of direct-connected printers:

  If port type = 10 (Direct Parallel): (PCIJP---51/70, PCL3P---51, PSPTRP---51/70)
      -v         -T  -I          lpfilter       ln
      /dev/bpp0, PS, postscript, djet_graphics; ps_interface

       lpadmin -p LPxx -v /dev/bpp0 -T PS
       lpadmin -p LPxx -I postscript
       lpfilter -f djet_graphics -F /etc/lp/fd/djet_graphics.fd
       cd /etc/lp/interfaces
	   rm LPxx
       ln -s ps_interface LPxx

  If port type = 9 (Direct Serial): (PCL3S---50, PSPTRS---50)
      -v          -T  -I          lpfilter       ln
     /dev/term/b, PS, postscript, djet_graphics; ps_interface
	
  If Direct Serial and NOT Postscript printer: (...
     /dev/term/b, "stty='nl tabs'",

  If port type= 2 (PCIJS---COMM, PCIJS---50, PCIJP---PW):
      pjet_graphics, -i /usr/fox/exten/standard, ; lp_standard
	
        lpfilter -f pjet_graphics -F /etc/lp/fd/pjet_graphics.fd <==
        lpadmin -p LPxx -i /usr/fox/exten/standard
        cd /etc/lp/interfaces
        rm LPxx
        ln -s lp_standard LPxx
	
  If COMM:
	    /dev/LPxx, ; lp_standard
        lpadmin -p LPxx -v /dev/LPxx
        cd /etc/lp/interfaces
        rm LPxx
        ln -s lp_standard LPxx

On Client stations:

  lpsystem -t s5/bsd LPxx
  lpsystem -t s5/bsd AWXXXX
  lpadmin -p LPxx -s AWXXXX\!LPxx
       djet_graphics (if 9/10 on any other station)

On Hosts of direct-connect printers:

  lpsystem -d LPxx
  lpsystem -t s5/bsd LPxx
  sacadm -r -p tcp
  sacadm -a -p tcp -t listen -c "/usr/lib/saf/listen tcp" - v 4
  pmadm -a -p tcp -s lp ... listenS5
  pmadm -a -p tcp -s lp ... listenBSD
  pmadm -a -p tcp -s 0 ... nlps_server
/opt/fox/OS6AW1/install/upd_padmin:
Processes data from IIF.prm
ADRIP1 = TCP/IP address (50,51)

Creates temp file:

3COM01 P1B1 LPyy OS1CS
3COM01 P1BAU 9600 OS1CS
3COM01 P1DEV 10 OS1CS    -- > type =10
3COM01 P1LN LPxx OS1CS   == Main line to be processed!!!
3COM01 P2...
       P3...
       P4...

3AWB01 ADRIP1 016130 OS6AW1 -> add to Clients station list
3AWB01 P1BAU 9600 OS6AW1
3AWB01 P1DEV 4 OS6AW1     -- > type = 4
3AWB01 P1LN LPxx OS6AW1   == Main line to be processed!!!
3AWB01 P2...
       P3...
    ..........
       P9...


DETAILED OPERATION of upd_padmin:

(ignored lines for 'lp')
# HOST --> This station's lbug
UADR=`lpsystem -A`

From IIF.prm extract all lines with 4th field = ADRIP1 or Pxxxx
Rewrite lines as:   
       Station, Pxxxx/ADRIP1, Baud/Type/TCPIP, OSxAW1
Sort by field 2 (by P1,P2,P3...)

For each line:
From $4:  station_type= bsd(OS5), s5(OS6), cs(non-OSx)
If $2=ADRIP1 --> Store LBUG($1),s5/bsd  until end of pgm.
If $2=PxBAU  --> baud=9600
If $2=PxDEV  --> type=2,9,10,etc

If $2=PxLN :        (begin process line IF Logical Name was assigned!)
   Continue if $3<>LPxx  (discard TTxx lines)
   Print Header=  #LPxx:
   A)If Host_station($1)=MYSELF
      1.-HOST STATION CONFIGURATION
       if type =10 (PCIJP-51/70, PSPTRP-51/70, PCL3P-51) <-- Parallel direct

	  lpadmin -p LPxx -v /dev/bpp0 -T PS
	  lpadmin -p LPxx -I postscript
	  lpfilter -f djet_graphics -F /etc/lp/fd/djet_graphics.fd

       if type = 9 (PCL3S-50, PSPTRS-50)                 <-- Serial direct

	  chown lp /dev/term/b (<-P1) (P2->c, P3->d, P4->e)
	  chmod 600 /dev/term/b

	  If NO parallel prtr on this station:
	      lpadmin -p LPxx -v /dev/term/b -T PS
	      lpadmin -p LPxx -I postscript
	  lpfilter -f djet_graphics -F /etc/lp/fd/djet_graphics.fd

       if NOT-Postscript printer AND Serial          <-- Serial direct noPS
	  chown lp /dev/term/b (c,d,e)
	  chmod 600 /dev/term/b
	  lpadmin -p LPxx -v /dev/term/b -o "stty='nl tabs'"

	  If type = 2  PJET (PCIJS-50, PCIJP-PW) 
	    lpfilter -f pjet_graphics -F /etc/lp/fd/pjet_graphics.fd <==
	    lpadmin -p LPxx -i /usr/fox/exten/standard

      2.-ASSIGN INTERFACE

       If type = 9 or 10
	  cd /etc/lp/interfaces
	  rm LPxx
	  ln -s ps_interface LPxx
	  rm lp
	  ln -s ps_interface lp

       else (different from 9, 10)
	  cd /etc/lp/interfaces
	  rm LPxx
	  ln -s lp_standard LPxx
	  rm lp
	  ln -s lp_standard lp
       fi
       accept LPxx
       enable LPxx
       lpadmin -d LPxx
       sacadm -r -p tcp
       sacadm -a -p tcp -t listen -c "/usr/lib/saf/listen tcp" -v 4 
	 (`nlsadmin -V` = current version of listener's administrative file)
       pmadm -a ...
       pmadm -a ...
       pmadm -a ...

   B)If host station is COMM (station_type=cs):
      lpadmin -p LPxx -v /dev/LPxx
      cd /etc/lp/interfaces
      rm LPxx
      ln -s lp_standard LPxx
      disable LPxx
      accept LPxx
      enable LPxx

   C)For CLIENT stations (Host $1 <> MYSELF):
	lpsystem -t s5 LPxx  (or: bsd)
	lpsystem -t s5 AWxxxx  (host of LPxx)
	lpadmin -p LPxx -s 3AWxxxx\!LPxx
	disable LPxx
	accept LPxx
	enable LPxx
      If type = 9 or 10  --> need_psfilter=1
fi

If need_psfilter=1
    lpfilter -f djet_graphics -F /etc/lp/fd/djet_graphics.fd
If this station has a direct-connected printer
    touch /usr/local/local_printer
    lpsystem -t s5/bsd AWLBUG1
    lpsystem -t s5/bsd AWLBUG2
    ...
CONCLUSIONS:
...
lpfilter:  
   pjet_graphics (ONLY if direct-serial PCIJ-50), 
   djet_graphics (direct-parallel PCIJ/PCL3/PSPTR, direct-ser PCL3/PSPTR;
		 (if any other station has prtr 9 or 10)
...

1