btfdump 0.0.4

BTF introspection tool
Documentation
typedef unsigned int u32;

typedef void (*fn)(int);

typedef struct {
	int x, y, z;
} anon_struct_t;

void f(void (*fn)(int)) {
}

enum E {
	V1 = 0,
	V2 = 1,
};

enum E e = V1;

struct S;
union U;
struct S;

u32 func(enum E bla, const struct S* fwd_s, volatile union U* fwd_u) {
	return bla;
}

struct SimpleStruct {
	int a;
	u32 b;
	void (*f)(int a, enum E b);
	enum E arr[10];
};

union SimpleUnion {
	int a;
	struct SimpleStruct s;
	char arr[128];
};

union NestedAnonUnion {
	struct {
		int a;
		union {
			int b;
			int c;
		} d;
		struct {
			int x;
			char y;
			u32 z;
		};
	} A;
	int B;
	union SimpleUnion C;
	union {
		struct SimpleStruct Q;
		union SimpleUnion T;
	};
};


int main() {
	static struct SimpleStruct s1;
	static union SimpleUnion s2;
	static union NestedAnonUnion s3;
	static anon_struct_t s4;
	return 0;
}