|
@@ -29,6 +29,19 @@
|
|
/* Number of requests per row */
|
|
/* Number of requests per row */
|
|
#define P9_ROW_MAXTAG 255
|
|
#define P9_ROW_MAXTAG 255
|
|
|
|
|
|
|
|
+/** enum p9_proto_versions - 9P protocol versions
|
|
|
|
+ * @p9_proto_legacy: 9P Legacy mode, pre-9P2000.u
|
|
|
|
+ * @p9_proto_2000u: 9P2000.u extension
|
|
|
|
+ * @p9_proto_2010L: 9P2010.L extension
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+enum p9_proto_versions{
|
|
|
|
+ p9_proto_legacy = 0,
|
|
|
|
+ p9_proto_2000u = 1,
|
|
|
|
+ p9_proto_2010L = 2,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* enum p9_trans_status - different states of underlying transports
|
|
* enum p9_trans_status - different states of underlying transports
|
|
* @Connected: transport is connected and healthy
|
|
* @Connected: transport is connected and healthy
|
|
@@ -111,6 +124,7 @@ struct p9_req_t {
|
|
* @lock: protect @fidlist
|
|
* @lock: protect @fidlist
|
|
* @msize: maximum data size negotiated by protocol
|
|
* @msize: maximum data size negotiated by protocol
|
|
* @dotu: extension flags negotiated by protocol
|
|
* @dotu: extension flags negotiated by protocol
|
|
|
|
+ * @proto_version: 9P protocol version to use
|
|
* @trans_mod: module API instantiated with this client
|
|
* @trans_mod: module API instantiated with this client
|
|
* @trans: tranport instance state and API
|
|
* @trans: tranport instance state and API
|
|
* @conn: connection state information used by trans_fd
|
|
* @conn: connection state information used by trans_fd
|
|
@@ -138,6 +152,7 @@ struct p9_client {
|
|
spinlock_t lock; /* protect client structure */
|
|
spinlock_t lock; /* protect client structure */
|
|
int msize;
|
|
int msize;
|
|
unsigned char dotu;
|
|
unsigned char dotu;
|
|
|
|
+ unsigned char proto_version;
|
|
struct p9_trans_module *trans_mod;
|
|
struct p9_trans_module *trans_mod;
|
|
enum p9_trans_status status;
|
|
enum p9_trans_status status;
|
|
void *trans;
|
|
void *trans;
|