;;; -*- Mode:Lisp; Readtable:CL; Package:USER; Base:10; Patch-File:T -*- ;;; Patch file for System version 123.202 ;;; Reason: ;;; The :enable method for a network-interface now only sets the interface enabled ;;; if the enable-function returns non-nil. The setup-xxx functions for the various ;;; interfaces now return what the :enable method returns. ;;; Written 11-Feb-88 14:25:07 by pld at site Gigamos Cambridge ;;; while running on Jack Flanders from band 2 ;;; with Experimental System 123.199, Experimental Local-File 73.3, Experimental FILE-Server 22.1, Experimental Unix-Interface 11.0, Experimental KERMIT 34.3, Experimental ZMail 71.0, Experimental Lambda-Diag 15.0, Experimental Tape 21.1, microcode 1754, SDU Boot Tape 3.12, SDU ROM 8. ; From modified file DJ: L.NETWORK.KERNEL; NETWORK-INTERFACE.LISP#124 at 11-Feb-88 14:25:08 #10R NETWORK#: (COMPILER-LET ((*PACKAGE* (GLOBAL:PKG-FIND-PACKAGE "NETWORK"))) (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; KERNEL; NETWORK-INTERFACE  " (defop (network-interface :enable) (&rest arguments) (when (ni-opened self) (cond ((ni-enabled self)) ((ni-enable-function self) (and (apply (ni-enable-function self) self arguments) (setf (ni-enabled self) t))) (t (setf (ni-enabled self) t))))) )) ; From modified file DJ: L.NETWORK.DRIVERS; 3COM.LISP#94 at 11-Feb-88 14:25:55 #10R ETHERNET#: (COMPILER-LET ((*PACKAGE* (GLOBAL:PKG-FIND-PACKAGE "ETHERNET"))) (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; DRIVERS; 3COM  " (net:create-included-methods 'ethernet:3com-interface) (defun setup-3com (tag &aux alist) (when (and (eq si:processor-type-code si:lambda-type-code) (i-own-3com)) (when *3com-ethernet-interface* (setq alist (3com-protocol-alist *3com-ethernet-interface*)) (funcall *3com-ethernet-interface* :close)) (setq *3com-ethernet-interface* (make-3com-interface :tag tag :interface :3com :keyword :ethernet :hardware-type net:arp-ethernet-hardware :address-length 6 :address 0 :broadcast-address *ethernet-broadcast-address* :minimum-data-length 46. :maximum-data-length 1500. :sent-header-length 0 :rcvd-header-length 0 :sent-trailer-length 0 :rcvd-trailer-length 0 :loopback t :protocol-alist alist :reset-function '3com-reset :enable-function '3com-enable :disable-function '3com-disable :packet-ready-function '3com-packet-ready :get-next-packet-function '3com-get-next-packet :send-function '3com-send-int-pkt :gauge-name "3Com" )) (funcall *3com-ethernet-interface* :open) (funcall *3com-ethernet-interface* :enable))) )) ; From modified file DJ: L.NETWORK.DRIVERS; EXCELAN.LISP#138 at 11-Feb-88 14:28:40 #10R ETHERNET#: (COMPILER-LET ((*PACKAGE* (GLOBAL:PKG-FIND-PACKAGE "ETHERNET"))) (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; DRIVERS; EXCELAN  " (net:create-included-methods 'ethernet:excelan-interface) (defun setup-excelan (tag &optional (enable-p t) &aux alist) (when (and (eq si:processor-type-code si:lambda-type-code) (i-own-excelan)) (when *excelan-ethernet-interface* (setq alist (net:ni-protocol-alist *excelan-ethernet-interface*)) (funcall *excelan-ethernet-interface* :close)) (setq *excelan-ethernet-interface* (make-excelan-interface :tag tag :interface :excelan :keyword :ethernet :hardware-type net:arp-ethernet-hardware :address-length 6 :address 0 :broadcast-address *ethernet-broadcast-address* :minimum-data-length 46. :maximum-data-length 1500. :sent-header-length 0 :rcvd-header-length 0 :sent-trailer-length 0 :rcvd-trailer-length 0 :loopback t ;will operate properly either way :protocol-alist alist :reset-function 'excelan-reset :enable-function 'excelan-enable :disable-function 'excelan-disable :packet-ready-function 'excelan-packet-ready :get-next-packet-function 'excelan-get-next-packet :send-function 'excelan-send-int-pkt :gauge-name "Excelan" )) (funcall *excelan-ethernet-interface* :open) (when enable-p (funcall *excelan-ethernet-interface* :enable)))) )) ; From modified file DJ: L.NETWORK.DRIVERS; LOOPBACK.LISP#19 at 11-Feb-88 14:29:26 #10R NETWORK#: (COMPILER-LET ((*PACKAGE* (GLOBAL:PKG-FIND-PACKAGE "NETWORK"))) (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; DRIVERS; LOOPBACK  " (net:create-included-methods 'net:loopback-interface) (defun setup-loopback (tag &aux alist) (when *loopback-interface* (setq alist (ni-protocol-alist *loopback-interface*)) (funcall *loopback-interface* :close)) (setq *loopback-receive-list* (make-fifo)) (setq *loopback-interface* (make-loopback-interface :tag tag :interface :loopback :keyword :loopback :minimum-data-length 0 :maximum-data-length 1500. :sent-header-length 0 :rcvd-header-length 0 :sent-trailer-length 0 :rcvd-trailer-length 0 :protocol-alist alist :disable-function 'loopback-reset :reset-function 'loopback-reset :packet-ready-function 'loopback-packet-ready :get-next-packet-function 'loopback-get-next-packet :send-function 'loopback-send-int-pkt :gauge-name "LOOP" )) (funcall *loopback-interface* :open) (funcall *loopback-interface* :enable)) )) ; From modified file DJ: L.NETWORK.DRIVERS; SHARE.LISP#74 at 11-Feb-88 14:30:38 #10R SYSTEM-INTERNALS#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS"))) (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; DRIVERS; SHARE  " (net:create-included-methods 'si:share-interface) (defun setup-share-interface (tag &aux alist) (when (and (eq processor-type-code lambda-type-code) *share-code-ready*) (when share-interface (setq alist (net:ni-protocol-alist share-interface)) (send share-interface :close)) (setq share-interface (make-share-interface :tag tag :interface :share :keyword :backplane :address *my-op* :point-to-point t :minimum-data-length 0 :maximum-data-length (* 4 (- page-size (length chaos-share-dev-qs))) :sent-header-length 0 :rcvd-header-length 0 :sent-trailer-length 0 :rcvd-trailer-length 0 :protocol-alist alist :reset-function 'share-reset :packet-ready-function 'share-packet-ready :get-next-packet-function 'share-get-next-packet :send-function 'share-send-int-pkt :gauge-name "Share" )) (send share-interface :open) (send share-interface :enable))) )) ; From modified file DJ: L.NETWORK.DRIVERS; CADR.LISP#27 at 11-Feb-88 14:31:38 #10R CHAOS#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "CHAOS"))) (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; DRIVERS; CADR  " (defun setup-cadr-network (tag &aux alist) (when (eq si:processor-type-code si:cadr-type-code) (when cadr-network-interface (setq alist (net:ni-protocol-alist cadr-network-interface)) (funcall cadr-network-interface :close)) (setq cadr-network-interface (net:make-network-interface :tag tag :interface :cadr :keyword :chaos :hardware-type net:arp-chaos-hardware :address-length 2 :address 0 :broadcast-address 0 :minimum-data-length 0 :maximum-data-length 488. :sent-header-length 0 :rcvd-header-length 0 :sent-trailer-length 0 :rcvd-trailer-length 0 :loopback t :protocol-alist alist :reset-function 'cadr-reset :disable-function 'cadr-reset :enable-function 'cadr-enable :packet-ready-function 'cadr-packet-ready :get-next-packet-function 'cadr-get-next-packet :send-function 'cadr-send-int-pkt :gauge-name "CADR" )) (funcall cadr-network-interface :open) (funcall cadr-network-interface :enable))) )) ; From modified file DJ: L.NETWORK.DRIVERS; EXPLORER.LISP#24 at 11-Feb-88 14:32:15 #10R ETHERNET#: (COMPILER-LET ((*PACKAGE* (GLOBAL:PKG-FIND-PACKAGE "ETHERNET"))) (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; DRIVERS; EXPLORER  " (defun setup-explorer-ethernet (tag &aux alist) (when (eq si:processor-type-code si:explorer-type-code) (when explorer-ethernet-interface (setq alist (net:ni-protocol-alist explorer-ethernet-interface)) (funcall explorer-ethernet-interface :close)) (setq explorer-ethernet-interface (net:make-network-interface :tag tag :interface :explorer :keyword :ethernet :hardware-type net:arp-ethernet-hardware :address-length 6 :address si:my-ethernet-address :broadcast-address *ethernet-broadcast-address* :minimum-data-length 46. :maximum-data-length 1500. :sent-header-length 0 :rcvd-header-length 0 :sent-trailer-length 0 :rcvd-trailer-length 0 :loopback t :protocol-alist alist :reset-function 'explorer-reset :packet-ready-function 'si:NEC-Pkt-Available :get-next-packet-function 'explorer-get-next-packet :send-function 'explorer-send-int-pkt :gauge-name "Explorer" )) (funcall explorer-ethernet-interface :open) (funcall explorer-ethernet-interface :enable))) ))