Logo Search packages:      
Sourcecode: dmraid version File versions

dos.h

/*
 * Copyright (C) 2004,2005  Heinz Mauelshagen, Red Hat GmbH.
 *                          All rights reserved.
 *
 * See file LICENSE at the top of this source tree for license information.
 */

/*
 * DOS partition defintion.
 *
 * Profited from libparted.
 */

#ifndef     _DOS_H_
#define     _DOS_H_

#ifdef      FORMAT_HANDLER
#undef      FORMAT_HANDLER

#include <stdint.h>

#define     DOS_CONFIGOFFSET  0
#define     DOS_DATAOFFSET          0

struct chs {
      uint8_t head;
      uint8_t sector;
      uint8_t cylinder;
} __attribute__ ((packed));

struct dos_partition {
      uint8_t boot_ind; /* 00:  0x80 - active */
      struct chs chs_start;   /* 01: */
      uint8_t type;           /* 04: partition type */
#define PARTITION_EMPTY       0x00
#define PARTITION_EXT         0x05
#define PARTITION_EXT_LBA     0x0f
#define PARTITION_LINUX_EXT   0x85
#define PARTITION_GPT         0xee
      struct chs chs_end;     /* 05: */
      uint32_t start;         /* 08: starting sector from 0 */
      uint32_t length;  /* 0c: nr of sectors in partition */
} __attribute__ ((packed));

struct dos {
      uint8_t boot_code[446];
      struct dos_partition partitions[4];
      uint16_t magic;
#define     DOS_MAGIC   0xAA55
#define     PARTITION_MAGIC_MAGIC   0xF6F6
} __attribute__ ((packed));

#endif /* FORMAT_HANDLER */

/* Prototype of the register function for this metadata format handler */
int register_dos(struct lib_context *lc);

#endif

Generated by  Doxygen 1.6.0   Back to index