Advertisement
Guest User

bitblock

a guest
Apr 27th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.60 KB | None | 0 0
  1. #include "type.h"
  2.  
  3. int get_block(int fd, unsigned long blk, char buf[ ])
  4. {
  5.   lseek(fd, (long)blk*BLOCK_SIZE, SEEK_SET);
  6.   read(fd, buf, BLOCK_SIZE);
  7. }
  8.  
  9. int put_block(int fd, int blk, char buf[ ])
  10. {
  11.   lseek(fd, blk*BLOCK_SIZE, SEEK_SET);
  12.   write(fd, buf, BLOCK_SIZE);
  13. }
  14.  
  15. int tst_bit(char *buf, int bit)
  16. {
  17.   int i, j;
  18.   i = bit/8; j=bit%8;
  19.   if (buf[i] & (1 << j))
  20.      return 1;
  21.   return 0;
  22. }
  23.  
  24. int set_bit(char *buf, int bit)
  25. {
  26.   int i, j;
  27.   i = bit/8; j=bit%8;
  28.   buf[i] |= (1 << j);
  29. }
  30.  
  31. int clr_bit(char *buf, int bit)
  32. {
  33.   int i, j;
  34.   i = bit/8; j=bit%8;
  35.   buf[i] &= ~(1 << j);
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement