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 com-
     mands 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 rou-
     tines  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 pos-
     sible 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 rou-
     tines is the same as for ICCcommand.

     If any routine described above fails, the  ICCfailure  vari-
     able 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).






Man(1) output converted with man2html