(FILECREATED "28-Jan-86 23:11:13" {DSK}<LISPFILES2>SECURITY.;2 1954   

      changes to:  (VARS SECURITYCOMS)

      previous date: "25-Nov-85 17:38:39" {DSK}<LISPFILES2>SECURITY.;1)


(* Copyright (c) 1985, 1986 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT SECURITYCOMS)

(RPAQQ SECURITYCOMS ((FNS \MachineID \SmashAtom \UnSmashAtom)))
(DEFINEQ

(\MachineID
  (LAMBDA NIL                                                (* hdj "21-Nov-85 15:58")
    (LIST (fetch (IFPAGE NSHost0) of \InterfacePage)
	    (fetch (IFPAGE NSHost1) of \InterfacePage)
	    (fetch (IFPAGE NSHost2) of \InterfacePage))))

(\SmashAtom
  (LAMBDA (Atom)                                             (* hdj "21-Nov-85 16:09")
    (if (NOT (LITATOM Atom))
	then (\ILLEGAL.ARG Atom)
      else (LET ((BASE (fetch (LITATOM PNAMEBASE) of Atom))
		   (FATPNAME? (fetch (LITATOM FATPNAMEP) of Atom))
		   (PNAMELENGTH (fetch (LITATOM PNAMELENGTH) of Atom)))
	          (PROG1 (LIST (\LOLOC Atom)
				   (\GETBASESTRING BASE (COND
						       (FATPNAME? 2)
						       (T 1))
						     PNAMELENGTH FATPNAME?))
			   (for X from 1 to PNAMELENGTH do (\PUTBASECHAR FATPNAME? BASE X
										 (CHARCODE X))))))))

(\UnSmashAtom
  (LAMBDA (AtomNum String)                                   (* hdj "21-Nov-85 16:12")
    (LET* ((AtomToFix (\VAG2 0 AtomNum))
	   (BASE (fetch (LITATOM PNAMEBASE) of AtomToFix))
	   (FATPNAME? (fetch (LITATOM FATPNAMEP) of AtomToFix))
	   (PNAMELENGTH (fetch (LITATOM PNAMELENGTH) of AtomToFix)))
          (for X from 1 to PNAMELENGTH do (\PUTBASECHAR FATPNAME? BASE X
								(CHCON1 (SUBSTRING String X X))))
      AtomToFix)))
)
(PUTPROPS SECURITY COPYRIGHT ("Xerox Corporation" 1985 1986))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (364 1870 (\MachineID 374 . 660) (\SmashAtom 662 . 1348) (\UnSmashAtom 1350 . 1868)))))
STOP