source: cmedia/trunk/Include/Linux/slab.h@ 559

Last change on this file since 559 was 354, checked in by stevenhl, 17 years ago

Import untested baseline cmedia sources, work products and binaries
Binaries and work products should be deleted from repository.
once new builds are verified to work.

File size: 1.6 KB
Line 
1/* $Id: slab.h,v 1.2 2000/07/23 16:21:55 sandervl Exp $ */
2
3/*
4 * linux/mm/slab.h
5 * Written by Mark Hemment, 1996.
6 * (markhe@nextd.demon.co.uk)
7 */
8
9#if !defined(_LINUX_SLAB_H)
10#define _LINUX_SLAB_H
11
12#if defined(__KERNEL__)
13
14typedef struct kmem_cache_s kmem_cache_t;
15
16/* flags for kmem_cache_alloc() */
17#define SLAB_BUFFER GFP_BUFFER
18#define SLAB_ATOMIC GFP_ATOMIC
19#define SLAB_USER GFP_USER
20#define SLAB_KERNEL GFP_KERNEL
21#define SLAB_NFS GFP_NFS
22#define SLAB_DMA GFP_DMA
23
24#define SLAB_LEVEL_MASK 0x0000007fUL
25#define SLAB_NO_GROW 0x00001000UL /* don't grow a cache */
26
27/* flags to pass to kmem_cache_create().
28 * The first 3 are only valid when the allocator as been build
29 * SLAB_DEBUG_SUPPORT.
30 */
31#define SLAB_DEBUG_FREE 0x00000100UL /* Peform (expensive) checks on free */
32#define SLAB_DEBUG_INITIAL 0x00000200UL /* Call constructor (as verifier) */
33#define SLAB_RED_ZONE 0x00000400UL /* Red zone objs in a cache */
34#define SLAB_POISON 0x00000800UL /* Poison objects */
35#define SLAB_NO_REAP 0x00001000UL /* never reap from the cache */
36#define SLAB_HWCACHE_ALIGN 0x00002000UL /* align objs on a h/w cache lines */
37#if 0
38#define SLAB_HIGH_PACK 0x00004000UL /* XXX */
39#endif
40
41/* flags passed to a constructor func */
42#define SLAB_CTOR_CONSTRUCTOR 0x001UL /* if not set, then deconstructor */
43#define SLAB_CTOR_ATOMIC 0x002UL /* tell constructor it can't sleep */
44#define SLAB_CTOR_VERIFY 0x004UL /* tell constructor it's a verify call */
45
46#endif /* __KERNEL__ */
47
48extern void *kmalloc(int, int);
49extern void kfree(const void *);
50extern void kfree_s(const void *, int);
51
52#endif /* _LINUX_SLAB_H */
Note: See TracBrowser for help on using the repository browser.