Asuro/doc/nettypes.html

363 lines
19 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<title>Asuro: nettypes</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="PasDoc 0.15.0">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="tipuesearch/tipuesearch.css">
<link rel="StyleSheet" type="text/css" href="pasdoc.css">
</head>
<body>
<table class="container"><tr><td class="navigation">
<h2>Asuro</h2><p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p><p><a href="GVUses.png" class="navigation">Unit dependency graph</a></p><form class="search-form" action="_tipue_results.html"><div class="search-input"><input type="text" name="q" id="tipue_search_input"></div><div class="search-button"><input type="button" id="tipue_search_button" onclick="this.form.submit();"></div></form>
<div style="clear: both"></div>
<script type="text/javascript">
$(document).ready(function() {
$('#tipue_search_input').tipuesearch({
/* 10 items to display seems standard */
'show': 10,
/* For PasDoc docs, showing urls is not very useful,
since the page title already shows the unit and identifier. */
'showURL': false
});
});
</script>
</td><td class="content">
<h1 class="unit">Unit nettypes</h1>
<div class="sections">
<div class="one_section"><a class="section" href="#PasDoc-Description">Description</a></div><div class="one_section">Uses</div><div class="one_section"><a class="section" href="#PasDoc-Classes">Classes, Interfaces, Objects and Records</a></div><div class="one_section">Functions and Procedures</div><div class="one_section"><a class="section" href="#PasDoc-Types">Types</a></div><div class="one_section"><a class="section" href="#PasDoc-Constants">Constants</a></div><div class="one_section">Variables</div></div>
<span id="PasDoc-Description"></span><h2 class="description">Description</h2>
<p>
Driver-&gt;<a class="normal" href="net.html">Net</a>-&gt;<code>NetTypes</code> - Structures &amp; <a class="normal" href="types.html">Types</a> Shared Across Network Drivers.
<p></p>
<span id="PasDoc-Uses"></span><h2 class="overview">Overview</h2>
<span id="PasDoc-Classes"></span><h3 class="cio">Classes, Interfaces, Objects and Records</h3>
<table class="classestable wide_list">
<tr class="listheader">
<th class="itemname">Name</th>
<th class="itemdesc">Description</th>
</tr>
<tr class="list">
<td class="itemname">Record&nbsp;<a class="bold" href="nettypes.TMACPair.html"><code>TMACPair</code></a></td>
<td class="itemdesc">&nbsp;</td>
</tr>
<tr class="list2">
<td class="itemname">Record&nbsp;<a class="bold" href="nettypes.TIPv4Pair.html"><code>TIPv4Pair</code></a></td>
<td class="itemdesc">&nbsp;</td>
</tr>
<tr class="list">
<td class="itemname">Record&nbsp;<a class="bold" href="nettypes.TProtocol.html"><code>TProtocol</code></a></td>
<td class="itemdesc">&nbsp;</td>
</tr>
<tr class="list2">
<td class="itemname">Record&nbsp;<a class="bold" href="nettypes.TPacketContext.html"><code>TPacketContext</code></a></td>
<td class="itemdesc">&nbsp;</td>
</tr>
<tr class="list">
<td class="itemname">Record&nbsp;<a class="bold" href="nettypes.TIPv4Configuration.html"><code>TIPv4Configuration</code></a></td>
<td class="itemdesc">&nbsp;</td>
</tr>
<tr class="list2">
<td class="itemname">Record&nbsp;<a class="bold" href="nettypes.TICMPHeader.html"><code>TICMPHeader</code></a></td>
<td class="itemdesc">&nbsp;</td>
</tr>
<tr class="list">
<td class="itemname">Record&nbsp;<a class="bold" href="nettypes.TARPAbstractHeader.html"><code>TARPAbstractHeader</code></a></td>
<td class="itemdesc"><a class="normal" href="arp.html">ARP</a></td>
</tr>
<tr class="list2">
<td class="itemname">Record&nbsp;<a class="bold" href="nettypes.TTCPFlags.html"><code>TTCPFlags</code></a></td>
<td class="itemdesc">&nbsp;</td>
</tr>
<tr class="list">
<td class="itemname">Record&nbsp;<a class="bold" href="nettypes.TIPV4AbstractHeader.html"><code>TIPV4AbstractHeader</code></a></td>
<td class="itemdesc">&nbsp;</td>
</tr>
</table>
<span id="PasDoc-Types"></span><h3 class="summary">Types</h3>
<table class="summary wide_list">
<tr class="list">
<td class="itemcode"><code><b><a href="nettypes.html#TMACAddress">TMACAddress</a></b> = Array[0..5] of <a href="system.html#uInt8">uint8</a>;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a href="nettypes.html#TIPv4Address">TIPv4Address</a></b> = Array[0..3] of <a href="system.html#uInt8">uint8</a>;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a href="nettypes.html#PPacketContext">PPacketContext</a></b> = &circ;<a href="nettypes.TPacketContext.html">TPacketContext</a>;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a href="nettypes.html#PIPv4Configuration">PIPv4Configuration</a></b> = &circ;<a href="nettypes.TIPv4Configuration.html">TIPv4Configuration</a>;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a href="nettypes.html#PICMPHeader">PICMPHeader</a></b> = &circ;<a href="nettypes.TICMPHeader.html">TICMPHeader</a>;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a href="nettypes.html#PARPHeader">PARPHeader</a></b> = &circ;<a href="nettypes.html#TARPHeader">TARPHeader</a>;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a href="nettypes.html#TARPHeader">TARPHeader</a></b> = bitpacked record
Hardware_Type_Hi : <a href="system.html#uInt8">uint8</a>;
Hardware_Type_Lo : <a href="system.html#uInt8">uint8</a>;
Protocol_Type_Hi : <a href="system.html#uInt8">uint8</a>;
Protocol_Type_Lo : <a href="system.html#uInt8">uint8</a>;
Hardware_Address_Length : <a href="system.html#uInt8">uint8</a>;
Protocol_Address_Length : <a href="system.html#uInt8">uint8</a>;
Operation_Hi : <a href="system.html#uInt8">uint8</a>;
Operation_Lo : <a href="system.html#uInt8">uint8</a>;
Source_Hardware : <a href="nettypes.html#TMACAddress">TMACAddress</a>;
Source_Protocol : <a href="nettypes.html#TIPv4Address">TIPv4Address</a>;
Destination_Hardware : <a href="nettypes.html#TMACAddress">TMACAddress</a>;
Destination_Protocol : <a href="nettypes.html#TIPv4Address">TIPv4Address</a>;
end;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a href="nettypes.html#PEthernetHeader">PEthernetHeader</a></b> = &circ;<a href="nettypes.html#TEthernetHeader">TEthernetHeader</a>;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a href="nettypes.html#TEthernetHeader">TEthernetHeader</a></b> = bitpacked record
dst : array[0..5] of <a href="system.html#uInt8">uint8</a>;
src : array[0..5] of <a href="system.html#uInt8">uint8</a>;
EthTypeHi : <a href="system.html#uInt8">uint8</a>;
EthTypeLo : <a href="system.html#uInt8">uint8</a>;
end;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a href="nettypes.html#PIPV4Header">PIPV4Header</a></b> = &circ;<a href="nettypes.html#TIPV4Header">TIPV4Header</a>;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a href="nettypes.html#TIPV4Header">TIPV4Header</a></b> = bitpacked record
header_len : <a href="system.html#UBit4">ubit4</a>;
version : <a href="system.html#UBit4">ubit4</a>;
ToS : <a href="system.html#uInt8">uint8</a>;
total_len_Hi : <a href="system.html#uInt8">uint8</a>;
total_len_Lo : <a href="system.html#uInt8">uint8</a>;
identifier_Hi : <a href="system.html#uInt8">uint8</a>;
identifier_Lo : <a href="system.html#uInt8">uint8</a>;
Flags : <a href="system.html#UBit3">ubit3</a>;
Fragment_Off : <a href="system.html#UBit13">ubit13</a>;
TTL : <a href="system.html#uInt8">uint8</a>;
Protocol : <a href="system.html#uInt8">uint8</a>;
HDR_CHK_Hi : <a href="system.html#uInt8">uint8</a>;
HDR_CHK_Lo : <a href="system.html#uInt8">uint8</a>;
Src : Array[0..3] of <a href="system.html#uInt8">uint8</a>;
Dst : Array[0..3] of <a href="system.html#uInt8">uint8</a>;
Options : <a href="system.html#UBit24">ubit24</a>;
Padding : <a href="system.html#uInt8">uint8</a>;
end;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a href="nettypes.html#TNetSendCallback">TNetSendCallback</a></b> = function(p_data : <a href="system.html#Void">void</a>; p_len : <a href="system.html#uInt16">uint16</a>) : <a href="system.html#sInt32">sint32</a>;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a href="nettypes.html#TRecvCallback">TRecvCallback</a></b> = procedure(p_data : <a href="system.html#Void">void</a>; p_len : <a href="system.html#uInt16">uint16</a>; p_context : <a href="nettypes.html#PPacketContext">PPacketContext</a>);</code></td>
</tr>
</table>
<span id="PasDoc-Constants"></span><h3 class="summary">Constants</h3>
<table class="summary wide_list">
<tr class="list">
<td class="itemcode"><code><b><a href="nettypes.html#BROADCAST_MAC">BROADCAST_MAC</a></b> : Array[0..5] of <a href="system.html#uInt8">uint8</a> = ($FF, $FF, $FF, $FF, $FF, $FF);</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a href="nettypes.html#NULL_MAC">NULL_MAC</a></b> : Array[0..5] of <a href="system.html#uInt8">uint8</a> = ($00, $00, $00, $00, $00, $00);</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a href="nettypes.html#FORCE_MAC">FORCE_MAC</a></b> : Array[0..5] of <a href="system.html#uInt8">uint8</a> = ($08, $00, $27, $E6, $3F, $81);</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a href="nettypes.html#ICMP_DATA_GENERIC">ICMP_DATA_GENERIC</a></b> : Array[0..31] of <a href="system.html#uInt8">uint8</a> = ( $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 );</code></td>
</tr>
</table>
<h2 class="description">Description</h2>
<h3 class="detail">Types</h3>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><span id="TMACAddress"></span><code><b>TMACAddress</b> = Array[0..5] of <a href="system.html#uInt8">uint8</a>;</code></td>
</tr>
<tr><td colspan="1">
<p>
Generic</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><span id="TIPv4Address"></span><code><b>TIPv4Address</b> = Array[0..3] of <a href="system.html#uInt8">uint8</a>;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><span id="PPacketContext"></span><code><b>PPacketContext</b> = &circ;<a href="nettypes.TPacketContext.html">TPacketContext</a>;</code></td>
</tr>
<tr><td colspan="1">
<p>
Context</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><span id="PIPv4Configuration"></span><code><b>PIPv4Configuration</b> = &circ;<a href="nettypes.TIPv4Configuration.html">TIPv4Configuration</a>;</code></td>
</tr>
<tr><td colspan="1">
<p>
Config</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><span id="PICMPHeader"></span><code><b>PICMPHeader</b> = &circ;<a href="nettypes.TICMPHeader.html">TICMPHeader</a>;</code></td>
</tr>
<tr><td colspan="1">
<p>
<a class="normal" href="icmp.html">ICMP</a></p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><span id="PARPHeader"></span><code><b>PARPHeader</b> = &circ;<a href="nettypes.html#TARPHeader">TARPHeader</a>;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><span id="TARPHeader"></span><code><b>TARPHeader</b> = bitpacked record
Hardware_Type_Hi : <a href="system.html#uInt8">uint8</a>;
Hardware_Type_Lo : <a href="system.html#uInt8">uint8</a>;
Protocol_Type_Hi : <a href="system.html#uInt8">uint8</a>;
Protocol_Type_Lo : <a href="system.html#uInt8">uint8</a>;
Hardware_Address_Length : <a href="system.html#uInt8">uint8</a>;
Protocol_Address_Length : <a href="system.html#uInt8">uint8</a>;
Operation_Hi : <a href="system.html#uInt8">uint8</a>;
Operation_Lo : <a href="system.html#uInt8">uint8</a>;
Source_Hardware : <a href="nettypes.html#TMACAddress">TMACAddress</a>;
Source_Protocol : <a href="nettypes.html#TIPv4Address">TIPv4Address</a>;
Destination_Hardware : <a href="nettypes.html#TMACAddress">TMACAddress</a>;
Destination_Protocol : <a href="nettypes.html#TIPv4Address">TIPv4Address</a>;
end;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><span id="PEthernetHeader"></span><code><b>PEthernetHeader</b> = &circ;<a href="nettypes.html#TEthernetHeader">TEthernetHeader</a>;</code></td>
</tr>
<tr><td colspan="1">
<p>
<a class="normal" href="eth2.html">ETH2</a></p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><span id="TEthernetHeader"></span><code><b>TEthernetHeader</b> = bitpacked record
dst : array[0..5] of <a href="system.html#uInt8">uint8</a>;
src : array[0..5] of <a href="system.html#uInt8">uint8</a>;
EthTypeHi : <a href="system.html#uInt8">uint8</a>;
EthTypeLo : <a href="system.html#uInt8">uint8</a>;
end;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><span id="PIPV4Header"></span><code><b>PIPV4Header</b> = &circ;<a href="nettypes.html#TIPV4Header">TIPV4Header</a>;</code></td>
</tr>
<tr><td colspan="1">
<p>
<a class="normal" href="ipv4.html">IPv4</a></p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><span id="TIPV4Header"></span><code><b>TIPV4Header</b> = bitpacked record
header_len : <a href="system.html#UBit4">ubit4</a>;
version : <a href="system.html#UBit4">ubit4</a>;
ToS : <a href="system.html#uInt8">uint8</a>;
total_len_Hi : <a href="system.html#uInt8">uint8</a>;
total_len_Lo : <a href="system.html#uInt8">uint8</a>;
identifier_Hi : <a href="system.html#uInt8">uint8</a>;
identifier_Lo : <a href="system.html#uInt8">uint8</a>;
Flags : <a href="system.html#UBit3">ubit3</a>;
Fragment_Off : <a href="system.html#UBit13">ubit13</a>;
TTL : <a href="system.html#uInt8">uint8</a>;
Protocol : <a href="system.html#uInt8">uint8</a>;
HDR_CHK_Hi : <a href="system.html#uInt8">uint8</a>;
HDR_CHK_Lo : <a href="system.html#uInt8">uint8</a>;
Src : Array[0..3] of <a href="system.html#uInt8">uint8</a>;
Dst : Array[0..3] of <a href="system.html#uInt8">uint8</a>;
Options : <a href="system.html#UBit24">ubit24</a>;
Padding : <a href="system.html#uInt8">uint8</a>;
end;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><span id="TNetSendCallback"></span><code><b>TNetSendCallback</b> = function(p_data : <a href="system.html#Void">void</a>; p_len : <a href="system.html#uInt16">uint16</a>) : <a href="system.html#sInt32">sint32</a>;</code></td>
</tr>
<tr><td colspan="1">
<p>
Callback <a class="normal" href="types.html">Types</a></p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><span id="TRecvCallback"></span><code><b>TRecvCallback</b> = procedure(p_data : <a href="system.html#Void">void</a>; p_len : <a href="system.html#uInt16">uint16</a>; p_context : <a href="nettypes.html#PPacketContext">PPacketContext</a>);</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<h3 class="detail">Constants</h3>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><span id="BROADCAST_MAC"></span><code><b>BROADCAST_MAC</b> : Array[0..5] of <a href="system.html#uInt8">uint8</a> = ($FF, $FF, $FF, $FF, $FF, $FF);</code></td>
</tr>
<tr><td colspan="1">
<p>
MACs</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><span id="NULL_MAC"></span><code><b>NULL_MAC</b> : Array[0..5] of <a href="system.html#uInt8">uint8</a> = ($00, $00, $00, $00, $00, $00);</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><span id="FORCE_MAC"></span><code><b>FORCE_MAC</b> : Array[0..5] of <a href="system.html#uInt8">uint8</a> = ($08, $00, $27, $E6, $3F, $81);</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><span id="ICMP_DATA_GENERIC"></span><code><b>ICMP_DATA_GENERIC</b> : Array[0..31] of <a href="system.html#uInt8">uint8</a> = ( $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 );</code></td>
</tr>
<tr><td colspan="1">
<p>
<a class="normal" href="icmp.html">ICMP</a> Data</p>
</td></tr>
</table>
<h2 class="authors">Author</h2>
<ul class="authors">
<li>Kieron Morris &lt;<a href="mailto:kjm@kieronmorris.me">kjm@kieronmorris.me</a>&gt;</li>
</ul>
<hr><span class="appinfo"><em>Generated by <a href="https://github.com/pasdoc/pasdoc/wiki">PasDoc 0.15.0</a>. </em>
</span>
</td></tr></table></body></html>