diff options
author | Harald Welte <laforge@osmocom.org> | 2023-12-01 17:23:26 +0100 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2024-02-09 15:50:42 +0100 |
commit | e55e417ba4a2d1d0a49663566c1096e6edc933ae (patch) | |
tree | f576cb05f6db4866be7b64f2d2e3db962ea161bd /examples/stream-client.c | |
parent | 960af680a6a2f89f73305e588baf0c36af10f888 (diff) |
examples/stream-*: Support SCTP when called with "-s" argument
Change-Id: I4137cdf1e21cb669b632fe5c126ec27475d98400
Diffstat (limited to 'examples/stream-client.c')
-rw-r--r-- | examples/stream-client.c | 24 |
1 files changed, 20 insertions, 4 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); } |