df5e198723
before adding/removing packets from the queue. Also, the if_obytes and if_omcasts fields should only be manipulated under protection of the mutex. IF_ENQUEUE, IF_PREPEND, and IF_DEQUEUE perform all necessary locking on the queue. An IF_LOCK macro is provided, as well as the old (mutex-less) versions of the macros in the form _IF_ENQUEUE, _IF_QFULL, for code which needs them, but their use is discouraged. Two new macros are introduced: IF_DRAIN() to drain a queue, and IF_HANDOFF, which takes care of locking/enqueue, and also statistics updating/start if necessary. |
||
---|---|---|
.. | ||
idp_usrreq.c | ||
idp_var.h | ||
idp.h | ||
ns_cksum.c | ||
ns_error.c | ||
ns_error.h | ||
ns_if.h | ||
ns_input.c | ||
ns_ip.c | ||
ns_output.c | ||
ns_pcb.c | ||
ns_pcb.h | ||
ns_proto.c | ||
ns.c | ||
ns.h | ||
sp.h | ||
spidp.h | ||
spp_debug.c | ||
spp_debug.h | ||
spp_timer.h | ||
spp_usrreq.c | ||
spp_var.h |