/* case10.c */

typedef	int	x4t;

struct x14;

union x15;

enum x16;

x4t;

typedef	struct	_first	{
	int		a:5;
	struct	{
		int	a,b;
	} b_struct;
	char		b:16, b1:1;	 
	long		c:16, c1;
	short		d:16, d1:8, d2;
	unsigned	e:16;
	float		f;
	double		g;
	struct	_first	*link;
	}	_FIRST;

typedef int badStyle;

void badFunc(int *badStyle);

struct	_second	{
		enum	{true, false} bool;
		enum	{wrong=1, right=3} values;
	};

int dots_0(int p1);
int dots_1(int p1, ...);
int dots_3(int p1, char p2, ...);
_FIRST *func1(void);
_FIRST *func2(_FIRST *p1, int p2[], float p);
int *(func_func)(void);

typedef	int	bool;

struct	ZIP1	{ int x1, y1; };

struct	zip2	{ int x2, y2; };
struct		{ int x3, y3; };

struct	ZIP4	{ int x4, y4; };

struct	zip5	{ int x5, y5; };
struct	zip6	{ int x6, y6; };
struct		{ int x7, y7; };
struct		{ int x8, y8; };
enum	zap1	{ a,b,c,d };
enum		{a9,b9,c9,d9};

typedef	struct	bong	{
	int	(*func)();
	} BONG;

typedef	char	*string;

int main(register argc, char **argv);
int veryfunny(char *a, long b, long c);
int program(string argv[], struct	alpha { int x,z; } y, int zz, int z1, int z2, int z3);
int junk0(void);
int junk1(void);
int junk2(void);
int junk3(void);
BONG *junk4(void);

typedef	int	extern_junk;

extern_junk *foo(void);

typedef	int	void_junk;

void_junk *foo2a(void);
void_junk *foo2(void);
void_junk *foo_void(void_junk void_int);
void (*Sigdisp(int sig, void (*func)(int sig)))(int sig1);
void (*sigdisp2(int sig, void (*func)(int sig)))(int sig2);
int (*K_R_INT_ptr(long *p1, int p2))(void);
void (*K_R_VOID_ptr(long *p1, int p2))(void);
int *K_R_int_ptr(long *p1, int p2);
void *K_R_void_ptr(long *p1, int p2);
int K_R_int_val(long *p1, int p2);
int K_R_int_val2(long *p1, int p2);
void K_R_void_val(long *p1, int p2);
int K_R_void_val2(long *p1, int p2);
