TSDuck v3.38-3699
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
tsIPProtocols.h File Reference

Definitions of protocols for IP networking. More...

Namespaces

namespace  ts
 TSDuck namespace, containing all TSDuck classes and functions.
 

Typedefs

using ts::rtp_units = cn::duration< std::intmax_t, std::ratio< 1, RTP_RATE_MP2T > >
 Definition of a number of RTP clock units as a std::chrono::duration type.
 

Enumerations

enum  : uint16_t {
  ts::ETHERTYPE_IPv4 = 0x0800 ,
  ts::ETHERTYPE_ARP = 0x0806 ,
  ts::ETHERTYPE_WOL = 0x0842 ,
  ts::ETHERTYPE_RARP = 0x8035 ,
  ts::ETHERTYPE_802_1Q = 0x8100 ,
  ts::ETHERTYPE_IPv6 = 0x86DD
}
 Selected Ethernet II protocol type identifiers. More...
 
enum  : uint8_t {
  ts::IPv4_PROTO_ICMP = 1 ,
  ts::IPv4_PROTO_IGMP = 2 ,
  ts::IPv4_PROTO_TCP = 6 ,
  ts::IPv4_PROTO_UDP = 17 ,
  ts::IPv4_PROTO_V6_ENCAP = 41 ,
  ts::IPv4_PROTO_OSPF = 89 ,
  ts::IPv4_PROTO_SCTP = 132
}
 Selected IP protocol identifiers. More...
 

Functions

UString ts::IPProtocolName (uint8_t protocol, bool long_format=false)
 Get the name of an IP protocol (UDP, TCP, etc).
 
bool ts::TCPOrderedSequence (uint32_t seq1, uint32_t seq2)
 Check if two TCP sequence numbers are ordered, including wrapping back at 0xFFFFFFFF.
 
uint32_t ts::TCPSequenceDiff (uint32_t seq1, uint32_t seq2)
 Compute the difference between two TCP sequence numbers, including wrapping back at 0xFFFFFFFF.
 

Variables

constexpr size_t ts::ETHER_ADDR_SIZE = 6
 Size in bytes of a MAC address in an Ethernet II header.
 
constexpr size_t ts::ETHER_CRC_SIZE = 4
 Size in bytes of the trailing CRC in an Ethernet II frame.
 
constexpr size_t ts::ETHER_DEST_ADDR_OFFSET = 0
 Offset of destination MAC address in an Ethernet II header.
 
constexpr size_t ts::ETHER_HEADER_SIZE = 14
 Size of an Ethernet II header.
 
constexpr size_t ts::ETHER_SRC_ADDR_OFFSET = 6
 Offset of destination MAC address in an Ethernet II header.
 
constexpr size_t ts::ETHER_TYPE_OFFSET = 12
 Offset of destination MAC address in an Ethernet II header.
 
constexpr size_t ts::IP_MAX_PACKET_SIZE = 65536
 Maximum size of an IP packet.
 
constexpr size_t ts::IPv4_CHECKSUM_OFFSET = 10
 Offset of the checksum in an IPv4 header.
 
constexpr size_t ts::IPv4_DEST_ADDR_OFFSET = 16
 Offset of destination IP address in an IPv4 header.
 
constexpr size_t ts::IPv4_FRAGMENT_OFFSET = 6
 Offset of the flags and fragments in an IPv4 header.
 
constexpr size_t ts::IPv4_LENGTH_OFFSET = 2
 Offset of the total packet length in an IPv4 header.
 
constexpr size_t ts::IPv4_MIN_HEADER_SIZE = 20
 Minimum size of an IPv4 header.
 
constexpr size_t ts::IPv4_PROTOCOL_OFFSET = 9
 Offset of the protocol identifier in an IPv4 header.
 
constexpr size_t ts::IPv4_SRC_ADDR_OFFSET = 12
 Offset of source IP address in an IPv4 header.
 
constexpr uint8_t ts::IPv4_VERSION = 4
 Protocol version of IPv4 is ... 4 !
 
constexpr size_t ts::RTP_HEADER_SIZE = 12
 Size in bytes of the fixed part of the RTP header.
 
constexpr uint8_t ts::RTP_PT_MP2T = 33
 RTP payload type for MPEG2-TS.
 
constexpr uint64_t ts::RTP_RATE_MP2T = 90000
 RTP clock rate for MPEG2-TS.
 
constexpr size_t ts::TCP_DEST_PORT_OFFSET = 2
 Offset of destination port in a TCP header.
 
constexpr size_t ts::TCP_FLAGS_OFFSET = 13
 Offset of flags byte in a TCP header.
 
constexpr size_t ts::TCP_HEADER_LENGTH_OFFSET = 12
 Offset of TCP header length in a TCP header (number of 32-bit words).
 
constexpr size_t ts::TCP_MAX_PAYLOAD_SIZE = IP_MAX_PACKET_SIZE - IPv4_MIN_HEADER_SIZE - TCP_MIN_HEADER_SIZE
 Maximum size in bytes of a TCP payload.
 
constexpr size_t ts::TCP_MIN_HEADER_SIZE = 20
 Minimum size in bytes of a TCP header.
 
constexpr size_t ts::TCP_SEQUENCE_OFFSET = 4
 Offset of sequence number in a TCP header.
 
constexpr size_t ts::TCP_SRC_PORT_OFFSET = 0
 Offset of source port in a TCP header.
 
constexpr size_t ts::TCP_WSIZE_OFFSET = 14
 Offset of window size in a TCP header.
 
constexpr size_t ts::UDP_CHECKSUM_OFFSET = 6
 Offset of checksum in a UDP header.
 
constexpr size_t ts::UDP_DEST_PORT_OFFSET = 2
 Offset of destination port in a UDP header.
 
constexpr size_t ts::UDP_HEADER_SIZE = 8
 Size of a UDP header.
 
constexpr size_t ts::UDP_LENGTH_OFFSET = 4
 Offset of packet length (UDP header + UDP payload) in a UDP header.
 
constexpr size_t ts::UDP_SRC_PORT_OFFSET = 0
 Offset of source port in a UDP header.
 

Detailed Description

Definitions of protocols for IP networking.