# Unit nettypes Description Uses Classes, Interfaces, Objects and Records Functions and Procedures Types Constants Variables ## Description Driver->Net->`NetTypes` - Structures & Types Shared Across Network Drivers. ## Overview ### Classes, Interfaces, Objects and Records
Name | Description
--- | ---
Record `TMACPair` |
Record `TIPv4Pair` |
Record `TProtocol` |
Record `TPacketContext` |
Record `TIPv4Configuration` |
Record `TICMPHeader` |
Record `TARPAbstractHeader` | ARP
Record `TTCPFlags` |
Record `TIPV4AbstractHeader` |
### Types
`TMACAddress = Array[0..5] of uint8;`
`TIPv4Address = Array[0..3] of uint8;`
`PPacketContext = ˆTPacketContext;`
`PIPv4Configuration = ˆTIPv4Configuration;`
`PICMPHeader = ˆTICMPHeader;`
`PARPHeader = ˆTARPHeader;`
`TARPHeader = bitpacked record Hardware_Type_Hi : uint8; Hardware_Type_Lo : uint8; Protocol_Type_Hi : uint8; Protocol_Type_Lo : uint8; Hardware_Address_Length : uint8; Protocol_Address_Length : uint8; Operation_Hi : uint8; Operation_Lo : uint8; Source_Hardware : TMACAddress; Source_Protocol : TIPv4Address; Destination_Hardware : TMACAddress; Destination_Protocol : TIPv4Address; end;`
`PEthernetHeader = ˆTEthernetHeader;`
`TEthernetHeader = bitpacked record dst : array[0..5] of uint8; src : array[0..5] of uint8; EthTypeHi : uint8; EthTypeLo : uint8; end;`
`PIPV4Header = ˆTIPV4Header;`
`TIPV4Header = bitpacked record header_len : ubit4; version : ubit4; ToS : uint8; total_len_Hi : uint8; total_len_Lo : uint8; identifier_Hi : uint8; identifier_Lo : uint8; Flags : ubit3; Fragment_Off : ubit13; TTL : uint8; Protocol : uint8; HDR_CHK_Hi : uint8; HDR_CHK_Lo : uint8; Src : Array[0..3] of uint8; Dst : Array[0..3] of uint8; Options : ubit24; Padding : uint8; end;`
`TNetSendCallback = function(p_data : void; p_len : uint16) : sint32;`
`TRecvCallback = procedure(p_data : void; p_len : uint16; p_context : PPacketContext);`
### Constants
`BROADCAST_MAC : Array[0..5] of uint8 = ($FF, $FF, $FF, $FF, $FF, $FF);`
`NULL_MAC : Array[0..5] of uint8 = ($00, $00, $00, $00, $00, $00);`
`FORCE_MAC : Array[0..5] of uint8 = ($08, $00, $27, $E6, $3F, $81);`
`ICMP_DATA_GENERIC : Array[0..31] of uint8 = ( $61, $62, $63, $64, $65, $66, $67, $68, $69, $6a, $6b, $6c, $6d, $6e, $6f, $70, $71, $72, $73, $74, $75, $76, $77, $61, $62, $63, $64, $65, $66, $67, $68, $69 );`
## Description ### Types
`TMACAddress = Array[0..5] of uint8;`
Generic
`TIPv4Address = Array[0..3] of uint8;`
`PPacketContext = ˆTPacketContext;`
Context
`PIPv4Configuration = ˆTIPv4Configuration;`
Config
`PICMPHeader = ˆTICMPHeader;`
ICMP
`PARPHeader = ˆTARPHeader;`
`TARPHeader = bitpacked record Hardware_Type_Hi : uint8; Hardware_Type_Lo : uint8; Protocol_Type_Hi : uint8; Protocol_Type_Lo : uint8; Hardware_Address_Length : uint8; Protocol_Address_Length : uint8; Operation_Hi : uint8; Operation_Lo : uint8; Source_Hardware : TMACAddress; Source_Protocol : TIPv4Address; Destination_Hardware : TMACAddress; Destination_Protocol : TIPv4Address; end;`
`PEthernetHeader = ˆTEthernetHeader;`
ETH2
`TEthernetHeader = bitpacked record dst : array[0..5] of uint8; src : array[0..5] of uint8; EthTypeHi : uint8; EthTypeLo : uint8; end;`
`PIPV4Header = ˆTIPV4Header;`
IPv4
`TIPV4Header = bitpacked record header_len : ubit4; version : ubit4; ToS : uint8; total_len_Hi : uint8; total_len_Lo : uint8; identifier_Hi : uint8; identifier_Lo : uint8; Flags : ubit3; Fragment_Off : ubit13; TTL : uint8; Protocol : uint8; HDR_CHK_Hi : uint8; HDR_CHK_Lo : uint8; Src : Array[0..3] of uint8; Dst : Array[0..3] of uint8; Options : ubit24; Padding : uint8; end;`
`TNetSendCallback = function(p_data : void; p_len : uint16) : sint32;`
Callback Types
`TRecvCallback = procedure(p_data : void; p_len : uint16; p_context : PPacketContext);`
### Constants
`BROADCAST_MAC : Array[0..5] of uint8 = ($FF, $FF, $FF, $FF, $FF, $FF);`
MACs
`NULL_MAC : Array[0..5] of uint8 = ($00, $00, $00, $00, $00, $00);`
`FORCE_MAC : Array[0..5] of uint8 = ($08, $00, $27, $E6, $3F, $81);`
`ICMP_DATA_GENERIC : Array[0..31] of uint8 = ( $61, $62, $63, $64, $65, $66, $67, $68, $69, $6a, $6b, $6c, $6d, $6e, $6f, $70, $71, $72, $73, $74, $75, $76, $77, $61, $62, $63, $64, $65, $66, $67, $68, $69 );`
ICMP Data
## Author Kieron Morris <kjm@kieronmorris.me> Generated by PasDoc 0.15.0.