diff options
Diffstat (limited to 'sim/common/hw-alloc.h')
-rw-r--r-- | sim/common/hw-alloc.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/sim/common/hw-alloc.h b/sim/common/hw-alloc.h new file mode 100644 index 00000000000..48b03f22ddb --- /dev/null +++ b/sim/common/hw-alloc.h @@ -0,0 +1,49 @@ +/* Hardware memory allocator. + Copyright (C) 1998 Free Software Foundation, Inc. + Contributed by Cygnus Support. + +This file is part of GDB, the GNU debugger. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + + +#ifndef HW_ALLOC_H +#define HW_ALLOC_H + +/* Mechanism for associating memory allocated by a device to that + device. + + When a device is deleted any remaining memory regions associated to + it are reclaimed. + + FIXME: Perhaphs this can be generalized. Perhaphs it should not + be. */ + + +#define HW_ZALLOC(me,type) (type*) hw_zalloc (me, sizeof (type)) +#define HW_MALLOC(me,type) (type*) hw_malloc (me, sizeof (type)) +#define HW_NZALLOC(ME,TYPE,N) (TYPE*) hw_zalloc (me, sizeof (TYPE) * (N)) + +extern void *hw_zalloc (struct hw *me, unsigned long size); +extern void *hw_malloc (struct hw *me, unsigned long size); + +extern void hw_free (struct hw *me, void *); + + +/* Duplicate a string allocating memory using the per-device heap */ + +extern char *hw_strdup (struct hw *me, const char *str); + +#endif |