Go to the source code of this file.
◆ RT_ADDREF
Value:do { \
RT_LOCK_ASSERT(_rt); \
KASSERT((_rt)->rt_refcnt >= 0, \
("negative refcnt %ld", (_rt)->rt_refcnt)); \
(_rt)->rt_refcnt++; \
} while (0)
◆ RT_LOCK
#define RT_LOCK |
( |
|
_rt | ) |
mtx_lock(&(_rt)->rt_mtx) |
◆ RT_LOCK_ASSERT
◆ RT_LOCK_DESTROY
#define RT_LOCK_DESTROY |
( |
|
_rt | ) |
mtx_destroy(&(_rt)->rt_mtx) |
◆ RT_LOCK_INIT
#define RT_LOCK_INIT |
( |
|
_rt | ) |
mtx_init(&(_rt)->rt_mtx, "rtentry", NULL, MTX_DEF | MTX_DUPOK) |
◆ RT_REMREF
Value:do { \
RT_LOCK_ASSERT(_rt); \
KASSERT((_rt)->rt_refcnt > 0, \
("bogus refcnt %ld", (_rt)->rt_refcnt)); \
(_rt)->rt_refcnt--; \
} while (0)
◆ RT_UNLOCK
#define RT_UNLOCK |
( |
|
_rt | ) |
mtx_unlock(&(_rt)->rt_mtx) |
◆ RTFREE
Value:do { \
RT_LOCK(_rt); \
RTFREE_LOCKED(_rt); \
} while (0)
◆ RTFREE_LOCKED
#define RTFREE_LOCKED |
( |
|
_rt | ) |
|
Value:do { \
if ((_rt)->rt_refcnt <= 1) { \
rtfree(_rt); \
} else { \
RT_REMREF(_rt); \
RT_UNLOCK(_rt); \
} \
\
} while (0)
#define NULL
Definition: common_types.h:41