예제 #1
0
struct VARARGS68K AHIAudioModeRequester * _AHI_AllocAudioRequest(

	struct AHIBase *AHIBase, ...
)
{
	va_list ap;
	struct TagItem * varargs;
	va_startlinear(ap, AHIBase);
	varargs = va_getlinearva(ap, struct TagItem *);
	return	_AHI_AllocAudioRequestA(
		varargs, AHIBase);
}
예제 #2
0
ULONG VARARGS68K _AHI_BestAudioID(

	struct AHIBase *AHIBase, ...
)
{
	va_list ap;
	struct TagItem * varargs;
	va_startlinear(ap, AHIBase);
	varargs = va_getlinearva(ap, struct TagItem *);
	return	_AHI_BestAudioIDA(
		varargs, AHIBase);
}
예제 #3
0
void VARARGS68K _AHI_Play(

	struct AHIAudioCtrl * Audioctrl,
	struct AHIBase *AHIBase, ...
)
{
	va_list ap;
	struct TagItem * varargs;
	va_startlinear(ap, AHIBase);
	varargs = va_getlinearva(ap, struct TagItem *);
		_AHI_PlayA(
		(struct AHIPrivAudioCtrl*) Audioctrl,
		varargs, AHIBase);
}
예제 #4
0
ULONG VARARGS68K _AHI_ControlAudio(

	struct AHIAudioCtrl * AudioCtrl,
	struct AHIBase *AHIBase, ...
)
{
	va_list ap;
	struct TagItem * varargs;
	va_startlinear(ap, AHIBase);
	varargs = va_getlinearva(ap, struct TagItem *);
	return	_AHI_ControlAudioA(
		(struct AHIPrivAudioCtrl*) AudioCtrl,
		varargs, AHIBase);
}
예제 #5
0
파일: gui.c 프로젝트: adtools/db101
void enable(BOOL able, ULONG tags, ...)
{
	va_list args;
	ULONG tag = tags;
#ifdef __amigaos4__
	va_startlinear(args, tags);
#else
	va_start(args, tags);
#endif
	while( tag != TAG_END )
	{
		button_setdisabled(MainObj[tag], !able);
		tag = va_arg(args, ULONG);
	}
	va_end(args);
}
예제 #6
0
BOOL VARARGS68K _AHI_GetAudioAttrs(

	ULONG ID,
	struct AHIAudioCtrl * Audioctrl,
	struct AHIBase *AHIBase,
    ...
)
{
	va_list ap;
	struct TagItem * varargs;
	va_startlinear(ap, AHIBase);
	varargs = va_getlinearva(ap, struct TagItem *);

	return	_AHI_GetAudioAttrsA(
		ID,
		(struct AHIPrivAudioCtrl*) Audioctrl,
		varargs, AHIBase);
}
static uint32 VARARGS68K call_68k_code (struct ExecIFace *IExec, void *code, int num_args, ...) {
	uint32 res = 0;

	va_list vargs;
	va_startlinear(vargs, num_args);
	uint32 *args = va_getlinearva(vargs, uint32 *);

	uint8 *stack = IExec->AllocVec(4096, MEMF_SHARED);
	if (stack) {
		uint32 *sp = (uint32 *)(stack + 4096);
		args += num_args;
		while (num_args--) {
			*--sp = *--args;
		}

		res = IExec->EmulateTags(code, ET_StackPtr, sp, TAG_END);
		IExec->FreeVec(stack);
	}

	va_end(vargs);

	return res;
}