2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
8 #include "lowlevel_intern.h"
10 #include <aros/libcall.h>
11 #include <exec/types.h>
12 #include <libraries/lowlevel.h>
13 #include <hardware/intbits.h>
15 /*****************************************************************************
19 AROS_LH1(VOID
, RemVBlankInt
,
22 AROS_LHA(APTR
, intHandle
, A1
),
25 struct LowLevelBase
*, LowLevelBase
, 24, LowLevel
)
29 Remove a vertical blank interrupt routine previously added by a call to
34 intHandle -- return value from AddVBlankInt(); may be NULL in which case
35 this function is a no-op.
49 *****************************************************************************/
53 /* Protection against erroneous programs */
54 if (intHandle
!= NULL
||
55 ((struct Interrupt
*)intHandle
) != &LowLevelBase
->ll_VBlank
)
60 ObtainSemaphore(&LowLevelBase
->ll_Lock
);
61 RemIntServer(INTB_VERTB
, &LowLevelBase
->ll_VBlank
);
62 LowLevelBase
->ll_VBlank
.is_Code
= NULL
;
63 LowLevelBase
->ll_VBlank
.is_Data
= NULL
;
64 ReleaseSemaphore(&LowLevelBase
->ll_Lock
);