aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@gnumonks.org>2011-10-03 22:09:45 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2011-10-04 02:36:46 +0200
commit8bf16493f68fd53c6e14f1612caf7425c73b2f4d (patch)
tree3ec412622ca065b7d835f6cfbc953d8ea6b1546a /include
initial commit
Diffstat (limited to 'include')
-rw-r--r--include/Makefile.am1
-rw-r--r--include/osmocom/Makefile.am1
-rw-r--r--include/osmocom/netif/Makefile.am3
-rw-r--r--include/osmocom/netif/stream.h44
4 files changed, 49 insertions, 0 deletions
diff --git a/include/Makefile.am b/include/Makefile.am
new file mode 100644
index 0000000..b255997
--- /dev/null
+++ b/include/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS=osmocom
diff --git a/include/osmocom/Makefile.am b/include/osmocom/Makefile.am
new file mode 100644
index 0000000..df0aef9
--- /dev/null
+++ b/include/osmocom/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS=netif
diff --git a/include/osmocom/netif/Makefile.am b/include/osmocom/netif/Makefile.am
new file mode 100644
index 0000000..8b68362
--- /dev/null
+++ b/include/osmocom/netif/Makefile.am
@@ -0,0 +1,3 @@
+osmonetif_HEADERS = stream.h
+
+osmonetifdir = $(includedir)/osmocom/netif
diff --git a/include/osmocom/netif/stream.h b/include/osmocom/netif/stream.h
new file mode 100644
index 0000000..4f6407a
--- /dev/null
+++ b/include/osmocom/netif/stream.h
@@ -0,0 +1,44 @@
+#ifndef _OSMO_STREAM_H_
+#define _OSMO_STREAM_H_
+
+#include <stdint.h>
+#include <osmocom/core/linuxlist.h>
+#include <osmocom/core/timer.h>
+#include <osmocom/core/select.h>
+
+struct stream_server_link;
+
+struct stream_server_link *stream_server_link_create(void *ctx);
+void stream_server_link_destroy(struct stream_server_link *link);
+
+void stream_server_link_set_addr(struct stream_server_link *link, const char *addr);
+void stream_server_link_set_port(struct stream_server_link *link, uint16_t port);
+void stream_server_link_set_accept_cb(struct stream_server_link *link, int (*accept_cb)(struct stream_server_link *link, int fd));
+
+int stream_server_link_open(struct stream_server_link *link);
+void stream_server_link_close(struct stream_server_link *link);
+
+struct stream_server_conn;
+
+struct stream_server_conn *stream_server_conn_create(void *ctx, struct stream_server_link *link, int fd, int (*cb)(struct stream_server_conn *conn, struct msgb *msg), int (*closed_cb)(struct stream_server_conn *conn), void *data);
+void stream_server_conn_destroy(struct stream_server_conn *conn);
+
+void stream_server_conn_send(struct stream_server_conn *conn, struct msgb *msg);
+
+struct stream_client_conn;
+
+void stream_client_conn_set_addr(struct stream_client_conn *link, const char *addr);
+void stream_client_conn_set_port(struct stream_client_conn *link, uint16_t port);
+void stream_client_conn_set_data(struct stream_client_conn *link, void *data);
+void stream_client_conn_set_connect_cb(struct stream_client_conn *link, int (*connect_cb)(struct stream_client_conn *link));
+void stream_client_conn_set_read_cb(struct stream_client_conn *link, int (*read_cb)(struct stream_client_conn *link, struct msgb *msgb));
+
+struct stream_client_conn *stream_client_conn_create(void *ctx);
+void stream_client_conn_destroy(struct stream_client_conn *link);
+
+int stream_client_conn_open(struct stream_client_conn *link);
+void stream_client_conn_close(struct stream_client_conn *link);
+
+void stream_client_conn_send(struct stream_client_conn *link, struct msgb *msg);
+
+#endif