2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
8 #include <proto/utility.h>
9 #include <proto/exec.h>
11 #include "camd_intern.h"
14 /*****************************************************************************
18 AROS_LH2(ULONG
, GetMidiAttrsA
,
21 AROS_LHA(struct MidiNode
*, midinode
, A0
),
22 AROS_LHA(struct TagItem
*, tags
, A1
),
25 struct CamdBase
*, CamdBase
, 10, Camd
)
34 If you are not the owner of the midinode, you should lock
35 Camd before calling to ensure that it wont go away.
48 *****************************************************************************/
53 const struct TagItem
*tstate
=tags
;
57 ObtainSemaphoreShared(CB(CamdBase
)->CLSemaphore
);
59 while((tag
=NextTagItem(&tstate
))){
61 where
=(ULONG
*)tag
->ti_Tag
;
64 *where
=(ULONG
)midinode
->mi_Node
.ln_Name
;
67 *where
=(ULONG
)midinode
->mi_SigTask
;
70 *where
=(ULONG
)midinode
->mi_ReceiveHook
;
73 *where
=(ULONG
)midinode
->mi_ParticipantHook
;
76 *where
=(ULONG
)midinode
->mi_ReceiveSigBit
;
79 *where
=(ULONG
)midinode
->mi_ParticipantSigBit
;
82 *where
=(ULONG
)midinode
->mi_MsgQueueSize
;
85 *where
=(ULONG
)midinode
->mi_SysExQueueSize
;
88 *where
=(ULONG
)midinode
->mi_TimeStamp
;
91 *where
=(ULONG
)midinode
->mi_ErrFilter
;
94 *where
=(ULONG
)midinode
->mi_ClientType
;
97 *where
=(ULONG
)midinode
->mi_Image
;
105 ReleaseSemaphore(CB(CamdBase
)->CLSemaphore
);
115 ULONG VARARGS68K
GetMidiAttrs(
116 struct CamdIFace
*Self
,
117 struct MidiNode
* mi
,
122 struct TagItem
* varargs
;
123 va_startlinear(ap
, mi
);
124 varargs
= va_getlinearva(ap
, struct TagItem
*);
125 return Self
->GetMidiAttrsA(