authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-02-15 10:43:22-08:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2024-02-15 10:43:22-08:00
log7204eccf5cbf32977b779181de871559b478511d
tree2f903281432375a4ab97ffdf683694705ce15608
parent6fe90a913a8876e78692d5e89652559f72e7644f
parent2ff64c7cb235c549f5da60a9d2e785cf2c51c6ba
signaturebadge-check Signed by PGP key B5690EEEBB952194

Merge pull request #18945 from mikdusan/issue-18942

std.os.termios: fix tc flag types for macos

5 files changed, 55 insertions(+), 19 deletions(-)

lib/std/c.zig+31-7
...@@ -842,7 +842,7 @@ pub const termios = switch (native_os) {...@@ -842,7 +842,7 @@ pub const termios = switch (native_os) {
842842
843pub const tc_iflag_t = switch (native_os) {843pub const tc_iflag_t = switch (native_os) {
844 .linux => std.os.linux.tc_iflag_t,844 .linux => std.os.linux.tc_iflag_t,
845 .macos, .ios, .tvos, .watchos => packed struct(u32) {845 .macos, .ios, .tvos, .watchos => packed struct(u64) {
846 IGNBRK: bool = false,846 IGNBRK: bool = false,
847 BRKINT: bool = false,847 BRKINT: bool = false,
848 IGNPAR: bool = false,848 IGNPAR: bool = false,
...@@ -858,7 +858,7 @@ pub const tc_iflag_t = switch (native_os) {...@@ -858,7 +858,7 @@ pub const tc_iflag_t = switch (native_os) {
858 _12: u1 = 0,858 _12: u1 = 0,
859 IMAXBEL: bool = false,859 IMAXBEL: bool = false,
860 IUTF8: bool = false,860 IUTF8: bool = false,
861 _: u17 = 0,861 _: u49 = 0,
862 },862 },
863 .netbsd, .freebsd, .kfreebsd, .dragonfly => packed struct(u32) {863 .netbsd, .freebsd, .kfreebsd, .dragonfly => packed struct(u32) {
864 IGNBRK: bool = false,864 IGNBRK: bool = false,
...@@ -952,7 +952,7 @@ pub const tc_iflag_t = switch (native_os) {...@@ -952,7 +952,7 @@ pub const tc_iflag_t = switch (native_os) {
952952
953pub const tc_oflag_t = switch (native_os) {953pub const tc_oflag_t = switch (native_os) {
954 .linux => std.os.linux.tc_oflag_t,954 .linux => std.os.linux.tc_oflag_t,
955 .macos, .ios, .tvos, .watchos => packed struct(u32) {955 .macos, .ios, .tvos, .watchos => packed struct(u64) {
956 OPOST: bool = false,956 OPOST: bool = false,
957 ONLCR: bool = false,957 ONLCR: bool = false,
958 OXTABS: bool = false,958 OXTABS: bool = false,
...@@ -968,7 +968,7 @@ pub const tc_oflag_t = switch (native_os) {...@@ -968,7 +968,7 @@ pub const tc_oflag_t = switch (native_os) {
968 BSDLY: u1 = 0,968 BSDLY: u1 = 0,
969 VTDLY: u1 = 0,969 VTDLY: u1 = 0,
970 OFDEL: bool = false,970 OFDEL: bool = false,
971 _: u14 = 0,971 _: u46 = 0,
972 },972 },
973 .netbsd => packed struct(u32) {973 .netbsd => packed struct(u32) {
974 OPOST: bool = false,974 OPOST: bool = false,
...@@ -1049,7 +1049,7 @@ pub const CSIZE = switch (native_os) {...@@ -1049,7 +1049,7 @@ pub const CSIZE = switch (native_os) {
10491049
1050pub const tc_cflag_t = switch (native_os) {1050pub const tc_cflag_t = switch (native_os) {
1051 .linux => std.os.linux.tc_cflag_t,1051 .linux => std.os.linux.tc_cflag_t,
1052 .macos, .ios, .tvos, .watchos => packed struct(u32) {1052 .macos, .ios, .tvos, .watchos => packed struct(u64) {
1053 CIGNORE: bool = false,1053 CIGNORE: bool = false,
1054 _1: u5 = 0,1054 _1: u5 = 0,
1055 CSTOPB: bool = false,1055 CSTOPB: bool = false,
...@@ -1066,7 +1066,7 @@ pub const tc_cflag_t = switch (native_os) {...@@ -1066,7 +1066,7 @@ pub const tc_cflag_t = switch (native_os) {
1066 CDTR_IFLOW: bool = false,1066 CDTR_IFLOW: bool = false,
1067 CDSR_OFLOW: bool = false,1067 CDSR_OFLOW: bool = false,
1068 CCAR_OFLOW: bool = false,1068 CCAR_OFLOW: bool = false,
1069 _: u11 = 0,1069 _: u43 = 0,
1070 },1070 },
1071 .freebsd, .kfreebsd => packed struct(u32) {1071 .freebsd, .kfreebsd => packed struct(u32) {
1072 CIGNORE: bool = false,1072 CIGNORE: bool = false,
...@@ -1185,7 +1185,31 @@ pub const tc_cflag_t = switch (native_os) {...@@ -1185,7 +1185,31 @@ pub const tc_cflag_t = switch (native_os) {
11851185
1186pub const tc_lflag_t = switch (native_os) {1186pub const tc_lflag_t = switch (native_os) {
1187 .linux => std.os.linux.tc_lflag_t,1187 .linux => std.os.linux.tc_lflag_t,
1188 .macos, .ios, .tvos, .watchos, .netbsd, .freebsd, .kfreebsd, .dragonfly => packed struct(u32) {1188 .macos, .ios, .tvos, .watchos => packed struct(u64) {
1189 ECHOKE: bool = false,
1190 ECHOE: bool = false,
1191 ECHOK: bool = false,
1192 ECHO: bool = false,
1193 ECHONL: bool = false,
1194 ECHOPRT: bool = false,
1195 ECHOCTL: bool = false,
1196 ISIG: bool = false,
1197 ICANON: bool = false,
1198 ALTWERASE: bool = false,
1199 IEXTEN: bool = false,
1200 EXTPROC: bool = false,
1201 _12: u10 = 0,
1202 TOSTOP: bool = false,
1203 FLUSHO: bool = false,
1204 _24: u1 = 0,
1205 NOKERNINFO: bool = false,
1206 _26: u3 = 0,
1207 PENDIN: bool = false,
1208 _30: u1 = 0,
1209 NOFLSH: bool = false,
1210 _: u32 = 0,
1211 },
1212 .netbsd, .freebsd, .kfreebsd, .dragonfly => packed struct(u32) {
1189 ECHOKE: bool = false,1213 ECHOKE: bool = false,
1190 ECHOE: bool = false,1214 ECHOE: bool = false,
1191 ECHOK: bool = false,1215 ECHOK: bool = false,
lib/std/c/dragonfly.zig+7
...@@ -557,6 +557,13 @@ pub const NOTE_FFCTRLMASK = 3221225472;...@@ -557,6 +557,13 @@ pub const NOTE_FFCTRLMASK = 3221225472;
557pub const NOTE_FFCOPY = 3221225472;557pub const NOTE_FFCOPY = 3221225472;
558pub const NOTE_PCTRLMASK = 4026531840;558pub const NOTE_PCTRLMASK = 4026531840;
559559
560pub const TCSA = enum(c_uint) {
561 NOW,
562 DRAIN,
563 FLUSH,
564 _,
565};
566
560pub const stack_t = extern struct {567pub const stack_t = extern struct {
561 sp: [*]u8,568 sp: [*]u8,
562 size: isize,569 size: isize,
lib/std/c/freebsd.zig+7
...@@ -1153,6 +1153,13 @@ pub const T = struct {...@@ -1153,6 +1153,13 @@ pub const T = struct {
1153 pub const IOCSIG = 0x2004745f;1153 pub const IOCSIG = 0x2004745f;
1154};1154};
11551155
1156pub const TCSA = enum(c_uint) {
1157 NOW,
1158 DRAIN,
1159 FLUSH,
1160 _,
1161};
1162
1156pub const winsize = extern struct {1163pub const winsize = extern struct {
1157 ws_row: u16,1164 ws_row: u16,
1158 ws_col: u16,1165 ws_col: u16,
lib/std/c/netbsd.zig+5-6
...@@ -806,12 +806,11 @@ pub const T = struct {...@@ -806,12 +806,11 @@ pub const T = struct {
806 pub const IOCXMTFRAME = 0x80087444;806 pub const IOCXMTFRAME = 0x80087444;
807};807};
808808
809// Commands passed to tcsetattr() for setting the termios structure.809pub const TCSA = enum(c_uint) {
810pub const TCSA = struct {810 NOW,
811 pub const NOW = 0; // make change immediate811 DRAIN,
812 pub const DRAIN = 1; // drain output, then chage812 FLUSH,
813 pub const FLUSH = 2; // drain output, flush input813 _,
814 pub const SOFT = 0x10; // flag - don't alter h.w. state
815};814};
816815
817pub const TCIFLUSH = 1;816pub const TCIFLUSH = 1;
lib/std/c/openbsd.zig+5-6
...@@ -768,12 +768,11 @@ pub const AUTH = struct {...@@ -768,12 +768,11 @@ pub const AUTH = struct {
768 pub const ALLOW: c_int = (OKAY | ROOTOKAY | SECURE);768 pub const ALLOW: c_int = (OKAY | ROOTOKAY | SECURE);
769};769};
770770
771// Commands passed to tcsetattr() for setting the termios structure.771pub const TCSA = enum(c_uint) {
772pub const TCSA = struct {772 NOW,
773 pub const NOW = 0; // make change immediate773 DRAIN,
774 pub const DRAIN = 1; // drain output, then change774 FLUSH,
775 pub const FLUSH = 2; // drain output, flush input775 _,
776 pub const SOFT = 0x10; // flag - don't alter h.w. state
777};776};
778777
779pub const TCIFLUSH = 1;778pub const TCIFLUSH = 1;