Blame


1 be123ad0 2021-08-02 op # constants
2 be123ad0 2021-08-02 op
3 be123ad0 2021-08-02 op const notag = -1:u16
4 be123ad0 2021-08-02 op const msize = 4194304:u32 # 4*1024*1024
5 be123ad0 2021-08-02 op const np2000 = "9P2000"
6 be123ad0 2021-08-02 op
7 be123ad0 2021-08-02 op
8 be123ad0 2021-08-02 op
9 be123ad0 2021-08-02 op # 9p protocol
10 be123ad0 2021-08-02 op
11 f0544688 2021-08-02 op proc version(msize, version) {
12 f0544688 2021-08-02 op send(Tversion, notag, msize:u32, version:str)
13 f0544688 2021-08-02 op }
14 f0544688 2021-08-02 op
15 f0544688 2021-08-02 op proc attach(fid, afid, uname, aname) {
16 78c22ba4 2021-08-05 op send(Tversion, iota(), fid:u32, afid:u32, uname:str, aname:str)
17 f0544688 2021-08-02 op }
18 f0544688 2021-08-02 op
19 f0544688 2021-08-02 op proc walk(fid, newfid, ...) {
20 78c22ba4 2021-08-05 op send(Twalk, iota(), fid:u32, newfid:u32, ...:str)
21 f0544688 2021-08-02 op }
22 f0544688 2021-08-02 op
23 f0544688 2021-08-02 op
24 f0544688 2021-08-02 op
25 be123ad0 2021-08-02 op # useful functions
26 be123ad0 2021-08-02 op
27 f0544688 2021-08-02 op proc mount(fid, path) {
28 f0544688 2021-08-02 op version(msize, np2000)
29 f0544688 2021-08-02 op
30 f0544688 2021-08-02 op m = recv()
31 71a40aa0 2021-08-05 op assert (
32 71a40aa0 2021-08-05 op m.type == Tversion
33 71a40aa0 2021-08-05 op m.tag == notag
34 71a40aa0 2021-08-05 op m.msize == msize
35 71a40aa0 2021-08-05 op m.version == version
36 f0544688 2021-08-02 op )
37 f0544688 2021-08-02 op
38 f0544688 2021-08-02 op attach(fid, nofid, testuser, path)
39 f0544688 2021-08-02 op
40 f0544688 2021-08-02 op m = recv()
41 f0544688 2021-08-02 op assert (
42 f0544688 2021-08-02 op m.type == Rattach
43 f0544688 2021-08-02 op m.qid.type == QTDIR
44 f0544688 2021-08-02 op )
45 f0544688 2021-08-02 op }
46 f0544688 2021-08-02 op
47 f0544688 2021-08-02 op proc should-fail() {
48 f0544688 2021-08-02 op m = recv()
49 f0544688 2021-08-02 op assert m.type == Rerror
50 977482da 2021-08-05 op debug("got expected error", m)
51 f0544688 2021-08-02 op }