diff options
Diffstat (limited to 'include/linux/kref.h')
-rw-r--r-- | include/linux/kref.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/include/linux/kref.h b/include/linux/kref.h new file mode 100644 index 000000000000..6fee3539893f --- /dev/null +++ b/include/linux/kref.h | |||
@@ -0,0 +1,32 @@ | |||
1 | /* | ||
2 | * kref.c - library routines for handling generic reference counted objects | ||
3 | * | ||
4 | * Copyright (C) 2004 Greg Kroah-Hartman <greg@kroah.com> | ||
5 | * Copyright (C) 2004 IBM Corp. | ||
6 | * | ||
7 | * based on kobject.h which was: | ||
8 | * Copyright (C) 2002-2003 Patrick Mochel <mochel@osdl.org> | ||
9 | * Copyright (C) 2002-2003 Open Source Development Labs | ||
10 | * | ||
11 | * This file is released under the GPLv2. | ||
12 | * | ||
13 | */ | ||
14 | |||
15 | #ifndef _KREF_H_ | ||
16 | #define _KREF_H_ | ||
17 | |||
18 | #ifdef __KERNEL__ | ||
19 | |||
20 | #include <linux/types.h> | ||
21 | #include <asm/atomic.h> | ||
22 | |||
23 | struct kref { | ||
24 | atomic_t refcount; | ||
25 | }; | ||
26 | |||
27 | void kref_init(struct kref *kref); | ||
28 | void kref_get(struct kref *kref); | ||
29 | int kref_put(struct kref *kref, void (*release) (struct kref *kref)); | ||
30 | |||
31 | #endif /* __KERNEL__ */ | ||
32 | #endif /* _KREF_H_ */ | ||