Man Linux: Main Page and Category List

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).