aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ext2fs/ext2fs.h
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>1997-10-26 03:41:24 +0000
committerTheodore Ts'o <tytso@mit.edu>1997-10-26 03:41:24 +0000
commit7b4e4534f9361b21d3fafdd88a58f133decee38c (patch)
treedb28490bbca280ffd8d74dcfa64ed7cba508cbbf /lib/ext2fs/ext2fs.h
parent78d8f90ffae45808096133c461ef1ee0e65de937 (diff)
downloadandroid_external_e2fsprogs-7b4e4534f9361b21d3fafdd88a58f133decee38c.tar.gz
android_external_e2fsprogs-7b4e4534f9361b21d3fafdd88a58f133decee38c.tar.bz2
android_external_e2fsprogs-7b4e4534f9361b21d3fafdd88a58f133decee38c.zip
Many files:
Added definition of ext2fs_get_mem, ext2fs_free_mem, and ext2fs_resize_mem in ext2fs.h, and changed all library routines to use these wrapper functions.
Diffstat (limited to 'lib/ext2fs/ext2fs.h')
-rw-r--r--lib/ext2fs/ext2fs.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/ext2fs/ext2fs.h b/lib/ext2fs/ext2fs.h
index 5b30b12f..f06f6dc7 100644
--- a/lib/ext2fs/ext2fs.h
+++ b/lib/ext2fs/ext2fs.h
@@ -721,6 +721,9 @@ extern int ext2fs_get_library_version(const char **ver_string,
const char **date_string);
/* inline functions */
+extern errcode_t ext2fs_get_mem(long size, void **ptr);
+extern errcode_t ext2fs_free_mem(void **ptr);
+extern errcode_t ext2fs_resize_mem(long size, void **ptr);
extern void ext2fs_mark_super_dirty(ext2_filsys fs);
extern void ext2fs_mark_changed(ext2_filsys fs);
extern int ext2fs_test_changed(ext2_filsys fs);
@@ -747,6 +750,43 @@ extern int ext2fs_group_of_ino(ext2_filsys fs, ino_t ino);
#define _INLINE_ extern __inline__
#endif
+#ifndef EXT2_CUSTOM_MEMORY_ROUTINES
+/*
+ * Allocate memory
+ */
+_INLINE_ errcode_t ext2fs_get_mem(long size, void **ptr)
+{
+ *ptr = malloc(size);
+ if (!*ptr)
+ return EXT2_NO_MEMORY;
+ return 0;
+}
+
+/*
+ * Free memory
+ */
+_INLINE_ errcode_t ext2fs_free_mem(void **ptr)
+{
+ free(*ptr);
+ *ptr = 0;
+ return 0;
+}
+
+/*
+ * Resize memory
+ */
+_INLINE_ errcode_t ext2fs_resize_mem(long size, void **ptr)
+{
+ void *p;
+
+ p = realloc(*ptr, size);
+ if (!p)
+ return EXT2_NO_MEMORY;
+ *ptr = p;
+ return 0;
+}
+#endif /* Custom memory routines */
+
/*
* Mark a filesystem superblock as dirty
*/