Check for SYS/GL during library init. Reason is that
[AROS.git] / rom / intuition / getprefs.c
blobdf7850646c5cab10074261120af179ece39ddd39
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$
5 */
7 #include <intuition/preferences.h>
8 #include <proto/exec.h>
9 #include "intuition_intern.h"
11 /*****************************************************************************
13 NAME */
14 #include <proto/intuition.h>
16 AROS_LH2(struct Preferences *, GetPrefs,
18 /* SYNOPSIS */
19 AROS_LHA(struct Preferences * , prefbuffer, A0),
20 AROS_LHA(WORD , size, D0),
22 /* LOCATION */
23 struct IntuitionBase *, IntuitionBase, 22, Intuition)
25 /* FUNCTION
26 Gets a copy of the current Preferences structure.
28 INPUTS
29 prefbuffer - The buffer which contains your settings for the
30 preferences.
31 size - The number of bytes of the buffer you want to be copied.
33 RESULT
34 Returns your parameter buffer.
36 NOTES
38 EXAMPLE
40 BUGS
42 SEE ALSO
43 GetDefPrefs(), SetPrefs()
45 INTERNALS
47 *****************************************************************************/
49 AROS_LIBFUNC_INIT
51 DEBUG_GETPREFS(dprintf("GetPrefs: Buffer 0x%lx Size 0x%lx Inform %d\n",
52 prefbuffer, size));
54 if (prefbuffer != NULL && size != 0)
56 ULONG lock = LockIBase(0);
58 CopyMem(&GetPrivIBase(IntuitionBase)->ActivePreferences,
59 prefbuffer,
60 size <= sizeof(struct Preferences) ? size : sizeof(struct Preferences));
62 UnlockIBase(lock);
65 return (struct Preferences *)prefbuffer;
67 AROS_LIBFUNC_EXIT
68 } /* GetPrefs */