Guest User

Untitled

a guest
Jan 19th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. #[macro_use] extern crate bitfield;
  2.  
  3. bitfield! {
  4. struct Example(u8);
  5. u8;
  6. get_pmport, set_pmport: 3, 0; // bits 0-3
  7. get_rsv0, set_rsv0: 6, 4; // bits 4-6
  8. get_c, set_c: 7, 7; // bit 7
  9. }
  10.  
  11. fn main() {
  12. println!("size of Example: {}", ::std::mem::size_of::<Example>());
  13. let mut e = Example(0);
  14. println!("pmport: {}, rsv0: {}, c: {}", e.get_pmport(), e.get_rsv0(), e.get_c());
  15. e.set_pmport(5);
  16. println!("pmport: {}, rsv0: {}, c: {}", e.get_pmport(), e.get_rsv0(), e.get_c());
  17. e.set_rsv0(3);
  18. println!("pmport: {}, rsv0: {}, c: {}", e.get_pmport(), e.get_rsv0(), e.get_c());
  19. e.set_c(1);
  20. println!("pmport: {}, rsv0: {}, c: {}", e.get_pmport(), e.get_rsv0(), e.get_c());
  21. e.set_rsv0(0);
  22. println!("pmport: {}, rsv0: {}, c: {}", e.get_pmport(), e.get_rsv0(), e.get_c());
  23. }
Add Comment
Please, Sign In to add comment