std/private/oscommon

Source   Edit  

Types

PathComponent = enum
  pcFile,                   ## path refers to a file
  pcLinkToFile,             ## path refers to a symbolic link to a file
  pcDir,                    ## path refers to a directory
  pcLinkToDir                ## path refers to a symbolic link to a directory

Enumeration specifying a path component.

See also:

Source   Edit  
ReadDirEffect = object of ReadIOEffect
Effect that denotes a read operation from the directory structure. Source   Edit  
WriteDirEffect = object of WriteIOEffect
Effect that denotes a write operation to the directory structure. Source   Edit  

Consts

maxSymlinkLen = 1024
Source   Edit  
weirdTarget = false
Source   Edit  

Procs

proc dirExists(dir: string): bool {....gcsafe, extern: "nos$1",
                                    tags: [ReadDirEffect], sideEffect,
                                    ...raises: [], forbids: [].}

Returns true if the directory dir exists. If dir is a file, false is returned. Follows symlinks.

See also:

Source   Edit  
proc fileExists(filename: string): bool {....gcsafe, extern: "nos$1",
    tags: [ReadDirEffect], sideEffect, ...raises: [], forbids: [].}

Returns true if filename exists and is a regular file or symlink.

Directories, device files, named pipes and sockets return false.

See also:

Source   Edit  
proc getSymlinkFileKind(path: string): tuple[pc: PathComponent, isSpecial: bool] {.
    ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc symlinkExists(link: string): bool {....gcsafe, extern: "nos$1",
    tags: [ReadDirEffect], sideEffect, ...raises: [], forbids: [].}

Returns true if the symlink link exists. Will return true regardless of whether the link points to a directory or file.

See also:

Source   Edit  
proc tryMoveFSObject(source, dest: string; isDir: bool): bool {.
    ...raises: [OSError], tags: [], forbids: [].}

Moves a file (or directory if isDir is true) from source to dest.

Returns false in case of EXDEV error or AccessDeniedError on Windows (if isDir is true). In case of other errors OSError is raised. Returns true in case of success.

Source   Edit