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); }
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); }
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); }
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); }
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); }
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; }