diskmbr.h
上传用户:xiejiait
上传日期:2007-01-06
资源大小:881k
文件大小:1k
源码类别:

SCSI/ASPI

开发平台:

MultiPlatform

  1. /*
  2.  * Header file diskmbr.h - assorted structure definitions and macros
  3.  * describing standard PC partition table
  4.    This program is free software; you can redistribute it and/or modify
  5.    it under the terms of the GNU General Public License as published by
  6.    the Free Software Foundation; either version 2, or (at your option)
  7.    any later version.
  8.    This program is distributed in the hope that it will be useful,
  9.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  10.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11.    GNU General Public License for more details.
  12.    You should have received a copy of the GNU General Public License
  13.    along with this program; if not, write to the Free Software
  14.    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
  15. #ifndef _DISKMBR_H
  16. #define _DISKMBR_H
  17. #define MBR_MAGIC 0xAA55
  18. #define PARTITION_UNUSED 0x00
  19. #define PARTITION_ACTIVE 0x80
  20. #define PARTITION_COUNT 4
  21. #define MBR_SECTOR(x) ((x)&0x3F)
  22. #define MBR_CYLINDER(x) ((x)>>8|((x)<<2&0x300))
  23. struct disk_partition {
  24. unsigned char status;
  25. unsigned char s_head;
  26. unsigned char s_cyl_sec[2];
  27. unsigned char type;
  28. unsigned char e_head;
  29. unsigned char e_cyl_sec[2];
  30. unsigned char boot_sec[4];
  31. unsigned char size[4];
  32. };
  33. struct disk_master_boot_record {
  34. char pad[0x1BE];
  35. struct disk_partition partition[PARTITION_COUNT];
  36. unsigned char magic[2];
  37. };
  38. #endif /* _DISKMBR_H */