summaryrefslogtreecommitdiffstats
path: root/include/net/9p
diff options
context:
space:
mode:
authorEric Van Hensbergen <ericvh@gmail.com>2008-10-13 20:40:27 -0500
committerEric Van Hensbergen <ericvh@gmail.com>2008-10-17 11:04:44 -0500
commitace51c4dd2f968f427c4627023759ae7e3786cba (patch)
tree5d3b82a8a3deb4496a40a2440305c5ace145c5c7 /include/net/9p
parent6936bf60d2c407449c09e3f28ec0301e1f937106 (diff)
downloadop-kernel-dev-ace51c4dd2f968f427c4627023759ae7e3786cba.zip
op-kernel-dev-ace51c4dd2f968f427c4627023759ae7e3786cba.tar.gz
9p: add new protocol support code
This adds a new protocol processing support code based on Anthony Liguori's 9p library code. This code performs protocol marshalling/unmarshalling using printf like strings to represent protocol elements. It is my intent to use them to replace the current functions in conv.c as well as the p9_create_* functions. This should make the client implementation much more clear, and also make it much easier to add new protocol extensions by limiting the number of places in which changes need to be made. Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'include/net/9p')
-rw-r--r--include/net/9p/9p.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/net/9p/9p.h b/include/net/9p/9p.h
index fb163e2..f9e2526 100644
--- a/include/net/9p/9p.h
+++ b/include/net/9p/9p.h
@@ -509,6 +509,8 @@ struct p9_rwstat {
* @size: prefixed length of the structure
* @id: protocol operating identifier of type &p9_msg_t
* @tag: transaction id of the request
+ * @offset: used by marshalling routines to track currentposition in buffer
+ * @capacity: used by marshalling routines to track total capacity
* @sdata: payload
* @params: per-operation parameters
*
@@ -523,7 +525,11 @@ struct p9_fcall {
u32 size;
u8 id;
u16 tag;
- void *sdata;
+
+ size_t offset;
+ size_t capacity;
+
+ uint8_t *sdata;
union {
struct p9_tversion tversion;
OpenPOWER on IntegriCloud