123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- #[repr(align(1), C)]
- pub struct Align1Struct {
- pub arg1: usize,
- pub arg2: *mut u8,
- }
- #[repr(align(2), C)]
- pub struct Align2Struct {
- pub arg1: usize,
- pub arg2: *mut u8,
- }
- #[repr(align(4), C)]
- pub struct Align4Struct {
- pub arg1: usize,
- pub arg2: *mut u8,
- }
- #[repr(align(8), C)]
- pub struct Align8Struct {
- pub arg1: usize,
- pub arg2: *mut u8,
- }
- #[repr(align(32), C)]
- pub struct Align32Struct {
- pub arg1: usize,
- pub arg2: *mut u8,
- }
- #[repr(packed, C)]
- pub struct PackedStruct {
- pub arg1: usize,
- pub arg2: *mut u8,
- }
- #[repr(align(1), C)]
- pub union Align1Union {
- pub variant1: usize,
- pub variant2: *mut u8,
- }
- #[repr(align(4), C)]
- pub union Align4Union {
- pub variant1: usize,
- pub variant2: *mut u8,
- }
- #[repr(align(16), C)]
- pub union Align16Union {
- pub variant1: usize,
- pub variant2: *mut u8,
- }
- #[repr(packed, C)]
- pub union PackedUnion {
- pub variant1: usize,
- pub variant2: *mut u8,
- }
- // #[repr(packed(n), C)] structs are currently unsupported.
- #[repr(packed(4), C)]
- pub struct UnsupportedPacked4Struct {
- pub arg1: usize,
- pub arg2: *mut u8,
- }
- // #[repr(packed(n), C)] unions are currently unsupported.
- #[repr(packed(4), C)]
- pub union UnsupportedPacked4Union {
- pub variant1: usize,
- pub variant2: *mut u8,
- }
- // #[repr(align(n), C)] enums are currently unsupported.
- #[repr(align(4), C)]
- pub enum UnsupportedAlign4Enum {
- Variant1,
- Variant2,
- }
- // Non-repr(C) structs aren't translated.
- #[repr(align(4))]
- pub struct RustAlign4Struct {
- pub arg1: usize,
- pub arg2: *mut u8,
- }
- // Non-repr(C) structs aren't translated.
- #[repr(packed)]
- pub struct RustPackedStruct {
- pub arg1: usize,
- pub arg2: *mut u8,
- }
- // Non-repr(C) unions aren't translated.
- #[repr(align(4))]
- pub struct RustAlign4Union {
- pub arg1: usize,
- pub arg2: *mut u8,
- }
- // Non-repr(C) unions aren't translated.
- #[repr(packed)]
- pub struct RustPackedUnion {
- pub arg1: usize,
- pub arg2: *mut u8,
- }
|