aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/9p
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/9p')
-rw-r--r--include/net/9p/9p.h44
-rw-r--r--include/net/9p/client.h3
2 files changed, 47 insertions, 0 deletions
diff --git a/include/net/9p/9p.h b/include/net/9p/9p.h
index f1b0b310265d..ab12e1c9cc7e 100644
--- a/include/net/9p/9p.h
+++ b/include/net/9p/9p.h
@@ -133,6 +133,8 @@ enum p9_msg_t {
133 P9_RSTATFS, 133 P9_RSTATFS,
134 P9_TRENAME = 20, 134 P9_TRENAME = 20,
135 P9_RRENAME, 135 P9_RRENAME,
136 P9_TGETATTR = 24,
137 P9_RGETATTR,
136 P9_TREADDIR = 40, 138 P9_TREADDIR = 40,
137 P9_RREADDIR, 139 P9_RREADDIR,
138 P9_TVERSION = 100, 140 P9_TVERSION = 100,
@@ -362,6 +364,48 @@ struct p9_wstat {
362 u32 n_muid; /* 9p2000.u extensions */ 364 u32 n_muid; /* 9p2000.u extensions */
363}; 365};
364 366
367struct p9_stat_dotl {
368 u64 st_result_mask;
369 struct p9_qid qid;
370 u32 st_mode;
371 u32 st_uid;
372 u32 st_gid;
373 u64 st_nlink;
374 u64 st_rdev;
375 u64 st_size;
376 u64 st_blksize;
377 u64 st_blocks;
378 u64 st_atime_sec;
379 u64 st_atime_nsec;
380 u64 st_mtime_sec;
381 u64 st_mtime_nsec;
382 u64 st_ctime_sec;
383 u64 st_ctime_nsec;
384 u64 st_btime_sec;
385 u64 st_btime_nsec;
386 u64 st_gen;
387 u64 st_data_version;
388};
389
390#define P9_STATS_MODE 0x00000001ULL
391#define P9_STATS_NLINK 0x00000002ULL
392#define P9_STATS_UID 0x00000004ULL
393#define P9_STATS_GID 0x00000008ULL
394#define P9_STATS_RDEV 0x00000010ULL
395#define P9_STATS_ATIME 0x00000020ULL
396#define P9_STATS_MTIME 0x00000040ULL
397#define P9_STATS_CTIME 0x00000080ULL
398#define P9_STATS_INO 0x00000100ULL
399#define P9_STATS_SIZE 0x00000200ULL
400#define P9_STATS_BLOCKS 0x00000400ULL
401
402#define P9_STATS_BTIME 0x00000800ULL
403#define P9_STATS_GEN 0x00001000ULL
404#define P9_STATS_DATA_VERSION 0x00002000ULL
405
406#define P9_STATS_BASIC 0x000007ffULL /* Mask for fields up to BLOCKS */
407#define P9_STATS_ALL 0x00003fffULL /* Mask for All fields above */
408
365/* Structures for Protocol Operations */ 409/* Structures for Protocol Operations */
366struct p9_tstatfs { 410struct p9_tstatfs {
367 u32 fid; 411 u32 fid;
diff --git a/include/net/9p/client.h b/include/net/9p/client.h
index 2ec93685e6db..6462eec435bc 100644
--- a/include/net/9p/client.h
+++ b/include/net/9p/client.h
@@ -238,6 +238,9 @@ int p9dirent_read(char *buf, int len, struct p9_dirent *dirent,
238struct p9_wstat *p9_client_stat(struct p9_fid *fid); 238struct p9_wstat *p9_client_stat(struct p9_fid *fid);
239int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst); 239int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst);
240 240
241struct p9_stat_dotl *p9_client_getattr_dotl(struct p9_fid *fid,
242 u64 request_mask);
243
241struct p9_req_t *p9_tag_lookup(struct p9_client *, u16); 244struct p9_req_t *p9_tag_lookup(struct p9_client *, u16);
242void p9_client_cb(struct p9_client *c, struct p9_req_t *req); 245void p9_client_cb(struct p9_client *c, struct p9_req_t *req);
243 246