Provided by: inn_1.7.2debian-30_i386 bug

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,  followed  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 specified 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
              /var/log/news/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
              /var/spool/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 exclamation 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’’ command except
              that any files are not re-opened.  If given  an  argument,  then
              the  specified site is dropped, otherwise 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).

                                                                   BUFFCHAN(8)