diff options
Diffstat (limited to 'include/net/9p/client.h')
| -rw-r--r-- | include/net/9p/client.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/include/net/9p/client.h b/include/net/9p/client.h index e52f93d9ac5f..c936dd14de41 100644 --- a/include/net/9p/client.h +++ b/include/net/9p/client.h | |||
| @@ -26,6 +26,23 @@ | |||
| 26 | #ifndef NET_9P_CLIENT_H | 26 | #ifndef NET_9P_CLIENT_H |
| 27 | #define NET_9P_CLIENT_H | 27 | #define NET_9P_CLIENT_H |
| 28 | 28 | ||
| 29 | /** | ||
| 30 | * struct p9_client - per client instance state | ||
| 31 | * @lock: protect @fidlist | ||
| 32 | * @msize: maximum data size negotiated by protocol | ||
| 33 | * @dotu: extension flags negotiated by protocol | ||
| 34 | * @trans_mod: module API instantiated with this client | ||
| 35 | * @trans: tranport instance state and API | ||
| 36 | * @conn: connection state information used by trans_fd | ||
| 37 | * @fidpool: fid handle accounting for session | ||
| 38 | * @fidlist: List of active fid handles | ||
| 39 | * | ||
| 40 | * The client structure is used to keep track of various per-client | ||
| 41 | * state that has been instantiated. | ||
| 42 | * | ||
| 43 | * Bugs: duplicated data and potentially unnecessary elements. | ||
| 44 | */ | ||
| 45 | |||
| 29 | struct p9_client { | 46 | struct p9_client { |
| 30 | spinlock_t lock; /* protect client structure */ | 47 | spinlock_t lock; /* protect client structure */ |
| 31 | int msize; | 48 | int msize; |
| @@ -38,6 +55,24 @@ struct p9_client { | |||
| 38 | struct list_head fidlist; | 55 | struct list_head fidlist; |
| 39 | }; | 56 | }; |
| 40 | 57 | ||
| 58 | /** | ||
| 59 | * struct p9_fid - file system entity handle | ||
| 60 | * @clnt: back pointer to instantiating &p9_client | ||
| 61 | * @fid: numeric identifier for this handle | ||
| 62 | * @mode: current mode of this fid (enum?) | ||
| 63 | * @qid: the &p9_qid server identifier this handle points to | ||
| 64 | * @iounit: the server reported maximum transaction size for this file | ||
| 65 | * @uid: the numeric uid of the local user who owns this handle | ||
| 66 | * @aux: transport specific information (unused?) | ||
| 67 | * @rdir_fpos: tracks offset of file position when reading directory contents | ||
| 68 | * @rdir_pos: (unused?) | ||
| 69 | * @rdir_fcall: holds response of last directory read request | ||
| 70 | * @flist: per-client-instance fid tracking | ||
| 71 | * @dlist: per-dentry fid tracking | ||
| 72 | * | ||
| 73 | * TODO: This needs lots of explanation. | ||
| 74 | */ | ||
| 75 | |||
| 41 | struct p9_fid { | 76 | struct p9_fid { |
| 42 | struct p9_client *clnt; | 77 | struct p9_client *clnt; |
| 43 | u32 fid; | 78 | u32 fid; |
