Home | History | Annotate | Download | only in linux
      1 /*
      2  * kref.c - library routines for handling generic reference counted objects
      3  *
      4  * Copyright (C) 2004 Greg Kroah-Hartman <greg (at) kroah.com>
      5  * Copyright (C) 2004 IBM Corp.
      6  *
      7  * based on kobject.h which was:
      8  * Copyright (C) 2002-2003 Patrick Mochel <mochel (at) 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_ */
     33