Split internal details of HCConn into header to allow other layers.
authorThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Thu, 2 Jul 2009 20:04:26 +0000 (17:04 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Thu, 2 Jul 2009 20:04:54 +0000 (17:04 -0300)
Makefile.am
hcconn.c
hcconn_internal.h [new file with mode: 0644]

index 93680df..41a102c 100644 (file)
@@ -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
index 5c6e60e..adfa4c4 100644 (file)
--- a/hcconn.c
+++ b/hcconn.c
@@ -20,6 +20,7 @@
 #include "hcconn.h"
 #include <unistd.h>
 #include <fcntl.h>
+#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 (file)
index 0000000..0dee727
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ *  Copyright (C) 2009  Thadeu Lima de Souza Cascardo <cascardo@holoscopio.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 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