;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*-
;;; Patch file for System version 126.123
;;; Reason:
;;;  HOST.LISP cleanups: 1) canonicalized byte specs; 2) use GETF instead of (GET(LOCF));
;;;  3) doc strings.
;;; Written 22-Oct-88 01:32:38 by keith (Keith Corbett) at site Gigamos Cambridge
;;; while running on Johannes Brahms from band 1
;;; with Experimental System 126.119, Experimental ZWEI 126.21, Experimental ZMail 74.9, Experimental Local-File 76.0, Experimental File-Server 25.0, Experimental Lambda-Diag 18.0, Experimental Unix-Interface 15.0, Experimental Tape 26.4, Microcode 1762, SDU Boot Tape 3.14, SDU ROM 103, 10/17.



; From file DJ: L.NETWORK; HOST.LISP#160 at 22-Oct-88 01:32:46
#8R SYSTEM-INTERNALS#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; HOST  "

(DEFMETHOD (HOST :NETWORK-TYPEP) (TYPE) (GET (LOCF (HOST-ADDRESSES ALIST-ELEM)) TYPE))

))

; From file DJ: L.NETWORK; HOST.LISP#160 at 22-Oct-88 01:32:48
#8R SYSTEM-INTERNALS#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; HOST  "


(defun (:property :chaos smart-address-chooser) (addresses)
  (or (first (mem #'(lambda (S a) (= (ldb (BYTE 8. 8.) a) S))
		  CHAOS:MY-SUBNET
		  addresses))
      (first addresses)))

;;; These were written by looking at SYS: NETWORK;CHAOS; CHSAUX

))

; From file DJ: L.NETWORK; HOST.LISP#160 at 22-Oct-88 01:32:49
#8R SYSTEM-INTERNALS#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; HOST  "

(DEFUN (:PROPERTY :ARPA ADDRESS-UNPARSER) (A)
  (FORMAT () "~D//~D" (LDB (BYTE 8. 9.) A) (LDB (BYTE 8. 0.) A)))

))

; From file DJ: L.NETWORK; HOST.LISP#160 at 22-Oct-88 01:32:51
#8R SYSTEM-INTERNALS#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; HOST  "


(DEFUN (:PROPERTY :RCC ADDRESS-UNPARSER) (A)
  (FORMAT () "~D//~D" (LDB (BYTE 8. 9.) A) (LDB (BYTE 8. 0.) A)))

))

; From file DJ: L.NETWORK; HOST.LISP#160 at 22-Oct-88 01:32:52
#8R SYSTEM-INTERNALS#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; HOST  "


(DEFUN (:PROPERTY :LCS ADDRESS-UNPARSER) (A)
  (FORMAT () "~O//~O" (LDB (BYTE 8. 8.) A) (LDB (BYTE 8. 0.) A)))

))

; From file DJ: L.NETWORK; HOST.LISP#160 at 22-Oct-88 01:32:53
#8R SYSTEM-INTERNALS#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; HOST  "


(DEFUN (:PROPERTY :SU ADDRESS-UNPARSER) (A)
  (FORMAT () "~O#~O" (LDB (BYTE 8. 8.) A) (LDB (BYTE 8. 0.) A)))

;;;???This gets DEFF'd later, somewhere, to be IP:CANONICAL-IP... -Keith 21-oct-88 

))

; From file DJ: L.NETWORK; HOST.LISP#160 at 22-Oct-88 01:32:57
#8R SYSTEM-INTERNALS#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; HOST  "


(defmethod (host :internet-addresses) ()
  (let ((addresses (send self :network-addresses)))
    (getf addresses :internet)))

))

; From file DJ: L.NETWORK; HOST.LISP#160 at 22-Oct-88 01:32:58
#8R SYSTEM-INTERNALS#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; HOST  "


(defmethod (host :internet-address) ()
  (let ((addresses (send self :network-addresses)))
    (car (getf addresses :internet))))

))

; From file DJ: L.NETWORK; HOST.LISP#160 at 22-Oct-88 01:33:00
#8R SYSTEM-INTERNALS#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; HOST  "


(DEFMETHOD (HOST :CHAOS-ADDRESSES) ()
  (LET ((ADDRESSES (SEND SELF :NETWORK-ADDRESSES)))
    (getf ADDRESSES :CHAOS)))

))

; From file DJ: L.NETWORK; HOST.LISP#160 at 22-Oct-88 01:33:02
#8R SYSTEM-INTERNALS#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; HOST  "


(DEFMETHOD (HOST :CHAOS-ADDRESS) ()
  (LET ((ADDRESSES (SEND SELF :NETWORK-ADDRESSES)))
    (CAR (getf ADDRESSES :CHAOS))))

))
