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 <HAVE_UNIX_DOMAIN_SOCK
ETS 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
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 suc
cess. Replies longer then 4000 bytes will be truncated.
The possible values of cmd are defined in the ``innd
comm.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. Mes
gid is the Message-ID of the article that should be can
celed. The return value is the same as for ICCcommand.
ICCpause, ICCreserve, and ICCgo send a ``pause,''
``reserve,'' or ``go'' command to the server, respec
tively. 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 vari
able will identify the system call that failed.
HISTORY
Written by Rich $alz <rsalz@uunet.uu.net> for InterNet
News. This is revision 1.4, dated 1998/12/09.
SEE ALSO
ctlinnd(8), innd(8), libinn(3).
Man(1) output converted with
man2html