// ./godefs -g test testdata.c

// MACHINE GENERATED - DO NOT EDIT.

package test

// Constants
const (
	sizeofPtr = 0x4;
	sizeofShort = 0x2;
	sizeofInt = 0x4;
	sizeofLong = 0x4;
	sizeofLongLong = 0x8;
)

// Types

type T2 struct {
	A uint8;
	Pad_godefs_0 [3]byte;
	B uint32;
	C uint32;
	D uint16;
	Pad_godefs_1 [2]byte;
}

type T3 struct {
	A uint8;
	Pad_godefs_0 [3]byte;
	Pad0 int32;
}

type T4 struct {
}

type T5 struct {
	A *T4;
}
