grub2: bring back build of aros-side grub2 tools
[AROS.git] / rom / expansion / obtainconfigbinding.c
blob695c5e6d74ec0195dd9da12dfe4999f5bca19990
1 /*
2 Copyright © 1995-2014, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: Lock the CurrentBinding structure.
6 Lang: english
7 */
8 #include "expansion_intern.h"
9 #include <proto/exec.h>
11 /*****************************************************************************
13 NAME */
14 #include <proto/expansion.h>
16 AROS_LH0(void, ObtainConfigBinding,
18 /* SYNOPSIS */
19 /* void */
21 /* LOCATION */
22 struct ExpansionBase *, ExpansionBase, 20, Expansion)
24 /* FUNCTION
25 ObtainConfigBinding() gives you permission to bind drivers
26 to a ConfigDev structure. It exists so that two drivers
27 at once do not try and bind the same ConfigDev structures
28 at the same time.
30 Since most of the data required to bind drivers is statically
31 kept, so you must lock out other users from accessing the
32 structures at the same time.
34 This call is based on the Exec SignalSemaphores, and will
35 block until it is safe to proceed.
37 INPUTS
38 None.
40 RESULT
41 You will have the lock on the CurrentBindings. Please finish
42 as quickly as you can.
44 NOTES
46 EXAMPLE
48 BUGS
50 SEE ALSO
51 ReleaseConfigBinding()
53 INTERNALS
55 HISTORY
56 27-11-96 digulla automatically created from
57 expansion_lib.fd and clib/expansion_protos.h
59 *****************************************************************************/
61 AROS_LIBFUNC_INIT
63 ObtainSemaphore(&IntExpBase(ExpansionBase)->BindSemaphore);
65 AROS_LIBFUNC_EXIT
66 } /* ObtainConfigBinding */