Source
pub const speed_t = switch (native_os) {
.linux => linux.speed_t,
.macos, .ios, .tvos, .watchos, .visionos, .openbsd => enum(u64) {
B0 = 0,
B50 = 50,
B75 = 75,
B110 = 110,
B134 = 134,
B150 = 150,
B200 = 200,
B300 = 300,
B600 = 600,
B1200 = 1200,
B1800 = 1800,
B2400 = 2400,
B4800 = 4800,
B9600 = 9600,
B19200 = 19200,
B38400 = 38400,
B7200 = 7200,
B14400 = 14400,
B28800 = 28800,
B57600 = 57600,
B76800 = 76800,
B115200 = 115200,
B230400 = 230400,
},
.freebsd, .netbsd => enum(c_uint) {
B0 = 0,
B50 = 50,
B75 = 75,
B110 = 110,
B134 = 134,
B150 = 150,
B200 = 200,
B300 = 300,
B600 = 600,
B1200 = 1200,
B1800 = 1800,
B2400 = 2400,
B4800 = 4800,
B9600 = 9600,
B19200 = 19200,
B38400 = 38400,
B7200 = 7200,
B14400 = 14400,
B28800 = 28800,
B57600 = 57600,
B76800 = 76800,
B115200 = 115200,
B230400 = 230400,
B460800 = 460800,
B500000 = 500000,
B921600 = 921600,
B1000000 = 1000000,
B1500000 = 1500000,
B2000000 = 2000000,
B2500000 = 2500000,
B3000000 = 3000000,
B3500000 = 3500000,
B4000000 = 4000000,
},
.dragonfly => enum(c_uint) {
B0 = 0,
B50 = 50,
B75 = 75,
B110 = 110,
B134 = 134,
B150 = 150,
B200 = 200,
B300 = 300,
B600 = 600,
B1200 = 1200,
B1800 = 1800,
B2400 = 2400,
B4800 = 4800,
B9600 = 9600,
B19200 = 19200,
B38400 = 38400,
B7200 = 7200,
B14400 = 14400,
B28800 = 28800,
B57600 = 57600,
B76800 = 76800,
B115200 = 115200,
B230400 = 230400,
B460800 = 460800,
B921600 = 921600,
},
.haiku => enum(u8) {
B0 = 0x00,
B50 = 0x01,
B75 = 0x02,
B110 = 0x03,
B134 = 0x04,
B150 = 0x05,
B200 = 0x06,
B300 = 0x07,
B600 = 0x08,
B1200 = 0x09,
B1800 = 0x0A,
B2400 = 0x0B,
B4800 = 0x0C,
B9600 = 0x0D,
B19200 = 0x0E,
B38400 = 0x0F,
B57600 = 0x10,
B115200 = 0x11,
B230400 = 0x12,
B31250 = 0x13,
},
.solaris, .illumos => enum(c_uint) {
B0 = 0,
B50 = 1,
B75 = 2,
B110 = 3,
B134 = 4,
B150 = 5,
B200 = 6,
B300 = 7,
B600 = 8,
B1200 = 9,
B1800 = 10,
B2400 = 11,
B4800 = 12,
B9600 = 13,
B19200 = 14,
B38400 = 15,
B57600 = 16,
B76800 = 17,
B115200 = 18,
B153600 = 19,
B230400 = 20,
B307200 = 21,
B460800 = 22,
B921600 = 23,
B1000000 = 24,
B1152000 = 25,
B1500000 = 26,
B2000000 = 27,
B2500000 = 28,
B3000000 = 29,
B3500000 = 30,
B4000000 = 31,
},
// https://github.com/SerenityOS/serenity/blob/d277cdfd4c7ed21d5248a83217ae03b9f890c3c8/Kernel/API/POSIX/termios.h#L111-L159
.emscripten, .wasi, .serenity => enum(u32) {
B0 = 0o0000000,
B50 = 0o0000001,
B75 = 0o0000002,
B110 = 0o0000003,
B134 = 0o0000004,
B150 = 0o0000005,
B200 = 0o0000006,
B300 = 0o0000007,
B600 = 0o0000010,
B1200 = 0o0000011,
B1800 = 0o0000012,
B2400 = 0o0000013,
B4800 = 0o0000014,
B9600 = 0o0000015,
B19200 = 0o0000016,
B38400 = 0o0000017,
B57600 = 0o0010001,
B115200 = 0o0010002,
B230400 = 0o0010003,
B460800 = 0o0010004,
B500000 = 0o0010005,
B576000 = 0o0010006,
B921600 = 0o0010007,
B1000000 = 0o0010010,
B1152000 = 0o0010011,
B1500000 = 0o0010012,
B2000000 = 0o0010013,
B2500000 = 0o0010014,
B3000000 = 0o0010015,
B3500000 = 0o0010016,
B4000000 = 0o0010017,
},
else => void,
}