linux/fs/afs/cmservice.c
<<
ptio6.2/spae=" 6.2/form=" 6.2a ptio6. href="../linux+v3 <9/fs/afs/cmservice.c">ptio6.2img src="../.static/gfx/right.png" alt=">>">pt2/spae="pt2spae class="lxr_search">ptioptio6.2input typ v2hidden" nam v2navtarget" > v2">ptio6.2input typ v2text" nam v2search" idv2search">ptio6.2butt typ v2submit">Searchptio6.Prefs" 6.2/a>pt2/spae="io6. .2/div="io6. .2form acalue="ajax+*" method="post" onsubmit="return false;">pt2input typ v2hidden" nam v2ajax_lookup" idv2ajax_lookup" > v2">pio6. .2/form="pio6. .2div class="headingbott m">" 2div idv2file_contents"=
. .12/a>2spae class="comment">/* AFS Cache Manager Service2/spae=". .22/a>2spae class="comment"> *2/spae=". .32/a>2spae class="comment"> * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved.2/spae=". .42/a>2spae class="comment"> * Written by David Howells (dhowells@redhat.com)2/spae=". .52/a>2spae class="comment"> *2/spae=". .62/a>2spae class="comment"> * This program is free software; you cae redistribute it and/or2/spae=". .72/a>2spae class="comment"> * modify it under the terms of the GNU General Public License2/spae=". .82/a>2spae class="comment"> * as published by the Free Software Foundaalue; either verslue2/spae=". .92/a>2spae class="comment"> * 2 of the License, or (at your  value) any later verslue.2/spae=". tiona>2spae class="comment"> */2/spae=". 112/a>". 122/a>#include <linux/module.h2/a>>". 132/a>#include <linux/init.h2/a>>". 142/a>#include <linux/slab.h2/a>>". 152/a>#include <linux/sched.h2/a>>". 162/a>#include <linux/ip.h2/a>>". 172/a>#include "internal.h2/a>"". 182/a>#include "afs_cm.h2/a>"". 192/a>". 202/a>#if 0". 212/a>struct.2a href="+code=workqueue_struct" class="sref">workqueue_struct2/a> *2a href="+code=afs_cm_workqueue" class="sref">afs_cm_workqueue2/a>;". 222/a>#endif .2spae class="comment">/*  0  */2/spae=". 232/a>". 242/a>static int.2a href="+code=afs_deliver_cb_init_call_back_state" class="sref">afs_deliver_cb_init_call_back_state2/a>(struct.2a href="+code=afs_call" class="sref">afs_call2/a> *,". 252/a>                                               struct.2a href="+code=sk_buff" class="sref">sk_buff2/a> *,.2a href="+code=bool" class="sref">bool2/a>);". 262/a>static int.2a href="+code=afs_deliver_cb_init_call_back_state3" class="sref">afs_deliver_cb_init_call_back_state32/a>(struct.2a href="+code=afs_call" class="sref">afs_call2/a> *,". 272/a>                                                struct.2a href="+code=sk_buff" class="sref">sk_buff2/a> *,.2a href="+code=bool" class="sref">bool2/a>);". 282/a>static int.2a href="+code=afs_deliver_cb_probe" class="sref">afs_deliver_cb_probe2/a>(struct.2a href="+code=afs_call" class="sref">afs_call2/a> *, struct.2a href="+code=sk_buff" class="sref">sk_buff2/a> *,.2a href="+code=bool" class="sref">bool2/a>);". 292/a>static int.2a href="+code=afs_deliver_cb_callback" class="sref">afs_deliver_cb_callback2/a>(struct.2a href="+code=afs_call" class="sref">afs_call2/a> *, struct.2a href="+code=sk_buff" class="sref">sk_buff2/a> *,.2a href="+code=bool" class="sref">bool2/a>);". 302/a>static int.2a href="+code=afs_deliver_cb_probe_uuid" class="sref">afs_deliver_cb_probe_uuid2/a>(struct.2a href="+code=afs_call" class="sref">afs_call2/a> *, struct.2a href="+code=sk_buff" class="sref">sk_buff2/a> *,.2a href="+code=bool" class="sref">bool2/a>);". 312/a>static int.2a href="+code=afs_deliver_cb_tell_me_about_yourself" class="sref">afs_deliver_cb_tell_me_about_yourself2/a>(struct.2a href="+code=afs_call" class="sref">afs_call2/a> *,". 322/a>                                                 struct.2a href="+code=sk_buff" class="sref">sk_buff2/a> *,.2a href="+code=bool" class="sref">bool2/a>);". 332/a>static void.2a href="+code=afs_cm_destructor" class="sref">afs_cm_destructor2/a>(struct.2a href="+code=afs_call" class="sref">afs_call2/a> *);". 342/a>". 352/a>2spae class="comment">/*2/spae=". 362/a>2spae class="comment"> * CB.CallBack operaalue typ 2/spae=". 372/a>2spae class="comment"> */2/spae=". 382/a>static const struct.2a href="+code=afs_call_typ " class="sref">afs_call_typ 2/a> 2a href="+code=afs_SRXCBCallBack" class="sref">afs_SRXCBCallBack2/a> = {". 392/a>        .2a href="+code=nam " class="sref">nam 2/a>           =.2spae class="string">"CB.CallBack". 402/a>        .2a href="+code=deliver" class="sref">deliver2/a>        =.2a href="+code=afs_deliver_cb_callback" class="sref">afs_deliver_cb_callback2/a>,". 412/a>        .2a href="+code=abort_to_error" class="sref">abort_to_error2/a> =       =.2a href="+cabort_to_error" class="sref">a"+cabort_to_error2.6.214I value="v2.6.27.19"
	  >
ption0e=deliver.2a4llBack"
  v2.6.1code=nam " class="sref">nam 2/a>           =.2spae class="string">"CB.CallBack"nam 2/a>  1service.4#L33" idv2L33" class="l4ne" n4m v2L}_call2/a> *);". 342/a>". 352/a>2spae class="comment">/*2/spae=". 362/a>2spae class="comIdelg">"S_cal CB.CallBack operaalue typ 2/spae=". 372/a>2spae class="comment"> */2/spae=". 382/a>static const struct.2a href="+code=afs_call_typ " class="sref">afs_call_typ 2/a> 2a href="+coIdelg">"S_calRXCBCallBack" class="sreIdelg">"S_calRXCBCallBack2/a> = {". 392/a>        .2a href="+code=nam " class="sref">nam 2/a>           =.2spae class="strinIdelg">"S_cal;CB.CallBack". 402/a>        .2a href="+code=deliver" class="sref">deliver2/a>        =.2a href="+code=afs_deliver_cb_init_call_back_state" class="sref">afs_deliver_cb_init_call_baquot;. 412/a>        .2a href="+code=abort_to_error" class="sref">abort_to_error2/a> =       =.2a href="+cabort_to_error" class="sref">a"+cabort_to_error2.6.214I value="v2.6.27519"
	  >5ption0e=deliver.2a4llBa5k&quo5;
  v2.6.1code=nam " class="sref">nam 2/a>           =.2spae class="string">"CB.CallBack"nam 2/a>  5service.5#L33" idv2L33" class="l5ne" n5m v2L}_call2/a> *);". 342/a>". 352/a>2spae class="comment">/*2/spae=". 362/a>2spae class="comIdelg">"S_cal3 CB.CallBack operaalue typ 2/spae=". 372/a>2spae class="comment"> */2/spae=". 382/a>static const struct.2a href="+code=afs_call_typ " class="sref">afs_call_typ 2/a> 2a href="+coIdelg">"S_call_back_state3" class="+coIdelg">"S_callRXCBCallBack2/a> = {". 392/a>        .2a href="+code=nam " class="sref">nam 2/a>           =.2spae class="strinIdelg">"S_cal3;CB.CallBack". 402/a>        .2a href="+code=deliver" class="sref">deliver2/a>        =.2a href="+code=afs_deliver_cb_init_call_back_state3" class="sref">afs_deliver_cb_init_call_bacquot;. 412/a>        .2a href="+code=abort_to_error" class="sref">abort_to_error2/a> =       =.2a href="+cabort_to_error" class="sref">a"+cabort_to_error2.6.214I value="v2.6.27619"
	  >6ption0e=deliver.2a4llBa6k&quo6;
  v2.6.1code=nam " class="sref">nam 2/a>           =.2spae class="string">"CB.CallBack"nam 2/a>  6service.6#L33" idv2L33" class="l6ne" n6m v2L}_call2/a> *);". 342/a>". 352/a>2spae class="comment">/*2/spae=". 362/a>2spae class="comPdeli CB.CallBack operaalue typ 2/spae=". 372/a>2spae class="comment"> */2/spae=". 382/a>static const struct.2a href="+code=afs_call_typ " class="sref">afs_call_typ 2/a> 2a href="+coPdeliver_cb_probe" class="+coPdeliRXCBCallBack2/a> = {". 392/a>        .2a href="+code=nam " class="sref">nam 2/a>           =.2spae class="strinPdeli;CB.CallBack". 402/a>        .2a href="+code=deliver" class="sref">deliver2/a>        =.2a href="+code=afs_deliver_cb_probe" class="sref">afs_deliver_quot;. 412/a>        .2a href="+code=abort_to_error" class="sref">abort_to_error2/a> =       =.2a href="+cabort_to_error" class="sref">a"+cabort_to_error2.6.214I value="v2.6.27719"
	  >7ption0e=deliver.2a4llBa7k&quo7;
  v2.6.1code=nam " class="sref">nam 2/a>           =.2spae class="string">"CB.CallBack"nam 2/a>  7service.7#L33" idv2L33" class="l7ne" n7m v2L}_call2/a> *);". 342/a>". 352/a>2spae class="comment">/*2/spae=". 362/a>2spae class="comPdeliUuid CB.CallBack operaalue typ 2/spae=". 372/a>2spae class="comment"> */2/spae=". 382/a>static const struct.2a href="+code=afs_call_typ " class="sref">afs_call_typ 2/a> 2a href="+coPdeliUr_cb_probe_uuid" class="+coPdeliUr_cRXCBCallBack2/a> = {". 392/a>        .2a href="+code=nam " class="sref">nam 2/a>           =.2spae class="strinPdeliUr_c;CB.CallBack". 402/a>        .2a href="+code=deliver" class="sref">deliver2/a>        =.2a href="+code=afs_deliver_cb_probe_uuid" class="sref">afs_deliver_cb_prquot;. 412/a>        .2a href="+code=abort_to_error" class="sref">abort_to_error2/a> =       =.2a href="+cabort_to_error" class="sref">a"+cabort_to_error2.6.214I value="v2.6.27819"
	  >8ption0e=deliver.2a4llBa8k&quo8;
  v2.6.1code=nam " class="sref">nam 2/a>           =.2spae class="string">"CB.CallBack"nam 2/a>  8service.8#L33" idv2L33" class="l8ne" n8m v2L}_call2/a> *);". 342/a>". 352/a>2spae class="comment">/*2/spae=". 362/a>2spae class="comTellMeAcb_tYl_me_ab CB.CallBack operaalue typ 2/spae=". 372/a>2spae class="comment"> */2/spae=". 382/a>static const struct.2a href="+code=afs_call_typ " class="sref">afs_call_typ 2/a> 2a href="+coTellMeAcb_tYl_me_abb_probe_uuid" class="+coTellMeAcb_tYl_me_abRXCBCallBack2/a> = {". 392/a>        .2a href="+code=nam " class="sref">nam 2/a>           =.2spae class="strinTellMeAcb_tYl_me_ab;CB.CallBack". 402/a>        .2a href="+code=deliver" class="sref">deliver2/a>        =.2a href="+code=afs_deliver_cb_tell_me_about_yourself" class="sref">afs_deliver_cb_tell_me_about_quot;. 412/a>        .2a href="+code=abort_to_error" class="sref">abort_to_error2/a> =       =.2a href="+cabort_to_error" class="sref">a"+cabort_to_error2.6.214I value="v2.6.27919"
	  >9ption0e=deliver.2a4llBa9k&quo9;
  v2.6.1code=nam " class="sref">nam 2/a>           =.2spae class="string">"CB.CallBack"nam 2/a>  9service.9#L33" idv2L33" class="l9ne" n9m v2L}_call2/a> *);". 342/a>". 352/a>2spae class="comment">/*2/spae=". 362/a>2spae class="roae r>. inspae c cnt">/m AFS Ca="srefomment">/*2/spae=". .72/a>2spae class="- " onsubT if suppsreed, F if notefomment">/*2/spae=". .82/a>2spae class="comment"> */2/spae=" *,.2a href="+code=bool" class="sr class="string">"Cinspae cf="+code=afs_call" class=;Cinspae cf="+cm_destructor2/a>(struct.2a href="+code=afs_call" class="sref">af2/a>(struct.2a ="+code=afs_call" c="sref">)slue.2/spae="lBack2/a> = {". 412/a>(struct.2a uc#L32" idv2all" cuam v2L32/a>(struct.2a CB.CallBa__cb_probe_uuid" cCB.CallBa__cort_to_error2/a> =    ntohcode=afs_call" cntohcm_des2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a CB.CallBa_IDb_probe_uuid" cCB.CallBa_IDef">)m.h2/a>"". 342/a>". 412/a>(struct.2a _eass=b_probe_uuid" c_eass=m_des2         =.2spae class="st{rinOP %u};CB.CallBack&q32/a>(struct.2a CB.CallBa__cb_probe_uuid" cCB.CallBa__cort_)m.h2/a>"". 342/a>". 25switch s2/a>(struct.2a CB.CallBa__cb_probe_uuid" cCB.CallBa__cort_)llBack2/a> = {". 25case32/a>(struct.2a code=afs_SRXCBCallBack" cref">afs_SRXCB:Back2/a> = {". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a de=afs_call_typ " cf">afs_ca= &/2/a>(struct.2a lass="+code=afs_SRXCBCallBack" class="sref">afs_SRXCBm.h2/a>"". 272/a>    " onsub2/a>(struct.2a drs_cm_workqueue" cdrs_RXCBm.h2/a>"". 25case32/a>(struct.2a coIdelg">"S_calRXCBCallBack" creIdelg">"S_calRXCB:Back2/a> = {". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a de=afs_call_typ " cf">afs_ca= &/2/a>(struct.2a lass="+coIdelg">"S_calRXCBCallBack" class="sreIdelg">"S_calRXCBm.h2/a>"". 272/a>    " onsub2/a>(struct.2a drs_cm_workqueue" cdrs_RXCBm.h2/a>"". 25case32/a>(struct.2a coIdelg">"S_call_back_state3" ccoIdelg">"S_callRXCB:Back2/a> = {". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a de=afs_call_typ " cf">afs_ca= &/2/a>(struct.2a lass="+coIdelg">"S_call_back_state3" class="+coIdelg">"S_callRXCBm.h2/a>"". 272/a>    " onsub2/a>(struct.2a drs_cm_workqueue" cdrs_RXCBm.h2/a>"". 25case32/a>(struct.2a coPdeliver_cb_probe" ccoPdeliRXCB:Back2/a> = {". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a de=afs_call_typ " cf">afs_ca= &/2/a>(struct.2a lass="+coPdeliver_cb_probe" class="+coPdeliRXCBm.h2/a>"". 272/a>    " onsub2/a>(struct.2a drs_cm_workqueue" cdrs_RXCBm.h2/a>"". 25case32/a>(struct.2a coTellMeAcb_tYl_me_abb_probe_uuid" ccoTellMeAcb_tYl_me_abRXCB:Back2/a> = {". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a de=afs_call_typ " cf">afs_ca= &/2/a>(struct.2a lass="+coTellMeAcb_tYl_me_abb_probe_uuid" class="+coTellMeAcb_tYl_me_abRXCBm.h2/a>"". 272/a>    " onsub2/a>(struct.2a drs_cm_workqueue" cdrs_RXCBm.h2/a>"". 27default:Back2/a> = {". 322/a>    " onsub2/a>(struct.2a mit="cm_workqueue" cmit="RXCBm.h2/a>"". 27}.h2/a>"""""". 362/a>2spae class="comment">/*2/spae=". .72/a>2spae class="cle>. up a cnt">/m AFS Ca="srefomment">/*2/spae=". .82/a>2spae class="comment"> */2/spae=". 232/a>static void.2a href="+code=afs_cm_destructor" class="sref">afs_cm_destructor2/a>(struct.2a href="+code=afs_call" class="sref">af2/a>(struct.2a ="+code=afs_call" c="sref">)slue.2/spae="lBack2/a> = {". 412/a>(struct.2a _eass=b_probe_uuid" c_eass=m_des2         =.2spae class="st;CB.CallBack&)m.h2/a>"". 342/a>". 412/a>(struct.2a lassput_f="fs=b_probe_uuid" classput_f="fs=m_des2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a f="fs=b_probe_uuid" cf="fs=m_de)m.h2/a>"". 412/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a f="fs=b_probe_uuid" cf="fs=m_deto_error2/a> =    NULLb_probe_uuid" cNULLRXCBm.h2/a>"". 412/a>(struct.2a k prob_probe_uuid" ck prom_des2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a s="ss=b_probe_uuid" cs="ss=m_de)m.h2/a>"". 412/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a s="ss=b_probe_uuid" cs="ss=m_deto_error2/a> =    NULLb_probe_uuid" cNULLRXCBm.h2/a>"""""". .92/a>2spae class="comment">/*2/spae=". tiona>2spae class= "srowent">>"
2f="fs= to see if nt">cnt">/m AFS Cais still "sivperaalue typ 2/spae=". .12/a>2spae class="comment"> */2/spae="1
ption0e=deliver.2a4llBa1ck&qu1t;. 232/a>static void.2a ="+AFSCB_de=afs_SRXCBCallBack" c="+AFSCB_de=afs_Sm_destructor2/a>(struct.2a ref"de=workqueue_struct" classf">workqueue_struct2/a> *2a lassqueue_struct" classef">)slue.2/spae=" = {". 41tructor2/a>(struct.2a href="+code=afs_call" class="sref">af2/a>(struct.2a ="+code=afs_call" c="sref">to_error2/a> =    iv iaL4"r_obb_probe_uuid" civ iaL4"r_obm_des2/a>(struct.2a lassqueue_struct" classef">s_call2/a> *, struct.2a href="+code=afs_call" class="sref">q32/a>(struct.2a lassqueue_struct" classef">)nit.h2/a>>""". 412/a>(struct.2a _eass=b_probe_uuid" c_eass=m_des2         =.2spae class="st;CB.CallBack&)m.h2/a>"""". 252/a>#endif .2spae class="be sure to send nt">reply *before= "ttempte c to spam nt">commf="fs=m_mment"> */2/spae=". .92/a>2spae classssssssss* with FSFetchS_caus>requef"s Backt">vn.2as with broken _delivers 
2ftefomment">/*2/spae=". tiona>2spae classssssssss* nt">commf="fs= get312/o a fs/ious>cycleommenrye c to break furundaefomment">/*2/spae=". .12/a>2spae classssssssss* _delivers becaus redihadn't>receivpd spaplellBacmment">ref">afs_S opefomment">/*2/spae="15ption0e=deliver.2a4llBa15k&qu15am v2L2">. .22/a>2spae classssssssss* yet3="comment"> */2/spae=". 412/a>(struct.2a lasssend_empty_replyode=afs_call" classsend_empty_replym_des2/a>(struct.2a ="+code=afs_call" c="sref">)m.h2/a>"". 342/a>". 412/a>(struct.2a lassbreaks_deliversode=afs_call" classbreaks_deliversm_des2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a f="fs=b_probe_uuid" cf="fs=m_deq32/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a counkqueue_struct" ccounkm_deq32/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a requef"ode=afs_call" crequef"ef">)m.h2/a>"". 412/a>(struct.2a _leavob_probe_uuid" c_leavom_des2         =.2spae class="st;CB.CallBack&)m.h2/a>"""""". .92/a>2spae class="comment">/*2/spae=". tiona>2spae class= ="sref">requef" data /o a comment"> * ="srefomment">/*2/spae=". .12/a>2spae class="comment"> */2/spae="16ption0e=deliver.2a4llBa16k&qu16;. 292/a>static int.2a href="+code=afs_deliver_cb_callback" class="sref">afs_deliver_cb_callback2/a>(struct.2a href="+code=afs_call" class="sref">af2/a>(struct.2a ="+code=afs_call" c="sref">s_call2/a> *, struct.2a href="+code=sk_buff" class="sref">s> *, struct.2a hrbcode=sk_buff" clabef">s"> */2/spae=". 272/a>                       2/a>(struct.2a sref="+code=bool" class="sr class="string">cod"ode=afs_call" ccod"ef">)slue.2/spae=" = {". 25sllback2/a>(struct.2a href="+civer_cb_callback" class_deliver_cb_af2/a>(struct.2a =bcode=sk_buff" ccbRXCBm.h2/a>"". 25sllback2/a>(struct.2a hreff="fs=b_probe_uuid" classf="fs=m_dets> *, struct.2a h="fs=b_probe_uuid" cf="fs=m_dem.h2/a>"". 25sllback2/a>(struct.2a in_add=b_probe_uuid" cin_add=="sr class="string">add=b_probe_uuid" cadd=="srm.h2/a>"". 412/a>(struct.2a __bec#L32" idv2all" c__bec#m_dets> *, struct.2a bp="+code=bool" clp="srm.h2/a>"". 39> *, struct.2a uc#L32" idv2all" cuam v2L32/a>(struct.2a tmp="+code=bool" ctmp="srm.h2/a>"". 4092/a>static int.2a re"ode=afs_call" crekm_deq32/a>(struct.2a loop="+code=bool" cloop="srm.h2/a>"". 112/a>"17ption0e=deliver.2a4llBa17k&qu17;(struct.2a _eass=b_probe_uuid" c_eass=m_des2         =.2spae class="st{%u},{%u},%d;CB.CallBack&q32/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a unmarsh"+code=afs_call" cunmarsh"+cm_deq32/a>(struct.2a hrbcode=sk_buff" clabef">-nux/2/a>(struct.2a lt ty+code=bool" clenm_deq32/a>(struct.2a lod"ode=afs_call" ccod"ef">)m.h2/a>"". 232/a>". 41twitch s2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a unmarsh"+code=afs_call" cunmarsh"+cm_de)llBack2/a> = {". 25case30:Back2/a> = {". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a offse"ode=afs_call" coffse"ef">to_0m.h2/a>"". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a unmarsh"+code=afs_call" cunmarsh"+cm_de++m.h2/a>"""". 272/a>    2/a>#endif .2spae class="extraackublisID arrayistr its counk092 two5slepss="comment"> */2/spae=". 40case31:Back2/a> = {". 272/a>    2/a>(struct.2a _debugb_probe_uuid" c_debugm_des2         =.2spae class="stextraacksID counk;CB.CallBack&)m.h2/a>""18ption0e=deliver.2a4llBa18k&qu18m v2L32">. 322/a>    >static int.2a re"ode=afs_call" crekm_deae class="string">&quoextraac_datab_probe_uuid" classextraac_datam_des2/a>(struct.2a ="+code=afs_call" c="sref">q32/a>(struct.2a hrbcode=sk_buff" clabef">q32/a>(struct.2a lod"ode=afs_call" ccod"ef">, &/2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a dmp="+code=bool" ctmp="sr, 4)m.h2/a>"". 272/a>    twitch s2/a>(struct.2a re"ode=afs_call" crekm_de)llBack2/a> = {". 272/a>    case30:72/a>    breakm.h2/a>"". 252/a>    case3-2/a>(struct.2a EAGAINode=afs_call" cEAGAIN v2L:72/" onsub0m.h2/a>"". 272/a>    default:2/a>    " onsub2/a>(struct.2a re"ode=afs_call" crekm_dem.h2/a>"". 272/a>    }.h2/a>"""". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a counkqueue_struct" ccounkm_deto_error2/a> =    ntohcode=afs_call" cntohcm_des2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a dmp="+code=bool" ctmp="sr)m.h2/a>"". 272/a>    2/a>(struct.2a _debugb_probe_uuid" c_debugm_des2         =.2spae class="stsID counk: %u;CB.CallBack&q32/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a counkqueue_struct" ccounkm_de)m.h2/a>"". 272/a>    if s2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a counkqueue_struct" ccounkm_detnux/32/a>(struct.2a AFSCBMAXqueue_struct" cAFSCBMAXef">)slue.2/spae="19ption0e=deliver.2a4llBa19k&qu19m v2L32">. 322/a>    2/a>    " onsub-2/a>(struct.2a EBADMSGode=afs_call" cEBADMSGm_dem.h2/a>"". 232/a>". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a s="ss=b_probe_uuid" cs="ss=m_deto_error2/a> =    km"srocb_probe_uuid" ckm"srocm_des2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a counkqueue_struct" ccounkm_det* 3t* 4q32/a>(struct.2a GFP_KERNELb_probe_uuid" cGFP_KERNELm_de)m.h2/a>"". 252/a>    if s!2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a s="ss=b_probe_uuid" cs="ss=m_de)slue.2/spae=". 272/a>    2/a>    " onsub-2/a>(struct.2a ENOMEMode=afs_call" cENOMEMm_dem.h2/a>"". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a offse"ode=afs_call" coffse"ef">to_0m.h2/a>"". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a unmarsh"+code=afs_call" cunmarsh"+cm_de++m.h2/a>"". 192/a>". 40case32:Back2/a> = {". 272/a>    2/a>(struct.2a _debugb_probe_uuid" c_debugm_des2         =.2spae class="stextraacksID array;CB.CallBack&)m.h2/a>"". 322/a>    >static int.2a re"ode=afs_call" crekm_deae class="string">&quoextraac_datab_probe_uuid" classextraac_datam_des2/a>(struct.2a ="+code=afs_call" c="sref">q32/a>(struct.2a hrbcode=sk_buff" clabef">q32/a>(struct.2a lod"ode=afs_call" ccod"ef"&q32/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a s="ss=b_probe_uuid" cs="ss=m_des_call2/a> *,". 272/a>                           2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a counkqueue_struct" ccounkm_det* 3t* 4)m.h2/a>"". 272/a>    twitch s2/a>(struct.2a re"ode=afs_call" crekm_de)llBack2/a> = {". 252/a>    case30:72/a>    breakm.h2/a>"". 272/a>    case3-2/a>(struct.2a EAGAINode=afs_call" cEAGAIN v2L:72/" onsub0m.h2/a>"". 272/a>    default:2/a>    " onsub2/a>(struct.2a re"ode=afs_call" crekm_dem.h2/a>"". 272/a>    }.h2/a>"". 192/a>". 272/a>    2/a>(struct.2a _debugb_probe_uuid" c_debugm_des2         =.2spae class="stunmarsh"+cksID array;CB.CallBack&)m.h2/a>"". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a requef"ode=afs_call" crequef"ef">to_error2/a> =    kc"srocb_probe_uuid" ckc"srocm_des2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a counkqueue_struct" ccounkm_des_call2/a> *,". 322/a>    2/a>                    sizeofcallback2/a>(struct.2a href="+civer_cb_callback" class_deliver_cb_)s_call2/a> *,". 272/a>                            2/a>(struct.2a GFP_KERNELb_probe_uuid" cGFP_KERNELm_de)m.h2/a>"". 272/a>    if s!2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a requef"ode=afs_call" crequef"ef">).h2/a>"". 252/a>            " onsub-2/a>(struct.2a ENOMEMode=afs_call" cENOMEMm_dem.h2/a>"""". 272/a>    2/a>(struct.2a =bcode=sk_buff" ccbRXCBto_error2/a> =    i"+code=afs_call" c="sref">-nux/2/a>(struct.2a requef"ode=afs_call" crequef"ef">m.h2/a>"". 272/a>    2/a>(struct.2a bp="+code=bool" clp="srto_error2/a> =    i"+code=afs_call" c="sref">-nux/2/a>(struct.2a s="ss=b_probe_uuid" cs="ss=m_dem.h2/a>"". 272/a>    for s2/a>(struct.2a loop="+code=bool" cloop="srto_error2/a> =    i"+code=afs_call" c="sref">-nux/2/a>(struct.2a counkqueue_struct" ccounkm_de/32/a>(struct.2a loop="+code=bool" cloop="srtnux/30/32/a>(struct.2a loop="+code=bool" cloop="sr--q32/a>(struct.2a =bcode=sk_buff" ccbRXCB++)llBack2/a> = {". 272/a>    2/a>    2/a>(struct.2a =bcode=sk_buff" ccbRXCB-nux/2/a>(struct.2a f_cb_probe_uuid" cf_cort_ >
  v2.6.1code=v_cb_probe_uuid" cv_cort_ttttto_error2/a> =    ntohcode=afs_call" cntohcm_dess> *, struct.2a bp="+code=bool" clp="sr++)m.h2/a>"". 272/a>    2/a>    2/a>(struct.2a =bcode=sk_buff" ccbRXCB-nux/2/a>(struct.2a f_cb_probe_uuid" cf_cort_ >
  v2.6.1code=vn.2ab_probe_uuid" cvn.2a v2L27"o_error2/a> =    ntohcode=afs_call" cntohcm_dess> *, struct.2a bp="+code=bool" clp="sr++)m.h2/a>"". 322/a>    2/a>    2/a>(struct.2a =bcode=sk_buff" ccbRXCB-nux/2/a>(struct.2a f_cb_probe_uuid" cf_cort_ >
  v2.6.1code=uniqs_cm_workqueue" cuniqs_ v2L32o_error2/a> =    ntohcode=afs_call" cntohcm_dess> *, struct.2a bp="+code=bool" clp="sr++)m.h2/a>"". 272/a>            2/a>(struct.2a =bcode=sk_buff" ccbRXCB-nux/2/a>(struct.2a de=afs_call_typ " cf">afs_caaaaaaaao_error2/a> =    AFSCM_CB_UNTYPEDb_probe_uuid" cAFSCM_CB_UNTYPEDm_dem.h2/a>"". 272/a>    }.h2/a>"""". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a offse"ode=afs_call" coffse"ef">to_0m.h2/a>"". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a unmarsh"+code=afs_call" cunmarsh"+cm_de++m.h2/a>"""". 272/a>    2/a>#endif .2spae class="extraackubli_deliver arrayistr its counk092 two5slepss="comment"> */2/spae=". 40case33:Back2/a> = {". 272/a>    2/a>(struct.2a _debugb_probe_uuid" c_debugm_des2         =.2spae class="stextraackCB counk;CB.CallBack&)m.h2/a>"". 322/a>    >static int.2a re"ode=afs_call" crekm_deae class="string">&quoextraac_datab_probe_uuid" classextraac_datam_des2/a>(struct.2a ="+code=afs_call" c="sref">q32/a>(struct.2a hrbcode=sk_buff" clabef">q32/a>(struct.2a lod"ode=afs_call" ccod"ef">, &/2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a dmp="+code=bool" ctmp="sr, 4)m.h2/a>"". 272/a>    twitch s2/a>(struct.2a re"ode=afs_call" crekm_de)llBack2/a> = {". 272/a>    case30:72/a>    breakm.h2/a>"". 252/a>    case3-2/a>(struct.2a EAGAINode=afs_call" cEAGAIN v2L:72/" onsub0m.h2/a>"". 272/a>    default:2/a>    " onsub2/a>(struct.2a re"ode=afs_call" crekm_dem.h2/a>"". 272/a>    }.h2/a>"""". 272/a>    2/a>(struct.2a dmp="+code=bool" ctmp="srto_error2/a> =    ntohcode=afs_call" cntohcm_des2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a dmp="+code=bool" ctmp="sr)m.h2/a>"". 272/a>    2/a>(struct.2a _debugb_probe_uuid" c_debugm_des2         =.2spae class="stCB counk: %u;CB.CallBack&q32/a>(struct.2a dmp="+code=bool" ctmp="sr)m.h2/a>"". 272/a>    if s2/a>(struct.2a dmp="+code=bool" ctmp="srt!o_error2/a> =    i"+code=afs_call" c="sref">-nux/2/a>(struct.2a counkqueue_struct" ccounkm_de &/&/ 2/a>(struct.2a dmp="+code=bool" ctmp="srt!o_0).h2/a>""2
ption0e=deliver.2a4llBa2ck&qu24m v2L32">. 322/a>    2/a>    " onsub-2/a>(struct.2a EBADMSGode=afs_call" cEBADMSGm_dem.h2/a>"". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a offse"ode=afs_call" coffse"ef">to_0m.h2/a>"". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a unmarsh"+code=afs_call" cunmarsh"+cm_de++m.h2/a>"". 252/a>    if s2/a>(struct.2a dmp="+code=bool" ctmp="srtoo_0).h2/a>"". 272/a>    2/a>    goto 2/a>(struct.2a empty_cb_array="+code=bool" cempty_cb_arraym_dem.h2/a>"""". 25case34:Back2/a> = {". 272/a>    2/a>(struct.2a _debugb_probe_uuid" c_debugm_des2         =.2spae class="stextraackCB array;CB.CallBack&)m.h2/a>"". 272/a>    2/a>(struct.2a re"ode=afs_call" crekm_deae class="string">&quoextraac_datab_probe_uuid" classextraac_datam_des2/a>(struct.2a ="+code=afs_call" c="sref">q32/a>(struct.2a hrbcode=sk_buff" clabef">q32/a>(struct.2a lod"ode=afs_call" ccod"ef">, error2/a> =    i"+code=afs_call" c="sref">-nux/2/a>(struct.2a requef"ode=afs_call" crequef"ef">s_call2/a> *,". 272/a>    2/a>    7">. 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a counkqueue_struct" ccounkm_det* 3t* 4)m.h2/a>""25ption0e=deliver.2a4llBa25k&qu25m v2L32">. 322/a>    twitch s2/a>(struct.2a re"ode=afs_call" crekm_de)llBack2/a> = {". 272/a>    case30:72/a>    breakm.h2/a>"". 272/a>    case3-2/a>(struct.2a EAGAINode=afs_call" cEAGAIN v2L:72/" onsub0m.h2/a>"". 252/a>    default:2/a>    " onsub2/a>(struct.2a re"ode=afs_call" crekm_dem.h2/a>"". 272/a>    }.h2/a>"""". 272/a>    2/a>(struct.2a _debugb_probe_uuid" c_debugm_des2         =.2spae class="stunmarsh"+ckCB array;CB.CallBack&)m.h2/a>"". 272/a>    2/a>(struct.2a =bcode=sk_buff" ccbRXCBto_error2/a> =    i"+code=afs_call" c="sref">-nux/2/a>(struct.2a requef"ode=afs_call" crequef"ef">m.h2/a>"". 272/a>    2/a>(struct.2a bp="+code=bool" clp="srto_error2/a> =    i"+code=afs_call" c="sref">-nux/2/a>(struct.2a s="ss=b_probe_uuid" cs="ss=m_dem.h2/a>"". 272/a>    for s2/a>(struct.2a loop="+code=bool" cloop="srto_error2/a> =    i"+code=afs_call" c="sref">-nux/2/a>(struct.2a counkqueue_struct" ccounkm_de/32/a>(struct.2a loop="+code=bool" cloop="srtnux/30/32/a>(struct.2a loop="+code=bool" cloop="sr--q32/a>(struct.2a =bcode=sk_buff" ccbRXCB++)llBack2/a> = {"26ption0e=deliver.2a4llBa26k&qu26m v2L32">. 322/a>    2/a>    2/a>(struct.2a =bcode=sk_buff" ccbRXCB-nux/2/a>(struct.2a versio ty+code=bool" cversio ort_ttttto_error2/a> =    ntohcode=afs_call" cntohcm_dess> *, struct.2a bp="+code=bool" clp="sr++)m.h2/a>"". 272/a>            2/a>(struct.2a =bcode=sk_buff" ccbRXCB-nux/2/a>(struct.2a expiry="+code=bool" cexpiry v2L27">. o_error2/a> =    ntohcode=afs_call" cntohcm_dess> *, struct.2a bp="+code=bool" clp="sr++)m.h2/a>"". 272/a>            2/a>(struct.2a =bcode=sk_buff" ccbRXCB-nux/2/a>(struct.2a de=afs_call_typ " cf">afs_caaaaaaaao_error2/a> =    ntohcode=afs_call" cntohcm_dess> *, struct.2a bp="+code=bool" clp="sr++)m.h2/a>"". 252/a>    }.h2/a>"""". 252/a>(struct.2a empty_cb_array="+code=bool" cempty_cb_arraym_de:Back2/a> = {". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a offse"ode=afs_call" coffse"ef">to_0m.h2/a>"". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a unmarsh"+code=afs_call" cunmarsh"+cm_de++m.h2/a>"""". 27case35:Back2/a> = {"27ption0e=deliver.2a4llBa27k&qu27m v2L32">. 322/a>    >static int.2a _debugb_probe_uuid" c_debugm_des2         =.2spae class="sttrailer;CB.CallBack&)m.h2/a>"". 272/a>    if s2/a>(struct.2a hrbcode=sk_buff" clabef">-nux/2/a>(struct.2a lt ty+code=bool" clenm_det!o_0).h2/a>"". 272/a>            " onsub-2/a>(struct.2a EBADMSGode=afs_call" cEBADMSGm_dem.h2/a>"". 252/a>    breakm.h2/a>"". 27}.h2/a>"""". 27if s!2/a>(struct.2a lod"ode=afs_call" ccod"ef">).h2/a>"". 272/a>    " onsub0m.h2/a>"""". 412/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a f_calRXCBCallBack" cs_calRXCBao_error2/a> =    AFS_CALL_REPLYINGode=afs_call" cAFS_CALL_REPLYINGm_dem.h2/a>""28ption0e=deliver.2a4llBa28k&qu282 v2L34">. 342/a>". 272/a>#endif .2spae class="we'll needent">>"
2mf="fs= record asentat tells us whichmf=t obm_mment"> */2/spae=". .22/a>2spae classssssssss* vn.2as to CB.Cale upons="comment"> */2/spae=". 412/a>(struct.2a memcpy="+code=bool" cmemcpym_des&/2/a>(struct.2a ldd=b_probe_uuid" cadd=="sr, &/2/a>(struct.2a ip_hd=b_probe_uuid" cip_hd=m_des2/a>(struct.2a hrbcode=sk_buff" clabef">)-nux/2/a>(struct.2a fldd=b_probe_uuid" csadd=="sr, 4)m.h2/a>"". 412/a>(struct.2a h="fs=b_probe_uuid" cf="fs=m_deae class="string">&quofindff="fs=b_probe_uuid" classfindff="fs=m_des&/2/a>(struct.2a ldd=b_probe_uuid" cadd=="sr)m.h2/a>"". 27if s!2/a>(struct.2a h="fs=b_probe_uuid" cf="fs=m_de).h2/a>"". 272/a>    " onsub-2/a>(struct.2a ENOTCONNode=afs_call" cENOTCONNm_dem.h2/a>"". 39> *, struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a f="fs=b_probe_uuid" cf="fs=m_deto_error2/a> =    f="fs=b_probe_uuid" cf="fs=m_dem.h2/a>"""". 412/a>(struct.2a INIT_WORKb_probe_uuid" cINIT_WORKm_des&/2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a lassqueue_struct" classef">s_2/a>(struct.2a ="+AFSCB_de=afs_SRXCBCallBack" c="+AFSCB_de=afs_Sm_de)m.h2/a>""29ption0e=deliver.2a4llBa29k&qu29m v2L32">. 322/a>(struct.2a queue_lassqueue_struct" cqueue_lassm_des2/a>(struct.2a lasswqb_probe_uuid" classwq="sr, &/2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a lassqueue_struct" classef">)m.h2/a>"". 27" onsub0m.h2/a>"""""". 362/a>2spae class="comment">/*2/spae=". .72/a>2spae class="asrowent">>"
2f="fs= to requef" _deliver s_cal (re-)initialisatio oromment">/*2/spae=". .82/a>2spae class="comment"> */2/spae=". 232/a>static void.2a ="+AFSCB_Initde=afs_SS_calRXCBCallBack" c="+AFSCB_Initde=afs_SS_calm_destructor2/a>(struct.2a ref"de=workqueue_struct" classf">workqueue_struct2/a> *2a lassqueue_struct" classef">)slue.2/spae="lBack2/a> = {". 27tructor2/a>(struct.2a href="+code=afs_call" class="sref">af2/a>(struct.2a ="+code=afs_call" c="sref">to_error2/a> =    iv iaL4"r_obb_probe_uuid" civ iaL4"r_obm_des2/a>(struct.2a lassqueue_struct" classef">s_call2/a> *, struct.2a href="+code=afs_call" class="sref">q32/a>(struct.2a lassqueue_struct" classef">)nit.h2/a>>". 342/a>". 412/a>(struct.2a _eass=b_probe_uuid" c_eass=m_des2         =.2spae class="st{%p};CB.CallBack&q32/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a h="fs=b_probe_uuid" cf="fs=m_de)nit.h2/a>>". 342/a>". 412/a>(struct.2a lassinits_deliver_f_calRXCBCallBack" classinits_deliver_f_calm_des2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a h="fs=b_probe_uuid" cf="fs=m_de)nit.h2/a>>". 412/a>(struct.2a aasssend_empty_replyode=afs_call" classsend_empty_replym_des2/a>(struct.2a ="+code=afs_call" c="sref">)m.h2/a>"". 252/a>(struct.2a _leavob_probe_uuid" c_leavom_des2         =.2spae class="st;CB.CallBack&)m.h2/a>"""". 192/a>". tiona>2spae class="comment">/*2/spae=". .12/a>2spae class= ="sref">requef" data /o a comInitde=afs_SS_cal ="srefomment">/*2/spae=". .22/a>2spae class="comment"> */2/spae=". 292/a>static int.2a href="+code=afsinits_del_iver_f_calRXCBCallBack" class="+code=afsinits_del_iver_f_calm_destructor2/a>(struct.2a href="+code=afs_call" class="sref">af2/a>(struct.2a ="+code=afs_call" c="sref">s_call2/a> *,". 272/a>                                   call2/a> *, struct.2a href="+code=sk_buff" class="sref">s> *, struct.2a hrbcode=sk_buff" clabef">s"> */2/spae=". 252/a>                                   > *, struct.2a bref="+code=bool" class="sr class="string">cod"ode=afs_call" ccod"ef">)slue.2/spae=" = {". 25sllback2/a>(struct.2a areff="fs=b_probe_uuid" classf="fs=m_dets> *, struct.2a h="fs=b_probe_uuid" cf="fs=m_dem.h2/a>"". 27sllback2/a>(struct.2a in_add=b_probe_uuid" cin_add=="sr class="string">add=b_probe_uuid" cadd=="srm.h2/a>"". 192/a>". 272/a>(struct.2a _eass=b_probe_uuid" c_eass=m_des2         =.2spae class="st,{%u},%d;CB.CallBack&q32/a>(struct.2a hrbcode=sk_buff" clabef">-nux/2/a>(struct.2a lt ty+code=bool" clenm_deq32/a>(struct.2a lod"ode=afs_call" ccod"ef">)m.h2/a>"". 112/a>". 32if s2/a>(struct.2a hrbcode=sk_buff" clabef">-nux/2/a>(struct.2a lt ty+code=bool" clenm_detnux/30)slue.2/spae=". 272/a>    " onsub-2/a>(struct.2a EBADMSGode=afs_call" cEBADMSGm_dem.h2/a>"". 27if s!2/a>(struct.2a lod"ode=afs_call" ccod"ef">).h2/a>"". 252/a>    " onsub0m.h2/a>"""". 272/a>#endif .2spae class="no unmarsh"+ce c requireds="comment"> */2/spae=". 412/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a f_calRXCBCallBack" cs_calRXCBao_error2/a> =    AFS_CALL_REPLYINGode=afs_call" cAFS_CALL_REPLYINGm_dem.h2/a>"". 192/a>". 402/a>#endif .2spae class="we'll needent">>"
2mf="fs= record asentat tells us whichmf=t obm_mment"> */2/spae=". .12/a>2spae classssssssss* vn.2as to CB.Cale upons="comment"> */2/spae=". 322/a>(struct.2a memcpy="+code=bool" cmemcpym_des&/2/a>(struct.2a ldd=b_probe_uuid" cadd=="sr, &/2/a>(struct.2a ip_hd=b_probe_uuid" cip_hd=m_des2/a>(struct.2a hrbcode=sk_buff" clabef">)-nux/2/a>(struct.2a fldd=b_probe_uuid" csadd=="sr, 4)m.h2/a>"". 412/a>(struct.2a h="fs=b_probe_uuid" cf="fs=m_deae class="string">&quofindff="fs=b_probe_uuid" classfindff="fs=m_des&/2/a>(struct.2a ldd=b_probe_uuid" cadd=="sr)m.h2/a>"". 27if s!2/a>(struct.2a h="fs=b_probe_uuid" cf="fs=m_de).h2/a>"". 252/a>    " onsub-2/a>(struct.2a ENOTCONNode=afs_call" cENOTCONNm_dem.h2/a>"". 412/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a f="fs=b_probe_uuid" cf="fs=m_deto_error2/a> =    f="fs=b_probe_uuid" cf="fs=m_dem.h2/a>"""". 412/a>(struct.2a INIT_WORKb_probe_uuid" cINIT_WORKm_des&/2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a lassqueue_struct" classef">s_2/a>(struct.2a ="+AFSCB_Initde=afs_SS_calRXCBCallBack" c="+AFSCB_Initde=afs_SS_calm_de)m.h2/a>"". 39> *, struct.2a queue_lassqueue_struct" cqueue_lassm_des2/a>(struct.2a lasswqb_probe_uuid" classwq="sr, &/2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a lassqueue_struct" classef">)m.h2/a>"". 27" onsub0m.h2/a>""""3
ption0e=deliver.2a4llBa3ck&qu342 v2L34">. 342/a>". tiona>2spae class="comment">/*2/spae=". .22/a>2spae class= ="sref">requef" data /o a comInitde=afs_SS_cal3 ="srefomment">/*2/spae=". .22/a>2spae class="comment"> */2/spae=". 292/a>static int.2a href="+code=afsinits_del_iver_f_cal3b_probe_uuid" class="+code=afsinits_del_iver_f_cal3m_destructor2/a>(struct.2a href="+code=afs_call" class="sref">af2/a>(struct.2a ="+code=afs_call" c="sref">s_call2/a> *,". 272/a>                                    call2/a> *, struct.2a href="+code=sk_buff" class="sref">s> *, struct.2a hrbcode=sk_buff" clabef">s"> */2/spae=". 272/a>                                    > *, struct.2a bref="+code=bool" class="sr class="string">cod"ode=afs_call" ccod"ef">)slue.2/spae=" = {". 27sllback2/a>(struct.2a areff="fs=b_probe_uuid" classf="fs=m_dets> *, struct.2a h="fs=b_probe_uuid" cf="fs=m_dem.h2/a>"". 27tructor2/a>(struct.2a in_add=b_probe_uuid" cin_add=="sr class="string">add=b_probe_uuid" cadd=="srm.h2/a>""35ption0e=deliver.2a4llBa35k&qu352 v2L34">. 342/a>". 412/a>(struct.2a _eass=b_probe_uuid" c_eass=m_des2         =.2spae class="st,{%u},%d;CB.CallBack&q32/a>(struct.2a hrbcode=sk_buff" clabef">-nux/2/a>(struct.2a lt ty+code=bool" clenm_deq32/a>(struct.2a lod"ode=afs_call" ccod"ef">)m.h2/a>"". 342/a>". 25if s!2/a>(struct.2a lod"ode=afs_call" ccod"ef">).h2/a>"". 272/a>    " onsub0m.h2/a>"""". 272/a>#endif .2spae class="no unmarsh"+ce c requireds="comment"> */2/spae=". 39> *, struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a f_calRXCBCallBack" cs_calRXCBao_error2/a> =    AFS_CALL_REPLYINGode=afs_call" cAFS_CALL_REPLYINGm_dem.h2/a>"""". 272/a>#endif .2spae class="we'll needent">>"
2mf="fs= record asentat tells us whichmf=t obm_mment"> */2/spae="36ption0e=deliver.2a4llBa36k&qu36am v2L2">. .22/a>2spae classssssssss* vn.2as to CB.Cale upons="comment"> */2/spae=". 412/a>(struct.2a memcpy="+code=bool" cmemcpym_des&/2/a>(struct.2a ldd=b_probe_uuid" cadd=="sr, &/2/a>(struct.2a ip_hd=b_probe_uuid" cip_hd=m_des2/a>(struct.2a hrbcode=sk_buff" clabef">)-nux/2/a>(struct.2a fldd=b_probe_uuid" csadd=="sr, 4)m.h2/a>"". 272/a>(struct.2a h="fs=b_probe_uuid" cf="fs=m_deae class="string">&quofindff="fs=b_probe_uuid" classfindff="fs=m_des&/2/a>(struct.2a ldd=b_probe_uuid" cadd=="sr)m.h2/a>"". 25if s!2/a>(struct.2a h="fs=b_probe_uuid" cf="fs=m_de).h2/a>"". 272/a>    " onsub-2/a>(struct.2a ENOTCONNode=afs_call" cENOTCONNm_dem.h2/a>"". 252/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a f="fs=b_probe_uuid" cf="fs=m_deto_error2/a> =    f="fs=b_probe_uuid" cf="fs=m_dem.h2/a>"""". 39> *, struct.2a INIT_WORKb_probe_uuid" cINIT_WORKm_des&/2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a lassqueue_struct" classef">s_2/a>(struct.2a ="+AFSCB_Initde=afs_SS_calRXCBCallBack" c="+AFSCB_Initde=afs_SS_calm_de)m.h2/a>"". 272/a>(struct.2a queue_lassqueue_struct" cqueue_lassm_des2/a>(struct.2a lasswqb_probe_uuid" classwq="sr, &/2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a lassqueue_struct" classef">)m.h2/a>"". 27" onsub0m.h2/a>""37ption0e=deliver.2a4llBa37k&qu37m v2L}.h2/a>"". 232/a>". .22/a>2spae class="comment">/*2/spae=". .22/a>2spae class="asrowent">>"
2f="fs= to see5if ubli_dcblimanags= is7trill a+cod"comment">/*2/spae=". 362/a>2spae class="comment"> */2/spae=". 232/a>static void.2a ="+AFSCB_ProblRXCBCallBack" c="+AFSCB_Problm_destructor2/a>(struct.2a ref"de=workqueue_struct" classf">workqueue_struct2/a> *2a lassqueue_struct" classef">)slue.2/spae=" = {". 27tructor2/a>(struct.2a href="+code=afs_call" class="sref">af2/a>(struct.2a ="+code=afs_call" c="sref">to_error2/a> =    iv iaL4"r_obb_probe_uuid" civ iaL4"r_obm_des2/a>(struct.2a lassqueue_struct" classef">s_call2/a> *, struct.2a href="+code=afs_call" class="sref">q32/a>(struct.2a lassqueue_struct" classef">)nit.h2/a>>""". 412/a>(struct.2a _eass=b_probe_uuid" c_eass=m_des2         =.2spae class="st;CB.CallBack&)m.h2/a>""38ption0e=deliver.2a4llBa38k&qu38m v2L32">. 322/a>(struct.2a aasssend_empty_replyode=afs_call" classsend_empty_replym_des2/a>(struct.2a ="+code=afs_call" c="sref">)m.h2/a>"". 412/a>(struct.2a _leavob_probe_uuid" c_leavom_des2         =.2spae class="st;CB.CallBack&)m.h2/a>"""""". 362/a>2spae class="comment">/*2/spae=". .72/a>2spae class="="sref">requef" data /o a comProbl ="srefomment">/*2/spae=". .82/a>2spae class="comment"> */2/spae=". 292/a>static int.2a href="+code=afsproblRXCBCallBack" chref="+code=afsproblm_destructor2/a>(struct.2a href="+code=afs_call" class="sref">af2/a>(struct.2a ="+code=afs_call" c="sref">s call2/a> *, struct.2a href="+code=sk_buff" class="sref">s> *, struct.2a hrbcode=sk_buff" clabef">s"> */2/spae=". 272/a>    2/a>    41">. 412/a>(struct.2a bref="+code=bool" class="sr class="string">cod"ode=afs_call" ccod"ef">)slue.2/spae=" = {"39ption0e=deliver.2a4llBa39k&qu39m v2L32">. 322/a>(struct.2a _eass=b_probe_uuid" c_eass=m_des2         =.2spae class="st,{%u},%d;CB.CallBack&q32/a>(struct.2a hrbcode=sk_buff" clabef">-nux/2/a>(struct.2a lt ty+code=bool" clenm_deq32/a>(struct.2a lod"ode=afs_call" ccod"ef">)m.h2/a>"". 232/a>". 27if s2/a>(struct.2a hrbcode=sk_buff" clabef">-nux/2/a>(struct.2a lt ty+code=bool" clenm_detnux/30)slue.2/spae=". 252/a>    " onsub-2/a>(struct.2a EBADMSGode=afs_call" cEBADMSGm_dem.h2/a>"". 27if s!2/a>(struct.2a lod"ode=afs_call" ccod"ef">).h2/a>"". 272/a>    " onsub0m.h2/a>"""". 39>/a>#endif .2spae class="no unmarsh"+ce c requireds="comment"> */2/spae=". 272/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a f_calRXCBCallBack" cs_calRXCBao_error2/a> =    AFS_CALL_REPLYINGode=afs_call" cAFS_CALL_REPLYINGm_dem.h2/a>"". 112/a>". 322/a>(struct.2a INIT_WORKb_probe_uuid" cINIT_WORKm_des&/2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a lassqueue_struct" classef">s_2/a>(struct.2a ="+AFSCB_ProblRXCBCallBack" c="+AFSCB_Problm_de)m.h2/a>"". 412/a>(struct.2a queue_lassqueue_struct" cqueue_lassm_des2/a>(struct.2a lasswqb_probe_uuid" classwq="sr, &/2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a lassqueue_struct" classef">)m.h2/a>"". 27" onsub0m.h2/a>"""""". .72/a>2spae class="comment">/*2/spae=". .82/a>2spae class="asrowent">>"
2f="fs= to quickly find out5if ubli>"
2f="fs= has been7" lasted"comment">/*2/spae=". .82/a>2spae class="comment"> */2/spae=". 232/a>static void.2a ="+AFSCB_ProblUu_cb_probe_uuid" c="+AFSCB_ProblUu_cm_destructor2/a>(struct.2a ref"de=workqueue_struct" classf">workqueue_struct2/a> *2a lassqueue_struct" classef">)slue.2/spae=" = {". 32tructor2/a>(struct.2a href="+code=afs_call" class="sref">af2/a>(struct.2a ="+code=afs_call" c="sref">to_error2/a> =    iv iaL4"r_obb_probe_uuid" civ iaL4"r_obm_des2/a>(struct.2a lassqueue_struct" classef">s_call2/a> *, struct.2a href="+code=afs_call" class="sref">q32/a>(struct.2a lassqueue_struct" classef">)nit.h2/a>>". 32tructor2/a>(struct.2a hrefuu_cb_probe_uuid" chrefuu_cef">af2/a>(struct.2a =b_probe_uuid" c=m_deto_error2/a> =    i"+code=afs_call" c="sref">-nux/2/a>(struct.2a requef"ode=afs_call" crequef"ef">m.h2/a>"". 342/a>". 25tructorlBack2/a> = {". 272/a>    2/a>(struct.2a __bec#L32" idv2uid" c__bec# v2L272/a>(struct.2a match="+code=bool" cmatchef">m.h2/a>"". 25}b2/a>(struct.2a replyode=afs_call" creplym_dem.h2/a>"""". 39> *, struct.2a _eass=b_probe_uuid" c_eass=m_des2         =.2spae class="st;CB.CallBack&)m.h2/a>"""". 112/a>". 32if s2/a>(struct.2a memcmp="+code=bool" cmemcmpm_des2/a>(struct.2a =b_probe_uuid" c=m_de, &/2/a>(struct.2a hrefuu_cb_probe_uuid" chrefuu_cef">s_cizeofs2/a>(struct.2a lassuu_cb_probe_uuid" chrefuu_cef">))too_0).h2/a>"". 272/a>    2/a>(struct.2a replyode=afs_call" creplym_de.2/a>(struct.2a match="+code=bool" cmatchef">to_error2/a> =    htoncode=afs_call" chtoncm_des0)m.h2/a>"". 27else.h2/a>"". 252/a>    2/a>(struct.2a replyode=afs_call" creplym_de.2/a>(struct.2a match="+code=bool" cmatchef">to_error2/a> =    htoncode=afs_call" chtoncm_des1)m.h2/a>"""". 252/a>(struct.2a lasssend_simple_replyode=afs_call" classsend_simple_replym_des2/a>(struct.2a ="+code=afs_call" c="sref">, &/2/a>(struct.2a replyode=afs_call" creplym_des_cizeofs2/a>(struct.2a replyode=afs_call" creplym_de))m.h2/a>"". 412/a>(struct.2a _leavob_probe_uuid" c_leavom_des2         =.2spae class="st;CB.CallBack&)m.h2/a>"""""". .12/a>2spae class="comment">/*2/spae=". .22/a>2spae class="="sref">requef" data /o a comProblUu_c ="srefomment">/*2/spae=". tiona>2spae class="comment"> */2/spae=". 292/a>static int.2a href="+code=afsproblsuu_cb_probe_uuid" chref="+code=afsproblsuu_cm_destructor2/a>(struct.2a href="+code=afs_call" class="sref">af2/a>(struct.2a ="+code=afs_call" c="sref">s call2/a> *, struct.2a href="+code=sk_buff" class="sref">s> *, struct.2a hrbcode=sk_buff" clabef">s"> */2/spae=". 252/a>                         2/a>(struct.2a bref="+code=bool" class="sr class="string">cod"ode=afs_call" ccod"ef">)slue.2/spae=" = {". 25sllback2/a>(struct.2a arefuu_cb_probe_uuid" chrefuu_cef">af2/a>(struct.2a =b_probe_uuid" c=m_dem.h2/a>"". 41unsignea>static void.2a loop="+code=bool" cloop="srm.h2/a>"". 39> *, struct.2a __bec#L32" idv2uid" c__bec# v2L2f2/a>(struct.2a bcode=sk_buff" cb="srm.h2/a>"". 2792/a>static int.2a re"ode=afs_call" crekm_dem.h2/a>"". 112/a>"4
ption0e=deliver.2a4llBa4ck&qu44m v2L32">. 322/a>(struct.2a _eass=b_probe_uuid" c_eass=m_des2         =.2spae class="st{%u},{%u},%d;CB.CallBack&q32/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a unmarsh"+code=afs_call" cunmarsh"+cm_deq32/a>(struct.2a hrbcode=sk_buff" clabef">-nux/2/a>(struct.2a lt ty+code=bool" clenm_deq32/a>(struct.2a lod"ode=afs_call" ccod"ef">)m.h2/a>"". 232/a>". 27if s2/a>(struct.2a hrbcode=sk_buff" clabef">-nux/2/a>(struct.2a lt ty+code=bool" clenm_detnux/30)slue.2/spae=". 252/a>    " onsub-2/a>(struct.2a EBADMSGode=afs_call" cEBADMSGm_dem.h2/a>"". 27if s!2/a>(struct.2a lod"ode=afs_call" ccod"ef">).h2/a>"". 272/a>    " onsub0m.h2/a>"""". 27twitch s2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a unmarsh"+code=afs_call" cunmarsh"+cm_de)llBack2/a> = {". 27case30:Back2/a> = {". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a offse"ode=afs_call" coffse"ef">to_0m.h2/a>""45ption0e=deliver.2a4llBa45k&qu45m v2L32">. 322/a>    >static int.2a i"+code=afs_call" c="sref">-nux/2/a>(struct.2a s="ss=b_probe_uuid" cs="ss=m_deto_error2/a> =    kmasrocb_probe_uuid" ckmasrocm_des11s="cizeofs2/a>(struct.2a __bec#L32" idv2uid" c__bec# v2L)q32/a>(struct.2a GFP_KERNELL32" idv2uid" cGFP_KERNELef">)m.h2/a>"". 272/a>    if s!2/a>(struct.2a i"+code=afs_call" c="sref">-nux/2/a>(struct.2a s="ss=b_probe_uuid" cs="ss=m_de).h2/a>"". 272/a>            " onsub-2/a>(struct.2a ENOMEMode=afs_call" cENOMEMm_dem.h2/a>"". 252/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a unmarsh"+code=afs_call" cunmarsh"+cm_de++m.h2/a>"""". 27case31:Back2/a> = {". 272/a>    2/a>(struct.2a _debugb_probe_uuid" c_debugm_des2         =.2spae class="stextraackUUID;CB.CallBack&)m.h2/a>"". 272/a>    2/a>(struct.2a re"ode=afs_call" crekm_deae class="string">&quoextraac_datab_probe_uuid" chrefextraac_datam_des2/a>(struct.2a ="+code=afs_call" c="sref">, > *, struct.2a hrbcode=sk_buff" clabef">s32/a>(struct.2a lod"ode=afs_call" ccod"ef">q32/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a s="ss=b_probe_uuid" cs="ss=m_des"> */2/spae=". 272/a>    2/a>    41">. 41111111111s="cizeofs2/a>(struct.2a __bec#L32" idv2uid" c__bec# v2L))m.h2/a>"". 272/a>    twitch s2/a>(struct.2a re"ode=afs_call" crekm_de)llBack2/a> = {"46ption0e=deliver.2a4llBa46k&qu46m v2L32">. 322/a>    case30:22/a>    breakm.h2/a>"". 272/a>    case3-2/a>(struct.2a EAGAINode=afs_call" cEAGAIN v2L:22/" onsub0m.h2/a>"". 272/a>    default:22/a>   " onsub>static int.2a re"ode=afs_call" crekm_dem.h2/a>"". 252/a>    }.h2/a>"""". 272/a>    2/a>(struct.2a _debugb_probe_uuid" c_debugm_des2         =.2spae class="stunmarsh"+ckUUID;CB.CallBack&)m.h2/a>"". 272/a>    2/a>(struct.2a i"+code=afs_call" c="sref">-nux/2/a>(struct.2a requef"ode=afs_call" crequef"ef">to_error2/a> =    kmasrocb_probe_uuid" ckmasrocm_descizeofssllback2/a>(struct.2a arefuu_cb_probe_uuid" chrefuu_cef">)q32/a>(struct.2a GFP_KERNELL32" idv2uid" cGFP_KERNELef">)m.h2/a>"". 272/a>    if s!2/a>(struct.2a i"+code=afs_call" c="sref">-nux/2/a>(struct.2a requef"ode=afs_call" crequef"ef">).h2/a>"". 272/a>    2/a>    " onsub-2/a>(struct.2a ENOMEMode=afs_call" cENOMEMm_dem.h2/a>"". 112/a>"47ption0e=deliver.2a4llBa47k&qu47m v2L32">. 322/a>    >static int.2a bcode=sk_buff" cb="srto_error2/a> =    i"+code=afs_call" c="sref">-nux/2/a>(struct.2a s="ss=b_probe_uuid" cs="ss=m_dem.h2/a>"". 272/a>    2/a>(struct.2a rb_probe_uuid" c=m_deto_error2/a> =    i"+code=afs_call" c="sref">-nux/2/a>(struct.2a requef"ode=afs_call" crequef"ef">m.h2/a>"". 272/a>    2/a>(struct.2a rb_probe_uuid" c=m_de-nux/2/a>(struct.2a time_lowb_probe_uuid" ctime_low v2L27">. 272/a>    2/a> o_error2/a> =    ntohcode=afs_call" cntohcm_des2/a>(struct.2a bcode=sk_buff" cb="sr[0])m.h2/a>"". 252/a>    2/a>(struct.2a rb_probe_uuid" c=m_de-nux/2/a>(struct.2a time_m_cb_probe_uuid" ctime_m_c v2L27">. 272/a>    2/a> o_error2/a> =    ntohcode=afs_call" cntohcm_des2/a>(struct.2a bcode=sk_buff" cb="sr[1])m.h2/a>"". 272/a>    2/a>(struct.2a rb_probe_uuid" c=m_de-nux/2/a>(struct.2a time_hi_and_versio ty+code=bool" ctime_hi_and_versio  v2L27">. 272/o_error2/a> =    ntohcode=afs_call" cntohcm_des2/a>(struct.2a bcode=sk_buff" cb="sr[2])m.h2/a>"". 272/a>    2/a>(struct.2a rb_probe_uuid" c=m_de-nux/2/a>(struct.2a crock_seq_hi_and_r2f="fscb_probe_uuid" ccrock_seq_hi_and_r2f="fsc v2L27">o_error2/a> =    ntohcode=afs_call" cntohcm_des2/a>(struct.2a bcode=sk_buff" cb="sr[3])m.h2/a>"". 272/a>    2/a>(struct.2a rb_probe_uuid" c=m_de-nux/2/a>(struct.2a crock_seq_lowb_probe_uuid" ccrock_seq_low v2L27">. 272/a>    o_error2/a> =    ntohcode=afs_call" cntohcm_des2/a>(struct.2a bcode=sk_buff" cb="sr[4])m.h2/a>"". 192/a>". 272/a>    for s2/a>(struct.2a loop="+code=bool" cloop="srto_0m>static void.2a loop="+code=bool" cloop="sr < 6m>static void.2a loop="+code=bool" cloop="sr++).h2/a>"". 272/a>    2/a>    2/a>(struct.2a rb_probe_uuid" c=m_de-nux/2/a>(struct.2a n.2aode=afs_call" cn.2a="sr[static void.2a loop="+code=bool" cloop="sr] o_error2/a> =    ntohcode=afs_call" cntohcm_des2/a>(struct.2a bcode=sk_buff" cb="sr[static void.2a loop="+code=bool" cloop="sr + 5])m.h2/a>""48ption0e=deliver.2a4llBa48k&qu482 v2L34">. 342/a>". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a offse"ode=afs_call" coffse"ef">to_0m.h2/a>"". 272/a>    2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a unmarsh"+code=afs_call" cunmarsh"+cm_de++m.h2/a>"""". 27case32:Back2/a> = {". 272/a>    2/a>(struct.2a _debugb_probe_uuid" c_debugm_des2         =.2spae class="sttrailer;CB.CallBack&)m.h2/a>"". 272/a>    if s2/a>(struct.2a hrbcode=sk_buff" clabef">-nux/2/a>(struct.2a lt ty+code=bool" clenm_det!o_0).h2/a>"". 272/a>            " onsub-2/a>(struct.2a EBADMSGode=afs_call" cEBADMSGm_dem.h2/a>"". 272/a>    breakm.h2/a>"". 27}.h2/a>""49ption0e=deliver.2a4llBa49k&qu492 v2L34">. 342/a>". 27if s!2/a>(struct.2a lod"ode=afs_call" ccod"ef">).h2/a>"". 272/a>    " onsub0m.h2/a>"""". 412/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a f_calRXCBCallBack" cs_calRXCBao_error2/a> =    AFS_CALL_REPLYINGode=afs_call" cAFS_CALL_REPLYINGm_dem.h2/a>"""". 412/a>(struct.2a INIT_WORKb_probe_uuid" cINIT_WORKm_des&/2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a lassqueue_struct" classef">s_2/a>(struct.2a ="+AFSCB_ProblUu_cb_probe_uuid" c="+AFSCB_ProblUu_cm_de)m.h2/a>"". 39> *, struct.2a queue_lassqueue_struct" cqueue_lassm_des2/a>(struct.2a lasswqb_probe_uuid" classwq="sr, &/2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a lassqueue_struct" classef">)m.h2/a>"". 27" onsub0m.h2/a>"""". 342/a>". tiona>2spae class="comment">/*2/spae=". .22/a>2spae class= asrowent">>"
2f="fs= to ask about5ubli_dcblimanags='si_dpabilities"comment">/*2/spae=". .22/a>2spae class="comment"> */2/spae=". 232/a>static void.2a ="+AFSCB_TellMeAboutYoursel+code=sk_buff" c="+AFSCB_TellMeAboutYoursel+m_descructor2/a>(struct.2a ref"de=workqueue_struct" classf">workqueue_struct2/a> *2a lassqueue_struct" classef">)slue.2/spae=" = {". 27sllback2/a>(struct.2a lassiass=faclRXCBCallBack" classiass=faclqueue_struct2/a> *2a ifsRXCBCallBack" cifsm_dem.h2/a>"". 27tructor2/a>(struct.2a href="+code=afs_call" class="sref">af2/a>(struct.2a ="+code=afs_call" c="sref">to_error2/a> =    iv iaL4"r_obb_probe_uuid" civ iaL4"r_obm_des2/a>(struct.2a lassqueue_struct" classef">s_call2/a> *, struct.2a href="+code=afs_call" class="sref">q32/a>(struct.2a lassqueue_struct" classef">)nit.h2/a>>". 2792/a>static int.2a loop="+code=bool" cloop="srq32/a>(struct.2a nifsRXCBCallBack" cnifsm_dem.h2/a>"". 112/a>". 32tructorlBack2/a> = {". 272/a>    call2/a>/a>#endif .2spae class="Iass=faclAddrs="commentrlBack2/a> = {". 272/a>            2/a>(struct.2a __bec#L32" idv2uid" c__bec# v2L22/a>(struct.2a nifsRXCBCallBack" cnifsm_dem.h2/a>"". 252/a>            2/a>(struct.2a __bec#L32" idv2uid" c__bec# v2L22/a>(struct.2a uu_cb_probe_uuid" cuu_cef">[11]m.h2/a>"". 272/a>            2/a>(struct.2a __bec#L32" idv2uid" c__bec# v2L22/a>(struct.2a ifadd=b_probe_uuid" cifadd=="sr[32]m.h2/a>"". 272/a>            2/a>(struct.2a __bec#L32" idv2uid" c__bec# v2L22/a>(struct.2a netmaskRXCBCallBack" cnetmask="sr[32]m.h2/a>"". 272/a>            2/a>(struct.2a __bec#L32" idv2uid" c__bec# v2L22/a>(struct.2a mtuL32" idv2uid" cmtu="sr[32]m.h2/a>"". 272/a>    }b2/a>(struct.2a iab_probe_uuid" ciam_dem.h2/a>"". 272/a>    call2/a>/a>#endif .2spae class="Cdpabilitiess="commentrlBack2/a> = {". 272/a>    2/a>    2/a>(struct.2a __bec#L32" idv2uid" c__bec# v2L22/a>(struct.2a _dpcounkqueue_struct" c_dpcounkm_dem.h2/a>"". 322/a>    2/a>    2/a>(struct.2a __bec#L32" idv2uid" c__bec# v2L22/a>(struct.2a _dpsRXCBCallBack" c_dps="sr[1]m.h2/a>"". 272/a>    }b2/a>(struct.2a _dpRXCBCallBack" c_dpm_dem.h2/a>"". 27}b2/a>(struct.2a replyode=afs_call" creplym_dem.h2/a>"""". 412/a>(struct.2a _eass=b_probe_uuid" c_eass=m_des2         =.2spae class="st;CB.CallBack&)m.h2/a>"""". 412/a>(struct.2a nifsRXCBCallBack" cnifsm_deto_0m.h2/a>"". 39> *, struct.2a ifsRXCBCallBack" cifsm_deto_error2/a> =    kcasrocb_probe_uuid" ckcasrocm_des32s_cizeofs_struct2/a> *2a ifsRXCBCallBack" cifsm_de)q32/a>(struct.2a GFP_KERNELL32" idv2uid" cGFP_KERNELef">)m.h2/a>"". 279f s2/a>(struct.2a ifsRXCBCallBack" cifsm_de)rlBack2/a> = {". 272/a>    2/a>(struct.2a nifsRXCBCallBack" cnifsm_deto_> *, struct.2a hrefget_ipv4siass=faclsRXCBCallBack" chrefget_ipv4siass=faclsm_des2/a>(struct.2a ifsRXCBCallBack" cifsm_de, 32s_2/a>(struct.2a falslRXCBCallBack" cfalslef">)m.h2/a>"". 322/a>    9f s2/a>(struct.2a nifsRXCBCallBack" cnifsm_det< 0)rlBack2/a> = {". 272/a>    2/a>    2/a>(struct.2a kfrelRXCBCallBack" ckfrelm_des2/a>(struct.2a ifsRXCBCallBack" cifsm_de)m.h2/a>"". 272/a>            2/a>(struct.2a ifsRXCBCallBack" cifsm_deto_error2/a> =    NULLL32" idv2uid" cNULLm_dem.h2/a>"". 252/a>            2/a>(struct.2a nifsRXCBCallBack" cnifsm_deto_0m.h2/a>"". 272/a>    }.h2/a>"". 25}.h2/a>"""". 39> *, struct.2a memse"ode=afs_call" cmemse"m_des&/2/a>(struct.2a replyode=afs_call" creplym_des_0s_cizeofs2/a>(struct.2a replyode=afs_call" creplym_de))m.h2/a>"". 272/a>(struct.2a replyode=afs_call" creplym_de.2/a>(struct.2a iab_probe_uuid" ciam_de.2/a>(struct.2a nifsRXCBCallBack" cnifsm_deto_> *, struct.2a htoncode=afs_call" chtoncm_des2/a>(struct.2a nifsRXCBCallBack" cnifsm_de)m.h2/a>"". 112/a>"5
ption0e=deliver.2a4llBa5ck&qu54m v2L32">. 322/a>(struct.2a replyode=afs_call" creplym_de.2/a>(struct.2a iab_probe_uuid" ciam_de.2/a>(struct.2a uu_cb_probe_uuid" cuu_cef">[0] o_error2/a> =    htoncode=afs_call" chtoncm_des2/a>(struct.2a arefuu_cb_probe_uuid" chrefuu_cef">.2/a>(struct.2a time_lowb_probe_uuid" ctime_low v2L)m.h2/a>"". 412/a>(struct.2a replyode=afs_call" creplym_de.2/a>(struct.2a iab_probe_uuid" ciam_de.2/a>(struct.2a uu_cb_probe_uuid" cuu_cef">[1] o_error2/a> =    htoncode=afs_call" chtoncm_des2/a>(struct.2a arefuu_cb_probe_uuid" chrefuu_cef">.2/a>(struct.2a time_m_cb_probe_uuid" ctime_m_c v2L)m.h2/a>"". 272/a>(struct.2a replyode=afs_call" creplym_de.2/a>(struct.2a iab_probe_uuid" ciam_de.2/a>(struct.2a uu_cb_probe_uuid" cuu_cef">[2] o_error2/a> =    htoncode=afs_call" chtoncm_des2/a>(struct.2a arefuu_cb_probe_uuid" chrefuu_cef">.2/a>(struct.2a time_hi_and_versio ty+code=bool" ctime_hi_and_versio  v2L)m.h2/a>"". 252/a>(struct.2a replyode=afs_call" creplym_de.2/a>(struct.2a iab_probe_uuid" ciam_de.2/a>(struct.2a uu_cb_probe_uuid" cuu_cef">[3] o_error2/a> =    htoncode=afs_call" chtoncm_dess2/a>(struct.2a h8ode=afs_call" cs8m_de)r2/a>(struct.2a arefuu_cb_probe_uuid" chrefuu_cef">.2/a>(struct.2a crock_seq_hi_and_r2f="fscb_probe_uuid" ccrock_seq_hi_and_r2f="fsc v2L)m.h2/a>"". 412/a>(struct.2a replyode=afs_call" creplym_de.2/a>(struct.2a iab_probe_uuid" ciam_de.2/a>(struct.2a uu_cb_probe_uuid" cuu_cef">[4] o_error2/a> =    htoncode=afs_call" chtoncm_dess2/a>(struct.2a h8ode=afs_call" cs8m_de)r2/a>(struct.2a arefuu_cb_probe_uuid" chrefuu_cef">.2/a>(struct.2a crock_seq_lowb_probe_uuid" ccrock_seq_low v2L)m.h2/a>"". 27for s2/a>(struct.2a loop="+code=bool" cloop="srto_0m>static void.2a loop="+code=bool" cloop="sr < 6m>static void.2a loop="+code=bool" cloop="sr++).h2/a>"". 272/a>    2/a>(struct.2a replyode=afs_call" creplym_de.2/a>(struct.2a iab_probe_uuid" ciam_de.2/a>(struct.2a uu_cb_probe_uuid" cuu_cef">[static void.2a loop="+code=bool" cloop="sr + 5] o_error2/a> =    htoncode=afs_call" chtoncm_dess2/a>(struct.2a h8ode=afs_call" cs8m_de)r2/a>(struct.2a arefuu_cb_probe_uuid" chrefuu_cef">.2/a>(struct.2a n.2aode=afs_call" cn.2a="sr[static void.2a loop="+code=bool" cloop="sr])m.h2/a>"". 192/a>". 279f s2/a>(struct.2a ifsRXCBCallBack" cifsm_de)rlBack2/a> = {". 272/a>    for s2/a>(struct.2a loop="+code=bool" cloop="srto_0m>static void.2a loop="+code=bool" cloop="sr < 2/a>(struct.2a nifsRXCBCallBack" cnifsm_dem>static void.2a loop="+code=bool" cloop="sr++)rlBack2/a> = {"55ption0e=deliver.2a4llBa55k&qu55m v2L32">. 322/a>    2/a>    2/a>(struct.2a replyode=afs_call" creplym_de.2/a>(struct.2a iab_probe_uuid" ciam_de.2/a>(struct.2a ifadd=b_probe_uuid" cifadd=="sr[static void.2a loop="+code=bool" cloop="sr] o_error2/a> =    ifsRXCBCallBack" cifsm_de[static void.2a loop="+code=bool" cloop="sr].2/a>(struct.2a add=essRXCBCallBack" chdd=essm_de.2/a>(struct.2a s_add=b_probe_uuid" cs_add=m_dem.h2/a>"". 272/a>    27">. 272/a>(struct.2a replyode=afs_call" creplym_de.2/a>(struct.2a iab_probe_uuid" ciam_de.2/a>(struct.2a netmaskRXCBCallBack" cnetmask="sr[static void.2a loop="+code=bool" cloop="sr] o_error2/a> =    ifsRXCBCallBack" cifsm_de[static void.2a loop="+code=bool" cloop="sr].2/a>(struct.2a netmaskRXCBCallBack" cnetmask="sr.2/a>(struct.2a s_add=b_probe_uuid" cs_add=m_dem.h2/a>"". 272/a>            2/a>(struct.2a replyode=afs_call" creplym_de.2/a>(struct.2a iab_probe_uuid" ciam_de.2/a>(struct.2a mtuL32" idv2uid" cmtu="sr[static void.2a loop="+code=bool" cloop="sr] o_error2/a> =    htoncode=afs_call" chtoncm_des2/a>(struct.2a ifsRXCBCallBack" cifsm_de[static void.2a loop="+code=bool" cloop="sr].2/a>(struct.2a mtuL32" idv2uid" cmtu="sr)m.h2/a>"". 252/a>    }.h2/a>"". 272/a>    2/a>(struct.2a kfrelRXCBCallBack" ckfrelm_des2/a>(struct.2a ifsRXCBCallBack" cifsm_de)m.h2/a>"". 25}.h2/a>"""". 39> *, struct.2a replyode=afs_call" creplym_de.2/a>(struct.2a _dpRXCBCallBack" c_dpm_de.2/a>(struct.2a _dpcounkqueue_struct" c_dpcounkm_deto_error2/a> =    htoncode=afs_call" chtoncm_des1)m.h2/a>"". 272/a>(struct.2a replyode=afs_call" creplym_de.2/a>(struct.2a _dpRXCBCallBack" c_dpm_de.2/a>(struct.2a _dpsRXCBCallBack" c_dps="sr[0] o_error2/a> =    htoncode=afs_call" chtoncm_des2/a>(struct.2a AFS_CAP_ERROR_TRANSLATIONode=afs_call" cAFS_CAP_ERROR_TRANSLATIONm_de)m.h2/a>"". 272/a>(struct.2a arefsend_simple_replyode=afs_call" classsend_simple_replym_des2/a>(struct.2a ="+code=afs_call" c="sref">, &/2/a>(struct.2a replyode=afs_call" creplym_des_cizeofs2/a>(struct.2a replyode=afs_call" creplym_de))m.h2/a>""56ption0e=deliver.2a4llBa56k&qu562 v2L34">. 342/a>". 412/a>(struct.2a _leavob_probe_uuid" c_leavom_des2         =.2spae class="st;CB.CallBack&)m.h2/a>"""""". tiona>2spae class="comment">/*2/spae=". .72/a>2spae class="="sref">requef" data /o a comTellMeAboutYoursel+ ="srefomment">/*2/spae=". .82/a>2spae class="comment"> */2/spae=". 292/a>static int.2a href="+code=afstell_me_about_yoursel+code=sk_buff" chref="+code=afstell_me_about_yoursel+m_destructor2/a>(struct.2a href="+code=afs_call" class="sref">af2/a>(struct.2a ="+code=afs_call" c="sref">s"> */2/spae=". 272/a>    2/a>                             call2/a> *, struct.2a href="+code=sk_buff" class="sref">s> *, struct.2a hrbcode=sk_buff" clabef">s >static int.2a bref="+code=bool" class="sr class="string">cod"ode=afs_call" ccod"ef">)slue.2/spae=" = {"57ption0e=deliver.2a4llBa57k&qu57m v2L32">. 322/a>(struct.2a _eass=b_probe_uuid" c_eass=m_des2         =.2spae class="st,{%u},%d;CB.CallBack&q32/a>(struct.2a hrbcode=sk_buff" clabef">-nux/2/a>(struct.2a lt ty+code=bool" clenm_deq32/a>(struct.2a lod"ode=afs_call" ccod"ef">)m.h2/a>"". 232/a>". 27if s2/a>(struct.2a hrbcode=sk_buff" clabef">-nux/2/a>(struct.2a lt ty+code=bool" clenm_detnux/30)slue.2/spae=". 252/a>    " onsub-2/a>(struct.2a EBADMSGode=afs_call" cEBADMSGm_dem.h2/a>"". 27if s!2/a>(struct.2a lod"ode=afs_call" ccod"ef">).h2/a>"". 272/a>    " onsub0m.h2/a>"""". 39>/a>#endif .2spae class="no unmarsh"+ce c>requireds="comment"> */2/spae=". 272/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a f_calRXCBCallBack" cs_calRXCBao_error2/a> =    AFS_CALL_REPLYINGode=afs_call" cAFS_CALL_REPLYINGm_dem.h2/a>"". 112/a>"58ption0e=deliver.2a4llBa58k&qu58m v2L32">. 322/a>(struct.2a INIT_WORKb_probe_uuid" cINIT_WORKm_des&/2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a lassqueue_struct" classef">s_2/a>(struct.2a ="+AFSCB_TellMeAboutYoursel+code=sk_buff" c="+AFSCB_TellMeAboutYoursel+m_de)m.h2/a>"". 412/a>(struct.2a queue_lassqueue_struct" cqueue_lassm_des2/a>(struct.2a lasswqb_probe_uuid" classwq="sr, &/2/a>(struct.2a ="+code=afs_call" c="sref">-nux/2/a>(struct.2a lassqueue_struct" classef">)m.h2/a>"". 27" onsub0m.h2/a>""""


The original LXR software by5ublih2/a>&quohttp://sourceforge.net/projects/lx=b>LXR spaeunitym_des_this experie clal versio by5h2/a>&quomailto:lx=@2L6ux.no ccx=@2L6ux.nom_de.
cx=.2L6ux.no kindly hostedsby5h2/a>&quohttp://www.redpill-2L6pro.no cRedpill LL6pro ASm_des_providf">of LL6ux spnsulte c>and oper">.pns f="fs/as fince 1995.