1010// spell-checker:ignore lnext rprnt susp dsusp swtch vdiscard veof veol verase vintr vkill vlnext vquit vreprint vstart vstop vsusp vswtc vwerase werase VDSUSP
1111// spell-checker:ignore sigquit sigtstp
1212// spell-checker:ignore cbreak decctlq evenp litout oddp
13+ // spell-checker:ignore cdtrdsr CDTRDSR ofill OFILL dsusp VDSUSP VFLUSHO VSTATUS noncanonical VMIN deciseconds noncanonical VTIME
1314
1415use crate :: Flag ;
1516
@@ -54,10 +55,14 @@ pub const CONTROL_FLAGS: &[Flag<C>] = &[
5455 Flag :: new_grouped ( "cs7" , C :: CS7 , C :: CSIZE ) ,
5556 Flag :: new_grouped ( "cs8" , C :: CS8 , C :: CSIZE ) . sane ( ) ,
5657 Flag :: new ( "hupcl" , C :: HUPCL ) ,
58+ // Not supported by nix and libc.
59+ // Flag::new("hup", C::HUP).hidden(),
5760 Flag :: new ( "cstopb" , C :: CSTOPB ) ,
5861 Flag :: new ( "cread" , C :: CREAD ) . sane ( ) ,
5962 Flag :: new ( "clocal" , C :: CLOCAL ) ,
6063 Flag :: new ( "crtscts" , C :: CRTSCTS ) ,
64+ // Not supported by nix and libc.
65+ // Flag::new("cdtrdsr", C::CDTRDSR),
6166] ;
6267
6368pub const INPUT_FLAGS : & [ Flag < I > ] = & [
@@ -73,8 +78,16 @@ pub const INPUT_FLAGS: &[Flag<I>] = &[
7378 Flag :: new ( "ixon" , I :: IXON ) ,
7479 Flag :: new ( "ixoff" , I :: IXOFF ) ,
7580 Flag :: new ( "tandem" , I :: IXOFF ) . hidden ( ) ,
76- // not supported by nix
77- // Flag::new("iuclc", I::IUCLC),
81+ #[ cfg( any(
82+ target_os = "aix" ,
83+ target_os = "android" ,
84+ target_os = "cygwin" ,
85+ target_os = "haiku" ,
86+ target_os = "hurd" ,
87+ target_os = "nto" ,
88+ target_os = "linux"
89+ ) ) ]
90+ Flag :: new ( "iuclc" , I :: IUCLC ) ,
7891 Flag :: new ( "ixany" , I :: IXANY ) ,
7992 Flag :: new ( "imaxbel" , I :: IMAXBEL ) . sane ( ) ,
8093 #[ cfg( any( target_os = "android" , target_os = "linux" , target_os = "macos" ) ) ]
@@ -101,6 +114,14 @@ pub const OUTPUT_FLAGS: &[Flag<O>] = &[
101114 target_os = "linux" ,
102115 target_os = "macos"
103116 ) ) ]
117+ Flag :: new ( "ofill" , O :: OFILL ) ,
118+ #[ cfg( any(
119+ target_os = "android" ,
120+ target_os = "haiku" ,
121+ target_os = "ios" ,
122+ target_os = "linux" ,
123+ target_os = "macos"
124+ ) ) ]
104125 Flag :: new ( "ofdel" , O :: OFDEL ) ,
105126 #[ cfg( any(
106127 target_os = "android" ,
@@ -242,8 +263,13 @@ pub const LOCAL_FLAGS: &[Flag<L>] = &[
242263 Flag :: new ( "echok" , L :: ECHOK ) . sane ( ) ,
243264 Flag :: new ( "echonl" , L :: ECHONL ) ,
244265 Flag :: new ( "noflsh" , L :: NOFLSH ) ,
245- // Not supported by nix
246- // Flag::new("xcase", L::XCASE),
266+ #[ cfg( any(
267+ target_os = "aix" ,
268+ target_os = "android" ,
269+ target_os = "haiku" ,
270+ target_os = "linux" ,
271+ ) ) ]
272+ Flag :: new ( "xcase" , L :: XCASE ) ,
247273 Flag :: new ( "tostop" , L :: TOSTOP ) ,
248274 #[ cfg( not( target_os = "cygwin" ) ) ]
249275 Flag :: new ( "echoprt" , L :: ECHOPRT ) ,
@@ -362,6 +388,25 @@ pub const CONTROL_CHARS: &[(&str, S)] = &[
362388 ( "lnext" , S :: VLNEXT ) ,
363389 // Discards the current line.
364390 ( "discard" , S :: VDISCARD ) ,
391+ // deprecated compat option.
392+ // Not supported by nix and libc.
393+ // ("flush", S::VFLUSHO),
394+ #[ cfg( any(
395+ target_os = "freebsd" ,
396+ target_os = "dragonfly" ,
397+ target_os = "ios" ,
398+ target_os = "macos" ,
399+ target_os = "netbsd" ,
400+ target_os = "openbsd" ,
401+ ) ) ]
402+ // Status character
403+ ( "status" , S :: VSTATUS ) ,
404+ // Minimum number of characters for noncanonical read.
405+ // We handle this manually.
406+ // ("min", S::VMIN),
407+ // Timeout in deciseconds for noncanonical read.
408+ // We handle this manually.
409+ // ("time", S::VTIME),
365410] ;
366411
367412/// This constant lists all possible combination settings, using a bool to represent if the setting is negatable
0 commit comments