Standard TCP/IP network structs and IP checksum calculations for TUN interaction. More...
Go to the source code of this file.
Data Structures | |
| struct | GNUNET_TUN_Layer2PacketHeader |
| Header from Linux TUN interface. More... | |
| struct | GNUNET_TUN_IPv4Header |
| Standard IPv4 header. More... | |
| struct | GNUNET_TUN_IPv6Header |
| Standard IPv6 header. More... | |
| struct | GNUNET_TUN_TcpHeader |
| TCP packet header. More... | |
| struct | GNUNET_TUN_UdpHeader |
| UDP packet header. More... | |
| struct | GNUNET_TUN_DnsFlags |
| DNS flags (largely RFC 1035 / RFC 2136). More... | |
| struct | GNUNET_TUN_DnsHeader |
| DNS header. More... | |
| struct | GNUNET_TUN_DnsSoaRecord |
| Payload of DNS SOA record (header). More... | |
| struct | GNUNET_TUN_DnsSrvRecord |
| Payload of DNS SRV record (header). More... | |
| struct | GNUNET_TUN_DnsUriRecord |
| Payload of DNS URI record (header). More... | |
| struct | GNUNET_TUN_DnsCertRecord |
| Payload of DNS CERT record. More... | |
| struct | GNUNET_TUN_DnsTlsaRecord |
| Payload of DNSSEC TLSA record. More... | |
| struct | GNUNET_TUN_GnsVpnRecord |
| Payload of GNS VPN record. More... | |
| struct | GNUNET_TUN_DnsQueryLine |
| DNS query prefix. More... | |
| struct | GNUNET_TUN_DnsRecordLine |
| General DNS record prefix. More... | |
| struct | GNUNET_TUN_IcmpHeader |
| ICMP header. More... | |
Functions | |
| GNUNET_NETWORK_STRUCT_END void | GNUNET_TUN_initialize_ipv4_header (struct GNUNET_TUN_IPv4Header *ip, uint8_t protocol, uint16_t payload_length, const struct in_addr *src, const struct in_addr *dst) |
| Initialize an IPv4 header. | |
| void | GNUNET_TUN_initialize_ipv6_header (struct GNUNET_TUN_IPv6Header *ip, uint8_t protocol, uint16_t payload_length, const struct in6_addr *src, const struct in6_addr *dst) |
| Initialize an IPv6 header. | |
| void | GNUNET_TUN_calculate_tcp4_checksum (const struct GNUNET_TUN_IPv4Header *ip, struct GNUNET_TUN_TcpHeader *tcp, const void *payload, uint16_t payload_length) |
| Calculate IPv4 TCP checksum. | |
| void | GNUNET_TUN_calculate_tcp6_checksum (const struct GNUNET_TUN_IPv6Header *ip, struct GNUNET_TUN_TcpHeader *tcp, const void *payload, uint16_t payload_length) |
| Calculate IPv6 TCP checksum. | |
| void | GNUNET_TUN_calculate_udp4_checksum (const struct GNUNET_TUN_IPv4Header *ip, struct GNUNET_TUN_UdpHeader *udp, const void *payload, uint16_t payload_length) |
| Calculate IPv4 UDP checksum. | |
| void | GNUNET_TUN_calculate_udp6_checksum (const struct GNUNET_TUN_IPv6Header *ip, struct GNUNET_TUN_UdpHeader *udp, const void *payload, uint16_t payload_length) |
| Calculate IPv6 UDP checksum. | |
| void | GNUNET_TUN_calculate_icmp_checksum (struct GNUNET_TUN_IcmpHeader *icmp, const void *payload, uint16_t payload_length) |
| Calculate ICMP checksum. | |
| void | GNUNET_TUN_service_name_to_hash (const char *service_name, struct GNUNET_HashCode *hc) |
| Hash the service name of a hosted service to the hash code that is used to identify the service on the network. | |
| int | GNUNET_TUN_sockaddr_cmp (const struct sockaddr *sa, const struct sockaddr *sb, int include_port) |
| Check if two sockaddrs are equal. | |
| void | GNUNET_TUN_compute_service_cadet_port (const struct GNUNET_HashCode *desc, uint16_t ip_port, struct GNUNET_HashCode *cadet_port) |
| Compute the CADET port given a service descriptor (returned from GNUNET_TUN_service_name_to_hash) and a TCP/UDP port ip_port. | |
Variables | |
| struct GNUNET_TUN_IPv4Header | GNUNET_GCC_STRUCT_LAYOUT |
Standard TCP/IP network structs and IP checksum calculations for TUN interaction.
Definition in file gnunet_tun_lib.h.