ghostty/src/os/pipe.zig
Mitchell Hashimoto b7bf59d772 update zig
2024-03-22 11:15:26 -07:00

21 lines
631 B
Zig

const std = @import("std");
const builtin = @import("builtin");
const windows = @import("windows.zig");
const posix = std.posix;
/// pipe() that works on Windows and POSIX.
pub fn pipe() ![2]posix.fd_t {
switch (builtin.os.tag) {
else => return try posix.pipe(),
.windows => {
var read: windows.HANDLE = undefined;
var write: windows.HANDLE = undefined;
if (windows.exp.kernel32.CreatePipe(&read, &write, null, 0) == 0) {
return windows.unexpectedError(windows.kernel32.GetLastError());
}
return .{ read, write };
},
}
}