git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Kernel/x86 - Oops, bad entry
[tpg/acess2.git]
/
Modules
/
IPStack
/
udp.h
diff --git
a/Modules/IPStack/udp.h
b/Modules/IPStack/udp.h
index
657bce5
..
3914789
100644
(file)
--- a/
Modules/IPStack/udp.h
+++ b/
Modules/IPStack/udp.h
@@
-9,7
+9,7
@@
#include "ipv4.h"
typedef struct sUDPHeader tUDPHeader;
#include "ipv4.h"
typedef struct sUDPHeader tUDPHeader;
-typedef struct sUDP
Server tUDPServer
;
+typedef struct sUDP
Endpoint tUDPEndpoint
;
typedef struct sUDPPacket tUDPPacket;
typedef struct sUDPChannel tUDPChannel;
typedef struct sUDPPacket tUDPPacket;
typedef struct sUDPChannel tUDPChannel;
@@
-22,9
+22,20
@@
struct sUDPHeader
Uint8 Data[];
};
Uint8 Data[];
};
+struct sUDPEndpoint
+{
+ Uint16 Port;
+ Uint16 AddrType;
+ union {
+ tIPv4 v4;
+ tIPv6 v6;
+ } Addr;
+};
+
struct sUDPPacket
{
struct sUDPPacket *Next;
struct sUDPPacket
{
struct sUDPPacket *Next;
+ tUDPEndpoint Remote;
size_t Length;
Uint8 Data[];
};
size_t Length;
Uint8 Data[];
};
@@
-34,30
+45,15
@@
struct sUDPChannel
struct sUDPChannel *Next;
tInterface *Interface;
Uint16 LocalPort;
struct sUDPChannel *Next;
tInterface *Interface;
Uint16 LocalPort;
- union {
- tIPv4 v4;
- tIPv6 v6;
- } RemoteAddr;
- Uint16 RemotePort;
+
+ tUDPEndpoint Remote; // Only accept packets form this address/port pair
+ int RemoteMask; // Mask on the address
+
tVFS_Node Node;
tShortSpinlock lQueue;
tUDPPacket * volatile Queue;
tUDPPacket *QueueEnd;
};
tVFS_Node Node;
tShortSpinlock lQueue;
tUDPPacket * volatile Queue;
tUDPPacket *QueueEnd;
};
-struct sUDPServer
-{
- struct sUDPServer *Next;
-
- tVFS_Node Node;
-
- tInterface *Interface;
- Uint16 ListenPort;
- int NextID;
- int NumChannels;
- tUDPChannel *Channels;
- tMutex Lock;
- tUDPChannel * volatile NewChannels;
-};
-
#endif
#endif
+
UCC
git Repository :: git.ucc.asn.au