PATHNAME-SYSTEM-TYPE
PATHNAME-SYSTEM-TYPE pathname [Function]
Coerce the pathname argument to a pathname, signalling an error of type TYPE-ERROR if the argument is not a pathname, string, or file stream. Return a keyword symbol that identifies the type of file system this pathname is for. The names of these symbols are derived from the system type names used by the Internet Domain Name system, listed in the referenced document. Implementations that use a file system listed in that document, or superseding documents, should return a symbol in the keyword package whose name comes from that document. Examples:
:MSDOS MS/DOS or PC/DOS :TOPS10 TOPS-10 :TOPS20 TOPS-20 :ULTRIX Ultrix :UNIX Unix with long file names (4.2 or newer) :VM/370 VM/370 :VMS VAX/VMS with long file names (version 4.4 or newer) :XENIX Xenix
The following additional symbols are specified by Common Lisp:
:LOGICAL logical pathname (see issue PATHNAME-LOGICAL) :MACINTOSH MacOS (missing from RFC 1010 for some reason) :UNIX-14 Unix with 14-character file name limit :VMS-9 VAX/VMS with 9-character file name limit NIL system type cannot be determined
For file systems not named in the referenced document, implementations should make up a name consistent with the spelling conventions defined in that document.
;; On a non-networked IBM PC: (PATHNAME-SYSTEM-TYPE (USER-HOMEDIR-PATHNAME)) => :MSDOS
PATHNAME-SYSTEM-TYPE gives a nonportable pathname manipulation program the basic information it needs to interpret namestrings and manipulate pathname components.