Files
cgofuse/fuse/calls/linux.go
Matheus Sampaio Queiroga 9a774478a2
All checks were successful
Fuse test / go-test (push) Successful in 32s
Merge winfsp to fuse and update fs
Signed-off-by: Matheus Sampaio Queiroga <srherobrine20@gmail.com>
2025-08-18 19:07:05 -03:00

191 lines
4.9 KiB
Go

//go:build linux
package calls
import unix "golang.org/x/sys/unix"
// Error codes reported by FUSE file systems.
const (
E2BIG = unix.E2BIG
EACCES = unix.EACCES
EADDRINUSE = unix.EADDRINUSE
EADDRNOTAVAIL = unix.EADDRNOTAVAIL
EAFNOSUPPORT = unix.EAFNOSUPPORT
EAGAIN = unix.EAGAIN
EALREADY = unix.EALREADY
EBADF = unix.EBADF
EBADMSG = unix.EBADMSG
EBUSY = unix.EBUSY
ECANCELED = unix.ECANCELED
ECHILD = unix.ECHILD
ECONNABORTED = unix.ECONNABORTED
ECONNREFUSED = unix.ECONNREFUSED
ECONNRESET = unix.ECONNRESET
EDEADLK = unix.EDEADLK
EDESTADDRREQ = unix.EDESTADDRREQ
EDOM = unix.EDOM
EEXIST = unix.EEXIST
EFAULT = unix.EFAULT
EFBIG = unix.EFBIG
EHOSTUNREACH = unix.EHOSTUNREACH
EIDRM = unix.EIDRM
EILSEQ = unix.EILSEQ
EINPROGRESS = unix.EINPROGRESS
EINTR = unix.EINTR
EINVAL = unix.EINVAL
EIO = unix.EIO
EISCONN = unix.EISCONN
EISDIR = unix.EISDIR
ELOOP = unix.ELOOP
EMFILE = unix.EMFILE
EMLINK = unix.EMLINK
EMSGSIZE = unix.EMSGSIZE
ENAMETOOLONG = unix.ENAMETOOLONG
ENETDOWN = unix.ENETDOWN
ENETRESET = unix.ENETRESET
ENETUNREACH = unix.ENETUNREACH
ENFILE = unix.ENFILE
ENOATTR = ENODATA
ENOBUFS = unix.ENOBUFS
ENODATA = unix.ENODATA
ENODEV = unix.ENODEV
ENOENT = unix.ENOENT
ENOEXEC = unix.ENOEXEC
ENOLCK = unix.ENOLCK
ENOLINK = unix.ENOLINK
ENOMEM = unix.ENOMEM
ENOMSG = unix.ENOMSG
ENOPROTOOPT = unix.ENOPROTOOPT
ENOSPC = unix.ENOSPC
ENOSR = unix.ENOSR
ENOSTR = unix.ENOSTR
ENOSYS = unix.ENOSYS
ENOTCONN = unix.ENOTCONN
ENOTDIR = unix.ENOTDIR
ENOTEMPTY = unix.ENOTEMPTY
ENOTRECOVERABLE = unix.ENOTRECOVERABLE
ENOTSOCK = unix.ENOTSOCK
ENOTSUP = unix.ENOTSUP
ENOTTY = unix.ENOTTY
ENXIO = unix.ENXIO
EOPNOTSUPP = unix.EOPNOTSUPP
EOVERFLOW = unix.EOVERFLOW
EOWNERDEAD = unix.EOWNERDEAD
EPERM = unix.EPERM
EPIPE = unix.EPIPE
EPROTO = unix.EPROTO
EPROTONOSUPPORT = unix.EPROTONOSUPPORT
EPROTOTYPE = unix.EPROTOTYPE
ERANGE = unix.ERANGE
EROFS = unix.EROFS
ESPIPE = unix.ESPIPE
ESRCH = unix.ESRCH
ETIME = unix.ETIME
ETIMEDOUT = unix.ETIMEDOUT
ETXTBSY = unix.ETXTBSY
EWOULDBLOCK = unix.EWOULDBLOCK
EXDEV = unix.EXDEV
)
// Flags used in FileSystemInterface.Create and FileSystemInterface.Open.
const (
O_RDONLY = unix.O_RDONLY
O_WRONLY = unix.O_WRONLY
O_RDWR = unix.O_RDWR
O_APPEND = unix.O_APPEND
O_CREAT = unix.O_CREAT
O_TRUNC = unix.O_TRUNC
O_EXCL = unix.O_EXCL
O_ACCMODE = unix.O_ACCMODE
O_ASYNC = unix.O_ASYNC
O_CLOEXEC = unix.O_CLOEXEC
O_DIRECT = unix.O_DIRECT
O_DIRECTORY = unix.O_DIRECTORY
O_DSYNC = unix.O_DSYNC
O_FSYNC = unix.O_FSYNC
O_LARGEFILE = unix.O_LARGEFILE
O_NDELAY = unix.O_NDELAY
O_NOATIME = unix.O_NOATIME
O_NOCTTY = unix.O_NOCTTY
O_NOFOLLOW = unix.O_NOFOLLOW
O_NONBLOCK = unix.O_NONBLOCK
O_RSYNC = unix.O_RSYNC
O_SYNC = unix.O_SYNC
)
// File type and permission bits.
const (
S_IFMT = unix.S_IFMT
S_IFBLK = unix.S_IFBLK
S_IFCHR = unix.S_IFCHR
S_IFIFO = unix.S_IFIFO
S_IFREG = unix.S_IFREG
S_IFDIR = unix.S_IFDIR
S_IFLNK = unix.S_IFLNK
S_IFSOCK = unix.S_IFSOCK
S_IRWXU = unix.S_IRWXU
S_IRUSR = unix.S_IRUSR
S_IWUSR = unix.S_IWUSR
S_IXUSR = unix.S_IXUSR
S_IRWXG = unix.S_IRWXG
S_IRGRP = unix.S_IRGRP
S_IWGRP = unix.S_IWGRP
S_IXGRP = unix.S_IXGRP
S_IRWXO = unix.S_IRWXO
S_IROTH = unix.S_IROTH
S_IWOTH = unix.S_IWOTH
S_IXOTH = unix.S_IXOTH
S_ISUID = unix.S_ISUID
S_ISGID = unix.S_ISGID
S_ISVTX = unix.S_ISVTX
)
// BSD file flags (Windows file attributes).
const (
UF_HIDDEN = 0x00008000
UF_READONLY = 0x00001000
UF_SYSTEM = 0x00000080
UF_ARCHIVE = 0x00000800
)
// Access flags
const (
F_OK = 0
R_OK = 4
W_OK = 2
X_OK = 1
DELETE_OK = 0x40000000 // Delete access check [Windows only]
)
// Options that control Setxattr operation.
const (
XATTR_CREATE = unix.XATTR_CREATE
XATTR_REPLACE = unix.XATTR_REPLACE
)
// Flags used in Utimens and Utimens3.
const (
UTIME_NOW = (1 << 30) - 1
UTIME_OMIT = (1 << 30) - 2
)
// Flags used in FileSystemRename3.Rename3.
const (
RENAME_NOREPLACE = 1 << 0
RENAME_EXCHANGE = 1 << 1
RENAME_WHITEOUT = 1 << 2
)
// Notify actions.
const (
NOTIFY_MKDIR = 0x0001
NOTIFY_RMDIR = 0x0002
NOTIFY_CREATE = 0x0004
NOTIFY_UNLINK = 0x0008
NOTIFY_CHMOD = 0x0010
NOTIFY_CHOWN = 0x0020
NOTIFY_UTIME = 0x0040
NOTIFY_CHFLAGS = 0x0080
NOTIFY_TRUNCATE = 0x0100
)