OpenCores
URL https://opencores.org/ocsvn/eco32/eco32/trunk

Subversion Repositories eco32

[/] [eco32/] [tags/] [eco32-0.22/] [disk/] [tools/] [fs-NetBSD/] [dsklbl/] [disklabel.h] - Blame information for rev 17

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 17 hellwig
/*
2
 * disklabel.h -- structure of the disklabel
3
 */
4
 
5
 
6
#ifndef _DISKLABEL_H_
7
#define _DISKLABEL_H_
8
 
9
 
10
#define DSKMAGIC        0x82564557
11
#define NTYPENAME       16
12
#define NPACKNAME       16
13
#define NDDATA          5
14
#define NSPARE          5
15
#define MAXPARTS        16
16
#define PADSIZE         108
17
 
18
 
19
typedef struct {
20
  uint32_t p_size;              /* number of sectors in partition */
21
  uint32_t p_offset;            /* starting sector */
22
  uint32_t p_fsize;             /* filesystem basic fragment size */
23
  uint8_t p_fstype;             /* filesystem type */
24
  uint8_t p_frag;               /* filesystem fragments per block */
25
  uint16_t p_cpg;               /* filesystem cylinders per group */
26
} Partition;
27
 
28
typedef struct {
29
  uint32_t d_magic;             /* magic number */
30
  uint16_t d_type;              /* drive type */
31
  uint16_t d_subtype;           /* controller, d_type specific */
32
  char d_typename[NTYPENAME];   /* type name */
33
  char d_packname[NPACKNAME];   /* pack identifier */
34
  uint32_t d_secsize;           /* bytes per sector */
35
  uint32_t d_nsectors;          /* data sectors per track */
36
  uint32_t d_ntracks;           /* tracks per cylinder */
37
  uint32_t d_ncylinders;        /* data cylinders per unit */
38
  uint32_t d_secpercyl;         /* data sectors per cylinder */
39
  uint32_t d_secperunit;        /* data sectors per unit */
40
  uint16_t d_sparespertrack;    /* spare sectors per track */
41
  uint16_t d_sparespercyl;      /* spare sectors per cylinder */
42
  uint32_t d_acylinders;        /* alternative cylinders per unit */
43
  uint16_t d_rpm;               /* rotational speed */
44
  uint16_t d_interleave;        /* hardware sector interleave */
45
  uint16_t d_trackskew;         /* sector 0 skew, per track */
46
  uint16_t d_cylskew;           /* sector 0 skew, per cylinder */
47
  uint32_t d_headswitch;        /* head switch time, usec */
48
  uint32_t d_trkseek;           /* track-to-track seek, usec */
49
  uint32_t d_flags;             /* generic flags */
50
  uint32_t d_drivedata[NDDATA]; /* drive-type specific information */
51
  uint32_t d_spare[NSPARE];     /* reserved for future use */
52
  uint32_t d_magic2;            /* the magic number again */
53
  uint16_t d_checksum;          /* xor of data incl partitions */
54
  uint16_t d_npartitions;       /* number of partitions */
55
  uint32_t d_bbsize;            /* size of boot area at sector 0, bytes */
56
  uint32_t d_sbsize;            /* size of filesystem superblock, bytes */
57
  Partition d_parts[MAXPARTS];  /* the partition table */
58
  uint8_t d_pad[PADSIZE];       /* pad up to sector size */
59
} DiskLabel;
60
 
61
 
62
#endif /* _DISKLABEL_H_ */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.