---
name: "clientlib"
section: "3"
platform: "linux"
package: "inn"
version: "1:1.7.2q-52"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/clientlib"
---

# clientlib(3)

NNTP clientlib part of InterNetNews library

## NAME

clientlib - NNTP clientlib part of InterNetNews library

## SYNOPSIS

```
extern FILE	*ser_rd_fp;
extern FILE	*ser_wr_fp;
extern char	ser_line[];
char *
getserverbyfile(file)
    char	*file;
int
server_init(host)
    char	*host;
int
handle_server_response(response, host)
    int	reponse;
    char	*host;
void
put_server(text)
    char	*text;
int
get_server(buff, buffsize)
    char	*buff;
    int	buffsize;
void
close_server()
```

## DESCRIPTION

The routines described in this manual page are part of the InterNetNews library, [*libinn*(3)](/libinn/3.md). They are replacements for the \`\`clientlib'' part of the NNTP distribution, and are intended to be used in building programs like *rrn*.

*Getserverbyfile* calls *GetConfigValue* to get the name of the local NNTP server. It returns a pointer to static space. The *file* parameter is ignored.

*Server\_init* opens a connect to the NNTP server at the specified *host*. It returns the server's response code or -1 on error. If a connection was made, then *ser\_rd\_fp* and *ser\_wr\_fp* can be used to read from and write to the server, respectively, and *ser\_line* will contain the server's response. *Ser\_line* can also be used in other routines.

*Handle\_server\_response* decodes the *response*, which comes from the server on *host.* If the client is authorized, it returns 0. A client that is only allowed to read is authorized, but *handle\_server\_response* will print a message on the standard output. If the client is not authorized to talk to the server, then a message is printed and the routine returns -1.

*Put\_server* sends the text in *buff* to the server, adding the necessary NNTP line terminators, and flushing the I/O buffer.

*Get\_server* reads a line of text from the server into *buff*, reading at most *buffsize* characters. Any trailing \\r\\n terminators are stripped off. *Get\_server* returns -1 on error.

*Close\_server* sends a \`\`quit'' command to the server and closes the connection.

## HISTORY

Written by Rich $alz \<rsalz@uunet.uu.net\> for InterNetNews. This is revision 1.4, dated 1992/04/03.

## SEE ALSO

[libinn(3)](/libinn/3.md).
