summaryrefslogtreecommitdiff
path: root/lib9p/idl/1995-9P1.9p.wip
blob: 2812cdaac5d2d9b81d6c34d957a4b91eb7427d62 (plain)
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
# lib9p/idl/1995-9P1.9p - Definitions of 9P1 (Plan 9 2nd ed and 3rd ed) messages
#
# Copyright (C) 2024-2025  Luke T. Shumaker <lukeshu@lukeshu.com>
# SPDX-License-Identifier: AGPL-3.0-or-later

# https://man.cat-v.org/plan_9_2nd_ed/5/
# https://man.cat-v.org/plan_9_3rd_ed/5/
version "9P1"

# tag - identify a request/response pair
num tag = 2

# file identifier - like a UNIX file-descriptor
num fid = 2

# uni"Q"ue "ID"entification
struct qid = "path[4] version[4]"

# a nul-padded string
struct name = 28*(txt[1])

msg Tnop      = "typ[1,val=50] tag[tag,val=0xFFFF]"
msg Rnop      = "typ[1,val=51] tag[tag,val=0xFFFF]"
#msg Tosession = "typ[1,val=52] illegal"
#msg Rosession = "typ[1,val=53] illegal"
#msg Terror    = "typ[1,val=54] illegal"
msg Rerror    = "typ[1,val=55] tag[tag] ename[64]"
msg Tflush    = "typ[1,val=56] tag[tag] oldtag[tag]"
msg Rflush    = "typ[1,val=57] tag[tag]"
#msg Toattach  = "typ[1,val=58] illegal"
#msg Roattach  = "typ[1,val=59] illegal"
msg Tclone    = "typ[1,val=60] tag[tag] fid[fid] newfid[fid]"
msg Rclone    = "typ[1,val=61] tag[tag] fid[fid]"
msg Twalk     = "typ[1,val=62] tag[tag] fid[fid] name[28]"
msg Rwalk     = "typ[1,val=63] tag[tag] fid[fid] qid[8]"
msg Topen     = "typ[1,val=64] tag[tag] fid[fid] mode[1]"
msg Ropen     = "typ[1,val=65] tag[tag] fid[fid] qid[8]"
msg Tcreate   = "typ[1,val=66] tag[tag] fid[fid] name[28] perm[4] mode[1]"
msg Rcreate   = "typ[1,val=67] tag[tag] fid[fid] qid[8]"
msg Tread     = "typ[1,val=68] tag[tag] fid[fid] offset[8,max=s64_max] count[2,max=8192]"
msg Rread     = "typ[1,val=69] tag[tag] fid[fid] count[2,max=8192] pad[1] count*(data[1])"
msg Twrite    = "typ[1,val=70] tag[tag] fid[fid] offset[8] count[2,max=8192] pad[1] count*(data[1])"
msg Rwrite    = "typ[1,val=71] tag[tag] fid[fid] count[2,max=8192]"
msg Tclunk    = "typ[1,val=72] tag[tag] fid[fid]"
msg Rclunk    = "typ[1,val=73] tag[tag] fid[fid]"
msg Tremove   = "typ[1,val=74] tag[tag] fid[fid]"
msg Rremove   = "typ[1,val=75] tag[tag] fid[fid]"
msg Tstat     = "typ[1,val=76] tag[tag] fid[fid]"
msg Rstat     = "typ[1,val=77] tag[tag] fid[fid] stat[116]"
msg Twstat    = "typ[1,val=78] tag[tag] fid[fid] stat[116]"
msg Rwstat    = "typ[1,val=79] tag[tag] fid[fid]"
msg Tclwalk   = "typ[1,val=80] tag[tag] fid[fid] newfid[fid] name[28]"
msg Rclwalk   = "typ[1,val=81] tag[tag] fid[fid] qid[8]"
#msg Toauth    = typ[1,val=82] illegal"
#msg Roauth    = typ[1,val=83] illegal"
msg Tsession  = "typ[1,val=84] tag[tag,val=0xFFFF] chal[8]"
msg Rsession  = "typ[1,val=85] tag[tag,val=0xFFFF] chal[8] authid[28] authdom[48]"
msg Tattach   = "typ[1,val=86] tag[tag] fid[fid] uid[28] aname[28] ticket[72] auth[13]"
msg Rattach   = "typ[1,val=87] tag[tag] fid[fid] qid[8] rauth[13]"