Logo Search packages:      
Sourcecode: virtualbox-ose version File versions  Download package

net.h File Reference


Detailed Description

IPRT - Network Protocols.

Definition in file net.h.

#include <iprt/cdefs.h>
#include <iprt/types.h>
#include <iprt/assert.h>

Go to the source code of this file.

Classes

struct  RTNETADDR
struct  RTNETADDRIPX
union  RTNETADDRU
struct  RTNETARPHDR
struct  RTNETARPIPV4
struct  RTNETBOOTP
struct  RTNETDHCP
struct  RTNETDHCPOPT
struct  RTNETETHERHDR
union  RTNETICMPV4
struct  RTNETICMPV4ECHO
struct  RTNETICMPV4HDR
struct  RTNETICMPV4TRACEROUTE
struct  RTNETIPV4
struct  RTNETIPV6
struct  RTNETTCP
struct  RTNETUDP

Defines

#define RTNET_ARP_ETHER   UINT16_C(1)
#define RTNET_DHCP_COOKIE   UINT32_C(0x63825363)
#define RTNET_DHCP_NORMAL_SIZE   (0xec + 4 + RTNET_DHCP_OPT_SIZE)
#define RTNET_DHCP_OPT_SIZE   (312 - 4)
#define RTNETADDR_PORT_NA   UINT32_MAX
#define RTNETBOOTP_DHCP_MIN_LEN   0xf1
#define RTNETBOOTP_MIN_LEN   0xec
#define RTNETIPV4_MIN_LEN   (20)
#define RTNETIPV6_MIN_LEN   (40)
#define RTNETTCP_MIN_LEN   (20)
#define RTNETUDP_MIN_LEN   (8)
ARP operations
#define RTNET_ARPOP_INVREPLY   UINT16_C(9)
#define RTNET_ARPOP_INVREQUEST   UINT16_C(8)
#define RTNET_ARPOP_IS_REPLY(Op)   (!RTNET_ARPOP_IS_REQUEST(Op))
#define RTNET_ARPOP_IS_REQUEST(Op)   ((Op) & 1)
#define RTNET_ARPOP_REPLY   UINT16_C(2)
#define RTNET_ARPOP_REQUEST   UINT16_C(1)
#define RTNET_ARPOP_REVREPLY   UINT16_C(4)
#define RTNET_ARPOP_REVREQUEST   UINT16_C(3)
DHCP Flags
#define RTNET_DHCP_FLAG_BROADCAST   0x8000
DHCP flags (RTNETBOOTP::bp_flags)
#define RTNET_DHCP_FLAGS_NO_BROADCAST   UINT16_C(0x8000)
DHCP Message Types (option 53)
#define RTNET_DHCP_MT_ACK   5
#define RTNET_DHCP_MT_DECLINE   4
#define RTNET_DHCP_MT_DISCOVER   1
#define RTNET_DHCP_MT_INFORM   8
#define RTNET_DHCP_MT_NAC   6
#define RTNET_DHCP_MT_OFFER   2
#define RTNET_DHCP_MT_RELEASE   7
#define RTNET_DHCP_MT_REQUEST   3
DHCP options
#define RTNET_DHCP_OPT_BOOTFILE_NAME   67
#define RTNET_DHCP_OPT_CLIENT_ID   61
#define RTNET_DHCP_OPT_DNS   6
#define RTNET_DHCP_OPT_DOMAIN_NAME   15
#define RTNET_DHCP_OPT_END   255
#define RTNET_DHCP_OPT_HOST_NAME   12
#define RTNET_DHCP_OPT_LEASE_TIME   51
#define RTNET_DHCP_OPT_MAX_DHCP_MSG_SIZE   57
#define RTNET_DHCP_OPT_MSG_TYPE   53
#define RTNET_DHCP_OPT_OPTION_OVERLOAD   52
#define RTNET_DHCP_OPT_PAD   0
#define RTNET_DHCP_OPT_PARAM_REQ_LIST   55
#define RTNET_DHCP_OPT_REQ_ADDR   50
#define RTNET_DHCP_OPT_ROUTERS   3
#define RTNET_DHCP_OPT_SERVER_ID   54
#define RTNET_DHCP_OPT_SUBNET_MASK   1
#define RTNET_DHCP_OPT_TFTP_SERVER_NAME   66
#define RTNET_DHCP_OPT_TIME_OFFSET   2
EtherType (RTNETETHERHDR::EtherType)
#define RTNET_ETHERTYPE_ARP   UINT16_C(0x0806)
#define RTNET_ETHERTYPE_IPV4   UINT16_C(0x0800)
#define RTNET_ETHERTYPE_IPV6   UINT16_C(0x86dd)
#define RTNET_ETHERTYPE_IPX_1   UINT16_C(0x8037)
#define RTNET_ETHERTYPE_IPX_2   UINT16_C(0x8137)
#define RTNET_ETHERTYPE_IPX_3   UINT16_C(0x8138)
#define RTNET_ETHERTYPE_VLAN   UINT16_C(0x8100)
BOOTP packet opcode values
#define RTNETBOOTP_OP_REPLY   2
#define RTNETBOOTP_OP_REQUEST   1
ICMP (v4) message types.
#define RTNETICMPV4_TYPE_ECHO_REPLY   0
#define RTNETICMPV4_TYPE_ECHO_REQUEST   8
#define RTNETICMPV4_TYPE_TRACEROUTE   30
Common IPv4 Port Assignments
#define RTNETIPV4_PORT_BOOTPC   (68)
#define RTNETIPV4_PORT_BOOTPS   (67)
IPv4 Protocol Numbers
#define RTNETIPV4_PROT_ICMP   (1)
#define RTNETIPV4_PROT_TCP   (6)
#define RTNETIPV4_PROT_UDP   (17)
TCP flags (RTNETTCP::th_flags)
#define RTNETTCP_F_ACK   0x10
#define RTNETTCP_F_CWR   0x80
#define RTNETTCP_F_ECE   0x40
#define RTNETTCP_F_FIN   0x01
#define RTNETTCP_F_PSH   0x08
#define RTNETTCP_F_RST   0x04
#define RTNETTCP_F_SYN   0x02
#define RTNETTCP_F_URG   0x20

Typedefs

typedef RTNETADDR const * PCRTNETADDR
typedef RTNETADDRIPV4 const * PCRTNETADDRIPV4
typedef RTNETADDRIPV6 const * PCRTNETADDRIPV6
typedef RTNETADDRIPX const * PCRTNETADDRIPX
typedef RTNETADDRTYPE const * PCRTNETADDRTYPE
typedef RTNETADDRU const * PCRTNETADDRU
typedef RTNETARPHDR const * PCRTNETARPHDR
typedef RTNETARPIPV4 const * PCRTNETARPIPV4
typedef RTNETBOOTP const * PCRTNETBOOTP
typedef RTNETDHCP const * PCRTNETDHCP
typedef RTNETDHCPOPT const * PCRTNETDHCPOPT
typedef RTNETETHERHDR const * PCRTNETETHERHDR
typedef RTNETICMPV4 const * PCRTNETICMPV4
typedef RTNETICMPV4ECHO const * PCRTNETICMPV4ECHO
typedef RTNETICMPV4HDR const * PCRTNETICMPV4HDR
typedef RTNETICMPV4TRACEROUTE
const * 
PCRTNETICMPV4TRACEROUTE
typedef RTNETIPV4 const * PCRTNETIPV4
typedef RTNETIPV6 const * PCRTNETIPV6
typedef RTNETTCP const * PCRTNETTCP
typedef RTNETUDP const * PCRTNETUDP
typedef RTNETADDRPRTNETADDR
typedef RTNETADDRIPV4PRTNETADDRIPV4
typedef RTNETADDRIPV6PRTNETADDRIPV6
typedef RTNETADDRIPXPRTNETADDRIPX
typedef RTNETADDRTYPEPRTNETADDRTYPE
typedef RTNETADDRUPRTNETADDRU
typedef RTNETARPHDRPRTNETARPHDR
typedef RTNETARPIPV4PRTNETARPIPV4
typedef RTNETBOOTPPRTNETBOOTP
typedef RTNETDHCPPRTNETDHCP
typedef RTNETDHCPOPTPRTNETDHCPOPT
typedef RTNETETHERHDRPRTNETETHERHDR
typedef RTNETICMPV4PRTNETICMPV4
typedef RTNETICMPV4ECHOPRTNETICMPV4ECHO
typedef RTNETICMPV4HDRPRTNETICMPV4HDR
typedef RTNETICMPV4TRACEROUTEPRTNETICMPV4TRACEROUTE
typedef RTNETIPV4PRTNETIPV4
typedef RTNETIPV6PRTNETIPV6
typedef RTNETTCPPRTNETTCP
typedef RTNETUDPPRTNETUDP
typedef RTUINT32U RTNETADDRIPV4
typedef RTUINT128U RTNETADDRIPV6

Enumerations

enum  RTNETADDRTYPE {
  RTNETADDRTYPE_INVALID = 0, RTNETADDRTYPE_IPV4, RTNETADDRTYPE_IPV6, RTNETADDRTYPE_IPX,
  RTNETADDRTYPE_MAC, RTNETADDRTYPE_END, RTNETADDRTYPE_32_BIT_HACK = 0x7fffffff
}

Functions

 AssertCompileSize (RTNETARPIPV4, 8+6+4+6+4)
 AssertCompileSize (RTNETARPHDR, 8)
 AssertCompileSize (RTNETICMPV4TRACEROUTE, 20)
 AssertCompileSize (RTNETICMPV4ECHO, 9)
 AssertCompileSize (RTNETICMPV4HDR, 4)
 AssertCompileSize (RTNETTCP, 20)
 AssertCompileSize (RTNETDHCPOPT, 2)
 AssertCompileSize (RTNETBOOTP, 0xec+128)
 AssertCompileSize (RTNETUDP, 8)
 AssertCompileSize (RTNETIPV6, 8+16+16)
 AssertCompileSize (RTNETIPV4, 6 *4)
 AssertCompileSize (RTNETETHERHDR, 14)
 AssertCompileSize (RTNETADDRU, 16)
 AssertCompileSize (RTNETADDRIPX, 4+6)
 AssertCompileSize (RTNETADDRIPV6, 16)
 AssertCompileSize (RTNETADDRIPV4, 4)
 RTDECL (uint32_t) RTNetIPv4PseudoChecksum(PCRTNETIPV4 pIpHdr)
 RTDECL (bool) RTNetIPv4IsHdrValid(PCRTNETIPV4 pIpHdr
 RTDECL (uint16_t) RTNetIPv4HdrChecksum(PCRTNETIPV4 pIpHdr)

Variables

RTNETADDRIPV4 uint8_t bProtocol
size_t cbData
PCRTNETBOOTP size_t cbDhcp
size_t cbHdrMax
RTNETADDRIPV4 uint8_t uint16_t cbPkt
size_t size_t cbPktMax
RTNETADDRIPV4 DstAddr
size_t size_t bool fChecksum
PCRTNETBOOTP pDhcp
PCRTNETADDRIPV6 pDstAddr
size_t uint32_t bool * pfOdd
PCRTNETBOOTP size_t uint8_t * pMsgType
PCRTNETTCP pTcpHdr
PCRTNETUDP pUdpHdr
PCRTNETUDP void const * pvData
size_t uint32_t u32Sum


Generated by  Doxygen 1.6.0   Back to index