Scroll to navigation

CLIENTLIB(3) Library Functions Manual CLIENTLIB(3)

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(char *file UNUSED);
int
server_init(char *host, int port);
int
handle_server_response(int response, char *host);
void
put_server(const char *buff);
int
get_server(char *buff, int buffsize);
void
close_server(void);

DESCRIPTION

The routines described in this manual page are part of the InterNetNews library, libinn(3). 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 10281, dated 2018-05-14.

SEE ALSO

libinn(3).