1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _LINUX_REFCOUNT_TYPES_H
3#define _LINUX_REFCOUNT_TYPES_H
4
5#include <linux/types.h>
6
7/**
8 * typedef refcount_t - variant of atomic_t specialized for reference counts
9 * @refs: atomic_t counter field
10 *
11 * The counter saturates at REFCOUNT_SATURATED and will not move once
12 * there. This avoids wrapping the counter and causing 'spurious'
13 * use-after-free bugs.
14 */
15typedef struct refcount_struct {
16	atomic_t refs;
17} refcount_t;
18
19#endif /* _LINUX_REFCOUNT_TYPES_H */
20