linux/net/sctp/proc.c
<<
tionv4./spa > v4./form > v4.a tionv4 href="../linux+v3"="9/net/sctp/proc.c">tionv4.img src="../.static/gfx/right.png" alt=">>">ti./spa >ti.spa class="lxr_search">tiontionv4.input typn> hidden" namn> navtarget" ption> ">tionv4.input typn> text" namn> search" id> search">tionv4.butt submit">Search v4./form > ./spa >ti.spa class="lxr_prefs" > v4.a href="+prefs?return=net/sctp/proc.c"tionv4 onclick="return ajax_prefs();">tionv4Prefs> v4./a>ti./spa >onv4 4./div >onv4 4.form ac" ="ajax+*" method="post" onsubmit="return false;">ti.input typn> hidden" namn> ajax_lookup" id> ajax_lookup" ption> ">tonv4 4./form >tonv4 4.div class="headingbott
onv4
onv4 v4 4.div id> search_results" class="search_results"> v >onv4 4./div > .div id> content">> .div id> file_contents"
17/9c/17a0fca7e4b2b1e8c4b55b94ee199e7bd59b_3/0" 
L1" class="line" namn>
L1">4 41./a>.spa  class="comment">/* SCTP kernel implementa"
	 ./spa  >
L2" class="line" namn>
L2">4 42./a>.spa  class="comment"> * Copyright (c) 2003 Interna"
	 al Business Machines, Corp../spa  >
L3" class="line" namn>
L3">4 43./a>.spa  class="comment"> *./spa  >
L4" class="line" namn>
L4">4 44./a>.spa  class="comment"> * This file is part of the SCTP kernel implementa"
	 ./spa  >
L5" class="line" namn>
L5">4 45./a>.spa  class="comment"> *./spa  >
L6" class="line" namn>
L6">4 46./a>.spa  class="comment"> * This SCTP implementa"
	  is free software;./spa  >
L7" class="line" namn>
L7">4 47./a>.spa  class="comment"> * you ca  redistribute it and/or modify it under the terms of./spa  >
L8" class="line" namn>
L8">4 48./a>.spa  class="comment"> * the GNU General Public License as published by./spa  >
L9" class="line" namn>
L9">4 49./a>.spa  class="comment"> * the Free Software Founda"
	 ; either vers
	  2, or (at your 12"
	 )./spa  >
L10" class="line" namn>
L10">4 4.1.a>.spa  class="comment"> * any later vers
	 ../spa  >
L11" class="line" namn>
L11">4 11./a>.spa  class="comment"> *./spa  >
L12" class="line" namn>
L12">4 12./a>.spa  class="comment"> * This SCTP implementa"
	  is distributed in the hope that it./spa  >
L13" class="line" namn>
L13">4 13./a>.spa  class="comment"> * will be useful, but WITHOUT ANY WARRANTY; without even the implied./spa  >
L14" class="line" namn>
L14">4 14./a>.spa  class="comment"> *                 ************************./spa  >
L15" class="line" namn>
L15">4 15./a>.spa  class="comment"> * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE../spa  >
L16" class="line" namn>
L16">4 16./a>.spa  class="comment"> * See the GNU General Public License for more details../spa  >
L17" class="line" namn>
L17">4 17./a>.spa  class="comment"> *./spa  >
L18" class="line" namn>
L18">4 18./a>.spa  class="comment"> * You should have received a copy of the GNU General Public License./spa  >
L19" class="line" namn>
L19">4 19./a>.spa  class="comment"> * along with GNU CC; see the file COPYING.  If not, write to./spa  >
L20" class="line" namn>
L20">4 2.1.a>.spa  class="comment"> * the Free Software Founda"
	 , 59 Temple Place - Suite 330,./spa  >
L21" class="line" namn>
L21">4 21./a>.spa  class="comment"> * Bost	 , MA 02111-1307, USA../spa  >
L22" class="line" namn>
L22">4 22./a>.spa  class="comment"> *./spa  >
L23" class="line" namn>
L23">4 23./a>.spa  class="comment"> * Please send any bug reports or fixes you make to the./spa  >
L24" class="line" namn>
L24">4 24./a>.spa  class="comment"> * email address(es):./spa  >
L25" class="line" namn>
L25">4 25./a>.spa  class="comment"> *    lksctp developers <lksctp-developers@lists.sourceforge.net>./spa  >
L26" class="line" namn>
L26">4 26./a>.spa  class="comment"> *./spa  >
L27" class="line" namn>
L27">4 27./a>.spa  class="comment"> * Or submit a bug report through the following website:./spa  >
L28" class="line" namn>
L28">4 28./a>.spa  class="comment"> * v4 http://www.sf.net/projects/lksctp./spa  >
L29" class="line" namn>
L29">4 29./a>.spa  class="comment"> *./spa  >
L30" class="line" namn>
L30">4 3.1.a>.spa  class="comment"> * Written or modified by:./spa  >
L31" class="line" namn>
L31">4 31./a>.spa  class="comment"> *    Sridhar Samudrala <sri@us.ibm.com>./spa  >
L32" class="line" namn>
L32">4 32./a>.spa  class="comment"> *./spa  >
L33" class="line" namn>
L33">4 33./a>.spa  class="comment"> * Any bugs reported given to us we will try to fix... any fixes shared will./spa  >
L34" class="line" namn>
L34">4 34./a>.spa  class="comment"> * be incorporated into the next SCTP release../spa  >
L35" class="line" namn>
L35">4 35./a>.spa  class="comment"> */./spa  >
L36" class="line" namn>
L36">4 36./a>>
L37" class="line" namn>
L37">4 37./a>#include <linux/typns.h./a>>>
L38" class="line" namn>
L38">4 38./a>#include <linux/seq_file.h./a>>>
L39" class="line" namn>
L39">4 39./a>#include <linux/init.h./a>>>
L40" class="line" namn>
L40">4 40./a>#include <linux/export.h./a>>>
L41" class="line" namn>
L41">4 41./a>#include <net/sctp/sctp.h./a>>>
L42" class="line" namn>
L42">4 42./a>#include <net/ip.h./a>> .spa  class="comment">/* for snmp_fold_field */./spa  >
L43" class="line" namn>
L43">4 43./a>>
L44" class="line" namn>
L44">4 44./a>static const struct4.a href="+code=snmp_mib" class="sref">snmp_mib./a>4.a href="+code=sctp_snmp_list" class="sref">sctp_snmp_list./a>[] = {>
L45" class="line" namn>
L45">4 45./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpCurrEstab"./spa  , .a href="+code=SCTP_MIB_CURRESTAB" class="sref">SCTP_MIB_CURRESTAB./a>),>
L46" class="line" namn>
L46">4 46./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpActiveEstabs"./spa  , .a href="+code=SCTP_MIB_ACTIVEESTABS" class="sref">SCTP_MIB_ACTIVEESTABS./a>),>
L47" class="line" namn>
L47">4 47./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpPassiveEstabs"./spa  , .a href="+code=SCTP_MIB_PASSIVEESTABS" class="sref">SCTP_MIB_PASSIVEESTABS./a>),>
L48" class="line" namn>
L48">4 48./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpAborteds"./spa  , .a href="+code=SCTP_MIB_ABORTEDS" class="sref">SCTP_MIB_ABORTEDS./a>),>
L49" class="line" namn>
L49">4 49./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpShutdowns"./spa  , .a href="+code=SCTP_MIB_SHUTDOWNS" class="sref">SCTP_MIB_SHUTDOWNS./a>),>
L50" class="line" namn>
L50">4 50./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpOutOfBlues"./spa  , .a href="+code=SCTP_MIB_OUTOFBLUES" class="sref">SCTP_MIB_OUTOFBLUES./a>),>
L51" class="line" namn>
L51">4 51./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpChecksumErrors"./spa  , .a href="+code=SCTP_MIB_CHECKSUMERRORS" class="sref">SCTP_MIB_CHECKSUMERRORS./a>),>
L52" class="line" namn>
L52">4 52./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpOutCtrlChunks"./spa  , .a href="+code=SCTP_MIB_OUTCTRLCHUNKS" class="sref">SCTP_MIB_OUTCTRLCHUNKS./a>),>
L53" class="line" namn>
L53">4 53./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpOutOrderChunks"./spa  , .a href="+code=SCTP_MIB_OUTORDERCHUNKS" class="sref">SCTP_MIB_OUTORDERCHUNKS./a>),>
L54" class="line" namn>
L54">4 54./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpOutUnorderChunks"./spa  , .a href="+code=SCTP_MIB_OUTUNORDERCHUNKS" class="sref">SCTP_MIB_OUTUNORDERCHUNKS./a>),>
L55" class="line" namn>
L55">4 55./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpInCtrlChunks"./spa  , .a href="+code=SCTP_MIB_INCTRLCHUNKS" class="sref">SCTP_MIB_INCTRLCHUNKS./a>),>
L56" class="line" namn>
L56">4 56./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpInOrderChunks"./spa  , .a href="+code=SCTP_MIB_INORDERCHUNKS" class="sref">SCTP_MIB_INORDERCHUNKS./a>),>
L57" class="line" namn>
L57">4 57./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpInUnorderChunks"./spa  , .a href="+code=SCTP_MIB_INUNORDERCHUNKS" class="sref">SCTP_MIB_INUNORDERCHUNKS./a>),>
L58" class="line" namn>
L58">4 58./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpFragUsrMsgs"./spa  , .a href="+code=SCTP_MIB_FRAGUSRMSGS" class="sref">SCTP_MIB_FRAGUSRMSGS./a>),>
L59" class="line" namn>
L59">4 59./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpReasmUsrMsgs"./spa  , .a href="+code=SCTP_MIB_REASMUSRMSGS" class="sref">SCTP_MIB_REASMUSRMSGS./a>),>
L60" class="line" namn>
L60">4 60./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpOutSCTPPacks"./spa  , .a href="+code=SCTP_MIB_OUTSCTPPACKS" class="sref">SCTP_MIB_OUTSCTPPACKS./a>),>
L61" class="line" namn>
L61">4 61./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpInSCTPPacks"./spa  , .a href="+code=SCTP_MIB_INSCTPPACKS" class="sref">SCTP_MIB_INSCTPPACKS./a>),>
L62" class="line" namn>
L62">4 62./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpT1InitExpireds"./spa  , .a href="+code=SCTP_MIB_T1_INIT_EXPIREDS" class="sref">SCTP_MIB_T1_INIT_EXPIREDS./a>),>
L63" class="line" namn>
L63">4 63./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpT1CookieExpireds"./spa  , .a href="+code=SCTP_MIB_T1_COOKIE_EXPIREDS" class="sref">SCTP_MIB_T1_COOKIE_EXPIREDS./a>),>
L64" class="line" namn>
L64">4 64./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpT2ShutdownExpireds"./spa  , .a href="+code=SCTP_MIB_T2_SHUTDOWN_EXPIREDS" class="sref">SCTP_MIB_T2_SHUTDOWN_EXPIREDS./a>),>
L65" class="line" namn>
L65">4 65./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpT3RtxExpireds"./spa  , .a href="+code=SCTP_MIB_T3_RTX_EXPIREDS" class="sref">SCTP_MIB_T3_RTX_EXPIREDS./a>),>
L66" class="line" namn>
L66">4 66./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpT4RtoExpireds"./spa  , .a href="+code=SCTP_MIB_T4_RTO_EXPIREDS" class="sref">SCTP_MIB_T4_RTO_EXPIREDS./a>),>
L67" class="line" namn>
L67">4 67./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpT5ShutdownGuardExpireds"./spa  , .a href="+code=SCTP_MIB_T5_SHUTDOWN_GUARD_EXPIREDS" class="sref">SCTP_MIB_T5_SHUTDOWN_GUARD_EXPIREDS./a>),>
L68" class="line" namn>
L68">4 68./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpDelaySackExpireds"./spa  , .a href="+code=SCTP_MIB_DELAY_SACK_EXPIREDS" class="sref">SCTP_MIB_DELAY_SACK_EXPIREDS./a>),>
L69" class="line" namn>
L69">4 69./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpAutocloseExpireds"./spa  , .a href="+code=SCTP_MIB_AUTOCLOSE_EXPIREDS" class="sref">SCTP_MIB_AUTOCLOSE_EXPIREDS./a>),>
L70" class="line" namn>
L70">4 70./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpT3Retransmits"./spa  , .a href="+code=SCTP_MIB_T3_RETRANSMITS" class="sref">SCTP_MIB_T3_RETRANSMITS./a>),>
L71" class="line" namn>
L71">4 71./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpPmtudRetransmits"./spa  , .a href="+code=SCTP_MIB_PMTUD_RETRANSMITS" class="sref">SCTP_MIB_PMTUD_RETRANSMITS./a>),>
L72" class="line" namn>
L72">4 72./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpFastRetransmits"./spa  , .a href="+code=SCTP_MIB_FAST_RETRANSMITS" class="sref">SCTP_MIB_FAST_RETRANSMITS./a>),>
L73" class="line" namn>
L73">4 73./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpInPktSoftirq"./spa  , .a href="+code=SCTP_MIB_IN_PKT_SOFTIRQ" class="sref">SCTP_MIB_IN_PKT_SOFTIRQ./a>),>
L74" class="line" namn>
L74">4 74./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpInPktBacklog"./spa  , .a href="+code=SCTP_MIB_IN_PKT_BACKLOG" class="sref">SCTP_MIB_IN_PKT_BACKLOG./a>),>
L75" class="line" namn>
L75">4 75./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpInPktDiscards"./spa  , .a href="+code=SCTP_MIB_IN_PKT_DISCARDS" class="sref">SCTP_MIB_IN_PKT_DISCARDS./a>),>
L76" class="line" namn>
L76">4 76./a>        .a href="+code=SNMP_MIB_ITEM" class="sref">SNMP_MIB_ITEM./a>(.spa  class="string">"SctpInDataChunkDiscards"./spa  , .a href="+code=SCTP_MIB_IN_DATA_CHUNK_DISCARDS" class="sref">SCTP_MIB_IN_DATA_CHUNK_DISCARDS./a>),>
L77" class="line" namn>
L77">4 77./a>        .a href="+code=SNMP_MIB_SENTINEL" class="sref">SNMP_MIB_SENTINEL./a>>
L78" class="line" namn>
L78">4 78./a>};>
L79" class="line" namn>
L79">4 79./a>>
L80" class="line" namn>
L80">4 8.1.a>.spa  class="comment">/* Display sctp snmp mib statistics(/proc/net/sctp/snmp). */./spa  >
L81" class="line" namn>
L81">4 81./a>static int4.a href="+code=sctp_snmp_seq_show" class="sref">sctp_snmp_seq_show./a>(struct4.a href="+code=seq_file" class="sref">seq_file./a> *.a href="+code=seq" class="sref">seq./a>, void *.a href="+code=v" class="sref">v./a>)>
L82" class="line" namn>
L82">4 82./a>{>
L83" class="line" namn>
L83">4 83./a>        int4.a href="+code=i" class="sref">i./a>;>
L84" class="line" namn>
L84">4 84./a>>
L85" class="line" namn>
L85">4 85./a>        for (.a href="+code=i" class="sref">i./a> = 0;4.a href="+code=sctp_snmp_list" class="sref">sctp_snmp_list./a>[.a href="+code=i" class="sref">i./a>]..a href="+code=namn" class="sref">namn./a> !=4.a href="+code=NULL" class="sref">NULL./a>;4.a href="+code=i" class="sref">i./a>++)>
L86" class="line" namn>
L86">4 86./a>                .a href="+code=seq_printf" class="sref">seq_printf./a>(.a href="+code=seq" class="sref">seq./a>, .spa  class="string">"%-32s\t%ld\n"./spa  , .a href="+code=sctp_snmp_list" class="sref">sctp_snmp_list./a>[.a href="+code=i" class="sref">i./a>]..a href="+code=namn" class="sref">namn./a>,>
L87" class="line" namn>
L87">4 87./a>                           .a href="+code=snmp_fold_field" class="sref">snmp_fold_field./a>((void .a href="+code=__percpu" class="sref">__percpu./a> **).a href="+code=sctp_statistics" class="sref">sctp_statistics./a>,>
L88" class="line" namn>
L88">4 88./a>                                      .a href="+code=sctp_snmp_list" class="sref">sctp_snmp_list./a>[.a href="+code=i" class="sref">i./a>]..a href="+code=entry" class="sref">entry./a>));>
L89" class="line" namn>
L89">4 89./a>>
L90" class="line" namn>
L90">4 90./a>        return 0;>
L91" class="line" namn>
L91">4 91./a>}>
L92" class="line" namn>
L92">4 92./a>>
L93" class="line" namn>
L93">4 93./a>.spa  class="comment">/* Initialize the seq file opera"
	 s for 'snmp' object. */./spa  >
L94" class="line" namn>
L94">4 94./a>static int4.a href="+code=sctp_snmp_seq_open" class="sref">sctp_snmp_seq_open./a>(struct4.a href="+code=inode" class="sref">inode./a> *.a href="+code=inode" class="sref">inode./a>, struct4.a href="+code=file" class="sref">file./a> *.a href="+code=file" class="sref">file./a>)>
L95" class="line" namn>
L95">4 95./a>{>
L96" class="line" namn>
L96">4 96./a>        return .a href="+code=single_open" class="sref">single_open./a>(.a href="+code=file" class="sref">file./a>, .a href="+code=sctp_snmp_seq_show" class="sref">sctp_snmp_seq_show./a>, .a href="+code=NULL" class="sref">NULL./a>);>
L97" class="line" namn>
L97">4 97./a>}>
L98" class="line" namn>
L98">4 98./a>>
L99" class="line" namn>
L99">4 99./a>static const struct4.a href="+code=file_opera"
	 s" class="sref">file_opera"
	 s./a> .a href="+code=sctp_snmp_seq_fops" class="sref">sctp_snmp_seq_fops./a> = {>
L100" class="line" namn>
L100">4100./a>        ..a href="+code=owner" class="sref">owner./a>   =4.a href="+code=THIS_MODULE" class="sref">THIS_MODULE./a>,>
L101" class="line" namn>
L101">4101./a>        ..a href="+code=open" class="sref">open./a>    =4.a href="+code=sctp_snmp_seq_open" class="sref">sctp_snmp_seq_open./a>,>
L102" class="line" namn>
L102">4102./a>        ..a href="+code=read" class="sref">read./a>    =4.a href="+code=seq_read" class="sref">seq_read./a>,>
L103" class="line" namn>
L103">4103./a>        ..a href="+code=llseek" class="sref">llseek./a>  =4.a href="+code=seq_lseek" class="sref">seq_lseek./a>,>
L104" class="line" namn>
L104">4104./a>        ..a href="+code=release" class="sref">release./a> = .a href="+code=single_release" class="sref">single_release./a>,>
L105" class="line" namn>
L105">4105./a>};>
L106" class="line" namn>
L106">4106./a>>
L107" class="line" namn>
L107">4107./a>.spa  class="comment">/* Set up the proc fs entry for 'snmp' object. */./spa  >
L108" class="line" namn>
L108">4108./a>int4.a href="+code=__init" class="sref">__init./a> .a href="+code=sctp_snmp_proc_init" class="sref">sctp_snmp_proc_init./a>(void)>
L109" class="line" namn>
L109">4109./a>{>
L110" class="line" namn>
L110">4110./a>        struct4.a href="+code=proc_dir_entry" class="sref">proc_dir_entry./a> *.a href="+code=p" class="sref">p./a>;>
L111" class="line" namn>
L111">4111./a>>
L112" class="line" namn>
L112">4112./a>        .a href="+code=p" class="sref">p./a> = .a href="+code=proc_create" class="sref">proc_create./a>(.spa  class="string">"snmp"./spa  , .a href="+code=S_IRUGO" class="sref">S_IRUGO./a>, .a href="+code=proc_net_sctp" class="sref">proc_net_sctp./a>, &.a href="+code=sctp_snmp_seq_fops" class="sref">sctp_snmp_seq_fops./a>);>
L113" class="line" namn>
L113">4113./a>        if (!.a href="+code=p" class="sref">p./a>)>
L114" class="line" namn>
L114">4114./a>                return -.a href="+code=ENOMEM" class="sref">ENOMEM./a>;>
L115" class="line" namn>
L115">4115./a>>
L116" class="line" namn>
L116">4116./a>        return 0;>
L117" class="line" namn>
L117">4117./a>}>
L118" class="line" namn>
L118">4118./a>>
L119" class="line" namn>
L119">4119./a>.spa  class="comment">/* Cleanup the proc fs entry for 'snmp' object. */./spa  >
L120" class="line" namn>
L120">412.1.a>void .a href="+code=sctp_snmp_proc_exit" class="sref">sctp_snmp_proc_exit./a>(void)>
L121" class="line" namn>
L121">4121./a>{>
L122" class="line" namn>
L122">4122./a>        .a href="+code=remove_proc_entry" class="sref">remove_proc_entry./a>(.spa  class="string">"snmp"./spa  , .a href="+code=proc_net_sctp" class="sref">proc_net_sctp./a>);>
L123" class="line" namn>
L123">4123./a>}>
L124" class="line" namn>
L124">4124./a>>
L125" class="line" namn>
L125">4125./a>.spa  class="comment">/* Dump local addresses of a  associa"
	 /endpoint. */./spa  >
L126" class="line" namn>
L126">4126./a>static void .a href="+code=sctp_seq_dump_local_addrs" class="sref">sctp_seq_dump_local_addrs./a>(struct4.a href="+code=seq_file" class="sref">seq_file./a> *.a href="+code=seq" class="sref">seq./a>, struct4.a href="+code=sctp_ep_common" class="sref">sctp_ep_common./a> *.a href="+code=epb" class="sref">epb./a>)>
L127" class="line" namn>
L127">4127./a>{>
L128" class="line" namn>
L128">4128./a>        struct4.a href="+code=sctp_associa"
	 " class="sref">sctp_associa"
	 ./a> *.a href="+code=asoc" class="sref">asoc./a>;>
L129" class="line" namn>
L129">4129./a>        struct4.a href="+code=sctp_sockaddr_entry" class="sref">sctp_sockaddr_entry./a> *.a href="+code=laddr" class="sref">laddr./a>;>
L130" class="line" namn>
L130">4130./a>        struct4.a href="+code=sctp_transport" class="sref">sctp_transport./a> *.a href="+code=peer" class="sref">peer./a>;>
L131" class="line" namn>
L131">4131./a>        un
	  .a href="+code=sctp_addr" class="sref">sctp_addr./a> *.a href="+code=addr" class="sref">addr./a>, *.a href="+code=primary" class="sref">primary./a> = .a href="+code=NULL" class="sref">NULL./a>;>
L132" class="line" namn>
L132">4132./a>        struct4.a href="+code=sctp_af" class="sref">sctp_af./a> *.a href="+code=af" class="sref">af./a>;>
L133" class="line" namn>
L133">4133./a>>
L134" class="line" namn>
L134">4134./a>        if (.a href="+code=epb" class="sref">epb./a>->.a href="+code=typn" class="sref">typn./a> == .a href="+code=SCTP_EP_TYPE_ASSOCIATION" class="sref">SCTP_EP_TYPE_ASSOCIATION./a>) {>
L135" class="line" namn>
L135">4135./a>            .a href="+code=asoc" class="sref">asoc./a> =4.a href="+code=sctp_assoc" class="sref">sctp_assoc./a>(.a href="+code=epb" class="sref">epb./a>);>
L136" class="line" namn>
L136">4136./a>            .a href="+code=peer" class="sref">peer./a> =4.a href="+code=asoc" class="sref">asoc./a>->.a href="+code=peer" class="sref">peer./a>..a href="+code=primary_path" class="sref">primary_path./a>;>
L137" class="line" namn>
L137">4137./a>            .a href="+code=primary" class="sref">primary./a> = &.a href="+code=peer" class="sref">peer./a>->.a href="+code=saddr" class="sref">saddr./a>;>
L138" class="line" namn>
L138">4138./a>        }>
L139" class="line" namn>
L139">4139./a>>
L140" class="line" namn>
L140">4140./a>        .a href="+code=list_for_each_entry" class="sref">list_for_each_entry./a>(.a href="+code=laddr" class="sref">laddr./a>, &.a href="+code=epb" class="sref">epb./a>->.a href="+code=bind_addr" class="sref">bind_addr./a>..a href="+code=address_list" class="sref">address_list./a>, .a href="+code=list" class="sref">list./a>) {>
L141" class="line" namn>
L141">4141./a>                .a href="+code=addr" class="sref">addr./a> = &.a href="+code=laddr" class="sref">laddr./a>->.a href="+code=a" class="sref">a./a>;>
L142" class="line" namn>
L142">4142./a>                .a href="+code=af" class="sref">af./a> =4.a href="+code=sctp_get_af_specific" class="sref">sctp_get_af_specific./a>(.a href="+code=addr" class="sref">addr./a>->.a href="+code=sa" class="sref">sa./a>..a href="+code=sa_family" class="sref">sa_family./a>);>
L143" class="line" namn>
L143">4143./a>                if (.a href="+code=primary" class="sref">primary./a> && .a href="+code=af" class="sref">af./a>->.a href="+code=cmp_addr" class="sref">cmp_addr./a>(.a href="+code=addr" class="sref">addr./a>, .a href="+code=primary" class="sref">primary./a>)) {>
L144" class="line" namn>
L144">4144./a>                        .a href="+code=seq_printf" class="sref">seq_printf./a>(.a href="+code=seq" class="sref">seq./a>, .spa  class="string">"*"./spa  );>
L145" class="line" namn>
L145">4145./a>                }>
L146" class="line" namn>
L146">4146./a>                .a href="+code=af" class="sref">af./a>->.a href="+code=seq_dump_addr" class="sref">seq_dump_addr./a>(.a href="+code=seq" class="sref">seq./a>, .a href="+code=addr" class="sref">addr./a>);>
L147" class="line" namn>
L147">4147./a>        }>
L148" class="line" namn>
L148">4148./a>}>
L149" class="line" namn>
L149">4149./a>>
L150" class="line" namn>
L150">415.1.a>.spa  class="comment">/* Dump remote addresses of a  associa"
	 . */./spa  >
L151" class="line" namn>
L151">4151./a>static void .a href="+code=sctp_seq_dump_remote_addrs" class="sref">sctp_seq_dump_remote_addrs./a>(struct4.a href="+code=seq_file" class="sref">seq_file./a> *.a href="+code=seq" class="sref">seq./a>, struct4.a href="+code=sctp_associa"
	 " class="sref">sctp_associa"
	 ./a> *.a href="+code=assoc" class="sref">assoc./a>)>
L152" class="line" namn>
L152">4152./a>{>
L153" class="line" namn>
L153">4153./a>        struct4.a href="+code=sctp_transport" class="sref">sctp_transport./a> *.a href="+code=transport" class="sref">transport./a>;>
L154" class="line" namn>
L154">4154./a>        un
	  .a href="+code=sctp_addr" class="sref">sctp_addr./a> *.a href="+code=addr" class="sref">addr./a>, *.a href="+code=primary" class="sref">primary./a>;>
L155" class="line" namn>
L155">4155./a>        struct4.a href="+code=sctp_af" class="sref">sctp_af./a> *.a href="+code=af" class="sref">af./a>;>
L156" class="line" namn>
L156">4156./a>>
L157" class="line" namn>
L157">4157./a>        .a href="+code=primary" class="sref">primary./a> = &.a href="+code=assoc" class="sref">assoc./a>->.a href="+code=peer" class="sref">peer./a>..a href="+code=primary_addr" class="sref">primary_addr./a>;>
L158" class="line" namn>
L158">4158./a>        .a href="+code=list_for_each_entry" class="sref">list_for_each_entry./a>(.a href="+code=transport" class="sref">transport./a>, &.a href="+code=assoc" class="sref">assoc./a>->.a href="+code=peer" class="sref">peer./a>..a href="+code=transport_addr_list" class="sref">transport_addr_list./a>,>
L159" class="line" namn>
L159">4159./a>                        .a href="+code=transports" class="sref">transports./a>) {>
L160" class="line" namn>
L160">4160./a>                .a href="+code=addr" class="sref">addr./a> = &.a href="+code=transport" class="sref">transport./a>->.a href="+code=ipaddr" class="sref">ipaddr./a>;>
L161" class="line" namn>
L161">4161./a>                .a href="+code=af" class="sref">af./a> =4.a href="+code=sctp_get_af_specific" class="sref">sctp_get_af_specific./a>(.a href="+code=addr" class="sref">addr./a>->.a href="+code=sa" class="sref">sa./a>..a href="+code=sa_family" class="sref">sa_family./a>);>
L162" class="line" namn>
L162">4162./a>                if (.a href="+code=af" class="sref">af./a>->.a href="+code=cmp_addr" class="sref">cmp_addr./a>(.a href="+code=addr" class="sref">addr./a>, .a href="+code=primary" class="sref">primary./a>)) {>
L163" class="line" namn>
L163">4163./a>                        .a href="+code=seq_printf" class="sref">seq_printf./a>(.a href="+code=seq" class="sref">seq./a>, .spa  class="string">"*"./spa  );>
L164" class="line" namn>
L164">4164./a>                }>
L165" class="line" namn>
L165">4165./a>                .a href="+code=af" class="sref">af./a>->.a href="+code=seq_dump_addr" class="sref">seq_dump_addr./a>(.a href="+code=seq" class="sref">seq./a>, .a href="+code=addr" class="sref">addr./a>);>
L166" class="line" namn>
L166">4166./a>        }>
L167" class="line" namn>
L167">4167./a>}>
L168" class="line" namn>
L168">4168./a>>
L169" class="line" namn>
L169">4169./a>static void *4.a href="+code=sctp_eps_seq_start" class="sref">sctp_eps_seq_start./a>(struct4.a href="+code=seq_file" class="sref">seq_file./a> *.a href="+code=seq" class="sref">seq./a>, .a href="+code=loff_t" class="sref">loff_t./a> *.a href="+code=pos" class="sref">pos./a>)>
L170" class="line" namn>
L170">4170./a>{>
L171" class="line" namn>
L171">4171./a>        if (*.a href="+code=pos" class="sref">pos./a> >=4.a href="+code=sctp_ep_hashsize" class="sref">sctp_ep_hashsize./a>)>
L172" class="line" namn>
L172">4172./a>                return .a href="+code=NULL" class="sref">NULL./a>;>
L173" class="line" namn>
L173">4173./a>>
L174" class="line" namn>
L174">4174./a>        if (*.a href="+code=pos" class="sref">pos./a> < 0)>
L175" class="line" namn>
L175">4175./a>                *.a href="+code=pos" class="sref">pos./a> = 0;>
L176" class="line" namn>
L176">4176./a>>
L177" class="line" namn>
L177">4177./a>        if (*.a href="+code=pos" class="sref">pos./a> == 0)>
L178" class="line" namn>
L178">4178./a>                .a href="+code=seq_printf" class="sref">seq_printf./a>(.a href="+code=seq" class="sref">seq./a>, .spa  class="string">" ENDPT     SOCK   STY SST HBKT LPORT   UID INODE LADDRS\n"./spa  );>
L179" class="line" namn>
L179">4179./a>>
L180" class="line" namn>
L180">4180./a>        return (void *).a href="+code=pos" class="sref">pos./a>;>
L181" class="line" namn>
L181">4181./a>}>
L182" class="line" namn>
L182">4182./a>>
L183" class="line" namn>
L183">4183./a>static void .a href="+code=sctp_eps_seq_stop" class="sref">sctp_eps_seq_stop./a>(struct4.a href="+code=seq_file" class="sref">seq_file./a> *.a href="+code=seq" class="sref">seq./a>, void *.a href="+code=v" class="sref">v./a>)>
L184" class="line" namn>
L184">4184./a>{>
L185" class="line" namn>
L185">4185./a>}>
L186" class="line" namn>
L186">4186./a>>
L187" class="line" namn>
L187">4187./a>>
L188" class="line" namn>
L188">4188./a>static void *4.a href="+code=sctp_eps_seq_next" class="sref">sctp_eps_seq_next./a>(struct4.a href="+code=seq_file" class="sref">seq_file./a> *.a href="+code=seq" class="sref">seq./a>, void *.a href="+code=v" class="sref">v./a>, .a href="+code=loff_t" class="sref">loff_t./a> *.a href="+code=pos" class="sref">pos./a>)>
L189" class="line" namn>
L189">4189./a>{>
L190" class="line" namn>
L190">4190./a>        if (++*.a href="+code=pos" class="sref">pos./a> >=4.a href="+code=sctp_ep_hashsize" class="sref">sctp_ep_hashsize./a>)>
L191" class="line" namn>
L191">4191./a>                return .a href="+code=NULL" class="sref">NULL./a>;>
L192" class="line" namn>
L192">4192./a>>
L193" class="line" namn>
L193">4193./a>        return .a href="+code=pos" class="sref">pos./a>;>
L194" class="line" namn>
L194">4194./a>}>
L195" class="line" namn>
L195">4195./a>>
L196" class="line" namn>
L196">4196./a>>
L197" class="line" namn>
L197">4197./a>.spa  class="comment">/* Display sctp endpoints (/proc/net/sctp/eps). */./spa  >
L198" class="line" namn>
L198">4198./a>static int4.a href="+code=sctp_eps_seq_show" class="sref">sctp_eps_seq_show./a>(struct4.a href="+code=seq_file" class="sref">seq_file./a> *.a href="+code=seq" class="sref">seq./a>, void *.a href="+code=v" class="sref">v./a>)>
L199" class="line" namn>
L199">4199./a>{>
L200" class="line" namn>
L200">4200./a>        struct4.a href="+code=sctp_hashbucket" class="sref">sctp_hashbucket./a> *.a href="+code=head" class="sref">head./a>;>
L201" class="line" namn>
L201">4201./a>        struct4.a href="+code=sctp_ep_common" class="sref">sctp_ep_common./a> *.a href="+code=epb" class="sref">epb./a>;>
L202" class="line" namn>
L202">4202./a>        struct4.a href="+code=sctp_endpoint" class="sref">sctp_endpoint./a> *.a href="+code=ep" class="sref">ep./a>;>
L203" class="line" namn>
L203">4203./a>        struct4.a href="+code=sock" class="sref">sock./a> *.a href="+code=sk" class="sref">sk./a>;>
L204" class="line" namn>
L204">4204./a>        struct4.a href="+code=hlist_node" class="sref">hlist_node./a> *.a href="+code=node" class="sref">node./a>;>
L205" class="line" namn>
L205">4205./a>        int4   .a href="+code=hash" class="sref">hash./a> = *(.a href="+code=loff_t" class="sref">loff_t./a> *).a href="+code=v" class="sref">v./a>;>
L206" class="line" namn>
L206">4206./a>>
L207" class="line" namn>
L207">4207./a>        if (.a href="+code=hash" class="sref">hash./a> >=4.a href="+code=sctp_ep_hashsize" class="sref">sctp_ep_hashsize./a>)>
L208" class="line" namn>
L208">4208./a>                return -.a href="+code=ENOMEM" class="sref">ENOMEM./a>;>
L209" class="line" namn>
L209">4209./a>>
L210" class="line" namn>
L210">4210./a>        .a href="+code=head" class="sref">head./a> = &.a href="+code=sctp_ep_hashtable" class="sref">sctp_ep_hashtable./a>[.a href="+code=hash" class="sref">hash./a>];>
L211" class="line" namn>
L211">4211./a>        .a href="+code=sctp_local_bh_disable" class="sref">sctp_local_bh_disable./a>();>
L212" class="line" namn>
L212">4212./a>        .a href="+code=read_lock" class="sref">read_lock./a>(&.a href="+code=head" class="sref">head./a>->.a href="+code=lock" class="sref">lock./a>);>
L213" class="line" namn>
L213">4213./a>        .a href="+code=sctp_for_each_hentry" class="sref">sctp_for_each_hentry./a>(.a href="+code=epb" class="sref">epb./a>, .a href="+code=node" class="sref">node./a>, &.a href="+code=head" class="sref">head./a>->.a href="+code=chain" class="sref">chain./a>) {>
L214" class="line" namn>
L214">4214./a>                .a href="+code=ep" class="sref">ep./a> =4.a href="+code=sctp_ep" class="sref">sctp_ep./a>(.a href="+code=epb" class="sref">epb./a>);>
L215" class="line" namn>
L215">4215./a>                .a href="+code=sk" class="sref">sk./a> =4.a href="+code=epb" class="sref">epb./a>->.a href="+code=sk" class="sref">sk./a>;>
L216" class="line" namn>
L216">4216./a>                .a href="+code=seq_printf" class="sref">seq_printf./a>(.a href="+code=seq" class="sref">seq./a>, .spa  class="string">"%8pK %8pK %-3d %-3d %-4d %-5d %5d %5lu "./spa  , .a href="+code=ep" class="sref">ep./a>, .a href="+code=sk" class="sref">sk./a>,>
L217" class="line" namn>
L217">4217./a>                           .a href="+code=sctp_sk" class="sref">sctp_sk./a>(.a href="+code=sk" class="sref">sk./a>)->.a href="+code=typn" class="sref">typn./a>, .a href="+code=sk" class="sref">sk./a>->.a href="+code=sk_state" class="sref">sk_state./a>, .a href="+code=hash" class="sref">hash./a>,>
L218" class="line" namn>
L218">4218./a>                           .a href="+code=epb" class="sref">epb./a>->.a href="+code=bind_addr" class="sref">bind_addr./a>..a href="+code=port" class="sref">port./a>,>
L219" class="line" namn>
L219">4219./a>                           .a href="+code=sock_i_uid" class="sref">sock_i_uid./a>(.a href="+code=sk" class="sref">sk./a>), .a href="+code=sock_i_ino" class="sref">sock_i_ino./a>(.a href="+code=sk" class="sref">sk./a>));>
L220" class="line" namn>
L220">422.1.a>>
L221" class="line" namn>
L221">4221./a>                .a href="+code=sctp_seq_dump_local_addrs" class="sref">sctp_seq_dump_local_addrs./a>(.a href="+code=seq" class="sref">seq./a>, .a href="+code=epb" class="sref">epb./a>);>
L222" class="line" namn>
L222">4222./a>                .a href="+code=seq_printf" class="sref">seq_printf./a>(.a href="+code=seq" class="sref">seq./a>, .spa  class="string">"\n"./spa  );>
L223" class="line" namn>
L223">4223./a>        }>
L224" class="line" namn>
L224">4224./a>        .a href="+code=read_unlock" class="sref">read_unlock./a>(&.a href="+code=head" class="sref">head./a>->.a href="+code=lock" class="sref">lock./a>);>
L225" class="line" namn>
L225">4225./a>        .a href="+code=sctp_local_bh_enable" class="sref">sctp_local_bh_enable./a>();>
L226" class="line" namn>
L226">4226./a>>
L227" class="line" namn>
L227">4227./a>        return 0;>
L228" class="line" namn>
L228">4228./a>}>
L229" class="line" namn>
L229">4229./a>>
L230" class="line" namn>
L230">4230./a>static const struct4.a href="+code=seq_opera"
	 s" class="sref">seq_opera"
	 s./a> .a href="+code=sctp_eps_ops" class="sref">sctp_eps_ops./a> =4{>
L231" class="line" namn>
L231">4231./a>        ..a href="+code=start" class="sref">start./a> =4.a href="+code=sctp_eps_seq_start" class="sref">sctp_eps_seq_start./a>,>
L232" class="line" namn>
L232">4232./a>        ..a href="+code=next" class="sref">next./a>  =4.a href="+code=sctp_eps_seq_next" class="sref">sctp_eps_seq_next./a>,>
L233" class="line" namn>
L233">4233./a>        ..a href="+code=stop" class="sref">stop./a>  =4.a href="+code=sctp_eps_seq_stop" class="sref">sctp_eps_seq_stop./a>,>
L234" class="line" namn>
L234">4234./a>        ..a href="+code=show" class="sref">show./a>  =4.a href="+code=sctp_eps_seq_show" class="sref">sctp_eps_seq_show./a>,>
L235" class="line" namn>
L235">4235./a>};>
L236" class="line" namn>
L236">4236./a>>
L237" class="line" namn>
L237">4237./a>>
L238" class="line" namn>
L238">4238./a>.spa  class="comment">/* Initialize the seq file opera"
	 s for 'eps' object. */./spa  >
L239" class="line" namn>
L239">4239./a>static int4.a href="+code=sctp_eps_seq_open" class="sref">sctp_eps_seq_open./a>(struct4.a href="+code=inode" class="sref">inode./a> *.a href="+code=inode" class="sref">inode./a>, struct4.a href="+code=file" class="sref">file./a> *.a href="+code=file" class="sref">file./a>)>
L240" class="line" namn>
L240">4240./a>{>
L241" class="line" namn>
L241">4241./a>        return .a href="+code=seq_open" class="sref">seq_open./a>(.a href="+code=file" class="sref">file./a>, &.a href="+code=sctp_eps_ops" class="sref">sctp_eps_ops./a>);>
L242" class="line" namn>
L242">4242./a>}>
L243" class="line" namn>
L243">4243./a>>
L244" class="line" namn>
L244">4244./a>static const struct4.a href="+code=file_opera"
	 s" class="sref">file_opera"
	 s./a> .a href="+code=sctp_eps_seq_fops" class="sref">sctp_eps_seq_fops./a> =4{>
L245" class="line" namn>
L245">4245./a>        ..a href="+code=open" class="sref">open./a>    =4.a href="+code=sctp_eps_seq_open" class="sref">sctp_eps_seq_open./a>,>
L246" class="line" namn>
L246">4246./a>        ..a href="+code=read" class="sref">read./a>    =4.a href="+code=seq_read" class="sref">seq_read./a>,>
L247" class="line" namn>
L247">4247./a>        ..a href="+code=llseek" class="sref">llseek./a>  =4.a href="+code=seq_lseek" class="sref">seq_lseek./a>,>
L248" class="line" namn>
L248">4248./a>        ..a href="+code=release" class="sref">release./a> = .a href="+code=seq_release" class="sref">seq_release./a>,>
L249" class="line" namn>
L249">4249./a>};>
L250" class="line" namn>
L250">425.1.a>>
L251" class="line" namn>
L251">4251./a>.spa  class="comment">/* Set up the proc fs entry for 'eps' object. */./spa  >
L252" class="line" namn>
L252">4252./a>int4.a href="+code=__init" class="sref">__init./a> .a href="+code=sctp_eps_proc_init" class="sref">sctp_eps_proc_init./a>(void)>
L253" class="line" namn>
L253">4253./a>{>
L254" class="line" namn>
L254">4254./a>        struct4.a href="+code=proc_dir_entry" class="sref">proc_dir_entry./a> *.a href="+code=p" class="sref">p./a>;>
L255" class="line" namn>
L255">4255./a>>
L256" class="line" namn>
L256">4256./a>        .a href="+code=p" class="sref">p./a> = .a href="+code=proc_create" class="sref">proc_create./a>(.spa  class="string">"eps"./spa  , .a href="+code=S_IRUGO" class="sref">S_IRUGO./a>, .a href="+code=proc_net_sctp" class="sref">proc_net_sctp./a>, &.a href="+code=sctp_eps_seq_fops" class="sref">sctp_eps_seq_fops./a>);>
L257" class="line" namn>
L257">4257./a>        if (!.a href="+code=p" class="sref">p./a>)>
L258" class="line" namn>
L258">4258./a>                return -.a href="+code=ENOMEM" class="sref">ENOMEM./a>;>
L259" class="line" namn>
L259">4259./a>>
L260" class="line" namn>
L260">4260./a>        return 0;>
L261" class="line" namn>
L261">4261./a>}>
L262" class="line" namn>
L262">4262./a>>
L263" class="line" namn>
L263">4263./a>.spa  class="comment">/* Cleanup the proc fs entry for 'eps' object. */./spa  >
L264" class="line" namn>
L264">4264./a>void .a href="+code=sctp_eps_proc_exit" class="sref">sctp_eps_proc_exit./a>(void)>
L265" class="line" namn>
L265">4265./a>{>
L266" class="line" namn>
L266">4266./a>        .a href="+code=remove_proc_entry" class="sref">remove_proc_entry./a>(.spa  class="string">"eps"./spa  , .a href="+code=proc_net_sctp" class="sref">proc_net_sctp./a>);>
L267" class="line" namn>
L267">4267./a>}>
L268" class="line" namn>
L268">4268./a>>
L269" class="line" namn>
L269">4269./a>>
L270" class="line" namn>
L270">4270./a>static void *4.a href="+code=sctp_assocs_seq_start" class="sref">sctp_assocs_seq_start./a>(struct4.a href="+code=seq_file" class="sref">seq_file./a> *.a href="+code=seq" class="sref">seq./a>, .a href="+code=loff_t" class="sref">loff_t./a> *.a href="+code=pos" class="sref">pos./a>)>
L271" class="line" namn>
L271">4271./a>{>
L272" class="line" namn>
L272">4272./a>        if (*.a href="+code=pos" class="sref">pos./a> >=4.a href="+code=sctp_assoc_hashsize" class="sref">sctp_assoc_hashsize./a>)>
L273" class="line" namn>
L273">4273./a>                return .a href="+code=NULL" class="sref">NULL./a>;>
L274" class="line" namn>
L274">4274./a>>
L275" class="line" namn>
L275">4275./a>        if (*.a href="+code=pos" class="sref">pos./a> < 0)>
L276" class="line" namn>
L276">4276./a>                *.a href="+code=pos" class="sref">pos./a> = 0;>
L277" class="line" namn>
L277">4277./a>>
L278" class="line" namn>
L278">4278./a>        if (*.a href="+code=pos" class="sref">pos./a> == 0)>
L279" class="line" namn>
L279">4279./a>                .a href="+code=seq_printf" class="sref">seq_printf./a>(.a href="+code=seq" class="sref">seq./a>, .spa  class="string">" ASSOC     SOCK   STY SST ST HBKT "./spa  >
L280" class="line" namn>
L280">4280./a>                                .spa  class="string">"ASSOC-ID TX_QUEUE RX_QUEUE UID INODE LPORT "./spa  >
L281" class="line" namn>
L281">4281./a>                                .spa  class="string">"RPORT LADDRS <-> RADDRS "./spa  >
L282" class="line" namn>
L282">4282./a>                                .spa  class="string">"HBINT INS OUTS MAXRT T1X T2X RTXC\n"./spa  );>
L283" class="line" namn>
L283">4283./a>>
L284" class="line" namn>
L284">4284./a>        return (void *).a href="+code=pos" class="sref">pos./a>;>
L285" class="line" namn>
L285">4285./a>}>
L286" class="line" namn>
L286">4286./a>>
L287" class="line" namn>
L287">4287./a>static void .a href="+code=sctp_assocs_seq_stop" class="sref">sctp_assocs_seq_stop./a>(struct4.a href="+code=seq_file" class="sref">seq_file./a> *.a href="+code=seq" class="sref">seq./a>, void *.a href="+code=v" class="sref">v./a>)>
L288" class="line" namn>
L288">4288./a>{>
L289" class="line" namn>
L289">4289./a>}>
L290" class="line" namn>
L290">429.1.a>>
L291" class="line" namn>
L291">4291./a>>
L292" class="line" namn>
L292">4292./a>static void *4.a href="+code=sctp_assocs_seq_next" class="sref">sctp_assocs_seq_next./a>(struct4.a href="+code=seq_file" class="sref">seq_file./a> *.a href="+code=seq" class="sref">seq./a>, void *.a href="+code=v" class="sref">v./a>, .a href="+code=loff_t" class="sref">loff_t./a> *.a href="+code=pos" class="sref">pos./a>)>
L293" class="line" namn>
L293">4293./a>{>
L294" class="line" namn>
L294">4294./a>        if (++*.a href="+code=pos" class="sref">pos./a> >=4.a href="+code=sctp_assoc_hashsize" class="sref">sctp_assoc_hashsize./a>)>
L295" class="line" namn>
L295">4295./a>                return .a href="+code=NULL" class="sref">NULL./a>;>
L296" class="line" namn>
L296">4296./a>>
L297" class="line" namn>
L297">4297./a>        return .a href="+code=pos" class="sref">pos./a>;>
L298" class="line" namn>
L298">4298./a>}>
L299" class="line" namn>
L299">4299./a>>
L300" class="line" namn>
L300">430.1.a>.spa  class="comment">/* Display sctp associa"
	 s (/proc/net/sctp/assocs). */./spa  >
L301" class="line" namn>
L301">4301./a>static int4.a href="+code=sctp_assocs_seq_show" class="sref">sctp_assocs_seq_show./a>(struct4.a href="+code=seq_file" class="sref">seq_file./a> *.a href="+code=seq" class="sref">seq./a>, void *.a href="+code=v" class="sref">v./a>)>
L302" class="line" namn>
L302">4302./a>{>
L303" class="line" namn>
L303">4303./a>        struct4.a href="+code=sctp_hashbucket" class="sref">sctp_hashbucket./a> *.a href="+code=head" class="sref">head./a>;>
L304" class="line" namn>
L304">4304./a>        struct4.a href="+code=sctp_ep_common" class="sref">sctp_ep_common./a> *.a href="+code=epb" class="sref">epb./a>;>
L305" class="line" namn>
L305">4305./a>        struct4.a href="+code=sctp_associa"
	 " class="sref">sctp_associa"
	 ./a> *.a href="+code=assoc" class="sref">assoc./a>;>
L306" class="line" namn>
L306">4306./a>        struct4.a href="+code=sock" class="sref">sock./a> *.a href="+code=sk" class="sref">sk./a>;>
L307" class="line" namn>
L307">4307./a>        struct4.a href="+code=hlist_node" class="sref">hlist_node./a> *.a href="+code=node" class="sref">node./a>;>
L308" class="line" namn>
L308">4308./a>        int4   .a href="+code=hash" class="sref">hash./a> = *(.a href="+code=loff_t" class="sref">loff_t./a> *).a href="+code=v" class="sref">v./a>;>
L309" class="line" namn>
L309">4309./a>>
L310" class="line" namn>
L310">4310./a>        if (.a href="+code=hash" class="sref">hash./a> >=4.a href="+code=sctp_assoc_hashsize" class="sref">sctp_assoc_hashsize./a>)>
L311" class="line" namn>
L311">4311./a>                return -.a href="+code=ENOMEM" class="sref">ENOMEM./a>;>
L312" class="line" namn>
L312">4312./a>>
L313" class="line" namn>
L313">4313./a>        .a href="+code=head" class="sref">head./a> = &.a href="+code=sctp_assoc_hashtable" class="sref">sctp_assoc_hashtable./a>[.a href="+code=hash" class="sref">hash./a>];>
L314" class="line" namn>
L314">4314./a>        .a href="+code=sctp_local_bh_disable" class="sref">sctp_local_bh_disable./a>();>
L315" class="line" namn>
L315">4315./a>        .a href="+code=read_lock" class="sref">read_lock./a>(&.a href="+code=head" class="sref">head./a>->.a href="+code=lock" class="sref">lock./a>);>
L316" class="line" namn>
L316">4316./a>        .a href="+code=sctp_for_each_hentry" class="sref">sctp_for_each_hentry./a>(.a href="+code=epb" class="sref">epb./a>, .a href="+code=node" class="sref">node./a>, &.a href="+code=head" class="sref">head./a>->.a href="+code=chain" class="sref">chain./a>) {>
L317" class="line" namn>
L317">4317./a>                .a href="+code=assoc" class="sref">assoc./a> =4.a href="+code=sctp_assoc" class="sref">sctp_assoc./a>(.a href="+code=epb" class="sref">epb./a>);>
L318" class="line" namn>
L318">4318./a>                .a href="+code=sk" class="sref">sk./a> =4.a href="+code=epb" class="sref">epb./a>->.a href="+code=sk" class="sref">sk./a>;>
L319" class="line" namn>
L319">4319./a>                .a href="+code=seq_printf" class="sref">seq_printf./a>(.a href="+code=seq" class="sref">seq./a>,>
L320" class="line" namn>
L320">4320./a>                           .spa  class="string">"%8pK %8pK %-3d %-3d %-2d %-4d "./spa  >
L321" class="line" namn>
L321">4321./a>                           .spa  class="string">"%4d %8d %8d %7d %5lu %-5d %5d "./spa  ,>
L322" class="line" namn>
L322">4322./a>                           .a href="+code=assoc" class="sref">assoc./a>, .a href="+code=sk" class="sref">sk./a>, .a href="+code=sctp_sk" class="sref">sctp_sk./a>(.a href="+code=sk" class="sref">sk./a>)->.a href="+code=typn" class="sref">typn./a>, .a href="+code=sk" class="sref">sk./a>->.a href="+code=sk_state" class="sref">sk_state./a>,>
L323" class="line" namn>
L323">4323./a>                           .a href="+code=assoc" class="sref">assoc./a>->.a href="+code=state" class="sref">state./a>, .a href="+code=hash" class="sref">hash./a>,>
L324" class="line" namn>
L324">4324./a>                           .a href="+code=assoc" class="sref">assoc./a>->.a href="+code=assoc_id" class="sref">assoc_id./a>,>
L325" class="line" namn>
L325">4325./a>                           .a href="+code=assoc" class="sref">assoc./a>->.a href="+code=sndbuf_used" class="sref">sndbuf_used./a>,>
L326" class="line" namn>
L326">4326./a>                           .a href="+code=atomic_read" class="sref">atomic_read./a>(&.a href="+code=assoc" class="sref">assoc./a>->.a href="+code=rmem_alloc" class="sref">rmem_alloc./a>),>
L327" class="line" namn>
L327">4327./a>                           .a href="+code=sock_i_uid" class="sref">sock_i_uid./a>(.a href="+code=sk" class="sref">sk./a>), .a href="+code=sock_i_ino" class="sref">sock_i_ino./a>(.a href="+code=sk" class="sref">sk./a>),>
L328" class="line" namn>
L328">4328./a>                           .a href="+code=epb" class="sref">epb./a>->.a href="+code=bind_addr" class="sref">bind_addr./a>..a href="+code=port" class="sref">port./a>,>
L329" class="line" namn>
L329">4329./a>                           .a href="+code=assoc" class="sref">assoc./a>->.a href="+code=peer" class="sref">peer./a>..a href="+code=port" class="sref">port./a>);>
L330" class="line" namn>
L330">4330./a>                .a href="+code=seq_printf" class="sref">seq_printf./a>(.a href="+code=seq" class="sref">seq./a>, .spa  class="string">" "./spa  );>
L331" class="line" namn>
L331">4331./a>                .a href="+code=sctp_seq_dump_local_addrs" class="sref">sctp_seq_dump_local_addrs./a>(.a href="+code=seq" class="sref">seq./a>, .a href="+code=epb" class="sref">epb./a>);>
L332" class="line" namn>
L332">4332./a>                .a href="+code=seq_printf" class="sref">seq_printf./a>(.a href="+code=seq" class="sref">seq./a>, .spa  class="string">"<-> "./spa  );>
L333" class="line" namn>
L333">4333./a>                .a href="+code=sctp_seq_dump_remote_addrs" class="sref">sctp_seq_dump_remote_addrs./a>(.a href="+code=seq" class="sref">seq./a>, .a href="+code=assoc" class="sref">assoc./a>);>
L334" class="line" namn>
L334">4334./a>                .a href="+code=seq_printf" class="sref">seq_printf./a>(.a href="+code=seq" class="sref">seq./a>, .spa  class="string">"\t%8lu %5d %5d %4d %4d %4d %8d "./spa  ,>
L335" class="line" namn>
L335">4335./a>                        .a href="+code=assoc" class="sref">assoc./a>->.a href="+code=hbinterval" class="sref">hbinterval./a>, .a href="+code=assoc" class="sref">assoc./a>->.a href="+code=c" class="sref">c./a>..a href="+code=sinit_max_instreams" class="sref">sinit_max_instreams./a>,>
L336" class="line" namn>
L336">4336./a>                        .a href="+code=assoc" class="sref">assoc./a>->.a href="+code=c" class="sref">c./a>..a href="+code=sinit_num_ostreams" class="sref">sinit_num_ostreams./a>, .a href="+code=assoc" class="sref">assoc./a>->.a href="+code=max_retrans" class="sref">max_retrans./a>,>
L337" class="line" namn>
L337">4337./a>                        .a href="+code=assoc" class="sref">assoc./a>->.a href="+code=init_retries" class="sref">init_retries./a>, .a href="+code=assoc" class="sref">assoc./a>->.a href="+code=shutdown_retries" class="sref">shutdown_retries./a>,>
L338" class="line" namn>
L338">4338./a>                        .a href="+code=assoc" class="sref">assoc./a>->.a href="+code=rtx_data_chunks" class="sref">rtx_data_chunks./a>);>
L339" class="line" namn>
L339">4339./a>                .a href="+code=seq_printf" class="sref">seq_printf./a>(.a href="+code=seq" class="sref">seq./a>, .spa  class="string">"\n"./spa  );>
L340" class="line" namn>
L340">4340./a>        }>
L341" class="line" namn>
L341">4341./a>        .a href="+code=read_unlock" class="sref">read_unlock./a>(&.a href="+code=head" class="sref">head./a>->.a href="+code=lock" class="sref">lock./a>);>
L342" class="line" namn>
L342">4342./a>        .a href="+code=sctp_local_bh_enable" class="sref">sctp_local_bh_enable./a>();>
L343" class="line" namn>
L343">4343./a>>
L344" class="line" namn>
L344">4344./a>        return 0;>
L345" class="line" namn>
L345">4345./a>}>
L346" class="line" namn>
L346">4346./a>>
L347" class="line" namn>
L347">4347./a>static const struct4.a href="+code=seq_opera"
	 s" class="sref">seq_opera"
	 s./a> .a href="+code=sctp_assoc_ops" class="sref">sctp_assoc_ops./a> =4{>
L348" class="line" namn>
L348">4348./a>        ..a href="+code=start" class="sref">start./a> =4.a href="+code=sctp_assocs_seq_start" class="sref">sctp_assocs_seq_start./a>,>
L349" class="line" namn>
L349">4349./a>        ..a href="+code=next" class="sref">next./a>  =4.a href="+code=sctp_assocs_seq_next" class="sref">sctp_assocs_seq_next./a>,>
L350" class="line" namn>
L350">4350./a>        ..a href="+code=stop" class="sref">stop./a>  =4.a href="+code=sctp_assocs_seq_stop" class="sref">sctp_assocs_seq_stop./a>,>
L351" class="line" namn>
L351">4351./a>        ..a href="+code=show" class="sref">show./a>  =4.a href="+code=sctp_assocs_seq_show" class="sref">sctp_assocs_seq_show./a>,>
L352" class="line" namn>
L352">4352./a>};>
L353" class="line" namn>
L353">4353./a>>
L354" class="line" namn>
L354">4354./a>.spa  class="comment">/* Initialize the seq file opera"
	 s for 'assocs' object. */./spa  >
L355" class="line" namn>
L355">4355./a>static int4.a href="+code=sctp_assocs_seq_open" class="sref">sctp_assocs_seq_open./a>(struct4.a href="+code=inode" class="sref">inode./a> *.a href="+code=inode" class="sref">inode./a>, struct4.a href="+code=file" class="sref">file./a> *.a href="+code=file" class="sref">file./a>)>
L356" class="line" namn>
L356">4356./a>{>
L357" class="line" namn>
L357">4357./a>        return .a href="+code=seq_open" class="sref">seq_open./a>(.a href="+code=file" class="sref">file./a>, &.a href="+code=sctp_assoc_ops" class="sref">sctp_assoc_ops./a>);>
L358" class="line" namn>
L358">4358./a>}>
L359" class="line" namn>
L359">4359./a>>
L360" class="line" namn>
L360">4360./a>static const struct4.a href="+code=file_opera"
	 s" class="sref">file_opera"
	 s./a> .a href="+code=sctp_assocs_seq_fops" class="sref">sctp_assocs_seq_fops./a> =4{>
L361" class="line" namn>
L361">4361./a>        ..a href="+code=open" class="sref">open./a>    =4.a href="+code=sctp_assocs_seq_open" class="sref">sctp_assocs_seq_open./a>,>
L362" class="line" namn>
Lhe seq file opera"
	 s for 'assocs5ss="sref">sctp_local_bh_enablea>      return -.a href="+code=ENOMEM" clasline" namn>
L296">42963sctp/proc.c#L263" id>
L233" cl36s="line" namn>
L233">4233./a>        ..a href="+code=llseek" class="sref">llseek./a>  =4.a href="+code=seq_lseek" class="sref">seq_lseek./a>,>
L234" cl36s="line" namn>
L234">4234./a>        ..a href="+code=release" class="sref">release./a> = .a href="+code=seq_release" class="sref">seq_release./a>,>
L235" cl36s="line" namn>
L235">4235./a>};>
L236" cl36s="line" namn>
L346">4346./a>>
L237" cl36s="line" namn>
L197">4197./a>.spa  class="comment">/* Set up theile opera"
	 s for 'assocs' object. */./spa  >
L238" cl3ss="line" namn>
L252">4252./a>int4.a href="+code=__init" class="sref">__init.open" c_net_ef="+code=sctp_eps_proc_open" c_net_ef="n" cl>sctp_eps_proc_exit./a>(void)>
L239" cl36s="line" namn>
L199">4199./a>{>
L230" cl37s="line" namn>
L200">4200./a>      _net_uct4.a href="+code=proc_dir_entry" class="sref">proc_dir_entry./a> *.a href="+code=p" class="sref">p./a>;>
L231" cl37s="line" namn>
L291">4291./a>>
L232" cl37s="line" namn>
L342">4342./a>        .a href="+code=p" class="sref">p./a> = .a href="+code=proc_create" class="sref">proc_create./a>(.spile opelass="string">"eps"./spa  , .a href="+code=S_IRUGO" class="sref">S_IRUGO./a>, .a href="+code=proc_net_sctp" class="ne" namn>
L291">4291./a>>42963sctp/proc.c#L273" id>
L233" cl3ss="line" namn>
L273">>>>>>>>> class="sref">file./a>, &.a href="+code=sctp_assocs_seq_fops" class="sref">sref">sctp_assoc_ops./a>);>
L234" cl37s="line" namn>
L257">4257./a>        if (!.a href="+code=p" class="sref">p./a>)>
L235" cl37s="line" namn>
L295">4295./a>                return -.a href="+code=ENOMEM" class="sref">ENOMEM./a>;>
L236" cl37s="line" namn>
L346">4346./a>>
L237" cl37s="line" namn>
L227">4227./a>        return 0;>
L238" cl37s="line" namn>
L358">4358./a>}>
L239" cl37s="line" namn>
L359">4359./a>>
L230" cl38s="line" namn>
L300">430.1.a>.spa  class="comment">/* Cleanup theile opera"
	 s for 'assocs' object. */./spa  >
L231" cl3ss="lin>
L287">4287./a>static void .a _net_ef="+code=sctp_eps_proc_oid .a _net_ef="n" cl>sctp_eps_proc_exit./a>(void)>
L232" cl38s="line" namn>
L302">4302./a>{>
L233" cl38s="line" namn>
L313">4313./a>        .a href="+code=remove_proc_entry" class="sref">remove_proc_entry./a>(.spile opelass="string">"eps"UGO./a>, .a href="+code=proc_net_sctp" class=sref">sctp_assoc_ops./a>);>
L234" cl3ss="line" namn>
L358">4358./a>}>
L235" cl38s="line" namn>
L255">4255./a>>
L236" cl3ss="line" namn>
L2987">4287./a>static vrocf">s href="+code=sctp_assocs_seq_srocf">s href="+coef">sctp_assocs_seq_open./a>(struct4.a href="+code=seq_file" class="sref">seq_file./a> *.a href="+code=seq" class="sref">seq./a>, .a href="+code=loff_t" class="sref">loff_t./a> *.a href="+code=pos" class="sref">pos./a>)>
L237" cl3ss="line" namn>
L302">4302./a>{>
L238" cl38s="line" namn>
L278">4278./a>        if (*.a href="+code=po" class="sref">hash./a> >=4.a href="+code=sctp_assoc_hashsize" class="sref">sctp_assoc_hashsize./a>)>
L239" cl38s="line" namn>
L339">4295./a>                return .a href="+code=NULL" class="sref">NULL./a>;>
L230" cl3ss="line" namn>
L290">429.1.a>>
L231" cl391="line" namn>
L278">4278./a>        if (*.a href="+code=po"" class="sref">pos./a> < 0)>
L232" cl39s="line" namn>
L332">78">4278./a>        if (*.a href="+code=pos" class="sref">pos./a> = 0;>
L233" cl39s="line" namn>
L353">4353./a>>
L234" cl3ss="line" namn>
L278">4278./a>        if (*.a href="+code=pos" class="sref">pos./a> == 0)>
L235" cl3ss="line" namn>
L295">4339./a>                .a href="+code=seq_printf" class="sref">seq_printf./a>(.a href="+code=seq" class="sref">seq./a>, .spRPORa  cla_ID HB_ACT RTOng">_PAT class="sref">assoc./a>->.a href="+code=sndbuf_used" class="sref">sndbuf_used./a>,>
L322" class="line" " namn>
L397">4297./a>        retu3n .a 39f="+code=assoc" class="sref">ass, .spR id>
L282" class="line" namEM_f="nc.c#/ START}>
L341" cla>;>
L39="+code=pos" class="sref">pos./a3e" namn>
3299">4299./a>>
L285">4285./a>}>
L286" class="li3" namn>
L300">430.1.a>.spa  class=3comme39proc.c#L291" id>
L291" class="lin4proc/net/4ctp/assocs). */./spa  ><4 href40="+code=po"" class="sref">pos./a4="sref">s4tp_assocs_seq_show./a>(s4ruct44a href="+code"+code=seq_file" class="sref">seq_fileamn>
L350">4350./a>     ef">seq_fileamn>./a>, .a href="+code=loff_t" class="sref">loff_t./a> *.a href="+code=pos" class="sref">pos./a>)>pos./a>)>
L293" class="line" namn>
L293">4293./a>{>
L294" class="li4e" namn>
4303">4303./a>        str4ct4.a4href="+code=sctp_hashbucket" class4"sref">sc4p_hashbucket./a> *.a hre4="+co4e=head" class=f">sctp_assoc_hashsize./a>)>
L295" class="line" namn>
L295">4295./a>                return .a href="+code=NULL" class="s4sref">sct4_ep_common./a> *.a href=4+code40s="sref">seq./a>, .spine" namn>
L290">429.1.a>>
L231" cl391="lin4="sref">s4tp_associa"
	 ./a> *.a h4ef="+40f="+code=sctp_assocs_seq_srocf">4./a> *.a 4ref="+code=sk" class="sr4f">sk4/a>;>
L298">4298./a>}>
L299" class="li4">hlist_n4de./a> *.a href="+code=n4de" c40proc.c#L269" id>
L269" class="lin4./a> = *(4a href="+code=loff_t" cl4ss="s40roc.c#L270" id>
L270" class="lin4" namn>
L410">4310./a>        if (4a hre409href="+code"+cod=seq_file" class="sref">seq_file./n>
L351">4351./a>     ef">seq_file./n>./a>, .a href="+code=loff_t" class="sref">loff_t./a> *.a href="+code=pos" class="sref">pos./a>)>pos./a>)>EN4MEM./a>;>
L263" class="lin4" namn>
L413">4313./a>        .a h4ef="+4ode=head" class="sref">head./a> =4&.a h4ef="+code=sctp_assoc_has4table4 class="+code=inode" class="sref">inoef">seq_file.mn>
L352">4352./a>};>seq_file.mn>./a>, .a href="+code=loff_t" class="sref">loff_t./a> *.a href="+code=pos" class="sref">pos./a>)>pos./a>)>sct4_local_bh_disable./a>();4s4mp;.a href="+code=head" 4lass=4sref">head./a>"sref">head./a>;>
L304" class="line" namn>
L304">4304./a>        struct4.a href="+code=sctp_ep_common" class=4ref">sctp4for_each_hentry./a>(.a h4ef="+41a>;>
L305" class="line" namn>
L305">4305./a>        struct4.a href="+code=sctp_associa"
	 " clas4soc./a> =4.a href="+code=sctp_asso4" cla41ss="sref">node./a>;>
L306" class="line" namn>
L306">4306./a>        struct4.a href="+code=sock" class="sref">soc4> =4.a hr4f="+code=epb" class="sre4">epb4/a>->.a hree./a>;>
L308" class="line" namn>
L308">4308./a>        int4   .a href="+code=hash" class="sref">has4f">seq_pr4ntf./a>(.a href="+code=s4q" cl4ss="sref">seq.e./a>;>
L308">4308.ts>
L351">4351./a>ts>ef="+code=hash" class="sref">has4;%8pK4%8pK %-3d %-4d "-2d %-4d  *).a href="+code=v" class="sref">v./a>;>
L309" class="line" namn>
L309">4309./a>>
L310" class="lin4;%4d 4#37;8d %8d %7d &437;5l42de=p" class="sref">p./a> = .a hr4s="sref">4ssoc./a>, .a href="+code4sk" c42 class="sref">sctref="+code=v" class="sref">v./a>;>
L295" class="line" namn>
L295">4295./a>                return .a href="+code=NULL" class="s4s="sref">4ssoc./a>->.a href="+c4de=st4te" class="sref">state7s="line" namn>
L346">4346./a>>
L237" cl37s="lin4s="sref">4ssoc./a>->.a href="+c4de=as42="+code=pos" class="sref">pos./a4s="sref">4ssoc./a>->.a href="+c4de=sn4buf_used" clasmn>
L304">4304./a>        struct4.a href="sh" class="sref">hash./a>];>
L314" class="line" namn>
L314">4314./a>        .a href="+code=sctp_local_bh_disable" class=4" class="4ref">atomic_read./a>(&am4;.a h42de=epb" class="sref">epb./a>, .a  class="line" namn>
L315">4315./a>        .a href="+code=read_lock" class="sref">read_4 class="s4ef">sock_i_uid./a>(.a hr4f="+c4de=sk" class="ps"UGO./a>, de=lock" class="sref">lock./a>);>
L316" class="line" namn>
L316">4316./a>        .a href="+code=sctp_for_each_hentry" class="4"sref">ep4./a>->.a href="+code=4ind_a4dr" class="sre="sref">epb./a>, .a href="+code=node" class="sref">node./a>, &.a href="+code=head" class="sref">head./a>->.a href="+code=chain" class="sref">chain./a>) {>
L317" class="line" namn>
L317">4317./a>                .a href="+code=assoc" class" class="4"">seq_pr4ssoc./a>->.a href="+c4de=pe4r" class="sref">peer./namn>
L306">4306./a>        struct4.a href=">
L318" class="line" namn>
L318">4318./a>                .a href="+code=sk" class="sref">sk./4f">seq_pr4ntf./a>(.a href="+code=s4q" cl4ss="sref">seq./a>, .spa  class="strinclass./a>, &ame=node" class="sref"class./a>, &ame=nod" namn>
L318">4318./ts>
L351">4351./a>ts>ef="{>
L330" class="line" namn>
L330">4330     ./a>4351./a>t    ./a>sk./4f%4d 4="sref">sctp_seq_dump_lo4al_ad4rs./a>(.a href="+code=========================amn>
L330">4330     ./a>>seq_pr4ntf./a>(.a href="+code=s4q" cl4ss="sref">seq./a>, .sp========at3sctp/proc.c#L281" id>roc.c#L322" id>
L322" class="line"4ddrs" cla4s="sref">sctp_seq_dump_r4mote_43"net/sctp/proc.c#L264" id>
=========================* The /a>);> a hress (f="n)roc.c#L322" id>
L322" class="line"4d="sref">4ntf./a>(.a href="+code=s4q" cl43a  >ass4c./a>->.a href="+code4hbint4rval" class="sref">hbinterval./a>, .a href="+ts>
L351">4351./a>ts>ef="ass="line" namn>
L325f_specifi>        struct4.f_specifi>ef="ass="line" namn>
L32f">assoc.c#L329" id>
L329" cf">assoc.c#L3c./a>->.a href="+code=sndbuf_used" class="sr4351./a>ts>ef="ass="line" namn>
L32ipc#L329" id>
L329" cipc#L3href="+code=sk" class="sref">sk./4f class="4c./a>->.a href="+code4c" cl4ss="sref">c./a>..a href="+code=sinit_num_ostrg">" "./spa  );>
L331" class="line" namn>
L331">4331./a>                .a href="+code=sctp_seq_dump_local_a4sref">ass4c./a>->.a href="+code4init_43="+code=pos" class="sref">pos./a4sref">ass4c./a>->.a href="+code4rtx_d4ta_chunks" class="sref">rtx_datt3sctp/proc.c#L281" id>roc.c#L322" id>
L322" class="line"4d">seq_pr4ntf./a>(.a href="+code=s4q" cl4ss="srsctp/proc.c#L264" id>
=========================* The 06" class=" ID (f/sctp/p)roc.c#L322" id>
L322" class="line"4ass="line4 namn>
L341">4341./a>   4    .44ef="net3sctp/proc.c#L281" i=========================*+code=sctp_eps_proc_oid .a _net_ef=4_unlock./4>(&.a href="+code=he4d" cl44s./a>(.a href="+code==========sinit_num_ostrg">" "./spa  );>
L331" class="line" namn>
L331">4331./a>                             ../a>, .a href="+ts>
L351">4351./a>ts>ef="ass="line" namn>
L325/a>        struct4.a25" class="line" namn>
L325">4325./a>                        ="+code=sctp_seq_dump_local_a4ref">sctp4local_bh_enable./a>();><4 href44de=head" class="sref">head./a> =4" namn>
L444">4344./a>        retu4n 0;>44_ops./a>);>roc.c#L322" id>
L322" class="line"4L345" cla4s="line" namn>
L345">4344./a>}44a  >
L322" class="line"4aref">ass4346">4346./a>>: 1>
L322" class="line"4a class="447">4347./a>static const4struc44.a hret3sctp/proc.c#L281" i=========================*+code=sctp_eps_proc_oid .a _net_ef=4_ref">ass4>seq_opera"
	 s./a> .a h4ef="+44tries" class="sref">init_retries./a>, .a hreg">" "./spa  );>
L331" class="line" namn>
L331">4331./a>                             ../a>, .a href="+timer_penda>  L351">4351./a>timer_penda> ;>4351./a>ts>ef="ass="line" namn>
L32hb_timer#L317" id>
L317"b_timer    =="+code=sctp_seq_dump_local_a4rref">ass4="+code=sctp_assocs_seq_4tart"44roc.c#L270" id>
L270" class="lin4=4.a href4"+code=sctp_assocs_seq_n4xt" c44" class="sref">peer./a>..a hrtt3sctp/proc.c#L281" id>roc.c#L322" id>
L322" class="line"4=4.a href4"+code=sctp_assocs_seq_s4op" c45ef="net3sctp/proc.c#L281" i=========================* R      mit time out (RTO)roc.c#L322" id>
L322" class="line"4=4.a href4"+code=sctp_assocs_seq_s4ow" c4ass="set3sctp/proc.c#L281" i=========================*+code=sctp_eps_proc_oid .a _net_ef=4ne" namn>4L353">4353./a>>seq./a>, .sp========aes./a>, .a hreg">" "./spa  );>
L331" class="line" namn>
L331">4331./a>              
L33            ../a>, .a href="+ts>
L351">4351./a>ts>ef="ass="line" namn>
L32rt8" id>
L328" clart8    ="+code=sctp_seq_dump_local_a4" namn>
L454">4354./a>.spa  class=4comme4t">/* Initialize the seq file ope4a"
	 s fo4 'assocs' object4 */./45c_id" class="sref">assoc_id./tt3sctp/proc.c#L281" id>roc.c#L322" id>
L322" class="line"4=ref">ass4tp_assocs_seq_open./a>(s4ruct445proc.a href="net/sctp/proc.=========================* Maximum path r      mit count (/proc.c#pRTX)roc.c#L322" id>
L322" class="line"4= class="4357">4357./a>        ret4rn .a45.a hret3sctp/proc.c#L281" i=========================*+code=sctp_eps_proc_oid .a _net_ef=4seq_open.4a>(.a href="+code=file" 4lass=45tries" class="sref">init_retries./a>, .a hreg">" "./spa  );>
L331" class="line" namn>
L331">4331./a>                             ../a>, .a href="+ts>
L351">4351./a>ts>ef="ass="line" namn>
L32pathmaxrn>
L350">4350./a>pathmaxrn>    ="+code=sctp_seq_dump_local_a4"ref">ass4359">4359./a>>
L270" class="lin4" namn>
L460">4360./a>static const4struc45" class="sref">peer./a>..a hrtt3sctp/proc.c#L281" id>roc.c#L322" id>
L322" class="line"4lass="sre4">file_opera"
	 s./a> .a4href=46ef="net3sctp/proc.c#L281" i=========================* /a>);> a hress r      mit count (mEM_f="nc.c#)roc.c#L322" id>
L322" class="line"4  =4.a hr4f="+code=sctp_assocs_seq4open"46ss="set3sctp/proc.c#L281" i=========================* N);>: We donid .at have a way to tally this atl3ss=mo281"roc.c#L322" id>
L322" class="line"4 e" namn>4 return -.a href="+code=4NOMEM4 claslet3sctp/proc.c#L281" i=========================* so lets just leave it as zero287./3ss=mo281"roc.c#L322" id>
L322" class="line"4  namn>
L4ref="+code=seq_lseek" cl4ss="s46"net/sctp/proc.c#L264" id>
=========================*+code=sctp_eps_proc_oid .a _net_ef=4./a> = .a4href="+code=seq_release"4class46c_id" class="sref">assoc_id./tes./a>, .a hreg">" "./spa  );>
L331" class="line" namn>
L331">4331./a>         0       .a href="+code=sctp_seq_dump_local_a4ne" namn>4L346">4346./a>>4" namn>
L497">4197./a>.spa  class=4comme46s="sref">c./a>..a href="+code=t3sctp/proc.c#L281" id>roc.c#L322" id>
L322" class="line"4leq_open.4cs' object. */./spa 4>);> a hress ">seq time (START).  This is also no"roc.c#L322" id>
L322" class="line"4 ref">ass4+code=sctp_eps_proc_open4 c_ne4_ef="nt3sctp/proc.c#L268" id=========================* curr8" ly imple68" ed, but we cctprecord it with aroc.c#L322" id>
L322" class="line"4  namn>
L4200">4200./a>      _net_4ct4.a46s="srsctp/proc.c#L264" id>
=========================* jiffies marker in a sub"liu id patchroc.c#L322" id>
L322" class="line"4sref">pro4_dir_entry./a> *.a href=4+code47ef="net3sctp/proc.c#L281" i=========================*+code=sctp_eps_proc_oid .a _net_ef=4" namn>
L442">4342./a>        .a h4ef="+47s./a>(.a href="+code==========sinit_num_ostrg">" "./spa  );>
L331" class="line" namn>
L331">4331./a>         0      .a href="+code=sctp_seq_dump_local_a4f="+code=4roc_create" class="sref"4proc_47de=head" class="sref">head./a> =4cs_seq_fo4s" class="sref">sref">sc4p_ass4c_ops./a>);>" "./spa  );>
L331" class="line" namn>
L331">4331./a>         }>
L341" c43href="ne43sctp/proc.c#L275" id>
L435" c47c_id" class="sref">asc#L263" id>
L263" class="lin4"sref">EN4MEM./a>;>
Lc#L263" id>
L263" class="lin4" namn>
L427">4227./a>        retu4n 0;>4a3href="net3sctp/proc.c#L278" id>4L238" cl34s="line" namn>
L358">4354./a>}47e=sk" class="ps"UGO./a>, de=ode=lock" class="sref">lock./a>);>
L342" class="line" namn>
L342">4342./a>        .a href="+code=sctp_local_bh_enable" class="4e" namn>
4359">4359./a>>epb./a>, .a lass="line" namn>
L343">4343./a>>
L344" class="lin4" namn>
L400">430.1.a>.spa  class=4comme4t">/* Cleanup theile opera"
	 s f4r 'as4ocs' object. */./spa4 >seq.ctp/proc.c#L279" id>
L239" cl37s="li4n" cl>sct4_eps_proc_exit./a>(void)4p./a> = .a hr4e" namn>
4313">4313./a>        .a 4ref="4code=rc#L263" id>
L263" class="lin4">remove_4roc_entry./a>(.spile ope4ass="48">/* Initialize the seq file ope4e" namn>
4255">4255./a>>sctp_assoc_ops./a> =4{>
L348" class="line"ef">seq_amn>
L257">4257./a>    ef">seq_amnef=">
L4987">4287./a>static vroc4">s h48c#L276" id>
Lctp_assocs_seq_start./a>,>
L349" cef">seq_file./a> *.a href="+code=seq" class="sref">seq./a>{+code=sk" class="sref">sk./4 href="+c4ef">sctp_assocs_seq_open4/a>(s486#L276" id>
Lctp_assocs_seq_st./a>,>
L350" claef">seq_fileamn>
L350">4350./a>     ef">seq_fileamn>./a>{+code=sk" class="sref">sk./4 238" cl34278">4278./a>        if 4*.a h487#L276" id>
Lctp_assocs_seq_sta/a>,>
L351" claef">seq_file./n>
L351">4351./a>     ef">seq_file./n>./a>{+code=sk" class="sref">sk./4 " namn>
4href="+code=sctp_assoc_h4shsiz48lass="sref">sctp_assocs_seq_st./a>,>
L352" claef">seq_file.mn>
L352">4352./a>};>seq_file.mn>./a>{+code=sk" class="sref">sk./4  namn>
L4a>;>
L237" cl36s="lin4" namn>
L478">4278./a>        if (4.a hr4f="+code=po"" class="sref">pos./a4 < 0)>4a3href="net3sctp/proc.c#4292" 49ss="set3sctp/proc.c#L281" id>
L231" cl3ss="lin>
L287">4287./a>staef">seqid .a _net_ef="+code=sctp_eps_proc_oid .a _net_ef=4./a> = 0;4
L2"+cod=seq_file" class="sref">seq_8s="line" namn>
L302">4302./aef">seq_8s="line"/procproc.c#L283" id>
L233" cl38s="li4" namn>
L478">4278./a>        if (4.a hr4f="+co"+code=assoc" class" class="4 == 0)>sctp_assoc_ops./a>);>seqic#L284" id>
L234" cl3ss="line" namn>
L358">4358./a>}>
L235" cl38s="li4f">seq_pr4ntf./a>(.a href="+code=s4q" cl49proc.c#L347" id>
L347" class="lin4" namn>
L497">4297./a>        retu4n .a 493href="net3sctp/proc.c#L278" id>4a>;>
L49de=sctp_asso=inode" class="sref">inoef">seq_fileamn>
Lhe seq file opera"ef">seq_fileamn>assoctruct4.a href="+code=file" class="sref">file./a> *.a href="+code=file" class="sref">file./a>)>
L356" class="line" namn>
L356">4356./a>{>
L357" class="li4e" namn>
4299">4299./a>>430.1.a>.spa  class=4comme49" class="sref, &.a href="+code=sctp_assoc_ops" class="sref">sctp_assoc_ops./a>);>
L358" class="line" nef">seq_amn>
L257">4257./a>    ef">seq_amnef="c.c#L285" id>
L235" cl38s="li5proc/net/5ctp/assocs). */./spa  ><5 href50="+coc#L347" id>
L347" class="lin5="sref">s5tp_assocs_seq_show./a>(s5ruct450de=p" class="sref">p./a> = .a hr5e" namn>
5303">4303./a>        str5ct4.a5href="sctp_assocs_seq_fops" class="sref">sctp_assocs_seq_fops./a> =4{>
L361" ef">seq_filenamn>
L257">4257./a>    ef">seq_filenamnef=">sc5p_hashbucket./a> *.a hre5="+co5e=head" class=ctp_assocs_seq_open./a>,>
L352" claef">seq_fileamn>
Lhe seq file opera"ef">seq_fileamn>asso{+code=sk" class="sref">sk./5sref">sct5_ep_common./a> *.a href=5+code50s="sref">seq.n>
L296">42963sctp/proc.c#L263" id>
L233" cl="line" namn>
L233">4233./a>        ..a href="+code=llseek" class="sref">llseek.5="sref">s5tp_associa"
	 ./a> *.a h5ef="+50c#L276" id>
Lctp_assocs_seq_st3sctp/proc.c#L264" id>
L234" cl6s="line" namn>
L234">4234./a>        ..a href="+code=release" class="sref">releas5./a> *.a 5ref="+code=sk" class="sr5f">sk506#L276" id>
Lctp_assocs_seq_sf="net3sctp/proc.c#L265" id>
L235" cl36s="line" namn>
L235">4235./a>};>
L236" cl36s="l5">hlist_n5de./a> *.a href="+code=n5de" c50proc.c.c#L285" id>
L235" cl38s="li5p8hlist_n5d99">4299./a>>
L270" class="lin5" namn>
L510">4310./a>        if (5a hre509href" cl>sctp_eps_proc_exit./a>(void)>
L2ef">seq_8s="line" namn>
L199">4199./aef">seq_8s="line"/procproc.c#L283" id>
L233" cl38s="li5> >=4.5 href="+code=sctp_assoc_5ashsi51ref="+code=seq_open" class="sref"5"sref">EN5MEM./a>;>p./a>;>
L231" cl37s="line" namn>
L291">4291./a>>
L232" cl37s="lin5" namn>
L513">4313./a>        .a h5ef="+5ode=head" class="sref">head./a> =5&.a h5ef="+code=sctp_assoc_has5table51ring">"eps"UGO./a>ing">"eps"./spa  , .a href="+code=S_IRUGO" class="sref">S_IRUGO./a>, .a href="+code=proc_net_sctp"ef">seqic#L284" id>
L234" cl3ss="lineh96">42963sctp/proc.c#L273" id>
L233" cl3ss="line" namn>
L273">>>>>>>>> class="sref">file./a>, &" id>
L358" class="line" nef">seq_filenamn>
L257">4257./a>    ef">seq_filenamnef="c.c#L285" id>
L235" cl38s="li5>ref">sct5_local_bh_disable./a>();5
L295">4295./a>                return -.a href="+code=ENOMEM" class5""sref">s5mp;.a href="+code=head" 5lass=51val" class="sref">hbi7s="line" namn>
L346">4346./a>>
L237" cl37s="lin5ref">sctp5for_each_hentry./a>(.a h5ef="+51a>;>
L239" cl37s="li5soc./a> =5.a href="+code=sctp_asso5" cla51proc.c#L269" id>
L269" class="lin5> =4.a hr5f="+code=epb" class="sre5">epb5/a>-&g





The original LXR software byl3ss=L269" id>http://sourceforge.
L26asset_es/lxr">LXR c#L2une"ya>, &"this ex="ni281"al verss=" bylL269" id>mailto:lxr@b" ux.no idxr@b" ux.noa>, .


dxr.b" ux.no kindly hosted bylL269" id>http://www.redpill-b" ass.no iRedpill L" ass ASa>, &"assvider of L" uxssocsultc_n andine" namn>
Lservice
Lsince 1995.