Added timeout support to the ATA driver (timeout is 2 seconds)
[tpg/acess2.git] / Modules / IPStack / udp.h
index be2ff64..2cc743a 100644 (file)
@@ -9,6 +9,9 @@
 #include "ipv4.h"
 
 typedef struct sUDPHeader      tUDPHeader;
+typedef struct sUDPServer      tUDPServer;
+typedef struct sUDPPacket      tUDPPacket;
+typedef struct sUDPChannel     tUDPChannel;
 
 struct sUDPHeader
 {
@@ -19,4 +22,42 @@ struct sUDPHeader
        Uint8   Data[];
 };
 
+struct sUDPPacket
+{
+       struct sUDPPacket       *Next;
+       size_t  Length;
+       Uint8   Data[];
+};
+
+struct sUDPChannel
+{
+       struct sUDPChannel      *Next;
+       tInterface      *Interface;
+       Uint16  LocalPort;
+       union {
+               tIPv4   v4;
+               tIPv6   v6;
+       }       RemoteAddr;
+       Uint16  RemotePort;
+       tVFS_Node       Node;
+       tSpinlock       lQueue;
+       tUDPPacket      * volatile Queue;
+       tUDPPacket      *QueueEnd;
+};
+
+struct sUDPServer
+{
+       struct sUDPServer       *Next;
+       
+       tVFS_Node       Node;
+       
+       tInterface      *Interface;
+       Uint16  ListenPort;
+        int    NextID;
+        int    NumChannels;
+       tUDPChannel     *Channels;
+       tSpinlock       Lock;
+       tUDPChannel     * volatile NewChannels;
+};
+
 #endif

UCC git Repository :: git.ucc.asn.au