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

NAME

       ixp_pending_write,   ixp_pending_print,   ixp_pending_vprint,   ixp_pending_pushfid,   ixp_pending_clunk,
       ixp_pending_flush, ixp_pending_respond, IxpPending

SYNOPSIS

       #include <ixp_srvutil.h>

       void ixp_pending_write(IxpPending *pending, const char *dat, long ndat);

       int ixp_pending_print(IxpPending *pending, const char *fmt, ...);

       int ixp_pending_vprint(IxpPending *pending, const char *fmt, va_list ap);

       void ixp_pending_pushfid(IxpPending *pending, IxpFid *fid);

       bool ixp_pending_clunk(Ixp9Req *req);

       void ixp_pending_flush(Ixp9Req *req);

       void ixp_pending_respond(Ixp9Req *req);

       typedef struct IxpPending       IxpPending;
       struct IxpPending {
               /* Private members */
               ...
       }

DESCRIPTION

       These functions aid in writing virtual files used for broadcasting events or writing data when it becomes
       available. When a file to be used with these functions is opened, ixp_pending_pushfid  should  be  called
       with  its  IxpFid(3) as an argument. This sets the IxpFid's pending member to true.  Thereafter, for each
       file with its  pending  member  set,  ixp_pending_respond  should  be  called  for  each  TRead  request,
       ixp_pending_clunk for each TClunk request, and ixp_pending_flush for each TFlush request.

       ixp_pending_write  queues  the  data in dat of length ndat to be written to each currently pending fid in
       pending. If there is a read request pending for a given fid, the data is written immediately.  Otherwise,
       it  is  written  the  next  time  ixp_pending_respond  is  called. Likewise, if there is data queued when
       ixp_pending_respond is called, it is written immediately, otherwise the request is queued.

       ixp_pending_print and ixp_pending_vprint call ixp_pending_write after  formatting  their  arguments  with
       ixp_vsmprint(3).

       The IxpPending data structure is opaque and should be initialized zeroed before using these functions for
       the first time.

RETURN VALUE

       ixp_pending_clunk returns true if pending has any more pending IxpFids.

libixp Manual                                       2012 Dec                                IXP_PENDING_WRITE(3)