From b80938c4aea5443143813339f6c524a3f97fc4f1 Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Thu, 2 Jul 2009 17:04:26 -0300 Subject: [PATCH] Split internal details of HCConn into header to allow other layers. --- Makefile.am | 1 + hcconn.c | 13 +------------ hcconn_internal.h | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 12 deletions(-) create mode 100644 hcconn_internal.h diff --git a/Makefile.am b/Makefile.am index 93680df..41a102c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,7 @@ bin_PROGRAMS = popproxy ppmanager popproxy_SOURCES = popproxy.c log.c log.h nethook.c nethook.h \ hcconn.c hcconn.h tcp_connect.h tcp_connect.c tcp_server.c \ + hcconn_internal.h \ null.c null.h ssl.c ssl.h \ ssl_server.c pop.c pop.h usermap.c usermap.h dist_sysconf_DATA = popproxy.conf diff --git a/hcconn.c b/hcconn.c index 5c6e60e..adfa4c4 100644 --- a/hcconn.c +++ b/hcconn.c @@ -20,6 +20,7 @@ #include "hcconn.h" #include #include +#include "hcconn_internal.h" struct hc_server_cb { @@ -61,18 +62,6 @@ hc_server_add_watch (int fd, hc_server_watch, cb, hc_server_cb_destroy); } -struct _hc_conn_t -{ - GIOChannel *channel; - HCClientFunc func; - gpointer data; - ssize_t (*read) (gpointer, char *, size_t); - ssize_t (*write) (gpointer, char *, size_t); - void (*close) (gpointer); - gpointer layer; - guint watch; -}; - ssize_t hc_conn_channel_read (gpointer data, char *buffer, size_t len) { diff --git a/hcconn_internal.h b/hcconn_internal.h new file mode 100644 index 0000000..0dee727 --- /dev/null +++ b/hcconn_internal.h @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2009 Thadeu Lima de Souza Cascardo + * + * 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 of the License, 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. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef HC_CONN_INTERNAL_H +#define HC_CONN_INTERNAL_H + +#include "hcconn.h" + +struct _hc_conn_t +{ + GIOChannel *channel; + HCClientFunc func; + gpointer data; + ssize_t (*read) (gpointer, char *, size_t); + ssize_t (*write) (gpointer, char *, size_t); + void (*close) (gpointer); + gpointer layer; + guint watch; +}; + +ssize_t hc_conn_channel_read (gpointer, char *, size_t); +ssize_t hc_conn_channel_write (gpointer, char *, size_t); +void hc_conn_channel_close (gpointer); + +#endif -- 2.20.1