uint8_t pos;
uint32_t dict_size;
uint64_t dst_size;
-} __attribute__ ((packed)) lzma_header_t;
+} PACKED lzma_header_t;
/* #defines will force compiler to compute/optimize each one with each usage.
uint32_t mtime;
uint8_t xtra_flags_UNUSED;
uint8_t os_flags_UNUSED;
- } __attribute__((packed)) formatted;
+ } PACKED formatted;
} header;
struct BUG_header {
char BUG_header[sizeof(header) == 8 ? 1 : -1];
uint16_t date; /* 018 date */
uint16_t start; /* 01a first cluster */
uint32_t size; /* 01c file size in bytes */
-} __attribute__ ((packed));
+} PACKED;
/* Example of boot sector's beginning:
0000 eb 58 90 4d 53 57 49 4e 34 2e 31 00 02 08 26 00 |...MSWIN4.1...&.|
uint32_t volume_id32; /* 043 volume ID number */
char volume_label[11];/* 047 volume label */
char fs_type[8]; /* 052 typically "FATnn" */
-} __attribute__ ((packed)); /* 05a end. Total size 26 (0x1a) bytes */
+} PACKED; /* 05a end. Total size 26 (0x1a) bytes */
struct msdos_boot_sector {
char boot_jump[3]; /* 000 short or near jump instruction */
char boot_code[0x200 - 0x5a - 2]; /* 05a */
#define BOOT_SIGN 0xAA55
uint16_t boot_sign; /* 1fe */
-} __attribute__ ((packed));
+} PACKED;
#define FAT_FSINFO_SIG1 0x41615252
#define FAT_FSINFO_SIG2 0x61417272
uint32_t reserved2[3];
uint16_t reserved3; /* 1fc */
uint16_t boot_sign; /* 1fe */
-} __attribute__ ((packed));
+} PACKED;
struct bug_check {
char BUG1[sizeof(struct msdos_dir_entry ) == 0x20 ? 1 : -1];
uint32_t edition;
uint32_t blocks;
uint32_t files;
- } __attribute__((__packed__)) info;
+ } PACKED info;
uint8_t name[16];
-} __attribute__((__packed__));
+} PACKED;
int volume_id_probe_cramfs(struct volume_id *id /*,uint64_t off*/)
{
uint32_t feature_ro_compat;
uint8_t uuid[16];
uint8_t volume_name[16];
-} __attribute__((__packed__));
+} PACKED;
#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x00000004
#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x00000008
uint8_t magic[8];
uint8_t dummy2[192];
uint8_t pmagic[2];
- } __attribute__((__packed__)) fat;
+ } PACKED fat;
struct fat32_super_block {
uint32_t fat32_length;
uint16_t flags;
uint8_t magic[8];
uint8_t dummy2[164];
uint8_t pmagic[2];
- } __attribute__((__packed__)) fat32;
- } __attribute__((__packed__)) type;
-} __attribute__((__packed__));
+ } PACKED fat32;
+ } PACKED type;
+} PACKED;
struct vfat_dir_entry {
uint8_t name[11];
uint16_t date_write;
uint16_t cluster_low;
uint32_t size;
-} __attribute__((__packed__));
+} PACKED;
static uint8_t *get_attr_volume_id(struct vfat_dir_entry *dir, int count)
{
uint32_t reserved;
uint32_t osx_folder;
uint8_t id[8];
-} __attribute__((__packed__));
+} PACKED;
struct hfs_mdb {
uint8_t signature[2];
uint8_t embed_sig[2];
uint16_t embed_startblock;
uint16_t embed_blockcount;
-} __attribute__((__packed__));
+} PACKED;
struct hfsplus_bnode_descriptor {
uint32_t next;
uint8_t height;
uint16_t num_recs;
uint16_t reserved;
-} __attribute__((__packed__));
+} PACKED;
struct hfsplus_bheader_record {
uint16_t depth;
uint32_t leaf_head;
uint32_t leaf_tail;
uint16_t node_size;
-} __attribute__((__packed__));
+} PACKED;
struct hfsplus_catalog_key {
uint16_t key_len;
uint32_t parent_id;
uint16_t unicode_len;
uint8_t unicode[255 * 2];
-} __attribute__((__packed__));
+} PACKED;
struct hfsplus_extent {
uint32_t start_block;
uint32_t block_count;
-} __attribute__((__packed__));
+} PACKED;
#define HFSPLUS_EXTENT_COUNT 8
struct hfsplus_fork {
uint32_t clump_size;
uint32_t total_blocks;
struct hfsplus_extent extents[HFSPLUS_EXTENT_COUNT];
-} __attribute__((__packed__));
+} PACKED;
struct hfsplus_vol_header {
uint8_t signature[2];
struct hfsplus_fork cat_file;
struct hfsplus_fork attr_file;
struct hfsplus_fork start_file;
-} __attribute__((__packed__));
+} PACKED;
#define HFS_SUPERBLOCK_OFFSET 0x400
#define HFS_NODE_LEAF 0xff
uint8_t unused[8];
uint8_t space_size[8];
uint8_t escape_sequences[8];
-} __attribute__((__packed__));
+} PACKED;
struct high_sierra_volume_descriptor {
uint8_t foo[8];
uint8_t type;
uint8_t id[4];
uint8_t version;
-} __attribute__((__packed__));
+} PACKED;
int volume_id_probe_iso9660(struct volume_id *id /*,uint64_t off*/)
{
uint8_t uuid[16];
uint8_t label[16];
uint8_t loguuid[16];
-} __attribute__((__packed__));
+} PACKED;
#define JFS_SUPERBLOCK_OFFSET 0x8000
uint32_t set_uuid1;
uint32_t set_uuid2;
uint32_t set_uuid3;
-} __attribute__((packed));
+} PACKED;
#define MD_RESERVED_BYTES 0x10000
#define MD_MAGIC 0xa92b4efc
uint32_t nr_badpages;
uint8_t uuid[16];
uint8_t volume_name[16];
-} __attribute__((__packed__));
+} PACKED;
#define LARGEST_PAGESIZE 0x4000
uint8_t reserved2[3];
uint8_t volume_serial[8];
uint16_t checksum;
-} __attribute__((__packed__));
+} PACKED;
struct master_file_table_record {
uint8_t magic[4];
uint16_t flags;
uint32_t bytes_in_use;
uint32_t bytes_allocated;
-} __attribute__((__packed__));
+} PACKED;
struct file_attribute {
uint32_t type;
uint16_t instance;
uint32_t value_len;
uint16_t value_offset;
-} __attribute__((__packed__));
+} PACKED;
struct volume_info {
uint64_t reserved;
uint8_t major_ver;
uint8_t minor_ver;
-} __attribute__((__packed__));
+} PACKED;
#define MFT_RECORD_VOLUME 3
#define MFT_RECORD_ATTR_VOLUME_NAME 0x60
uint64_t s_first_cluster_group; /* Block offset of 1st cluster group header */
uint8_t s_label[OCFS2_MAX_VOL_LABEL_LEN]; /* Label for mounting, etc. */
uint8_t s_uuid[OCFS2_VOL_UUID_LEN]; /* 128-bit uuid */
-} __attribute__((__packed__));
+} PACKED;
int volume_id_probe_ocfs2(struct volume_id *id /*,uint64_t off*/)
{
uint32_t dummy4[5];
uint8_t uuid[16];
uint8_t label[16];
-} __attribute__((__packed__));
+} PACKED;
struct reiser4_super_block {
uint8_t magic[16];
uint8_t uuid[16];
uint8_t label[16];
uint64_t dummy2;
-} __attribute__((__packed__));
+} PACKED;
#define REISERFS1_SUPERBLOCK_OFFSET 0x2000
#define REISERFS_SUPERBLOCK_OFFSET 0x10000
uint32_t size;
uint32_t checksum;
uint8_t name[0];
-} __attribute__((__packed__));
+} PACKED;
int volume_id_probe_romfs(struct volume_id *id /*,uint64_t off*/)
{
uint32_t s_state;
uint32_t s_magic;
uint32_t s_type;
-} __attribute__((__packed__));
+} PACKED;
#define XENIX_NICINOD 100
#define XENIX_NICFREE 100
uint8_t s_fill[371];
uint32_t s_magic;
uint32_t s_type;
-} __attribute__((__packed__));
+} PACKED;
#define SYSV_SUPERBLOCK_BLOCK 0x01
#define SYSV_MAGIC 0xfd187e20
uint16_t crc;
uint16_t crc_len;
uint32_t location;
- } __attribute__((__packed__)) tag;
+ } PACKED tag;
union {
struct anchor_descriptor {
uint32_t length;
uint32_t location;
- } __attribute__((__packed__)) anchor;
+ } PACKED anchor;
struct primary_descriptor {
uint32_t seq_num;
uint32_t desc_num;
struct dstring {
uint8_t clen;
uint8_t c[31];
- } __attribute__((__packed__)) ident;
- } __attribute__((__packed__)) primary;
- } __attribute__((__packed__)) type;
-} __attribute__((__packed__));
+ } PACKED ident;
+ } PACKED primary;
+ } PACKED type;
+} PACKED;
struct volume_structure_descriptor {
uint8_t type;
uint8_t id[5];
uint8_t version;
-} __attribute__((__packed__));
+} PACKED;
#define UDF_VSD_OFFSET 0x8000
struct hpt37x_meta {
uint8_t filler1[32];
uint32_t magic;
-} __attribute__((packed));
+} PACKED;
struct hpt45x_meta {
uint32_t magic;
-} __attribute__((packed));
+} PACKED;
#define HPT37X_CONFIG_OFF 0x1200
#define HPT37X_MAGIC_OK 0x5a7816f0
struct hpfs_super {
uint8_t magic[4];
uint8_t version;
-} __attribute__((__packed__));
+} PACKED;
#define HPFS_SUPERBLOCK_OFFSET 0x2000
uint32_t mpb_size;
uint32_t family_num;
uint32_t generation_num;
-} __attribute__((packed));
+} PACKED;
#define ISW_SIGNATURE "Intel Raid ISM Cfg Sig. "
struct lsi_meta {
uint8_t sig[6];
-} __attribute__((packed));
+} PACKED;
#define LSI_SIGNATURE "$XIDE$"
struct lvm1_super_block {
uint8_t id[2];
-} __attribute__((packed));
+} PACKED;
struct lvm2_super_block {
uint8_t id[8];
uint32_t crc_xl;
uint32_t offset_xl;
uint8_t type[8];
-} __attribute__((packed));
+} PACKED;
#define LVM1_SB_OFF 0x400
uint8_t signature[2];
uint16_t block_size;
uint32_t block_count;
-} __attribute__((__packed__));
+} PACKED;
struct mac_partition {
uint8_t signature[2];
uint32_t block_count;
uint8_t name[32];
uint8_t type[32];
-} __attribute__((__packed__));
+} PACKED;
int volume_id_probe_mac_partition_map(struct volume_id *id, uint64_t off)
{
uint16_t s_magic;
uint16_t s_state;
uint32_t s_zones;
-} __attribute__((__packed__));
+} PACKED;
#define MINIX_SUPERBLOCK_OFFSET 0x400
uint8_t end_cyl;
uint32_t start_sect;
uint32_t nr_sects;
-} __attribute__((packed));
+} PACKED;
#define MSDOS_PARTTABLE_OFFSET 0x1be
#define MSDOS_SIG_OFF 0x1fe
uint32_t size;
uint32_t chksum;
uint16_t version;
-} __attribute__((packed));
+} PACKED;
#define NVIDIA_SIGNATURE "NVIDIA"
struct promise_meta {
uint8_t sig[24];
-} __attribute__((packed));
+} PACKED;
#define PDC_CONFIG_OFF 0x1200
#define PDC_SIGNATURE "Promise Technology, Inc."
uint16_t vendor_id;
uint16_t minor_ver;
uint16_t major_ver;
-} __attribute__((packed));
+} PACKED;
#define SILICON_MAGIC 0x2F000000
uint32_t cs_nbfree;
uint32_t cs_nifree;
uint32_t cs_nffree;
- } __attribute__((__packed__)) fs_cstotal;
+ } PACKED fs_cstotal;
int8_t fs_fmod;
int8_t fs_clean;
int8_t fs_ronly;
uint32_t fs_maxcluster;
uint32_t fs_cpc;
uint16_t fs_opostbl[16][8];
- } __attribute__((__packed__)) fs_u1;
+ } PACKED fs_u1;
struct {
int8_t fs_fsmnt[468];
uint8_t fs_volname[32];
uint64_t cs_nffree;
uint64_t cs_numclusters;
uint64_t cs_spare[3];
- } __attribute__((__packed__)) fs_cstotal;
+ } PACKED fs_cstotal;
struct ufs_timeval {
int32_t tv_sec;
int32_t tv_usec;
- } __attribute__((__packed__)) fs_time;
+ } PACKED fs_time;
int64_t fs_size;
int64_t fs_dsize;
uint64_t fs_csaddr;
int64_t fs_pendingblocks;
int32_t fs_pendinginodes;
- } __attribute__((__packed__)) fs_u2;
+ } PACKED fs_u2;
} fs_u11;
union {
struct {
int32_t fs_state;
uint32_t fs_qbmask[2];
uint32_t fs_qfmask[2];
- } __attribute__((__packed__)) fs_sun;
+ } PACKED fs_sun;
struct {
int32_t fs_sparecon[53];
int32_t fs_reclaim;
uint32_t fs_npsect;
uint32_t fs_qbmask[2];
uint32_t fs_qfmask[2];
- } __attribute__((__packed__)) fs_sunx86;
+ } PACKED fs_sunx86;
struct {
int32_t fs_sparecon[50];
int32_t fs_contigsumsize;
uint32_t fs_qbmask[2];
uint32_t fs_qfmask[2];
int32_t fs_state;
- } __attribute__((__packed__)) fs_44;
+ } PACKED fs_44;
} fs_u2;
int32_t fs_postblformat;
int32_t fs_nrpos;
int32_t fs_rotbloff;
uint32_t fs_magic;
uint8_t fs_space[1];
-} __attribute__((__packed__));
+} PACKED;
#define UFS_MAGIC 0x00011954
#define UFS2_MAGIC 0x19540119
uint32_t capacity_low;
uint32_t capacity_high;
uint32_t serial_checksum;
- } __attribute((packed)) array;
+ } PACKED array;
uint32_t serial_checksum[8];
uint8_t checksum;
-} __attribute__((packed));
+} PACKED;
#define VIA_SIGNATURE 0xAA55
uint64_t icount;
uint64_t ifree;
uint64_t fdblocks;
-} __attribute__((__packed__));
+} PACKED;
int volume_id_probe_xfs(struct volume_id *id /*,uint64_t off*/)
{