tun/platform/linux/
sys.rs

1//            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
2//                    Version 2, December 2004
3//
4// Copyleft (ↄ) meh. <meh@schizofreni.co> | http://meh.schizofreni.co
5//
6// Everyone is permitted to copy and distribute verbatim or modified
7// copies of this license document, and changing it is allowed as long
8// as the name is changed.
9//
10//            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
11//   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
12//
13//  0. You just DO WHAT THE FUCK YOU WANT TO.
14
15//! Bindings to internal Linux stuff.
16
17use libc::{c_int, ifreq};
18use nix::{ioctl_read_bad, ioctl_write_ptr, ioctl_write_ptr_bad};
19
20ioctl_read_bad!(siocgifflags, 0x8913, ifreq);
21ioctl_write_ptr_bad!(siocsifflags, 0x8914, ifreq);
22ioctl_read_bad!(siocgifaddr, 0x8915, ifreq);
23ioctl_write_ptr_bad!(siocsifaddr, 0x8916, ifreq);
24ioctl_read_bad!(siocgifdstaddr, 0x8917, ifreq);
25ioctl_write_ptr_bad!(siocsifdstaddr, 0x8918, ifreq);
26ioctl_read_bad!(siocgifbrdaddr, 0x8919, ifreq);
27ioctl_write_ptr_bad!(siocsifbrdaddr, 0x891a, ifreq);
28ioctl_read_bad!(siocgifnetmask, 0x891b, ifreq);
29ioctl_write_ptr_bad!(siocsifnetmask, 0x891c, ifreq);
30ioctl_read_bad!(siocgifmtu, 0x8921, ifreq);
31ioctl_write_ptr_bad!(siocsifmtu, 0x8922, ifreq);
32ioctl_write_ptr_bad!(siocsifname, 0x8923, ifreq);
33
34ioctl_write_ptr!(tunsetiff, b'T', 202, c_int);
35ioctl_write_ptr!(tunsetpersist, b'T', 203, c_int);
36ioctl_write_ptr!(tunsetowner, b'T', 204, c_int);
37ioctl_write_ptr!(tunsetgroup, b'T', 206, c_int);