clientlib - NNTP clientlib part of InterNetNews library
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;
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.
Written by Rich $alz <rsalz> for InterNetNews. This is revision 42, dated 1997-08-04.