inndcomm - INND communication part of InterNetNews library
ICCcommand(cmd, argv, replyp)
extern char *ICCfailure;
The routines described in this manual page are part of the InterNetNews library, lib-
inn(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 suc-
cess. This routine must be called before any other routine.
ICCclose closes any descriptors that have been created by ICCopen. It returns -1 on fail-
ure 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 set-
ting 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 allo-
cated 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 recom-
mended exit code; zero indicates success. Replies longer then 4000 bytes will be trun-
cated. 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 com-
munication 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 arti-
cle 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.
Written by Rich $alz <firstname.lastname@example.org> for InterNetNews. This is revision 1.4, dated
ctlinnd(8), innd(8), libinn(3).