NAME

     buffchan - buffered file-writing backend for InterNetNews


SYNOPSIS

     buffchan [ -b ] [ -c lines ] [ -C seconds ] [ -d directory ]
     [  -f  fields  ] [ -m map ] [ -p pidfile ] [ -l lines ] [ -L
     seconds ] [ -r ] [ -s file_format ] [ -u ]


DESCRIPTION

     Buffchan reads lines from standard input and copies  certain
     fields  in each line into files named by other fields within
     the line.  Buffchan is intended to be called by  innd(8)  as
     an exploder feed.


OPTIONS

     -b   Once buffchan opens a file it keeps it open.  The input
          must  therefore  never  specify more files than can the
          number of available descriptors can keep open.  If  the
          ``-b'' flag is used, the program will allocate a buffer
          and attach it to the file using setbuf(3).

     -c   If the ``-c'' flag  is  used  with  a  number  n,  then
          buffchan  will close, and re-open, a file after every n
          lines are written to a file.

     -C   Similarly, the ``-C'' flag may be used to specify  that
          all  files  should  be  closed  and  re-opened  every n
          seconds.

     -d   The ``-d'' flag may be used to specify a directory  the
          program should change to before starting.  If this flag
          is used, then  the  default  for  the  ``-s''  flag  is
          changed to be a simple ``%s.''

     -f   Buffchan input is interpreted as a set of lines.   Each
          line  contains  a  fixed number of initial fields, fol-
          lowed by a variable number  of  filename  fields.   All
          fields  in  a  line  are  separated by whitespace.  The
          default number of initial fields  is  one;  the  ``-f''
          flag  may  be  used  to  specify  a different number of
          fields.  See filechan(8) for an example.

     -p   If the ``-p'' flag is used, the program  will  write  a
          line  containing its process ID (in text) to the speci-
          fied file.

     -l   If the ``-l'' flag  is  used  with  a  number  n,  then
          buffchan  will  call  fflush(3) after every n lines are
          written to a file.

     -L   If the ``-L'' flag is used with a number  n,  then  all
          files will be flushed every n seconds.

     -r   By default, the program  sets  its  standard  error  to
          /news/log/errlog.   To  suppress  this redirection, use
          the ``-r'' flag.

     -s   After the initial fields, each remaining field names  a
          file  to write.  The ``-s'' flag may be used to specify
          a format string that maps the field  to  a  file  name.
          This  is a sprintf(3) format string which should have a
          single ``%s'' parameter which will be given the  field.
          The  default  value  is  /news/out.going/%s.   See  the
          description of this flag in filechan(8).

     -u   If the ``-u'' flag is used, the  program  will  request
          unbuffered output.

     Buffchan  can  be  invoked  as   an   exploder   feed   (see
     newsfeeds(5)).   As  such, if a line starts with an exclama-
     tion point it will be treated as a command.  There are three
     commands, described below:

     flush
          The ``flush'' command  closes  and  re-opens  all  open
          files;  ``flush xxx''  which flushes only the specified
          site.  These are analogous to the ctlinnd(8)  ``flush''
          command,    and    can   be   achieved   by   doing   a
          ``send "flush xxx"'' command.   Applications  can  tell
          that  the  ``flush'' has completed by renaming the file
          before issuing the command; buffchan has completed  the
          command when the original filename re-appears.

          Buffchan also changes the  access  permissions  of  the
          file  from  read-only  for  everyone  to read-write for
          owner and group as it flushes  or  closes  each  output
          file.  It will change the modes back to read-only if it
          re-opens the same file.

     drop The ``drop'' command is similar to the  ``flush''  com-
          mand except that any files are not re-opened.  If given
          an argument, then the specified site is dropped, other-
          wise  all  sites are dropped.  (Note that the site will
          be restarted if the input stream  mentions  the  site.)
          When a ctlinnd ``drop site'' command is sent, innd will
          automatically forward the command to  buffchan  if  the
          site  is  a  funnel  that feeds into this exploder.  To
          drop all sites, use the  ctlinnd  ``send  buffchan-site
          drop'' command.

     readmap
          The map  file  (specified  with  the  ``-m''  flag)  is
          reloaded.



HISTORY

     Written by Rich $alz <rsalz@uunet.uu.net> for  InterNetNews.
     This is revision 1.11, dated 1996/10/29.


SEE ALSO

     ctlinnd(8), filechan(8), innd(8), newsfeeds(5).















































Man(1) output converted with man2html