@@ -158,34 +158,45 @@ mod ffi {
158
158
159
159
impl From < speed_t > for BaudRate {
160
160
fn from ( s : speed_t ) -> BaudRate {
161
+
162
+ use libc:: {
163
+ B0 , B50 , B75 , B110 , B134 , B150 ,
164
+ B200 , B300 , B600 , B1200 , B1800 , B2400 ,
165
+ B4800 , B9600 , B19200 , B38400 ,
166
+ B7200 , B14400 , B28800 , B57600 ,
167
+ B76800 , B115200 , B230400 } ;
168
+
169
+ #[ cfg( any( target_os = "netbsd" , target_os = "freebsd" ) ) ]
170
+ use libc:: { B460800 , B921600 } ;
171
+
161
172
match s {
162
- 0 => BaudRate :: B0 ,
163
- 50 => BaudRate :: B50 ,
164
- 75 => BaudRate :: B75 ,
165
- 110 => BaudRate :: B110 ,
166
- 134 => BaudRate :: B134 ,
167
- 150 => BaudRate :: B150 ,
168
- 200 => BaudRate :: B200 ,
169
- 300 => BaudRate :: B300 ,
170
- 600 => BaudRate :: B600 ,
171
- 1200 => BaudRate :: B1200 ,
172
- 1800 => BaudRate :: B1800 ,
173
- 2400 => BaudRate :: B2400 ,
174
- 4800 => BaudRate :: B4800 ,
175
- 9600 => BaudRate :: B9600 ,
176
- 19200 => BaudRate :: B19200 ,
177
- 38400 => BaudRate :: B38400 ,
178
- 7200 => BaudRate :: B7200 ,
179
- 14400 => BaudRate :: B14400 ,
180
- 28800 => BaudRate :: B28800 ,
181
- 57600 => BaudRate :: B57600 ,
182
- 76800 => BaudRate :: B76800 ,
183
- 115200 => BaudRate :: B115200 ,
184
- 230400 => BaudRate :: B230400 ,
173
+ B0 => BaudRate :: B0 ,
174
+ B50 => BaudRate :: B50 ,
175
+ B75 => BaudRate :: B75 ,
176
+ B110 => BaudRate :: B110 ,
177
+ B134 => BaudRate :: B134 ,
178
+ B150 => BaudRate :: B150 ,
179
+ B200 => BaudRate :: B200 ,
180
+ B300 => BaudRate :: B300 ,
181
+ B600 => BaudRate :: B600 ,
182
+ B1200 => BaudRate :: B1200 ,
183
+ B1800 => BaudRate :: B1800 ,
184
+ B2400 => BaudRate :: B2400 ,
185
+ B4800 => BaudRate :: B4800 ,
186
+ B9600 => BaudRate :: B9600 ,
187
+ B19200 => BaudRate :: B19200 ,
188
+ B38400 => BaudRate :: B38400 ,
189
+ B7200 => BaudRate :: B7200 ,
190
+ B14400 => BaudRate :: B14400 ,
191
+ B28800 => BaudRate :: B28800 ,
192
+ B57600 => BaudRate :: B57600 ,
193
+ B76800 => BaudRate :: B76800 ,
194
+ B115200 => BaudRate :: B115200 ,
195
+ B230400 => BaudRate :: B230400 ,
185
196
#[ cfg( any( target_os = "netbsd" , target_os = "freebsd" ) ) ]
186
- 460800 => BaudRate :: B460800 ,
197
+ B460800 => BaudRate :: B460800 ,
187
198
#[ cfg( any( target_os = "netbsd" , target_os = "freebsd" ) ) ]
188
- 921600 => BaudRate :: B921600 ,
199
+ B921600 => BaudRate :: B921600 ,
189
200
b @ _ => unreachable ! ( "Invalid baud constant: {}" , b) ,
190
201
}
191
202
}
@@ -365,7 +376,7 @@ mod ffi {
365
376
B50 ,
366
377
B75 ,
367
378
B110 ,
368
- B130 ,
379
+ B134 ,
369
380
B150 ,
370
381
B200 ,
371
382
B300 ,
@@ -377,7 +388,6 @@ mod ffi {
377
388
B9600 ,
378
389
B19200 ,
379
390
B38400 ,
380
- BOTHER ,
381
391
B57600 ,
382
392
B115200 ,
383
393
B230400 ,
@@ -397,39 +407,48 @@ mod ffi {
397
407
398
408
impl From < speed_t > for BaudRate {
399
409
fn from ( s : speed_t ) -> BaudRate {
410
+
411
+ use libc:: {
412
+ B0 , B50 , B75 , B110 , B134 , B150 ,
413
+ B200 , B300 , B600 , B1200 , B1800 , B2400 ,
414
+ B4800 , B9600 , B19200 , B38400 , B57600 ,
415
+ B115200 , B230400 , B460800 , B500000 ,
416
+ B576000 , B921600 , B1000000 , B1152000 ,
417
+ B1500000 , B2000000 , B2500000 , B3000000 ,
418
+ B3500000 , B4000000 } ;
419
+
400
420
match s {
401
- 0o0 => BaudRate :: B0 ,
402
- 0o1 => BaudRate :: B50 ,
403
- 0o2 => BaudRate :: B75 ,
404
- 0o3 => BaudRate :: B110 ,
405
- 0o4 => BaudRate :: B130 ,
406
- 0o5 => BaudRate :: B150 ,
407
- 0o6 => BaudRate :: B200 ,
408
- 0o7 => BaudRate :: B300 ,
409
- 0o10 => BaudRate :: B600 ,
410
- 0o11 => BaudRate :: B1200 ,
411
- 0o12 => BaudRate :: B1800 ,
412
- 0o13 => BaudRate :: B2400 ,
413
- 0o14 => BaudRate :: B4800 ,
414
- 0o15 => BaudRate :: B9600 ,
415
- 0o16 => BaudRate :: B19200 ,
416
- 0o17 => BaudRate :: B38400 ,
417
- 0o10000 => BaudRate :: BOTHER ,
418
- 0o10001 => BaudRate :: B57600 ,
419
- 0o10002 => BaudRate :: B115200 ,
420
- 0o10003 => BaudRate :: B230400 ,
421
- 0o10004 => BaudRate :: B460800 ,
422
- 0o10005 => BaudRate :: B500000 ,
423
- 0o10006 => BaudRate :: B576000 ,
424
- 0o10007 => BaudRate :: B921600 ,
425
- 0o10010 => BaudRate :: B1000000 ,
426
- 0o10011 => BaudRate :: B1152000 ,
427
- 0o10012 => BaudRate :: B1500000 ,
428
- 0o10013 => BaudRate :: B2000000 ,
429
- 0o10014 => BaudRate :: B2500000 ,
430
- 0o10015 => BaudRate :: B3000000 ,
431
- 0o10016 => BaudRate :: B3500000 ,
432
- 0o10017 => BaudRate :: B4000000 ,
421
+ B0 => BaudRate :: B0 ,
422
+ B50 => BaudRate :: B50 ,
423
+ B75 => BaudRate :: B75 ,
424
+ B110 => BaudRate :: B110 ,
425
+ B134 => BaudRate :: B134 ,
426
+ B150 => BaudRate :: B150 ,
427
+ B200 => BaudRate :: B200 ,
428
+ B300 => BaudRate :: B300 ,
429
+ B600 => BaudRate :: B600 ,
430
+ B1200 => BaudRate :: B1200 ,
431
+ B1800 => BaudRate :: B1800 ,
432
+ B2400 => BaudRate :: B2400 ,
433
+ B4800 => BaudRate :: B4800 ,
434
+ B9600 => BaudRate :: B9600 ,
435
+ B19200 => BaudRate :: B19200 ,
436
+ B38400 => BaudRate :: B38400 ,
437
+ B57600 => BaudRate :: B57600 ,
438
+ B115200 => BaudRate :: B115200 ,
439
+ B230400 => BaudRate :: B230400 ,
440
+ B460800 => BaudRate :: B460800 ,
441
+ B500000 => BaudRate :: B500000 ,
442
+ B576000 => BaudRate :: B576000 ,
443
+ B921600 => BaudRate :: B921600 ,
444
+ B1000000 => BaudRate :: B1000000 ,
445
+ B1152000 => BaudRate :: B1152000 ,
446
+ B1500000 => BaudRate :: B1500000 ,
447
+ B2000000 => BaudRate :: B2000000 ,
448
+ B2500000 => BaudRate :: B2500000 ,
449
+ B3000000 => BaudRate :: B3000000 ,
450
+ B3500000 => BaudRate :: B3500000 ,
451
+ B4000000 => BaudRate :: B4000000 ,
433
452
b @ _ => unreachable ! ( "Invalid baud constant: {}" , b) ,
434
453
}
435
454
}
0 commit comments