1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//! # mio-serial - Serial port I/O for mio
//!
//! This crate provides a serial port implementation compatable with mio.
//!
//! **At this time this crate ONLY provides a unix implementation**
//!
//! ## Links
//!   - repo:  https://github.com/berkowski/mio-serial
//!   - docs:  https://docs.rs/mio-serial
#![deny(missing_docs)]

extern crate mio;
extern crate serialport;

#[cfg(unix)]
extern crate nix;
#[cfg(windows)]
extern crate winapi;
#[cfg(windows)]
extern crate mio_named_pipes;

// Enums, Structs, and Traits from the serialport crate
pub use serialport::{BaudRate,
                     // Enums
                     DataBits,
                     // Structs
                     Error,
                     ErrorKind,
                     FlowControl,
                     Parity,
                     // Traits
                     SerialPort,

                     SerialPortInfo,
                     SerialPortSettings,

                     StopBits};

// Re-export port-enumerating utility function.
pub use serialport::available_ports;

#[cfg(unix)]
pub mod unix;

#[cfg(windows)]
pub mod windows;

#[cfg(unix)]
pub use unix::Serial;

#[cfg(windows)]
pub use windows::Serial;

/// A type for results generated by interacting with serial ports.
pub type Result<T> = serialport::Result<T>;