definition module pdExtFile;

//1.3
from StdString import String, toChar;
//3.1

/*2.0
import StdOverloaded;
0.2*/

//from StdFile import fwritec;
from StdInt import >>;
import StdFile;

path_separator :== '\\';

/*
ExtractPathAndFile :: !String -> (!String,!String);
ExtractPathFileAndExtension :: !String -> (!String,!String);
*/

FileSize :: !String -> (!Bool,!Int);

(FWW) infixl;
(FWW) f w :== fwritec (toChar (w>>8)) (fwritec (toChar w) f);

(FWB) infixl;
(FWB) f b :== fwritec (toChar b) f;

// external utilities
FetchFileTime :: !String -> (!Bool,!Int,!Int);
CompareFileTimes :: !Int !Int !Int !Int -> !Int;
//FileExists :: !String -> !Bool;
GetShortPathName :: !String -> (!Bool,!String);

file_exists :: !String !*f -> !(!Bool,!*f) | FileEnv f;

FileExists :: !String !*env -> (!Bool,!*env) | FileSystem env;

GetFullPathName :: !String -> (!Bool,!String);
