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