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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
void | GNUNET_TUN_calculate_icmp_checksum (struct GNUNET_TUN_IcmpHeader *icmp, const void *payload, uint16_t payload_length) |
Calculate ICMP checksum. More... | |
void | GNUNET_TUN_ipv4toregexsearch (const struct in_addr *ip, uint16_t port, char *rxstr) |
Create a regex in rxstr from the given ip and port. More... | |
void | GNUNET_TUN_ipv6toregexsearch (const struct in6_addr *ipv6, uint16_t port, char *rxstr) |
Create a regex in rxstr from the given ipv6 and port. More... | |
char * | GNUNET_TUN_ipv6policy2regex (const char *policy) |
Convert an exit policy to a regular expression. More... | |
char * | GNUNET_TUN_ipv4policy2regex (const char *policy) |
Convert an exit policy to a regular expression. More... | |
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. More... | |
int | GNUNET_TUN_sockaddr_cmp (const struct sockaddr *sa, const struct sockaddr *sb, int include_port) |
Check if two sockaddrs are equal. More... | |
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. More... | |
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.