Blame


1 64abb42a 2018-04-10 noreply package ufs
2 64abb42a 2018-04-10 noreply
3 64abb42a 2018-04-10 noreply import (
4 64abb42a 2018-04-10 noreply "os"
5 64abb42a 2018-04-10 noreply "syscall"
6 64abb42a 2018-04-10 noreply
7 c55b00ed 2021-12-31 op p9p "git.omarpolo.com/go-p9p"
8 64abb42a 2018-04-10 noreply )
9 64abb42a 2018-04-10 noreply
10 64abb42a 2018-04-10 noreply func dirFromInfo(info os.FileInfo) p9p.Dir {
11 64abb42a 2018-04-10 noreply dir := p9p.Dir{}
12 64abb42a 2018-04-10 noreply
13 64abb42a 2018-04-10 noreply dir.Qid.Path = info.Sys().(*syscall.Stat_t).Ino
14 64abb42a 2018-04-10 noreply dir.Qid.Version = uint32(info.ModTime().UnixNano() / 1000000)
15 64abb42a 2018-04-10 noreply
16 64abb42a 2018-04-10 noreply dir.Name = info.Name()
17 64abb42a 2018-04-10 noreply dir.Mode = uint32(info.Mode() & 0777)
18 64abb42a 2018-04-10 noreply dir.Length = uint64(info.Size())
19 64abb42a 2018-04-10 noreply dir.AccessTime = atime(info.Sys().(*syscall.Stat_t))
20 64abb42a 2018-04-10 noreply dir.ModTime = info.ModTime()
21 64abb42a 2018-04-10 noreply dir.MUID = "none"
22 64abb42a 2018-04-10 noreply
23 64abb42a 2018-04-10 noreply if info.IsDir() {
24 64abb42a 2018-04-10 noreply dir.Qid.Type |= p9p.QTDIR
25 64abb42a 2018-04-10 noreply dir.Mode |= p9p.DMDIR
26 64abb42a 2018-04-10 noreply }
27 64abb42a 2018-04-10 noreply
28 64abb42a 2018-04-10 noreply return dir
29 64abb42a 2018-04-10 noreply }
30 64abb42a 2018-04-10 noreply
31 64abb42a 2018-04-10 noreply func oflags(mode p9p.Flag) int {
32 64abb42a 2018-04-10 noreply flags := 0
33 64abb42a 2018-04-10 noreply
34 64abb42a 2018-04-10 noreply switch mode & 3 {
35 64abb42a 2018-04-10 noreply case p9p.OREAD:
36 64abb42a 2018-04-10 noreply flags = os.O_RDONLY
37 64abb42a 2018-04-10 noreply break
38 64abb42a 2018-04-10 noreply
39 64abb42a 2018-04-10 noreply case p9p.ORDWR:
40 64abb42a 2018-04-10 noreply flags = os.O_RDWR
41 64abb42a 2018-04-10 noreply break
42 64abb42a 2018-04-10 noreply
43 64abb42a 2018-04-10 noreply case p9p.OWRITE:
44 64abb42a 2018-04-10 noreply flags = os.O_WRONLY
45 64abb42a 2018-04-10 noreply break
46 64abb42a 2018-04-10 noreply
47 64abb42a 2018-04-10 noreply case p9p.OEXEC:
48 64abb42a 2018-04-10 noreply flags = os.O_RDONLY
49 64abb42a 2018-04-10 noreply break
50 64abb42a 2018-04-10 noreply }
51 64abb42a 2018-04-10 noreply
52 64abb42a 2018-04-10 noreply if mode&p9p.OTRUNC != 0 {
53 64abb42a 2018-04-10 noreply flags |= os.O_TRUNC
54 64abb42a 2018-04-10 noreply }
55 64abb42a 2018-04-10 noreply
56 64abb42a 2018-04-10 noreply return flags
57 64abb42a 2018-04-10 noreply }