aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/bazil.org/fuse/fuse_kernel_linux.go
blob: d3ba866178020fedffac6bf2b6f116fb9c8ed17f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package fuse

import "time"

type attr struct {
    Ino       uint64
    Size      uint64
    Blocks    uint64
    Atime     uint64
    Mtime     uint64
    Ctime     uint64
    AtimeNsec uint32
    MtimeNsec uint32
    CtimeNsec uint32
    Mode      uint32
    Nlink     uint32
    Uid       uint32
    Gid       uint32
    Rdev      uint32
    Blksize   uint32
    padding   uint32
}

func (a *attr) Crtime() time.Time {
    return time.Time{}
}

func (a *attr) SetCrtime(s uint64, ns uint32) {
    // Ignored on Linux.
}

func (a *attr) SetFlags(f uint32) {
    // Ignored on Linux.
}

type setattrIn struct {
    setattrInCommon
}

func (in *setattrIn) BkupTime() time.Time {
    return time.Time{}
}

func (in *setattrIn) Chgtime() time.Time {
    return time.Time{}
}

func (in *setattrIn) Flags() uint32 {
    return 0
}

func openFlags(flags uint32) OpenFlags {
    // on amd64, the 32-bit O_LARGEFILE flag is always seen;
    // on i386, the flag probably depends on the app
    // requesting, but in any case should be utterly
    // uninteresting to us here; our kernel protocol messages
    // are not directly related to the client app's kernel
    // API/ABI
    flags &^= 0x8000

    return OpenFlags(flags)
}

type getxattrIn struct {
    getxattrInCommon
}

type setxattrIn struct {
    setxattrInCommon
}