1 #ifndef __LINUX_SLAB_WRAPPER_H
2 #define __LINUX_SLAB_WRAPPER_H 1
4 /* Kluge to let "struct kmem_cache" work in both 2.4 and 2.6. */
5 #define kmem_cache_s kmem_cache
7 #include_next <linux/slab.h>
9 static inline void *kzalloc(size_t size, gfp_t flags)
11 void *p = kmalloc(size, flags);
17 /* Mega-kluge to wrap 2.4 kmem_cache_create for compatibility with 2.6. */
18 #ifdef kmem_cache_create
19 #undef kmem_cache_create
20 #define kmem_cache_create(name, size, align, flags, ctor) \
21 compat_kmem_cache_create(name, size, align, flags, ctor)
22 static inline struct kmem_cache *
23 compat_kmem_cache_create(const char *name, size_t size,
24 size_t align, unsigned long flags,
25 void (*ctor)(void *, struct kmem_cache *,
28 return (_set_ver(kmem_cache_create))(name, size, align, flags, ctor,
32 #define kmem_cache_create(name, size, align, flags, ctor) \
33 kmem_cache_create(name, size, align, flags, ctor, NULL)
34 #endif /* kmem_cache_create */
36 static inline void *kmem_cache_zalloc(struct kmem_cache *k, gfp_t flags)
38 void *p = kmem_cache_alloc(k, flags);
40 memset(p, 0, kmem_cache_size(k));