# tap-windows
Library to interface with the tap-windows driver created by OpenVPN to manage tap interfaces.
## Install
Add this to your `[dependencies]` in `Cargo.toml`
```toml
tap-windows = "0.1"
```
Alternatively if you have `cargo-edit` installed you can install it by running `cargo add tap-windows`.
## Usage
Check the documentation for `Device` for a simple usage example.
## Features
Currently this implementation lacks many features. Here is a list of currently implemented (and unimplemented but planned) features:
- [x] Creating/opening/deleting interfaces.
- [x] Reading and writing from an interface.
- [x] Read driver configuration (mtu, version, mac).
- [x] Write interface ip configuration (set interface ip/mask).
- [ ] Read interface ip configuration (get interface ip/mask).
- [ ] Tun emulation mode.
- [ ] Async read/write.
- [ ] Drop netsh for interface configuration (maybe switch to wmi?).