Blame view

include/linux/kref.h 734 Bytes
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
  /*
932fb06b0   Robert P. J. Day   kobj: kref.h inco...
2
   * kref.h - library routines for handling generic reference counted objects
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
   *
   * 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_
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
17
  #include <linux/types.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
18
19
20
21
22
23
24
25
  
  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));
ecf7ace9a   Thomas Hellstrom   kref: Add a kref_...
26
27
  int kref_sub(struct kref *kref, unsigned int count,
  	     void (*release) (struct kref *kref));
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
28

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
29
  #endif /* _KREF_H_ */