Provided by: libixp-dev_0.6~20121202+hg148-2build1_amd64 bug

NAME

       ixp_srv_walkandclone, ixp_srv_readdir, ixp_srv_verifyfile, IxpLookupFn

SYNOPSIS

       #include <ixp_srvutil.h>

       void ixp_srv_walkandclone(Ixp9Req *req, IxpLookupFn lookup);

       void ixp_srv_readdir(Ixp9Req *req, IxpLookupFn lookup, void (*dostat)(IxpStat *, IxpFileId *));

       bool ixp_srv_verifyfile(IxpFileId *file, IxpLookupFn lookup);

       typedef IxpFileId* (*IxpLookupFn)(IxpFileId*, char*);

DESCRIPTION

       These  convenience  functions  simplify  the writing of basic and static file servers. They use a generic
       file lookup function to simplify the process of walking, cloning, and returning directory listings. Given
       the  IxpFileId(3)  of  a  directory  and  a  filename  name  should return a new IxpFileId (allocated via
       ixp_srv_getfile(3)) for the matching directory entry, or null if there is no match. If the passed name is
       null, lookup should return a linked list of IxpFileIds, one for each child directory entry.

       ixp_srv_walkandclone handles the moderately complex process of walking from a directory entry and cloning
       fids, and calls ixp_respond(3). It should be called in response to a TWalk request.

       ixp_srv_readdir should be called to handle read requests on directories. It  prepares  a  stat  for  each
       child  of  the  directory, taking into account the requested offset, and calls ixp_respond(3). The dostat
       parameter must be a function which fills the passed IxpStat(3) pointer  based  on  the  contents  of  the
       passed IxpFileId.

       ixp_srv_verifyfile  returns  whether  a  file  still  exists  in  the  filesystem,  and should be used by
       filesystems that invalidate files once they have been deleted.

SEE ALSO

       IxpFileId(3), ixp_getfile(3), ixp_freefile(3)