1extern crate libudev_sys as ffi;
2extern crate libc;
3
4pub use context::Context;
5pub use device::{Device, Properties, Property, Attributes, Attribute};
6pub use enumerator::{Enumerator, Devices};
7pub use error::{Result, Error, ErrorKind};
8pub use monitor::{Monitor, MonitorSocket, EventType, Event};
9
10macro_rules! try_alloc {
11 ($exp:expr) => {{
12 let ptr = $exp;
13
14 if ptr.is_null() {
15 return Err(::error::from_errno(::libc::ENOMEM));
16 }
17
18 ptr
19 }}
20}
21
22mod context;
23mod device;
24mod enumerator;
25mod error;
26mod monitor;
27
28mod handle;
29mod util;