aboutsummaryrefslogtreecommitdiff
path: root/programs
diff options
context:
space:
mode:
authorFelix Weinrank <weinrank@fh-muenster.de>2019-04-02 14:19:18 +0200
committerFelix Weinrank <weinrank@fh-muenster.de>2019-04-02 14:19:18 +0200
commit78eba449997539ecf4a2aa5f9db307d94cd05999 (patch)
treeaaf1979070575e4ad6f0b5f91dfd4295f91f7ccf /programs
parent19bebbee65a43e0250742b16682482199b815bcb (diff)
downloadusrsctp-78eba449997539ecf4a2aa5f9db307d94cd05999.tar.gz
http_client : use predictive return values
Diffstat (limited to 'programs')
-rw-r--r--programs/http_client.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/programs/http_client.c b/programs/http_client.c
index 014beae1..69f31e7e 100644
--- a/programs/http_client.c
+++ b/programs/http_client.c
@@ -56,6 +56,10 @@
#endif
#include <usrsctp.h>
+#define RETVAL_CATCHALL 50
+#define RETVAL_ECONNREFUSED 60
+#define RETVAL_TIMEOUT 61
+
int done = 0;
static const char *request_prefix = "GET";
static const char *request_postfix = "HTTP/1.0\r\nUser-agent: libusrsctp\r\nConnection: close\r\n\r\n";
@@ -142,7 +146,7 @@ main(int argc, char *argv[])
addr6.sin6_port = htons(atoi(argv[2]));
} else {
printf("Unsupported destination address - use IPv4 or IPv6 address\n");
- result = 1;
+ result = RETVAL_CATCHALL;
goto out;
}
@@ -160,7 +164,7 @@ main(int argc, char *argv[])
if ((sock = usrsctp_socket(address_family, SOCK_STREAM, IPPROTO_SCTP, receive_cb, NULL, 0, NULL)) == NULL) {
perror("usrsctp_socket");
- result = 2;
+ result = RETVAL_CATCHALL;
goto out;
}
@@ -171,7 +175,7 @@ main(int argc, char *argv[])
if (usrsctp_setsockopt(sock, IPPROTO_SCTP, SCTP_RTOINFO, (const void *)&rtoinfo, (socklen_t)sizeof(struct sctp_rtoinfo)) < 0) {
perror("setsockopt");
usrsctp_close(sock);
- result = 3;
+ result = RETVAL_CATCHALL;
goto out;
}
initmsg.sinit_num_ostreams = 1;
@@ -181,7 +185,7 @@ main(int argc, char *argv[])
if (usrsctp_setsockopt(sock, IPPROTO_SCTP, SCTP_INITMSG, (const void *)&initmsg, (socklen_t)sizeof(struct sctp_initmsg)) < 0) {
perror("setsockopt");
usrsctp_close(sock);
- result = 4;
+ result = RETVAL_CATCHALL;
goto out;
}
@@ -199,7 +203,7 @@ main(int argc, char *argv[])
if (usrsctp_bind(sock, (struct sockaddr *)&bind4, sizeof(bind4)) < 0) {
perror("bind");
usrsctp_close(sock);
- result = 5;
+ result = RETVAL_CATCHALL;
goto out;
}
} else {
@@ -213,7 +217,7 @@ main(int argc, char *argv[])
if (usrsctp_bind(sock, (struct sockaddr *)&bind6, sizeof(bind6)) < 0) {
perror("bind");
usrsctp_close(sock);
- result = 6;
+ result = RETVAL_CATCHALL;
goto out;
}
}
@@ -226,7 +230,7 @@ main(int argc, char *argv[])
if (usrsctp_setsockopt(sock, IPPROTO_SCTP, SCTP_REMOTE_UDP_ENCAPS_PORT, (const void *)&encaps, (socklen_t)sizeof(struct sctp_udpencaps)) < 0) {
perror("setsockopt");
usrsctp_close(sock);
- result = 7;
+ result = RETVAL_CATCHALL;
goto out;
}
}
@@ -253,23 +257,21 @@ main(int argc, char *argv[])
usrsctp_close(sock);
if (errno == ECONNREFUSED) {
- result = 8;
+ result = RETVAL_ECONNREFUSED;
} else {
- result = 9;
+ result = RETVAL_CATCHALL;
}
goto out;
}
- // WAS HERE!!!
-
memset(&sndinfo, 0, sizeof(struct sctp_sndinfo));
sndinfo.snd_ppid = htonl(63); /* PPID for HTTP/SCTP */
/* send GET request */
if (usrsctp_sendv(sock, request, strlen(request), NULL, 0, &sndinfo, sizeof(struct sctp_sndinfo), SCTP_SENDV_SNDINFO, 0) < 0) {
perror("usrsctp_sendv");
usrsctp_close(sock);
- result = 11;
+ result = RETVAL_CATCHALL;
goto out;
}