Difference between revisions of "Unit UDP"

From Ultibo.org
Jump to: navigation, search
Line 182: Line 182:
 
|  
 
|  
 
|-
 
|-
|colspan="2"| 
+
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
 
|-
 
|-
 
| <code>function PacketHandler(AHandle:THandle; ASource,ADest,APacket:Pointer; ASize:Integer; ABroadcast:Boolean):Boolean;</code>
 
| <code>function PacketHandler(AHandle:THandle; ASource,ADest,APacket:Pointer; ASize:Integer; ABroadcast:Boolean):Boolean;</code>
Line 188: Line 188:
 
|-
 
|-
 
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
 
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
|-
 
| <code>function AddTransport(ATransport:TNetworkTransport):Boolean; override;</code>
 
| &nbsp;
 
|-
 
| <code>function RemoveTransport(ATransport:TNetworkTransport):Boolean; override;</code>
 
| &nbsp;
 
|-
 
|colspan="2"|&nbsp;
 
 
|-
 
|-
 
| <code>function OpenPort(ASocket:TProtocolSocket; APort:Word):Boolean; override;</code>
 
| <code>function OpenPort(ASocket:TProtocolSocket; APort:Word):Boolean; override;</code>
Line 204: Line 196:
 
|-
 
|-
 
| <code>function FindPort(APort:Word; AWrite,ALock:Boolean):TProtocolPort; override;</code>
 
| <code>function FindPort(APort:Word; AWrite,ALock:Boolean):TProtocolPort; override;</code>
| &nbsp;
 
|-
 
|colspan="2"|&nbsp;
 
|-
 
| <code>function FindSocket(AFamily,AStruct,AProtocol:Word; ALocalAddress,ARemoteAddress:Pointer; ALocalPort,ARemotePort:Word; ABroadcast,AListen,ALock:Boolean; AState:LongWord):TProtocolSocket; override;</code>
 
| &nbsp;
 
|-
 
| <code>procedure FlushSockets(All:Boolean); override;</code>
 
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 278: Line 262:
 
|-
 
|-
 
| <code>function Socket(AFamily,AStruct,AProtocol:Integer):TProtocolSocket; override;</code>
 
| <code>function Socket(AFamily,AStruct,AProtocol:Integer):TProtocolSocket; override;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function AddTransport(ATransport:TNetworkTransport):Boolean; override;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function RemoveTransport(ATransport:TNetworkTransport):Boolean; override;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function FindSocket(AFamily,AStruct,AProtocol:Word; ALocalAddress,ARemoteAddress:Pointer; ALocalPort,ARemotePort:Word; ABroadcast,AListen,ALock:Boolean; AState:LongWord):TProtocolSocket; override;</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure FlushSockets(All:Boolean); override;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-

Revision as of 05:23, 6 August 2017

Return to Unit Reference


Description


Ultibo UDP (User Datagram Protocol) unit

To be documented

Constants



[Expand]
UDP specific constants UDP_*


[Expand]
UDP socket option


[Expand]
UDP port UDP_PORT_*


Type definitions



UDP header

[Expand]

PUDPHeader = ^TUDPHeader;

TUDPHeader = packed record

UDP datagram

[Expand]

PUDPDatagram = ^TUDPDatagram;

TUDPDatagram = record


Class definitions



UDP protocol transport

[Expand]

TUDPProtocolTransport = class(TProtocolTransport)

UDP protocol

[Expand]

TUDPProtocol = class(TNetworkProtocol)

UDP socket

[Expand]

TUDPSocket = class(TProtocolSocket)

UDP state

[Expand]

TUDPState = class(TProtocolState)

UDP buffer

[Expand]

TUDPBuffer = class(TSocketBuffer)

UDP options

[Expand]

TUDPOptions = class(TProtocolOptions)


Public variables


None defined

Function declarations



Initialization functions

[Expand]
procedure UDPInit;
Description: To be documented


UDP functions

[Expand]
function CheckUDP(AFamily:Word; ABuffer:Pointer):Boolean;
Description: Verify that the packet is a valid UDP packet


[Expand]
function GetUDPHeaderOffset(AFamily:Word; ABuffer:Pointer):Word;
Description: To be documented


[Expand]
function GetUDPHeaderLength(AFamily:Word; ABuffer:Pointer):Word;
Description: To be documented


[Expand]
function GetUDPDataOffset(AFamily:Word; ABuffer:Pointer):Word;
Description: To be documented


[Expand]
function GetUDPDataLength(AFamily:Word; ABuffer:Pointer):Word;
Description: To be documented


[Expand]
function ChecksumUDPRecv(AFamily:Word; APseudo:PIPPseudo; ABuffer:Pointer; AOffset,ALength:Word):Word;
Description: Validate the Checksum of UDP Pseudo, Header and Data on Receive


[Expand]
function ChecksumUDPSend(AFamily:Word; APseudo:PIPPseudo; AHeader:PUDPHeader; AData:Pointer; ALength:Word):Word;
Description: Checksum the UDP Pseudo, Header and Data on Send


Return to Unit Reference