;;; -*- Mode:LISP; Package:USER; Base:10 -*-


;******************************************************************************
; Copyright (c) 1984, 1985 by Lisp Machine Inc.
; Symbolics-specific portions Copyright (c) 1985 by Honeywell, Inc.
; Permission to copy all or part of this material is granted, provided
; that the copies are not made or distributed for resale, and the 
; copyright notices and reference to the source file and the software
; distribution version appear, and that notice is given that copying is
; by permission of Lisp Machine Inc.  LMI reserves for itself the 
; sole commercial right to use any part of this KERMIT/H19-Emulator
; not covered by any Columbia University copyright.  Inquiries concerning
; copyright should be directed to Mr. Damon Lawrence at (213) 642-1116.
;
; Version Information:
;      LMKERMIT 1.0     --      Original LMI code, plus edit ;1; for 3600 port
;
; Authorship Information:
;      Mark David (LMI)           Original version, using KERMIT.C as a guide
;      George Carrette (LMI)      Various enhancements
;      Mark Ahlstrom (Honeywell)  Port to 3600 (edits marked with ";1;" comments)
;
; Author Addresses:
;      George Carrette     ARPANET: GJC at MIT-MC
;
;      Mark Ahlstrom       ARPANET: Ahlstrom at HI-Multics
;                          PHONE:   (612) 887-4006
;                          USMAIL:  Honeywell MN09-1400
;                                   Computer Sciences Center
;                                   10701 Lyndale Avenue South
;                                   Bloomington, MN  55420
;******************************************************************************



;;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

;;;
;;;                 KERMIT
;;;



;;;                 this is the package system declaration
;;;                 for KERMIT


;;; these are the 6 files. they should be loaded in this order usually:
;;; 1. Proto
;;; 2. Calls
;;; 3. Term
;;; 4. Open
;;; 5. S-term
;;; 6. Server
;;; 7. Window
;;;
;;; PROTO is the basic Columbia University (Frank da Cruz, et al) Kermit protocal.
;;;  It's was translated from the C by Mark David at LMI. Unless otherwise noted,
;;;  the rest of the code for these was written and developed by Mark David largely
;;;  assisted by George Carrette @ LMI in 1984.
;;; CALLS contains the definition of Kstate, the flavor object which 'wraps' the myriad special
;;;  variables and has the methods to make the top level calls to the protocol.
;;; TERM is the Heath (aka z19, z29, h19, zenith,...) terminal emulator.
;;; OPEN has alot of the functions to open files and hack filenames (for different computers).
;;; S-TERM is George Carrette's remote login interface to the Lisp Machine thru the RS-232.
;;; SERVER is the remote server protocol. It's very minimal. It can be invoked thru s-term.
;;; WINDOW is the window interface to Calls, which in turn is the interface to Proto.
;;;  It also takes care of such vital things as making the serial stream, managing
;;;  everything, etc. The Kermit program is really built on this window. (Actu-
;;;  ally, there is a little too much dependency on the window interface for my tastes, but
;;;  that's a common 'problem' for Lisp Machine programmers.)


(defpackage kermit
  (:size 500))					;1; 

(defpackage s-terminal
  (:size 200))					;1; 

(defsystem kermit

  (:name "KERMIT")

  (:pathname-default "kermit:source;")

  (:patchable #-3600 "kermit:patch;" #-3600 "KERMIT")	;1;

  (:module kermit-protocol "LMIPRO")

  (:module kermit-calls "LMICAL")

  (:module kermit-open "LMIOPN")

  (:module kermit-server "LMISRV")

  (:module kermit-window "LMIWIN")

  (:module kermit-terminal "LMITER")

  (:module s-terminal "LMISTR")

  (:compile-load kermit-protocol)

  (:compile-load kermit-calls (:fasload kermit-protocol))

  (:compile-load kermit-terminal)

  ;1; added a load of kermit-calls here so kermit-default-pathname
  ;1; is not redefined...
  (:compile-load kermit-open (:fasload kermit-protocol #+3600 kermit-calls))

  (:compile-load s-terminal)

  ;1; why again??
  #-3600 (:compile-load kermit-open  (:fasload kermit-protocol))

  (:compile-load kermit-server (:fasload kermit-protocol))

  (:compile-load kermit-window
                     (:fasload kermit-protocol kermit-terminal kermit-open kermit-calls
		      s-terminal))		;1; added s-terminal to avoid an 
						;1; "undefined flavor" warning.
  )
