package
4.3.2+incompatible
Repository: https://github.com/qbit/client.git
Documentation: pkg.go.dev

# README

Dokan bindings for Go

Dokan is a library for implementing user mode filesystems on Windows. This library provides a thin binding to the library for Go programs.

Documentation

https://godoc.org/github.com/keybase/dokan-go

Licensing

The go binding itself is BSD3 licensed as featured in the LICENSE.

Additionally we ship Dokan C headers in the dokan_header directory. These are subject to LGPL and are from the Dokan project. These are used to compile the code without a Dokan installation in the path.

To use the library you will need to have installed a version of the LGPL licensed Dokany DLL licensed from https://github.com/dokan-dev/dokany

The Go library uses LoadLibrary to load the Dokan DLL, it is not linked with the DLL. Using different builds of the DLL works fine.

# Packages

Package winacl adds support for various Windows security APIs for Dokan.

# Functions

Mount mounts a FileSystem with the given Config.
Unmount a drive mounted by Dokan.

# Constants

Flags for mounting the filesystem.
Flags for mounting the filesystem.
Flags for mounting the filesystem.
ErrAccessDenied - access denied (EPERM).
ErrDirectoryNotEmpty - wanted an empty dir - it is not empty.
ErrFileAlreadyExists - file already exists - fatal.
ErrFileIsADirectory - file is a directory.
ErrNotADirectory - wanted a directory - it is not a directory.
ErrNotSameDevice - MoveFile is denied, please use copy+delete.
ErrNotSupported - not supported.
ErrObjectNameCollision - a pathname already exists (EEXIST).
ErrObjectNameNotFound - filename does not exist (ENOENT).
ErrObjectPathNotFound - a pathname does not exist (ENOENT).
ExistingDir for newly created directories.
ExistingFile for newly created files.
File attribute bit masks - same as syscall but provided for all platforms.
File attribute bit masks - same as syscall but provided for all platforms.
File attribute bit masks - same as syscall but provided for all platforms.
File attribute bit masks - same as syscall but provided for all platforms.
File attribute bit masks - same as syscall but provided for all platforms.
File attribute bit masks - same as syscall but provided for all platforms.
File attribute bit masks - same as syscall but provided for all platforms.
Various FileSystemFlags constants, see winapi documentation for details.
Various FileSystemFlags constants, see winapi documentation for details.
File creation flags for CreateFile.
CreateOptions flags.
Various FileSystemFlags constants, see winapi documentation for details.
Various FileSystemFlags constants, see winapi documentation for details.
CreateOptions flags.
File creation flags for CreateFile.
File creation flags for CreateFile.
CreateOptions flags.
File creation flags for CreateFile.
File creation flags for CreateFile.
Various FileSystemFlags constants, see winapi documentation for details.
Various FileSystemFlags constants, see winapi documentation for details.
Various FileSystemFlags constants, see winapi documentation for details.
File creation flags for CreateFile.
Various FileSystemFlags constants, see winapi documentation for details.
Various FileSystemFlags constants, see winapi documentation for details.
Various FileSystemFlags constants, see winapi documentation for details.
Various FileSystemFlags constants, see winapi documentation for details.
Various FileSystemFlags constants, see winapi documentation for details.
Various FileSystemFlags constants, see winapi documentation for details.
Various FileSystemFlags constants, see winapi documentation for details.
Various FileSystemFlags constants, see winapi documentation for details.
Various FileSystemFlags constants, see winapi documentation for details.
Various FileSystemFlags constants, see winapi documentation for details.
Various FileSystemFlags constants, see winapi documentation for details.
Various FileSystemFlags constants, see winapi documentation for details.
Various FileSystemFlags constants, see winapi documentation for details.
File attribute bit masks - same as syscall but provided for all platforms.
Flags for mounting the filesystem.
NewDir for newly created directories.
NewFile for newly created files.
Flags for mounting the filesystem.
StatusBufferOverflow - buffer space too short for return value.
StatusObjectNameExists - already exists, may be non-fatal...
UseFindFilesWithPattern enables FindFiles calls to be with a search pattern string.

# Structs

Config is the configuration used for a mount.
CreateData contains all the info needed to create a file.
FreeSpace - semantics as with WINAPI GetDiskFreeSpaceEx.
MountHandle holds a reference to a mounted filesystem.
NamedStat is used to for stat responses that require file names.
Stat is for GetFileInformation and friends.
VolumeInformation - see WINAPI GetVolumeInformation for hints.

# Interfaces

File is the interface for files and directories.
FileSystem is the inteface for filesystems in Dokan.

# Type aliases

CreateDisposition marks whether to create or open a file.
CreateStatus marks status of successfull create/open operations.
FileAttribute is the type of a directory entry in Stat.
FileSystemFlags holds flags for filesystem features.
MountFlag is the type for Dokan mount flags.
NtStatus is a type implementing error interface that corresponds to NTSTATUS.