aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2023-12-01 17:23:26 +0100
committerlaforge <laforge@osmocom.org>2024-02-28 08:46:00 +0000
commit15dcf5e743d83814242eda3980ee668877852f7b (patch)
treebe5b10074ca3c8614bb367645e8d488f5aafe6a2 /examples
parent96e26d5539423b217c17dcaba5859ade805e5bb3 (diff)
examples/stream-*: Support SCTP when called with "-s" argument
Diffstat (limited to 'examples')
-rw-r--r--examples/stream-client.c24
-rw-r--r--examples/stream-server.c16
2 files changed, 35 insertions, 5 deletions
diff --git a/examples/stream-client.c b/examples/stream-client.c
index 6781c72..e42748f 100644
--- a/examples/stream-client.c
+++ b/examples/stream-client.c
@@ -3,6 +3,7 @@
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <netinet/in.h>
#include <osmocom/core/select.h>
#include <osmocom/core/talloc.h>
@@ -89,10 +90,21 @@ static int kbd_cb(struct osmo_fd *fd, unsigned int what)
return 0;
}
-int main(void)
+int main(int argc, char **argv)
{
struct osmo_fd *kbd_ofd;
- int rc;
+ bool use_sctp = false;
+ int opt, rc;
+
+ while ((opt = getopt(argc, argv, "s")) != -1) {
+ switch (opt) {
+ case 's':
+ use_sctp = true;
+ break;
+ default:
+ break;
+ }
+ }
tall_test = talloc_named_const(NULL, 1, "osmo_stream_cli_test");
msgb_talloc_ctx_init(tall_test, 0);
@@ -111,12 +123,16 @@ int main(void)
osmo_stream_cli_set_name(conn, "stream_client");
osmo_stream_cli_set_addr(conn, "127.0.0.1");
osmo_stream_cli_set_port(conn, 10000);
+ if (use_sctp)
+ osmo_stream_cli_set_proto(conn, IPPROTO_SCTP);
+
osmo_stream_cli_set_connect_cb(conn, connect_cb);
osmo_stream_cli_set_disconnect_cb(conn, disconnect_cb);
osmo_stream_cli_set_read_cb2(conn, read_cb);
- if (osmo_stream_cli_open(conn) < 0) {
- fprintf(stderr, "cannot open cli\n");
+ rc = osmo_stream_cli_open(conn);
+ if (rc < 0) {
+ fprintf(stderr, "cannot open cli: %d\n", rc);
exit(EXIT_FAILURE);
}
diff --git a/examples/stream-server.c b/examples/stream-server.c
index 8aa8b9b..9faf307 100644
--- a/examples/stream-server.c
+++ b/examples/stream-server.c
@@ -117,9 +117,21 @@ static int kbd_cb(struct osmo_fd *fd, unsigned int what)
return 0;
}
-int main(void)
+int main(int argc, char **argv)
{
struct osmo_fd *kbd_ofd;
+ bool use_sctp = false;
+ int opt;
+
+ while ((opt = getopt(argc, argv, "s")) != -1) {
+ switch (opt) {
+ case 's':
+ use_sctp = true;
+ break;
+ default:
+ break;
+ }
+ }
tall_test = talloc_named_const(NULL, 1, "osmo_stream_srv_test");
msgb_talloc_ctx_init(tall_test, 0);
@@ -137,6 +149,8 @@ int main(void)
}
osmo_stream_srv_link_set_addr(srv, "127.0.0.1");
osmo_stream_srv_link_set_port(srv, 10000);
+ if (use_sctp)
+ osmo_stream_srv_link_set_proto(srv, IPPROTO_SCTP);
osmo_stream_srv_link_set_accept_cb(srv, accept_cb);
if (osmo_stream_srv_link_open(srv) < 0) {