webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Macros
user_route.h File Reference

Go to the source code of this file.

Classes

struct  sctp_route
 
struct  sctp_rt_metrics_lite
 
struct  sctp_rtentry
 

Macros

#define RT_LOCK_INIT(_rt)   mtx_init(&(_rt)->rt_mtx, "rtentry", NULL, MTX_DEF | MTX_DUPOK)
 
#define RT_LOCK(_rt)   mtx_lock(&(_rt)->rt_mtx)
 
#define RT_UNLOCK(_rt)   mtx_unlock(&(_rt)->rt_mtx)
 
#define RT_LOCK_DESTROY(_rt)   mtx_destroy(&(_rt)->rt_mtx)
 
#define RT_LOCK_ASSERT(_rt)   mtx_assert(&(_rt)->rt_mtx, MA_OWNED)
 
#define RT_ADDREF(_rt)
 
#define RT_REMREF(_rt)
 
#define RTFREE_LOCKED(_rt)
 
#define RTFREE(_rt)
 

Macro Definition Documentation

◆ RT_ADDREF

#define RT_ADDREF (   _rt)
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

#define RT_LOCK_ASSERT (   _rt)    mtx_assert(&(_rt)->rt_mtx, MA_OWNED)

◆ 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

#define RT_REMREF (   _rt)
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

#define RTFREE (   _rt)
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); \
} \
/* guard against invalid refs */ \
_rt = NULL; \
} while (0)
#define NULL
Definition: common_types.h:41