summaryrefslogtreecommitdiff
path: root/lib9p/include
diff options
context:
space:
mode:
authorLuke T. Shumaker <lukeshu@lukeshu.com>2024-10-02 21:09:07 -0600
committerLuke T. Shumaker <lukeshu@lukeshu.com>2024-10-02 21:09:07 -0600
commit4b8a9d80d37c892695f102a48898fe1beacb593c (patch)
treea8e56c0b91201897f0966256b3b7b1e039d647a6 /lib9p/include
parentba8f3ddba03ab93158c93f77ef98137e1dd6e8e9 (diff)
lib9p: Add the DM bitfield
Diffstat (limited to 'lib9p/include')
-rw-r--r--lib9p/include/lib9p/_types.h38
1 files changed, 36 insertions, 2 deletions
diff --git a/lib9p/include/lib9p/_types.h b/lib9p/include/lib9p/_types.h
index d853cf3..e22404c 100644
--- a/lib9p/include/lib9p/_types.h
+++ b/lib9p/include/lib9p/_types.h
@@ -19,6 +19,40 @@ const char *lib9p_version_str(enum lib9p_version);
/* non-message types **********************************************************/
+typedef uint32_t lib9p_dm_t;
+#define LIB9P_DM_DIR ((lib9p_dm_t)(1<<31))
+#define LIB9P_DM_APPEND ((lib9p_dm_t)(1<<30))
+#define LIB9P_DM_EXCL ((lib9p_dm_t)(1<<29))
+#define _LIB9P_DM_PLAN9_MOUNT ((lib9p_dm_t)(1<<28))
+#define LIB9P_DM_AUTH ((lib9p_dm_t)(1<<27))
+#define LIB9P_DM_TMP ((lib9p_dm_t)(1<<26))
+#define _LIB9P_DM_UNUSED_25 ((lib9p_dm_t)(1<<25))
+#define _LIB9P_DM_UNUSED_24 ((lib9p_dm_t)(1<<24))
+#define LIB9P_DM_DEVICE ((lib9p_dm_t)(1<<23)) /* 9P2000.u */
+#define _LIB9P_DM_UNUSED_22 ((lib9p_dm_t)(1<<22))
+#define LIB9P_DM_NAMEDPIPE ((lib9p_dm_t)(1<<21)) /* 9P2000.u */
+#define LIB9P_DM_SOCKET ((lib9p_dm_t)(1<<20)) /* 9P2000.u */
+#define LIB9P_DM_SETUID ((lib9p_dm_t)(1<<19)) /* 9P2000.u */
+#define LIB9P_DM_SETGID ((lib9p_dm_t)(1<<18)) /* 9P2000.u */
+#define _LIB9P_DM_UNUSED_17 ((lib9p_dm_t)(1<<17))
+#define _LIB9P_DM_UNUSED_16 ((lib9p_dm_t)(1<<16))
+#define _LIB9P_DM_UNUSED_15 ((lib9p_dm_t)(1<<15))
+#define _LIB9P_DM_UNUSED_14 ((lib9p_dm_t)(1<<14))
+#define _LIB9P_DM_UNUSED_13 ((lib9p_dm_t)(1<<13))
+#define _LIB9P_DM_UNUSED_12 ((lib9p_dm_t)(1<<12))
+#define _LIB9P_DM_UNUSED_11 ((lib9p_dm_t)(1<<11))
+#define _LIB9P_DM_UNUSED_10 ((lib9p_dm_t)(1<<10))
+#define _LIB9P_DM_UNUSED_9 ((lib9p_dm_t)(1<<9))
+#define LIB9P_DM_OWNER_R ((lib9p_dm_t)(1<<8))
+#define LIB9P_DM_OWNER_W ((lib9p_dm_t)(1<<7))
+#define LIB9P_DM_OWNER_X ((lib9p_dm_t)(1<<6))
+#define LIB9P_DM_GROUP_R ((lib9p_dm_t)(1<<5))
+#define LIB9P_DM_GROUP_W ((lib9p_dm_t)(1<<4))
+#define LIB9P_DM_GROUP_X ((lib9p_dm_t)(1<<3))
+#define LIB9P_DM_OTHER_R ((lib9p_dm_t)(1<<2))
+#define LIB9P_DM_OTHER_W ((lib9p_dm_t)(1<<1))
+#define LIB9P_DM_OTHER_X ((lib9p_dm_t)(1<<0))
+
typedef uint8_t lib9p_qt_t;
#define LIB9P_QT_DIR ((lib9p_qt_t)(1<<7))
#define LIB9P_QT_APPEND ((lib9p_qt_t)(1<<6))
@@ -65,7 +99,7 @@ struct lib9p_stat {
uint16_t kern_type;
uint32_t kern_dev;
struct lib9p_qid file_qid;
- uint32_t file_mode;
+ lib9p_dm_t file_mode;
uint32_t file_atime;
uint32_t file_mtime;
uint64_t file_size;
@@ -187,7 +221,7 @@ struct lib9p_msg_Ropen {
struct lib9p_msg_Tcreate {
uint32_t fid;
struct lib9p_s name;
- uint32_t perm;
+ lib9p_dm_t perm;
lib9p_o_t mode;
};