FreeRTOS-Plus-TCP V2.3.2
FreeRTOS TCP/IP library
struct Struct Reference

#include <FreeRTOS_IP.h>

Data Fields

uint8_t ucOpcode
  More...
 
uint8_t ucAddressType
  More...
 
uint8_t ucAddressLength
  More...
 
uint8_t ucHops
  More...
 
uint32_t ulTransactionID
  More...
 
uint16_t usElapsedTime
  More...
 
uint16_t usFlags
  More...
 
uint32_t ulClientIPAddress_ciaddr
  More...
 
uint32_t ulYourIPAddress_yiaddr
  More...
 
uint32_t ulServerIPAddress_siaddr
  More...
 
uint32_t ulRelayAgentIPAddress_giaddr
  More...
 
uint8_t ucClientHardwareAddress [dhcpCLIENT_HARDWARE_ADDRESS_LENGTH]
  More...
 
uint8_t ucServerHostName [dhcpSERVER_HOST_NAME_LENGTH]
  More...
 
uint8_t ucBootFileName [dhcpBOOT_FILE_NAME_LENGTH]
  More...
 
uint32_t ulDHCPCookie
  More...
 
uint16_t usIdentifier
  More...
 
uint16_t usQuestions
  More...
 
uint16_t usAnswers
  More...
 
uint16_t usAuthorityRRs
  More...
 
uint16_t usAdditionalRRs
  More...
 
uint16_t usType
  More...
 
uint16_t usClass
  More...
 
uint32_t ulTTL
  More...
 
uint16_t usDataLength
  More...
 
uint8_t ucNameCode
  More...
 
uint8_t ucNameOffset
  More...
 
uint32_t ulIPAddress
  More...
 
uint16_t usRequestId
  More...
 
uint16_t ulRequestCount
  More...
 
uint16_t usAnswerRSS
  More...
 
uint16_t usAuthRSS
  More...
 
uint16_t usAdditionalRSS
  More...
 
uint8_t ucNameSpace
  More...
 
uint8_t ucName [dnsNBNS_ENCODED_NAME_LENGTH]
  More...
 
uint8_t ucNameZero
  More...
 
uint16_t usNbFlags
  More...
 
uint8_t ucBytes [ipMAC_ADDRESS_LENGTH_BYTES]
  More...
 
MACAddress_t xDestinationAddress
  More...
 
MACAddress_t xSourceAddress
  More...
 
uint16_t usFrameType
  More...
 
uint16_t usHardwareType
  More...
 
uint16_t usProtocolType
  More...
 
uint8_t ucHardwareAddressLength
  More...
 
uint8_t ucProtocolAddressLength
  More...
 
uint16_t usOperation
  More...
 
MACAddress_t xSenderHardwareAddress
  More...
 
uint8_t ucSenderProtocolAddress [4]
  More...
 
MACAddress_t xTargetHardwareAddress
  More...
 
uint32_t ulTargetProtocolAddress
  More...
 
uint8_t ucVersionHeaderLength
  More...
 
uint8_t ucDifferentiatedServicesCode
  More...
 
uint16_t usLength
  More...
 
uint16_t usIdentification
  More...
 
uint16_t usFragmentOffset
  More...
 
uint8_t ucTimeToLive
  More...
 
uint8_t ucProtocol
  More...
 
uint16_t usHeaderChecksum
  More...
 
uint32_t ulSourceIPAddress
  More...
 
uint32_t ulDestinationIPAddress
  More...
 
uint8_t ucTypeOfMessage
  More...
 
uint8_t ucTypeOfService
  More...
 
uint16_t usChecksum
  More...
 
uint16_t usSequenceNumber
  More...
 
uint16_t usSourcePort
  More...
 
uint16_t usDestinationPort
  More...
 
uint32_t ulSequenceNumber
  More...
 
uint32_t ulAckNr
  More...
 
uint8_t ucTCPOffset
  More...
 
uint8_t ucTCPFlags
  More...
 
uint16_t usWindow
  More...
 
uint16_t usUrgent
  More...
 
uint8_t ucOptdata [ipSIZE_TCP_OPTIONS]
  More...
 
EthernetHeader_t xEthernetHeader
  More...
 
ARPHeader_t xARPHeader
  More...
 
IPHeader_t xIPHeader
  More...
 
ICMPHeader_t xICMPHeader
  More...
 
UDPHeader_t xUDPHeader
  More...
 
TCPHeader_t xTCPHeader
  More...
 

Detailed Description

MAC address structure.

Field Documentation

◆ ucOpcode

uint8_t struct::ucOpcode

Operation Code: Specifies the general type of message.

◆ ucAddressType

uint8_t struct::ucAddressType

Hardware type used on the local network.

◆ ucAddressLength

uint8_t struct::ucAddressLength

Hardware Address Length: Specifies how long hardware addresses are in this message.

◆ ucHops

uint8_t struct::ucHops

Hops.

◆ ulTransactionID

uint32_t struct::ulTransactionID

A 32-bit identification field generated by the client, to allow it to match up the request with replies received from DHCP servers.

◆ usElapsedTime

uint16_t struct::usElapsedTime

Number of seconds elapsed since a client began an attempt to acquire or renew a lease.

◆ usFlags

uint16_t struct::usFlags

Just one bit used to indicate broadcast.

Flags.

Flags of the DNS message.

◆ ulClientIPAddress_ciaddr

uint32_t struct::ulClientIPAddress_ciaddr

Client's IP address if it has one or 0 is put in this field.

◆ ulYourIPAddress_yiaddr

uint32_t struct::ulYourIPAddress_yiaddr

The IP address that the server is assigning to the client.

◆ ulServerIPAddress_siaddr

uint32_t struct::ulServerIPAddress_siaddr

The DHCP server address that the client should use.

◆ ulRelayAgentIPAddress_giaddr

uint32_t struct::ulRelayAgentIPAddress_giaddr

Gateway IP address in case the server client are on different subnets.

◆ ucClientHardwareAddress

uint8_t struct::ucClientHardwareAddress[dhcpCLIENT_HARDWARE_ADDRESS_LENGTH]

The client hardware address.

◆ ucServerHostName

uint8_t struct::ucServerHostName[dhcpSERVER_HOST_NAME_LENGTH]

Server's hostname.

◆ ucBootFileName

uint8_t struct::ucBootFileName[dhcpBOOT_FILE_NAME_LENGTH]

Boot file full directory path.

◆ ulDHCPCookie

uint32_t struct::ulDHCPCookie

Magic cookie option.

◆ usIdentifier

uint16_t struct::usIdentifier

Query identifier. Used to match up replies to outstanding queries.

Used in some types of ICMP 4 + 2 = 6

◆ usQuestions

uint16_t struct::usQuestions

Number of questions asked in this query.

◆ usAnswers

uint16_t struct::usAnswers

Number of answers being provided in this query.

◆ usAuthorityRRs

uint16_t struct::usAuthorityRRs

Authoritative name server resource records.

◆ usAdditionalRRs

uint16_t struct::usAdditionalRRs

Additional resource records.

◆ usType

uint16_t struct::usType

Type of DNS message.

Type of DNS answer record.

Type of the Resource record.

Type of NBNS record.

Type of NBNS answer.

◆ usClass

uint16_t struct::usClass

Class of DNS message.

Class of DNS answer record.

Class of the Resource record.

Class of NBNS request.

Class of NBNS answer.

◆ ulTTL

uint32_t struct::ulTTL

Number of seconds the result can be cached.

Seconds till this entry can be cached.

Time in seconds for which the answer can be cached.

◆ usDataLength

uint16_t struct::usDataLength

Length of the data field.

Length of the address in this record.

Data length.

◆ ucNameCode

uint8_t struct::ucNameCode

Name type.

◆ ucNameOffset

uint8_t struct::ucNameOffset

The name is not repeated in the answer, only the offset is given with "0xc0 <offs>"

◆ ulIPAddress

uint32_t struct::ulIPAddress

The IP-address.

The IPv4 address.

◆ usRequestId

uint16_t struct::usRequestId

NBNS request ID.

◆ ulRequestCount

uint16_t struct::ulRequestCount

The number of requests/questions in this query.

◆ usAnswerRSS

uint16_t struct::usAnswerRSS

The number of answers in this query.

◆ usAuthRSS

uint16_t struct::usAuthRSS

Number of authoritative resource records.

◆ usAdditionalRSS

uint16_t struct::usAdditionalRSS

Number of additional resource records.

◆ ucNameSpace

uint8_t struct::ucNameSpace

Length of name.

◆ ucName

uint8_t struct::ucName[dnsNBNS_ENCODED_NAME_LENGTH]

The domain name.

◆ ucNameZero

uint8_t struct::ucNameZero

Terminator of the name.

◆ usNbFlags

uint16_t struct::usNbFlags

NetBIOS flags 0x6000 : IP-address, big-endian.

◆ ucBytes

uint8_t struct::ucBytes[ipMAC_ADDRESS_LENGTH_BYTES]

Byte array of the MAC address

◆ xDestinationAddress

MACAddress_t struct::xDestinationAddress

Destination address 0 + 6 = 6

◆ xSourceAddress

MACAddress_t struct::xSourceAddress

Source address 6 + 6 = 12

◆ usFrameType

uint16_t struct::usFrameType

The EtherType field 12 + 2 = 14

◆ usHardwareType

uint16_t struct::usHardwareType

Network Link Protocol type 0 + 2 = 2

◆ usProtocolType

uint16_t struct::usProtocolType

The internetwork protocol 2 + 2 = 4

◆ ucHardwareAddressLength

uint8_t struct::ucHardwareAddressLength

Length in octets of a hardware address 4 + 1 = 5

◆ ucProtocolAddressLength

uint8_t struct::ucProtocolAddressLength

Length in octets of the internetwork protocol 5 + 1 = 6

◆ usOperation

uint16_t struct::usOperation

Operation that the sender is performing 6 + 2 = 8

◆ xSenderHardwareAddress

MACAddress_t struct::xSenderHardwareAddress

Media address of the sender 8 + 6 = 14

◆ ucSenderProtocolAddress

uint8_t struct::ucSenderProtocolAddress[4]

Internetwork address of sender 14 + 4 = 18

◆ xTargetHardwareAddress

MACAddress_t struct::xTargetHardwareAddress

Media address of the intended receiver 18 + 6 = 24

◆ ulTargetProtocolAddress

uint32_t struct::ulTargetProtocolAddress

Internetwork address of the intended receiver 24 + 4 = 28

◆ ucVersionHeaderLength

uint8_t struct::ucVersionHeaderLength

The version field + internet header length 0 + 1 = 1

◆ ucDifferentiatedServicesCode

uint8_t struct::ucDifferentiatedServicesCode

Differentiated services code point + ECN 1 + 1 = 2

◆ usLength

uint16_t struct::usLength

Entire Packet size 2 + 2 = 4

The size of the whole UDP packet 4 + 2 = 6

◆ usIdentification

uint16_t struct::usIdentification

Identification field 4 + 2 = 6

◆ usFragmentOffset

uint16_t struct::usFragmentOffset

Fragment flags and fragment offset 6 + 2 = 8

◆ ucTimeToLive

uint8_t struct::ucTimeToLive

Time to live field 8 + 1 = 9

◆ ucProtocol

uint8_t struct::ucProtocol

Protocol used in the IP-datagram 9 + 1 = 10

◆ usHeaderChecksum

uint16_t struct::usHeaderChecksum

Checksum of the IP-header 10 + 2 = 12

◆ ulSourceIPAddress

uint32_t struct::ulSourceIPAddress

IP address of the source 12 + 4 = 16

◆ ulDestinationIPAddress

uint32_t struct::ulDestinationIPAddress

IP address of the destination 16 + 4 = 20

◆ ucTypeOfMessage

uint8_t struct::ucTypeOfMessage

The ICMP type 0 + 1 = 1

◆ ucTypeOfService

uint8_t struct::ucTypeOfService

The ICMP subtype 1 + 1 = 2

◆ usChecksum

uint16_t struct::usChecksum

The checksum of whole ICMP packet 2 + 2 = 4

The checksum of the whole UDP Packet 6 + 2 = 8

The checksum of the header + 2 = 18

◆ usSequenceNumber

uint16_t struct::usSequenceNumber

Used in some types of ICMP 6 + 2 = 8

◆ usSourcePort

uint16_t struct::usSourcePort

The source port 0 + 2 = 2

The Source port + 2 = 2

◆ usDestinationPort

uint16_t struct::usDestinationPort

The destination port 2 + 2 = 4

The destination port + 2 = 4

◆ ulSequenceNumber

uint32_t struct::ulSequenceNumber

The Sequence number + 4 = 8

◆ ulAckNr

uint32_t struct::ulAckNr

The acknowledgement number + 4 = 12

◆ ucTCPOffset

uint8_t struct::ucTCPOffset

The value of TCP offset + 1 = 13

◆ ucTCPFlags

uint8_t struct::ucTCPFlags

The TCP-flags field + 1 = 14

◆ usWindow

uint16_t struct::usWindow

The size of the receive window + 2 = 15

◆ usUrgent

uint16_t struct::usUrgent

Pointer to the last urgent data byte + 2 = 20

◆ ucOptdata

uint8_t struct::ucOptdata[ipSIZE_TCP_OPTIONS]

The options + 12 = 32

◆ xEthernetHeader

EthernetHeader_t struct::xEthernetHeader

The ethernet header of an ARP Packet 0 + 14 = 14

The Ethernet header of an ICMP packet.

UDP-Packet ethernet header 0 + 14 = 14

The ethernet header 0 + 14 = 14

◆ xARPHeader

ARPHeader_t struct::xARPHeader

The ARP header of an ARP Packet 14 + 28 = 42

◆ xIPHeader

IPHeader_t struct::xIPHeader

The IP header of an ICMP packet.

UDP-Packet IP header 14 + 20 = 34

The IP header 14 + 20 = 34

◆ xICMPHeader

ICMPHeader_t struct::xICMPHeader

The ICMP header of an ICMP packet.

◆ xUDPHeader

UDPHeader_t struct::xUDPHeader

UDP-Packet UDP header 34 + 8 = 42

◆ xTCPHeader

TCPHeader_t struct::xTCPHeader

The TCP header 34 + 32 = 66


The documentation for this struct was generated from the following files: