Synchronized binutils patch from contrib, now builds again for me.
[AROS.git] / rom / graphics / locklayerrom.c
blob00e7ca35ff463afcf80e7084ce4763d4ce298b91
1 /*
2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: Graphics function LockLayerRom()
6 Lang: english
7 */
8 #include <proto/exec.h>
9 #include <graphics/layers.h>
10 #include <graphics/clip.h>
12 #include "graphics_intern.h"
14 /*****************************************************************************
16 NAME */
17 #include <proto/graphics.h>
19 AROS_LH1(void, LockLayerRom,
21 /* SYNOPSIS */
22 AROS_LHA(struct Layer *, l, A5),
24 /* LOCATION */
25 struct GfxBase *, GfxBase, 72, Graphics)
27 /* FUNCTION
28 Locks the layer. Returns when the layer is locked for
29 exclusive use.
30 This call behaves like when a semaphore is locked. The
31 same task may lock the same layer several times without
32 locking itself out. For every call to this function a
33 call to UnlockLayerRom() has to be made as the calls nest.
34 This function will also prevent intuition from locking the
35 layer so the layer should not be blocked too long.
36 This function does exactly the same as layers/LockLayer()
38 INPUTS
39 l - pointer to layer that is to be locked
41 RESULT
43 NOTES
45 EXAMPLE
47 BUGS
48 Does not save all registers.
50 SEE ALSO
51 UnlockLayerRom(), hyperlayers.library/LockLayer()
52 hyperlayers.library/UnLockLayer()
54 INTERNALS
56 HISTORY
58 *****************************************************************************/
60 AROS_LIBFUNC_INIT
62 ObtainSemaphore(&l->Lock);
64 AROS_LIBFUNC_EXIT
65 } /* LockLayerRom */