english
version "1.0"
identify "%Z%%M% %I% %E%"
#: Copyright (c) 1995-2005 by Wayne C. Gramlich.
#, All rights reserved.
module file_system
#: The {file_system
} type provides overall access to the file system
#, in an operating system independent fashion. For now, it only
#, makes sense to have exactly {file_system
} type per progarm.
#, Later on, when remote file systems get implemented, it will
#, make sense have multiple {file_system
} objects.
define file_system #: File system information
record
buffer string #: Temporary {string
} buffer
is_unix logical #: {true
}=>UNIX; {false
}=>Windows
login file_name #: Login file name (i.e. `~')
new_line string #: New-line separator
relative file_name #: Relative file name (i.e. `.')
root file_name #: Root file name (i.e. `/')
separator character #: Level separator character
system system #: System object to use
table set[file_name] #: Table of unique {file_name
}'s
temporary file_name #: Temporary {file_name
} for lookup
generate allocate, erase, identical, print
#: {file_system
} procedures:
procedure create@file_system
takes
system system
returns file_system
#: This procedure will create and return a {file_system
} object
#, In general, this procedure should only be called from with
#, the {system
} module and fetched via {file_system_get
}@{system
}().
#, The only time it makes sense call this procedure is if an
#, application that deals with more than one file system is being
#, constructed.