| ... | @@ -760,3 +760,62 @@ pub const stack_t = extern struct { | ... | @@ -760,3 +760,62 @@ pub const stack_t = extern struct { |
| 760 | ss_size: isize, | 760 | ss_size: isize, |
| 761 | ss_flags: i32, | 761 | ss_flags: i32, |
| 762 | }; | 762 | }; |
| | 763 | |
| | 764 | pub const S_IFMT = 0o170000; |
| | 765 | |
| | 766 | pub const S_IFIFO = 0o010000; |
| | 767 | pub const S_IFCHR = 0o020000; |
| | 768 | pub const S_IFDIR = 0o040000; |
| | 769 | pub const S_IFBLK = 0o060000; |
| | 770 | pub const S_IFREG = 0o100000; |
| | 771 | pub const S_IFLNK = 0o120000; |
| | 772 | pub const S_IFSOCK = 0o140000; |
| | 773 | pub const S_IFWHT = 0o160000; |
| | 774 | |
| | 775 | pub const S_ISUID = 0o4000; |
| | 776 | pub const S_ISGID = 0o2000; |
| | 777 | pub const S_ISVTX = 0o1000; |
| | 778 | pub const S_IRWXU = 0o700; |
| | 779 | pub const S_IRUSR = 0o400; |
| | 780 | pub const S_IWUSR = 0o200; |
| | 781 | pub const S_IXUSR = 0o100; |
| | 782 | pub const S_IRWXG = 0o070; |
| | 783 | pub const S_IRGRP = 0o040; |
| | 784 | pub const S_IWGRP = 0o020; |
| | 785 | pub const S_IXGRP = 0o010; |
| | 786 | pub const S_IRWXO = 0o007; |
| | 787 | pub const S_IROTH = 0o004; |
| | 788 | pub const S_IWOTH = 0o002; |
| | 789 | pub const S_IXOTH = 0o001; |
| | 790 | |
| | 791 | pub fn S_ISFIFO(m: u32) bool { |
| | 792 | return m & S_IFMT == S_IFIFO; |
| | 793 | } |
| | 794 | |
| | 795 | pub fn S_ISCHR(m: u32) bool { |
| | 796 | return m & S_IFMT == S_IFCHR; |
| | 797 | } |
| | 798 | |
| | 799 | pub fn S_ISDIR(m: u32) bool { |
| | 800 | return m & S_IFMT == S_IFDIR; |
| | 801 | } |
| | 802 | |
| | 803 | pub fn S_ISBLK(m: u32) bool { |
| | 804 | return m & S_IFMT == S_IFBLK; |
| | 805 | } |
| | 806 | |
| | 807 | pub fn S_ISREG(m: u32) bool { |
| | 808 | return m & S_IFMT == S_IFREG; |
| | 809 | } |
| | 810 | |
| | 811 | pub fn S_ISLNK(m: u32) bool { |
| | 812 | return m & S_IFMT == S_IFLNK; |
| | 813 | } |
| | 814 | |
| | 815 | pub fn S_ISSOCK(m: u32) bool { |
| | 816 | return m & S_IFMT == S_IFSOCK; |
| | 817 | } |
| | 818 | |
| | 819 | pub fn S_IWHT(m: u32) bool { |
| | 820 | return m & S_IFMT == S_IFWHT; |
| | 821 | } |