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