From 8ac0d4fccf491e2ea8f8d84b607e4cea20a04f98 Mon Sep 17 00:00:00 2001
From: tho <tho@wiback.org>
Date: Thu, 15 Nov 2007 16:25:11 +0000
Subject: [PATCH] added useful table for IPv4 header

---
 Packets/DefaultBundle/IpV4Packet.hh | 33 +++++++++++++++++++++++++++--
 doclib/senf.css                     | 24 +++++++++++++++++++++
 2 files changed, 55 insertions(+), 2 deletions(-)

diff --git a/Packets/DefaultBundle/IpV4Packet.hh b/Packets/DefaultBundle/IpV4Packet.hh
index 5b45f6989..004efaf48 100644
--- a/Packets/DefaultBundle/IpV4Packet.hh
+++ b/Packets/DefaultBundle/IpV4Packet.hh
@@ -58,8 +58,8 @@ namespace senf {
 
     /** \brief Parse an IpV4 packet
 
-        Parser implementing the IpV4 header. The fields implemented are:
-
+        Parser implementing the IpV4 header.
+        
         \see IpV4PacketType \n
             <a href="http://tools.ietf.org/html/rfc791">RFC 791</a>
 
@@ -114,6 +114,35 @@ namespace senf {
     };
 
     /** \brief IpV4 packet
+
+        <table class="packet" cellpadding="5" cellspacing="1" border="1">
+          <tr>
+            <th width="12%">0</th> <th width="12%">4</th> <th width="12%">8</th>
+            <th width="12%">12</th> <th width="3%">16</th>
+            <th width="3%"></th> <th width="3%"></th> <th width="3%"></th>
+            <th width="12%">20</th> <th width="12%">24</th> <th width="6%">28</th>
+            <th style="text-align:right" width="6%">31</th>
+          </tr><tr>
+            <td>\ref Parse_IpV4::version() "Version"</td>
+            <td>\ref Parse_IpV4::ihl() "IHL"</td>
+            <td colspan="2">\ref Parse_IpV4::tos() "TOS"</td>
+            <td colspan="8">\ref Parse_IpV4::length() "Length"</td> 
+          </tr><tr>
+            <td colspan="4">\ref Parse_IpV4::identifier() "Identifier"</td>
+            <td>\ref Parse_IpV4::reserved() "R"</td>
+            <td>\ref Parse_IpV4::df() "DF"</td>
+            <td>\ref Parse_IpV4::mf() "MF"</td>
+            <td colspan="5">\ref Parse_IpV4::frag() "Fragment Offset"</td>
+          </tr><tr>
+            <td colspan="2">\ref Parse_IpV4::ttl() "Time to Live (ttl)"</td>
+            <td colspan="2">\ref Parse_IpV4::protocol() "Protocol"</td>
+            <td colspan="8">\ref Parse_IpV4::checksum() "Header Checksum"</td>
+          </tr><tr>
+            <td colspan="12">\ref Parse_IpV4::source() "Source Address"</td>
+          </tr><tr>
+            <td colspan="12">\ref Parse_IpV4::destination() "Destination Address"</td>
+          </tr>
+        </table>
         
         \par Packet type (typedef):
             \ref IpV4Packet
diff --git a/doclib/senf.css b/doclib/senf.css
index c6e2d4b96..ba3e05f1e 100644
--- a/doclib/senf.css
+++ b/doclib/senf.css
@@ -235,6 +235,30 @@ dl.note {
         background-color: #F0F8F8;
         padding: 4px;
 }
+ 
+table.packet {
+        width: 95%;
+        margin: 10pt auto;
+        border: 1px solid #AAAAAA;
+        padding: 2px;
+        border-spacing: 0;
+		white-space: nowrap;
+		text-align: center;
+		table-layout: fixed; 
+}
+
+table.packet td,th {
+        border: 2px solid white;
+        background-color: #EEEEEE;
+        padding: 6px 4px;
+}
+
+table.packet th {
+        background-color: white;
+        text-align: left;
+		font-weight: normal;
+        padding: 0px;
+}
 
 table.senf {
         width: 95%;
-- 
GitLab