Rev 1970 | Rev 6082 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1408 | serge | 1 | /* |
1964 | serge | 2 | * kref.h - library routines for handling generic reference counted objects |
1408 | serge | 3 | * |
4 | * Copyright (C) 2004 Greg Kroah-Hartman |
||
5 | * Copyright (C) 2004 IBM Corp. |
||
6 | * |
||
7 | * based on kobject.h which was: |
||
8 | * Copyright (C) 2002-2003 Patrick Mochel |
||
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 | |||
5270 | serge | 18 | #include |
19 | #include |
||
20 | #include |
||
21 | #include |
||
22 | #include |
||
1408 | serge | 23 | |
24 | struct kref { |
||
25 | atomic_t refcount; |
||
26 | }; |
||
27 | |||
28 | void kref_init(struct kref *kref); |
||
29 | void kref_get(struct kref *kref); |
||
30 | int kref_put(struct kref *kref, void (*release) (struct kref *kref)); |
||
1970 | serge | 31 | int kref_sub(struct kref *kref, unsigned int count, |
32 | void (*release) (struct kref *kref)); |
||
1408 | serge | 33 | |
34 | #endif /* _KREF_H_ */ |