INNDCOMM(3)

πŸ“¦
version 1.7.2q Β· 2 versions
  • 1.7.2q Β· debian bookworm, debian trixie, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 2.6.4 Β· ubuntu jammy
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– INNDCOMM(3) β€” inndcomm, from the Library Functions Manual: INND communication part of the InterNetNews library πŸ’–

✨ NAME ✨

inndcomm β€” INND communication part of InterNetNews library. It’s the literal group chat between you and innd, bestie πŸ’…

πŸ“œ 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 πŸ¦‹

Okay so these routines are part of the InterNetNews library, libinn(3). They send commands to a running innd(8) daemon on the local host. The letters ICC stand for Innd Control Command. Cute, right? It’s giving β€œinternet news but make it a control channel” ✨

  • ICCopen() β€” creates a Unix-domain datagram socket and binds it to the server’s control socket. It returns -1 on failure or zero on success. This routine must be called before any other routine. No skipping, bestie 🫢
  • ICCclose() β€” closes any descriptors that have been created by ICCopen(). It returns -1 on failure or zero on success.
  • ICCsettimeout(i) β€” 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 zero, is to wait until the server replies.
  • ICCcommand(cmd, argv, replyp) β€” 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 than 4000 bytes will be truncated. 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 communication failure, or the exit status sent by the server which will never be negative.
  • ICCcancel(mesgid) β€” sends a cancel message to the server. mesgid is the Message-ID of the article that should be canceled. The return value is the same as for ICCcommand.
  • ICCpause(why), ICCreserve(why), and ICCgo(why) β€” 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. It’s your little failure receipt, iykyk 🧚

🌸 HISTORY 🌸

Written by Rich $alz <rsalz@uunet.uu.net> for InterNetNews. This is revision 1.10, dated 1993/01/29.

πŸŽ€ SEE ALSO πŸŽ€

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


πŸ’œ Cute sign-off: this is the INNDCOMM(3) page β€” revision 1.10, dated 1993/01/29, from the InterNetNews library. Go off and control that daemon, bestie πŸ’œ