1package fuse
2
3import "time"
4
5type attr struct {
6	Ino       uint64
7	Size      uint64
8	Blocks    uint64
9	Atime     uint64
10	Mtime     uint64
11	Ctime     uint64
12	AtimeNsec uint32
13	MtimeNsec uint32
14	CtimeNsec uint32
15	Mode      uint32
16	Nlink     uint32
17	Uid       uint32
18	Gid       uint32
19	Rdev      uint32
20	Blksize   uint32
21	padding   uint32
22}
23
24func (a *attr) Crtime() time.Time {
25	return time.Time{}
26}
27
28func (a *attr) SetCrtime(s uint64, ns uint32) {
29	// Ignored on Linux.
30}
31
32func (a *attr) SetFlags(f uint32) {
33	// Ignored on Linux.
34}
35
36type setattrIn struct {
37	setattrInCommon
38}
39
40func (in *setattrIn) BkupTime() time.Time {
41	return time.Time{}
42}
43
44func (in *setattrIn) Chgtime() time.Time {
45	return time.Time{}
46}
47
48func (in *setattrIn) Flags() uint32 {
49	return 0
50}
51
52func openFlags(flags uint32) OpenFlags {
53	// on amd64, the 32-bit O_LARGEFILE flag is always seen;
54	// on i386, the flag probably depends on the app
55	// requesting, but in any case should be utterly
56	// uninteresting to us here; our kernel protocol messages
57	// are not directly related to the client app's kernel
58	// API/ABI
59	flags &^= 0x8000
60
61	return OpenFlags(flags)
62}
63
64type getxattrIn struct {
65	getxattrInCommon
66}
67
68type setxattrIn struct {
69	setxattrInCommon
70}
71