aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2005-09-13 01:34:18 +0000
committerrsc <devnull@localhost>2005-09-13 01:34:18 +0000
commitb7eed2e0e14b980bed4ced80a357189a981d28bc (patch)
tree1158bbb9da39d9e2cbd15fd4fa9e636a5826002f /include
parent5c7644e080c4d376d6aeb7990e0e23ca1c02aab6 (diff)
downloadplan9port-b7eed2e0e14b980bed4ced80a357189a981d28bc.tar.gz
plan9port-b7eed2e0e14b980bed4ced80a357189a981d28bc.tar.bz2
plan9port-b7eed2e0e14b980bed4ced80a357189a981d28bc.zip
Add 9P2000.u functions
Diffstat (limited to 'include')
-rw-r--r--include/fcall.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/include/fcall.h b/include/fcall.h
index 893b0504..6f46487f 100644
--- a/include/fcall.h
+++ b/include/fcall.h
@@ -34,13 +34,16 @@ struct Fcall
ushort nwname; /* Twalk */
char *wname[MAXWELEM]; /* Twalk */
ushort nwqid; /* Rwalk */
- Qid wqid[MAXWELEM]; /* Rwalk */
+ Qid wqid[MAXWELEM]; /* Rwalk */
vlong offset; /* Tread, Twrite */
u32int count; /* Tread, Twrite, Rread */
char *data; /* Twrite, Rread */
ushort nstat; /* Twstat, Rstat */
uchar *stat; /* Twstat, Rstat */
int unixfd; /* Ropenfd */
+
+ /* 9P2000.u extensions */
+ int errornum; /* Rerror */
} Fcall;
@@ -65,6 +68,7 @@ struct Fcall
/* STATFIXLEN includes leading 16-bit count */
/* The count, however, excludes itself; total size is BIT16SZ+count */
#define STATFIXLEN (BIT16SZ+QIDSZ+5*BIT16SZ+4*BIT32SZ+1*BIT64SZ) /* amount of fixed length data in a stat buffer */
+#define STATFIXLENU (STATFIXLEN+BIT16SZ+3*BIT32SZ) /* for 9P2000.u */
#define NOTAG (ushort)~0U /* Dummy tag */
#define NOFID (u32int)~0U /* Dummy fid */
@@ -115,6 +119,15 @@ uint convM2D(uchar*, uint, Dir*, char*);
uint convD2M(Dir*, uchar*, uint);
uint sizeD2M(Dir*);
+uint convM2Su(uchar*, uint, Fcall*, int);
+uint convS2Mu(Fcall*, uchar*, uint, int);
+uint sizeS2Mu(Fcall*, int);
+
+int statchecku(uchar *abuf, uint nbuf, int);
+uint convM2Du(uchar*, uint, Dir*, char*, int);
+uint convD2Mu(Dir*, uchar*, uint, int);
+uint sizeD2Mu(Dir*, int);
+
int fcallfmt(Fmt*);
int dirfmt(Fmt*);
int dirmodefmt(Fmt*);