Updated Sourceforge username and host.
[tangerine.git] / rom / intuition / allocremember.c
bloba45083edc6730ef00dc07d0d024dcc269c0cea9b
1 /*
2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
3 Copyright © 2001-2003, The MorphOS Development Team. All Rights Reserved.
4 $Id$
5 */
7 #include "intuition_intern.h"
8 #include <exec/memory.h>
9 #include <proto/exec.h>
11 /*****************************************************************************
13 NAME */
14 #include <intuition/intuition.h>
15 #include <proto/intuition.h>
17 AROS_LH3(APTR, AllocRemember,
19 /* SYNOPSIS */
20 AROS_LHA(struct Remember **, rememberKey, A0),
21 AROS_LHA(ULONG , size, D0),
22 AROS_LHA(ULONG , flags, D1),
24 /* LOCATION */
25 struct IntuitionBase *, IntuitionBase, 66, Intuition)
27 /* FUNCTION
28 Allocate some memory and remeber it in the Remember-List.
30 INPUTS
31 rememberKey - Store information in this list
32 size - How many bytes to allocate
33 flags - Attributes (see AllocMem())
35 RESULT
36 Pointer to the allocated memory or NULL.
38 NOTES
40 EXAMPLE
42 BUGS
44 SEE ALSO
46 INTERNALS
48 HISTORY
50 *****************************************************************************/
52 AROS_LIBFUNC_INIT
54 struct Remember *newKey;
55 APTR ptr = NULL;
57 DEBUG_REMEMBER(dprintf("AllocRemember: Key 0x%lx Size 0x%lx Flags 0x%08lx\n",
58 rememberKey, size, flags));
60 newKey = AllocMem (sizeof (struct Remember), MEMF_ANY);
62 if (newKey)
64 ptr = AllocMem (size, flags);
66 if (ptr)
68 newKey->NextRemember = *rememberKey;
69 newKey->Memory = ptr;
70 newKey->RememberSize = size;
72 *rememberKey = newKey;
74 else
76 FreeMem (newKey, sizeof (struct Remember));
80 DEBUG_REMEMBER(dprintf("AllocRemember: Ptr 0x%lx\n", ptr));
82 return ptr;
84 AROS_LIBFUNC_EXIT
85 } /* AllocRemember */