diff options
author | Luke T. Shumaker <lukeshu@lukeshu.com> | 2025-01-14 20:14:46 -0700 |
---|---|---|
committer | Luke T. Shumaker <lukeshu@lukeshu.com> | 2025-01-14 20:14:46 -0700 |
commit | 287e11381634b879dc82b23eacb693a31c52f9ef (patch) | |
tree | 236d11893dafb8f45141fdacc7d6f47cc0aa8529 /lib9p/include | |
parent | f7c75fe0113cdbd3e13b4e22edf76d9456c4b064 (diff) | |
parent | 6e48efec92b3357b2b762d14994d2f812a3b6ef7 (diff) |
Merge branch 'lukeshu/9p-idl-defs'
Diffstat (limited to 'lib9p/include')
-rw-r--r-- | lib9p/include/lib9p/9p.generated.h | 311 | ||||
-rw-r--r-- | lib9p/include/lib9p/9p.h | 5 |
2 files changed, 165 insertions, 151 deletions
diff --git a/lib9p/include/lib9p/9p.generated.h b/lib9p/include/lib9p/9p.generated.h index a6dc13c..3bc77c4 100644 --- a/lib9p/include/lib9p/9p.generated.h +++ b/lib9p/include/lib9p/9p.generated.h @@ -86,8 +86,10 @@ enum lib9p_msg_type { /* uint8_t */ #if CONFIG_9P_ENABLE_9P2000 || CONFIG_9P_ENABLE_9P2000_e || CONFIG_9P_ENABLE_9P2000_u typedef uint16_t lib9p_tag_t; +#define LIB9P_TAG_NOTAG ((lib9p_tag_t)UINT16_C(~0)) typedef uint32_t lib9p_fid_t; +#define LIB9P_FID_NOFID ((lib9p_fid_t)UINT32_C(~0)) struct lib9p_d { uint32_t len; @@ -155,32 +157,13 @@ typedef uint8_t lib9p_qt_t; #define LIB9P_QT_FILE ((lib9p_qt_t)(0)) -struct lib9p_qid { - lib9p_qt_t type; - uint32_t vers; - uint64_t path; -}; - -struct lib9p_stat { - uint16_t kern_type; - uint32_t kern_dev; - struct lib9p_qid file_qid; - lib9p_dm_t file_mode; - uint32_t file_atime; - uint32_t file_mtime; - uint64_t file_size; - struct lib9p_s file_name; - struct lib9p_s file_owner_uid; - struct lib9p_s file_owner_gid; - struct lib9p_s file_last_modified_uid; +#endif /* CONFIG_9P_ENABLE_9P2000 || CONFIG_9P_ENABLE_9P2000_e || CONFIG_9P_ENABLE_9P2000_u */ #if CONFIG_9P_ENABLE_9P2000_u - struct lib9p_s file_extension; - uint32_t file_owner_n_uid; - uint32_t file_owner_n_gid; - uint32_t file_last_modified_n_uid; -#endif /* CONFIG_9P_ENABLE_9P2000_u */ -}; +typedef uint32_t lib9p_nuid_t; +#define LIB9P_NUID_NONUID ((lib9p_nuid_t)UINT32_C(~0)) +#endif /* CONFIG_9P_ENABLE_9P2000_u */ +#if CONFIG_9P_ENABLE_9P2000 || CONFIG_9P_ENABLE_9P2000_e || CONFIG_9P_ENABLE_9P2000_u typedef uint8_t lib9p_o_t; /* unused ((lib9p_o_t)(1<<7)) */ @@ -199,201 +182,237 @@ typedef uint8_t lib9p_o_t; #define LIB9P_O_MODE_MASK ((lib9p_o_t)(0b00000011)) #define LIB9P_O_FLAG_MASK ((lib9p_o_t)(0b11111100)) -struct lib9p_msg_Tversion { - lib9p_tag_t tag; - uint32_t max_msg_size; - struct lib9p_s version; +struct lib9p_msg_Tflush { + lib9p_tag_t tag; + uint16_t oldtag; }; -struct lib9p_msg_Rversion { - lib9p_tag_t tag; - uint32_t max_msg_size; - struct lib9p_s version; +struct lib9p_msg_Rflush { + lib9p_tag_t tag; }; -struct lib9p_msg_Tauth { - lib9p_tag_t tag; - lib9p_fid_t afid; - struct lib9p_s uname; - struct lib9p_s aname; -#if CONFIG_9P_ENABLE_9P2000_u - uint32_t n_uname; -#endif /* CONFIG_9P_ENABLE_9P2000_u */ +struct lib9p_msg_Rwrite { + lib9p_tag_t tag; + uint32_t count; }; -struct lib9p_msg_Rauth { - lib9p_tag_t tag; - struct lib9p_qid aqid; +struct lib9p_msg_Rclunk { + lib9p_tag_t tag; }; -struct lib9p_msg_Tattach { - lib9p_tag_t tag; - lib9p_fid_t fid; - lib9p_fid_t afid; - struct lib9p_s uname; - struct lib9p_s aname; -#if CONFIG_9P_ENABLE_9P2000_u - uint32_t n_uname; -#endif /* CONFIG_9P_ENABLE_9P2000_u */ +struct lib9p_msg_Rremove { + lib9p_tag_t tag; }; -struct lib9p_msg_Rattach { - lib9p_tag_t tag; - struct lib9p_qid qid; +struct lib9p_msg_Rwstat { + lib9p_tag_t tag; }; -struct lib9p_msg_Rerror { - lib9p_tag_t tag; - struct lib9p_s ename; -#if CONFIG_9P_ENABLE_9P2000_u - uint32_t errno; -#endif /* CONFIG_9P_ENABLE_9P2000_u */ +#endif /* CONFIG_9P_ENABLE_9P2000 || CONFIG_9P_ENABLE_9P2000_e || CONFIG_9P_ENABLE_9P2000_u */ +#if CONFIG_9P_ENABLE_9P2000_e +struct lib9p_msg_Tsession { + lib9p_tag_t tag; + uint64_t key; }; -struct lib9p_msg_Tflush { +struct lib9p_msg_Rsession { lib9p_tag_t tag; - uint16_t oldtag; }; -struct lib9p_msg_Rflush { +struct lib9p_msg_Rswrite { lib9p_tag_t tag; + uint32_t count; }; -struct lib9p_msg_Twalk { - lib9p_tag_t tag; - lib9p_fid_t fid; - lib9p_fid_t newfid; - uint16_t nwname; - struct lib9p_s *wname; +#endif /* CONFIG_9P_ENABLE_9P2000_e */ +#if CONFIG_9P_ENABLE_9P2000 || CONFIG_9P_ENABLE_9P2000_e || CONFIG_9P_ENABLE_9P2000_u +struct lib9p_msg_Tread { + lib9p_tag_t tag; + lib9p_fid_t fid; + uint64_t offset; + uint32_t count; }; -struct lib9p_msg_Rwalk { - lib9p_tag_t tag; - uint16_t nwqid; - struct lib9p_qid *wqid; +struct lib9p_msg_Tclunk { + lib9p_tag_t tag; + lib9p_fid_t fid; }; -struct lib9p_msg_Topen { +struct lib9p_msg_Tremove { lib9p_tag_t tag; lib9p_fid_t fid; - lib9p_o_t mode; }; -struct lib9p_msg_Ropen { - lib9p_tag_t tag; - struct lib9p_qid qid; - uint32_t iounit; +struct lib9p_msg_Tstat { + lib9p_tag_t tag; + lib9p_fid_t fid; }; -struct lib9p_msg_Tcreate { +struct lib9p_msg_Rread { + lib9p_tag_t tag; + struct lib9p_d data; +}; + +struct lib9p_msg_Twrite { lib9p_tag_t tag; lib9p_fid_t fid; - struct lib9p_s name; - lib9p_dm_t perm; - lib9p_o_t mode; + uint64_t offset; + struct lib9p_d data; }; -struct lib9p_msg_Rcreate { - lib9p_tag_t tag; - struct lib9p_qid qid; - uint32_t iounit; +#endif /* CONFIG_9P_ENABLE_9P2000 || CONFIG_9P_ENABLE_9P2000_e || CONFIG_9P_ENABLE_9P2000_u */ +#if CONFIG_9P_ENABLE_9P2000_e +struct lib9p_msg_Rsread { + lib9p_tag_t tag; + struct lib9p_d data; }; -struct lib9p_msg_Tread { - lib9p_tag_t tag; - lib9p_fid_t fid; - uint64_t offset; - uint32_t count; +#endif /* CONFIG_9P_ENABLE_9P2000_e */ +#if CONFIG_9P_ENABLE_9P2000 || CONFIG_9P_ENABLE_9P2000_e || CONFIG_9P_ENABLE_9P2000_u +struct lib9p_msg_Tversion { + lib9p_tag_t tag; + uint32_t max_msg_size; + struct lib9p_s version; }; -struct lib9p_msg_Rread { +struct lib9p_msg_Rversion { lib9p_tag_t tag; - struct lib9p_d data; + uint32_t max_msg_size; + struct lib9p_s version; }; -struct lib9p_msg_Twrite { +struct lib9p_msg_Rerror { + lib9p_tag_t tag; + struct lib9p_s ename; +#if CONFIG_9P_ENABLE_9P2000_u + uint32_t errno; +#endif /* CONFIG_9P_ENABLE_9P2000_u */ +}; + +struct lib9p_msg_Twalk { lib9p_tag_t tag; lib9p_fid_t fid; - uint64_t offset; - struct lib9p_d data; + lib9p_fid_t newfid; + uint16_t nwname; + struct lib9p_s *wname; }; -struct lib9p_msg_Rwrite { - lib9p_tag_t tag; - uint32_t count; +#endif /* CONFIG_9P_ENABLE_9P2000 || CONFIG_9P_ENABLE_9P2000_e || CONFIG_9P_ENABLE_9P2000_u */ +#if CONFIG_9P_ENABLE_9P2000_e +struct lib9p_msg_Tsread { + lib9p_tag_t tag; + uint32_t fid; + uint16_t nwname; + struct lib9p_s *wname; }; -struct lib9p_msg_Tclunk { - lib9p_tag_t tag; - lib9p_fid_t fid; +struct lib9p_msg_Tswrite { + lib9p_tag_t tag; + uint32_t fid; + uint16_t nwname; + struct lib9p_s *wname; + struct lib9p_d data; }; -struct lib9p_msg_Rclunk { - lib9p_tag_t tag; +#endif /* CONFIG_9P_ENABLE_9P2000_e */ +#if CONFIG_9P_ENABLE_9P2000 || CONFIG_9P_ENABLE_9P2000_e || CONFIG_9P_ENABLE_9P2000_u +struct lib9p_qid { + lib9p_qt_t type; + uint32_t vers; + uint64_t path; }; -struct lib9p_msg_Tremove { - lib9p_tag_t tag; - lib9p_fid_t fid; +struct lib9p_msg_Tauth { + lib9p_tag_t tag; + lib9p_fid_t afid; + struct lib9p_s uname; + struct lib9p_s aname; +#if CONFIG_9P_ENABLE_9P2000_u + lib9p_nuid_t n_uid; +#endif /* CONFIG_9P_ENABLE_9P2000_u */ }; -struct lib9p_msg_Rremove { - lib9p_tag_t tag; +struct lib9p_msg_Tattach { + lib9p_tag_t tag; + lib9p_fid_t fid; + lib9p_fid_t afid; + struct lib9p_s uname; + struct lib9p_s aname; +#if CONFIG_9P_ENABLE_9P2000_u + lib9p_nuid_t n_uid; +#endif /* CONFIG_9P_ENABLE_9P2000_u */ }; -struct lib9p_msg_Tstat { +struct lib9p_msg_Topen { lib9p_tag_t tag; lib9p_fid_t fid; + lib9p_o_t mode; }; -struct lib9p_msg_Rstat { - lib9p_tag_t tag; - struct lib9p_stat stat; +struct lib9p_msg_Tcreate { + lib9p_tag_t tag; + lib9p_fid_t fid; + struct lib9p_s name; + lib9p_dm_t perm; + lib9p_o_t mode; }; -struct lib9p_msg_Twstat { - lib9p_tag_t tag; - lib9p_fid_t fid; - struct lib9p_stat stat; +struct lib9p_stat { + uint16_t kern_type; + uint32_t kern_dev; + struct lib9p_qid file_qid; + lib9p_dm_t file_mode; + uint32_t file_atime; + uint32_t file_mtime; + uint64_t file_size; + struct lib9p_s file_name; + struct lib9p_s file_owner_uid; + struct lib9p_s file_owner_gid; + struct lib9p_s file_last_modified_uid; +#if CONFIG_9P_ENABLE_9P2000_u + struct lib9p_s file_extension; + lib9p_nuid_t file_owner_n_uid; + lib9p_nuid_t file_owner_n_gid; + lib9p_nuid_t file_last_modified_n_uid; +#endif /* CONFIG_9P_ENABLE_9P2000_u */ }; -struct lib9p_msg_Rwstat { - lib9p_tag_t tag; +struct lib9p_msg_Rauth { + lib9p_tag_t tag; + struct lib9p_qid aqid; }; -#endif /* CONFIG_9P_ENABLE_9P2000 || CONFIG_9P_ENABLE_9P2000_e || CONFIG_9P_ENABLE_9P2000_u */ -#if CONFIG_9P_ENABLE_9P2000_e -struct lib9p_msg_Tsession { - lib9p_tag_t tag; - uint64_t key; +struct lib9p_msg_Rattach { + lib9p_tag_t tag; + struct lib9p_qid qid; }; -struct lib9p_msg_Rsession { - lib9p_tag_t tag; +struct lib9p_msg_Rwalk { + lib9p_tag_t tag; + uint16_t nwqid; + struct lib9p_qid *wqid; }; -struct lib9p_msg_Tsread { - lib9p_tag_t tag; - uint32_t fid; - uint16_t nwname; - struct lib9p_s *wname; +struct lib9p_msg_Ropen { + lib9p_tag_t tag; + struct lib9p_qid qid; + uint32_t iounit; }; -struct lib9p_msg_Rsread { - lib9p_tag_t tag; - struct lib9p_d data; +struct lib9p_msg_Rcreate { + lib9p_tag_t tag; + struct lib9p_qid qid; + uint32_t iounit; }; -struct lib9p_msg_Tswrite { - lib9p_tag_t tag; - uint32_t fid; - uint16_t nwname; - struct lib9p_s *wname; - struct lib9p_d data; +struct lib9p_msg_Rstat { + lib9p_tag_t tag; + struct lib9p_stat stat; }; -struct lib9p_msg_Rswrite { - lib9p_tag_t tag; - uint32_t count; +struct lib9p_msg_Twstat { + lib9p_tag_t tag; + lib9p_fid_t fid; + struct lib9p_stat stat; }; -#endif /* CONFIG_9P_ENABLE_9P2000_e */ +#endif /* CONFIG_9P_ENABLE_9P2000 || CONFIG_9P_ENABLE_9P2000_e || CONFIG_9P_ENABLE_9P2000_u */ diff --git a/lib9p/include/lib9p/9p.h b/lib9p/include/lib9p/9p.h index 72a8292..21c10e0 100644 --- a/lib9p/include/lib9p/9p.h +++ b/lib9p/include/lib9p/9p.h @@ -19,11 +19,6 @@ #error config.h must define CONFIG_9P_MAX_ERR_SIZE #endif -/******************************************************************************/ - -#define LIB9P_NOTAG ((uint16_t)~0U) -#define LIB9P_NOFID ((uint32_t)~0U) - /* ctx ************************************************************************/ struct lib9p_ctx { |