source: sbliveos2/trunk/include/linux/slab.h@ 193

Last change on this file since 193 was 153, checked in by sandervl, 25 years ago

update

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.5 KB
Line 
1/* $Id: slab.h 153 2000-07-23 16:21:57Z sandervl $ */
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.