;;; -*- Mode:Lisp; Readtable:CL; Package:USER; Base:10; Patch-File:T -*-
;;; Patch file for Serial-IP version 1.1
;;; Reason:
;;;  A serial interface needs :keyword to be :serial, not :ethernet
;;; Written 28-Apr-88 16:40:54 by keith at site Gigamos Cambridge
;;; while running on Azathoth from band 3
;;; with Experimental System 123.246, Experimental Local-File 73.4, Experimental FILE-Server 22.2, Experimental Unix-Interface 11.0, Experimental KERMIT 34.3, Experimental ZMail 71.0, Experimental Lambda-Diag 15.0, Experimental Tape 22.2, Experimental Serial-IP 1.0, microcode 1756, SDU Boot Tape 3.14, SDU ROM 8, the old ones.



; From modified file DJ: L.NETWORK.SERIAL-IP; SERIAL.LISP#48 at 28-Apr-88 16:40:55
#10R SERIAL-IP#: 
(COMPILER-LET ((*PACKAGE* (GLOBAL:PKG-FIND-PACKAGE "SERIAL-IP")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; SERIAL-IP; SERIAL  "

(defun setup-serial(&optional site)
  (let((id "SERIAL")
       (site (serial-site-locate (or site *default-serial-ip-site*))))
    ;;
    ;;Close the previous interface down, if known:
    ;;
    (when *serial-interface*
      (send *serial-interface* :close))
    ;;
    ;;Instantiate Serial-Interface:
    ;;
    (setq *serial-interface*
	  (make-serial-interface
	    :interface :serial
	    :keyword :serial
	    :tag id
	    :gauge-name id
	    :point-to-point t
	    :protocol-alist nil
	    :network-alist nil
	    :address-alist  nil
	    :minimum-data-length 0
	    :maximum-data-length 128.		;41 <= x <= *serial-proto-max-packet-size*
	    :sent-header-length 0
	    :rcvd-header-length 0
	    :sent-trailer-length 0
	    :rcvd-trailer-length 0
	    :disable-function 'serial-disable
	    :enable-function 'serial-enable
	    :reset-function 'serial-reset
	    :packet-ready-function 'serial-packet-ready
	    :get-next-packet-function 'serial-get-next-packet
	    :send-function 'serial-send-int-pkt
	    ))
    ;;
    ;;Open the interface
    ;;
    (funcall *serial-interface* :open)
    ;;
    ;;If there's a default site, enable the interface
    ;;
    (if (serial-site-p site)
	(funcall *serial-interface* :enable site)
      (serial-warn *serial-interface* "Cannot enable, no default site"))
    *serial-interface*))

))
