try to make sure compiler/include/mmakefile is always refreshed correctly.
[AROS.git] / rom / intuition / lockibase.c
blobc25c9f91bc35f45d44caf7a73172307d6fe7a1bb
1 /*
2 Copyright © 1995-2013, The AROS Development Team. All rights reserved.
3 Copyright © 2001-2003, The MorphOS Development Team. All Rights Reserved.
4 $Id$
6 Locks the access to all public fields of the IntuitionBase.
7 */
9 #include <proto/exec.h>
10 #include "intuition_intern.h"
12 /*****************************************************************************
14 NAME */
15 #include <proto/intuition.h>
17 AROS_LH1(ULONG, LockIBase,
19 /* SYNOPSIS */
20 AROS_LHA(ULONG, What, D0),
22 /* LOCATION */
23 struct IntuitionBase *, IntuitionBase, 69, Intuition)
25 /* FUNCTION
26 Locks Intuition. While you hold this lock, no fields of Intuition
27 will change. Please release this as soon as possible.
29 INPUTS
30 What - Which fields of Intuition should be locked. The only allowed
31 value for this is currently 0 which means to lock everything.
33 RESULT
34 The result of this function must be passed to UnlockIBase().
36 NOTES
37 You *must not* call this function if you have any locks on other
38 system resources like layers and LayerInfo locks.
40 EXAMPLE
42 BUGS
44 SEE ALSO
45 UnLockIBase()
47 INTERNALS
49 *****************************************************************************/
51 AROS_LIBFUNC_INIT
53 ObtainSemaphore (GetPrivIBase(IntuitionBase)->IBaseLock);
55 return What;
56 AROS_LIBFUNC_EXIT
57 } /* LockIBase */