INNDCOMM (3)

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, if <config$HAVE_UNIX_DOMAIN> == DO.  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
     ``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) .

You can find a summary and links related to this topic
as part of the Mib Software Usenet RKT.