Provided by: inn2-dev_2.5.3-3ubuntu1_amd64 bug

NAME

       inndcomm - INND communication part of InterNetNews library

SYNOPSIS

       #include "inn/inndcomm.h"

       int
       ICCopen()

       int
       ICCclose()

       void
       ICCsettimeout(i)
           int              i;

       int
       ICCcommand(cmd, argv, replyp)
           char             cmd;
           char             *argv[];
           char             **replyp;

       int
       ICCcancel(mesgid)
           char             *mesgid;

       int
       ICCreserve(why)
           char             *why;

       int
       ICCpause(why)
           char             *why;

       int
       ICCgo(why)
           char             *why;

       extern char *ICCfailure;

DESCRIPTION

       The  routines  described  in  this  manual  page  are  part  of  the InterNetNews library,
       libinn(3).  They are used to send commands to a running innd(8) daemon on the local  host.
       The letters ``ICC'' stand for Innd Control Command.

       ICCopen creates a Unix-domain datagram socket and binds it to the server's control socket,
       if <HAVE_UNIX_DOMAIN_SOCKETS in include/config.h> is  defined.   Otherwise  it  creates  a
       named  pipe  for  communicating  with  the  server.   It  returns -1 on failure or zero on
       success.  This routine must be called before any other routine.

       ICCclose closes any descriptors that have been created  by  ICCopen.   It  returns  -1  on
       failure or zero on success.

       ICCsettimeout can be called before any of the following routines to determine how long the
       library should wait before giving up on getting the  server's  reply.   This  is  done  by
       setting  and catching a SIGALRM signal(2).  If the timeout is less then zero then no reply
       will be waited for.  The SC_SHUTDOWN, SC_XABORT, and SC_XEXEC commands do not get a  reply
       either.   The  default,  which  can be obtained by setting the timeout to zero, is to wait
       until the server replies.

       ICCcommand sends the command cmd with parameters argv to the server.   It  returns  -1  on
       error.   If  the  server  replies,  and  replyp  is not NULL, it will be filled in with an
       allocated buffer that contains the full text of the server's  reply.   This  buffer  is  a
       string  in the form of ``<digits><space><text>'' where ``digits'' is the text value of the
       recommended exit code; zero indicates success.  Replies longer then  4000  bytes  will  be
       truncated.   The possible values of cmd are defined in the ``inn/inndcomm.h'' header file.
       The parameters for each command are described in ctlinnd(8).  This routine returns  -1  on
       communication failure, or the exit status sent by the server which will never be negative.

       ICCcancel  sends  a  ``cancel''  message  to  the server.  Mesgid is the Message-ID of the
       article that should be cancelled.  The return value is the same as for ICCcommand.

       ICCpause, ICCreserve, and ICCgo send a ``pause,'' ``reserve,'' or ``go''  command  to  the
       server,  respectively.   If  ICCreserve  is  used, then the why value used in the ICCpause
       invocation must match; the value used in the ICCgo invocation must always match  that  the
       one  used in the ICCpause invocation.  The return value for all three routines is the same
       as for ICCcommand.

       If any routine described above fails, the ICCfailure variable  will  identify  the  system
       call that failed.

HISTORY

       Written  by Rich $alz <rsalz@uunet.uu.net> for InterNetNews.  This is revision 7901, dated
       2008-06-22.

SEE ALSO

       ctlinnd(8), innd(8), libinn(3).

                                                                                      INNDCOMM(3)