diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/conns.c | 58 | ||||
| -rw-r--r-- | src/conns.h | 41 | 
2 files changed, 99 insertions, 0 deletions
| diff --git a/src/conns.c b/src/conns.c new file mode 100644 index 0000000..daf5ad3 --- /dev/null +++ b/src/conns.c @@ -0,0 +1,58 @@ +/* $Id: conns.c,v 1.3 2001-10-25 16:58:09 rjkaes Exp $ + * + * Create and free the connection structure. One day there could be + * other connnection related tasks put here, but for now the header + * file and this file are only used for create/free functions and the + * connection structure definition. + * + * Copyright (C) 2001  Robert James Kaes (rjkaes@flarenet.com) + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, or (at your option) any + * later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * General Public License for more details. + */ + +#include "tinyproxy.h" + +#include "buffer.h" +#include "conns.h" +#include "stats.h" +#include "utils.h" + +void initialize_conn(struct conn_s *connptr) +{ +	connptr->client_fd = connptr->server_fd = -1; +	connptr->cbuffer = new_buffer(); +	connptr->sbuffer = new_buffer(); + +	connptr->send_message = FALSE; +	connptr->simple_req = FALSE; + +	connptr->ssl = FALSE; +	connptr->upstream = FALSE; + +	update_stats(STAT_OPEN); +} + +void destroy_conn(struct conn_s *connptr) +{ +	if (connptr->client_fd != -1) +		close(connptr->client_fd); +	if (connptr->server_fd != -1) +		close(connptr->server_fd); + +	if (connptr->cbuffer) +		delete_buffer(connptr->cbuffer); +	if (connptr->sbuffer) +		delete_buffer(connptr->sbuffer); + +	safefree(connptr); + +	update_stats(STAT_CLOSE); +} diff --git a/src/conns.h b/src/conns.h new file mode 100644 index 0000000..123a075 --- /dev/null +++ b/src/conns.h @@ -0,0 +1,41 @@ +/* $Id: conns.h,v 1.3 2001-10-25 16:58:09 rjkaes Exp $ + * + * See 'conns.c' for a detailed description. + * + * Copyright (C) 2001  Robert James Kaes (rjkaes@flarenet.com) + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, or (at your option) any + * later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * General Public License for more details. + */ + +#ifndef TINYPROXY_CONNS_H +#define TINYPROXY_CONNS_H + +/* + * Connection Definition + */ +struct conn_s { +	int client_fd; +	int server_fd; +	struct buffer_s *cbuffer; +	struct buffer_s *sbuffer; +	bool_t simple_req; +	bool_t ssl; +	bool_t upstream; +	bool_t send_message; +}; + +/* + * Functions for the creation and destruction of a connection structure. + */ +extern void initialize_conn(struct conn_s *connptr); +extern void destroy_conn(struct conn_s *connptr); + +#endif | 
