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 @@ +/* + * kref.c - library routines for handling generic reference counted objects + * + * Copyright (C) 2004 Greg Kroah-Hartman <greg@kroah.com> + * Copyright (C) 2004 IBM Corp. + * + * based on kobject.h which was: + * Copyright (C) 2002-2003 Patrick Mochel <mochel@osdl.org> + * Copyright (C) 2002-2003 Open Source Development Labs + * + * This file is released under the GPLv2. + * + */ + +#ifndef _KREF_H_ +#define _KREF_H_ + +#ifdef __KERNEL__ + +#include <linux/types.h> +#include <asm/atomic.h> + +struct kref { + atomic_t refcount; +}; + +void kref_init(struct kref *kref); +void kref_get(struct kref *kref); +int kref_put(struct kref *kref, void (*release) (struct kref *kref)); + +#endif /* __KERNEL__ */ +#endif /* _KREF_H_ */ |