Avoid #pragma pack(1) and unify everything towards using __packed.
authorderaadt <deraadt@openbsd.org>
Mon, 1 Sep 2008 17:30:55 +0000 (17:30 +0000)
committerderaadt <deraadt@openbsd.org>
Mon, 1 Sep 2008 17:30:55 +0000 (17:30 +0000)
This requires that structures defined within __packed structures must
independently request that they themselves become __packed, too.
worked on with toby
 CVS: ----------------------------------------------------------------------

sys/arch/amd64/include/biosvar.h
sys/arch/i386/include/biosvar.h
sys/arch/i386/include/segments.h
sys/dev/ic/bhareg.h
sys/dev/ic/gdtvar.h
sys/dev/ic/i82596reg.h
sys/dev/ic/stireg.h
sys/dev/ic/twereg.h
sys/dev/ic/vgareg.h
sys/dev/pcmcia/if_rayreg.h
sys/ntfs/ntfs.h

index 92e505a..95a8628 100644 (file)
@@ -1,5 +1,5 @@
 /* XXX - DSR */
-/*     $OpenBSD: biosvar.h,v 1.8 2007/12/05 19:17:14 deraadt Exp $     */
+/*     $OpenBSD: biosvar.h,v 1.9 2008/09/01 17:30:55 deraadt Exp $     */
 
 /*
  * Copyright (c) 1997-1999 Michael Shalayeff
@@ -31,7 +31,6 @@
 
 #ifndef _I386_BIOSVAR_H_
 #define _I386_BIOSVAR_H_
-#pragma pack(1)
 
        /* some boxes put apm data seg in the 2nd page */
 #define        BOOTARG_OFF     (NBPG*2)
@@ -75,7 +74,7 @@ struct bios_romheader {
        u_int32_t       entry;          /* initialization entry point */
        u_int8_t        reserved[19];
        u_int16_t       pnpheader;      /* offset to PnP expansion header */
-} *bios_romheader_t;
+} __packed *bios_romheader_t;
 
 /*
  * BIOS32
@@ -88,20 +87,20 @@ struct bios32_header {
        u_int8_t        length;         /* 09: header length */
        u_int8_t        cksum;          /* 0a: modulo 256 checksum */
        u_int8_t        reserved[5];
-} *bios32_header_t;
+} __packed *bios32_header_t;
 
 typedef
 struct bios32_entry_info {
        paddr_t bei_base;
        psize_t bei_size;
        paddr_t bei_entry;
-} *bios32_entry_info_t;
+} __packed *bios32_entry_info_t;
 
 typedef
 struct bios32_entry {
        u_int32_t offset;
        u_int16_t segment;
-} *bios32_entry_t;
+} __packed *bios32_entry_t;
 
 #define        BIOS32_START    0xe0000
 #define        BIOS32_SIZE     0x20000
@@ -133,7 +132,7 @@ typedef struct _bios_memmap {
        u_int64_t addr;         /* Beginning of block */
        u_int64_t size;         /* Size of block */
        u_int32_t type;         /* Type of block */
-} bios_memmap_t;
+} __packed bios_memmap_t;
 
 /* Info about disk from the bios, plus the mapping from
  * BIOS numbers to BSD major (driver?) number.
@@ -166,7 +165,7 @@ typedef struct _bios_diskinfo {
 #define BDI_EL_TORITO  0x00000008      /* 2,048-byte sectors */
 #define BDI_PICKED     0x80000000      /* kernel-only: cksum matched */
 
-} bios_diskinfo_t;
+} __packed bios_diskinfo_t;
 
 #define        BOOTARG_APMINFO 2
 typedef struct _bios_apminfo {
@@ -179,7 +178,7 @@ typedef struct _bios_apminfo {
        u_int   apm_data_len;
        u_int   apm_entry;
        u_int   apm_code16_len;
-} bios_apminfo_t;
+} __packed bios_apminfo_t;
 
 #define        BOOTARG_CKSUMLEN 3              /* u_int32_t */
 
@@ -190,18 +189,18 @@ typedef struct _bios_pciinfo {
        u_int32_t       pci_rev;        /* BCD Revision (%ebx) */
        u_int32_t       pci_entry32;    /* PM entry point for PCI BIOS */
        u_int32_t       pci_lastbus;    /* Number of last PCI bus */
-} bios_pciinfo_t;
+} __packed bios_pciinfo_t;
 
 #define        BOOTARG_CONSDEV 5
 typedef struct _bios_consdev {
        dev_t   consdev;
        int     conspeed;
-} bios_consdev_t;
+} __packed bios_consdev_t;
 
 #define BOOTARG_BOOTMAC        7
 typedef struct _bios_bootmac {
        char    mac[6];
-} bios_bootmac_t;
+} __packed bios_bootmac_t;
 
 #if defined(_KERNEL) || defined (_STANDALONE)
 
@@ -220,7 +219,7 @@ extern volatile struct BIOS_regs {
        u_int32_t       biosr_di;
        u_int32_t       biosr_ds;
        u_int32_t       biosr_es;
-}      BIOS_regs;
+} __packed BIOS_regs;
 
 #ifdef _KERNEL
 #include <machine/bus.h>
@@ -263,5 +262,4 @@ extern bios_memmap_t *bios_memmap;
 #endif /* _LOCORE */
 #endif /* _KERNEL || _STANDALONE */
 
-#pragma pack()
 #endif /* _I386_BIOSVAR_H_ */
index 7588268..4a55da9 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: biosvar.h,v 1.49 2007/12/05 19:17:13 deraadt Exp $    */
+/*     $OpenBSD: biosvar.h,v 1.50 2008/09/01 17:30:56 deraadt Exp $    */
 
 /*
  * Copyright (c) 1997-1999 Michael Shalayeff
@@ -28,7 +28,6 @@
 
 #ifndef _I386_BIOSVAR_H_
 #define _I386_BIOSVAR_H_
-#pragma pack(1)
 
        /* some boxes put apm data seg in the 2nd page */
 #define        BOOTARG_OFF     (NBPG*2)
@@ -72,7 +71,7 @@ struct bios_romheader {
        u_int32_t       entry;          /* initialization entry point */
        u_int8_t        reserved[19];
        u_int16_t       pnpheader;      /* offset to PnP expansion header */
-} *bios_romheader_t;
+} __packed *bios_romheader_t;
 
 /*
  * BIOS32
@@ -85,20 +84,20 @@ struct bios32_header {
        u_int8_t        length;         /* 09: header length */
        u_int8_t        cksum;          /* 0a: modulo 256 checksum */
        u_int8_t        reserved[5];
-} *bios32_header_t;
+} __packed *bios32_header_t;
 
 typedef
 struct bios32_entry_info {
        u_int32_t       bei_base;
        u_int32_t       bei_size;
        u_int32_t       bei_entry;
-} *bios32_entry_info_t;
+} __packed *bios32_entry_info_t;
 
 typedef
 struct bios32_entry {
        u_int32_t       offset;
        u_int16_t       segment;
-} *bios32_entry_t;
+} __packed *bios32_entry_t;
 
 #define        BIOS32_START    0xe0000
 #define        BIOS32_SIZE     0x20000
@@ -130,7 +129,7 @@ typedef struct _bios_memmap {
        u_int64_t addr;         /* Beginning of block */
        u_int64_t size;         /* Size of block */
        u_int32_t type;         /* Type of block */
-} bios_memmap_t;
+} __packed bios_memmap_t;
 
 /* Info about disk from the bios, plus the mapping from
  * BIOS numbers to BSD major (driver?) number.
@@ -163,7 +162,7 @@ typedef struct _bios_diskinfo {
 #define BDI_EL_TORITO  0x00000008      /* 2,048-byte sectors */
 #define BDI_PICKED     0x80000000      /* kernel-only: cksum matched */
 
-} bios_diskinfo_t;
+} __packed bios_diskinfo_t;
 
 #define        BOOTARG_APMINFO 2
 typedef struct _bios_apminfo {
@@ -176,7 +175,7 @@ typedef struct _bios_apminfo {
        u_int   apm_data_len;
        u_int   apm_entry;
        u_int   apm_code16_len;
-} bios_apminfo_t;
+} __packed bios_apminfo_t;
 
 #define        BOOTARG_CKSUMLEN 3              /* u_int32_t */
 
@@ -187,20 +186,20 @@ typedef struct _bios_pciinfo {
        u_int32_t       pci_rev;        /* BCD Revision (%ebx) */
        u_int32_t       pci_entry32;    /* PM entry point for PCI BIOS */
        u_int32_t       pci_lastbus;    /* Number of last PCI bus */
-} bios_pciinfo_t;
+} __packed bios_pciinfo_t;
 
 #define        BOOTARG_CONSDEV 5
 typedef struct _bios_consdev {
        dev_t   consdev;
        int     conspeed;
-} bios_consdev_t;
+} __packed bios_consdev_t;
 
 #define BOOTARG_SMPINFO 6              /* struct mp_float[] */
 
 #define BOOTARG_BOOTMAC        7
 typedef struct _bios_bootmac {
        char    mac[6];
-} bios_bootmac_t;
+} __packed bios_bootmac_t;
 
 #if defined(_KERNEL) || defined (_STANDALONE)
 
@@ -219,7 +218,7 @@ extern volatile struct BIOS_regs {
        u_int32_t       biosr_di;
        u_int32_t       biosr_ds;
        u_int32_t       biosr_es;
-}      BIOS_regs;
+} __packed BIOS_regs;
 
 #ifdef _KERNEL
 #include <machine/bus.h>
@@ -263,5 +262,4 @@ extern bios_pciinfo_t *bios_pciinfo;
 #endif /* _LOCORE */
 #endif /* _KERNEL || _STANDALONE */
 
-#pragma pack()
 #endif /* _I386_BIOSVAR_H_ */
index da6f9ab..e84cd3b 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: segments.h,v 1.14 2006/01/12 22:39:21 weingart Exp $  */
+/*     $OpenBSD: segments.h,v 1.15 2008/09/01 17:30:56 deraadt Exp $   */
 /*     $NetBSD: segments.h,v 1.23 1996/02/01 22:31:03 mycroft Exp $    */
 
 /*-
 
 #ifndef _LOCORE
 
-#if __GNUC__ == 2 && __GNUC_MINOR__ < 7
-#pragma pack(1)
-#endif
-
 /*
  * Memory and System segment descriptors
  */
@@ -119,10 +115,6 @@ struct region_descriptor {
        unsigned rd_base:32;            /* base address  */
 } __packed;
 
-#if __GNUC__ == 2 && __GNUC_MINOR__ < 7
-#pragma pack(4)
-#endif
-
 #ifdef _KERNEL
 extern union descriptor *gdt, ldt[];
 extern struct gate_descriptor idt_region[];
index f78e273..4bf8400 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: bhareg.h,v 1.3 2008/06/26 05:42:15 ray Exp $  */
+/*     $OpenBSD: bhareg.h,v 1.4 2008/09/01 17:30:56 deraadt Exp $      */
 /*     $NetBSD: bhareg.h,v 1.12 1998/08/17 00:26:33 mycroft Exp $      */
 
 /*-
@@ -139,13 +139,11 @@ typedef u_int8_t physlen[4];
 #define BHA_INTR_MBOA          0x02    /* MBX out empty */
 #define BHA_INTR_MBIF          0x01    /* MBX in full */
 
-#pragma pack(1)
-
 struct bha_mbx_out {
        physaddr ccb_addr;
        u_int8_t reserved[3];
        u_int8_t cmd;
-};
+} __packed;
 
 struct bha_mbx_in {
        physaddr ccb_addr;
@@ -153,7 +151,7 @@ struct bha_mbx_in {
        u_int8_t target_stat;
        u_int8_t reserved;
        u_int8_t comp_stat;
-};
+} __packed;
 
 /*
  * mbo.cmd values
@@ -184,7 +182,7 @@ WARNING...THIS WON'T WORK(won't fit on 1 page)
 struct bha_scat_gath {
        physlen seg_len;
        physaddr seg_addr;
-};
+} __packed;
 
 struct bha_ccb {
        u_int8_t        opcode;
@@ -253,7 +251,7 @@ struct bha_ccb {
         * Its contents are loaded into "scat_gath" above.
         */
        bus_dmamap_t    dmamap_xfer;
-};
+} __packed;
 
 /*
  * opcode fields
@@ -300,7 +298,7 @@ struct bha_extended_inquire {
        struct {
                u_char  opcode;
                u_char  len;
-       } cmd;
+       } __packed cmd;
        struct {
                u_char  bus_type;       /* Type of bus connected to */
 #define        BHA_BUS_TYPE_24BIT      'A'     /* ISA bus */
@@ -321,13 +319,13 @@ struct bha_extended_inquire {
 #define BHA_SCSI_ULTRA         0x08    /* host adapter supports Ultra */
 #define BHA_SCSI_TERMINATION   0x10    /* host adapter supports smart
                                           termination */
-       } reply;
-};
+       } __packed reply;
+} __packed;
 
 struct bha_config {
        struct {
                u_char  opcode;
-       } cmd;
+       } __packed cmd;
        struct {
                u_char  chan;
                u_char  intr;
@@ -338,64 +336,64 @@ struct bha_config {
                u_char           :5,
                        scsi_dev :3;
 #endif
-       } reply;
-};
+       } __packed reply;
+} __packed;
 
 struct bha_toggle {
        struct {
                u_char  opcode;
                u_char  enable;
-       } cmd;
-};
+       } __packed cmd;
+} __packed;
 
 struct bha_mailbox {
        struct {
                u_char  opcode;
                u_char  nmbx;
                physaddr addr;
-       } cmd;
-};
+       } __packed cmd;
+} __packed;
 
 struct bha_model {
        struct {
                u_char  opcode;
                u_char  len;
-       } cmd;
+       } __packed cmd;
        struct {
                u_char  id[4];          /* i.e bt742a -> '7','4','2','A' */
                u_char  version[2];     /* i.e Board Revision 'H' -> 'H', 0x00 */
-       } reply;
-};
+       } __packed reply;
+} __packed;
 
 struct bha_revision {
        struct {
                u_char  opcode;
-       } cmd;
+       } __packed cmd;
        struct {
                u_char  board_type;
                u_char  custom_feature;
                char    firm_revision;
                u_char  firm_version;
-       } reply;
-};
+       } __packed reply;
+} __packed;
 
 struct bha_digit {
        struct {
                u_char  opcode;
-       } cmd;
+       } __packed cmd;
        struct {
                u_char  digit;
-       } reply;
-};
+       } __packed reply;
+} __packed;
 
 struct bha_devices {
        struct {
                u_char  opcode;
-       } cmd;
+       } __packed cmd;
        struct {
                u_char  lun_map[8];
-       } reply;
-};
+       } __packed reply;
+} __packed;
 
 struct bha_sync {
 #if BYTE_ORDER == LITTLE_ENDIAN
@@ -407,7 +405,7 @@ struct bha_sync {
                period  :3,
                offset  :4;
 #endif
-};
+} __packed;
 
 struct bha_setup_reply {
 #if BYTE_ORDER == LITTLE_ENDIAN
@@ -427,7 +425,7 @@ struct bha_setup_reply {
        /* doesn't make sense with 32bit addresses */
        struct bha_sync sync[8];
        u_int8_t        disc_sts;
-};
+} __packed;
 
 /* additional reply data supplied by wide controllers */
 struct bha_setup_reply_wide {
@@ -441,38 +439,36 @@ struct bha_setup_reply_wide {
        u_int8_t        reserved;
        u_int8_t        high_wide_allowed;
        u_int8_t        high_wide_active;
-};
+} __packed;
 
 struct bha_setup {
        struct {
                u_char  opcode;
                u_char  len;
-       } cmd;
+       } __packed cmd;
        struct bha_setup_reply reply;
        struct bha_setup_reply_wide reply_w;    /* for wide controllers */
-};
+} __packed;
 
 struct bha_period_reply {
        u_char  period[8];
-};
+} __packed;
 
 struct bha_period {
        struct {
                u_char  opcode;
                u_char  len;
-       } cmd;
+       } __packed cmd;
        struct bha_period_reply reply;
        struct bha_period_reply reply_w;        /* for wide controllers */
-};
+} __packed;
 
 struct bha_isadisable {
        struct {
                u_char  opcode;
                u_char  modifier;
-       } cmd;
-};
-
-#pragma pack()
+       } __packed cmd;
+} __packed;
 
 /*
  * bha_isadisable.modifier parameters
index fef1a9f..2b4fa86 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: gdtvar.h,v 1.14 2007/11/11 14:03:35 krw Exp $ */
+/*     $OpenBSD: gdtvar.h,v 1.15 2008/09/01 17:30:56 deraadt Exp $     */
 
 /*
  * Copyright (c) 1999, 2000 Niklas Hallqvist.  All rights reserved.
@@ -38,9 +38,6 @@ struct gdt_dummy {
        int x;
 };
 
-/* XXX Is this pragma necessary?  */
-#pragma pack(1)
-
 #define GDT_SCRATCH_SZ 4096
 
 #define GDT_IOCTL_GENERAL _IOWR('B', 33, gdt_ucmd_t)   /* general IOCTL */
@@ -198,8 +195,6 @@ typedef struct gdt_statist {
        u_int16_t sg_count_max;
 } gdt_statist_t;
 
-#pragma pack()
-
 #ifdef _KERNEL
 
 /* Debugging */
index 61322f7..93eb7d2 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: i82596reg.h,v 1.5 2008/06/26 05:42:15 ray Exp $       */
+/*     $OpenBSD: i82596reg.h,v 1.6 2008/09/01 17:30:56 deraadt Exp $   */
 /*     $NetBSD: i82586reg.h,v 1.7 1998/02/28 01:07:45 pk Exp $ */
 
 /*-
@@ -77,8 +77,6 @@
  * We use integer offsets exclusively to access the i82586/596 data structures.
  */
 
-#pragma pack(1)
-
 /*
  * This is the master configuration block.
  * It tells the hardware where all the rest of the stuff is.
@@ -88,7 +86,8 @@ struct __ie_sys_conf_ptr {
        u_int8_t        ie_bus_use;             // true if 8-bit only
        u_int8_t        mbz2[5];                // must be zero
        u_int32_t       ie_iscp_ptr;            // 24-bit physaddr of ISCP
-};
+} __packed;
+
  */
 #define IE_SCP_SZ              12      /* keep paragraph alignment */
 #define IE_SCP_BUS_USE(base)   ((base) + 2)
@@ -111,7 +110,7 @@ struct __ie_int_sys_conf_ptr {
        u_int8_t        mbz;
        u_int16_t       ie_scb_offset;  // 16-bit physaddr of next struct
        caddr_t         ie_base;        // 24-bit physaddr for all 16-bit vars
-};
+} __packed;
  */
 #define IE_ISCP_SZ             16
 #define IE_ISCP_BUSY(base)     ((base) + 0)
@@ -143,7 +142,7 @@ struct __ie_sys_ctl_block {
        u_int16_t ie_err_align;         // Alignment errors
        u_int16_t ie_err_resource;      // Resource errors
        u_int16_t ie_err_overrun;       // Overrun errors
-};
+} __packed;
  */
 #define IE_SCB_SZ              16
 #define IE_SCB_STATUS(base)    ((base) + 0)
@@ -209,7 +208,7 @@ struct __ie_recv_frame_desc {
        struct __ie_en_addr src;        // source ether
        u_int16_t       ie_length;      // 802 length/Ether type
        u_short         mbz;            // must be zero
-};
+} __packed;
  */
 #define IE_RFRAME_SZ                   24
 #define IE_RFRAME_ADDR(base,i)         ((base) + (i) * 64)
@@ -249,7 +248,7 @@ struct __ie_recv_buf_desc {
        caddr_t         ie_rbd_buffer;  // 24-pointer to buffer for this RBD
        u_int16_t       ie_rbd_length;  // length of the buffer
        u_int16_t       mbz;            // must be zero
-};
+} __packed;
  */
 #define IE_RBD_SZ                      12
 #define IE_RBD_ADDR(base,i)            ((base) + (i) * 32)
@@ -274,7 +273,7 @@ struct __ie_cmd_common {
        u_int16_t ie_cmd_status;        // status of this command 
        u_int16_t ie_cmd_cmd;           // command word
        u_int16_t ie_cmd_link;          // link to next command
-};
+} __packed;
  */
 #define IE_CMD_COMMON_SZ               6
 #define IE_CMD_COMMON_STATUS(base)     ((base) + 0)
@@ -320,7 +319,7 @@ struct __ie_xmit_cmd {
        u_int16_t       ie_xmit_desc;           // pointer to buffer descriptor
        struct __ie_en_addr ie_xmit_addr;       // destination address
        u_int16_t       ie_xmit_length;         // 802.3 length/Ether type field
-};
+} __packed;
  */
 #define IE_CMD_XMIT_SZ                 (IE_CMD_COMMON_SZ + 10)
 #define IE_CMD_XMIT_ADDR(base,i)       ((base) + (i) * 32)
@@ -353,7 +352,7 @@ struct __ie_xmit_buf {
        u_int16_t ie_xmit_flags;        // see below
        u_int16_t ie_xmit_next;         // 16-pointer to next desc
        caddr_t ie_xmit_buf;            // 24-pointer to the actual buffer
-};
+} __packed;
  */
 #define IE_XBD_SZ                      8
 #define IE_XBD_ADDR(base,i)            ((base) + (i) * 32)
@@ -376,7 +375,7 @@ struct __ie_mcast_cmd {
        // size (in bytes) of multicast addresses
        u_int16_t               ie_mcast_bytes;
        struct __ie_en_addr ie_mcast_addrs[IE_MAXMCAST + 1];// space for them
-};
+} __packed;
  */
 #define IE_CMD_MCAST_SZ                        (IE_CMD_COMMON_SZ + 2 /* + XXX */)
 #define IE_CMD_MCAST_BYTES(base)       ((base) + IE_CMD_COMMON_SZ + 0)
@@ -389,7 +388,7 @@ struct __ie_tdr_cmd {
        struct __ie_cmd_common com;     // common part
 #define ie_tdr_status com.ie_cmd_status
        u_short ie_tdr_time;            // error bits and time
-};
+} __packed;
  */
 #define IE_CMD_TDR_SZ          (IE_CMD_COMMON_SZ + 2)
 #define IE_CMD_TDR_TIME(base)  ((base) + IE_CMD_COMMON_SZ + 0)
@@ -409,7 +408,7 @@ struct __ie_iasetup_cmd {
        struct __ie_cmd_common com;
 #define ie_iasetup_status com.ie_cmd_status
        struct __ie_en_addr ie_address;
-};
+} __packed;
  */
 #define IE_CMD_IAS_SZ          (IE_CMD_COMMON_SZ + 6)
 #define IE_CMD_IAS_EADDR(base) ((base) + IE_CMD_COMMON_SZ + 0)
@@ -433,7 +432,7 @@ struct __ie_config_cmd {
        u_int8_t ie_crs_cdt;            // CSMA/CD parameters (0x0)
        u_int8_t ie_min_len;            // min frame length (0x40)
        u_int8_t ie_junk;               // stuff for 82596 (0xff)
-};
+} __packed;
  */
 #define IE_CMD_CFG_SZ                  (IE_CMD_COMMON_SZ + 12)
 #define IE_CMD_CFG_CNT(base)           ((base) + IE_CMD_COMMON_SZ + 0)
@@ -448,5 +447,3 @@ struct __ie_config_cmd {
 #define IE_CMD_CFG_CRSCDT(base)                ((base) + IE_CMD_COMMON_SZ + 9)
 #define IE_CMD_CFG_MINLEN(base)                ((base) + IE_CMD_COMMON_SZ + 10)
 #define IE_CMD_CFG_JUNK(base)          ((base) + IE_CMD_COMMON_SZ + 11)
-
-#pragma pack()
index 08b2e5f..e9c83b7 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: stireg.h,v 1.11 2005/10/29 11:54:07 miod Exp $        */
+/*     $OpenBSD: stireg.h,v 1.12 2008/09/01 17:30:56 deraadt Exp $     */
 
 /*
  * Copyright (c) 2000 Michael Shalayeff
 #define        STI_COLOUR_BLUE         6
 #define        STI_COLOUR_MAGENTA      7
 
-#pragma pack(1)
-
        /* LSB high */
 struct sti_dd {
        u_int32_t       dd_type;        /* 0x00 device type */
@@ -156,7 +154,7 @@ struct      sti_dd {
                                                servers w/o accel */
        u_int32_t       dd_pacode[16];  /* 0x40 routines for pa-risc */
        u_int32_t       dd_altcode[16]; /* 0x80 routines for m68k/i386 */
-};
+} __packed;
 
 #define        STI_REVISION(maj, min)  (((maj) << 4) | ((min) & 0x0f))
 
@@ -168,7 +166,7 @@ struct sti_region {
        u_int   btlb    : 1;    /* should use BTLB if available */
        u_int   last    : 1;    /* last region in the list */
        u_int   length  :14;    /* size in pages */
-};
+}  __packed;
 
 struct sti_font {
        u_int16_t       first;
@@ -183,7 +181,7 @@ struct sti_font {
        u_int8_t        uheight;
        u_int8_t        uoffset;
        u_int8_t        unused[2];
-};
+}  __packed;
 
 struct sti_fontcfg {
        u_int16_t       first;
@@ -194,7 +192,7 @@ struct sti_fontcfg {
        u_int8_t        bpc;
        u_int8_t        uheight;
        u_int8_t        uoffset;
-};
+}  __packed;
 
 typedef struct sti_ecfg {
        u_int8_t        current_monitor;
@@ -203,7 +201,7 @@ typedef struct sti_ecfg {
        u_int32_t       freq_ref;
        u_int32_t       *addr;          /* memory block of size dd_stimemreq */
        void            *future;
-} *sti_ecfg_t;
+} __packed *sti_ecfg_t;
 
 typedef struct sti_cfg {
        u_int32_t       text_planes;
@@ -217,7 +215,7 @@ typedef struct sti_cfg {
        u_int32_t       reent_level;
        u_int32_t       *save_addr;
        sti_ecfg_t      ext_cfg;
-} *sti_cfg_t;
+}  __packed *sti_cfg_t;
 
 
 /* routine types */
@@ -243,25 +241,25 @@ typedef struct sti_initflags {
 #define        STI_INITF_SCMT  0x00040000      /* change current monitor type */
 #define        STI_INITF_RIE   0x00020000      /* retain int enables */
        void *future;
-} *sti_initflags_t;
+} __packed *sti_initflags_t;
 
 typedef struct sti_einitin {
        u_int8_t        mon_type;
        u_int8_t        pad;
        u_int16_t       inflight;       /* possible on pci */
        void            *future;
-} *sti_einitin_t;
+} __packed *sti_einitin_t;
 
 typedef struct sti_initin {
        u_int32_t       text_planes;    /* number of planes for text */
        sti_einitin_t   ext_in;
-} *sti_initin_t;
+} __packed *sti_initin_t;
 
 typedef struct sti_initout {
        int32_t         errno;
        u_int32_t       text_planes;    /* number of planes used for text */
        void            *future;
-} *sti_initout_t;
+} __packed *sti_initout_t;
 
 STI_DEP(init);
 
@@ -271,17 +269,17 @@ typedef struct sti_mgmtflags {
 #define        STI_MGMTF_SAVE  0x40000000
 #define        STI_MGMTF_RALL  0x20000000      /* restore all display planes */
        void *future;
-} *sti_mgmtflags_t;
+} __packed *sti_mgmtflags_t;
 
 typedef struct sti_mgmtin {
        void    *addr;
        void    *future;
-} *sti_mgmtin_t;
+} __packed *sti_mgmtin_t;
 
 typedef struct sti_mgmtout {
        int32_t         errno;
        void            *future;
-} *sti_mgmtout_t;
+} __packed *sti_mgmtout_t;
 
 STI_DEP(mgmt);
 
@@ -290,7 +288,7 @@ typedef struct sti_unpmvflags {
 #define        STI_UNPMVF_WAIT 0x80000000
 #define        STI_UNPMVF_NTXT 0x40000000      /* intp non-text planes */
        void            *future;
-} *sti_unpmvflags_t;
+} __packed *sti_unpmvflags_t;
 
 typedef struct sti_unpmvin {
        u_int32_t       *font_addr;     /* font */
@@ -299,12 +297,12 @@ typedef struct sti_unpmvin {
        u_int8_t        bg_colour;
        u_int16_t       x, y;
        void            *future;
-} *sti_unpmvin_t;
+} __packed *sti_unpmvin_t;
 
 typedef struct sti_unpmvout {
        u_int32_t       errno;
        void            *future;
-} *sti_unpmvout_t;
+} __packed *sti_unpmvout_t;
 
 STI_DEP(unpmv);
 
@@ -315,7 +313,7 @@ typedef struct sti_blkmvflags {
 #define        STI_BLKMVF_CLR  0x20000000      /* clear on move */
 #define        STI_BLKMVF_NTXT 0x10000000      /* move in non-text planes */
        void            *future;
-} *sti_blkmvflags_t;
+} __packed *sti_blkmvflags_t;
 
 typedef struct sti_blkmvin {
        u_int8_t        fg_colour;
@@ -324,12 +322,12 @@ typedef struct sti_blkmvin {
        u_int16_t       width, height;
        u_int16_t       pad;
        void            *future;
-} *sti_blkmvin_t;
+} __packed *sti_blkmvin_t;
 
 typedef struct sti_blkmvout {
        u_int32_t       errno;
        void            *future;
-} *sti_blkmvout_t;
+} __packed *sti_blkmvout_t;
 
 STI_DEP(blkmv);
 
@@ -338,17 +336,17 @@ typedef struct sti_testflags {
 #define        STI_TESTF_WAIT  0x80000000
 #define        STI_TESTF_ETST  0x40000000
        void            *future;
-} *sti_testflags_t;
+} __packed *sti_testflags_t;
 
 typedef struct sti_testin {
        void            *future;
-} *sti_testin_t;
+} __packed *sti_testin_t;
 
 typedef struct sti_testout {
        u_int32_t       errno;
        u_int32_t       result;
        void            *future;
-} *sti_testout_t;
+} __packed *sti_testout_t;
 
 STI_DEP(test);
 
@@ -369,7 +367,7 @@ typedef struct sti_exhdlflags {
 #define        STI_EXHDLF_EIC  0x00080000      /* end int cycle */
 #define        STI_EXHDLF_RIE  0x00040000      /* reset do not clear int enables */
        void            *future;
-} *sti_exhdlflags_t;
+} __packed *sti_exhdlflags_t;
 
 typedef struct sti_eexhdlin {
        u_int32_t       eim_addr;
@@ -377,7 +375,7 @@ typedef struct sti_eexhdlin {
        u_int32_t       iem;            /* enable mask */
        u_int32_t       icm;            /* clear mask */
        void            *future;
-} *sti_eexhdlin_t;
+} __packed *sti_eexhdlin_t;
 
 typedef struct sti_exhdlint {
        u_int32_t       flags;
@@ -390,12 +388,12 @@ typedef struct sti_exhdlint {
 #define        STI_EXHDLINT_BDC        0x02000000      /* buffered dma complete */
 #define        STI_EXHDLINT_UDPC       0x01000000      /* unbuf priv dma complete */
 #define        STI_EXHDLINT_BDPC       0x00800000      /* buffered priv dma complete */
-} *sti_exhdlint_t;
+} __packed *sti_exhdlint_t;
 
 typedef struct sti_exhdlin {
        sti_exhdlint_t  addr;
        sti_eexhdlin_t  ext;
-} *sti_exhdlin_t;
+} __packed *sti_exhdlin_t;
 
 typedef struct sti_eexhdlout {
        u_int32_t       eim_addr;
@@ -403,7 +401,7 @@ typedef struct sti_eexhdlout {
        u_int32_t       iem;            /* enable mask */
        u_int32_t       icm;            /* clear mask */
        void            *future;
-} *sti_eexhdlout_t;
+} __packed *sti_eexhdlout_t;
 
 typedef struct sti_exhdlout {
        u_int32_t       errno;
@@ -412,7 +410,7 @@ typedef struct sti_exhdlout {
 #define        STI_EXHDLO_IP   0x40000000      /* there is int pending */
 #define        STI_EXHDLO_IE   0x20000000      /* global enable set */
        sti_eexhdlout_t ext;
-} *sti_exhdlout_t;
+} __packed *sti_exhdlout_t;
 
 STI_DEP(exhdl);
 
@@ -420,17 +418,17 @@ typedef struct sti_inqconfflags {
        u_int32_t       flags;
 #define        STI_INQCONFF_WAIT       0x80000000
        void            *future;
-} *sti_inqconfflags_t;
+} __packed *sti_inqconfflags_t;
 
 typedef struct sti_inqconfin {
        void    *future;
-} *sti_inqconfin_t;
+} __packed *sti_inqconfin_t;
 
 typedef struct sti_einqconfout {
        u_int32_t       crt_config[3];
        u_int32_t       crt_hw[3];
        void            *future;
-} *sti_einqconfout_t;
+} __packed *sti_einqconfout_t;
 
 typedef struct sti_inqconfout {
        u_int32_t       errno;
@@ -457,7 +455,7 @@ typedef struct sti_inqconfout {
     "\020\001y2x\002hwblkmv\003ahw\004int\005gonoff\006aonoff\007vary"\
     "\010oddb\011flush\012dma\013vdma\016yuv1\017yuv2"
        sti_einqconfout_t ext;
-} *sti_inqconfout_t;
+} __packed *sti_inqconfout_t;
 
 STI_DEP(inqconf);
 
@@ -465,18 +463,18 @@ typedef struct sti_scmentflags {
        u_int32_t       flags;
 #define        STI_SCMENTF_WAIT        0x80000000
        void            *future;
-} *sti_scmentflags_t;
+} __packed *sti_scmentflags_t;
 
 typedef struct sti_scmentin {
        u_int32_t       entry;
        u_int32_t       value;
        void            *future;
-} *sti_scmentin_t;
+} __packed *sti_scmentin_t;
 
 typedef struct sti_scmentout {
        u_int32_t       errno;
        void            *future;
-} *sti_scmentout_t;
+} __packed *sti_scmentout_t;
 
 STI_DEP(scment);
 
@@ -489,7 +487,7 @@ typedef struct sti_dmacflags {
 #define        STI_DMACF_MRK   0x08000000      /* write a marker */
 #define        STI_DMACF_ABRT  0x04000000      /* abort dma xfer */
        void            *future;
-} *sti_dmacflags_t;
+} __packed *sti_dmacflags_t;
 
 typedef struct sti_dmacin {
        u_int32_t       pa_upper;
@@ -498,12 +496,12 @@ typedef struct sti_dmacin {
        u_int32_t       mrk_data;
        u_int32_t       mrk_off;
        void            *future;
-} *sti_dmacin_t;
+} __packed *sti_dmacin_t;
 
 typedef struct sti_dmacout {
        u_int32_t       errno;
        void            *future;
-} *sti_dmacout_t;
+} __packed *sti_dmacout_t;
 
 STI_DEP(dmac);
 
@@ -519,7 +517,7 @@ typedef struct sti_flowcflags {
 #define        STI_FLOWCF_CSWC 0x01000000      /* cs write coarse */
 #define        STI_FLOWCF_CSWQ 0x00800000      /* cs write fifo */
        void            *future;
-} *sti_flowcflags_t;
+} __packed *sti_flowcflags_t;
 
 typedef struct sti_flowcin {
        u_int32_t       retry;
@@ -530,14 +528,14 @@ typedef struct sti_flowcin {
        u_int32_t       cscv;   /* cs coarse value */
        u_int32_t       csqc;   /* cs fifo count */
        void            *future;
-} *sti_flowcin_t;
+} __packed *sti_flowcin_t;
 
 typedef struct sti_flowcout {
        u_int32_t       errno;
        u_int32_t       retry_result;
        u_int32_t       fifo_size;
        void            *future;
-} *sti_flowcout_t;
+} __packed *sti_flowcout_t;
 
 STI_DEP(flowc);
 
@@ -546,19 +544,19 @@ typedef struct sti_utimingflags {
 #define        STI_UTIMF_WAIT  0x80000000
 #define        STI_UTIMF_HKS   0x40000000      /* has kbuf_size */
        void            *future;
-} *sti_utimingflags_t;
+} __packed *sti_utimingflags_t;
 
 typedef struct sti_utimingin {
        void            *data;
        void            *kbuf;
        void            *future;
-} *sti_utimingin_t;
+} __packed *sti_utimingin_t;
 
 typedef struct sti_utimingout {
        u_int32_t       errno;
        u_int32_t       kbuf_size;      /* buffer required size */
        void            *future;
-} *sti_utimingout_t;
+} __packed *sti_utimingout_t;
 
 STI_DEP(utiming);
 
@@ -571,17 +569,17 @@ typedef struct sti_pmgrflags {
 #define        STI_UTIMF_BUFF  0x02000000
 #define        STI_UTIMF_IBUFF 0x01000000
        void            *future;
-} *sti_pmgrflags_t;
+} __packed *sti_pmgrflags_t;
 
 typedef struct sti_pmgrin {
        u_int32_t       reserved[4];
        void            *future;
-} *sti_pmgrin_t;
+} __packed *sti_pmgrin_t;
 
 typedef struct sti_pmgrout {
        int32_t         errno;
        void            *future;
-} *sti_pmgrout_t;
+} __packed *sti_pmgrout_t;
 
 STI_DEP(pmgr);
 
@@ -589,21 +587,19 @@ typedef struct sti_utilflags {
        u_int32_t       flags;
 #define        STI_UTILF_ROOT  0x80000000      /* was called as root */
        void            *future;
-} *sti_utilflags_t;
+} __packed *sti_utilflags_t;
 
 typedef struct sti_utilin {
        u_int32_t       in_size;
        u_int32_t       out_size;
        u_int8_t        *buf;
-} *sti_utilin_t;
+} __packed *sti_utilin_t;
 
 typedef struct sti_utilout {
        int32_t         errno;
        void            *future;
-} *sti_utilout_t;
+} __packed *sti_utilout_t;
 
 STI_DEP(util);
 
-#pragma pack()
-
 #endif /* _IC_STIREG_H_ */
index 12e1e18..53d2449 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: twereg.h,v 1.8 2007/04/10 17:47:55 miod Exp $ */
+/*     $OpenBSD: twereg.h,v 1.9 2008/09/01 17:30:56 deraadt Exp $      */
 
 /*
  * Copyright (c) 2000 Michael Shalayeff
 /*     TWE_AEN_        0x0000   * dunno what this is (yet) */
 #define        TWE_AEN_QFULL   0x00ff
 
-#pragma pack(1)
-
 /* struct definitions */
 struct twe_param {
        u_int16_t       table_id;
        u_int8_t        param_id;
        u_int8_t        param_size;
        u_int8_t        data[1];
-};
+} __packed;
 
 struct twe_segs {
        u_int32_t twes_addr;
        u_int32_t twes_len;
-};
+} __packed;
 
 struct twe_cmd {
        u_int16_t       cmd_op;
@@ -175,17 +173,17 @@ struct twe_cmd {
                        u_int32_t       lba;
                        struct twe_segs segs[TWE_MAXOFFSETS];
                        u_int32_t       pad;
-               } _cmd_io;
+               } __packed _cmd_io;
 #define        cmd_io          _._cmd_io
                struct {
                        u_int16_t       count;
                        struct twe_segs segs[TWE_MAXOFFSETS];
-               } _cmd_param;
+               } __packed _cmd_param;
 #define        cmd_param       _._cmd_param
                struct {
                        u_int16_t       msgcr;
                        u_int32_t       rdy_q_ptr;
-               } _cmd_init;
+               } __packed _cmd_init;
 #define        cmd_init        _._cmd_init
                struct {
                        u_int8_t        action;
@@ -193,7 +191,7 @@ struct twe_cmd {
 #define        TWE_HSWAP_ADDCBOD       1
 #define        TWE_HSWAP_ADDSPARE      2
                        u_int8_t        port;
-               } _cmd_aport;
+               } __packed _cmd_aport;
 #define        cmd_hswap       _._cmd_hswap
                struct {
                        u_int8_t        feature;
@@ -202,7 +200,7 @@ struct twe_cmd {
                        u_int8_t        mode;
                        u_int16_t       units;
                        u_int16_t       persist;
-               } _cmd_ata;
+               } __packed _cmd_ata;
 #define        cmd_ata         _._cmd_ata
                u_int16_t       cmd_status;
                struct {
@@ -213,9 +211,7 @@ struct twe_cmd {
 #define        TWE_REBUILD_STARTU      5
 #define        TWE_REBUILD_CS          0x80
                        u_int8_t        subunit;        /* raid10 lu rebuild */
-               } _cmd_rebuild;
+               } __packed _cmd_rebuild;
 #define        cmd_rebuild     _._cmd_rebuild
        } _;
-};     /* 512 bytes */
-
-#pragma pack()
+} __packed;    /* 512 bytes */
index b151b63..bcaee1c 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: vgareg.h,v 1.3 2004/04/02 04:39:50 deraadt Exp $ */
+/* $OpenBSD: vgareg.h,v 1.4 2008/09/01 17:30:56 deraadt Exp $ */
 /* $NetBSD: vgareg.h,v 1.2 1998/05/28 16:48:41 drochner Exp $ */
 
 /*
  *
  */
 
-#pragma pack(1)
-
 struct reg_vgaattr { /* indexed via port 0x3c0 */
        u_int8_t palette[16];
        u_int8_t mode, overscan, colplen, horpixpan;
        u_int8_t colreset, misc;
-};
+} __packed;
 #define VGA_ATC_INDEX 0
 #define VGA_ATC_DATAW 0
 #define VGA_ATC_DATAR 1
 
 struct reg_vgats { /* indexed via port 0x3c4 */
        u_int8_t syncreset, mode, wrplmask, fontsel, memmode;
-};
+} __packed;
 #define VGA_TS_INDEX 4
 #define VGA_TS_DATA 5
 
@@ -48,8 +46,6 @@ struct reg_vgagdc { /* indexed via port 0x3ce */
        u_int8_t setres, ensetres, colorcomp, rotfunc;
        u_int8_t rdplanesel, mode, misc, colorcare;
        u_int8_t bitmask;
-};
+} __packed;
 #define VGA_GDC_INDEX 0xe
 #define VGA_GDC_DATA 0xf
-
-#pragma pack()
index e60d7c8..6d0ef46 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: if_rayreg.h,v 1.7 2003/12/12 02:36:07 mcbride Exp $   */
+/*     $OpenBSD: if_rayreg.h,v 1.8 2008/09/01 17:30:56 deraadt Exp $   */
 /*     $NetBSD: if_rayreg.h,v 1.3 2000/08/10 11:48:46 ad Exp $ */
 
 /* 
@@ -32,8 +32,6 @@
 
 #define        RAY_MAXSSIDLEN  32
 
-#pragma pack(1)
-
 /*
  * CCR registers 
  */
@@ -154,7 +152,7 @@ struct ray_ecf_startup {
        u_int8_t        e_asic_version;
        u_int8_t        e_tib_size;
        u_int8_t        e_resv1[29];
-};
+} __packed;
 
 #define        RAY_ECFS_RESERVED0              0x01
 #define        RAY_ECFS_PROC_SELF_TEST         0x02
@@ -176,7 +174,7 @@ struct ray_csc {
        u_int16_t       csc_mrx_cksum;  /* " on cksum error */
        u_int16_t       csc_rx_hcksum;  /* " on header cksum error */
        u_int8_t        csc_rx_noise;           /* average RSL measurement */
-};
+} __packed;
 
 /* status area */
 struct ray_status {
@@ -186,7 +184,7 @@ struct ray_status {
        u_int8_t        st_calc_cis_cksum;
        u_int8_t        st_ecf_spare[7];
        u_int8_t        st_japan_callsign[12];
-};
+} __packed;
 
 /*
  * Host to ECF data formats
@@ -226,7 +224,7 @@ struct ray_startup_params_head {
 /*48*/ u_int8_t        sp_country_code;
 /*49*/ u_int8_t        sp_hop_seq;
 /*4a*/ u_int8_t        sp_hop_seq_len; /* no longer supported */
-};
+} __packed;
 
 /* build 5 tail to the startup params */
 struct ray_startup_params_tail_5 {
@@ -244,7 +242,7 @@ struct ray_startup_params_tail_5 {
        u_int8_t        sp_privacy_must_start;
        u_int8_t        sp_privacy_can_join;
        u_int8_t        sp_basic_rate_set[8];
-};
+} __packed;
 
 /* build 4 (webgear) tail to the startup params */
 struct ray_startup_params_tail_4 {
@@ -259,7 +257,7 @@ struct ray_startup_params_tail_4 {
        u_int8_t        sp_test_min_chan;
        u_int8_t        sp_test_max_chan;
        /* more bytes in build 5 */
-};
+} __packed;
 
 /*
  * Parameter IDs for the update/report param commands and values if
@@ -415,7 +413,7 @@ struct ray_cmd {
        u_int8_t        c_status;       /* ccs generic header */
        u_int8_t        c_cmd;          /* " */
        u_int8_t        c_link;         /* " */
-};
+} __packed;
 
 #define        RAY_CCS_STATUS_FREE             0x0
 #define        RAY_CCS_STATUS_BUSY             0x1
@@ -430,7 +428,7 @@ struct ray_cmd_update {
        u_int8_t        c_paramid;
        u_int8_t        c_nparam;
        u_int8_t        c_failcause;
-};
+} __packed;
 
 /* RAY_CMD_REPORT_PARAMS */
 struct ray_cmd_report {
@@ -441,7 +439,7 @@ struct ray_cmd_report {
        u_int8_t        c_nparam;
        u_int8_t        c_failcause;
        u_int8_t        c_len;
-};
+} __packed;
 
 /* RAY_CMD_UPDATE_MCAST */
 struct ray_cmd_update_mcast {
@@ -449,7 +447,7 @@ struct ray_cmd_update_mcast {
        u_int8_t        c_cmd;          /* " */
        u_int8_t        c_link;         /* " */
        u_int8_t        c_nmcast;
-};
+} __packed;
 
 /* RAY_CMD_UPDATE_APM */
 struct ray_cmd_udpate_apm {
@@ -457,7 +455,7 @@ struct ray_cmd_udpate_apm {
        u_int8_t        c_cmd;          /* " */
        u_int8_t        c_link;         /* " */
        u_int8_t        c_mode;
-};
+} __packed;
 
 /* RAY_CMD_START_NET and RAY_CMD_JOIN_NET */
 struct ray_cmd_net {
@@ -469,7 +467,7 @@ struct ray_cmd_net {
        u_int8_t        c_inited;
        u_int8_t        c_def_txrate;
        u_int8_t        c_encrypt;
-};
+} __packed;
 
 /* parameters passwd in h2e section when c_upd_param is set in ray_cmd_net */
 struct ray_net_params {
@@ -477,7 +475,7 @@ struct ray_net_params {
        u_int8_t        p_ssid[32];
        u_int8_t        p_privacy_must_start;
        u_int8_t        p_privacy_can_join;
-};
+} __packed;
 
 /* RAY_CMD_UPDATE_ASSOC */
 struct ray_cmd_update_assoc {
@@ -486,7 +484,7 @@ struct ray_cmd_update_assoc {
        u_int8_t        c_link;         /* " */
        u_int8_t        c_astatus;
        u_int8_t        c_aid[2];
-};
+} __packed;
 
 /* RAY_CMD_TX_REQ */
 struct ray_cmd_tx {
@@ -500,7 +498,7 @@ struct ray_cmd_tx {
        u_int8_t        c_apm_mode;
        u_int8_t        c_nretry;
        u_int8_t        c_antenna;
-};
+} __packed;
 
 /* RAY_CMD_TX_REQ (for build 4) */
 struct ray_cmd_tx_4 {
@@ -513,7 +511,7 @@ struct ray_cmd_tx_4 {
        u_int8_t        c_apm_mode;
        u_int8_t        c_nretry;
        u_int8_t        c_antenna;
-};
+} __packed;
 
 /* RAY_CMD_DUMP_MEM */
 struct ray_cmd_dump_mem {
@@ -523,7 +521,7 @@ struct ray_cmd_dump_mem {
        u_int8_t        c_memtype;
        u_int8_t        c_memp[2];
        u_int8_t        c_len;
-};
+} __packed;
 
 /* RAY_CMD_START_TIMER */
 struct ray_cmd_start_timer {
@@ -531,7 +529,7 @@ struct ray_cmd_start_timer {
        u_int8_t        c_cmd;          /* " */
        u_int8_t        c_link;         /* " */
        u_int8_t        c_duration[2];
-};
+} __packed;
 
 struct ray_cmd_rx {
        u_int8_t        c_status;       /* ccs generic header */
@@ -544,9 +542,7 @@ struct ray_cmd_rx {
        u_int8_t        c_pktlen[2];    /* total packet length */
        u_int8_t        c_antenna;      /* antenna with best reception */
        u_int8_t        c_updbss;       /* only 1 for beacon messages */
-};
-
-#pragma pack()
+} __packed;
 
 #define        RAY_TX_PHY_SIZE 0x4
 
index e1ddb09..dcbaa9f 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: ntfs.h,v 1.5 2007/06/02 01:02:56 deraadt Exp $        */
+/*     $OpenBSD: ntfs.h,v 1.6 2008/09/01 17:30:56 deraadt Exp $        */
 /*     $NetBSD: ntfs.h,v 1.5 2003/04/24 07:50:19 christos Exp $        */
 
 /*-
@@ -33,7 +33,6 @@
 typedef u_int64_t cn_t;
 typedef u_int16_t wchar;
 
-#pragma pack(1)
 #define BBSIZE                 1024
 #define        BBOFF                   ((off_t)(0))
 #define        BBLOCK                  0
@@ -51,7 +50,7 @@ struct fixuphdr {
        u_int32_t       fh_magic;
        u_int16_t       fh_foff;
        u_int16_t       fh_fnum;
-};
+} __packed;
 
 #define NTFS_AF_INRUN  0x00000001
 struct attrhdr {
@@ -64,7 +63,7 @@ struct attrhdr {
        u_int8_t        a_compression;
        u_int8_t        reserved2;
        u_int16_t       a_index;
-};
+} __packed;
 #define NTFS_A_STD     0x10
 #define NTFS_A_ATTRLIST        0x20
 #define NTFS_A_NAME    0x30
@@ -83,7 +82,7 @@ struct attr {
                        u_int16_t       reserved1;
                        u_int16_t       a_dataoff;
                        u_int16_t       a_indexed;
-               }               a_S_r;
+               } __packed      a_S_r;
                struct {
                        cn_t            a_vcnstart;
                        cn_t            a_vcnend;
@@ -93,9 +92,9 @@ struct attr {
                        u_int64_t       a_allocated;
                        u_int64_t       a_datalen;
                        u_int64_t       a_initialized;
-               }               a_S_nr;
+               } __packed      a_S_nr;
        }               a_S;
-};
+} __packed;
 #define a_r    a_S.a_S_r
 #define a_nr   a_S.a_S_nr
 
@@ -104,7 +103,7 @@ typedef struct {
        u_int64_t       t_write;
        u_int64_t       t_mftwrite;
        u_int64_t       t_access;
-}               ntfs_times_t;
+} __packed ntfs_times_t;
 
 #define NTFS_FFLAG_RDONLY      0x01LL
 #define NTFS_FFLAG_HIDDEN      0x02LL
@@ -123,7 +122,7 @@ struct attr_name {
        u_int8_t        n_namelen;
        u_int8_t        n_nametype;
        u_int16_t       n_name[1];
-};
+} __packed;
 
 #define NTFS_IRFLAG_INDXALLOC  0x00000001
 struct attr_indexroot {
@@ -136,7 +135,7 @@ struct attr_indexroot {
        u_int32_t       ir_allocated;   /* same as above */
        u_int16_t       ir_flag;/* ?? always 1 */
        u_int16_t       ir_unkn7;
-};
+} __packed;
 
 struct attr_attrlist {
        u_int32_t       al_type;        /* Attribute type */
@@ -148,7 +147,7 @@ struct attr_attrlist {
        u_int32_t       reserved;
        u_int16_t       al_index;       /* Attribute index in MFT record */
        u_int16_t       al_name[1];     /* Name */
-};
+} __packed;
 
 #define        NTFS_INDXMAGIC  (u_int32_t)(0x58444E49)
 struct attr_indexalloc {
@@ -159,7 +158,7 @@ struct attr_indexalloc {
        u_int16_t       unknown2;
        u_int32_t       ia_inuse;
        u_int32_t       ia_allocated;
-};
+} __packed;
 
 #define        NTFS_IEFLAG_SUBNODE     0x00000001
 #define        NTFS_IEFLAG_LAST        0x00000002
@@ -180,7 +179,7 @@ struct attr_indexentry {
        u_int8_t        ie_fnametype;
        wchar           ie_fname[NTFS_MAXFILENAME];
        /* cn_t         ie_bufcn;        buffer with subnodes */
-};
+} __packed;
 
 #define        NTFS_FILEMAGIC  (u_int32_t)(0x454C4946)
 #define        NTFS_FRFLAG_DIR 0x0002
@@ -195,7 +194,7 @@ struct filerec {
        u_int32_t       fr_allocated;   /* allocated length of record */
        u_int64_t       fr_mainrec;     /* main record */
        u_int16_t       fr_attrnum;     /* maximum attr number + 1 ??? */
-};
+} __packed;
 
 #define        NTFS_ATTRNAME_MAXLEN    0x40
 #define        NTFS_ADFLAG_NONRES      0x0080  /* Attrib can be non resident */
@@ -207,13 +206,13 @@ struct attrdef {
        u_int32_t       ad_flag;
        u_int64_t       ad_minlen;
        u_int64_t       ad_maxlen;      /* -1 for nonlimited */
-};
+} __packed;
 
 struct ntvattrdef {
        char            ad_name[0x40];
        int             ad_namelen;
        u_int32_t       ad_type;
-};
+} __packed;
 
 #define        NTFS_BBID       "NTFS    "
 #define        NTFS_BBIDLEN    8
@@ -235,9 +234,7 @@ struct bootfile {
                                        /* 0xF6 inducates 1/4 */
        u_int32_t       bf_ibsz;        /* index buffer size */
        u_int32_t       bf_volsn;       /* volume ser. num. */
-};
-
-#pragma pack()
+} __packed;
 
 typedef wchar (ntfs_wget_func_t)(const char **);
 typedef int (ntfs_wput_func_t)(char *, size_t, wchar);