bsd-list.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define LIST_ENTRY(type)
#define LIST_HEAD(name, type)
#define LIST_INIT(head)
#define LIST_INSERT_AFTER(listelm, elm, field)
#define LIST_INSERT_BEFORE(listelm, elm, field)
#define LIST_INSERT_HEAD(head, elm, field)
#define LIST_REMOVE(elm, field)


Define Documentation

#define LIST_ENTRY type   ) 
 

Value:

struct {                                \
    type *le_next;  /* next element */          \
    type **le_prev; /* address of previous next element */  \
}

Definition at line 100 of file bsd-list.h.

#define LIST_HEAD name,
type   ) 
 

Value:

struct name {                               \
    type *lh_first; /* first element */         \
}

Definition at line 95 of file bsd-list.h.

#define LIST_INIT head   ) 
 

Value:

{                       \
    (head)->lh_first = NULL;                    \
}

Definition at line 109 of file bsd-list.h.

Referenced by AODV::AODV(), aodv_rt_entry::aodv_rt_entry(), aodv_rtable::aodv_rtable(), ARPTable::ARPTable(), Channel::Channel(), dstent::dstent(), dstQueue::dstQueue(), EmpFtpTrafPool::EmpFtpTrafPool(), EmpWebTrafPool::EmpWebTrafPool(), imepAgent::imepAgent(), MobileNode::MobileNode(), MPLSModule::MPLSModule(), Node::Node(), ReXmitQ::ReXmitQ(), rttable::rttable(), toraAgent::toraAgent(), TORADest::TORADest(), and WebTrafPool::WebTrafPool().

#define LIST_INSERT_AFTER listelm,
elm,
field   ) 
 

Value:

{           \
    if (((elm)->field.le_next = (listelm)->field.le_next) != NULL)  \
        (listelm)->field.le_next->field.le_prev =       \
            &(elm)->field.le_next;              \
    (listelm)->field.le_next = (elm);               \
    (elm)->field.le_prev = &(listelm)->field.le_next;       \
}

Definition at line 113 of file bsd-list.h.

Referenced by dstent::addEntry(), and ReXmitQ::insert().

#define LIST_INSERT_BEFORE listelm,
elm,
field   ) 
 

Value:

{           \
    (elm)->field.le_prev = (listelm)->field.le_prev;        \
    (elm)->field.le_next = (listelm);               \
    *(listelm)->field.le_prev = (elm);              \
    (listelm)->field.le_prev = &(elm)->field.le_next;       \
}

Definition at line 121 of file bsd-list.h.

Referenced by dstent::addEntry(), and ReXmitQ::insert().

#define LIST_INSERT_HEAD head,
elm,
field   ) 
 

Value:

{               \
    if (((elm)->field.le_next = (head)->lh_first) != NULL)      \
        (head)->lh_first->field.le_prev = &(elm)->field.le_next;\
    (head)->lh_first = (elm);                   \
    (elm)->field.le_prev = &(head)->lh_first;           \
}

Definition at line 128 of file bsd-list.h.

Referenced by dstQueue::addEntry(), dstent::addEntry(), ARPEntry::ARPEntry(), ARPTable::ARPTable(), MPLSModule::attach_ldp(), toraAgent::dst_add(), AODV::id_insert(), imepAgent::imepSetLinkInStatus(), ReXmitQ::insert(), Node::insert(), Antenna::insert(), WebTrafPool::insertAgent(), EmpWebTrafPool::insertAgent(), EmpFtpTrafPool::insertAgent(), Phy::insertchnl(), NetworkInterface::insertiface(), LinkHead::insertlink(), Phy::insertnode(), MobileNode::MobileNode(), TORADest::nb_add(), rt_entry::nb_insert(), aodv_rt_entry::nb_insert(), AODV::nb_insert(), aodv_rt_entry::pc_insert(), PriQueue::PriQueue(), ReadInMovementPattern(), rttable::rt_add(), and aodv_rtable::rt_add().

#define LIST_REMOVE elm,
field   ) 
 

Value:

{                   \
    if ((elm)->field.le_next != NULL)               \
        (elm)->field.le_next->field.le_prev =           \
            (elm)->field.le_prev;               \
    *(elm)->field.le_prev = (elm)->field.le_next;           \
}

Definition at line 135 of file bsd-list.h.

Referenced by dstent::delEntry(), dstQueue::deleteDst(), MPLSModule::detach_ldp(), WebTrafPool::detachHead(), EmpWebTrafPool::detachHead(), EmpFtpTrafPool::detachHead(), AODV::id_purge(), TORADest::nb_del(), AODV::nb_delete(), aodv_rt_entry::pc_delete(), imepAgent::purgeLink(), ReXmitQ::remove(), Phy::removechnl(), ReXmitQ::removeHead(), rttable::rt_delete(), aodv_rtable::rt_delete(), Node::Update(), aodv_rt_entry::~aodv_rt_entry(), Node::~Node(), and rt_entry::~rt_entry().


Generated on Tue Mar 6 16:49:44 2007 for ns2 Network Simulator 2.29 by  doxygen 1.4.6