authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-09-01 22:39:32-07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-09-01 22:39:32-07:00
log1163f0e7be1400c7e2f80b5719114a7d1dc2cd36
tree8fbf60b2bf429c417ae15eaa3d636f6296ffea66
parentca10dac88432ed0145b43d47c27a04ad7e4858c9
signature Signed by SSH key SHA256:4hHJbtBRU58AYXwjL7fkz2fnQHdiye8x1QpTCQ0sHNw

make File.Kind sys.DT


2 files changed, 12 insertions(+), 20 deletions(-)

Dir.zig+1-1
......@@ -121,7 +121,7 @@ pub fn makePath(self: Dir, sub_path: [:0]const u8) !void {
121121 error.EISDIR => break :check_dir,
122122 else => |e| return e,
123123 };
124 if (fstat.kind() != .directory) return error.NotDir;
124 if (fstat.kind() != .DIR) return error.NotDir;
125125 }
126126 },
127127 error.ENOENT => |e| {
File.zig+11-19
......@@ -162,19 +162,20 @@ pub const Stat = struct {
162162 };
163163 }
164164
165 pub fn kind(self: Stat) Kind {
165 pub fn kind(self: Stat) sys.DT {
166166 const m = self.mode & sys.S.IFMT;
167167 switch (m) {
168 sys.S.IFBLK => return .block_device,
169 sys.S.IFCHR => return .character_device,
170 sys.S.IFIFO => return .named_pipe,
171 sys.S.IFREG => return .file,
172 sys.S.IFDIR => return .directory,
173 sys.S.IFLNK => return .symlink,
174 sys.S.IFSOCK => return .unix_socket,
168 sys.S.IFBLK => return .BLK,
169 sys.S.IFCHR => return .CHR,
170 sys.S.IFIFO => return .FIFO,
171 sys.S.IFREG => return .REG,
172 sys.S.IFDIR => return .DIR,
173 sys.S.IFLNK => return .LNK,
174 sys.S.IFSOCK => return .SOCK,
175 sys.S.IFWHT => return .WHT,
175176 else => {},
176177 }
177 return .unknown;
178 return .UNKNOWN;
178179 }
179180};
180181
......@@ -182,16 +183,7 @@ pub const INode = sys.ino_t;
182183
183184pub const Mode = sys.mode_t;
184185
185pub const Kind = enum {
186 block_device,
187 character_device,
188 named_pipe,
189 file,
190 directory,
191 symlink,
192 unix_socket,
193 unknown,
194};
186pub const Kind = sys.DT;
195187
196188/// Maps entire file content into memory with a single syscall.
197189/// Release with `nfs.munmap`.