#ifndef MIDLTESTS_C_CODE

[
  uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"),
  pointer_default(unique)
]
interface midltests
{
	long midltests_fn(
		[out,ref] long *count,
		[out,ref,size_is(,*count),range(0,1)] long **array,
		[out,ref] long *error
	);
}

#elif MIDLTESTS_C_CODE

static void midltests(void)
{
	long count;
	long *array;
	long error;

	cli_midltests_fn(&count, &array, &error);
}

long srv_midltests_fn(long *count, long **array, long *error)
{
	printf("srv_midltests_fn: Start\n");
	*count=2;
	*array=(long *)malloc((*count) * sizeof(long));
	(*array)[0] = 7;
	(*array)[1] = 7;
	*error=0;
	printf("srv_midltests_fn: End\n");
	return 0x65757254;
}

#endif
