aboutsummaryrefslogtreecommitdiff
path: root/sys/linux/port/os/constants.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/linux/port/os/constants.h')
-rw-r--r--sys/linux/port/os/constants.h50
1 files changed, 34 insertions, 16 deletions
diff --git a/sys/linux/port/os/constants.h b/sys/linux/port/os/constants.h
index ffe8610..f994a93 100644
--- a/sys/linux/port/os/constants.h
+++ b/sys/linux/port/os/constants.h
@@ -69,19 +69,37 @@
#define sys·InfoForceSync 0x2000
#define sys·InfoNoSync 0x4000
-// masks
-#define sys·InfoType 0x00000001u /* want/got stx_mode & s_ifmt */
-#define sys·InfoMode 0x00000002u /* want/got stx_mode & ~s_ifmt */
-#define sys·InfoNLink 0x00000004u /* want/got stx_nlink */
-#define sys·InfoUid 0x00000008u /* want/got stx_uid */
-#define sys·InfoGid 0x00000010u /* want/got stx_gid */
-#define sys·InfoAccessTime 0x00000020u /* want/got stx_atime */
-#define sys·InfoModifyTime 0x00000040u /* want/got stx_mtime */
-#define sys·InfoChangeTime 0x00000080u /* want/got stx_ctime */
-#define sys·InfoInode 0x00000100u /* want/got stx_ino */
-#define sys·InfoSize 0x00000200u /* want/got stx_size */
-#define sys·InfoBlocks 0x00000400u /* want/got stx_blocks */
-#define sys·InfoBasic 0x000007ffu /* the stuff in the normal stat struct*/
-#define sys·InfoCreateTime 0x00000800u /* want/got stx_btime */
-#define sys·InfoMntId 0x00001000u /* got stx_mnt_id */
-#define sys·InfoAll (sys·InfoBasic|sys·InfoCreateTime)
+// mode masks
+#define sys·InfoWantType 0x00000001u /* want/got stx_mode & s_ifmt */
+#define sys·InfoWantMode 0x00000002u /* want/got stx_mode & ~s_ifmt */
+#define sys·InfoWantNLink 0x00000004u /* want/got stx_nlink */
+#define sys·InfoWantUid 0x00000008u /* want/got stx_uid */
+#define sys·InfoWantGid 0x00000010u /* want/got stx_gid */
+#define sys·InfoWantAccessTime 0x00000020u /* want/got stx_atime */
+#define sys·InfoWantModifyTime 0x00000040u /* want/got stx_mtime */
+#define sys·InfoWantChangeTime 0x00000080u /* want/got stx_ctime */
+#define sys·InfoWantInode 0x00000100u /* want/got stx_ino */
+#define sys·InfoWantSize 0x00000200u /* want/got stx_size */
+#define sys·InfoWantBlocks 0x00000400u /* want/got stx_blocks */
+#define sys·InfoWantBasic 0x000007ffu /* the stuff in the normal stat struct*/
+#define sys·InfoWantCreateTime 0x00000800u /* want/got stx_btime */
+#define sys·InfoWantMntId 0x00001000u /* got stx_mnt_id */
+#define sys·InfoWantAll (sys·InfoWantBasic|sys·InfoWantCreateTime)
+
+// helpers
+#define sys·InfoMaskType 0170000
+#define sys·InfoDirType 0040000
+#define sys·InfoCharType 0020000
+#define sys·InfoBlockType 0060000
+#define sys·InfoFileType 0100000
+#define sys·InfoFifoType 0010000
+#define sys·InfoLinkType 0120000
+#define sys·InfoSocketType 0140000
+
+#define sys·InfoIsDir(mode) (((mode) & sys·InfoMaskType) == sys·InfoDirType)
+#define sys·InfoIsChar(mode) (((mode) & sys·InfoMaskType) == sys·InfoCharType)
+#define sys·InfoIsBlock(mode) (((mode) & sys·InfoMaskType) == sys·InfoBlockType)
+#define sys·InfoIsFile(mode) (((mode) & sys·InfoMaskType) == sys·InfoFileType)
+#define sys·InfoIsFifo(mode) (((mode) & sys·InfoMaskType) == sys·InfoFifoType)
+#define sys·InfoIsLink(mode) (((mode) & sys·InfoMaskType) == sys·InfoLinkType)
+#define sys·InfoIsSocket(mode) (((mode) & sys·InfoMaskType) == sys·InfoSocketType)