Difference between revisions of "Unit IP"

From Ultibo.org
Jump to: navigation, search
Line 757: Line 757:
 
|colspan="2"| 
 
|colspan="2"| 
 
|-
 
|-
| <code>FNameservers:TIPNameservers; (Part of TNetworkList)</code>
+
| <code>FNameservers:TIPNameservers;</code>
| &nbsp;
+
| (Part of TNetworkList)
 
|-
 
|-
 
| <code>FNameserverLock:TMutexHandle;</code>
 
| <code>FNameserverLock:TMutexHandle;</code>

Revision as of 06:02, 15 March 2017

Return to Unit Reference


Description


Ultibo IP (Internet Protocol) unit

To be documented

Constants



[Expand]
IP specific constants IP_TRANSPORT_NAME*


[Expand]
IP constants IP_*_SIZE


[Expand]
IP header flags / fragment offset constants IP_*


[Expand]
IP header option constants IPOPT_*


[Expand]
IP offset option constants IPOPT_OFFSET*


[Expand]
IP TS flag option constants IPOPT_TS_*


[Expand]
IP security flag constants IPOPT_SECUR_*


[Expand]
IP type of service constants 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 buffer

[Expand]

TIPBuffer = class(TTransportBufferEx)

IP transport adapter

[Expand]

TIPTransportAdapter = class(TTransportAdapter)

IP transport binding

[Expand]

TIPTransportBinding = class(TTransportBinding)

IP transport protocol

[Expand]

TIPTransportProtocol = class(TTransportProtocol)

IP transport filter

[Expand]

TIPTransportFilter = class(TTransportFilter)

IP transport configuration

[Expand]

TIPTransportConfig = class(TTransportConfig)

IP transport

[Expand]

TIPTransport = class(TNetworkTransport)

IP state

[Expand]

TIPState = class(TTransportState)

IP options

[Expand]

TIPOptions = class(TTransportOptions)

IP host entry

[Expand]

TIPHostEntry = class(THostEntry)

IP route entry

[Expand]

TIPRouteEntry = class(TRouteEntry)

IP address entry

[Expand]

TIPAddressEntry = class(TAddressEntry)

IP network entry

[Expand]

TIPNetworkEntry = class(TNetworkEntry)

IP service entry

[Expand]

TIPServEntry = class(TServEntry)

IP protocol entry

[Expand]

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