(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) (FILECREATED "31-May-90 12:23:59" {DSK}mitani>medley>system>DSK.;1 2878 changes to%: (FNS \DSKEventFn) previous date%: "16-May-90 16:13:07" {DSK}local>lde>lispcore>sources>DSK.;2) (* ; " Copyright (c) 1988, 1989, 1990 by Venue & Xerox Corporation. All rights reserved. ") (PRETTYCOMPRINT DSKCOMS) (RPAQQ DSKCOMS ((PROP (FILETYPE MAKEFILE-ENVIRONMENT) DSK) (* ;; " Create FDEV function.") (FNS \DSKCreateDevice \DSKOpenDevice \DSKCloseDevice) (* ;; "UNIX File System's FDEV methods. Only one here--the rest are shared with UFS") (FNS \DSKEventFn) (* ;; "Variables for UFS.") (INITVARS (\DSKDefaultConnDir "~/") (\DSKdevice) (\DSKtopMonitor (CREATE.MONITORLOCK "DSKTopMonitor"))) (DECLARE%: EVAL@COMPILE DONTCOPY (GLOBALVARS \DSKdevice \DSKtopMonitor \DSKDefaultConnDir) (FILES (LOADCOMP) UFS)))) (PUTPROPS DSK FILETYPE :BCOMPL) (PUTPROPS DSK MAKEFILE-ENVIRONMENT (:PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)) (* ;; " Create FDEV function.") (DEFINEQ (\DSKCreateDevice (LAMBDA NIL (* ; "Edited 27-Feb-89 18:29 by bvm") (* ;;; "Creates and remembers the local hard disk file device, but does not open the device or any of its associated directories.") (if (AND (BOUNDP (QUOTE \DSKdevice)) (type? FDEV \DSKdevice)) then \DSKdevice else (SETQ \DSKdevice (\UFS.CREATE.DEVICE (QUOTE DSK) (FUNCTION \DSKEventFn))))) ) (\DSKOpenDevice (LAMBDA NIL (* ; "Edited 12-Apr-88 18:05 by HH") (WITH.MONITOR \DSKtopMonitor (LET ((DEV (\DSKCreateDevice))) (\DEFINEDEVICE (QUOTE DSK) DEV) DEV))) ) (\DSKCloseDevice (LAMBDA NIL (* ; "Edited 28-Mar-88 11:11 by HH") (WITH.MONITOR \DSKtopMonitor (\REMOVEDEVICE \DSKdevice) NIL)) ) ) (* ;; "UNIX File System's FDEV methods. Only one here--the rest are shared with UFS") (DEFINEQ (\DSKEventFn (LAMBDA (Dev Event) (DECLARE (GLOBALVARS \UFS.GFS.TABLE)) (* ; "Edited 3-May-90 17:37 by nm") (WITH.MONITOR \DSKtopMonitor (SELECTQ Event ((AFTERLOGOUT AFTERSYSOUT AFTERMAKESYS AFTERSAVEVM) (\DSKCloseDevice) (SELECTQ (MACHINETYPE) (MAIKO (\DSKOpenDevice) (* ;; "revalidate open streams ") (\UNVISIBLE.PAGED.REVALIDATEFILELST Dev) (\PAGED.REVALIDATEFILELST Dev) (MAPHASH \UFS.GFS.TABLE (FUNCTION (LAMBDA (VAL KEY) (\UFS.UNREGISTER.GFS VAL)))) (CLRHASH \UFS.GFS.TABLE)) NIL)) ((BEFORELOGOUT) (\UNVISIBLE.FLUSH.OPEN.STREAMS Dev) (* ; "flush output buffers.") (\FLUSH.OPEN.STREAMS Dev)) NIL))) ) ) (* ;; "Variables for UFS.") (RPAQ? \DSKDefaultConnDir "~/") (RPAQ? \DSKdevice) (RPAQ? \DSKtopMonitor (CREATE.MONITORLOCK "DSKTopMonitor")) (DECLARE%: EVAL@COMPILE DONTCOPY (DECLARE%: DOEVAL@COMPILE DONTCOPY (GLOBALVARS \DSKdevice \DSKtopMonitor \DSKDefaultConnDir) ) (FILESLOAD (LOADCOMP) UFS) ) (PUTPROPS DSK COPYRIGHT ("Venue & Xerox Corporation" 1988 1989 1990)) (DECLARE%: DONTCOPY (FILEMAP (NIL (1074 1757 (\DSKCreateDevice 1084 . 1448) (\DSKOpenDevice 1450 . 1620) (\DSKCloseDevice 1622 . 1755)) (1853 2474 (\DSKEventFn 1863 . 2472))))) STOP