TRIO_PUBLIC int trio_vcscanf TRIO_ARGS4((stream, closure, format, args), trio_instream_t stream,
                                        trio_pointer_t closure, TRIO_CONST char* format,
                                        va_list args)
{
	trio_custom_t data;

	assert(VALID(stream));
	assert(VALID(format));

	data.stream.in = stream;
	data.closure = closure;
	return TrioScan(&data, 0, TrioInStreamCustom, NULL, format, args, NULL, NULL);
}
TRIO_PUBLIC int trio_vcscanf TRIO_ARGS4((stream, closure, format, args), trio_instream_t stream,
                                        trio_pointer_t closure, TRIO_CONST char* format,
                                        va_list args)
{
	trio_custom_t data;

	assert(VALID(stream));
	assert(VALID(format));

	data.stream.in = stream;
	data.closure = closure;
	return TrioScan(&data, 0, TrioInStreamCustom, NULL, format, args, NULL, NULL);
}