Provided by: inn_1.7.2q-44.1ubuntu2_amd64 bug

NAME

       inndcomm - INND communication part of InterNetNews library

SYNOPSIS

       #include "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.
       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 ``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 canceled.  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 1.10,  dated
       1993/01/29.

SEE ALSO

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

                                                                                      INNDCOMM(3)