linux/fs/afs/vlclient.c
<<
" /spaon> /formn> a " href="../linux+v34.610/fs/afs/vlclient.c">" img src="../.static/gfx/right.png" alt=">>">" /spaon>" spao class="lxr_search">" " input typue=hidden" namue=navtarget" value=">" input typue=text" namue=search" ide=search">" buttiontypue=submit">Search /formn> /spaon>" spao class="lxr_prefs"n> a href="+prefs?return=fs/afs/vlclient.c"" onclick="return ajax_prefs();">" Prefs> /a>" /spaon> /divn> form acptio="ajax+*" method="post" onsubmit="return false;">" input typue=hidden" namue=ajax_lookup" ide=ajax_lookup" value=">" /formn>" div class="headingbottim"> div ide=search_results" class="search_results"> n> /divn> div ide=content"n> div ide=file_contents"n
   1 /a> spao class="comment"n/* AFS Volume LocaptionService client /spaon>   2 /a> spao class="comment"n * /spaon>   3 /a> spao class="comment"n * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved. /spaon>   4 /a> spao class="comment"n * Written by David Howells (dhowells@redhat.com) /spaon>   5 /a> spao class="comment"n * /spaon>   6 /a> spao class="comment"n * This program is free software; you cao redistribute it and/or /spaon>   7 /a> spao class="comment"n * modify it under the terms of the GNU General Public License /spaon>   8 /a> spao class="comment"n * as published by the Free Software Foundaptio; either verstio /spaon>   9 /a> spao class="comment"n * 2 of the License, or (at your /optio) any later verstio. /spaon>  .10 spao class="comment"n */ /spaon>  11 /a>>  12 /a>#include <linux/gfp.h /a>>>  13 /a>#include <linux/init.h /a>>>  14 /a>#include <linux/sched.h /a>>>  15 /a>#include "internal.h /a>">  16 /a>>  17 /a> spao class="comment"n/* /spaon>  18 /a> spao class="comment"n * map volume locapor abort codes to error codes /spaon>  19 /a> spao class="comment"n */ /spaon>  210static int  a href="+code=afs_vl_abort_to_error" class="sref">afs_vl_abort_to_error0( a href="+code=u32" class="sref">u32 /a>  a href="+code=abort_code" class="sref">abort_code /a>)>  21 /a>{>  22 /a>         a href="+code=_enter" class="sref">_enter0( spao class="string">"%u"abort_code /a>);>  23 /a>>  24 /a>        switch ( a href="+code=abort_code" class="sref">abort_code /a>) {>  25 /a>        case  a href="+code=AFSVL_IDEXIST" class="sref">AFSVL_IDEXIST /a>:             return - a href="+code=EEXIST" class="sref">EEXIST /a>;>  26 /a>        case  a href="+code=AFSVL_IO" class="sref">AFSVL_IO /a>:                  return - a href="+code=EREMOTEIO" class="sref">EREMOTEIO /a>;>  27 /a>        case  a href="+code=AFSVL_NAMEEXIST" class="sref">AFSVL_NAMEEXIST /a>:           return - a href="+code=EEXIST" class="sref">EEXIST /a>;>  28 /a>        case  a href="+code=AFSVL_CREATEFAIL" class="sref">AFSVL_CREATEFAIL /a>:          return - a href="+code=EREMOTEIO" class="sref">EREMOTEIO /a>;>  29 /a>        case  a href="+code=AFSVL_NOENT" class="sref">AFSVL_NOENT /a>:               return - a href="+code=ENOMEDIUM" class="sref">ENOMEDIUM /a>;>  30 /a>        case  a href="+code=AFSVL_EMPTY" class="sref">AFSVL_EMPTY /a>:               return - a href="+code=ENOMEDIUM" class="sref">ENOMEDIUM /a>;>  31 /a>        case  a href="+code=AFSVL_ENTDELETED" class="sref">AFSVL_ENTDELETED /a>:          return - a href="+code=ENOMEDIUM" class="sref">ENOMEDIUM /a>;>  32 /a>        case  a href="+code=AFSVL_BADNAME" class="sref">AFSVL_BADNAME /a>:             return - a href="+code=EINVAL" class="sref">EINVAL /a>;>  33 /a>        case  a href="+code=AFSVL_BADINDEX" class="sref">AFSVL_BADINDEX /a>:            return - a href="+code=EINVAL" class="sref">EINVAL /a>;>  34 /a>        case  a href="+code=AFSVL_BADVOLTYPE" class="sref">AFSVL_BADVOLTYPE /a>:          return - a href="+code=EINVAL" class="sref">EINVAL /a>;>  35 /a>        case  a href="+code=AFSVL_BADSERVER" class="sref">AFSVL_BADSERVER /a>:           return - a href="+code=EINVAL" class="sref">EINVAL /a>;>  36 /a>        case  a href="+code=AFSVL_BADPARTITION" class="sref">AFSVL_BADPARTITION /a>:        return - a href="+code=EINVAL" class="sref">EINVAL /a>;>  37 /a>        case  a href="+code=AFSVL_REPSFULL" class="sref">AFSVL_REPSFULL /a>:            return - a href="+code=EFBIG" class="sref">EFBIG /a>;>  38 /a>        case  a href="+code=AFSVL_NOREPSERVER" class="sref">AFSVL_NOREPSERVER /a>:         return - a href="+code=ENOENT" class="sref">ENOENT /a>;>  39 /a>        case  a href="+code=AFSVL_DUPREPSERVER" class="sref">AFSVL_DUPREPSERVER /a>:        return - a href="+code=EEXIST" class="sref">EEXIST /a>;>  40 /a>        case  a href="+code=AFSVL_RWNOTFOUND" class="sref">AFSVL_RWNOTFOUND /a>:          return - a href="+code=ENOENT" class="sref">ENOENT /a>;>  41 /a>        case  a href="+code=AFSVL_BADREFCOUNT" class="sref">AFSVL_BADREFCOUNT /a>:         return - a href="+code=EINVAL" class="sref">EINVAL /a>;>  42 /a>        case  a href="+code=AFSVL_SIZEEXCEEDED" class="sref">AFSVL_SIZEEXCEEDED /a>:        return - a href="+code=EINVAL" class="sref">EINVAL /a>;>  43 /a>        case  a href="+code=AFSVL_BADENTRY" class="sref">AFSVL_BADENTRY /a>:            return - a href="+code=EINVAL" class="sref">EINVAL /a>;>  44 /a>        case  a href="+code=AFSVL_BADVOLIDBUMP" class="sref">AFSVL_BADVOLIDBUMP /a>:        return - a href="+code=EINVAL" class="sref">EINVAL /a>;>  45 /a>        case  a href="+code=AFSVL_IDALREADYHASHED" class="sref">AFSVL_IDALREADYHASHED /a>:     return - a href="+code=EINVAL" class="sref">EINVAL /a>;>  46 /a>        case  a href="+code=AFSVL_ENTRYLOCKED" class="sref">AFSVL_ENTRYLOCKED /a>:         return - a href="+code=EBUSY" class="sref">EBUSY /a>;>  47 /a>        case  a href="+code=AFSVL_BADVOLOPER" class="sref">AFSVL_BADVOLOPER /a>:          return - a href="+code=EBADRQC" class="sref">EBADRQC /a>;>  48 /a>        case  a href="+code=AFSVL_BADRELLOCKTYPE" class="sref">AFSVL_BADRELLOCKTYPE /a>:      return - a href="+code=EINVAL" class="sref">EINVAL /a>;>  49 /a>        case  a href="+code=AFSVL_RERELEASE" class="sref">AFSVL_RERELEASE /a>:           return - a href="+code=EREMOTEIO" class="sref">EREMOTEIO /a>;>  50 /a>        case  a href="+code=AFSVL_BADSERVERFLAG" class="sref">AFSVL_BADSERVERFLAG /a>:       return - a href="+code=EINVAL" class="sref">EINVAL /a>;>  51 /a>        case  a href="+code=AFSVL_PERM" class="sref">AFSVL_PERM /a>:                return - a href="+code=EACCES" class="sref">EACCES /a>;>  52 /a>        case  a href="+code=AFSVL_NOMEM" class="sref">AFSVL_NOMEM /a>:               return - a href="+code=EREMOTEIO" class="sref">EREMOTEIO /a>;>  53 /a>        default:>  54 /a>                return  a href="+code=afs_abort_to_error" class="sref">afs_abort_to_error0( a href="+code=abort_code" class="sref">abort_code /a>);>  55 /a>        }>  56 /a>}>  57 /a>>  58 /a> spao class="comment"n/* /spaon>  59 /a> spao class="comment"n * deliver reply data to a VL.GetEntryByXXX call /spaon>  610 spao class="comment"n */ /spaon>  610static int  a href="+code=afs_deliver_vl_get_entry_by_xxx" class="sref">afs_deliver_vl_get_entry_by_xxx0(struct  a href="+code=afs_call" class="sref">afs_call /an * a href="+code=call" class="sref">call /an,>  62 /a>                                           struct  a href="+code=sk_buff" class="sref">sk_buff /an * a href="+code=skb" class="sref">skb /an,  a href="+code=bool" class="sref">bool /a>  a href="+code=last" class="sref">last /a>)>  63 /a>{>  64 /a>        struct  a href="+code=afs_cache_vlocaptio" class="sref">afs_cache_vlocaptio /an * a href="+code=entry" class="sref">entry /a>;>  65 /a>         a href="+code=__be32" class="sref">__be32 /an * a href="+code=bp" class="sref">bp /a>;>  66 /a>         a href="+code=u32" class="sref">u32 /a>  a href="+code=tmp" class="sref">tmp /a>;>  67 /a>        int  a href="+code=loop" class="sref">loop /a>;>  68 /a>>  69 /a>         a href="+code=_enter" class="sref">_enter0( spao class="string">",,%u"last /a>);>  70 /a>>  71 /a>         a href="+code=afs_transfer_reply" class="sref">afs_transfer_reply0( a href="+code=call" class="sref">call /an,  a href="+code=skb" class="sref">skb /an);>  72 /a>        if (! a href="+code=last" class="sref">last /a>)>  73 /a>                return 0;>  74 /a>>  75 /a>        if ( a href="+code=call" class="sref">call /an-> a href="+code=reply_size" class="sref">reply_size /a> !=  a href="+code=call" class="sref">call /an-> a href="+code=reply_max" class="sref">reply_max /a>)>  76 /a>                return - a href="+code=EBADMSG" class="sref">EBADMSG /a>;>  77 /a>>  78 /a>         spao class="comment"n/* unmarshall the reply once we've received all of it */ /spaon>  79 /a>         a href="+code=entry" class="sref">entry /a> =  a href="+code=call" class="sref">call /an-> a href="+code=reply" class="sref">reply /a>;>  80 /a>         a href="+code=bp" class="sref">bp /a> =  a href="+code=call" class="sref">call /an-> a href="+code=buffer" class="sref">buffer /a>;>  81 /a>>  82 /a>        for ( a href="+code=loop" class="sref">loop /a> = 0;  a href="+code=loop" class="sref">loop /a> < 64;  a href="+code=loop" class="sref">loop /a>++)>  83 /a>                 a href="+code=entry" class="sref">entry /a>-> a href="+code=namu" class="sref">namu /a>[ a href="+code=loop" class="sref">loop /a>] =  a href="+code=ntohl" class="sref">ntohl0(* a href="+code=bp" class="sref">bp /a>++);>  84 /a>         a href="+code=entry" class="sref">entry /a>-> a href="+code=namu" class="sref">namu /a>[ a href="+code=loop" class="sref">loop /a>] = 0;>  85 /a>         a href="+code=bp" class="sref">bp /a>++;  spao class="comment"n/* final NUL */ /spaon>  86 /a>>  87 /a>         a href="+code=bp" class="sref">bp /a>++;  spao class="comment"n/* typu */ /spaon>  88 /a>         a href="+code=entry" class="sref">entry /a>-> a href="+code=nservers" class="sref">nservers /a> =  a href="+code=ntohl" class="sref">ntohl0(* a href="+code=bp" class="sref">bp /a>++);>  89 /a>>  90 /a>        for ( a href="+code=loop" class="sref">loop /a> = 0;  a href="+code=loop" class="sref">loop /a> < 8;  a href="+code=loop" class="sref">loop /a>++)>  91 /a>                 a href="+code=entry" class="sref">entry /a>-> a href="+code=servers" class="sref">servers /a>[ a href="+code=loop" class="sref">loop /a>]. a href="+code=s_addr" class="sref">s_addr /a> = * a href="+code=bp" class="sref">bp /a>++;>  92 /a>>  93 /a>         a href="+code=bp" class="sref">bp /a> += 8;  spao class="comment"n/* partiptionIDs */ /spaon>  94 /a>>  95 /a>        for ( a href="+code=loop" class="sref">loop /a> = 0;  a href="+code=loop" class="sref">loop /a> < 8;  a href="+code=loop" class="sref">loop /a>++) {>  96 /a>                 a href="+code=tmp" class="sref">tmp /a> =  a href="+code=ntohl" class="sref">ntohl0(* a href="+code=bp" class="sref">bp /a>++);>  97 /a>                 a href="+code=entry" class="sref">entry /a>-> a href="+code=srvtmask" class="sref">srvtmask /a>[ a href="+code=loop" class="sref">loop /a>] = 0;>  98 /a>                if ( a href="+code=tmp" class="sref">tmp /a> &  a href="+code=AFS_VLSF_RWVOL" class="sref">AFS_VLSF_RWVOL /a>)>  99 /a>                         a href="+code=entry" class="sref">entry /a>-> a href="+code=srvtmask" class="sref">srvtmask /a>[ a href="+code=loop" class="sref">loop /a>] |=  a href="+code=AFS_VOL_VTM_RW" class="sref">AFS_VOL_VTM_RW /a>;> 100 /a>                if ( a href="+code=tmp" class="sref">tmp /a> &  a href="+code=AFS_VLSF_ROVOL" class="sref">AFS_VLSF_ROVOL /a>)> 101 /a>                         a href="+code=entry" class="sref">entry /a>-> a href="+code=srvtmask" class="sref">srvtmask /a>[ a href="+code=loop" class="sref">loop /a>] |=  a href="+code=AFS_VOL_VTM_RO" class="sref">AFS_VOL_VTM_RO /a>;> 102 /a>                if ( a href="+code=tmp" class="sref">tmp /a> &  a href="+code=AFS_VLSF_BACKVOL" class="sref">AFS_VLSF_BACKVOL /a>)> 103 /a>                         a href="+code=entry" class="sref">entry /a>-> a href="+code=srvtmask" class="sref">srvtmask /a>[ a href="+code=loop" class="sref">loop /a>] |=  a href="+code=AFS_VOL_VTM_BAK" class="sref">AFS_VOL_VTM_BAK /a>;> 104 /a>        }> 105 /a>> 106 /a>         a href="+code=entry" class="sref">entry /a>-> a href="+code=vid" class="sref">vid /a>[0] =  a href="+code=ntohl" class="sref">ntohl0(* a href="+code=bp" class="sref">bp /a>++);> 107 /a>         a href="+code=entry" class="sref">entry /a>-> a href="+code=vid" class="sref">vid /a>[1] =  a href="+code=ntohl" class="sref">ntohl0(* a href="+code=bp" class="sref">bp /a>++);> 108 /a>         a href="+code=entry" class="sref">entry /a>-> a href="+code=vid" class="sref">vid /a>[2] =  a href="+code=ntohl" class="sref">ntohl0(* a href="+code=bp" class="sref">bp /a>++);> 109 /a>> 110 /a>         a href="+code=bp" class="sref">bp /a>++;  spao class="comment"n/* clonenID */ /spaon> 111 /a>> 112 /a>         a href="+code=tmp" class="sref">tmp /a> =  a href="+code=ntohl" class="sref">ntohl0(* a href="+code=bp" class="sref">bp /a>++);  spao class="comment"n/* flags */ /spaon> 113 /a>         a href="+code=entry" class="sref">entry /a>-> a href="+code=vidmask" class="sref">vidmask /a> = 0;> 114 /a>        if ( a href="+code=tmp" class="sref">tmp /a> &  a href="+code=AFS_VLF_RWEXISTS" class="sref">AFS_VLF_RWEXISTS /a>)> 115 /a>                 a href="+code=entry" class="sref">entry /a>-> a href="+code=vidmask" class="sref">vidmask /a> |=  a href="+code=AFS_VOL_VTM_RW" class="sref">AFS_VOL_VTM_RW /a>;> 116 /a>        if ( a href="+code=tmp" class="sref">tmp /a> &  a href="+code=AFS_VLF_ROEXISTS" class="sref">AFS_VLF_ROEXISTS /a>)> 117 /a>                 a href="+code=entry" class="sref">entry /a>-> a href="+code=vidmask" class="sref">vidmask /a> |=  a href="+code=AFS_VOL_VTM_RO" class="sref">AFS_VOL_VTM_RO /a>;> 118 /a>        if ( a href="+code=tmp" class="sref">tmp /a> &  a href="+code=AFS_VLF_BACKEXISTS" class="sref">AFS_VLF_BACKEXISTS /a>)> 119 /a>                 a href="+code=entry" class="sref">entry /a>-> a href="+code=vidmask" class="sref">vidmask /a> |=  a href="+code=AFS_VOL_VTM_BAK" class="sref">AFS_VOL_VTM_BAK /a>;> 120 /a>        if (! a href="+code=entry" class="sref">entry /a>-> a href="+code=vidmask" class="sref">vidmask /a>)> 121 /a>                return - a href="+code=EBADMSG" class="sref">EBADMSG /a>;> 122 /a>> 123 /a>         a href="+code=_leavu" class="sref">_leavu0( spao class="string">" = 0 [done]" 124 /a>        return 0;> 125 /a>}> 126 /a>> 127 /a> spao class="comment"n/* /spaon> 128 /a> spao class="comment"n * VL.GetEntryByNamu operaptiontypu /spaon> 129 /a> spao class="comment"n */ /spaon> 1310static const struct  a href="+code=afs_call_typu" class="sref">afs_call_typu /a>  a href="+code=afs_RXVLGetEntryByNamu" class="sref">afs_RXVLGetEntryByNamu /a> = {> 131 /a>        . a href="+code=namu" class="sref">namu /a>           =  spao class="string">"VL.GetEntryByNamu" 132 /a>        . a href="+code=deliver" class="sref">deliver /a>        =  a href="+code=afs_deliver_vl_get_entry_by_xxx" class="sref">afs_deliver_vl_get_entry_by_xxx0,> 133 /a>        . a href="+code=abort_to_error" class="sref">abort_to_error0 =  a href="+code=afs_vl_abort_to_error" class="sref">afs_vl_abort_to_error0,> 134 /a>        . a href="+code=destructor" class="sref">destructor /a>     =  a href="+code=afs_flat_call_destructor" class="sref">afs_flat_call_destructor0,> 135 /a>};> 136 /a>> 137 /a> spao class="comment"n/* /spaon> 138 /a> spao class="comment"n * VL.GetEntryById operaptiontypu /spaon> 139 /a> spao class="comment"n */ /spaon> 1410static const struct  a href="+code=afs_call_typu" class="sref">afs_call_typu /a>  a href="+code=afs_RXVLGetEntryById" class="sref">afs_RXVLGetEntryById /a> = {> 141 /a>        . a href="+code=namu" class="sref">namu /a>           =  spao class="string">"VL.GetEntryById" 142 /a>        . a href="+code=deliver" class="sref">deliver /a>        =  a href="+code=afs_deliver_vl_get_entry_by_xxx" class="sref">afs_deliver_vl_get_entry_by_xxx0,> 143 /a>        . a href="+code=abort_to_error" class="sref">abort_to_error0 =  a href="+code=afs_vl_abort_to_error" class="sref">afs_vl_abort_to_error0,> 144 /a>        . a href="+code=destructor" class="sref">destructor /a>     =  a href="+code=afs_flat_call_destructor" class="sref">afs_flat_call_destructor0,> 145 /a>};> 146 /a>> 147 /a> spao class="comment"n/* /spaon> 14afs_deliver_vl_get_entry_by_xxf="fa href="fseliver_vl_get_entry_by_xxf="fa href="five8>abort145paon>destruclss="commef="+code=AFSVL_RERELEASE1" cla14lclient.c#L140" ide=L140" class="line" namue=L140"> 1410static cse  a hre1f="+code=AFSVL_BADSERVER1FLAG"1class=afs_vl_abort_to_error0(ide=L143" claring">"VL.GetEor0(ide=L143" claringn);>  a href="inass="sref">bp /a>++;inass="ss="s="comment"n/* flss="sref">bp /a>++;ss="ss="e" namue=L145"> 145 /a>};>entry /a>-> a hreeeeeeall_typu /a>  a href="kelass="sref">vidmkelss="s="comment"n/* flkelass="sref">vidmkelss="e" namue=L145"> 145 /a>};>"VL.GetE 145 /a>};>entry /a>-> a hreeeeeeall_typu /a>  a href="an * a href="+code=entry" class="sref">entry /a>;> 145 /a>};>f" class="sre>afs_call_typu /a>  a href="an *wait_moent.c#L55" ide=L55n *wait_moenhref="fs/afs/vlclientwait_moent.c#L55" ide=L5wait_moenhrefe" namue=L121"> 121 /a>         141 /a>        "fs/afs/v1lclient.c#L57" ide=L57" 1class15a> &  a han * a href="+code=call" class="sref">call /an,>  15 /a>#include &quss="commeclient.c#L58" ide=L58" c1lass=15a>-> a href="+code=vid" c>_3" ide=L73" clas>_3afs_RXVLGetEntryById"VL.GetE"VL.GetEreqszine"eRXVLGetEntryByIdpadsz">"VL.GetEpadszine" namue=L15">  15 /a>#include &qu_get_entrt"n/* /spaon>bp /a>;>  66 /a>         a1s="commen1t"n * deliver reply data1 to a15"line" namue=L110"> 110 /a>        s="commen1t"n */ /spaon> 124 /a>          a href=1"+code=afs_deliver_vl_ge1t_ent16"line" namue=L112"> 112 /a>                 1                        1struc16  a href="+code=ntohl" class"VL.GetEafs_flat_call_de_cole=entry" class="s_cole= href=comment"n/* fl"VL.GetE 124 /a>          a href="lclient.c#L64" ide=L64" 1class160( spao class="string">&qpadsz">"VL.GetEpadszine"">a(4 -f="+code=AFS_VLF_"VL.GetE 124 /a>          a href="ref="+code=afs_cache_vlo1capti16a>-> a href="+code=namu" reqsz">"VL.GetEreqszine"">a8 +ode=ntohl" class"VL.GetE"VL.GetEpadszine" namue=L15">  15 /a>#include &q href="+c1ode=__be32" class="sref"1>__be16"line" namue=L106"> 106 /a>        6s/afs/vlcllient.c#L17" ide=L17" clalass1 a href="+code=tmp" class="sr#L62" ide=L62" class="line"">afs_flat_call_destru="loc145" ide=L="sref">call /an,><="loc145" ide=L hrefFS_VL_RXVLGetEntryByNamu /a> = {>"VL.GetEreqszine"eR384ne" namue=L124"> 124 /a>         ss="comme="+code=loop" class="sre1f">lo1p /a>;> 121 /a>        fs/afs/vl1client.c#L69" ide=L69" c1lass=16f">tmp /a> &  a hM /a>;>  32 /a>        ca1 href="+c1ode=_enter" class="sref"1>_ent16"line" namue=L110"> 110 /a>        fs/afs/vl1client.c#L71" ide=L71" c1lass=17 spao class="comment"n/* cloclass="sref">buffer /a>;>vidmkelss="s>afs_flat_call_dekelass="sref">vidmkelss=" namue=L32">  32 /a>        ca1 href="+c1ode=afs_transfer_reply" 1class1"sref">afs_transfer_reply0lass="sref">reply /a>;>afs_flat_call_de.c#L65" ide=L65" class="line" namue=L32">  32 /a>        ca1         1f="+code=last" class="sr1ef">l17  a href="+code=ntohl" classlass="sref">reply /a>;>ntohl0afs_flat_call_deAL" ERVICE="sref">ntohl0  32 /a>        ca1  a href="urn 0;>&qlass="sref">reply /a>;>afs_flat_call_dehtafs" ide=L73" clashtafs href=comment"n/* fl" ide=_POR a href="+code=EINVde=_POR ss="ne" namue=L124"> 124 /a>        fs/afs/vl1client.c#L75" ide=L75" c1lass=1line" namue=L75">  75 /a>        if1 ( a href1="+code=call" class="sre1f">ca1l /an-> a hs/vlclient.c#L113" ide=L1 /spaon> 113 /a>              ret1urn - a href="+code=EBAD1MSG" 17a href="+code=tmp" class="srref">call /an-> a href="+code=buffer" class="sref">buffer /a>;>  32 /a>        ca1 ="comment""n/* /spaon>lo17 /a>;>bufferhtafs href=comment"n/* fl1" ETclassBYn - a href="+code=E1" ETclassBYn - ss="ne" namue=L124"> 124 /a>        fs/afs/vl1="comment"n/* unmarshall1 the 1eply once we&#="comment"n/* flags */ /spaon>bufferhtafs href=comment"n/* fl"VL.GetE 124 /a>        fhref="+c1ode=entry" class="sref">1entry1/a> =  a href="+code=call" clmemcp65" ide=L65" clamemcp6 href=comment"n/* flags */ /spaon>"VL.GetE"VL.GetE 124 /a>         href="+c1ode=bp" class="sref">bp 1/a> =18try /a>-> a hrass="string">&qpadsz">"VL.GetEpadszine""href 0e" namue=L121"> 121 /a>        fs/afs/vl1client.c#L82" ide=L82" c1lass=18>entry /a>-> a href="+code=servermemse3" ide=L73" clasmemse3 href(void *)ss="comment"n/* partiptionIDs */ /spaon>"VL.GetE"VL.GetEpadszine"ne" namue=L124"> 124 /a>                 1f="+code=loop" class="sr1ef">l18"line" namue=L123"> 123 /a>               a 1href="+code=entry" class1="sre1">entry /a>-&gs/vlclient.c#L113" ide=L1 claiatelass="line" namue=L113"> 113 /a>         href="+c1ode=entry" class="sref">1entry18 ide=L125" class="li_RXVLGetEntryByNamumakeide=L="sref">call /an,>bp /a>++;ss="ss="e="+code=buffer" class="sref">buffer /a>;> 124 /a>         ( a href1ode=bp" class="sref">bp 1/a>++18="line" namue=L126"> 126 /a>>  87 /a>         a1 href="+c1ode=bp" class="sref">bp 1/a>++18client.c#L18" ide=L18" class="line" namue=L18">  18 /a> spao class=="comment""n * map volume locapor athe 18et_entry_by_xxf="fa href="five8>abort145paon>destrucfs/afs/vl1client.c#L90" ide=L90" c1lass=18lclient.c#L140" ide=L140" class="line" namue=L140"> 1410static cr ( a hre1f="+code=loop" class="sr1ef">l19lass=afs_vl_abort_to_error0(ide=L143" class="sref">ntohl0(ide=L143" classn);>  a href="inass="sref">bp /a>++;inass="ss="s="comment"n/* flss="sref">bp /a>++;ss="ss="e" namue=L145"> 145 /a>};>entry /a>-> a hreeeeeeeeeeeeall_typu /a>  a href="kelass="sref">vidmkelss="s="comment"n/* flkelass="sref">vidmkelss="e" namue=L145"> 145 /a>};>ntohl0 145 /a>};>bp 1/a> +19s="sref">entry /a>-> a hreeeevl_abort_to_error0_3" ide=L73" clasor0_3afs_RXVLGetEntryById 145 /a>};>f" class="sall_typu /a>  a href="an * a href="+code=entry" class="sref">entry /a>;> 145 /a>};>l19>entry /a>-> a hreeeeeeeeeeee>afs_call_typu /a>  a href="an *wait_moent.c#L55" ide=L55n *wait_moenhref="fs/afs/vlclientwait_moent.c#L55" ide=L5wait_moenhrefe" namue=L121"> 121 /a>               a 1href="+code=tmp" class="1sref"1tmp /ae" namue=L141"> 141 /a>               a 1href="+code=entry" class1="sre1">entry /a>-&gan * a href="+code=call" class="sref">call /an,>  15 /a>#include &q      if 1( a href="+code=tmp" cla1ss="s19a>-> a href="+code=vid" css="sref">bp /a>;>  66 /a>         a1         1      a href="+code=entr1y" cl19"line" namue=L110"> 110 /a>       2        i2 ( a href="+code=tmp" cl2ss="s20 spao class="comment"n/* clouot;%u" 124 /a>       2         2       a href="+code=ent2y" cl20"line" namue=L112"> 112 /a>       2        i2 ( a href="+code=tmp" cl2ss="s20  a href="+code=ntohl" classlass="sref">reply /a>;>afs_flat_call_destru="loc145" ide=L="sref">call /an,><="loc145" ide=L hrefFS_VL_RXVLGetEntryByNamu /a> = {> 124 /a>       2         2       a href="+code=ent2y" cl2ss="sref">entr= href="+code=vidmas#L62" ide=L62" class="line"e" namue=L121"> 121 /a>       2}>M /a>;>  32 /a>        ca2="fs/afs/2lclient.c#L106" ide=L1062 clas2="line" namue=L106"> 106 /a>       2 a href="2code=entry" class="sref"2entry2/a>-> a href="+code=vid" cclass="sref">buffer /a>;>vidmkelss="s>afs_flat_call_dekelass="sref">vidmkelss=" namue=L32">  32 /a>        ca2 a href="2code=entry" class="sref"2entry2/a>-> a href="+code=vid" class="sref">reply /a>;>afs_flat_call_de.c#L65" ide=L65" class="line" namue=L32">  32 /a>        ca2 a href="2code=entry" class="sref"2entry2/a>-> a href="+code=vid" class="sref">reply /a>;>ntohl0afs_flat_call_deAL" ERVICE="sref">ntohl0  32 /a>        ca2="fs/afs/2lclient.c#L110" ide=L1102 clas20a> =  a href="+code=call" cllass="sref">reply /a>;>afs_flat_call_dehtafs" ide=L73" clashtafs href=comment"n/* fl" ide=_POR a href="+code=EINVde=_POR ss="ne" namue=L124"> 124 /a>       2 a href="2code=bp" class="sref">bp2/a>++21ine" namue=L71">  71 /a>         a2="fs/afs/2lclient.c#L112" ide=L1122 clas21sref">afs_tran/vlclient.c#L113" ide=L1 /spaon> 113 /a>       2 a href="2code=tmp" class="sref">t2p /a>2=  a href="+code=ntohl" classref">call /an-> a href="+code=buffer" class="sref">buffer /a>;>  32 /a>        ca2 a href="2code=entry" class="sref"2entry2/a>-> a hre="comment"n/* flags */ /spaon>bufferhtafs href=comment"n/* fl1" ETclassBYI a href="+code=E1" ETclassBYI ss="ne" namue=L124"> 124 /a>       2 >tmp2/a> &  a h="comment"n/* flags */ /spaon>bufferhtafs href=comment"n/* flntohl0 124 /a>       2 "fs/afs/2 href="+code=entry" clas2="sre2">entry /a>-&g="comment"n/* flags */ /spaon>afs_flat_call_dehtafss="sref">bufferhtafs href=comment"n/* fl 124 /a>       2 a href="2f="+code=tmp" class="sre2">tmp21ine" namue=L87">  87 /a>         a2         2 href="+code=entry" clas2="sre2">entry /a>-&gs/vlclient.c#L113" ide=L1 claiatelass="line" namue=L113"> 113 /a>       2if ( a hr2f="+code=tmp" class="sre2">tmp2/a> &  a hass="li_RXVLGetEntryByNamumakeide=L="sref">call /an,>bp /a>++;ss="ss="e="+code=buffer" class="sref">buffer /a>;> 124 /a>       2         2 href="+code=entry" clas2="sre2">entre" namue=L126"> 126 /a>>2ntry /
T hrorigL86" LXR softwareaxf=a hr namue=L1http://sourceforge.net/projects/lx#3>LXR L113uclaline"e=a is experi3" i6" hre39" xf= namue=L1mailto:lx#@ntrux.no">lx#@ntrux.noine".
lx#.ntrux.no kindly hosted xf= namue=L1http://www.redpill-ntrpro.no">Redpill Ltrpro ASine"e=provider9" cLtruxe>afsultde" an" ide=L139"s s=L2" cs siafs/1995.