aboutsummaryrefslogtreecommitdiff
path: root/Semestr 4/sieci/pracownia3/utils.c
diff options
context:
space:
mode:
authorFranciszek Malinka <franciszek.malinka@gmail.com>2021-10-05 21:49:54 +0200
committerFranciszek Malinka <franciszek.malinka@gmail.com>2021-10-05 21:49:54 +0200
commitc5fcf7179a83ef65c86c6a4a390029149e518649 (patch)
treed29ffc5b86a0d257453cedcf87d91a13d8bf3b0d /Semestr 4/sieci/pracownia3/utils.c
parentf8a88b6a4aba1f66d04711a9330eaba49a50c463 (diff)
Duzy commit ze smieciami
Diffstat (limited to 'Semestr 4/sieci/pracownia3/utils.c')
-rw-r--r--Semestr 4/sieci/pracownia3/utils.c58
1 files changed, 0 insertions, 58 deletions
diff --git a/Semestr 4/sieci/pracownia3/utils.c b/Semestr 4/sieci/pracownia3/utils.c
deleted file mode 100644
index 4c2f449..0000000
--- a/Semestr 4/sieci/pracownia3/utils.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Projekt: Transport
- * Autor: Franciszek Malinka 316093
- */
-
-#include "utils.h"
-#include <poll.h>
-#include <errno.h>
-#include <stdio.h>
-#include <netinet/ip.h>
-#include <arpa/inet.h>
-#include <stdlib.h>
-#include <string.h>
-
-size_t min(size_t x, size_t y) { return (x<y ? x : y); }
-
-int get_socket() {
- int sockfd = socket(AF_INET, SOCK_DGRAM, 0);
- if (sockfd < 0) {
- fprintf(stderr, "socket error: %s", strerror(errno));
- exit(EXIT_FAILURE);
- }
- return sockfd;
-}
-
-long get_time_interval(struct timespec start, struct timespec finish) {
- return S_TO_MS(finish.tv_sec - start.tv_sec) + NS_TO_MS(finish.tv_nsec - start.tv_nsec);
-}
-
-int poll_socket_modify_timeout(int sockfd, int *timeout) {
- if (*timeout < 0) {
- *timeout = 0;
- return 0;
- }
-
- struct pollfd fds;
- struct timespec start;
- struct timespec finish;
-
- fds.fd = sockfd;
- fds.events = POLLIN;
- fds.revents = 0;
-
- clock_gettime(CLOCK_REALTIME, &start);
- int result = poll(&fds, 1, *timeout);
- clock_gettime(CLOCK_REALTIME, &finish);
-
- if (result == -1) {
- fprintf(stderr, "poll error: %s\n", strerror(errno));
- exit(EXIT_FAILURE);
- }
- if (result == 0) {
- *timeout = 0;
- return 0;
- }
-
- *timeout -= get_time_interval(start, finish);
- return result;
-}