From c5fcf7179a83ef65c86c6a4a390029149e518649 Mon Sep 17 00:00:00 2001 From: Franciszek Malinka Date: Tue, 5 Oct 2021 21:49:54 +0200 Subject: Duzy commit ze smieciami --- Semestr 4/sieci/pracownia2/router/network_addr.c | 65 ------------------------ 1 file changed, 65 deletions(-) delete mode 100644 Semestr 4/sieci/pracownia2/router/network_addr.c (limited to 'Semestr 4/sieci/pracownia2/router/network_addr.c') diff --git a/Semestr 4/sieci/pracownia2/router/network_addr.c b/Semestr 4/sieci/pracownia2/router/network_addr.c deleted file mode 100644 index cac1060..0000000 --- a/Semestr 4/sieci/pracownia2/router/network_addr.c +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Program: router - * Autor: Franciszek Malinka, 316093 - */ - -#include "network_addr.h" -#include -#include -#include - -struct in_addr _get_broadcast_address(struct in_addr addr, uint16_t netmask) { - struct in_addr result = addr; - result.s_addr = ntohl(result.s_addr); - /* bitshift by more than 31 is UB */ - if (netmask == 0) { - result.s_addr = -1; - } - else { - result.s_addr |= ((1 << (32 - netmask)) - 1); - } - result.s_addr = htonl(result.s_addr); - - return result; -} - -struct in_addr _get_network_address(struct in_addr addr, uint16_t netmask) { - struct in_addr result = addr; - result.s_addr = ntohl(result.s_addr); - - if (netmask == 0) { - result.s_addr = 0; - } - else { - result.s_addr &= ~((1 << (32 - netmask)) - 1); - } - result.s_addr = htonl(result.s_addr); - - return result; -} - -struct in_addr get_broadcast_address(struct network_addr na) { - return _get_broadcast_address(na.addr, na.netmask); -} - -struct in_addr get_network_address(struct network_addr na) { - return _get_network_address(na.addr, na.netmask); -} - -void pretty_print_network(struct network_addr na) { - char ip_addr[20]; - inet_ntop(AF_INET, &na.addr, ip_addr, sizeof(ip_addr)); - printf("%s/%d\n", ip_addr, na.netmask); -} - -struct network_addr stona(char *str) { - struct network_addr result; - char addr[20]; - size_t ip_preffix = strcspn(str, "/"); - - strncpy(addr, str, ip_preffix); - addr[ip_preffix] = 0; - inet_pton(AF_INET, addr, &(result.addr)); - result.netmask = atoi(str + ip_preffix + 1); - return result; -} -- cgit v1.2.3