~ubuntu-branches/ubuntu/trusty/grub2/trusty-updates

« back to all changes in this revision

Viewing changes to include/grub/bsdlabel.h

Tags: upstream-1.99~20101122
ImportĀ upstreamĀ versionĀ 1.99~20101122

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *  GRUB  --  GRand Unified Bootloader
 
3
 *  Copyright (C) 1999,2000,2001,2002,2004,2007  Free Software Foundation, Inc.
 
4
 *
 
5
 *  GRUB is free software: you can redistribute it and/or modify
 
6
 *  it under the terms of the GNU General Public License as published by
 
7
 *  the Free Software Foundation, either version 3 of the License, or
 
8
 *  (at your option) any later version.
 
9
 *
 
10
 *  GRUB is distributed in the hope that it will be useful,
 
11
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
 *  GNU General Public License for more details.
 
14
 *
 
15
 *  You should have received a copy of the GNU General Public License
 
16
 *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
 
17
 */
 
18
 
 
19
#ifndef GRUB_BSDLABEL_PARTITION_HEADER
 
20
#define GRUB_BSDLABEL_PARTITION_HEADER  1
 
21
 
 
22
/* Constants for BSD disk label.  */
 
23
#define GRUB_PC_PARTITION_BSD_LABEL_SECTOR      1
 
24
#define GRUB_PC_PARTITION_BSD_LABEL_MAGIC       0x82564557
 
25
 
 
26
/* BSD partition types.  */
 
27
#define GRUB_PC_PARTITION_BSD_TYPE_UNUSED       0
 
28
#define GRUB_PC_PARTITION_BSD_TYPE_SWAP         1
 
29
#define GRUB_PC_PARTITION_BSD_TYPE_V6           2
 
30
#define GRUB_PC_PARTITION_BSD_TYPE_V7           3
 
31
#define GRUB_PC_PARTITION_BSD_TYPE_SYSV         4
 
32
#define GRUB_PC_PARTITION_BSD_TYPE_V71K         5
 
33
#define GRUB_PC_PARTITION_BSD_TYPE_V8           6
 
34
#define GRUB_PC_PARTITION_BSD_TYPE_BSDFFS       7
 
35
#define GRUB_PC_PARTITION_BSD_TYPE_MSDOS        8
 
36
#define GRUB_PC_PARTITION_BSD_TYPE_BSDLFS       9
 
37
#define GRUB_PC_PARTITION_BSD_TYPE_OTHER        10
 
38
#define GRUB_PC_PARTITION_BSD_TYPE_HPFS         11
 
39
#define GRUB_PC_PARTITION_BSD_TYPE_ISO9660      12
 
40
#define GRUB_PC_PARTITION_BSD_TYPE_BOOT         13
 
41
 
 
42
/* FreeBSD-specific types.  */
 
43
#define GRUB_PC_PARTITION_FREEBSD_TYPE_VINUM    14
 
44
#define GRUB_PC_PARTITION_FREEBSD_TYPE_RAID     15
 
45
#define GRUB_PC_PARTITION_FREEBSD_TYPE_JFS2     21
 
46
 
 
47
/* NetBSD-specific types.  */
 
48
#define GRUB_PC_PARTITION_NETBSD_TYPE_ADOS      14
 
49
#define GRUB_PC_PARTITION_NETBSD_TYPE_HFS       15
 
50
#define GRUB_PC_PARTITION_NETBSD_TYPE_FILECORE  16
 
51
#define GRUB_PC_PARTITION_NETBSD_TYPE_EXT2FS    17
 
52
#define GRUB_PC_PARTITION_NETBSD_TYPE_NTFS      18
 
53
#define GRUB_PC_PARTITION_NETBSD_TYPE_RAID      19
 
54
#define GRUB_PC_PARTITION_NETBSD_TYPE_CCD       20
 
55
#define GRUB_PC_PARTITION_NETBSD_TYPE_JFS2      21
 
56
#define GRUB_PC_PARTITION_NETBSD_TYPE_APPLEUFS  22
 
57
 
 
58
/* OpenBSD-specific types.  */
 
59
#define GRUB_PC_PARTITION_OPENBSD_TYPE_ADOS     14
 
60
#define GRUB_PC_PARTITION_OPENBSD_TYPE_HFS      15
 
61
#define GRUB_PC_PARTITION_OPENBSD_TYPE_FILECORE 16
 
62
#define GRUB_PC_PARTITION_OPENBSD_TYPE_EXT2FS   17
 
63
#define GRUB_PC_PARTITION_OPENBSD_TYPE_NTFS     18
 
64
#define GRUB_PC_PARTITION_OPENBSD_TYPE_RAID     19
 
65
 
 
66
#define GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION 2
 
67
 
 
68
/* The BSD partition entry.  */
 
69
struct grub_partition_bsd_entry
 
70
{
 
71
  grub_uint32_t size;
 
72
  grub_uint32_t offset;
 
73
  grub_uint32_t fragment_size;
 
74
  grub_uint8_t fs_type;
 
75
  grub_uint8_t fs_fragments;
 
76
  grub_uint16_t fs_cylinders;
 
77
} __attribute__ ((packed));
 
78
 
 
79
/* The BSD disk label. Only define members useful for GRUB.  */
 
80
struct grub_partition_bsd_disk_label
 
81
{
 
82
  grub_uint32_t magic;
 
83
  grub_uint8_t padding[128];
 
84
  grub_uint32_t magic2;
 
85
  grub_uint16_t checksum;
 
86
  grub_uint16_t num_partitions;
 
87
  grub_uint32_t boot_size;
 
88
  grub_uint32_t superblock_size;
 
89
} __attribute__ ((packed));
 
90
 
 
91
#endif /* ! GRUB_PC_PARTITION_HEADER */