Unit IP

From Ultibo.org
Jump to: navigation, search

Return to Unit Reference


Description


Ultibo IP (Internet Protocol) unit

Constants



[Expand]
IP specific constants IP_TRANSPORT_NAME*


[Expand]
IP size IP_*_SIZE


[Expand]
IP header flags/fragment offset IP_*


[Expand]
IP header options IPOPT_*


[Expand]
IP offset options IPOPT_OFFSET*


[Expand]
IP TS flag options IPOPT_TS_*


[Expand]
IP security flag IPOPT_SECUR_*


[Expand]
IP type of service IPTOS_*


Type definitions



IP header

[Expand]

PIPHeader = ^TIPHeader;

TIPHeader = packed record

IP timestamp address

[Expand]

PIPTimestampAddress = ^TIPTimestampAddress;

TIPTimestampAddress = packed record

IP timestamp

[Expand]

PIPTimestamp = ^TIPTimestamp;

TIPTimestamp = packed record

IP pseudo

[Expand]

PIPPseudo = ^TIPPseudo;

TIPPseudo = packed record

IP fragment

[Expand]

PIPFragment = ^TIPFragment;

TIPFragment = record

IP packet

[Expand]

PIPPacket = ^TIPPacket;

TIPPacket = record


Class definitions



IP specific classes

TIPBuffer = class(TTransportBufferEx)
TIPTransportAdapter = class(TTransportAdapter)
TIPTransportBinding = class(TTransportBinding)
TIPTransportProtocol = class(TTransportProtocol)
TIPTransportFilter = class(TTransportFilter)
TIPTransportConfig = class(TTransportConfig)
TIPTransport = class(TNetworkTransport)
TIPState = class(TTransportState)
TIPOptions = class(TTransportOptions)
TIPHostEntry = class(THostEntry)
TIPRouteEntry = class(TRouteEntry)
TIPAddressEntry = class(TAddressEntry)
TIPNetworkEntry = class(TNetworkEntry)
TIPServEntry = class(TServEntry)
TIPProtoEntry = class(TProtoEntry)


Public variables


None defined

Function declarations



Initialization functions

[Expand]
procedure IPInit;
Description: To be documented


IP functions

[Expand]
function CheckIP(ABuffer:Pointer):Boolean;
Description: Verify that the packet is a valid IP packet


[Expand]
function GetIPHeaderOffset(ABuffer:Pointer):Word;
Description: Return Start of the IP Header (Start of Packet)


[Expand]
function GetIPHeaderLength(ABuffer:Pointer):Word;
Description: Return Size of IP Header (Including Options)


[Expand]
function GetIPOptionsLength(ABuffer:Pointer):Word;
Description: Return Size of IP Options (Header - IP_HEADER_SIZE)


[Expand]
function GetIPDataOffset(ABuffer:Pointer):Word;
Description: Return Start of IP Packet Data (Length of IP Header)


[Expand]
function GetIPDataLength(ABuffer:Pointer):Word;
Description: Return Size of IP Packet Data (IP TotalLength - IP Header)


[Expand]
function ChecksumIPRecv(ABuffer:Pointer; AOffset,ALength:Word):Word;
Description: Validate the IP Header and Options Checksum on Receive


[Expand]
function ChecksumIPSend(AHeader,AOptions:Pointer; ALength:Word):Word;
Description: Checksum the IP Header and Options on Send


Return to Unit Reference