linux/net/netrom/nr_loopback.c
<<
> < href="../linux+v31.39/net/netrom/nr_loopback.c"> > o/spa> ospa> class="lxr_search"> >="+search" method="post" onsubmit="return do_search(this);"> > > > Search ospa> class="lxr_prefs" < onclick="return ajax_prefs();"> > o/spa> > < < ="ajax+*" method="post" onsubmit="return false;"> oinput typ="vhidden" nam="vajax_lookup" id"vajax_lookup" alue="v"> > < <
<
< < < odiv id"vfile_contents"
< <1o/a>ospa> class="comment">/*o/spa>
 < <2o/a>ospa> class="comment"> * This program is free software; you ca> redistribute it and/or modifyo/spa>
 < <3o/a>ospa> class="comment"> * it under the terms of the GNU General Public License as published byo/spa>
 < <4o/a>ospa> class="comment"> * the Free Software Foundaion>; either verson v2 of the License, oro/spa>
 < <5o/a>ospa> class="comment"> * (at your ption>) any later verson .o/spa>
 < <6o/a>ospa> class="comment"> *o/spa>
 < <7o/a>ospa> class="comment"> * Copyright Tomi Manninen OH2BNS (oh2bns@sral.fi)o/spa>
 < <8o/a>ospa> class="comment"> */o/spa>
 < <9o/a>#include <linux/typ=s.ho/a>> < 0#include <linux/slab.ho/a>> < 11/oa>#include <linux/socket.ho/a>> < 12o/a>#include <linux/timer.ho/a>> < 13o/a>#include <net/ax25.ho/a>> < 14/oa>#include <linux/skbuff.ho/a>> < 15o/a>#include <net/netrom.ho/a>> < 16/oa>#include <linux/init.ho/a>> < 17o/a> < 18o/a>static voidnr_loopback_timero/a>(unsigned long); < 19o/a> < 20o/a>static structsk_buff_heado/a>loopback_queueo/a>; < 21o/a>static oa href="+code=DEFINE_TIMER" class="sref">DEFINE_TIMERo/a>(oa href="+code=loopback_timer" class="sref">loopback_timero/a>,nr_loopback_timero/a>, 0, 0); < 22o/a> < 23o/a>void__inito/a>nr_loopback_inito/a>(void) < 24/oa>{ < 25o/a>        oa href="+code=skb_queue_head_init" class="sref">skb_queue_head_inito/a>(&oa href="+code=loopback_queue" class="sref">loopback_queueo/a>); < 26/oa>} < 27o/a> < 28o/a>static oa href="+code=inline" class="sref">inlineo/a> intnr_loopback_runningo/a>(void) < 29/oa>{ < 30o/a>        return oa href="+code=timer_pending" class="sref">timer_pendingo/a>(&oa href="+code=loopback_timer" class="sref">loopback_timero/a>); < 31/oa>} < 32o/a> < 33o/a>intnr_loopback_queueo/a>(structsk_buffo/a> *oa href="+code=skb" class="sref">skbo/a>) < 34/oa>{ < 35o/a>        structsk_buffo/a> *oa href="+code=skbn" class="sref">skbno/a>; < 36o/a> < 37o/a>        if ((oa href="+code=skbn" class="sref">skbno/a> =alloc_skbo/a>(oa href="+code=skb" class="sref">skbo/a>->oa href="+code=len" class="sref">leno/a>,GFP_ATOMICo/a>)) !=NULLo/a>) { < 38o/a>                oa href="+code=skb_copy_from_n value="v421.32112
	  >
  v421.321.->oa href="+code=len" class,socket.h" class="fref">linux/socket.ho/a>&e38" "  v421.376.7
  d"vL36" cnetroi12.2
	  >
  v42ef">lo316.3
  
  
  v421.3<31
  
  
  5.7="+code=nr_loopback_run3ing" 39ef="+code=NULL" class="sref">NULLo/a>) reset_transportck.c#>< 30o/a>        a>) reset_transportck.c#><  v421.321.->oa href="+code=len" 421.3<31
  
  skbno/a>;4endingo/4>(&oa href="+code=l4opbac41ef="+code=NULL" class="sref">NULLo/a>) oopbactailef="net/netrom/nr_loopbactailid"vL25" class="line" nam="vL25">< 25o/a>        oa href="+code=skb_queuetroi12.2
	  >
  v42>oa href="+code=len" 421.3<31
  
  < 31/oa>}4< 28o/a>static oa href)_loopback_queueo/a>(struct * it  under the terms of the o/a> 44ef="+code=NULL" clasLL" class="sref">NULLo/modL30">< 30o/a>        modL30">< 30o/a>        return oa href="+cetroi12.2
	  >
  jiffies 30o/a>        jiffiesef="++ 1ack_timer" class="sref">loopback_timero4a href="4et/netrom/nr_loopback.c4L34" 4d"vL34" classr" class="sref">loopback_timero/a>); 4e=sk_buf4" class="sref">sk_buffo4a> *o4 href="+code=skbn" class="sref">skbno/a>;4
  ka hr"vL37" class="line"ka hr"vL3" nam="vL38">< 38o/a>                oa href=ck_timer" class="sref">loopback_timero4" class=4sref">GFP_ATOMICo/a>)) 4=loopback_timero4on>
  5.4="+code=nr_loopback_run4ing" 49timer" class="sref">loopback_timero/a>); 5a href="5et/netrom/nr_loopback.c5L29" 50href="+code=skbn" class="sref">skbno/a>;5endingo/5>(&oa href="+code=l5opbac5k_queue" class="line" nam="vL17">< 17o/a> nr_loopback_queueo/a>(structskbo/a>) 5< 33o/a>intnrk_timer" class="sref">loopback_timero5t"> * it5 under the terms of the5o/a> 54d"vL36" clasroi12.2
	  >
  _loo_address 30o/a>        _loo_addresshref="+code=nr_loopbaloodes3" class="line" namdes3">nrk_timer" class="sref">loopback_timero5ment"> *  the Free Software FoundL34" 5d"vL34" class="line" nam="vL34">< 3"srmdevic> nrk_timer" class="sref">loopback_timero5e=sk_buf5" class="sref">sk_buffo5a> *o5 href="+code=skbn" class="sref">skbno/a>;5< 3queue" class="sref">nrm/nr_loopback.c#L3nr_lde 25o/a>        oa hrnr_lde 25o/id"vL25" class="line" nam="vL25">< 25o/a>        oa href="+code=skb_queue="sref">skbo/a>->oa href="+code=len" class="sref">leno/a>,GFP_ATOMICo/a>)) 5=NULLo/loodes3" class="line" namdes3">nrm/nine" nam="vL36">_loo_address 30o/a>        _loo_addresshref=") 37o/a>        if ((oa href="+code=skbn" class="sref">skbno/atrom/nr_loopback.c#line" na++ 7ck_timer" class="sref">loopback_timero5on>
  5.5="+code=nr_loopback_run5ing" 5ef">nr_loopback_timero/a>(unsigned long);6a href="6et/netrom/nr_loopback.c6L29" 60ef="+code=NULL" class="sref">NULLo/dev nrm/nr_loopback.c#L3namdev_">	  class="line" namdev_">	" nam="vL38">< 38o/aloodes3" class="line" namdes3">nrck_timer" class="sref">loopback_timero6endingo/6>(&oa href="+code=l6opbac61f">nr_loopback_timero/a>(unsigned long);6a href="6et/netrom/nr_loopback.c6L31" 62ef="+code=NULL" class="ls="sref">NULLo/dev nrm/ref">skbo/a>->oa href="+code=len" class=" ||nr_loopback.c#L3namrx_fram> < 38o/a>                oa href="+code=skb_copy_fdev nr)m/re0_loopback_queueo/a>(struct
  ka hr"vL37" class="line"ka hr"vL3" nam="vL38">< 38o/a>                oa href=ck_timer" class="sref">loopback_timero6t"> * it6 under the terms of the6o/a> 64f">nr_loopback_timero/a>(unsigned long);6ment"> *6 the Free Software Foun6L34" 65ef="+code=NULL" class="ls="sref">NULLo/dev nrmsref">skbo/a>->oa href="+code=len" class="sr_loopback_timero/a>(unsigned long);6"vL5">< <<5o/a>ospa> class="commea> *o66ef="+code=NULL" clas36" clasroi12.2
	  >
  dev_n value="v421.3211dev_n v" nam="vL38">< 38o/adev nr)k_timer" class="sref">loopback_timero6< 26/oa>}6" class=6sref">GFP_ATOMICo/a>)) 6=< 25o/a>        oa href="+code=skb_queue 25" c25" c !r_loopback.c#L28" id"vL28" class="line" nam="vL28">< 28o/a>static oa href)_loopback_queueo/a>(struct
  modL30">< 30o/a>        modL30">< 30o/a>        return oa href="+cetroi12.2
	  >
  jiffies 30o/a>        jiffiesef="++ 1ack_timer" class="sref">loopback_timero7a href="7et/netrom/nr_loopback.c7L29" 70ef="+code=NUr" class="sref">loopback_timero/a>); 7endingo/7>(&oa href="+code=l7opbac7_timer" class="sref">loopback_timero/a>); 7a href="7et/netrom/nr_loopback.c7L31" 7d"vL31" class="line" nam="vL31">< 31/oa>}7< 22o/a> inlineo/a> i7t"> * it7 under the terms of the7o/a> 7oa href="+code=skb" class="sref">skbo/a>) 7ment"> *7 the Free Software Foun7L34" 7d"vL24" class="line" nam="vLdela href_sync < 30o/a>        return oa href="+code=timer_pending" class="sref">timer_7"vL5">< 7<5o/a>ospa> class="comm7a> *o76"vL24" class="line" nam="vLnr_loopbacpurg/a>        oa hrnr_loopbacpurg/id"vL25" class="line" nam="vL25">< 25o/a>        oa href="+code=skb_queue_head_init" class="sref">skb_queue_he7back.c#L66" id"vL6" class="line" #L36"77timer" class="sref">loopback_timero/a>); 7" class=7sref">GFP_ATOMICo/a>)) 7=	 oinpu

> < GFP_foot>< >
The original LXRef="net/n byL4" i class="shttp://sourceforg/.ref"projects/lx< >LXReNS (unityid"v, t;&g experi(oh2al _loopbacbyL class="smailto:lx<@nr_lo.nohrex<@nr_lo.noid"v.
> < GFP_subfoot>< >
ex<.nr_lo.no kindly hostass="i class="shttp://www.redpill-nr_pro.nohrRedpill Lr_pro ASid"v, provifyo/of Lr_uxeNSn	 >  oad"vL oper"net/s servic>s since 1995.
> <