|
|
|
@ -94,10 +94,10 @@ enum { |
|
|
|
P9_QTFILE = 0x00, |
|
|
|
}; |
|
|
|
|
|
|
|
enum p9_proto_version { |
|
|
|
typedef enum P9ProtoVersion { |
|
|
|
V9FS_PROTO_2000U = 0x01, |
|
|
|
V9FS_PROTO_2000L = 0x02, |
|
|
|
}; |
|
|
|
} P9ProtoVersion; |
|
|
|
|
|
|
|
#define P9_NOTAG UINT16_MAX |
|
|
|
#define P9_NOFID UINT32_MAX |
|
|
|
@ -118,6 +118,7 @@ static inline char *rpath(FsContext *ctx, const char *path) |
|
|
|
|
|
|
|
typedef struct V9fsPDU V9fsPDU; |
|
|
|
typedef struct V9fsState V9fsState; |
|
|
|
typedef struct V9fsTransport V9fsTransport; |
|
|
|
|
|
|
|
typedef struct { |
|
|
|
uint32_t size_le; |
|
|
|
@ -238,10 +239,10 @@ struct V9fsState |
|
|
|
FileOperations *ops; |
|
|
|
FsContext ctx; |
|
|
|
char *tag; |
|
|
|
enum p9_proto_version proto_version; |
|
|
|
P9ProtoVersion proto_version; |
|
|
|
int32_t msize; |
|
|
|
V9fsPDU pdus[MAX_REQ]; |
|
|
|
const struct V9fsTransport *transport; |
|
|
|
const V9fsTransport *transport; |
|
|
|
/*
|
|
|
|
* lock ensuring atomic path update |
|
|
|
* on rename. |
|
|
|
@ -367,8 +368,7 @@ struct V9fsTransport { |
|
|
|
void (*push_and_notify)(V9fsPDU *pdu); |
|
|
|
}; |
|
|
|
|
|
|
|
static inline int v9fs_register_transport(V9fsState *s, |
|
|
|
const struct V9fsTransport *t) |
|
|
|
static inline int v9fs_register_transport(V9fsState *s, const V9fsTransport *t) |
|
|
|
{ |
|
|
|
assert(!s->transport); |
|
|
|
s->transport = t; |
|
|
|
|