Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #[macro_use] extern crate bitfield;
- bitfield! {
- struct Example(u8);
- u8;
- get_pmport, set_pmport: 3, 0; // bits 0-3
- get_rsv0, set_rsv0: 6, 4; // bits 4-6
- get_c, set_c: 7, 7; // bit 7
- }
- fn main() {
- println!("size of Example: {}", ::std::mem::size_of::<Example>());
- let mut e = Example(0);
- println!("pmport: {}, rsv0: {}, c: {}", e.get_pmport(), e.get_rsv0(), e.get_c());
- e.set_pmport(5);
- println!("pmport: {}, rsv0: {}, c: {}", e.get_pmport(), e.get_rsv0(), e.get_c());
- e.set_rsv0(3);
- println!("pmport: {}, rsv0: {}, c: {}", e.get_pmport(), e.get_rsv0(), e.get_c());
- e.set_c(1);
- println!("pmport: {}, rsv0: {}, c: {}", e.get_pmport(), e.get_rsv0(), e.get_c());
- e.set_rsv0(0);
- println!("pmport: {}, rsv0: {}, c: {}", e.get_pmport(), e.get_rsv0(), e.get_c());
- }
Add Comment
Please, Sign In to add comment