Add gcc_struct to all packed structures when compiling with mingw.
Just "packed" doesn't always pack the way we expect.
This commit is contained in:
parent
ae8159b9ca
commit
7e47e27bd8
105 changed files with 403 additions and 391 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
Add gcc_struct to all packed structures when compiling with mingw.
|
||||||
|
|
||||||
|
Just "packed" doesn't always pack the way we expect.
|
||||||
|
|
||||||
2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
|
2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
|
* include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
|
||||||
|
|
|
@ -47,7 +47,7 @@ struct grub_ohci_hcca
|
||||||
grub_uint32_t donehead;
|
grub_uint32_t donehead;
|
||||||
|
|
||||||
grub_uint8_t reserved[116];
|
grub_uint8_t reserved[116];
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* OHCI General Transfer Descriptor */
|
/* OHCI General Transfer Descriptor */
|
||||||
struct grub_ohci_td
|
struct grub_ohci_td
|
||||||
|
@ -64,7 +64,7 @@ struct grub_ohci_td
|
||||||
* physical address in CPU endian */
|
* physical address in CPU endian */
|
||||||
grub_uint32_t tr_index; /* index of TD in transfer */
|
grub_uint32_t tr_index; /* index of TD in transfer */
|
||||||
grub_uint8_t pad[8 - sizeof (volatile struct grub_ohci_td *)]; /* padding to 32 bytes */
|
grub_uint8_t pad[8 - sizeof (volatile struct grub_ohci_td *)]; /* padding to 32 bytes */
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* OHCI Endpoint Descriptor. */
|
/* OHCI Endpoint Descriptor. */
|
||||||
struct grub_ohci_ed
|
struct grub_ohci_ed
|
||||||
|
@ -73,7 +73,7 @@ struct grub_ohci_ed
|
||||||
grub_uint32_t td_tail;
|
grub_uint32_t td_tail;
|
||||||
grub_uint32_t td_head;
|
grub_uint32_t td_head;
|
||||||
grub_uint32_t next_ed;
|
grub_uint32_t next_ed;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
typedef volatile struct grub_ohci_td *grub_ohci_td_t;
|
typedef volatile struct grub_ohci_td *grub_ohci_td_t;
|
||||||
typedef volatile struct grub_ohci_ed *grub_ohci_ed_t;
|
typedef volatile struct grub_ohci_ed *grub_ohci_ed_t;
|
||||||
|
|
|
@ -55,7 +55,7 @@ struct grub_pl2303_config
|
||||||
grub_uint8_t stop_bits;
|
grub_uint8_t stop_bits;
|
||||||
grub_uint8_t parity;
|
grub_uint8_t parity;
|
||||||
grub_uint8_t word_len;
|
grub_uint8_t word_len;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
real_config (struct grub_serial_port *port)
|
real_config (struct grub_serial_port *port)
|
||||||
|
|
|
@ -105,7 +105,7 @@ struct grub_uhci_qh
|
||||||
/* Queue heads are aligned on 16 bytes, pad so a queue head is 16
|
/* Queue heads are aligned on 16 bytes, pad so a queue head is 16
|
||||||
bytes so we can store many in a 4K page. */
|
bytes so we can store many in a 4K page. */
|
||||||
grub_uint8_t pad[8];
|
grub_uint8_t pad[8];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* UHCI Transfer Descriptor. */
|
/* UHCI Transfer Descriptor. */
|
||||||
struct grub_uhci_td
|
struct grub_uhci_td
|
||||||
|
@ -129,7 +129,7 @@ struct grub_uhci_td
|
||||||
|
|
||||||
/* 3 additional 32 bits words reserved for the Host Controller Driver. */
|
/* 3 additional 32 bits words reserved for the Host Controller Driver. */
|
||||||
grub_uint32_t data[3];
|
grub_uint32_t data[3];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
typedef volatile struct grub_uhci_td *grub_uhci_td_t;
|
typedef volatile struct grub_uhci_td *grub_uhci_td_t;
|
||||||
typedef volatile struct grub_uhci_qh *grub_uhci_qh_t;
|
typedef volatile struct grub_uhci_qh *grub_uhci_qh_t;
|
||||||
|
|
|
@ -74,7 +74,7 @@ typedef struct drivemap_node
|
||||||
grub_uint8_t redirto;
|
grub_uint8_t redirto;
|
||||||
} drivemap_node_t;
|
} drivemap_node_t;
|
||||||
|
|
||||||
typedef struct __attribute__ ((packed)) int13map_node
|
typedef struct GRUB_PACKED int13map_node
|
||||||
{
|
{
|
||||||
grub_uint8_t disknum;
|
grub_uint8_t disknum;
|
||||||
grub_uint8_t mapto;
|
grub_uint8_t mapto;
|
||||||
|
|
|
@ -133,7 +133,7 @@ struct signature_v4_header
|
||||||
grub_uint8_t pkeyalgo;
|
grub_uint8_t pkeyalgo;
|
||||||
grub_uint8_t hash;
|
grub_uint8_t hash;
|
||||||
grub_uint16_t hashed_sub;
|
grub_uint16_t hashed_sub;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
const char *hashes[] = {
|
const char *hashes[] = {
|
||||||
[0x01] = "md5",
|
[0x01] = "md5",
|
||||||
|
|
|
@ -88,7 +88,7 @@ struct grub_nv_super
|
||||||
char prodrev[NV_PRODREV_LEN]; /* 0x2C - 0x2F Array product revision */
|
char prodrev[NV_PRODREV_LEN]; /* 0x2C - 0x2F Array product revision */
|
||||||
grub_uint32_t unit_flags; /* 0x30 - 0x33 Flags for this disk */
|
grub_uint32_t unit_flags; /* 0x30 - 0x33 Flags for this disk */
|
||||||
struct grub_nv_array array; /* Array information */
|
struct grub_nv_array array; /* Array information */
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
static struct grub_diskfilter_vg *
|
static struct grub_diskfilter_vg *
|
||||||
grub_dmraid_nv_detect (grub_disk_t disk,
|
grub_dmraid_nv_detect (grub_disk_t disk,
|
||||||
|
|
|
@ -95,7 +95,7 @@ struct grub_geli_key
|
||||||
grub_uint8_t iv_key[64];
|
grub_uint8_t iv_key[64];
|
||||||
grub_uint8_t cipher_key[64];
|
grub_uint8_t cipher_key[64];
|
||||||
grub_uint8_t hmac[64];
|
grub_uint8_t hmac[64];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_geli_phdr
|
struct grub_geli_phdr
|
||||||
{
|
{
|
||||||
|
@ -111,7 +111,7 @@ struct grub_geli_phdr
|
||||||
grub_uint32_t niter;
|
grub_uint32_t niter;
|
||||||
grub_uint8_t salt[64];
|
grub_uint8_t salt[64];
|
||||||
struct grub_geli_key keys[2];
|
struct grub_geli_key keys[2];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
@ -144,7 +144,7 @@ geli_rekey (struct grub_cryptodisk *dev, grub_uint64_t zoneno)
|
||||||
const struct {
|
const struct {
|
||||||
char magic[4];
|
char magic[4];
|
||||||
grub_uint64_t zone;
|
grub_uint64_t zone;
|
||||||
} __attribute__ ((packed)) tohash
|
} GRUB_PACKED tohash
|
||||||
= { {'e', 'k', 'e', 'y'}, grub_cpu_to_le64 (zoneno) };
|
= { {'e', 'k', 'e', 'y'}, grub_cpu_to_le64 (zoneno) };
|
||||||
GRUB_PROPERLY_ALIGNED_ARRAY (key, GRUB_CRYPTO_MAX_MDLEN);
|
GRUB_PROPERLY_ALIGNED_ARRAY (key, GRUB_CRYPTO_MAX_MDLEN);
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,7 @@ struct grub_ldm_vblk {
|
||||||
grub_uint8_t type;
|
grub_uint8_t type;
|
||||||
grub_uint32_t unused2;
|
grub_uint32_t unused2;
|
||||||
grub_uint8_t dynamic[104];
|
grub_uint8_t dynamic[104];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
#define LDM_VBLK_MAGIC "VBLK"
|
#define LDM_VBLK_MAGIC "VBLK"
|
||||||
|
|
||||||
enum
|
enum
|
||||||
|
@ -83,7 +83,7 @@ struct grub_ldm_label
|
||||||
grub_uint64_t pv_size;
|
grub_uint64_t pv_size;
|
||||||
grub_uint64_t config_start;
|
grub_uint64_t config_start;
|
||||||
grub_uint64_t config_size;
|
grub_uint64_t config_size;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
|
|
||||||
#define LDM_MAGIC "PRIVHEAD"
|
#define LDM_MAGIC "PRIVHEAD"
|
||||||
|
|
|
@ -56,7 +56,7 @@ struct grub_luks_phdr
|
||||||
grub_uint32_t keyMaterialOffset;
|
grub_uint32_t keyMaterialOffset;
|
||||||
grub_uint32_t stripes;
|
grub_uint32_t stripes;
|
||||||
} keyblock[8];
|
} keyblock[8];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
typedef struct grub_luks_phdr *grub_luks_phdr_t;
|
typedef struct grub_luks_phdr *grub_luks_phdr_t;
|
||||||
|
|
||||||
|
|
|
@ -97,7 +97,7 @@ struct grub_raid_super_1x
|
||||||
*/
|
*/
|
||||||
grub_uint16_t dev_roles[0]; /* Role in array, or 0xffff for a spare, or 0xfffe for faulty. */
|
grub_uint16_t dev_roles[0]; /* Role in array, or 0xffff for a spare, or 0xfffe for faulty. */
|
||||||
};
|
};
|
||||||
/* Could be __attribute__ ((packed)), but since all members in this struct
|
/* Could be GRUB_PACKED, but since all members in this struct
|
||||||
are already appropriately aligned, we can omit this and avoid suboptimal
|
are already appropriately aligned, we can omit this and avoid suboptimal
|
||||||
assembly in some cases. */
|
assembly in some cases. */
|
||||||
|
|
||||||
|
|
|
@ -175,7 +175,7 @@ struct grub_raid_super_09
|
||||||
* Active descriptor
|
* Active descriptor
|
||||||
*/
|
*/
|
||||||
struct grub_raid_disk_09 this_disk;
|
struct grub_raid_disk_09 this_disk;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
static struct grub_diskfilter_vg *
|
static struct grub_diskfilter_vg *
|
||||||
grub_mdraid_detect (grub_disk_t disk,
|
grub_mdraid_detect (grub_disk_t disk,
|
||||||
|
|
|
@ -44,7 +44,7 @@ struct grub_usbms_cbw
|
||||||
grub_uint8_t lun;
|
grub_uint8_t lun;
|
||||||
grub_uint8_t length;
|
grub_uint8_t length;
|
||||||
grub_uint8_t cbwcb[16];
|
grub_uint8_t cbwcb[16];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_usbms_csw
|
struct grub_usbms_csw
|
||||||
{
|
{
|
||||||
|
@ -52,7 +52,7 @@ struct grub_usbms_csw
|
||||||
grub_uint32_t tag;
|
grub_uint32_t tag;
|
||||||
grub_uint32_t residue;
|
grub_uint32_t residue;
|
||||||
grub_uint8_t status;
|
grub_uint8_t status;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_usbms_dev
|
struct grub_usbms_dev
|
||||||
{
|
{
|
||||||
|
|
|
@ -36,7 +36,7 @@ struct grub_affs_bblock
|
||||||
grub_uint8_t flags;
|
grub_uint8_t flags;
|
||||||
grub_uint32_t checksum;
|
grub_uint32_t checksum;
|
||||||
grub_uint32_t rootblock;
|
grub_uint32_t rootblock;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* Set if the filesystem is a AFFS filesystem. Otherwise this is an
|
/* Set if the filesystem is a AFFS filesystem. Otherwise this is an
|
||||||
OFS filesystem. */
|
OFS filesystem. */
|
||||||
|
@ -51,14 +51,14 @@ struct grub_affs_rblock
|
||||||
grub_uint32_t unused2;
|
grub_uint32_t unused2;
|
||||||
grub_uint32_t checksum;
|
grub_uint32_t checksum;
|
||||||
grub_uint32_t hashtable[1];
|
grub_uint32_t hashtable[1];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_affs_time
|
struct grub_affs_time
|
||||||
{
|
{
|
||||||
grub_int32_t day;
|
grub_int32_t day;
|
||||||
grub_uint32_t min;
|
grub_uint32_t min;
|
||||||
grub_uint32_t hz;
|
grub_uint32_t hz;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* The second part of a file header block. */
|
/* The second part of a file header block. */
|
||||||
struct grub_affs_file
|
struct grub_affs_file
|
||||||
|
@ -76,7 +76,7 @@ struct grub_affs_file
|
||||||
grub_uint32_t parent;
|
grub_uint32_t parent;
|
||||||
grub_uint32_t extension;
|
grub_uint32_t extension;
|
||||||
grub_uint32_t type;
|
grub_uint32_t type;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* The location of `struct grub_affs_file' relative to the end of a
|
/* The location of `struct grub_affs_file' relative to the end of a
|
||||||
file header block. */
|
file header block. */
|
||||||
|
|
|
@ -73,7 +73,7 @@ struct grub_bfs_extent
|
||||||
grub_uint32_t ag;
|
grub_uint32_t ag;
|
||||||
grub_uint16_t start;
|
grub_uint16_t start;
|
||||||
grub_uint16_t len;
|
grub_uint16_t len;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_bfs_superblock
|
struct grub_bfs_superblock
|
||||||
{
|
{
|
||||||
|
@ -89,7 +89,7 @@ struct grub_bfs_superblock
|
||||||
grub_uint8_t unused3[32];
|
grub_uint8_t unused3[32];
|
||||||
grub_uint32_t magic3;
|
grub_uint32_t magic3;
|
||||||
struct grub_bfs_extent root_dir;
|
struct grub_bfs_extent root_dir;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_bfs_inode
|
struct grub_bfs_inode
|
||||||
{
|
{
|
||||||
|
@ -118,11 +118,11 @@ struct grub_bfs_inode
|
||||||
grub_uint64_t max_double_indirect_range;
|
grub_uint64_t max_double_indirect_range;
|
||||||
grub_uint64_t size;
|
grub_uint64_t size;
|
||||||
grub_uint32_t pad[4];
|
grub_uint32_t pad[4];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
char inplace_link[144];
|
char inplace_link[144];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
grub_uint8_t small_data[0];
|
grub_uint8_t small_data[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
@ -134,7 +134,7 @@ struct grub_bfs_small_data_element_header
|
||||||
grub_uint32_t type;
|
grub_uint32_t type;
|
||||||
grub_uint16_t name_len;
|
grub_uint16_t name_len;
|
||||||
grub_uint16_t value_len;
|
grub_uint16_t value_len;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_bfs_btree_header
|
struct grub_bfs_btree_header
|
||||||
{
|
{
|
||||||
|
@ -151,7 +151,7 @@ struct grub_bfs_btree_header
|
||||||
grub_uint64_t root;
|
grub_uint64_t root;
|
||||||
#endif
|
#endif
|
||||||
grub_uint32_t unused2[2];
|
grub_uint32_t unused2[2];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_bfs_btree_node
|
struct grub_bfs_btree_node
|
||||||
{
|
{
|
||||||
|
@ -165,7 +165,7 @@ struct grub_bfs_btree_node
|
||||||
grub_uint16_t count_keys;
|
grub_uint16_t count_keys;
|
||||||
grub_uint16_t total_key_len;
|
grub_uint16_t total_key_len;
|
||||||
#endif
|
#endif
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_bfs_data
|
struct grub_bfs_data
|
||||||
{
|
{
|
||||||
|
|
|
@ -53,7 +53,7 @@ struct grub_btrfs_device
|
||||||
grub_uint64_t device_id;
|
grub_uint64_t device_id;
|
||||||
grub_uint64_t size;
|
grub_uint64_t size;
|
||||||
grub_uint8_t dummy[0x62 - 0x10];
|
grub_uint8_t dummy[0x62 - 0x10];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_btrfs_superblock
|
struct grub_btrfs_superblock
|
||||||
{
|
{
|
||||||
|
@ -71,7 +71,7 @@ struct grub_btrfs_superblock
|
||||||
char label[0x100];
|
char label[0x100];
|
||||||
grub_uint8_t dummy4[0x100];
|
grub_uint8_t dummy4[0x100];
|
||||||
grub_uint8_t bootstrap_mapping[0x800];
|
grub_uint8_t bootstrap_mapping[0x800];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct btrfs_header
|
struct btrfs_header
|
||||||
{
|
{
|
||||||
|
@ -80,7 +80,7 @@ struct btrfs_header
|
||||||
grub_uint8_t dummy[0x30];
|
grub_uint8_t dummy[0x30];
|
||||||
grub_uint32_t nitems;
|
grub_uint32_t nitems;
|
||||||
grub_uint8_t level;
|
grub_uint8_t level;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_btrfs_device_desc
|
struct grub_btrfs_device_desc
|
||||||
{
|
{
|
||||||
|
@ -122,28 +122,28 @@ struct grub_btrfs_chunk_item
|
||||||
grub_uint8_t dummy2[0xc];
|
grub_uint8_t dummy2[0xc];
|
||||||
grub_uint16_t nstripes;
|
grub_uint16_t nstripes;
|
||||||
grub_uint16_t nsubstripes;
|
grub_uint16_t nsubstripes;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_btrfs_chunk_stripe
|
struct grub_btrfs_chunk_stripe
|
||||||
{
|
{
|
||||||
grub_uint64_t device_id;
|
grub_uint64_t device_id;
|
||||||
grub_uint64_t offset;
|
grub_uint64_t offset;
|
||||||
grub_btrfs_uuid_t device_uuid;
|
grub_btrfs_uuid_t device_uuid;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_btrfs_leaf_node
|
struct grub_btrfs_leaf_node
|
||||||
{
|
{
|
||||||
struct grub_btrfs_key key;
|
struct grub_btrfs_key key;
|
||||||
grub_uint32_t offset;
|
grub_uint32_t offset;
|
||||||
grub_uint32_t size;
|
grub_uint32_t size;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_btrfs_internal_node
|
struct grub_btrfs_internal_node
|
||||||
{
|
{
|
||||||
struct grub_btrfs_key key;
|
struct grub_btrfs_key key;
|
||||||
grub_uint64_t addr;
|
grub_uint64_t addr;
|
||||||
grub_uint64_t dummy;
|
grub_uint64_t dummy;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_btrfs_dir_item
|
struct grub_btrfs_dir_item
|
||||||
{
|
{
|
||||||
|
@ -156,7 +156,7 @@ struct grub_btrfs_dir_item
|
||||||
#define GRUB_BTRFS_DIR_ITEM_TYPE_SYMLINK 7
|
#define GRUB_BTRFS_DIR_ITEM_TYPE_SYMLINK 7
|
||||||
grub_uint8_t type;
|
grub_uint8_t type;
|
||||||
char name[0];
|
char name[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_btrfs_leaf_descriptor
|
struct grub_btrfs_leaf_descriptor
|
||||||
{
|
{
|
||||||
|
@ -183,7 +183,7 @@ struct grub_btrfs_inode
|
||||||
grub_uint64_t size;
|
grub_uint64_t size;
|
||||||
grub_uint8_t dummy2[0x70];
|
grub_uint8_t dummy2[0x70];
|
||||||
struct grub_btrfs_time mtime;
|
struct grub_btrfs_time mtime;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_btrfs_extent_data
|
struct grub_btrfs_extent_data
|
||||||
{
|
{
|
||||||
|
@ -204,7 +204,7 @@ struct grub_btrfs_extent_data
|
||||||
grub_uint64_t filled;
|
grub_uint64_t filled;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#define GRUB_BTRFS_EXTENT_INLINE 0
|
#define GRUB_BTRFS_EXTENT_INLINE 0
|
||||||
#define GRUB_BTRFS_EXTENT_REGULAR 1
|
#define GRUB_BTRFS_EXTENT_REGULAR 1
|
||||||
|
|
|
@ -35,7 +35,7 @@ struct head
|
||||||
grub_uint16_t mtime[2];
|
grub_uint16_t mtime[2];
|
||||||
grub_uint16_t namesize[1];
|
grub_uint16_t namesize[1];
|
||||||
grub_uint16_t filesize[2];
|
grub_uint16_t filesize[2];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
static inline unsigned long long
|
static inline unsigned long long
|
||||||
read_number (const grub_uint16_t *arr, grub_size_t size)
|
read_number (const grub_uint16_t *arr, grub_size_t size)
|
||||||
|
|
|
@ -35,7 +35,7 @@ struct head
|
||||||
grub_uint16_t mtime[2];
|
grub_uint16_t mtime[2];
|
||||||
grub_uint16_t namesize[1];
|
grub_uint16_t namesize[1];
|
||||||
grub_uint16_t filesize[2];
|
grub_uint16_t filesize[2];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
static inline unsigned long long
|
static inline unsigned long long
|
||||||
read_number (const grub_uint16_t *arr, grub_size_t size)
|
read_number (const grub_uint16_t *arr, grub_size_t size)
|
||||||
|
|
|
@ -92,7 +92,7 @@ struct grub_fat_dir_entry
|
||||||
grub_uint8_t m_time_tenth;
|
grub_uint8_t m_time_tenth;
|
||||||
grub_uint8_t a_time_tenth;
|
grub_uint8_t a_time_tenth;
|
||||||
grub_uint8_t reserved2[9];
|
grub_uint8_t reserved2[9];
|
||||||
} __attribute__ ((packed)) file;
|
} GRUB_PACKED file;
|
||||||
struct {
|
struct {
|
||||||
grub_uint8_t flags;
|
grub_uint8_t flags;
|
||||||
grub_uint8_t reserved1;
|
grub_uint8_t reserved1;
|
||||||
|
@ -103,17 +103,17 @@ struct grub_fat_dir_entry
|
||||||
grub_uint32_t reserved3;
|
grub_uint32_t reserved3;
|
||||||
grub_uint32_t first_cluster;
|
grub_uint32_t first_cluster;
|
||||||
grub_uint64_t file_size;
|
grub_uint64_t file_size;
|
||||||
} __attribute__ ((packed)) stream_extension;
|
} GRUB_PACKED stream_extension;
|
||||||
struct {
|
struct {
|
||||||
grub_uint8_t flags;
|
grub_uint8_t flags;
|
||||||
grub_uint16_t str[15];
|
grub_uint16_t str[15];
|
||||||
} __attribute__ ((packed)) file_name;
|
} GRUB_PACKED file_name;
|
||||||
struct {
|
struct {
|
||||||
grub_uint8_t character_count;
|
grub_uint8_t character_count;
|
||||||
grub_uint16_t str[15];
|
grub_uint16_t str[15];
|
||||||
} __attribute__ ((packed)) volume_label;
|
} GRUB_PACKED volume_label;
|
||||||
} __attribute__ ((packed)) type_specific;
|
} GRUB_PACKED type_specific;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_fat_dir_node
|
struct grub_fat_dir_node
|
||||||
{
|
{
|
||||||
|
@ -142,7 +142,7 @@ struct grub_fat_dir_entry
|
||||||
grub_uint16_t w_date;
|
grub_uint16_t w_date;
|
||||||
grub_uint16_t first_cluster_low;
|
grub_uint16_t first_cluster_low;
|
||||||
grub_uint32_t file_size;
|
grub_uint32_t file_size;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_fat_long_name_entry
|
struct grub_fat_long_name_entry
|
||||||
{
|
{
|
||||||
|
@ -154,7 +154,7 @@ struct grub_fat_long_name_entry
|
||||||
grub_uint16_t name2[6];
|
grub_uint16_t name2[6];
|
||||||
grub_uint16_t first_cluster;
|
grub_uint16_t first_cluster;
|
||||||
grub_uint16_t name3[2];
|
grub_uint16_t name3[2];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
typedef struct grub_fat_dir_entry grub_fat_dir_node_t;
|
typedef struct grub_fat_dir_entry grub_fat_dir_node_t;
|
||||||
|
|
||||||
|
|
|
@ -65,7 +65,7 @@ struct grub_hfs_node
|
||||||
grub_uint8_t level;
|
grub_uint8_t level;
|
||||||
grub_uint16_t reccnt;
|
grub_uint16_t reccnt;
|
||||||
grub_uint16_t unused;
|
grub_uint16_t unused;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* The head of the B*-Tree. */
|
/* The head of the B*-Tree. */
|
||||||
struct grub_hfs_treeheader
|
struct grub_hfs_treeheader
|
||||||
|
@ -81,7 +81,7 @@ struct grub_hfs_treeheader
|
||||||
grub_uint32_t nodes;
|
grub_uint32_t nodes;
|
||||||
grub_uint32_t free_nodes;
|
grub_uint32_t free_nodes;
|
||||||
grub_uint8_t unused[76];
|
grub_uint8_t unused[76];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* The state of a mounted HFS filesystem. */
|
/* The state of a mounted HFS filesystem. */
|
||||||
struct grub_hfs_data
|
struct grub_hfs_data
|
||||||
|
@ -112,7 +112,7 @@ struct grub_hfs_catalog_key
|
||||||
|
|
||||||
/* Filename. */
|
/* Filename. */
|
||||||
grub_uint8_t str[31];
|
grub_uint8_t str[31];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* The key as used on disk in a extent overflow tree. Using this key
|
/* The key as used on disk in a extent overflow tree. Using this key
|
||||||
the extents can be looked up using a fileid and logical start block
|
the extents can be looked up using a fileid and logical start block
|
||||||
|
@ -125,7 +125,7 @@ struct grub_hfs_extent_key
|
||||||
grub_uint8_t forktype;
|
grub_uint8_t forktype;
|
||||||
grub_uint32_t fileid;
|
grub_uint32_t fileid;
|
||||||
grub_uint16_t first_block;
|
grub_uint16_t first_block;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* A directory record. This is used to find out the directory ID. */
|
/* A directory record. This is used to find out the directory ID. */
|
||||||
struct grub_hfs_dirrec
|
struct grub_hfs_dirrec
|
||||||
|
@ -136,7 +136,7 @@ struct grub_hfs_dirrec
|
||||||
grub_uint32_t dirid;
|
grub_uint32_t dirid;
|
||||||
grub_uint32_t ctime;
|
grub_uint32_t ctime;
|
||||||
grub_uint32_t mtime;
|
grub_uint32_t mtime;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* Information about a file. */
|
/* Information about a file. */
|
||||||
struct grub_hfs_filerec
|
struct grub_hfs_filerec
|
||||||
|
@ -154,7 +154,7 @@ struct grub_hfs_filerec
|
||||||
/* The first 3 extents of the file. The other extents can be found
|
/* The first 3 extents of the file. The other extents can be found
|
||||||
in the extent overflow file. */
|
in the extent overflow file. */
|
||||||
grub_hfs_datarecord_t extents;
|
grub_hfs_datarecord_t extents;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* A record descriptor, both key and data, used to pass to call back
|
/* A record descriptor, both key and data, used to pass to call back
|
||||||
functions. */
|
functions. */
|
||||||
|
@ -712,7 +712,7 @@ grub_hfs_iterate_records (struct grub_hfs_data *data, int type, int idx,
|
||||||
{
|
{
|
||||||
grub_uint8_t keylen;
|
grub_uint8_t keylen;
|
||||||
grub_uint8_t key;
|
grub_uint8_t key;
|
||||||
} __attribute__ ((packed)) *pnt;
|
} GRUB_PACKED *pnt;
|
||||||
pnt = (struct pointer *) (grub_be_to_cpu16 (node->offsets[pos])
|
pnt = (struct pointer *) (grub_be_to_cpu16 (node->offsets[pos])
|
||||||
+ node->rawnode);
|
+ node->rawnode);
|
||||||
|
|
||||||
|
|
|
@ -65,7 +65,7 @@ struct grub_hfsplus_btheader
|
||||||
grub_uint8_t btree_type;
|
grub_uint8_t btree_type;
|
||||||
grub_uint8_t key_compare;
|
grub_uint8_t key_compare;
|
||||||
grub_uint32_t attributes;
|
grub_uint32_t attributes;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_hfsplus_catfile
|
struct grub_hfsplus_catfile
|
||||||
{
|
{
|
||||||
|
@ -80,7 +80,7 @@ struct grub_hfsplus_catfile
|
||||||
grub_uint8_t unused3[44];
|
grub_uint8_t unused3[44];
|
||||||
struct grub_hfsplus_forkdata data;
|
struct grub_hfsplus_forkdata data;
|
||||||
struct grub_hfsplus_forkdata resource;
|
struct grub_hfsplus_forkdata resource;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* Filetype information as used in inodes. */
|
/* Filetype information as used in inodes. */
|
||||||
#define GRUB_HFSPLUS_FILEMODE_MASK 0170000
|
#define GRUB_HFSPLUS_FILEMODE_MASK 0170000
|
||||||
|
|
|
@ -35,19 +35,19 @@ struct grub_hfsplus_compress_header1
|
||||||
grub_uint32_t total_compressed_size_including_seek_blocks_and_header2;
|
grub_uint32_t total_compressed_size_including_seek_blocks_and_header2;
|
||||||
grub_uint32_t value_0x32;
|
grub_uint32_t value_0x32;
|
||||||
grub_uint8_t unused[0xf0];
|
grub_uint8_t unused[0xf0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* big-endian. */
|
/* big-endian. */
|
||||||
struct grub_hfsplus_compress_header2
|
struct grub_hfsplus_compress_header2
|
||||||
{
|
{
|
||||||
grub_uint32_t total_compressed_size_including_seek_blocks;
|
grub_uint32_t total_compressed_size_including_seek_blocks;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* little-endian. */
|
/* little-endian. */
|
||||||
struct grub_hfsplus_compress_header3
|
struct grub_hfsplus_compress_header3
|
||||||
{
|
{
|
||||||
grub_uint32_t num_chunks;
|
grub_uint32_t num_chunks;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* little-endian. */
|
/* little-endian. */
|
||||||
struct grub_hfsplus_compress_block_descriptor
|
struct grub_hfsplus_compress_block_descriptor
|
||||||
|
@ -59,7 +59,7 @@ struct grub_hfsplus_compress_block_descriptor
|
||||||
struct grub_hfsplus_compress_end_descriptor
|
struct grub_hfsplus_compress_end_descriptor
|
||||||
{
|
{
|
||||||
grub_uint8_t always_the_same[50];
|
grub_uint8_t always_the_same[50];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_hfsplus_attr_header
|
struct grub_hfsplus_attr_header
|
||||||
{
|
{
|
||||||
|
@ -67,7 +67,7 @@ struct grub_hfsplus_attr_header
|
||||||
grub_uint8_t type;
|
grub_uint8_t type;
|
||||||
grub_uint32_t unknown[1];
|
grub_uint32_t unknown[1];
|
||||||
grub_uint64_t size;
|
grub_uint64_t size;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_hfsplus_compress_attr
|
struct grub_hfsplus_compress_attr
|
||||||
{
|
{
|
||||||
|
@ -75,7 +75,7 @@ struct grub_hfsplus_compress_attr
|
||||||
grub_uint32_t type;
|
grub_uint32_t type;
|
||||||
grub_uint32_t uncompressed_inline_size;
|
grub_uint32_t uncompressed_inline_size;
|
||||||
grub_uint32_t always_0;
|
grub_uint32_t always_0;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
|
|
@ -54,7 +54,7 @@ struct grub_iso9660_voldesc
|
||||||
grub_uint8_t type;
|
grub_uint8_t type;
|
||||||
grub_uint8_t magic[5];
|
grub_uint8_t magic[5];
|
||||||
grub_uint8_t version;
|
grub_uint8_t version;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_iso9660_date2
|
struct grub_iso9660_date2
|
||||||
{
|
{
|
||||||
|
@ -65,7 +65,7 @@ struct grub_iso9660_date2
|
||||||
grub_uint8_t minute;
|
grub_uint8_t minute;
|
||||||
grub_uint8_t second;
|
grub_uint8_t second;
|
||||||
grub_uint8_t offset;
|
grub_uint8_t offset;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* A directory entry. */
|
/* A directory entry. */
|
||||||
struct grub_iso9660_dir
|
struct grub_iso9660_dir
|
||||||
|
@ -81,7 +81,7 @@ struct grub_iso9660_dir
|
||||||
grub_uint8_t unused2[6];
|
grub_uint8_t unused2[6];
|
||||||
#define MAX_NAMELEN 255
|
#define MAX_NAMELEN 255
|
||||||
grub_uint8_t namelen;
|
grub_uint8_t namelen;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_iso9660_date
|
struct grub_iso9660_date
|
||||||
{
|
{
|
||||||
|
@ -93,7 +93,7 @@ struct grub_iso9660_date
|
||||||
grub_uint8_t second[2];
|
grub_uint8_t second[2];
|
||||||
grub_uint8_t hundredth[2];
|
grub_uint8_t hundredth[2];
|
||||||
grub_uint8_t offset;
|
grub_uint8_t offset;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* The primary volume descriptor. Only little endian is used. */
|
/* The primary volume descriptor. Only little endian is used. */
|
||||||
struct grub_iso9660_primary_voldesc
|
struct grub_iso9660_primary_voldesc
|
||||||
|
@ -112,7 +112,7 @@ struct grub_iso9660_primary_voldesc
|
||||||
grub_uint8_t unused6[624];
|
grub_uint8_t unused6[624];
|
||||||
struct grub_iso9660_date created;
|
struct grub_iso9660_date created;
|
||||||
struct grub_iso9660_date modified;
|
struct grub_iso9660_date modified;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* A single entry in the path table. */
|
/* A single entry in the path table. */
|
||||||
struct grub_iso9660_path
|
struct grub_iso9660_path
|
||||||
|
@ -122,7 +122,7 @@ struct grub_iso9660_path
|
||||||
grub_uint32_t first_sector;
|
grub_uint32_t first_sector;
|
||||||
grub_uint16_t parentdir;
|
grub_uint16_t parentdir;
|
||||||
grub_uint8_t name[0];
|
grub_uint8_t name[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* An entry in the System Usage area of the directory entry. */
|
/* An entry in the System Usage area of the directory entry. */
|
||||||
struct grub_iso9660_susp_entry
|
struct grub_iso9660_susp_entry
|
||||||
|
@ -131,7 +131,7 @@ struct grub_iso9660_susp_entry
|
||||||
grub_uint8_t len;
|
grub_uint8_t len;
|
||||||
grub_uint8_t version;
|
grub_uint8_t version;
|
||||||
grub_uint8_t data[0];
|
grub_uint8_t data[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* The CE entry. This is used to describe the next block where data
|
/* The CE entry. This is used to describe the next block where data
|
||||||
can be found. */
|
can be found. */
|
||||||
|
@ -144,7 +144,7 @@ struct grub_iso9660_susp_ce
|
||||||
grub_uint32_t off_be;
|
grub_uint32_t off_be;
|
||||||
grub_uint32_t len;
|
grub_uint32_t len;
|
||||||
grub_uint32_t len_be;
|
grub_uint32_t len_be;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_iso9660_data
|
struct grub_iso9660_data
|
||||||
{
|
{
|
||||||
|
|
|
@ -70,7 +70,7 @@ struct grub_jfs_extent
|
||||||
/* The physical offset of the first block on the disk. */
|
/* The physical offset of the first block on the disk. */
|
||||||
grub_uint8_t blk1;
|
grub_uint8_t blk1;
|
||||||
grub_uint32_t blk2;
|
grub_uint32_t blk2;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#define GRUB_JFS_IAG_INODES_OFFSET 3072
|
#define GRUB_JFS_IAG_INODES_OFFSET 3072
|
||||||
#define GRUB_JFS_IAG_INODES_COUNT 128
|
#define GRUB_JFS_IAG_INODES_COUNT 128
|
||||||
|
@ -79,7 +79,7 @@ struct grub_jfs_iag
|
||||||
{
|
{
|
||||||
grub_uint8_t unused[GRUB_JFS_IAG_INODES_OFFSET];
|
grub_uint8_t unused[GRUB_JFS_IAG_INODES_OFFSET];
|
||||||
struct grub_jfs_extent inodes[GRUB_JFS_IAG_INODES_COUNT];
|
struct grub_jfs_extent inodes[GRUB_JFS_IAG_INODES_COUNT];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
|
|
||||||
/* The head of the tree used to find extents. */
|
/* The head of the tree used to find extents. */
|
||||||
|
@ -94,7 +94,7 @@ struct grub_jfs_treehead
|
||||||
grub_uint16_t count;
|
grub_uint16_t count;
|
||||||
grub_uint16_t max;
|
grub_uint16_t max;
|
||||||
grub_uint8_t unused2[10];
|
grub_uint8_t unused2[10];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* A node in the extent tree. */
|
/* A node in the extent tree. */
|
||||||
struct grub_jfs_tree_extent
|
struct grub_jfs_tree_extent
|
||||||
|
@ -107,7 +107,7 @@ struct grub_jfs_tree_extent
|
||||||
grub_uint32_t offset2;
|
grub_uint32_t offset2;
|
||||||
|
|
||||||
struct grub_jfs_extent extent;
|
struct grub_jfs_extent extent;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* The tree of directory entries. */
|
/* The tree of directory entries. */
|
||||||
struct grub_jfs_tree_dir
|
struct grub_jfs_tree_dir
|
||||||
|
@ -128,7 +128,7 @@ struct grub_jfs_tree_dir
|
||||||
/* The location of the sorted array of pointers to dirents. */
|
/* The location of the sorted array of pointers to dirents. */
|
||||||
grub_uint8_t sindex;
|
grub_uint8_t sindex;
|
||||||
grub_uint8_t unused[10];
|
grub_uint8_t unused[10];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* An internal node in the dirents tree. */
|
/* An internal node in the dirents tree. */
|
||||||
struct grub_jfs_internal_dirent
|
struct grub_jfs_internal_dirent
|
||||||
|
@ -137,7 +137,7 @@ struct grub_jfs_internal_dirent
|
||||||
grub_uint8_t next;
|
grub_uint8_t next;
|
||||||
grub_uint8_t len;
|
grub_uint8_t len;
|
||||||
grub_uint16_t namepart[11];
|
grub_uint16_t namepart[11];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* A leaf node in the dirents tree. */
|
/* A leaf node in the dirents tree. */
|
||||||
struct grub_jfs_leaf_dirent
|
struct grub_jfs_leaf_dirent
|
||||||
|
@ -150,7 +150,7 @@ struct grub_jfs_leaf_dirent
|
||||||
grub_uint8_t len;
|
grub_uint8_t len;
|
||||||
grub_uint16_t namepart[11];
|
grub_uint16_t namepart[11];
|
||||||
grub_uint32_t index;
|
grub_uint32_t index;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* A leaf in the dirents tree. This one is used if the previously
|
/* A leaf in the dirents tree. This one is used if the previously
|
||||||
dirent was not big enough to store the name. */
|
dirent was not big enough to store the name. */
|
||||||
|
@ -159,13 +159,13 @@ struct grub_jfs_leaf_next_dirent
|
||||||
grub_uint8_t next;
|
grub_uint8_t next;
|
||||||
grub_uint8_t len;
|
grub_uint8_t len;
|
||||||
grub_uint16_t namepart[15];
|
grub_uint16_t namepart[15];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_jfs_time
|
struct grub_jfs_time
|
||||||
{
|
{
|
||||||
grub_int32_t sec;
|
grub_int32_t sec;
|
||||||
grub_int32_t nanosec;
|
grub_int32_t nanosec;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_jfs_inode
|
struct grub_jfs_inode
|
||||||
{
|
{
|
||||||
|
@ -185,7 +185,7 @@ struct grub_jfs_inode
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
/* The tree describing the extents of the file. */
|
/* The tree describing the extents of the file. */
|
||||||
struct __attribute__ ((packed))
|
struct GRUB_PACKED
|
||||||
{
|
{
|
||||||
struct grub_jfs_treehead tree;
|
struct grub_jfs_treehead tree;
|
||||||
struct grub_jfs_tree_extent extents[16];
|
struct grub_jfs_tree_extent extents[16];
|
||||||
|
@ -206,15 +206,15 @@ struct grub_jfs_inode
|
||||||
grub_uint8_t sorted[8];
|
grub_uint8_t sorted[8];
|
||||||
} header;
|
} header;
|
||||||
struct grub_jfs_leaf_dirent dirents[8];
|
struct grub_jfs_leaf_dirent dirents[8];
|
||||||
} dir __attribute__ ((packed));
|
} GRUB_PACKED dir;
|
||||||
/* Fast symlink. */
|
/* Fast symlink. */
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
grub_uint8_t unused[32];
|
grub_uint8_t unused[32];
|
||||||
grub_uint8_t path[256];
|
grub_uint8_t path[256];
|
||||||
} symlink;
|
} symlink;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_jfs_data
|
struct grub_jfs_data
|
||||||
{
|
{
|
||||||
|
@ -226,7 +226,7 @@ struct grub_jfs_data
|
||||||
int pos;
|
int pos;
|
||||||
int linknest;
|
int linknest;
|
||||||
int namecomponentlen;
|
int namecomponentlen;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_jfs_diropen
|
struct grub_jfs_diropen
|
||||||
{
|
{
|
||||||
|
@ -237,7 +237,7 @@ struct grub_jfs_diropen
|
||||||
struct grub_jfs_leaf_dirent dirent[0];
|
struct grub_jfs_leaf_dirent dirent[0];
|
||||||
struct grub_jfs_leaf_next_dirent next_dirent[0];
|
struct grub_jfs_leaf_next_dirent next_dirent[0];
|
||||||
grub_uint8_t sorted[0];
|
grub_uint8_t sorted[0];
|
||||||
} *dirpage __attribute__ ((packed));
|
} GRUB_PACKED *dirpage;
|
||||||
struct grub_jfs_data *data;
|
struct grub_jfs_data *data;
|
||||||
struct grub_jfs_inode *inode;
|
struct grub_jfs_inode *inode;
|
||||||
int count;
|
int count;
|
||||||
|
@ -251,7 +251,7 @@ struct grub_jfs_diropen
|
||||||
*/
|
*/
|
||||||
char name[256 * GRUB_MAX_UTF8_PER_UTF16 + 1];
|
char name[256 * GRUB_MAX_UTF8_PER_UTF16 + 1];
|
||||||
grub_uint32_t ino;
|
grub_uint32_t ino;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
|
|
||||||
static grub_dl_t my_mod;
|
static grub_dl_t my_mod;
|
||||||
|
|
|
@ -38,7 +38,7 @@ struct head
|
||||||
char rdevminor[8];
|
char rdevminor[8];
|
||||||
char namesize[8];
|
char namesize[8];
|
||||||
char check[8];
|
char check[8];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
static inline unsigned long long
|
static inline unsigned long long
|
||||||
read_number (const char *str, grub_size_t size)
|
read_number (const char *str, grub_size_t size)
|
||||||
|
|
|
@ -143,7 +143,7 @@ struct grub_nilfs2_dir_entry
|
||||||
char name[NILFS_NAME_LEN];
|
char name[NILFS_NAME_LEN];
|
||||||
char pad;
|
char pad;
|
||||||
#endif
|
#endif
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
|
|
@ -643,7 +643,7 @@ struct symlink_descriptor
|
||||||
grub_uint16_t len1;
|
grub_uint16_t len1;
|
||||||
grub_uint16_t off2;
|
grub_uint16_t off2;
|
||||||
grub_uint16_t len2;
|
grub_uint16_t len2;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
static char *
|
static char *
|
||||||
grub_ntfs_read_symlink (grub_fshelp_node_t node)
|
grub_ntfs_read_symlink (grub_fshelp_node_t node)
|
||||||
|
|
|
@ -35,7 +35,7 @@ struct head
|
||||||
char mtime[11];
|
char mtime[11];
|
||||||
char namesize[6];
|
char namesize[6];
|
||||||
char filesize[11];
|
char filesize[11];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
static inline unsigned long long
|
static inline unsigned long long
|
||||||
read_number (const char *str, grub_size_t size)
|
read_number (const char *str, grub_size_t size)
|
||||||
|
|
|
@ -109,14 +109,14 @@ struct grub_reiserfs_superblock
|
||||||
grub_uint8_t unused[4];
|
grub_uint8_t unused[4];
|
||||||
grub_uint16_t uuid[8];
|
grub_uint16_t uuid[8];
|
||||||
char label[16];
|
char label[16];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_reiserfs_journal_header
|
struct grub_reiserfs_journal_header
|
||||||
{
|
{
|
||||||
grub_uint32_t last_flush_uid;
|
grub_uint32_t last_flush_uid;
|
||||||
grub_uint32_t unflushed_offset;
|
grub_uint32_t unflushed_offset;
|
||||||
grub_uint32_t mount_id;
|
grub_uint32_t mount_id;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_reiserfs_description_block
|
struct grub_reiserfs_description_block
|
||||||
{
|
{
|
||||||
|
@ -124,14 +124,14 @@ struct grub_reiserfs_description_block
|
||||||
grub_uint32_t len;
|
grub_uint32_t len;
|
||||||
grub_uint32_t mount_id;
|
grub_uint32_t mount_id;
|
||||||
grub_uint32_t real_blocks[0];
|
grub_uint32_t real_blocks[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_reiserfs_commit_block
|
struct grub_reiserfs_commit_block
|
||||||
{
|
{
|
||||||
grub_uint32_t id;
|
grub_uint32_t id;
|
||||||
grub_uint32_t len;
|
grub_uint32_t len;
|
||||||
grub_uint32_t real_blocks[0];
|
grub_uint32_t real_blocks[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_reiserfs_stat_item_v1
|
struct grub_reiserfs_stat_item_v1
|
||||||
{
|
{
|
||||||
|
@ -145,7 +145,7 @@ struct grub_reiserfs_stat_item_v1
|
||||||
grub_uint32_t ctime;
|
grub_uint32_t ctime;
|
||||||
grub_uint32_t rdev;
|
grub_uint32_t rdev;
|
||||||
grub_uint32_t first_direct_byte;
|
grub_uint32_t first_direct_byte;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_reiserfs_stat_item_v2
|
struct grub_reiserfs_stat_item_v2
|
||||||
{
|
{
|
||||||
|
@ -160,7 +160,7 @@ struct grub_reiserfs_stat_item_v2
|
||||||
grub_uint32_t ctime;
|
grub_uint32_t ctime;
|
||||||
grub_uint32_t blocks;
|
grub_uint32_t blocks;
|
||||||
grub_uint32_t first_direct_byte;
|
grub_uint32_t first_direct_byte;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_reiserfs_key
|
struct grub_reiserfs_key
|
||||||
{
|
{
|
||||||
|
@ -172,13 +172,13 @@ struct grub_reiserfs_key
|
||||||
{
|
{
|
||||||
grub_uint32_t offset;
|
grub_uint32_t offset;
|
||||||
grub_uint32_t type;
|
grub_uint32_t type;
|
||||||
} v1 __attribute__ ((packed));
|
} GRUB_PACKED v1;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
grub_uint64_t offset_type;
|
grub_uint64_t offset_type;
|
||||||
} v2 __attribute__ ((packed));
|
} GRUB_PACKED v2;
|
||||||
} u;
|
} u;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_reiserfs_item_header
|
struct grub_reiserfs_item_header
|
||||||
{
|
{
|
||||||
|
@ -187,11 +187,11 @@ struct grub_reiserfs_item_header
|
||||||
{
|
{
|
||||||
grub_uint16_t free_space;
|
grub_uint16_t free_space;
|
||||||
grub_uint16_t entry_count;
|
grub_uint16_t entry_count;
|
||||||
} u __attribute__ ((packed));
|
} GRUB_PACKED u;
|
||||||
grub_uint16_t item_size;
|
grub_uint16_t item_size;
|
||||||
grub_uint16_t item_location;
|
grub_uint16_t item_location;
|
||||||
grub_uint16_t version;
|
grub_uint16_t version;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_reiserfs_block_header
|
struct grub_reiserfs_block_header
|
||||||
{
|
{
|
||||||
|
@ -200,14 +200,14 @@ struct grub_reiserfs_block_header
|
||||||
grub_uint16_t free_space;
|
grub_uint16_t free_space;
|
||||||
grub_uint16_t reserved;
|
grub_uint16_t reserved;
|
||||||
struct grub_reiserfs_key block_right_delimiting_key;
|
struct grub_reiserfs_key block_right_delimiting_key;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_reiserfs_disk_child
|
struct grub_reiserfs_disk_child
|
||||||
{
|
{
|
||||||
grub_uint32_t block_number;
|
grub_uint32_t block_number;
|
||||||
grub_uint16_t size;
|
grub_uint16_t size;
|
||||||
grub_uint16_t reserved;
|
grub_uint16_t reserved;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_reiserfs_directory_header
|
struct grub_reiserfs_directory_header
|
||||||
{
|
{
|
||||||
|
@ -216,7 +216,7 @@ struct grub_reiserfs_directory_header
|
||||||
grub_uint32_t object_id;
|
grub_uint32_t object_id;
|
||||||
grub_uint16_t location;
|
grub_uint16_t location;
|
||||||
grub_uint16_t state;
|
grub_uint16_t state;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_fshelp_node
|
struct grub_fshelp_node
|
||||||
{
|
{
|
||||||
|
|
|
@ -35,7 +35,7 @@ struct grub_sfs_bheader
|
||||||
grub_uint8_t magic[4];
|
grub_uint8_t magic[4];
|
||||||
grub_uint32_t chksum;
|
grub_uint32_t chksum;
|
||||||
grub_uint32_t ipointtomyself;
|
grub_uint32_t ipointtomyself;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* The sfs rootblock. */
|
/* The sfs rootblock. */
|
||||||
struct grub_sfs_rblock
|
struct grub_sfs_rblock
|
||||||
|
@ -50,7 +50,7 @@ struct grub_sfs_rblock
|
||||||
grub_uint8_t unused3[8];
|
grub_uint8_t unused3[8];
|
||||||
grub_uint32_t rootobject;
|
grub_uint32_t rootobject;
|
||||||
grub_uint32_t btree;
|
grub_uint32_t btree;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
@ -69,18 +69,18 @@ struct grub_sfs_obj
|
||||||
{
|
{
|
||||||
grub_uint32_t first_block;
|
grub_uint32_t first_block;
|
||||||
grub_uint32_t size;
|
grub_uint32_t size;
|
||||||
} file __attribute__ ((packed));
|
} GRUB_PACKED file;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
grub_uint32_t hashtable;
|
grub_uint32_t hashtable;
|
||||||
grub_uint32_t dir_objc;
|
grub_uint32_t dir_objc;
|
||||||
} dir __attribute__ ((packed));
|
} GRUB_PACKED dir;
|
||||||
} file_dir;
|
} file_dir;
|
||||||
grub_uint32_t mtime;
|
grub_uint32_t mtime;
|
||||||
grub_uint8_t type;
|
grub_uint8_t type;
|
||||||
grub_uint8_t filename[1];
|
grub_uint8_t filename[1];
|
||||||
grub_uint8_t comment[1];
|
grub_uint8_t comment[1];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#define GRUB_SFS_TYPE_DELETED 32
|
#define GRUB_SFS_TYPE_DELETED 32
|
||||||
#define GRUB_SFS_TYPE_SYMLINK 64
|
#define GRUB_SFS_TYPE_SYMLINK 64
|
||||||
|
@ -95,13 +95,13 @@ struct grub_sfs_objc
|
||||||
grub_uint32_t prev;
|
grub_uint32_t prev;
|
||||||
/* The amount of objects depends on the blocksize. */
|
/* The amount of objects depends on the blocksize. */
|
||||||
struct grub_sfs_obj objects[1];
|
struct grub_sfs_obj objects[1];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_sfs_btree_node
|
struct grub_sfs_btree_node
|
||||||
{
|
{
|
||||||
grub_uint32_t key;
|
grub_uint32_t key;
|
||||||
grub_uint32_t data;
|
grub_uint32_t data;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_sfs_btree_extent
|
struct grub_sfs_btree_extent
|
||||||
{
|
{
|
||||||
|
@ -109,7 +109,7 @@ struct grub_sfs_btree_extent
|
||||||
grub_uint32_t next;
|
grub_uint32_t next;
|
||||||
grub_uint32_t prev;
|
grub_uint32_t prev;
|
||||||
grub_uint16_t size;
|
grub_uint16_t size;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_sfs_btree
|
struct grub_sfs_btree
|
||||||
{
|
{
|
||||||
|
@ -120,7 +120,7 @@ struct grub_sfs_btree
|
||||||
/* Normally this can be kind of node, but just extents are
|
/* Normally this can be kind of node, but just extents are
|
||||||
supported. */
|
supported. */
|
||||||
struct grub_sfs_btree_node node[1];
|
struct grub_sfs_btree_node node[1];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ struct grub_squash_super
|
||||||
grub_uint64_t diroffset;
|
grub_uint64_t diroffset;
|
||||||
grub_uint64_t unk1offset;
|
grub_uint64_t unk1offset;
|
||||||
grub_uint64_t unk2offset;
|
grub_uint64_t unk2offset;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* Chunk-based */
|
/* Chunk-based */
|
||||||
struct grub_squash_inode
|
struct grub_squash_inode
|
||||||
|
@ -89,7 +89,7 @@ struct grub_squash_inode
|
||||||
grub_uint32_t offset;
|
grub_uint32_t offset;
|
||||||
grub_uint32_t size;
|
grub_uint32_t size;
|
||||||
grub_uint32_t block_size[0];
|
grub_uint32_t block_size[0];
|
||||||
} __attribute__ ((packed)) file;
|
} GRUB_PACKED file;
|
||||||
struct {
|
struct {
|
||||||
grub_uint64_t chunk;
|
grub_uint64_t chunk;
|
||||||
grub_uint64_t size;
|
grub_uint64_t size;
|
||||||
|
@ -98,13 +98,13 @@ struct grub_squash_inode
|
||||||
grub_uint32_t offset;
|
grub_uint32_t offset;
|
||||||
grub_uint32_t dummy3;
|
grub_uint32_t dummy3;
|
||||||
grub_uint32_t block_size[0];
|
grub_uint32_t block_size[0];
|
||||||
} __attribute__ ((packed)) long_file;
|
} GRUB_PACKED long_file;
|
||||||
struct {
|
struct {
|
||||||
grub_uint32_t chunk;
|
grub_uint32_t chunk;
|
||||||
grub_uint32_t dummy;
|
grub_uint32_t dummy;
|
||||||
grub_uint16_t size;
|
grub_uint16_t size;
|
||||||
grub_uint16_t offset;
|
grub_uint16_t offset;
|
||||||
} __attribute__ ((packed)) dir;
|
} GRUB_PACKED dir;
|
||||||
struct {
|
struct {
|
||||||
grub_uint32_t dummy1;
|
grub_uint32_t dummy1;
|
||||||
grub_uint32_t size;
|
grub_uint32_t size;
|
||||||
|
@ -112,14 +112,14 @@ struct grub_squash_inode
|
||||||
grub_uint32_t dummy2;
|
grub_uint32_t dummy2;
|
||||||
grub_uint16_t dummy3;
|
grub_uint16_t dummy3;
|
||||||
grub_uint16_t offset;
|
grub_uint16_t offset;
|
||||||
} __attribute__ ((packed)) long_dir;
|
} GRUB_PACKED long_dir;
|
||||||
struct {
|
struct {
|
||||||
grub_uint32_t dummy;
|
grub_uint32_t dummy;
|
||||||
grub_uint32_t namelen;
|
grub_uint32_t namelen;
|
||||||
char name[0];
|
char name[0];
|
||||||
} __attribute__ ((packed)) symlink;
|
} GRUB_PACKED symlink;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_squash_cache_inode
|
struct grub_squash_cache_inode
|
||||||
{
|
{
|
||||||
|
@ -137,7 +137,7 @@ struct grub_squash_dirent_header
|
||||||
grub_uint32_t nelems;
|
grub_uint32_t nelems;
|
||||||
grub_uint32_t ino_chunk;
|
grub_uint32_t ino_chunk;
|
||||||
grub_uint32_t dummy;
|
grub_uint32_t dummy;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_squash_dirent
|
struct grub_squash_dirent
|
||||||
{
|
{
|
||||||
|
@ -147,7 +147,7 @@ struct grub_squash_dirent
|
||||||
/* Actually the value is the length of name - 1. */
|
/* Actually the value is the length of name - 1. */
|
||||||
grub_uint16_t namelen;
|
grub_uint16_t namelen;
|
||||||
char name[0];
|
char name[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
@ -164,7 +164,7 @@ struct grub_squash_frag_desc
|
||||||
grub_uint64_t offset;
|
grub_uint64_t offset;
|
||||||
grub_uint32_t size;
|
grub_uint32_t size;
|
||||||
grub_uint32_t dummy;
|
grub_uint32_t dummy;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
|
|
@ -48,7 +48,7 @@ struct head
|
||||||
char devmajor[8];
|
char devmajor[8];
|
||||||
char devminor[8];
|
char devminor[8];
|
||||||
char prefix[155];
|
char prefix[155];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
static inline unsigned long long
|
static inline unsigned long long
|
||||||
read_number (const char *str, grub_size_t size)
|
read_number (const char *str, grub_size_t size)
|
||||||
|
|
|
@ -117,32 +117,32 @@ struct grub_udf_lb_addr
|
||||||
{
|
{
|
||||||
grub_uint32_t block_num;
|
grub_uint32_t block_num;
|
||||||
grub_uint16_t part_ref;
|
grub_uint16_t part_ref;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_short_ad
|
struct grub_udf_short_ad
|
||||||
{
|
{
|
||||||
grub_uint32_t length;
|
grub_uint32_t length;
|
||||||
grub_uint32_t position;
|
grub_uint32_t position;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_long_ad
|
struct grub_udf_long_ad
|
||||||
{
|
{
|
||||||
grub_uint32_t length;
|
grub_uint32_t length;
|
||||||
struct grub_udf_lb_addr block;
|
struct grub_udf_lb_addr block;
|
||||||
grub_uint8_t imp_use[6];
|
grub_uint8_t imp_use[6];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_extent_ad
|
struct grub_udf_extent_ad
|
||||||
{
|
{
|
||||||
grub_uint32_t length;
|
grub_uint32_t length;
|
||||||
grub_uint32_t start;
|
grub_uint32_t start;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_charspec
|
struct grub_udf_charspec
|
||||||
{
|
{
|
||||||
grub_uint8_t charset_type;
|
grub_uint8_t charset_type;
|
||||||
grub_uint8_t charset_info[63];
|
grub_uint8_t charset_info[63];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_timestamp
|
struct grub_udf_timestamp
|
||||||
{
|
{
|
||||||
|
@ -156,14 +156,14 @@ struct grub_udf_timestamp
|
||||||
grub_uint8_t centi_seconds;
|
grub_uint8_t centi_seconds;
|
||||||
grub_uint8_t hundreds_of_micro_seconds;
|
grub_uint8_t hundreds_of_micro_seconds;
|
||||||
grub_uint8_t micro_seconds;
|
grub_uint8_t micro_seconds;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_regid
|
struct grub_udf_regid
|
||||||
{
|
{
|
||||||
grub_uint8_t flags;
|
grub_uint8_t flags;
|
||||||
grub_uint8_t ident[23];
|
grub_uint8_t ident[23];
|
||||||
grub_uint8_t ident_suffix[8];
|
grub_uint8_t ident_suffix[8];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_tag
|
struct grub_udf_tag
|
||||||
{
|
{
|
||||||
|
@ -175,7 +175,7 @@ struct grub_udf_tag
|
||||||
grub_uint16_t desc_crc;
|
grub_uint16_t desc_crc;
|
||||||
grub_uint16_t desc_crc_length;
|
grub_uint16_t desc_crc_length;
|
||||||
grub_uint32_t tag_location;
|
grub_uint32_t tag_location;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_fileset
|
struct grub_udf_fileset
|
||||||
{
|
{
|
||||||
|
@ -197,7 +197,7 @@ struct grub_udf_fileset
|
||||||
struct grub_udf_regid domain_ident;
|
struct grub_udf_regid domain_ident;
|
||||||
struct grub_udf_long_ad next_ext;
|
struct grub_udf_long_ad next_ext;
|
||||||
struct grub_udf_long_ad streamdir_icb;
|
struct grub_udf_long_ad streamdir_icb;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_icbtag
|
struct grub_udf_icbtag
|
||||||
{
|
{
|
||||||
|
@ -209,7 +209,7 @@ struct grub_udf_icbtag
|
||||||
grub_uint8_t file_type;
|
grub_uint8_t file_type;
|
||||||
struct grub_udf_lb_addr parent_idb;
|
struct grub_udf_lb_addr parent_idb;
|
||||||
grub_uint16_t flags;
|
grub_uint16_t flags;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_file_ident
|
struct grub_udf_file_ident
|
||||||
{
|
{
|
||||||
|
@ -220,7 +220,7 @@ struct grub_udf_file_ident
|
||||||
grub_uint8_t file_ident_length;
|
grub_uint8_t file_ident_length;
|
||||||
struct grub_udf_long_ad icb;
|
struct grub_udf_long_ad icb;
|
||||||
grub_uint16_t imp_use_length;
|
grub_uint16_t imp_use_length;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_file_entry
|
struct grub_udf_file_entry
|
||||||
{
|
{
|
||||||
|
@ -245,7 +245,7 @@ struct grub_udf_file_entry
|
||||||
grub_uint32_t ext_attr_length;
|
grub_uint32_t ext_attr_length;
|
||||||
grub_uint32_t alloc_descs_length;
|
grub_uint32_t alloc_descs_length;
|
||||||
grub_uint8_t ext_attr[0];
|
grub_uint8_t ext_attr[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_extended_file_entry
|
struct grub_udf_extended_file_entry
|
||||||
{
|
{
|
||||||
|
@ -274,20 +274,20 @@ struct grub_udf_extended_file_entry
|
||||||
grub_uint32_t ext_attr_length;
|
grub_uint32_t ext_attr_length;
|
||||||
grub_uint32_t alloc_descs_length;
|
grub_uint32_t alloc_descs_length;
|
||||||
grub_uint8_t ext_attr[0];
|
grub_uint8_t ext_attr[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_vrs
|
struct grub_udf_vrs
|
||||||
{
|
{
|
||||||
grub_uint8_t type;
|
grub_uint8_t type;
|
||||||
grub_uint8_t magic[5];
|
grub_uint8_t magic[5];
|
||||||
grub_uint8_t version;
|
grub_uint8_t version;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_avdp
|
struct grub_udf_avdp
|
||||||
{
|
{
|
||||||
struct grub_udf_tag tag;
|
struct grub_udf_tag tag;
|
||||||
struct grub_udf_extent_ad vds;
|
struct grub_udf_extent_ad vds;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_pd
|
struct grub_udf_pd
|
||||||
{
|
{
|
||||||
|
@ -300,7 +300,7 @@ struct grub_udf_pd
|
||||||
grub_uint32_t access_type;
|
grub_uint32_t access_type;
|
||||||
grub_uint32_t start;
|
grub_uint32_t start;
|
||||||
grub_uint32_t length;
|
grub_uint32_t length;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_partmap
|
struct grub_udf_partmap
|
||||||
{
|
{
|
||||||
|
@ -319,7 +319,7 @@ struct grub_udf_partmap
|
||||||
grub_uint8_t ident[62];
|
grub_uint8_t ident[62];
|
||||||
} type2;
|
} type2;
|
||||||
};
|
};
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_lvd
|
struct grub_udf_lvd
|
||||||
{
|
{
|
||||||
|
@ -336,14 +336,14 @@ struct grub_udf_lvd
|
||||||
grub_uint8_t imp_use[128];
|
grub_uint8_t imp_use[128];
|
||||||
struct grub_udf_extent_ad integrity_seq_ext;
|
struct grub_udf_extent_ad integrity_seq_ext;
|
||||||
grub_uint8_t part_maps[1608];
|
grub_uint8_t part_maps[1608];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_aed
|
struct grub_udf_aed
|
||||||
{
|
{
|
||||||
struct grub_udf_tag tag;
|
struct grub_udf_tag tag;
|
||||||
grub_uint32_t prev_ae;
|
grub_uint32_t prev_ae;
|
||||||
grub_uint32_t ae_len;
|
grub_uint32_t ae_len;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_udf_data
|
struct grub_udf_data
|
||||||
{
|
{
|
||||||
|
|
|
@ -187,7 +187,7 @@ struct grub_ufs_inode
|
||||||
};
|
};
|
||||||
|
|
||||||
grub_uint8_t unused[24];
|
grub_uint8_t unused[24];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
#else
|
#else
|
||||||
/* UFS inode. */
|
/* UFS inode. */
|
||||||
struct grub_ufs_inode
|
struct grub_ufs_inode
|
||||||
|
@ -217,7 +217,7 @@ struct grub_ufs_inode
|
||||||
grub_uint32_t gen;
|
grub_uint32_t gen;
|
||||||
grub_uint32_t unused;
|
grub_uint32_t unused;
|
||||||
grub_uint8_t pad[12];
|
grub_uint8_t pad[12];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Directory entry. */
|
/* Directory entry. */
|
||||||
|
@ -234,7 +234,7 @@ struct grub_ufs_dirent
|
||||||
grub_uint8_t namelen_bsd;
|
grub_uint8_t namelen_bsd;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* Information about a "mounted" ufs filesystem. */
|
/* Information about a "mounted" ufs filesystem. */
|
||||||
struct grub_ufs_data
|
struct grub_ufs_data
|
||||||
|
|
|
@ -54,7 +54,7 @@ struct grub_xfs_sblock
|
||||||
grub_uint8_t log2_agblk;
|
grub_uint8_t log2_agblk;
|
||||||
grub_uint8_t unused6[67];
|
grub_uint8_t unused6[67];
|
||||||
grub_uint8_t log2_dirblk;
|
grub_uint8_t log2_dirblk;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_xfs_dir_header
|
struct grub_xfs_dir_header
|
||||||
{
|
{
|
||||||
|
@ -64,8 +64,8 @@ struct grub_xfs_dir_header
|
||||||
{
|
{
|
||||||
grub_uint32_t i4;
|
grub_uint32_t i4;
|
||||||
grub_uint64_t i8;
|
grub_uint64_t i8;
|
||||||
} parent __attribute__ ((packed));
|
} GRUB_PACKED parent;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_xfs_dir_entry
|
struct grub_xfs_dir_entry
|
||||||
{
|
{
|
||||||
|
@ -73,13 +73,13 @@ struct grub_xfs_dir_entry
|
||||||
grub_uint16_t offset;
|
grub_uint16_t offset;
|
||||||
char name[1];
|
char name[1];
|
||||||
/* Inode number follows, 32 bits. */
|
/* Inode number follows, 32 bits. */
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_xfs_dir2_entry
|
struct grub_xfs_dir2_entry
|
||||||
{
|
{
|
||||||
grub_uint64_t inode;
|
grub_uint64_t inode;
|
||||||
grub_uint8_t len;
|
grub_uint8_t len;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
typedef grub_uint32_t grub_xfs_extent[4];
|
typedef grub_uint32_t grub_xfs_extent[4];
|
||||||
|
|
||||||
|
@ -91,20 +91,20 @@ struct grub_xfs_btree_node
|
||||||
grub_uint64_t left;
|
grub_uint64_t left;
|
||||||
grub_uint64_t right;
|
grub_uint64_t right;
|
||||||
grub_uint64_t keys[1];
|
grub_uint64_t keys[1];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_xfs_btree_root
|
struct grub_xfs_btree_root
|
||||||
{
|
{
|
||||||
grub_uint16_t level;
|
grub_uint16_t level;
|
||||||
grub_uint16_t numrecs;
|
grub_uint16_t numrecs;
|
||||||
grub_uint64_t keys[1];
|
grub_uint64_t keys[1];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_xfs_time
|
struct grub_xfs_time
|
||||||
{
|
{
|
||||||
grub_uint32_t sec;
|
grub_uint32_t sec;
|
||||||
grub_uint32_t nanosec;
|
grub_uint32_t nanosec;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_xfs_inode
|
struct grub_xfs_inode
|
||||||
{
|
{
|
||||||
|
@ -133,14 +133,14 @@ struct grub_xfs_inode
|
||||||
} dir;
|
} dir;
|
||||||
grub_xfs_extent extents[XFS_INODE_EXTENTS];
|
grub_xfs_extent extents[XFS_INODE_EXTENTS];
|
||||||
struct grub_xfs_btree_root btree;
|
struct grub_xfs_btree_root btree;
|
||||||
} data __attribute__ ((packed));
|
} GRUB_PACKED data;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_xfs_dirblock_tail
|
struct grub_xfs_dirblock_tail
|
||||||
{
|
{
|
||||||
grub_uint32_t leaf_count;
|
grub_uint32_t leaf_count;
|
||||||
grub_uint32_t leaf_stale;
|
grub_uint32_t leaf_stale;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_fshelp_node
|
struct grub_fshelp_node
|
||||||
{
|
{
|
||||||
|
|
|
@ -77,13 +77,13 @@ typedef grub_size_t size_t;
|
||||||
|
|
||||||
typedef struct _U16_S {
|
typedef struct _U16_S {
|
||||||
U16 v;
|
U16 v;
|
||||||
} __attribute__ ((packed)) U16_S;
|
} GRUB_PACKED U16_S;
|
||||||
typedef struct _U32_S {
|
typedef struct _U32_S {
|
||||||
U32 v;
|
U32 v;
|
||||||
} __attribute__ ((packed)) U32_S;
|
} GRUB_PACKED U32_S;
|
||||||
typedef struct _U64_S {
|
typedef struct _U64_S {
|
||||||
U64 v;
|
U64 v;
|
||||||
} __attribute__ ((packed)) U64_S;
|
} GRUB_PACKED U64_S;
|
||||||
|
|
||||||
#define A64(x) (((U64_S *)(x))->v)
|
#define A64(x) (((U64_S *)(x))->v)
|
||||||
#define A32(x) (((U32_S *)(x))->v)
|
#define A32(x) (((U32_S *)(x))->v)
|
||||||
|
|
|
@ -290,7 +290,7 @@ struct lzop_header
|
||||||
grub_uint32_t mtime_lo;
|
grub_uint32_t mtime_lo;
|
||||||
grub_uint32_t mtime_hi;
|
grub_uint32_t mtime_hi;
|
||||||
grub_uint8_t name_len;
|
grub_uint8_t name_len;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
static int
|
static int
|
||||||
test_header (grub_file_t file)
|
test_header (grub_file_t file)
|
||||||
|
|
|
@ -33,7 +33,7 @@ struct grub_machine_mmap_entry
|
||||||
#define GRUB_MACHINE_MEMORY_NVS 4
|
#define GRUB_MACHINE_MEMORY_NVS 4
|
||||||
#define GRUB_MACHINE_MEMORY_BADRAM 5
|
#define GRUB_MACHINE_MEMORY_BADRAM 5
|
||||||
grub_uint32_t type;
|
grub_uint32_t type;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -276,7 +276,7 @@ struct grub_e820_mmap
|
||||||
grub_uint64_t addr;
|
grub_uint64_t addr;
|
||||||
grub_uint64_t size;
|
grub_uint64_t size;
|
||||||
grub_uint32_t type;
|
grub_uint32_t type;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
#define GRUB_E820_RAM 1
|
#define GRUB_E820_RAM 1
|
||||||
#define GRUB_E820_RESERVED 2
|
#define GRUB_E820_RESERVED 2
|
||||||
#define GRUB_E820_ACPI 3
|
#define GRUB_E820_ACPI 3
|
||||||
|
|
|
@ -87,7 +87,7 @@ struct idt_descriptor
|
||||||
{
|
{
|
||||||
grub_uint16_t limit;
|
grub_uint16_t limit;
|
||||||
void *base;
|
void *base;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
static struct idt_descriptor idt_desc =
|
static struct idt_descriptor idt_desc =
|
||||||
{
|
{
|
||||||
|
|
|
@ -21,7 +21,7 @@ struct newc_head
|
||||||
char rdevminor[8];
|
char rdevminor[8];
|
||||||
char namesize[8];
|
char namesize[8];
|
||||||
char check[8];
|
char check[8];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_linux_initrd_component
|
struct grub_linux_initrd_component
|
||||||
{
|
{
|
||||||
|
|
|
@ -47,7 +47,7 @@ struct grub_e820_mmap_entry
|
||||||
grub_uint64_t addr;
|
grub_uint64_t addr;
|
||||||
grub_uint64_t len;
|
grub_uint64_t len;
|
||||||
grub_uint32_t type;
|
grub_uint32_t type;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
|
|
||||||
/* Helper for preboot. */
|
/* Helper for preboot. */
|
||||||
|
|
|
@ -43,7 +43,7 @@ struct arphdr {
|
||||||
grub_uint8_t hln;
|
grub_uint8_t hln;
|
||||||
grub_uint8_t pln;
|
grub_uint8_t pln;
|
||||||
grub_uint16_t op;
|
grub_uint16_t op;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
static int have_pending;
|
static int have_pending;
|
||||||
static grub_uint32_t pending_req;
|
static grub_uint32_t pending_req;
|
||||||
|
|
|
@ -86,7 +86,7 @@ struct dns_header
|
||||||
grub_uint16_t ancount;
|
grub_uint16_t ancount;
|
||||||
grub_uint16_t nscount;
|
grub_uint16_t nscount;
|
||||||
grub_uint16_t arcount;
|
grub_uint16_t arcount;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
|
|
@ -45,7 +45,7 @@ struct grub_pxe_undi_open
|
||||||
grub_uint16_t pkt_filter;
|
grub_uint16_t pkt_filter;
|
||||||
grub_uint16_t mcast_count;
|
grub_uint16_t mcast_count;
|
||||||
grub_uint8_t mcast[8][6];
|
grub_uint8_t mcast[8][6];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_pxe_undi_info
|
struct grub_pxe_undi_info
|
||||||
{
|
{
|
||||||
|
@ -60,7 +60,7 @@ struct grub_pxe_undi_info
|
||||||
grub_uint32_t romaddr;
|
grub_uint32_t romaddr;
|
||||||
grub_uint16_t rxbufct;
|
grub_uint16_t rxbufct;
|
||||||
grub_uint16_t txbufct;
|
grub_uint16_t txbufct;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
|
|
||||||
struct grub_pxe_undi_isr
|
struct grub_pxe_undi_isr
|
||||||
|
@ -73,7 +73,7 @@ struct grub_pxe_undi_isr
|
||||||
grub_uint32_t buffer;
|
grub_uint32_t buffer;
|
||||||
grub_uint8_t prot_type;
|
grub_uint8_t prot_type;
|
||||||
grub_uint8_t pkt_type;
|
grub_uint8_t pkt_type;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
@ -104,7 +104,7 @@ struct grub_pxe_undi_transmit
|
||||||
grub_uint32_t dest;
|
grub_uint32_t dest;
|
||||||
grub_uint32_t tbd;
|
grub_uint32_t tbd;
|
||||||
grub_uint32_t reserved[2];
|
grub_uint32_t reserved[2];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_pxe_undi_tbd
|
struct grub_pxe_undi_tbd
|
||||||
{
|
{
|
||||||
|
@ -118,7 +118,7 @@ struct grub_pxe_undi_tbd
|
||||||
grub_uint16_t len;
|
grub_uint16_t len;
|
||||||
grub_uint32_t ptr;
|
grub_uint32_t ptr;
|
||||||
} blocks[8];
|
} blocks[8];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_pxe_bangpxe *grub_pxe_pxenv;
|
struct grub_pxe_bangpxe *grub_pxe_pxenv;
|
||||||
static grub_uint32_t pxe_rm_entry = 0;
|
static grub_uint32_t pxe_rm_entry = 0;
|
||||||
|
|
|
@ -33,20 +33,20 @@ struct etherhdr
|
||||||
grub_uint8_t dst[6];
|
grub_uint8_t dst[6];
|
||||||
grub_uint8_t src[6];
|
grub_uint8_t src[6];
|
||||||
grub_uint16_t type;
|
grub_uint16_t type;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct llchdr
|
struct llchdr
|
||||||
{
|
{
|
||||||
grub_uint8_t dsap;
|
grub_uint8_t dsap;
|
||||||
grub_uint8_t ssap;
|
grub_uint8_t ssap;
|
||||||
grub_uint8_t ctrl;
|
grub_uint8_t ctrl;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct snaphdr
|
struct snaphdr
|
||||||
{
|
{
|
||||||
grub_uint8_t oui[3];
|
grub_uint8_t oui[3];
|
||||||
grub_uint16_t type;
|
grub_uint16_t type;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
grub_err_t
|
grub_err_t
|
||||||
send_ethernet_packet (struct grub_net_network_level_interface *inf,
|
send_ethernet_packet (struct grub_net_network_level_interface *inf,
|
||||||
|
|
|
@ -25,13 +25,13 @@ struct icmp_header
|
||||||
grub_uint8_t type;
|
grub_uint8_t type;
|
||||||
grub_uint8_t code;
|
grub_uint8_t code;
|
||||||
grub_uint16_t checksum;
|
grub_uint16_t checksum;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct ping_header
|
struct ping_header
|
||||||
{
|
{
|
||||||
grub_uint16_t id;
|
grub_uint16_t id;
|
||||||
grub_uint16_t seq;
|
grub_uint16_t seq;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
|
|
@ -25,13 +25,13 @@ struct icmp_header
|
||||||
grub_uint8_t type;
|
grub_uint8_t type;
|
||||||
grub_uint8_t code;
|
grub_uint8_t code;
|
||||||
grub_uint16_t checksum;
|
grub_uint16_t checksum;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct ping_header
|
struct ping_header
|
||||||
{
|
{
|
||||||
grub_uint16_t id;
|
grub_uint16_t id;
|
||||||
grub_uint16_t seq;
|
grub_uint16_t seq;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct router_adv
|
struct router_adv
|
||||||
{
|
{
|
||||||
|
@ -41,13 +41,13 @@ struct router_adv
|
||||||
grub_uint32_t reachable_time;
|
grub_uint32_t reachable_time;
|
||||||
grub_uint32_t retrans_timer;
|
grub_uint32_t retrans_timer;
|
||||||
grub_uint8_t options[0];
|
grub_uint8_t options[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct option_header
|
struct option_header
|
||||||
{
|
{
|
||||||
grub_uint8_t type;
|
grub_uint8_t type;
|
||||||
grub_uint8_t len;
|
grub_uint8_t len;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct prefix_option
|
struct prefix_option
|
||||||
{
|
{
|
||||||
|
@ -58,19 +58,19 @@ struct prefix_option
|
||||||
grub_uint32_t preferred_lifetime;
|
grub_uint32_t preferred_lifetime;
|
||||||
grub_uint32_t reserved;
|
grub_uint32_t reserved;
|
||||||
grub_uint64_t prefix[2];
|
grub_uint64_t prefix[2];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct neighbour_solicit
|
struct neighbour_solicit
|
||||||
{
|
{
|
||||||
grub_uint32_t reserved;
|
grub_uint32_t reserved;
|
||||||
grub_uint64_t target[2];
|
grub_uint64_t target[2];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct neighbour_advertise
|
struct neighbour_advertise
|
||||||
{
|
{
|
||||||
grub_uint32_t flags;
|
grub_uint32_t flags;
|
||||||
grub_uint64_t target[2];
|
grub_uint64_t target[2];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
|
|
@ -38,7 +38,7 @@ struct iphdr {
|
||||||
grub_uint16_t chksum;
|
grub_uint16_t chksum;
|
||||||
grub_uint32_t src;
|
grub_uint32_t src;
|
||||||
grub_uint32_t dest;
|
grub_uint32_t dest;
|
||||||
} __attribute__ ((packed)) ;
|
} GRUB_PACKED ;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
@ -56,7 +56,7 @@ struct ip6hdr {
|
||||||
grub_uint8_t ttl;
|
grub_uint8_t ttl;
|
||||||
ip6addr src;
|
ip6addr src;
|
||||||
ip6addr dest;
|
ip6addr dest;
|
||||||
} __attribute__ ((packed)) ;
|
} GRUB_PACKED ;
|
||||||
|
|
||||||
static int
|
static int
|
||||||
cmp (const void *a__, const void *b__)
|
cmp (const void *a__, const void *b__)
|
||||||
|
|
|
@ -104,7 +104,7 @@ struct tcphdr
|
||||||
grub_uint16_t window;
|
grub_uint16_t window;
|
||||||
grub_uint16_t checksum;
|
grub_uint16_t checksum;
|
||||||
grub_uint16_t urgent;
|
grub_uint16_t urgent;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct tcp_pseudohdr
|
struct tcp_pseudohdr
|
||||||
{
|
{
|
||||||
|
@ -113,7 +113,7 @@ struct tcp_pseudohdr
|
||||||
grub_uint8_t zero;
|
grub_uint8_t zero;
|
||||||
grub_uint8_t proto;
|
grub_uint8_t proto;
|
||||||
grub_uint16_t tcp_length;
|
grub_uint16_t tcp_length;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct tcp6_pseudohdr
|
struct tcp6_pseudohdr
|
||||||
{
|
{
|
||||||
|
@ -122,7 +122,7 @@ struct tcp6_pseudohdr
|
||||||
grub_uint32_t tcp_length;
|
grub_uint32_t tcp_length;
|
||||||
grub_uint8_t zero[3];
|
grub_uint8_t zero[3];
|
||||||
grub_uint8_t proto;
|
grub_uint8_t proto;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
static struct grub_net_tcp_socket *tcp_sockets;
|
static struct grub_net_tcp_socket *tcp_sockets;
|
||||||
static struct grub_net_tcp_listen *tcp_listens;
|
static struct grub_net_tcp_listen *tcp_listens;
|
||||||
|
|
|
@ -94,7 +94,7 @@ struct tftphdr {
|
||||||
grub_int8_t data[TFTP_DEFAULTSIZE_PACKET+2];
|
grub_int8_t data[TFTP_DEFAULTSIZE_PACKET+2];
|
||||||
} oack;
|
} oack;
|
||||||
} u;
|
} u;
|
||||||
} __attribute__ ((packed)) ;
|
} GRUB_PACKED ;
|
||||||
|
|
||||||
|
|
||||||
typedef struct tftp_data
|
typedef struct tftp_data
|
||||||
|
|
|
@ -43,10 +43,10 @@ struct grub_acorn_boot_block
|
||||||
grub_uint8_t flags;
|
grub_uint8_t flags;
|
||||||
grub_uint16_t start_cylinder;
|
grub_uint16_t start_cylinder;
|
||||||
grub_uint8_t checksum;
|
grub_uint8_t checksum;
|
||||||
} __attribute__ ((packed, aligned));
|
} GRUB_PACKED;
|
||||||
grub_uint8_t bin[0x200];
|
grub_uint8_t bin[0x200];
|
||||||
};
|
};
|
||||||
} __attribute__ ((packed, aligned));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct linux_part
|
struct linux_part
|
||||||
{
|
{
|
||||||
|
|
|
@ -42,7 +42,7 @@ struct grub_amiga_rdsk
|
||||||
grub_uint32_t fslst;
|
grub_uint32_t fslst;
|
||||||
|
|
||||||
grub_uint32_t unused[AMIGA_CHECKSUM_WORDS - 9];
|
grub_uint32_t unused[AMIGA_CHECKSUM_WORDS - 9];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_amiga_partition
|
struct grub_amiga_partition
|
||||||
{
|
{
|
||||||
|
@ -70,7 +70,7 @@ struct grub_amiga_partition
|
||||||
|
|
||||||
grub_uint32_t firstcyl;
|
grub_uint32_t firstcyl;
|
||||||
grub_uint32_t unused[AMIGA_CHECKSUM_WORDS - 44];
|
grub_uint32_t unused[AMIGA_CHECKSUM_WORDS - 44];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
static struct grub_partition_map grub_amiga_partition_map;
|
static struct grub_partition_map grub_amiga_partition_map;
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ struct grub_dvh_partition_descriptor
|
||||||
grub_uint32_t length;
|
grub_uint32_t length;
|
||||||
grub_uint32_t start;
|
grub_uint32_t start;
|
||||||
grub_uint32_t type;
|
grub_uint32_t type;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_dvh_block
|
struct grub_dvh_block
|
||||||
{
|
{
|
||||||
|
@ -43,7 +43,7 @@ struct grub_dvh_block
|
||||||
struct grub_dvh_partition_descriptor parts[16];
|
struct grub_dvh_partition_descriptor parts[16];
|
||||||
grub_uint32_t checksum;
|
grub_uint32_t checksum;
|
||||||
grub_uint32_t unused2;
|
grub_uint32_t unused2;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
static struct grub_partition_map grub_dvh_partition_map;
|
static struct grub_partition_map grub_dvh_partition_map;
|
||||||
|
|
||||||
|
|
|
@ -38,13 +38,13 @@ struct grub_sun_partition_info
|
||||||
grub_uint8_t id;
|
grub_uint8_t id;
|
||||||
grub_uint8_t spare2;
|
grub_uint8_t spare2;
|
||||||
grub_uint8_t flags;
|
grub_uint8_t flags;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_sun_partition_descriptor
|
struct grub_sun_partition_descriptor
|
||||||
{
|
{
|
||||||
grub_uint32_t start_cylinder;
|
grub_uint32_t start_cylinder;
|
||||||
grub_uint32_t num_sectors;
|
grub_uint32_t num_sectors;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_sun_block
|
struct grub_sun_block
|
||||||
{
|
{
|
||||||
|
@ -65,7 +65,7 @@ struct grub_sun_block
|
||||||
struct grub_sun_partition_descriptor partitions[8];
|
struct grub_sun_partition_descriptor partitions[8];
|
||||||
grub_uint16_t magic; /* Magic number. */
|
grub_uint16_t magic; /* Magic number. */
|
||||||
grub_uint16_t csum; /* Label xor'd checksum. */
|
grub_uint16_t csum; /* Label xor'd checksum. */
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
static struct grub_partition_map grub_sun_partition_map;
|
static struct grub_partition_map grub_sun_partition_map;
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ struct grub_sun_pc_partition_descriptor
|
||||||
grub_uint16_t unused;
|
grub_uint16_t unused;
|
||||||
grub_uint32_t start_sector;
|
grub_uint32_t start_sector;
|
||||||
grub_uint32_t num_sectors;
|
grub_uint32_t num_sectors;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_sun_pc_block
|
struct grub_sun_pc_block
|
||||||
{
|
{
|
||||||
|
@ -47,7 +47,7 @@ struct grub_sun_pc_block
|
||||||
grub_uint8_t unused2[244];
|
grub_uint8_t unused2[244];
|
||||||
grub_uint16_t magic; /* Magic number. */
|
grub_uint16_t magic; /* Magic number. */
|
||||||
grub_uint16_t csum; /* Label xor'd checksum. */
|
grub_uint16_t csum; /* Label xor'd checksum. */
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
static struct grub_partition_map grub_sun_pc_partition_map;
|
static struct grub_partition_map grub_sun_pc_partition_map;
|
||||||
|
|
||||||
|
|
|
@ -264,7 +264,7 @@ struct bmp_header
|
||||||
grub_uint16_t height;
|
grub_uint16_t height;
|
||||||
grub_uint16_t planes;
|
grub_uint16_t planes;
|
||||||
grub_uint16_t bpp;
|
grub_uint16_t bpp;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
grub_video_capture_write_bmp (const char *fname,
|
grub_video_capture_write_bmp (const char *fname,
|
||||||
|
|
|
@ -75,7 +75,7 @@ struct grub_tga_header
|
||||||
grub_uint16_t image_height;
|
grub_uint16_t image_height;
|
||||||
grub_uint8_t image_bpp;
|
grub_uint8_t image_bpp;
|
||||||
grub_uint8_t image_descriptor;
|
grub_uint8_t image_descriptor;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct tga_data
|
struct tga_data
|
||||||
{
|
{
|
||||||
|
|
|
@ -34,7 +34,7 @@ struct grub_acpi_rsdp_v10
|
||||||
grub_uint8_t oemid[6];
|
grub_uint8_t oemid[6];
|
||||||
grub_uint8_t revision;
|
grub_uint8_t revision;
|
||||||
grub_uint32_t rsdt_addr;
|
grub_uint32_t rsdt_addr;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_acpi_rsdp_v20
|
struct grub_acpi_rsdp_v20
|
||||||
{
|
{
|
||||||
|
@ -43,7 +43,7 @@ struct grub_acpi_rsdp_v20
|
||||||
grub_uint64_t xsdt_addr;
|
grub_uint64_t xsdt_addr;
|
||||||
grub_uint8_t checksum;
|
grub_uint8_t checksum;
|
||||||
grub_uint8_t reserved[3];
|
grub_uint8_t reserved[3];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_acpi_table_header
|
struct grub_acpi_table_header
|
||||||
{
|
{
|
||||||
|
@ -56,7 +56,7 @@ struct grub_acpi_table_header
|
||||||
grub_uint32_t oemrev;
|
grub_uint32_t oemrev;
|
||||||
grub_uint8_t creator_id[4];
|
grub_uint8_t creator_id[4];
|
||||||
grub_uint32_t creator_rev;
|
grub_uint32_t creator_rev;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#define GRUB_ACPI_FADT_SIGNATURE "FACP"
|
#define GRUB_ACPI_FADT_SIGNATURE "FACP"
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ struct grub_acpi_fadt
|
||||||
grub_uint64_t facs_xaddr;
|
grub_uint64_t facs_xaddr;
|
||||||
grub_uint64_t dsdt_xaddr;
|
grub_uint64_t dsdt_xaddr;
|
||||||
grub_uint8_t somefields3[96];
|
grub_uint8_t somefields3[96];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#define GRUB_ACPI_MADT_SIGNATURE "APIC"
|
#define GRUB_ACPI_MADT_SIGNATURE "APIC"
|
||||||
|
|
||||||
|
@ -124,7 +124,7 @@ struct grub_acpi_madt_entry_interrupt_override
|
||||||
grub_uint8_t source;
|
grub_uint8_t source;
|
||||||
grub_uint32_t global_sys_interrupt;
|
grub_uint32_t global_sys_interrupt;
|
||||||
grub_uint16_t flags;
|
grub_uint16_t flags;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
|
|
||||||
struct grub_acpi_madt_entry_lapic_nmi
|
struct grub_acpi_madt_entry_lapic_nmi
|
||||||
|
@ -133,7 +133,7 @@ struct grub_acpi_madt_entry_lapic_nmi
|
||||||
grub_uint8_t acpiid;
|
grub_uint8_t acpiid;
|
||||||
grub_uint16_t flags;
|
grub_uint16_t flags;
|
||||||
grub_uint8_t lint;
|
grub_uint8_t lint;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_acpi_madt_entry_sapic
|
struct grub_acpi_madt_entry_sapic
|
||||||
{
|
{
|
||||||
|
|
|
@ -86,7 +86,7 @@ struct grub_partition_bsd_entry
|
||||||
grub_uint8_t fs_type;
|
grub_uint8_t fs_type;
|
||||||
grub_uint8_t fs_fragments;
|
grub_uint8_t fs_fragments;
|
||||||
grub_uint16_t fs_cylinders;
|
grub_uint16_t fs_cylinders;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* The BSD disk label. Only define members useful for GRUB. */
|
/* The BSD disk label. Only define members useful for GRUB. */
|
||||||
struct grub_partition_bsd_disk_label
|
struct grub_partition_bsd_disk_label
|
||||||
|
@ -101,6 +101,6 @@ struct grub_partition_bsd_disk_label
|
||||||
grub_uint16_t num_partitions;
|
grub_uint16_t num_partitions;
|
||||||
grub_uint32_t boot_size;
|
grub_uint32_t boot_size;
|
||||||
grub_uint32_t superblock_size;
|
grub_uint32_t superblock_size;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#endif /* ! GRUB_PC_PARTITION_HEADER */
|
#endif /* ! GRUB_PC_PARTITION_HEADER */
|
||||||
|
|
|
@ -50,7 +50,7 @@ struct grub_btrfs_key
|
||||||
grub_uint64_t object_id;
|
grub_uint64_t object_id;
|
||||||
grub_uint8_t type;
|
grub_uint8_t type;
|
||||||
grub_uint64_t offset;
|
grub_uint64_t offset;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
|
|
||||||
struct grub_btrfs_root_backref
|
struct grub_btrfs_root_backref
|
||||||
|
|
|
@ -98,7 +98,7 @@ struct cbfs_header {
|
||||||
grub_uint32_t offset;
|
grub_uint32_t offset;
|
||||||
grub_uint32_t architecture;
|
grub_uint32_t architecture;
|
||||||
grub_uint32_t pad[1];
|
grub_uint32_t pad[1];
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* "Unknown" refers to CBFS headers version 1,
|
/* "Unknown" refers to CBFS headers version 1,
|
||||||
* before the architecture was defined (i.e., x86 only).
|
* before the architecture was defined (i.e., x86 only).
|
||||||
|
@ -130,7 +130,7 @@ struct cbfs_file {
|
||||||
grub_uint32_t type;
|
grub_uint32_t type;
|
||||||
grub_uint32_t checksum;
|
grub_uint32_t checksum;
|
||||||
grub_uint32_t offset;
|
grub_uint32_t offset;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/*** Component sub-headers ***/
|
/*** Component sub-headers ***/
|
||||||
|
|
||||||
|
@ -146,7 +146,7 @@ struct cbfs_stage {
|
||||||
grub_uint64_t load; /** Where to load in memory */
|
grub_uint64_t load; /** Where to load in memory */
|
||||||
grub_uint32_t len; /** length of data to load */
|
grub_uint32_t len; /** length of data to load */
|
||||||
grub_uint32_t memlen; /** total length of object in memory */
|
grub_uint32_t memlen; /** total length of object in memory */
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/** this is the sub-header for payload components. Payloads
|
/** this is the sub-header for payload components. Payloads
|
||||||
are loaded by coreboot at the end of the boot process */
|
are loaded by coreboot at the end of the boot process */
|
||||||
|
@ -158,7 +158,7 @@ struct cbfs_payload_segment {
|
||||||
grub_uint64_t load_addr;
|
grub_uint64_t load_addr;
|
||||||
grub_uint32_t len;
|
grub_uint32_t len;
|
||||||
grub_uint32_t mem_len;
|
grub_uint32_t mem_len;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct cbfs_payload {
|
struct cbfs_payload {
|
||||||
struct cbfs_payload_segment segments;
|
struct cbfs_payload_segment segments;
|
||||||
|
@ -173,6 +173,6 @@ struct cbfs_payload {
|
||||||
struct cbfs_optionrom {
|
struct cbfs_optionrom {
|
||||||
grub_uint32_t compression;
|
grub_uint32_t compression;
|
||||||
grub_uint32_t len;
|
grub_uint32_t len;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -532,7 +532,7 @@ struct grub_efi_packed_guid
|
||||||
grub_uint16_t data2;
|
grub_uint16_t data2;
|
||||||
grub_uint16_t data3;
|
grub_uint16_t data3;
|
||||||
grub_uint8_t data4[8];
|
grub_uint8_t data4[8];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_packed_guid grub_efi_packed_guid_t;
|
typedef struct grub_efi_packed_guid grub_efi_packed_guid_t;
|
||||||
|
|
||||||
/* XXX although the spec does not specify the padding, this actually
|
/* XXX although the spec does not specify the padding, this actually
|
||||||
|
@ -545,7 +545,7 @@ struct grub_efi_memory_descriptor
|
||||||
grub_efi_virtual_address_t virtual_start;
|
grub_efi_virtual_address_t virtual_start;
|
||||||
grub_efi_uint64_t num_pages;
|
grub_efi_uint64_t num_pages;
|
||||||
grub_efi_uint64_t attribute;
|
grub_efi_uint64_t attribute;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_memory_descriptor grub_efi_memory_descriptor_t;
|
typedef struct grub_efi_memory_descriptor grub_efi_memory_descriptor_t;
|
||||||
|
|
||||||
/* Device Path definitions. */
|
/* Device Path definitions. */
|
||||||
|
@ -554,7 +554,7 @@ struct grub_efi_device_path
|
||||||
grub_efi_uint8_t type;
|
grub_efi_uint8_t type;
|
||||||
grub_efi_uint8_t subtype;
|
grub_efi_uint8_t subtype;
|
||||||
grub_efi_uint16_t length;
|
grub_efi_uint16_t length;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_device_path grub_efi_device_path_t;
|
typedef struct grub_efi_device_path grub_efi_device_path_t;
|
||||||
/* XXX EFI does not define EFI_DEVICE_PATH_PROTOCOL but uses it.
|
/* XXX EFI does not define EFI_DEVICE_PATH_PROTOCOL but uses it.
|
||||||
It seems to be identical to EFI_DEVICE_PATH. */
|
It seems to be identical to EFI_DEVICE_PATH. */
|
||||||
|
@ -589,7 +589,7 @@ struct grub_efi_pci_device_path
|
||||||
grub_efi_device_path_t header;
|
grub_efi_device_path_t header;
|
||||||
grub_efi_uint8_t function;
|
grub_efi_uint8_t function;
|
||||||
grub_efi_uint8_t device;
|
grub_efi_uint8_t device;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_pci_device_path grub_efi_pci_device_path_t;
|
typedef struct grub_efi_pci_device_path grub_efi_pci_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE 2
|
#define GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE 2
|
||||||
|
@ -598,7 +598,7 @@ struct grub_efi_pccard_device_path
|
||||||
{
|
{
|
||||||
grub_efi_device_path_t header;
|
grub_efi_device_path_t header;
|
||||||
grub_efi_uint8_t function;
|
grub_efi_uint8_t function;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_pccard_device_path grub_efi_pccard_device_path_t;
|
typedef struct grub_efi_pccard_device_path grub_efi_pccard_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE 3
|
#define GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE 3
|
||||||
|
@ -609,7 +609,7 @@ struct grub_efi_memory_mapped_device_path
|
||||||
grub_efi_uint32_t memory_type;
|
grub_efi_uint32_t memory_type;
|
||||||
grub_efi_physical_address_t start_address;
|
grub_efi_physical_address_t start_address;
|
||||||
grub_efi_physical_address_t end_address;
|
grub_efi_physical_address_t end_address;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_memory_mapped_device_path grub_efi_memory_mapped_device_path_t;
|
typedef struct grub_efi_memory_mapped_device_path grub_efi_memory_mapped_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE 4
|
#define GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE 4
|
||||||
|
@ -619,7 +619,7 @@ struct grub_efi_vendor_device_path
|
||||||
grub_efi_device_path_t header;
|
grub_efi_device_path_t header;
|
||||||
grub_efi_packed_guid_t vendor_guid;
|
grub_efi_packed_guid_t vendor_guid;
|
||||||
grub_efi_uint8_t vendor_defined_data[0];
|
grub_efi_uint8_t vendor_defined_data[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_vendor_device_path grub_efi_vendor_device_path_t;
|
typedef struct grub_efi_vendor_device_path grub_efi_vendor_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE 5
|
#define GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE 5
|
||||||
|
@ -628,7 +628,7 @@ struct grub_efi_controller_device_path
|
||||||
{
|
{
|
||||||
grub_efi_device_path_t header;
|
grub_efi_device_path_t header;
|
||||||
grub_efi_uint32_t controller_number;
|
grub_efi_uint32_t controller_number;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_controller_device_path grub_efi_controller_device_path_t;
|
typedef struct grub_efi_controller_device_path grub_efi_controller_device_path_t;
|
||||||
|
|
||||||
/* ACPI Device Path. */
|
/* ACPI Device Path. */
|
||||||
|
@ -641,7 +641,7 @@ struct grub_efi_acpi_device_path
|
||||||
grub_efi_device_path_t header;
|
grub_efi_device_path_t header;
|
||||||
grub_efi_uint32_t hid;
|
grub_efi_uint32_t hid;
|
||||||
grub_efi_uint32_t uid;
|
grub_efi_uint32_t uid;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_acpi_device_path grub_efi_acpi_device_path_t;
|
typedef struct grub_efi_acpi_device_path grub_efi_acpi_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE 2
|
#define GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE 2
|
||||||
|
@ -653,7 +653,7 @@ struct grub_efi_expanded_acpi_device_path
|
||||||
grub_efi_uint32_t uid;
|
grub_efi_uint32_t uid;
|
||||||
grub_efi_uint32_t cid;
|
grub_efi_uint32_t cid;
|
||||||
char hidstr[0];
|
char hidstr[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_expanded_acpi_device_path grub_efi_expanded_acpi_device_path_t;
|
typedef struct grub_efi_expanded_acpi_device_path grub_efi_expanded_acpi_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_EXPANDED_ACPI_HIDSTR(dp) \
|
#define GRUB_EFI_EXPANDED_ACPI_HIDSTR(dp) \
|
||||||
|
@ -676,7 +676,7 @@ struct grub_efi_atapi_device_path
|
||||||
grub_efi_uint8_t primary_secondary;
|
grub_efi_uint8_t primary_secondary;
|
||||||
grub_efi_uint8_t slave_master;
|
grub_efi_uint8_t slave_master;
|
||||||
grub_efi_uint16_t lun;
|
grub_efi_uint16_t lun;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_atapi_device_path grub_efi_atapi_device_path_t;
|
typedef struct grub_efi_atapi_device_path grub_efi_atapi_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_SCSI_DEVICE_PATH_SUBTYPE 2
|
#define GRUB_EFI_SCSI_DEVICE_PATH_SUBTYPE 2
|
||||||
|
@ -686,7 +686,7 @@ struct grub_efi_scsi_device_path
|
||||||
grub_efi_device_path_t header;
|
grub_efi_device_path_t header;
|
||||||
grub_efi_uint16_t pun;
|
grub_efi_uint16_t pun;
|
||||||
grub_efi_uint16_t lun;
|
grub_efi_uint16_t lun;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_scsi_device_path grub_efi_scsi_device_path_t;
|
typedef struct grub_efi_scsi_device_path grub_efi_scsi_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE 3
|
#define GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE 3
|
||||||
|
@ -697,7 +697,7 @@ struct grub_efi_fibre_channel_device_path
|
||||||
grub_efi_uint32_t reserved;
|
grub_efi_uint32_t reserved;
|
||||||
grub_efi_uint64_t wwn;
|
grub_efi_uint64_t wwn;
|
||||||
grub_efi_uint64_t lun;
|
grub_efi_uint64_t lun;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_fibre_channel_device_path grub_efi_fibre_channel_device_path_t;
|
typedef struct grub_efi_fibre_channel_device_path grub_efi_fibre_channel_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_1394_DEVICE_PATH_SUBTYPE 4
|
#define GRUB_EFI_1394_DEVICE_PATH_SUBTYPE 4
|
||||||
|
@ -707,7 +707,7 @@ struct grub_efi_1394_device_path
|
||||||
grub_efi_device_path_t header;
|
grub_efi_device_path_t header;
|
||||||
grub_efi_uint32_t reserved;
|
grub_efi_uint32_t reserved;
|
||||||
grub_efi_uint64_t guid;
|
grub_efi_uint64_t guid;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_1394_device_path grub_efi_1394_device_path_t;
|
typedef struct grub_efi_1394_device_path grub_efi_1394_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_USB_DEVICE_PATH_SUBTYPE 5
|
#define GRUB_EFI_USB_DEVICE_PATH_SUBTYPE 5
|
||||||
|
@ -717,7 +717,7 @@ struct grub_efi_usb_device_path
|
||||||
grub_efi_device_path_t header;
|
grub_efi_device_path_t header;
|
||||||
grub_efi_uint8_t parent_port_number;
|
grub_efi_uint8_t parent_port_number;
|
||||||
grub_efi_uint8_t usb_interface;
|
grub_efi_uint8_t usb_interface;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_usb_device_path grub_efi_usb_device_path_t;
|
typedef struct grub_efi_usb_device_path grub_efi_usb_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE 15
|
#define GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE 15
|
||||||
|
@ -730,7 +730,7 @@ struct grub_efi_usb_class_device_path
|
||||||
grub_efi_uint8_t device_class;
|
grub_efi_uint8_t device_class;
|
||||||
grub_efi_uint8_t device_subclass;
|
grub_efi_uint8_t device_subclass;
|
||||||
grub_efi_uint8_t device_protocol;
|
grub_efi_uint8_t device_protocol;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_usb_class_device_path grub_efi_usb_class_device_path_t;
|
typedef struct grub_efi_usb_class_device_path grub_efi_usb_class_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE 6
|
#define GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE 6
|
||||||
|
@ -739,7 +739,7 @@ struct grub_efi_i2o_device_path
|
||||||
{
|
{
|
||||||
grub_efi_device_path_t header;
|
grub_efi_device_path_t header;
|
||||||
grub_efi_uint32_t tid;
|
grub_efi_uint32_t tid;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_i2o_device_path grub_efi_i2o_device_path_t;
|
typedef struct grub_efi_i2o_device_path grub_efi_i2o_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE 11
|
#define GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE 11
|
||||||
|
@ -749,7 +749,7 @@ struct grub_efi_mac_address_device_path
|
||||||
grub_efi_device_path_t header;
|
grub_efi_device_path_t header;
|
||||||
grub_efi_mac_address_t mac_address;
|
grub_efi_mac_address_t mac_address;
|
||||||
grub_efi_uint8_t if_type;
|
grub_efi_uint8_t if_type;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_mac_address_device_path grub_efi_mac_address_device_path_t;
|
typedef struct grub_efi_mac_address_device_path grub_efi_mac_address_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE 12
|
#define GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE 12
|
||||||
|
@ -763,7 +763,7 @@ struct grub_efi_ipv4_device_path
|
||||||
grub_efi_uint16_t remote_port;
|
grub_efi_uint16_t remote_port;
|
||||||
grub_efi_uint16_t protocol;
|
grub_efi_uint16_t protocol;
|
||||||
grub_efi_uint8_t static_ip_address;
|
grub_efi_uint8_t static_ip_address;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_ipv4_device_path grub_efi_ipv4_device_path_t;
|
typedef struct grub_efi_ipv4_device_path grub_efi_ipv4_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE 13
|
#define GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE 13
|
||||||
|
@ -777,7 +777,7 @@ struct grub_efi_ipv6_device_path
|
||||||
grub_efi_uint16_t remote_port;
|
grub_efi_uint16_t remote_port;
|
||||||
grub_efi_uint16_t protocol;
|
grub_efi_uint16_t protocol;
|
||||||
grub_efi_uint8_t static_ip_address;
|
grub_efi_uint8_t static_ip_address;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_ipv6_device_path grub_efi_ipv6_device_path_t;
|
typedef struct grub_efi_ipv6_device_path grub_efi_ipv6_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE 9
|
#define GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE 9
|
||||||
|
@ -790,7 +790,7 @@ struct grub_efi_infiniband_device_path
|
||||||
grub_efi_uint64_t remote_id;
|
grub_efi_uint64_t remote_id;
|
||||||
grub_efi_uint64_t target_port_id;
|
grub_efi_uint64_t target_port_id;
|
||||||
grub_efi_uint64_t device_id;
|
grub_efi_uint64_t device_id;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_infiniband_device_path grub_efi_infiniband_device_path_t;
|
typedef struct grub_efi_infiniband_device_path grub_efi_infiniband_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_UART_DEVICE_PATH_SUBTYPE 14
|
#define GRUB_EFI_UART_DEVICE_PATH_SUBTYPE 14
|
||||||
|
@ -803,7 +803,7 @@ struct grub_efi_uart_device_path
|
||||||
grub_efi_uint8_t data_bits;
|
grub_efi_uint8_t data_bits;
|
||||||
grub_efi_uint8_t parity;
|
grub_efi_uint8_t parity;
|
||||||
grub_efi_uint8_t stop_bits;
|
grub_efi_uint8_t stop_bits;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_uart_device_path grub_efi_uart_device_path_t;
|
typedef struct grub_efi_uart_device_path grub_efi_uart_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE 10
|
#define GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE 10
|
||||||
|
@ -813,7 +813,7 @@ struct grub_efi_vendor_messaging_device_path
|
||||||
grub_efi_device_path_t header;
|
grub_efi_device_path_t header;
|
||||||
grub_efi_packed_guid_t vendor_guid;
|
grub_efi_packed_guid_t vendor_guid;
|
||||||
grub_efi_uint8_t vendor_defined_data[0];
|
grub_efi_uint8_t vendor_defined_data[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_vendor_messaging_device_path grub_efi_vendor_messaging_device_path_t;
|
typedef struct grub_efi_vendor_messaging_device_path grub_efi_vendor_messaging_device_path_t;
|
||||||
|
|
||||||
/* Media Device Path. */
|
/* Media Device Path. */
|
||||||
|
@ -830,7 +830,7 @@ struct grub_efi_hard_drive_device_path
|
||||||
grub_efi_uint8_t partition_signature[16];
|
grub_efi_uint8_t partition_signature[16];
|
||||||
grub_efi_uint8_t partmap_type;
|
grub_efi_uint8_t partmap_type;
|
||||||
grub_efi_uint8_t signature_type;
|
grub_efi_uint8_t signature_type;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_hard_drive_device_path grub_efi_hard_drive_device_path_t;
|
typedef struct grub_efi_hard_drive_device_path grub_efi_hard_drive_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE 2
|
#define GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE 2
|
||||||
|
@ -841,7 +841,7 @@ struct grub_efi_cdrom_device_path
|
||||||
grub_efi_uint32_t boot_entry;
|
grub_efi_uint32_t boot_entry;
|
||||||
grub_efi_lba_t partition_start;
|
grub_efi_lba_t partition_start;
|
||||||
grub_efi_lba_t partition_size;
|
grub_efi_lba_t partition_size;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_cdrom_device_path grub_efi_cdrom_device_path_t;
|
typedef struct grub_efi_cdrom_device_path grub_efi_cdrom_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE 3
|
#define GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE 3
|
||||||
|
@ -851,7 +851,7 @@ struct grub_efi_vendor_media_device_path
|
||||||
grub_efi_device_path_t header;
|
grub_efi_device_path_t header;
|
||||||
grub_efi_packed_guid_t vendor_guid;
|
grub_efi_packed_guid_t vendor_guid;
|
||||||
grub_efi_uint8_t vendor_defined_data[0];
|
grub_efi_uint8_t vendor_defined_data[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_vendor_media_device_path grub_efi_vendor_media_device_path_t;
|
typedef struct grub_efi_vendor_media_device_path grub_efi_vendor_media_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE 4
|
#define GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE 4
|
||||||
|
@ -860,7 +860,7 @@ struct grub_efi_file_path_device_path
|
||||||
{
|
{
|
||||||
grub_efi_device_path_t header;
|
grub_efi_device_path_t header;
|
||||||
grub_efi_char16_t path_name[0];
|
grub_efi_char16_t path_name[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_file_path_device_path grub_efi_file_path_device_path_t;
|
typedef struct grub_efi_file_path_device_path grub_efi_file_path_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE 5
|
#define GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE 5
|
||||||
|
@ -869,7 +869,7 @@ struct grub_efi_protocol_device_path
|
||||||
{
|
{
|
||||||
grub_efi_device_path_t header;
|
grub_efi_device_path_t header;
|
||||||
grub_efi_packed_guid_t guid;
|
grub_efi_packed_guid_t guid;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_protocol_device_path grub_efi_protocol_device_path_t;
|
typedef struct grub_efi_protocol_device_path grub_efi_protocol_device_path_t;
|
||||||
|
|
||||||
#define GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE 6
|
#define GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE 6
|
||||||
|
@ -878,7 +878,7 @@ struct grub_efi_piwg_device_path
|
||||||
{
|
{
|
||||||
grub_efi_device_path_t header;
|
grub_efi_device_path_t header;
|
||||||
grub_efi_packed_guid_t guid;
|
grub_efi_packed_guid_t guid;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_piwg_device_path grub_efi_piwg_device_path_t;
|
typedef struct grub_efi_piwg_device_path grub_efi_piwg_device_path_t;
|
||||||
|
|
||||||
|
|
||||||
|
@ -893,7 +893,7 @@ struct grub_efi_bios_device_path
|
||||||
grub_efi_uint16_t device_type;
|
grub_efi_uint16_t device_type;
|
||||||
grub_efi_uint16_t status_flags;
|
grub_efi_uint16_t status_flags;
|
||||||
char description[0];
|
char description[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_bios_device_path grub_efi_bios_device_path_t;
|
typedef struct grub_efi_bios_device_path grub_efi_bios_device_path_t;
|
||||||
|
|
||||||
struct grub_efi_open_protocol_information_entry
|
struct grub_efi_open_protocol_information_entry
|
||||||
|
@ -918,7 +918,7 @@ struct grub_efi_time
|
||||||
grub_efi_int16_t time_zone;
|
grub_efi_int16_t time_zone;
|
||||||
grub_efi_uint8_t daylight;
|
grub_efi_uint8_t daylight;
|
||||||
grub_efi_uint8_t pad2;
|
grub_efi_uint8_t pad2;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_time grub_efi_time_t;
|
typedef struct grub_efi_time grub_efi_time_t;
|
||||||
|
|
||||||
struct grub_efi_time_capabilities
|
struct grub_efi_time_capabilities
|
||||||
|
@ -1236,7 +1236,7 @@ struct grub_efi_configuration_table
|
||||||
{
|
{
|
||||||
grub_efi_packed_guid_t vendor_guid;
|
grub_efi_packed_guid_t vendor_guid;
|
||||||
void *vendor_table;
|
void *vendor_table;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_configuration_table grub_efi_configuration_table_t;
|
typedef struct grub_efi_configuration_table grub_efi_configuration_table_t;
|
||||||
|
|
||||||
#define GRUB_EFIEMU_SYSTEM_TABLE_SIGNATURE 0x5453595320494249LL
|
#define GRUB_EFIEMU_SYSTEM_TABLE_SIGNATURE 0x5453595320494249LL
|
||||||
|
|
|
@ -299,7 +299,7 @@ struct grub_pe32_symbol
|
||||||
grub_uint16_t type;
|
grub_uint16_t type;
|
||||||
grub_uint8_t storage_class;
|
grub_uint8_t storage_class;
|
||||||
grub_uint8_t num_aux;
|
grub_uint8_t num_aux;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#define GRUB_PE32_SYM_CLASS_EXTERNAL 2
|
#define GRUB_PE32_SYM_CLASS_EXTERNAL 2
|
||||||
#define GRUB_PE32_SYM_CLASS_STATIC 3
|
#define GRUB_PE32_SYM_CLASS_STATIC 3
|
||||||
|
@ -312,7 +312,7 @@ struct grub_pe32_reloc
|
||||||
grub_uint32_t offset;
|
grub_uint32_t offset;
|
||||||
grub_uint32_t symtab_index;
|
grub_uint32_t symtab_index;
|
||||||
grub_uint16_t type;
|
grub_uint16_t type;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#define GRUB_PE32_REL_I386_DIR32 0x6
|
#define GRUB_PE32_REL_I386_DIR32 0x6
|
||||||
#define GRUB_PE32_REL_I386_REL32 0x14
|
#define GRUB_PE32_REL_I386_REL32 0x14
|
||||||
|
|
|
@ -41,7 +41,7 @@ struct grub_efi_system_table32
|
||||||
grub_efi_uint32_t boot_services;
|
grub_efi_uint32_t boot_services;
|
||||||
grub_efi_uint32_t num_table_entries;
|
grub_efi_uint32_t num_table_entries;
|
||||||
grub_efi_uint32_t configuration_table;
|
grub_efi_uint32_t configuration_table;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_system_table32 grub_efi_system_table32_t;
|
typedef struct grub_efi_system_table32 grub_efi_system_table32_t;
|
||||||
|
|
||||||
struct grub_efi_system_table64
|
struct grub_efi_system_table64
|
||||||
|
@ -60,7 +60,7 @@ struct grub_efi_system_table64
|
||||||
grub_efi_uint64_t boot_services;
|
grub_efi_uint64_t boot_services;
|
||||||
grub_efi_uint64_t num_table_entries;
|
grub_efi_uint64_t num_table_entries;
|
||||||
grub_efi_uint64_t configuration_table;
|
grub_efi_uint64_t configuration_table;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efi_system_table64 grub_efi_system_table64_t;
|
typedef struct grub_efi_system_table64 grub_efi_system_table64_t;
|
||||||
|
|
||||||
struct grub_efiemu_runtime_services32
|
struct grub_efiemu_runtime_services32
|
||||||
|
@ -77,7 +77,7 @@ struct grub_efiemu_runtime_services32
|
||||||
grub_efi_uint32_t set_variable;
|
grub_efi_uint32_t set_variable;
|
||||||
grub_efi_uint32_t get_next_high_monotonic_count;
|
grub_efi_uint32_t get_next_high_monotonic_count;
|
||||||
grub_efi_uint32_t reset_system;
|
grub_efi_uint32_t reset_system;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efiemu_runtime_services32 grub_efiemu_runtime_services32_t;
|
typedef struct grub_efiemu_runtime_services32 grub_efiemu_runtime_services32_t;
|
||||||
|
|
||||||
struct grub_efiemu_runtime_services64
|
struct grub_efiemu_runtime_services64
|
||||||
|
@ -94,7 +94,7 @@ struct grub_efiemu_runtime_services64
|
||||||
grub_efi_uint64_t set_variable;
|
grub_efi_uint64_t set_variable;
|
||||||
grub_efi_uint64_t get_next_high_monotonic_count;
|
grub_efi_uint64_t get_next_high_monotonic_count;
|
||||||
grub_efi_uint64_t reset_system;
|
grub_efi_uint64_t reset_system;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efiemu_runtime_services64 grub_efiemu_runtime_services64_t;
|
typedef struct grub_efiemu_runtime_services64 grub_efiemu_runtime_services64_t;
|
||||||
|
|
||||||
extern grub_efi_system_table32_t *grub_efiemu_system_table32;
|
extern grub_efi_system_table32_t *grub_efiemu_system_table32;
|
||||||
|
@ -185,13 +185,13 @@ struct grub_efiemu_configuration_table32
|
||||||
{
|
{
|
||||||
grub_efi_packed_guid_t vendor_guid;
|
grub_efi_packed_guid_t vendor_guid;
|
||||||
grub_efi_uint32_t vendor_table;
|
grub_efi_uint32_t vendor_table;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efiemu_configuration_table32 grub_efiemu_configuration_table32_t;
|
typedef struct grub_efiemu_configuration_table32 grub_efiemu_configuration_table32_t;
|
||||||
struct grub_efiemu_configuration_table64
|
struct grub_efiemu_configuration_table64
|
||||||
{
|
{
|
||||||
grub_efi_packed_guid_t vendor_guid;
|
grub_efi_packed_guid_t vendor_guid;
|
||||||
grub_efi_uint64_t vendor_table;
|
grub_efi_uint64_t vendor_table;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_efiemu_configuration_table64 grub_efiemu_configuration_table64_t;
|
typedef struct grub_efiemu_configuration_table64 grub_efiemu_configuration_table64_t;
|
||||||
grub_err_t grub_efiemu_unregister_configuration_table (grub_efi_guid_t guid);
|
grub_err_t grub_efiemu_unregister_configuration_table (grub_efi_guid_t guid);
|
||||||
grub_err_t
|
grub_err_t
|
||||||
|
|
|
@ -25,7 +25,7 @@ struct grub_efiemu_ptv_rel
|
||||||
grub_efi_memory_type_t plustype;
|
grub_efi_memory_type_t plustype;
|
||||||
grub_efi_memory_type_t minustype;
|
grub_efi_memory_type_t minustype;
|
||||||
grub_uint32_t size;
|
grub_uint32_t size;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct efi_variable
|
struct efi_variable
|
||||||
{
|
{
|
||||||
|
@ -33,5 +33,5 @@ struct efi_variable
|
||||||
grub_uint32_t namelen;
|
grub_uint32_t namelen;
|
||||||
grub_uint32_t size;
|
grub_uint32_t size;
|
||||||
grub_efi_uint32_t attributes;
|
grub_efi_uint32_t attributes;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
#endif /* ! GRUB_EFI_EMU_RUNTIME_HEADER */
|
#endif /* ! GRUB_EFI_EMU_RUNTIME_HEADER */
|
||||||
|
|
|
@ -41,7 +41,7 @@ struct grub_exfat_bpb
|
||||||
grub_uint8_t num_fats;
|
grub_uint8_t num_fats;
|
||||||
grub_uint8_t num_ph_drive;
|
grub_uint8_t num_ph_drive;
|
||||||
grub_uint8_t reserved[8];
|
grub_uint8_t reserved[8];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#ifdef GRUB_UTIL
|
#ifdef GRUB_UTIL
|
||||||
#include <grub/disk.h>
|
#include <grub/disk.h>
|
||||||
|
|
|
@ -52,7 +52,7 @@ struct grub_fat_bpb
|
||||||
grub_uint32_t num_serial;
|
grub_uint32_t num_serial;
|
||||||
grub_uint8_t label[11];
|
grub_uint8_t label[11];
|
||||||
grub_uint8_t fstype[8];
|
grub_uint8_t fstype[8];
|
||||||
} __attribute__ ((packed)) fat12_or_fat16;
|
} GRUB_PACKED fat12_or_fat16;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
grub_uint32_t sectors_per_fat_32;
|
grub_uint32_t sectors_per_fat_32;
|
||||||
|
@ -68,9 +68,9 @@ struct grub_fat_bpb
|
||||||
grub_uint32_t num_serial;
|
grub_uint32_t num_serial;
|
||||||
grub_uint8_t label[11];
|
grub_uint8_t label[11];
|
||||||
grub_uint8_t fstype[8];
|
grub_uint8_t fstype[8];
|
||||||
} __attribute__ ((packed)) fat32;
|
} GRUB_PACKED fat32;
|
||||||
} __attribute__ ((packed)) version_specific;
|
} GRUB_PACKED version_specific;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#ifdef GRUB_UTIL
|
#ifdef GRUB_UTIL
|
||||||
#include <grub/disk.h>
|
#include <grub/disk.h>
|
||||||
|
|
|
@ -66,7 +66,7 @@ struct grub_gpt_header
|
||||||
grub_uint32_t maxpart;
|
grub_uint32_t maxpart;
|
||||||
grub_uint32_t partentry_size;
|
grub_uint32_t partentry_size;
|
||||||
grub_uint32_t partentry_crc32;
|
grub_uint32_t partentry_crc32;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_gpt_partentry
|
struct grub_gpt_partentry
|
||||||
{
|
{
|
||||||
|
@ -76,7 +76,7 @@ struct grub_gpt_partentry
|
||||||
grub_uint64_t end;
|
grub_uint64_t end;
|
||||||
grub_uint64_t attrib;
|
grub_uint64_t attrib;
|
||||||
char name[72];
|
char name[72];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
grub_err_t
|
grub_err_t
|
||||||
grub_gpt_partition_map_iterate (grub_disk_t disk,
|
grub_gpt_partition_map_iterate (grub_disk_t disk,
|
||||||
|
|
|
@ -58,6 +58,6 @@ struct grub_hfs_sblock
|
||||||
grub_hfs_datarecord_t extent_recs;
|
grub_hfs_datarecord_t extent_recs;
|
||||||
grub_uint32_t catalog_size;
|
grub_uint32_t catalog_size;
|
||||||
grub_hfs_datarecord_t catalog_recs;
|
grub_hfs_datarecord_t catalog_recs;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#endif /* ! GRUB_HFS_HEADER */
|
#endif /* ! GRUB_HFS_HEADER */
|
||||||
|
|
|
@ -9,7 +9,7 @@ struct grub_hfsplus_extent
|
||||||
grub_uint32_t start;
|
grub_uint32_t start;
|
||||||
/* The amount of blocks described by this extent. */
|
/* The amount of blocks described by this extent. */
|
||||||
grub_uint32_t count;
|
grub_uint32_t count;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* The descriptor of a fork. */
|
/* The descriptor of a fork. */
|
||||||
struct grub_hfsplus_forkdata
|
struct grub_hfsplus_forkdata
|
||||||
|
@ -18,7 +18,7 @@ struct grub_hfsplus_forkdata
|
||||||
grub_uint32_t clumpsize;
|
grub_uint32_t clumpsize;
|
||||||
grub_uint32_t blocks;
|
grub_uint32_t blocks;
|
||||||
struct grub_hfsplus_extent extents[8];
|
struct grub_hfsplus_extent extents[8];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* The HFS+ Volume Header. */
|
/* The HFS+ Volume Header. */
|
||||||
struct grub_hfsplus_volheader
|
struct grub_hfsplus_volheader
|
||||||
|
@ -37,7 +37,7 @@ struct grub_hfsplus_volheader
|
||||||
struct grub_hfsplus_forkdata catalog_file;
|
struct grub_hfsplus_forkdata catalog_file;
|
||||||
struct grub_hfsplus_forkdata attr_file;
|
struct grub_hfsplus_forkdata attr_file;
|
||||||
struct grub_hfsplus_forkdata startup_file;
|
struct grub_hfsplus_forkdata startup_file;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_hfsplus_compress_index
|
struct grub_hfsplus_compress_index
|
||||||
{
|
{
|
||||||
|
@ -116,7 +116,7 @@ struct grub_hfsplus_attrkey
|
||||||
grub_uint16_t unknown2[2];
|
grub_uint16_t unknown2[2];
|
||||||
grub_uint16_t namelen;
|
grub_uint16_t namelen;
|
||||||
grub_uint16_t name[0];
|
grub_uint16_t name[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_hfsplus_attrkey_internal
|
struct grub_hfsplus_attrkey_internal
|
||||||
{
|
{
|
||||||
|
@ -142,7 +142,7 @@ struct grub_hfsplus_catkey
|
||||||
grub_uint32_t parent;
|
grub_uint32_t parent;
|
||||||
grub_uint16_t namelen;
|
grub_uint16_t namelen;
|
||||||
grub_uint16_t name[30];
|
grub_uint16_t name[30];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* The on disk layout of an extent overflow file key. */
|
/* The on disk layout of an extent overflow file key. */
|
||||||
struct grub_hfsplus_extkey
|
struct grub_hfsplus_extkey
|
||||||
|
@ -152,7 +152,7 @@ struct grub_hfsplus_extkey
|
||||||
grub_uint8_t unused;
|
grub_uint8_t unused;
|
||||||
grub_uint32_t fileid;
|
grub_uint32_t fileid;
|
||||||
grub_uint32_t start;
|
grub_uint32_t start;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_hfsplus_key
|
struct grub_hfsplus_key
|
||||||
{
|
{
|
||||||
|
@ -163,7 +163,7 @@ struct grub_hfsplus_key
|
||||||
struct grub_hfsplus_attrkey attrkey;
|
struct grub_hfsplus_attrkey attrkey;
|
||||||
grub_uint16_t keylen;
|
grub_uint16_t keylen;
|
||||||
};
|
};
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_hfsplus_btnode
|
struct grub_hfsplus_btnode
|
||||||
{
|
{
|
||||||
|
@ -173,7 +173,7 @@ struct grub_hfsplus_btnode
|
||||||
grub_uint8_t height;
|
grub_uint8_t height;
|
||||||
grub_uint16_t count;
|
grub_uint16_t count;
|
||||||
grub_uint16_t unused;
|
grub_uint16_t unused;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* Return the offset of the record with the index INDEX, in the node
|
/* Return the offset of the record with the index INDEX, in the node
|
||||||
NODE which is part of the B+ tree BTREE. */
|
NODE which is part of the B+ tree BTREE. */
|
||||||
|
|
|
@ -64,7 +64,7 @@ struct grub_freebsd_bootinfo
|
||||||
grub_uint32_t kern_end;
|
grub_uint32_t kern_end;
|
||||||
grub_uint32_t environment;
|
grub_uint32_t environment;
|
||||||
grub_uint32_t tags;
|
grub_uint32_t tags;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct freebsd_tag_header
|
struct freebsd_tag_header
|
||||||
{
|
{
|
||||||
|
|
|
@ -35,7 +35,7 @@ struct grub_linuxbios_timestamp_entry
|
||||||
{
|
{
|
||||||
grub_uint32_t id;
|
grub_uint32_t id;
|
||||||
grub_uint64_t tsc;
|
grub_uint64_t tsc;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_linuxbios_timestamp_table
|
struct grub_linuxbios_timestamp_table
|
||||||
{
|
{
|
||||||
|
@ -43,7 +43,7 @@ struct grub_linuxbios_timestamp_table
|
||||||
grub_uint32_t capacity;
|
grub_uint32_t capacity;
|
||||||
grub_uint32_t used;
|
grub_uint32_t used;
|
||||||
struct grub_linuxbios_timestamp_entry entries[0];
|
struct grub_linuxbios_timestamp_entry entries[0];
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_linuxbios_mainboard
|
struct grub_linuxbios_mainboard
|
||||||
{
|
{
|
||||||
|
@ -86,7 +86,7 @@ struct grub_linuxbios_table_framebuffer {
|
||||||
grub_uint8_t blue_mask_size;
|
grub_uint8_t blue_mask_size;
|
||||||
grub_uint8_t reserved_field_pos;
|
grub_uint8_t reserved_field_pos;
|
||||||
grub_uint8_t reserved_mask_size;
|
grub_uint8_t reserved_mask_size;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_linuxbios_mem_region
|
struct grub_linuxbios_mem_region
|
||||||
{
|
{
|
||||||
|
@ -94,7 +94,7 @@ struct grub_linuxbios_mem_region
|
||||||
grub_uint64_t size;
|
grub_uint64_t size;
|
||||||
#define GRUB_MACHINE_MEMORY_AVAILABLE 1
|
#define GRUB_MACHINE_MEMORY_AVAILABLE 1
|
||||||
grub_uint32_t type;
|
grub_uint32_t type;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
typedef struct grub_linuxbios_mem_region *mem_region_t;
|
typedef struct grub_linuxbios_mem_region *mem_region_t;
|
||||||
|
|
||||||
grub_err_t
|
grub_err_t
|
||||||
|
|
|
@ -60,13 +60,13 @@ struct grub_cpu_interrupt_gate
|
||||||
grub_uint8_t unused;
|
grub_uint8_t unused;
|
||||||
grub_uint8_t gate;
|
grub_uint8_t gate;
|
||||||
grub_uint16_t offset_hi;
|
grub_uint16_t offset_hi;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_cpu_idt_descriptor
|
struct grub_cpu_idt_descriptor
|
||||||
{
|
{
|
||||||
grub_uint16_t limit;
|
grub_uint16_t limit;
|
||||||
grub_uint32_t base;
|
grub_uint32_t base;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
extern void (*grub_gdb_trapvec[]) (void);
|
extern void (*grub_gdb_trapvec[]) (void);
|
||||||
void grub_gdb_idtinit (void);
|
void grub_gdb_idtinit (void);
|
||||||
|
|
|
@ -74,7 +74,7 @@ struct grub_e820_mmap
|
||||||
grub_uint64_t addr;
|
grub_uint64_t addr;
|
||||||
grub_uint64_t size;
|
grub_uint64_t size;
|
||||||
grub_uint32_t type;
|
grub_uint32_t type;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
@ -139,7 +139,7 @@ struct linux_kernel_header
|
||||||
grub_uint64_t setup_data;
|
grub_uint64_t setup_data;
|
||||||
grub_uint64_t pref_address;
|
grub_uint64_t pref_address;
|
||||||
grub_uint32_t init_size;
|
grub_uint32_t init_size;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* Boot parameters for Linux based on 2.6.12. This is used by the setup
|
/* Boot parameters for Linux based on 2.6.12. This is used by the setup
|
||||||
sectors of Linux, and must be simulated by GRUB on EFI, because
|
sectors of Linux, and must be simulated by GRUB on EFI, because
|
||||||
|
@ -309,7 +309,7 @@ struct linux_kernel_params
|
||||||
grub_uint8_t pad2[120]; /* 258 */
|
grub_uint8_t pad2[120]; /* 258 */
|
||||||
struct grub_e820_mmap e820_map[(0x400 - 0x2d0) / 20]; /* 2d0 */
|
struct grub_e820_mmap e820_map[(0x400 - 0x2d0) / 20]; /* 2d0 */
|
||||||
|
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
#endif /* ! ASM_FILE */
|
#endif /* ! ASM_FILE */
|
||||||
|
|
||||||
#endif /* ! GRUB_LINUX_MACHINE_HEADER */
|
#endif /* ! GRUB_LINUX_MACHINE_HEADER */
|
||||||
|
|
|
@ -36,7 +36,7 @@ struct grub_macho_thread32
|
||||||
grub_uint8_t unknown1[48];
|
grub_uint8_t unknown1[48];
|
||||||
grub_uint32_t entry_point;
|
grub_uint32_t entry_point;
|
||||||
grub_uint8_t unknown2[20];
|
grub_uint8_t unknown2[20];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
|
|
||||||
struct grub_macho_thread64
|
struct grub_macho_thread64
|
||||||
|
@ -46,6 +46,6 @@ struct grub_macho_thread64
|
||||||
grub_uint8_t unknown1[0x88];
|
grub_uint8_t unknown1[0x88];
|
||||||
grub_uint64_t entry_point;
|
grub_uint64_t entry_point;
|
||||||
grub_uint8_t unknown2[0x20];
|
grub_uint8_t unknown2[0x20];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -92,7 +92,7 @@ struct grub_netbsd_btinfo_bootwedge {
|
||||||
grub_disk_addr_t matchblk;
|
grub_disk_addr_t matchblk;
|
||||||
grub_uint64_t matchnblks;
|
grub_uint64_t matchnblks;
|
||||||
grub_uint8_t matchhash[16]; /* MD5 hash */
|
grub_uint8_t matchhash[16]; /* MD5 hash */
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_netbsd_btinfo_symtab
|
struct grub_netbsd_btinfo_symtab
|
||||||
{
|
{
|
||||||
|
|
|
@ -69,7 +69,7 @@ struct grub_openbsd_bootargs
|
||||||
grub_uint32_t ba_type;
|
grub_uint32_t ba_type;
|
||||||
grub_uint32_t ba_size;
|
grub_uint32_t ba_size;
|
||||||
grub_uint32_t ba_next;
|
grub_uint32_t ba_next;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_openbsd_bootarg_console
|
struct grub_openbsd_bootarg_console
|
||||||
{
|
{
|
||||||
|
|
|
@ -77,7 +77,7 @@ struct grub_biosdisk_drp
|
||||||
writes a garbage to the tail of drive parameters,
|
writes a garbage to the tail of drive parameters,
|
||||||
regardless of a size specified in a caller. */
|
regardless of a size specified in a caller. */
|
||||||
grub_uint8_t dummy[16];
|
grub_uint8_t dummy[16];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_biosdisk_cdrp
|
struct grub_biosdisk_cdrp
|
||||||
{
|
{
|
||||||
|
@ -94,7 +94,7 @@ struct grub_biosdisk_cdrp
|
||||||
grub_uint8_t sectors;
|
grub_uint8_t sectors;
|
||||||
grub_uint8_t heads;
|
grub_uint8_t heads;
|
||||||
grub_uint8_t dummy[16];
|
grub_uint8_t dummy[16];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* Disk Address Packet. */
|
/* Disk Address Packet. */
|
||||||
struct grub_biosdisk_dap
|
struct grub_biosdisk_dap
|
||||||
|
@ -104,6 +104,6 @@ struct grub_biosdisk_dap
|
||||||
grub_uint16_t blocks;
|
grub_uint16_t blocks;
|
||||||
grub_uint32_t buffer;
|
grub_uint32_t buffer;
|
||||||
grub_uint64_t block;
|
grub_uint64_t block;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#endif /* ! GRUB_BIOSDISK_MACHINE_HEADER */
|
#endif /* ! GRUB_BIOSDISK_MACHINE_HEADER */
|
||||||
|
|
|
@ -58,7 +58,7 @@ struct grub_i386_idt
|
||||||
{
|
{
|
||||||
grub_uint16_t limit;
|
grub_uint16_t limit;
|
||||||
grub_uint32_t base;
|
grub_uint32_t base;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#ifdef GRUB_MACHINE_PCBIOS
|
#ifdef GRUB_MACHINE_PCBIOS
|
||||||
extern struct grub_i386_idt *EXPORT_VAR(grub_realidt);
|
extern struct grub_i386_idt *EXPORT_VAR(grub_realidt);
|
||||||
|
|
|
@ -185,7 +185,7 @@ struct grub_pxenv
|
||||||
grub_uint16_t undi_code_seg; /* UNDI Code segment address. */
|
grub_uint16_t undi_code_seg; /* UNDI Code segment address. */
|
||||||
grub_uint16_t undi_code_size; /* UNDI Code segment size (bytes). */
|
grub_uint16_t undi_code_size; /* UNDI Code segment size (bytes). */
|
||||||
grub_uint32_t pxe_ptr; /* SEG:OFF to !PXE struct. */
|
grub_uint32_t pxe_ptr; /* SEG:OFF to !PXE struct. */
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_pxe_bangpxe
|
struct grub_pxe_bangpxe
|
||||||
{
|
{
|
||||||
|
@ -198,7 +198,7 @@ struct grub_pxe_bangpxe
|
||||||
grub_uint32_t undiromid;
|
grub_uint32_t undiromid;
|
||||||
grub_uint32_t baseromid;
|
grub_uint32_t baseromid;
|
||||||
grub_uint32_t rm_entry;
|
grub_uint32_t rm_entry;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_pxenv_get_cached_info
|
struct grub_pxenv_get_cached_info
|
||||||
{
|
{
|
||||||
|
@ -207,7 +207,7 @@ struct grub_pxenv_get_cached_info
|
||||||
grub_uint16_t buffer_size;
|
grub_uint16_t buffer_size;
|
||||||
grub_uint32_t buffer;
|
grub_uint32_t buffer;
|
||||||
grub_uint16_t buffer_limit;
|
grub_uint16_t buffer_limit;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_pxenv_tftp_open
|
struct grub_pxenv_tftp_open
|
||||||
{
|
{
|
||||||
|
@ -217,12 +217,12 @@ struct grub_pxenv_tftp_open
|
||||||
grub_uint8_t filename[128];
|
grub_uint8_t filename[128];
|
||||||
grub_uint16_t tftp_port;
|
grub_uint16_t tftp_port;
|
||||||
grub_uint16_t packet_size;
|
grub_uint16_t packet_size;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_pxenv_tftp_close
|
struct grub_pxenv_tftp_close
|
||||||
{
|
{
|
||||||
grub_uint16_t status;
|
grub_uint16_t status;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_pxenv_tftp_read
|
struct grub_pxenv_tftp_read
|
||||||
{
|
{
|
||||||
|
@ -230,7 +230,7 @@ struct grub_pxenv_tftp_read
|
||||||
grub_uint16_t packet_number;
|
grub_uint16_t packet_number;
|
||||||
grub_uint16_t buffer_size;
|
grub_uint16_t buffer_size;
|
||||||
grub_uint32_t buffer;
|
grub_uint32_t buffer;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_pxenv_tftp_get_fsize
|
struct grub_pxenv_tftp_get_fsize
|
||||||
{
|
{
|
||||||
|
@ -239,18 +239,18 @@ struct grub_pxenv_tftp_get_fsize
|
||||||
grub_uint32_t gateway_ip;
|
grub_uint32_t gateway_ip;
|
||||||
grub_uint8_t filename[128];
|
grub_uint8_t filename[128];
|
||||||
grub_uint32_t file_size;
|
grub_uint32_t file_size;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_pxenv_udp_open
|
struct grub_pxenv_udp_open
|
||||||
{
|
{
|
||||||
grub_uint16_t status;
|
grub_uint16_t status;
|
||||||
grub_uint32_t src_ip;
|
grub_uint32_t src_ip;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_pxenv_udp_close
|
struct grub_pxenv_udp_close
|
||||||
{
|
{
|
||||||
grub_uint16_t status;
|
grub_uint16_t status;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_pxenv_udp_write
|
struct grub_pxenv_udp_write
|
||||||
{
|
{
|
||||||
|
@ -261,7 +261,7 @@ struct grub_pxenv_udp_write
|
||||||
grub_uint16_t dst_port;
|
grub_uint16_t dst_port;
|
||||||
grub_uint16_t buffer_size;
|
grub_uint16_t buffer_size;
|
||||||
grub_uint32_t buffer;
|
grub_uint32_t buffer;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_pxenv_udp_read
|
struct grub_pxenv_udp_read
|
||||||
{
|
{
|
||||||
|
@ -272,13 +272,13 @@ struct grub_pxenv_udp_read
|
||||||
grub_uint16_t dst_port;
|
grub_uint16_t dst_port;
|
||||||
grub_uint16_t buffer_size;
|
grub_uint16_t buffer_size;
|
||||||
grub_uint32_t buffer;
|
grub_uint32_t buffer;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_pxenv_unload_stack
|
struct grub_pxenv_unload_stack
|
||||||
{
|
{
|
||||||
grub_uint16_t status;
|
grub_uint16_t status;
|
||||||
grub_uint8_t reserved[10];
|
grub_uint8_t reserved[10];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
int EXPORT_FUNC(grub_pxe_call) (int func, void * data, grub_uint32_t pxe_rm_entry) __attribute__ ((regparm(3)));
|
int EXPORT_FUNC(grub_pxe_call) (int func, void * data, grub_uint32_t pxe_rm_entry) __attribute__ ((regparm(3)));
|
||||||
|
|
||||||
|
|
|
@ -84,7 +84,7 @@ struct grub_vbe_info_block
|
||||||
grub_uint8_t reserved[222];
|
grub_uint8_t reserved[222];
|
||||||
|
|
||||||
grub_uint8_t oem_data[256];
|
grub_uint8_t oem_data[256];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_vbe_mode_info_block
|
struct grub_vbe_mode_info_block
|
||||||
{
|
{
|
||||||
|
@ -147,7 +147,7 @@ struct grub_vbe_mode_info_block
|
||||||
that doesn't make structure to be 256 bytes. So additional one is
|
that doesn't make structure to be 256 bytes. So additional one is
|
||||||
added here. */
|
added here. */
|
||||||
grub_uint8_t reserved4[189 + 1];
|
grub_uint8_t reserved4[189 + 1];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_vbe_crtc_info_block
|
struct grub_vbe_crtc_info_block
|
||||||
{
|
{
|
||||||
|
@ -161,7 +161,7 @@ struct grub_vbe_crtc_info_block
|
||||||
grub_uint32_t pixel_clock;
|
grub_uint32_t pixel_clock;
|
||||||
grub_uint16_t refresh_rate;
|
grub_uint16_t refresh_rate;
|
||||||
grub_uint8_t reserved[40];
|
grub_uint8_t reserved[40];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_vbe_palette_data
|
struct grub_vbe_palette_data
|
||||||
{
|
{
|
||||||
|
@ -169,7 +169,7 @@ struct grub_vbe_palette_data
|
||||||
grub_uint8_t green;
|
grub_uint8_t green;
|
||||||
grub_uint8_t red;
|
grub_uint8_t red;
|
||||||
grub_uint8_t alignment;
|
grub_uint8_t alignment;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_vbe_flat_panel_info
|
struct grub_vbe_flat_panel_info
|
||||||
{
|
{
|
||||||
|
@ -184,7 +184,7 @@ struct grub_vbe_flat_panel_info
|
||||||
grub_vbe_farptr_t reserved_offscreen_mem_ptr;
|
grub_vbe_farptr_t reserved_offscreen_mem_ptr;
|
||||||
|
|
||||||
grub_uint8_t reserved[14];
|
grub_uint8_t reserved[14];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* Prototypes for helper functions. */
|
/* Prototypes for helper functions. */
|
||||||
/* Call VESA BIOS 0x4f00 to get VBE Controller Information, return status. */
|
/* Call VESA BIOS 0x4f00 to get VBE Controller Information, return status. */
|
||||||
|
|
|
@ -61,7 +61,7 @@ struct grub_xnu_boot_params_common
|
||||||
grub_uint32_t efi_runtime_first_page;
|
grub_uint32_t efi_runtime_first_page;
|
||||||
/* First memory page containing runtime code or data minus previous value. */
|
/* First memory page containing runtime code or data minus previous value. */
|
||||||
grub_uint32_t efi_runtime_npages;
|
grub_uint32_t efi_runtime_npages;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_xnu_boot_params_v1
|
struct grub_xnu_boot_params_v1
|
||||||
{
|
{
|
||||||
|
@ -72,7 +72,7 @@ struct grub_xnu_boot_params_v1
|
||||||
grub_uint32_t efi_system_table;
|
grub_uint32_t efi_system_table;
|
||||||
/* Size of grub_efi_uintn_t in bits. */
|
/* Size of grub_efi_uintn_t in bits. */
|
||||||
grub_uint8_t efi_uintnbits;
|
grub_uint8_t efi_uintnbits;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
#define GRUB_XNU_BOOTARGSV1_VERMINOR 5
|
#define GRUB_XNU_BOOTARGSV1_VERMINOR 5
|
||||||
#define GRUB_XNU_BOOTARGSV1_VERMAJOR 1
|
#define GRUB_XNU_BOOTARGSV1_VERMAJOR 1
|
||||||
|
|
||||||
|
@ -92,7 +92,7 @@ struct grub_xnu_boot_params_v2
|
||||||
grub_uint32_t unused2[11];
|
grub_uint32_t unused2[11];
|
||||||
grub_uint64_t fsbfreq;
|
grub_uint64_t fsbfreq;
|
||||||
grub_uint32_t unused3[734];
|
grub_uint32_t unused3[734];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
#define GRUB_XNU_BOOTARGSV2_VERMINOR 0
|
#define GRUB_XNU_BOOTARGSV2_VERMINOR 0
|
||||||
#define GRUB_XNU_BOOTARGSV2_VERMAJOR 2
|
#define GRUB_XNU_BOOTARGSV2_VERMAJOR 2
|
||||||
|
|
||||||
|
|
|
@ -41,13 +41,13 @@ struct grub_lvm_label_header {
|
||||||
grub_uint32_t crc_xl; /* From next field to end of sector */
|
grub_uint32_t crc_xl; /* From next field to end of sector */
|
||||||
grub_uint32_t offset_xl; /* Offset from start of struct to contents */
|
grub_uint32_t offset_xl; /* Offset from start of struct to contents */
|
||||||
grub_int8_t type[8]; /* LVM2 001 */
|
grub_int8_t type[8]; /* LVM2 001 */
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* On disk */
|
/* On disk */
|
||||||
struct grub_lvm_disk_locn {
|
struct grub_lvm_disk_locn {
|
||||||
grub_uint64_t offset; /* Offset in bytes to start sector */
|
grub_uint64_t offset; /* Offset in bytes to start sector */
|
||||||
grub_uint64_t size; /* Bytes */
|
grub_uint64_t size; /* Bytes */
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* Fields with the suffix _xl should be xlate'd wherever they appear */
|
/* Fields with the suffix _xl should be xlate'd wherever they appear */
|
||||||
/* On disk */
|
/* On disk */
|
||||||
|
@ -60,7 +60,7 @@ struct grub_lvm_pv_header {
|
||||||
/* NULL-terminated list of data areas followed by */
|
/* NULL-terminated list of data areas followed by */
|
||||||
/* NULL-terminated list of metadata area headers */
|
/* NULL-terminated list of metadata area headers */
|
||||||
struct grub_lvm_disk_locn disk_areas_xl[0]; /* Two lists */
|
struct grub_lvm_disk_locn disk_areas_xl[0]; /* Two lists */
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#define GRUB_LVM_FMTT_MAGIC "\040\114\126\115\062\040\170\133\065\101\045\162\060\116\052\076"
|
#define GRUB_LVM_FMTT_MAGIC "\040\114\126\115\062\040\170\133\065\101\045\162\060\116\052\076"
|
||||||
#define GRUB_LVM_FMTT_VERSION 1
|
#define GRUB_LVM_FMTT_VERSION 1
|
||||||
|
@ -72,7 +72,7 @@ struct grub_lvm_raw_locn {
|
||||||
grub_uint64_t size; /* Bytes */
|
grub_uint64_t size; /* Bytes */
|
||||||
grub_uint32_t checksum;
|
grub_uint32_t checksum;
|
||||||
grub_uint32_t filler;
|
grub_uint32_t filler;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* On disk */
|
/* On disk */
|
||||||
/* Structure size limited to one sector */
|
/* Structure size limited to one sector */
|
||||||
|
@ -84,7 +84,7 @@ struct grub_lvm_mda_header {
|
||||||
grub_uint64_t size; /* Size of metadata area */
|
grub_uint64_t size; /* Size of metadata area */
|
||||||
|
|
||||||
struct grub_lvm_raw_locn raw_locns[0]; /* NULL-terminated list */
|
struct grub_lvm_raw_locn raw_locns[0]; /* NULL-terminated list */
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
|
|
||||||
#endif /* ! GRUB_LVM_H */
|
#endif /* ! GRUB_LVM_H */
|
||||||
|
|
|
@ -25,7 +25,7 @@ struct grub_macho_fat_header
|
||||||
{
|
{
|
||||||
grub_uint32_t magic;
|
grub_uint32_t magic;
|
||||||
grub_uint32_t nfat_arch;
|
grub_uint32_t nfat_arch;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
@ -47,7 +47,7 @@ struct grub_macho_fat_arch
|
||||||
grub_uint32_t offset;
|
grub_uint32_t offset;
|
||||||
grub_uint32_t size;
|
grub_uint32_t size;
|
||||||
grub_uint32_t align;
|
grub_uint32_t align;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* File header for 32-bit. Always in native-endian. */
|
/* File header for 32-bit. Always in native-endian. */
|
||||||
struct grub_macho_header32
|
struct grub_macho_header32
|
||||||
|
@ -60,7 +60,7 @@ struct grub_macho_header32
|
||||||
grub_uint32_t ncmds;
|
grub_uint32_t ncmds;
|
||||||
grub_uint32_t sizeofcmds;
|
grub_uint32_t sizeofcmds;
|
||||||
grub_uint32_t flags;
|
grub_uint32_t flags;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* File header for 64-bit. Always in native-endian. */
|
/* File header for 64-bit. Always in native-endian. */
|
||||||
struct grub_macho_header64
|
struct grub_macho_header64
|
||||||
|
@ -74,14 +74,14 @@ struct grub_macho_header64
|
||||||
grub_uint32_t sizeofcmds;
|
grub_uint32_t sizeofcmds;
|
||||||
grub_uint32_t flags;
|
grub_uint32_t flags;
|
||||||
grub_uint32_t reserved;
|
grub_uint32_t reserved;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* Common header of Mach-O commands. */
|
/* Common header of Mach-O commands. */
|
||||||
struct grub_macho_cmd
|
struct grub_macho_cmd
|
||||||
{
|
{
|
||||||
grub_uint32_t cmd;
|
grub_uint32_t cmd;
|
||||||
grub_uint32_t cmdsize;
|
grub_uint32_t cmdsize;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
typedef grub_uint32_t grub_macho_vmprot_t;
|
typedef grub_uint32_t grub_macho_vmprot_t;
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ struct grub_macho_segment32
|
||||||
grub_macho_vmprot_t initprot;
|
grub_macho_vmprot_t initprot;
|
||||||
grub_uint32_t nsects;
|
grub_uint32_t nsects;
|
||||||
grub_uint32_t flags;
|
grub_uint32_t flags;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* 64-bit segment command. */
|
/* 64-bit segment command. */
|
||||||
struct grub_macho_segment64
|
struct grub_macho_segment64
|
||||||
|
@ -117,7 +117,7 @@ struct grub_macho_segment64
|
||||||
grub_macho_vmprot_t initprot;
|
grub_macho_vmprot_t initprot;
|
||||||
grub_uint32_t nsects;
|
grub_uint32_t nsects;
|
||||||
grub_uint32_t flags;
|
grub_uint32_t flags;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#define GRUB_MACHO_CMD_THREAD 5
|
#define GRUB_MACHO_CMD_THREAD 5
|
||||||
|
|
||||||
|
@ -137,7 +137,7 @@ union grub_macho_filestart
|
||||||
struct grub_macho_header32 thin32;
|
struct grub_macho_header32 thin32;
|
||||||
struct grub_macho_header64 thin64;
|
struct grub_macho_header64 thin64;
|
||||||
struct grub_macho_lzss_header lzss;
|
struct grub_macho_lzss_header lzss;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#define GRUB_MACHO_LZSS_OFFSET 0x180
|
#define GRUB_MACHO_LZSS_OFFSET 0x180
|
||||||
|
|
||||||
|
|
|
@ -88,7 +88,7 @@ struct grub_msdos_partition_entry
|
||||||
|
|
||||||
/* The length in sector units. */
|
/* The length in sector units. */
|
||||||
grub_uint32_t length;
|
grub_uint32_t length;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* The structure of MBR. */
|
/* The structure of MBR. */
|
||||||
struct grub_msdos_partition_mbr
|
struct grub_msdos_partition_mbr
|
||||||
|
@ -101,7 +101,7 @@ struct grub_msdos_partition_mbr
|
||||||
|
|
||||||
/* The signature 0xaa55. */
|
/* The signature 0xaa55. */
|
||||||
grub_uint16_t signature;
|
grub_uint16_t signature;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -416,7 +416,7 @@ struct grub_net_bootp_packet
|
||||||
char server_name[64];
|
char server_name[64];
|
||||||
char boot_file[128];
|
char boot_file[128];
|
||||||
grub_uint8_t vendor[0];
|
grub_uint8_t vendor[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#define GRUB_NET_BOOTP_RFC1048_MAGIC_0 0x63
|
#define GRUB_NET_BOOTP_RFC1048_MAGIC_0 0x63
|
||||||
#define GRUB_NET_BOOTP_RFC1048_MAGIC_1 0x82
|
#define GRUB_NET_BOOTP_RFC1048_MAGIC_1 0x82
|
||||||
|
|
|
@ -27,7 +27,7 @@ struct udphdr
|
||||||
grub_uint16_t dst;
|
grub_uint16_t dst;
|
||||||
grub_uint16_t len;
|
grub_uint16_t len;
|
||||||
grub_uint16_t chksum;
|
grub_uint16_t chksum;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_net_udp_socket;
|
struct grub_net_udp_socket;
|
||||||
typedef struct grub_net_udp_socket *grub_net_udp_socket_t;
|
typedef struct grub_net_udp_socket *grub_net_udp_socket_t;
|
||||||
|
|
|
@ -125,7 +125,7 @@ struct grub_ntfs_bpb
|
||||||
grub_int8_t reserved_6[3];
|
grub_int8_t reserved_6[3];
|
||||||
grub_uint64_t num_serial;
|
grub_uint64_t num_serial;
|
||||||
grub_uint32_t checksum;
|
grub_uint32_t checksum;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_ntfs_attr
|
struct grub_ntfs_attr
|
||||||
{
|
{
|
||||||
|
|
|
@ -153,7 +153,7 @@ struct grub_pc_bios_boot_blocklist
|
||||||
grub_uint64_t start;
|
grub_uint64_t start;
|
||||||
grub_uint16_t len;
|
grub_uint16_t len;
|
||||||
grub_uint16_t segment;
|
grub_uint16_t segment;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -34,7 +34,7 @@ struct grub_scsi_test_unit_ready
|
||||||
grub_uint8_t reserved3;
|
grub_uint8_t reserved3;
|
||||||
grub_uint8_t control;
|
grub_uint8_t control;
|
||||||
grub_uint8_t pad[6]; /* To be ATAPI compatible */
|
grub_uint8_t pad[6]; /* To be ATAPI compatible */
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_scsi_inquiry
|
struct grub_scsi_inquiry
|
||||||
{
|
{
|
||||||
|
@ -45,7 +45,7 @@ struct grub_scsi_inquiry
|
||||||
grub_uint8_t alloc_length;
|
grub_uint8_t alloc_length;
|
||||||
grub_uint8_t control;
|
grub_uint8_t control;
|
||||||
grub_uint8_t pad[6]; /* To be ATAPI compatible */
|
grub_uint8_t pad[6]; /* To be ATAPI compatible */
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_scsi_inquiry_data
|
struct grub_scsi_inquiry_data
|
||||||
{
|
{
|
||||||
|
@ -57,7 +57,7 @@ struct grub_scsi_inquiry_data
|
||||||
char vendor[8];
|
char vendor[8];
|
||||||
char prodid[16];
|
char prodid[16];
|
||||||
char prodrev[4];
|
char prodrev[4];
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_scsi_request_sense
|
struct grub_scsi_request_sense
|
||||||
{
|
{
|
||||||
|
@ -68,7 +68,7 @@ struct grub_scsi_request_sense
|
||||||
grub_uint8_t alloc_length;
|
grub_uint8_t alloc_length;
|
||||||
grub_uint8_t control;
|
grub_uint8_t control;
|
||||||
grub_uint8_t pad[6]; /* To be ATAPI compatible */
|
grub_uint8_t pad[6]; /* To be ATAPI compatible */
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_scsi_request_sense_data
|
struct grub_scsi_request_sense_data
|
||||||
{
|
{
|
||||||
|
@ -83,7 +83,7 @@ struct grub_scsi_request_sense_data
|
||||||
grub_uint8_t field_replaceable_unit_code;
|
grub_uint8_t field_replaceable_unit_code;
|
||||||
grub_uint8_t sense_key_specific[3];
|
grub_uint8_t sense_key_specific[3];
|
||||||
/* there can be additional sense field */
|
/* there can be additional sense field */
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_scsi_read_capacity10
|
struct grub_scsi_read_capacity10
|
||||||
{
|
{
|
||||||
|
@ -95,13 +95,13 @@ struct grub_scsi_read_capacity10
|
||||||
grub_uint8_t PMI;
|
grub_uint8_t PMI;
|
||||||
grub_uint8_t control;
|
grub_uint8_t control;
|
||||||
grub_uint16_t pad; /* To be ATAPI compatible */
|
grub_uint16_t pad; /* To be ATAPI compatible */
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_scsi_read_capacity10_data
|
struct grub_scsi_read_capacity10_data
|
||||||
{
|
{
|
||||||
grub_uint32_t last_block;
|
grub_uint32_t last_block;
|
||||||
grub_uint32_t blocksize;
|
grub_uint32_t blocksize;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_scsi_read_capacity16
|
struct grub_scsi_read_capacity16
|
||||||
{
|
{
|
||||||
|
@ -111,14 +111,14 @@ struct grub_scsi_read_capacity16
|
||||||
grub_uint32_t alloc_len;
|
grub_uint32_t alloc_len;
|
||||||
grub_uint8_t PMI;
|
grub_uint8_t PMI;
|
||||||
grub_uint8_t control;
|
grub_uint8_t control;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_scsi_read_capacity16_data
|
struct grub_scsi_read_capacity16_data
|
||||||
{
|
{
|
||||||
grub_uint64_t last_block;
|
grub_uint64_t last_block;
|
||||||
grub_uint32_t blocksize;
|
grub_uint32_t blocksize;
|
||||||
grub_uint8_t pad[20];
|
grub_uint8_t pad[20];
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_scsi_read10
|
struct grub_scsi_read10
|
||||||
{
|
{
|
||||||
|
@ -129,7 +129,7 @@ struct grub_scsi_read10
|
||||||
grub_uint16_t size;
|
grub_uint16_t size;
|
||||||
grub_uint8_t reserved2;
|
grub_uint8_t reserved2;
|
||||||
grub_uint16_t pad;
|
grub_uint16_t pad;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_scsi_read12
|
struct grub_scsi_read12
|
||||||
{
|
{
|
||||||
|
@ -139,7 +139,7 @@ struct grub_scsi_read12
|
||||||
grub_uint32_t size;
|
grub_uint32_t size;
|
||||||
grub_uint8_t reserved;
|
grub_uint8_t reserved;
|
||||||
grub_uint8_t control;
|
grub_uint8_t control;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_scsi_read16
|
struct grub_scsi_read16
|
||||||
{
|
{
|
||||||
|
@ -149,7 +149,7 @@ struct grub_scsi_read16
|
||||||
grub_uint32_t size;
|
grub_uint32_t size;
|
||||||
grub_uint8_t reserved;
|
grub_uint8_t reserved;
|
||||||
grub_uint8_t control;
|
grub_uint8_t control;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_scsi_write10
|
struct grub_scsi_write10
|
||||||
{
|
{
|
||||||
|
@ -160,7 +160,7 @@ struct grub_scsi_write10
|
||||||
grub_uint16_t size;
|
grub_uint16_t size;
|
||||||
grub_uint8_t reserved2;
|
grub_uint8_t reserved2;
|
||||||
grub_uint16_t pad;
|
grub_uint16_t pad;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_scsi_write12
|
struct grub_scsi_write12
|
||||||
{
|
{
|
||||||
|
@ -170,7 +170,7 @@ struct grub_scsi_write12
|
||||||
grub_uint32_t size;
|
grub_uint32_t size;
|
||||||
grub_uint8_t reserved;
|
grub_uint8_t reserved;
|
||||||
grub_uint8_t control;
|
grub_uint8_t control;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_scsi_write16
|
struct grub_scsi_write16
|
||||||
{
|
{
|
||||||
|
@ -180,7 +180,7 @@ struct grub_scsi_write16
|
||||||
grub_uint32_t size;
|
grub_uint32_t size;
|
||||||
grub_uint8_t reserved;
|
grub_uint8_t reserved;
|
||||||
grub_uint8_t control;
|
grub_uint8_t control;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
|
|
|
@ -57,7 +57,7 @@ struct grub_boot_blocklist
|
||||||
{
|
{
|
||||||
grub_uint64_t start;
|
grub_uint64_t start;
|
||||||
grub_uint32_t len;
|
grub_uint32_t len;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* ! BOOT_MACHINE_HEADER */
|
#endif /* ! BOOT_MACHINE_HEADER */
|
||||||
|
|
|
@ -24,6 +24,12 @@
|
||||||
#include <grub/cpu/types.h>
|
#include <grub/cpu/types.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __MINGW32__
|
||||||
|
#define GRUB_PACKED __attribute__ ((packed,gcc_struct))
|
||||||
|
#else
|
||||||
|
#define GRUB_PACKED __attribute__ ((packed))
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef GRUB_BUILD
|
#ifdef GRUB_BUILD
|
||||||
# define GRUB_CPU_SIZEOF_VOID_P BUILD_SIZEOF_VOID_P
|
# define GRUB_CPU_SIZEOF_VOID_P BUILD_SIZEOF_VOID_P
|
||||||
# define GRUB_CPU_SIZEOF_LONG BUILD_SIZEOF_LONG
|
# define GRUB_CPU_SIZEOF_LONG BUILD_SIZEOF_LONG
|
||||||
|
@ -253,7 +259,7 @@ static inline grub_uint16_t grub_get_unaligned16 (const void *ptr)
|
||||||
struct grub_unaligned_uint16_t
|
struct grub_unaligned_uint16_t
|
||||||
{
|
{
|
||||||
grub_uint16_t d;
|
grub_uint16_t d;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
const struct grub_unaligned_uint16_t *dd
|
const struct grub_unaligned_uint16_t *dd
|
||||||
= (const struct grub_unaligned_uint16_t *) ptr;
|
= (const struct grub_unaligned_uint16_t *) ptr;
|
||||||
return dd->d;
|
return dd->d;
|
||||||
|
@ -264,7 +270,7 @@ static inline void grub_set_unaligned16 (void *ptr, grub_uint16_t val)
|
||||||
struct grub_unaligned_uint16_t
|
struct grub_unaligned_uint16_t
|
||||||
{
|
{
|
||||||
grub_uint16_t d;
|
grub_uint16_t d;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
struct grub_unaligned_uint16_t *dd = (struct grub_unaligned_uint16_t *) ptr;
|
struct grub_unaligned_uint16_t *dd = (struct grub_unaligned_uint16_t *) ptr;
|
||||||
dd->d = val;
|
dd->d = val;
|
||||||
}
|
}
|
||||||
|
@ -274,7 +280,7 @@ static inline grub_uint32_t grub_get_unaligned32 (const void *ptr)
|
||||||
struct grub_unaligned_uint32_t
|
struct grub_unaligned_uint32_t
|
||||||
{
|
{
|
||||||
grub_uint32_t d;
|
grub_uint32_t d;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
const struct grub_unaligned_uint32_t *dd
|
const struct grub_unaligned_uint32_t *dd
|
||||||
= (const struct grub_unaligned_uint32_t *) ptr;
|
= (const struct grub_unaligned_uint32_t *) ptr;
|
||||||
return dd->d;
|
return dd->d;
|
||||||
|
@ -285,7 +291,7 @@ static inline void grub_set_unaligned32 (void *ptr, grub_uint32_t val)
|
||||||
struct grub_unaligned_uint32_t
|
struct grub_unaligned_uint32_t
|
||||||
{
|
{
|
||||||
grub_uint32_t d;
|
grub_uint32_t d;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
struct grub_unaligned_uint32_t *dd = (struct grub_unaligned_uint32_t *) ptr;
|
struct grub_unaligned_uint32_t *dd = (struct grub_unaligned_uint32_t *) ptr;
|
||||||
dd->d = val;
|
dd->d = val;
|
||||||
}
|
}
|
||||||
|
@ -293,7 +299,7 @@ static inline void grub_set_unaligned32 (void *ptr, grub_uint32_t val)
|
||||||
struct grub_unaligned_uint64
|
struct grub_unaligned_uint64
|
||||||
{
|
{
|
||||||
grub_uint64_t val;
|
grub_uint64_t val;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
typedef struct grub_unaligned_uint64 grub_unaligned_uint64_t;
|
typedef struct grub_unaligned_uint64 grub_unaligned_uint64_t;
|
||||||
|
|
||||||
|
@ -309,7 +315,7 @@ static inline void grub_set_unaligned64 (void *ptr, grub_uint64_t val)
|
||||||
struct grub_unaligned_uint64_t
|
struct grub_unaligned_uint64_t
|
||||||
{
|
{
|
||||||
grub_uint64_t d;
|
grub_uint64_t d;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
struct grub_unaligned_uint64_t *dd = (struct grub_unaligned_uint64_t *) ptr;
|
struct grub_unaligned_uint64_t *dd = (struct grub_unaligned_uint64_t *) ptr;
|
||||||
dd->d = val;
|
dd->d = val;
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,7 @@ struct grub_unicode_compact_range
|
||||||
unsigned comb_type:8;
|
unsigned comb_type:8;
|
||||||
unsigned bidi_mirror:1;
|
unsigned bidi_mirror:1;
|
||||||
unsigned join_type:3;
|
unsigned join_type:3;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* Old-style Arabic shaping. Used for "visual UTF-8" and
|
/* Old-style Arabic shaping. Used for "visual UTF-8" and
|
||||||
in grub-mkfont to find variant glyphs in absence of GPOS tables. */
|
in grub-mkfont to find variant glyphs in absence of GPOS tables. */
|
||||||
|
|
|
@ -36,7 +36,7 @@ struct grub_usb_desc
|
||||||
{
|
{
|
||||||
grub_uint8_t length;
|
grub_uint8_t length;
|
||||||
grub_uint8_t type;
|
grub_uint8_t type;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_usb_desc_device
|
struct grub_usb_desc_device
|
||||||
{
|
{
|
||||||
|
@ -54,7 +54,7 @@ struct grub_usb_desc_device
|
||||||
grub_uint8_t strprod;
|
grub_uint8_t strprod;
|
||||||
grub_uint8_t strserial;
|
grub_uint8_t strserial;
|
||||||
grub_uint8_t configcnt;
|
grub_uint8_t configcnt;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_usb_desc_config
|
struct grub_usb_desc_config
|
||||||
{
|
{
|
||||||
|
@ -66,7 +66,7 @@ struct grub_usb_desc_config
|
||||||
grub_uint8_t strconfig;
|
grub_uint8_t strconfig;
|
||||||
grub_uint8_t attrib;
|
grub_uint8_t attrib;
|
||||||
grub_uint8_t maxpower;
|
grub_uint8_t maxpower;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
struct grub_usb_desc_if_association
|
struct grub_usb_desc_if_association
|
||||||
|
@ -79,7 +79,7 @@ struct grub_usb_desc_if_association
|
||||||
grub_uint8_t subclass;
|
grub_uint8_t subclass;
|
||||||
grub_uint8_t protocol;
|
grub_uint8_t protocol;
|
||||||
grub_uint8_t function;
|
grub_uint8_t function;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct grub_usb_desc_if
|
struct grub_usb_desc_if
|
||||||
|
@ -93,7 +93,7 @@ struct grub_usb_desc_if
|
||||||
grub_uint8_t subclass;
|
grub_uint8_t subclass;
|
||||||
grub_uint8_t protocol;
|
grub_uint8_t protocol;
|
||||||
grub_uint8_t strif;
|
grub_uint8_t strif;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_usb_desc_endp
|
struct grub_usb_desc_endp
|
||||||
{
|
{
|
||||||
|
@ -103,14 +103,14 @@ struct grub_usb_desc_endp
|
||||||
grub_uint8_t attrib;
|
grub_uint8_t attrib;
|
||||||
grub_uint16_t maxpacket;
|
grub_uint16_t maxpacket;
|
||||||
grub_uint8_t interval;
|
grub_uint8_t interval;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_usb_desc_str
|
struct grub_usb_desc_str
|
||||||
{
|
{
|
||||||
grub_uint8_t length;
|
grub_uint8_t length;
|
||||||
grub_uint8_t type;
|
grub_uint8_t type;
|
||||||
grub_uint16_t str[0];
|
grub_uint16_t str[0];
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_usb_desc_debug
|
struct grub_usb_desc_debug
|
||||||
{
|
{
|
||||||
|
@ -118,7 +118,7 @@ struct grub_usb_desc_debug
|
||||||
grub_uint8_t type;
|
grub_uint8_t type;
|
||||||
grub_uint8_t in_endp;
|
grub_uint8_t in_endp;
|
||||||
grub_uint8_t out_endp;
|
grub_uint8_t out_endp;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_usb_usb_hubdesc
|
struct grub_usb_usb_hubdesc
|
||||||
{
|
{
|
||||||
|
@ -129,6 +129,6 @@ struct grub_usb_usb_hubdesc
|
||||||
grub_uint8_t pwdgood;
|
grub_uint8_t pwdgood;
|
||||||
grub_uint8_t current;
|
grub_uint8_t current;
|
||||||
/* Removable and power control bits follow. */
|
/* Removable and power control bits follow. */
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
#endif /* GRUB_USBDESC_H */
|
#endif /* GRUB_USBDESC_H */
|
||||||
|
|
|
@ -149,7 +149,7 @@ struct grub_usb_packet_setup
|
||||||
grub_uint16_t value;
|
grub_uint16_t value;
|
||||||
grub_uint16_t index;
|
grub_uint16_t index;
|
||||||
grub_uint16_t length;
|
grub_uint16_t length;
|
||||||
} __attribute__((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
|
|
||||||
#endif /* GRUB_USBTRANS_H */
|
#endif /* GRUB_USBTRANS_H */
|
||||||
|
|
|
@ -273,7 +273,7 @@ struct grub_video_edid_info
|
||||||
|
|
||||||
grub_uint8_t extension_flag;
|
grub_uint8_t extension_flag;
|
||||||
grub_uint8_t checksum;
|
grub_uint8_t checksum;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
typedef enum grub_video_driver_id
|
typedef enum grub_video_driver_id
|
||||||
{
|
{
|
||||||
|
|
|
@ -46,7 +46,7 @@ struct grub_xnu_hibernate_header
|
||||||
Used only to skip it.
|
Used only to skip it.
|
||||||
*/
|
*/
|
||||||
grub_uint32_t extmapsize;
|
grub_uint32_t extmapsize;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* In-memory structure for temporary keeping device tree. */
|
/* In-memory structure for temporary keeping device tree. */
|
||||||
struct grub_xnu_devtree_key
|
struct grub_xnu_devtree_key
|
||||||
|
@ -67,7 +67,7 @@ grub_xnu_extdesc
|
||||||
{
|
{
|
||||||
grub_uint32_t addr;
|
grub_uint32_t addr;
|
||||||
grub_uint32_t size;
|
grub_uint32_t size;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
/* Header describing extension in the memory. */
|
/* Header describing extension in the memory. */
|
||||||
struct grub_xnu_extheader
|
struct grub_xnu_extheader
|
||||||
|
@ -78,7 +78,7 @@ struct grub_xnu_extheader
|
||||||
grub_uint32_t binarysize;
|
grub_uint32_t binarysize;
|
||||||
grub_uint32_t nameaddr;
|
grub_uint32_t nameaddr;
|
||||||
grub_uint32_t namesize;
|
grub_uint32_t namesize;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
|
|
||||||
struct grub_xnu_devtree_key *grub_xnu_create_key (struct grub_xnu_devtree_key **parent,
|
struct grub_xnu_devtree_key *grub_xnu_create_key (struct grub_xnu_devtree_key **parent,
|
||||||
const char *name);
|
const char *name);
|
||||||
|
|
|
@ -91,7 +91,7 @@ typedef union zap_leaf_chunk {
|
||||||
{
|
{
|
||||||
grub_uint8_t la_array[ZAP_LEAF_ARRAY_BYTES];
|
grub_uint8_t la_array[ZAP_LEAF_ARRAY_BYTES];
|
||||||
grub_uint64_t la_array64;
|
grub_uint64_t la_array64;
|
||||||
} __attribute__ ((packed));
|
} GRUB_PACKED;
|
||||||
grub_uint16_t la_next; /* next blk or CHAIN_END */
|
grub_uint16_t la_next; /* next blk or CHAIN_END */
|
||||||
} l_array;
|
} l_array;
|
||||||
struct zap_leaf_free {
|
struct zap_leaf_free {
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
typedef struct zio_eck {
|
typedef struct zio_eck {
|
||||||
grub_uint64_t zec_magic; /* for validation, endianness */
|
grub_uint64_t zec_magic; /* for validation, endianness */
|
||||||
zio_cksum_t zec_cksum; /* 256-bit checksum */
|
zio_cksum_t zec_cksum; /* 256-bit checksum */
|
||||||
} __attribute__ ((packed)) zio_eck_t;
|
} GRUB_PACKED zio_eck_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Gang block headers are self-checksumming and contain an array
|
* Gang block headers are self-checksumming and contain an array
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue