;;; -*- Mode: Scheme; scheme48-package: (config) -*- ;;;; Fasloader & Fasdumper ;;;; Interface Definitions ;;; This code is written by Taylor Campbell and placed in the Public ;;; Domain. All warranties are disclaimed. (define-interface fasdumping-interface (export make-block-fasdump-port write-block-fasdump write-block-fasdump! open-stream-fasdump-port set-fasdump-port-encoder-selector! with-fasdump-port-encoder-selector fasdump encoder->fasdumper immediate-encoder->fasdumper write-fasl-integer write-fasl-string )) (define-interface fasloading-interface (export open-block-fasload-port open-stream-fasload-port set-fasload-port-decoder-selector! with-fasload-port-decoder-selector fasload ; Signals EOF condition. fasload-refusing-eof ; Signals EOF error condition. maybe-fasload ; Chooses one of two conts. read-fasl-integer read-fasl-string )) (define-interface fasl-conditions-interface (export fasdump-condition? fasdump-condition-port with-fasdump-condition-handler signal-fasl-undumpable fasl-undumpable? fasl-undumpable-datum fasl-undumpable-encoder-selector fasload-condition? fasload-condition-port with-fasload-condition-handler signal-fasl-incompatibility fasl-incompatibility? fasl-incompatibility-min-version fasl-incompatibility-max-version fasl-incompatibility-actual-version signal-malformed-fasl malformed-fasl? signal-end-of-fasl end-of-fasl? signal-end-of-fasl-error with-end-of-fasl-as-error )) (define-interface usual-fasl-encoder-interface (export usual-fasl-encoder immediate-fasl-encoder fasdump-immediate integer-fasl-encoder fasdump-integer pair-fasl-encoder fasdump-pair symbol-fasl-encoder fasdump-symbol vector-fasl-encoder fasdump-vector string-fasl-encoder fasdump-string char-fasl-encoder fasdump-char number-fasl-encoder fasdump-number cell-fasl-encoder fasdump-cell weak-pointer-fasl-encoder fasdump-weak-pointer byte-vector-fasl-encoder fasdump-byte-vector )) (define-interface usual-fasl-decoder-interface (export usual-fasl-decoder )) (define-interface fasl-format-interface (export (fasl-identification :string) (fasl-oldest-version :exact-integer) (fasl-newest-version :exact-integer) (fasl-header :syntax) )) (define-interface fasl-utilities-interface (export adjoin-bit-field write-octet read-octet (define-substitution :syntax) )) (define-interface fasl-tests-interface (export run-fasl-tests))