Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
libinn_inndcomm(3)	  InterNetNews Documentation	    libinn_inndcomm(3)

NAME
       inndcomm	- Routines for managing	innd control commands

SYNOPSIS
	   #include <inn/inndcomm.h>

	   #define SC_ADDHIST ...
	   #define SC_ALLOW ...
	   #define SC_BEGIN ...
	   #define SC_CANCEL ...
	   #define SC_CHANGEGROUP ...
	   #define SC_CHECKFILE	...
	   #define SC_DROP ...
	   #define SC_FEEDINFO ...
	   #define SC_FLUSH ...
	   #define SC_FLUSHLOGS	...
	   #define SC_GO ...
	   #define SC_HANGUP ...
	   #define SC_LOGMODE ...
	   #define SC_LOWMARK ...
	   #define SC_MODE ...
	   #define SC_NAME ...
	   #define SC_NEWGROUP ...
	   #define SC_PARAM ...
	   #define SC_PAUSE ...
	   #define SC_PERL ...
	   #define SC_PYTHON ...
	   #define SC_READERS ...
	   #define SC_REJECT ...
	   #define SC_RELOAD ...
	   #define SC_RENUMBER ...
	   #define SC_RESERVE ...
	   #define SC_RMGROUP ...
	   #define SC_SEND ...
	   #define SC_SHUTDOWN ...
	   #define SC_STATHIST ...
	   #define SC_STATUS ...
	   #define SC_SIGNAL ...
	   #define SC_THROTTLE ...
	   #define SC_TIMER ...
	   #define SC_TRACE ...
	   #define SC_XABORT ...
	   #define SC_XEXEC ...

	   #define MAX_REASON_LEN ...

	   extern int ICCopen(void);
	   extern int ICCclose(void);
	   extern void ICCsettimeout(int i);
	   extern int ICCcommand(char cmd, const char *argv[], char **replyp);
	   extern int ICCcancel(const char *msgid);
	   extern int ICCpause(const char *why);
	   extern int ICCreserve(const char *why);
	   extern int ICCgo(const char *why);

	   extern const	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
       daemon on the local host.  The letters "ICC" stand for Innd Control
       Command.

       The ICCopen function creates a Unix-domain datagram socket and binds it
       to the server's control socket, if such sockets are supported.
       Otherwise, it creates a named pipe for communicating with the server.
       It returns "-1" on failure or 0 on success.  This routine must be
       called before any other routine.

       The ICCclose function closes any	descriptors that have been created by
       ICCopen.	 It returns "-1" on failure or 0 on success.

       The ICCsettimeout function 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 than 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 <0>, is to wait during 2 minutes.

       The ICCcommand function 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 text" where digits is the	text value of the
       recommended exit	code (usually 1, followed with text, giving the	reason
       of the failure);	a 0 value indicates success.  Replies longer than 64KB
       will be truncated.  The possible	values of cmd are defined in the
       inn/inndcomm.h header file, and also in the SYNOPSIS of this man	page.
       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.

       The ICCcancel function sends a "cancel" message to the server.  Its
       msgid argument is the Message-ID	of the article that should be
       cancelled.  The return value is the same	as for ICCcommand.

       The ICCpause, ICCreserve, and ICCgo functions 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	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.  Rewritten
       into POD	by Julien Elie.

SEE ALSO
       ctlinnd(8), innd(8), libinn(3).

INN 2.8.0			  2022-02-06		    libinn_inndcomm(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=libinn_inndcomm&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help