Skip to content

Commit 58a015c

Browse files
committed
Add TCGETS2 and TCSETS2 (and variants) ioctl constants for Linux.
1 parent 09fdbcc commit 58a015c

File tree

12 files changed

+59
-2
lines changed

12 files changed

+59
-2
lines changed

libc-test/build.rs

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1659,6 +1659,10 @@ fn test_android(target: &str) {
16591659
// Requires Linux kernel 5.6
16601660
"VMADDR_CID_LOCAL" => true,
16611661

1662+
// FIXME: conflicts with standard C headers and is tested in
1663+
// `linux_termios.rs` below:
1664+
"TCGETS2" | "TCSETS2" | "TCSETSW2" | "TCSETSF2" => true,
1665+
16621666
_ => false,
16631667
}
16641668
});
@@ -2867,7 +2871,11 @@ fn test_linux(target: &str) {
28672871

28682872
// FIXME: conflicts with glibc headers and is tested in
28692873
// `linux_termios.rs` below:
2870-
"BOTHER" => true,
2874+
| "BOTHER"
2875+
| "TCGETS2"
2876+
| "TCSETS2"
2877+
| "TCSETSW2"
2878+
| "TCSETSF2" => true,
28712879

28722880
// FIXME: on musl the pthread types are defined a little differently
28732881
// - these constants are used by the glibc implementation.
@@ -3210,10 +3218,15 @@ fn test_linux_like_apis(target: &str) {
32103218
// test termios
32113219
let mut cfg = ctest_cfg();
32123220
cfg.header("asm/termbits.h");
3221+
cfg.header("linux/termios.h");
32133222
cfg.skip_type(|_| true)
32143223
.skip_static(|_| true)
32153224
.skip_fn(|_| true)
3216-
.skip_const(|c| c != "BOTHER")
3225+
.skip_const(|c| match c {
3226+
"BOTHER" => false,
3227+
"TCGETS2" | "TCSETS2" | "TCSETSW2" | "TCSETSF2" => false,
3228+
_ => true,
3229+
})
32173230
.skip_struct(|s| s != "termios2")
32183231
.type_name(move |ty, is_struct, is_union| match ty {
32193232
t if is_struct => format!("struct {}", t),

src/unix/linux_like/android/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1338,6 +1338,10 @@ pub const TCGETS: ::c_int = 0x5401;
13381338
pub const TCSETS: ::c_int = 0x5402;
13391339
pub const TCSETSW: ::c_int = 0x5403;
13401340
pub const TCSETSF: ::c_int = 0x5404;
1341+
pub const TCGETS2: ::c_int = 0x802c542a;
1342+
pub const TCSETS2: ::c_int = 0x402c542b;
1343+
pub const TCSETSW2: ::c_int = 0x402c542c;
1344+
pub const TCSETSF2: ::c_int = 0x402c542d;
13411345
pub const TCGETA: ::c_int = 0x5405;
13421346
pub const TCSETA: ::c_int = 0x5406;
13431347
pub const TCSETAW: ::c_int = 0x5407;

src/unix/linux_like/linux/gnu/b32/arm/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -447,6 +447,10 @@ pub const TCGETS: ::c_ulong = 0x5401;
447447
pub const TCSETS: ::c_ulong = 0x5402;
448448
pub const TCSETSW: ::c_ulong = 0x5403;
449449
pub const TCSETSF: ::c_ulong = 0x5404;
450+
pub const TCGETS2: ::c_ulong = 0x802c542a;
451+
pub const TCSETS2: ::c_ulong = 0x402c542b;
452+
pub const TCSETSW2: ::c_ulong = 0x402c542c;
453+
pub const TCSETSF2: ::c_ulong = 0x402c542d;
450454
pub const TCGETA: ::c_ulong = 0x5405;
451455
pub const TCSETA: ::c_ulong = 0x5406;
452456
pub const TCSETAW: ::c_ulong = 0x5407;

src/unix/linux_like/linux/gnu/b32/mips/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -730,6 +730,10 @@ pub const TCGETS: ::c_ulong = 0x540d;
730730
pub const TCSETS: ::c_ulong = 0x540e;
731731
pub const TCSETSW: ::c_ulong = 0x540f;
732732
pub const TCSETSF: ::c_ulong = 0x5410;
733+
pub const TCGETS2: ::c_ulong = 0x4030542a;
734+
pub const TCSETS2: ::c_ulong = 0x8030542b;
735+
pub const TCSETSW2: ::c_ulong = 0x8030542c;
736+
pub const TCSETSF2: ::c_ulong = 0x8030542d;
733737
pub const TCGETA: ::c_ulong = 0x5401;
734738
pub const TCSETA: ::c_ulong = 0x5402;
735739
pub const TCSETAW: ::c_ulong = 0x5403;

src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,10 @@ pub const TCGETS: ::c_ulong = 21505;
483483
pub const TCSETS: ::c_ulong = 21506;
484484
pub const TCSETSW: ::c_ulong = 21507;
485485
pub const TCSETSF: ::c_ulong = 21508;
486+
pub const TCGETS2: ::c_ulong = 0x802c542a;
487+
pub const TCSETS2: ::c_ulong = 0x402c542b;
488+
pub const TCSETSW2: ::c_ulong = 0x402c542c;
489+
pub const TCSETSF2: ::c_ulong = 0x402c542d;
486490
pub const TCGETA: ::c_ulong = 21509;
487491
pub const TCSETA: ::c_ulong = 21510;
488492
pub const TCSETAW: ::c_ulong = 21511;

src/unix/linux_like/linux/gnu/b32/sparc/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -508,6 +508,10 @@ pub const TCGETS: ::c_ulong = 0x40245408;
508508
pub const TCSETS: ::c_ulong = 0x80245409;
509509
pub const TCSETSW: ::c_ulong = 0x8024540a;
510510
pub const TCSETSF: ::c_ulong = 0x8024540b;
511+
pub const TCGETS2: ::c_ulong = 0x402c540c;
512+
pub const TCSETS2: ::c_ulong = 0x802c540d;
513+
pub const TCSETSW2: ::c_ulong = 0x802c540e;
514+
pub const TCSETSF2: ::c_ulong = 0x802c540f;
511515
pub const TCGETA: ::c_ulong = 0x40125401;
512516
pub const TCSETA: ::c_ulong = 0x80125402;
513517
pub const TCSETAW: ::c_ulong = 0x80125403;

src/unix/linux_like/linux/gnu/b32/x86/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -666,6 +666,10 @@ pub const TCGETS: ::c_ulong = 0x5401;
666666
pub const TCSETS: ::c_ulong = 0x5402;
667667
pub const TCSETSW: ::c_ulong = 0x5403;
668668
pub const TCSETSF: ::c_ulong = 0x5404;
669+
pub const TCGETS2: ::c_ulong = 0x802c542a;
670+
pub const TCSETS2: ::c_ulong = 0x402c542b;
671+
pub const TCSETSW2: ::c_ulong = 0x402c542c;
672+
pub const TCSETSF2: ::c_ulong = 0x402c542d;
669673
pub const TCGETA: ::c_ulong = 0x5405;
670674
pub const TCSETA: ::c_ulong = 0x5406;
671675
pub const TCSETAW: ::c_ulong = 0x5407;

src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -560,6 +560,10 @@ pub const TCGETS: ::c_ulong = 0x5401;
560560
pub const TCSETS: ::c_ulong = 0x5402;
561561
pub const TCSETSW: ::c_ulong = 0x5403;
562562
pub const TCSETSF: ::c_ulong = 0x5404;
563+
pub const TCGETS2: ::c_ulong = 0x802c542a;
564+
pub const TCSETS2: ::c_ulong = 0x402c542b;
565+
pub const TCSETSW2: ::c_ulong = 0x402c542c;
566+
pub const TCSETSF2: ::c_ulong = 0x402c542d;
563567
pub const TCGETA: ::c_ulong = 0x5405;
564568
pub const TCSETA: ::c_ulong = 0x5406;
565569
pub const TCSETAW: ::c_ulong = 0x5407;

src/unix/linux_like/linux/gnu/b64/mips64/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -830,6 +830,10 @@ pub const TCGETS: ::c_ulong = 0x540d;
830830
pub const TCSETS: ::c_ulong = 0x540e;
831831
pub const TCSETSW: ::c_ulong = 0x540f;
832832
pub const TCSETSF: ::c_ulong = 0x5410;
833+
pub const TCGETS2: ::c_ulong = 0x4030542a;
834+
pub const TCSETS2: ::c_ulong = 0x8030542b;
835+
pub const TCSETSW2: ::c_ulong = 0x8030542c;
836+
pub const TCSETSF2: ::c_ulong = 0x8030542d;
833837
pub const TCGETA: ::c_ulong = 0x5401;
834838
pub const TCSETA: ::c_ulong = 0x5402;
835839
pub const TCSETAW: ::c_ulong = 0x5403;

src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,10 @@ pub const TCGETS: ::c_ulong = 21505;
521521
pub const TCSETS: ::c_ulong = 21506;
522522
pub const TCSETSW: ::c_ulong = 21507;
523523
pub const TCSETSF: ::c_ulong = 21508;
524+
pub const TCGETS2: ::c_ulong = 0x802c542a;
525+
pub const TCSETS2: ::c_ulong = 0x402c542b;
526+
pub const TCSETSW2: ::c_ulong = 0x402c542c;
527+
pub const TCSETSF2: ::c_ulong = 0x402c542d;
524528
pub const TCGETA: ::c_ulong = 21509;
525529
pub const TCSETA: ::c_ulong = 21510;
526530
pub const TCSETAW: ::c_ulong = 21511;

src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -587,6 +587,10 @@ pub const TCGETS: ::c_ulong = 0x40245408;
587587
pub const TCSETS: ::c_ulong = 0x80245409;
588588
pub const TCSETSW: ::c_ulong = 0x8024540a;
589589
pub const TCSETSF: ::c_ulong = 0x8024540b;
590+
pub const TCGETS2: ::c_ulong = 0x402c540c;
591+
pub const TCSETS2: ::c_ulong = 0x802c540d;
592+
pub const TCSETSW2: ::c_ulong = 0x802c540e;
593+
pub const TCSETSF2: ::c_ulong = 0x802c540f;
590594
pub const TCGETA: ::c_ulong = 0x40125401;
591595
pub const TCSETA: ::c_ulong = 0x80125402;
592596
pub const TCSETAW: ::c_ulong = 0x80125403;

src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -772,6 +772,10 @@ pub const TCGETS: ::c_ulong = 0x5401;
772772
pub const TCSETS: ::c_ulong = 0x5402;
773773
pub const TCSETSW: ::c_ulong = 0x5403;
774774
pub const TCSETSF: ::c_ulong = 0x5404;
775+
pub const TCGETS2: ::c_ulong = 0x802c542a;
776+
pub const TCSETS2: ::c_ulong = 0x402c542b;
777+
pub const TCSETSW2: ::c_ulong = 0x402c542c;
778+
pub const TCSETSF2: ::c_ulong = 0x402c542d;
775779
pub const TCGETA: ::c_ulong = 0x5405;
776780
pub const TCSETA: ::c_ulong = 0x5406;
777781
pub const TCSETAW: ::c_ulong = 0x5407;

0 commit comments

Comments
 (0)