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 li-
     brary,  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 rou-
     tine.

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

     The  ICCsettimeout  function can be called before any of the following rou-
     tines 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  fail-
     ure, 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+15.1.quarterly>

home | help