embox

Форк
0
/
malloc_jffs2.c 
93 строки · 2.3 Кб
1
/*
2
 * JFFS2 -- Journalling Flash File System, Version 2.
3
 *
4
 * Copyright (C) 2001-2003 Free Software Foundation, Inc.
5
 *
6
 * Created by David Woodhouse <dwmw2@cambridge.redhat.com>
7
 *
8
 * For licensing information, see the file 'LICENCE' in this directory.
9
 *
10
 * $Id: kmalloc-ecos.c,v 1.4 2003/11/26 15:55:35 dwmw2 Exp $
11
 *
12
 */
13

14
#include <linux/kernel.h>
15
#include <mem/sysmalloc.h>
16
#include "nodelist.h"
17

18
#include <stdlib.h>
19

20
#if !defined(CYGNUM_FS_JFFS2_RAW_NODE_REF_CACHE_POOL_SIZE)
21
# define CYGNUM_FS_JFFS2_RAW_NODE_REF_CACHE_POOL_SIZE 0
22
#endif
23

24
struct jffs2_full_dirent *jffs2_alloc_full_dirent(int namesize) {
25
	return sysmalloc(sizeof(struct jffs2_full_dirent) + namesize);
26
}
27

28
void jffs2_free_full_dirent(struct jffs2_full_dirent *x) {
29
	sysfree(x);
30
}
31

32
struct jffs2_full_dnode *jffs2_alloc_full_dnode(void) {
33
	return sysmalloc(sizeof(struct jffs2_full_dnode));
34
}
35

36
void jffs2_free_full_dnode(struct jffs2_full_dnode *x) {
37
	sysfree(x);
38
}
39

40
struct jffs2_raw_dirent *jffs2_alloc_raw_dirent(void) {
41
	return sysmalloc(sizeof(struct jffs2_raw_dirent));
42
}
43

44
void jffs2_free_raw_dirent(struct jffs2_raw_dirent *x) {
45
	sysfree(x);
46
}
47

48
struct jffs2_raw_inode *jffs2_alloc_raw_inode(void) {
49
	return sysmalloc(sizeof(struct jffs2_raw_inode));
50
}
51

52
void jffs2_free_raw_inode(struct jffs2_raw_inode *x) {
53
	sysfree(x);
54
}
55

56
struct jffs2_tmp_dnode_info *jffs2_alloc_tmp_dnode_info(void) {
57
	return sysmalloc(sizeof(struct jffs2_tmp_dnode_info));
58
}
59

60
void jffs2_free_tmp_dnode_info(struct jffs2_tmp_dnode_info *x) {
61
	sysfree(x);
62
}
63

64
struct jffs2_node_frag *jffs2_alloc_node_frag(void) {
65
	return sysmalloc(sizeof(struct jffs2_node_frag));
66
}
67

68
void jffs2_free_node_frag(struct jffs2_node_frag *x) {
69
	sysfree(x);
70
}
71

72
#if CYGNUM_FS_JFFS2_RAW_NODE_REF_CACHE_POOL_SIZE == 0
73

74
struct jffs2_raw_node_ref *jffs2_alloc_raw_node_ref(void) {
75
	return sysmalloc(sizeof(struct jffs2_raw_node_ref));
76
}
77

78
void jffs2_free_raw_node_ref(struct jffs2_raw_node_ref *x) {
79
	sysfree(x);
80
}
81

82
#endif /* CYGNUM_FS_JFFS2_RAW_NODE_REF_CACHE_POOL_SIZE == 0 */
83

84
struct jffs2_inode_cache *jffs2_alloc_inode_cache(void) {
85
	struct jffs2_inode_cache *ret = sysmalloc(sizeof(struct jffs2_inode_cache));
86
	D1(printk( "Allocated inocache at %p\n", ret));
87
	return ret;
88
}
89

90
void jffs2_free_inode_cache(struct jffs2_inode_cache *x) {
91
	D1(printk( "Freeing inocache at %p\n", x));
92
	sysfree(x);
93
}
94

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.