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
Fixed places where char* was used in place of const char*
[tpg/acess2.git]
/
Modules
/
IPStack
/
tcp.h
diff --git
a/Modules/IPStack/tcp.h
b/Modules/IPStack/tcp.h
index
93e5c1e
..
ab910fb
100644
(file)
--- a/
Modules/IPStack/tcp.h
+++ b/
Modules/IPStack/tcp.h
@@
-19,7
+19,7
@@
struct sTCPHeader
Uint32 SequenceNumber;
Uint32 AcknowlegementNumber;
#if 0
Uint32 SequenceNumber;
Uint32 AcknowlegementNumber;
#if 0
- struct {
+ struct {
// Lowest to highest
unsigned Reserved: 4;
unsigned DataOffset: 4; // Size of the header in 32-bit words
} __attribute__ ((packed));
unsigned Reserved: 4;
unsigned DataOffset: 4; // Size of the header in 32-bit words
} __attribute__ ((packed));
@@
-67,9
+67,10
@@
struct sTCPListener
tInterface *Interface; //!< Listening Interface
tVFS_Node Node; //!< Server Directory node
int NextID; //!< Name of the next connection
tInterface *Interface; //!< Listening Interface
tVFS_Node Node; //!< Server Directory node
int NextID; //!< Name of the next connection
- tS
pinlock
lConnections; //!< Spinlock for connections
+ tS
hortSpinlock
lConnections; //!< Spinlock for connections
tTCPConnection *Connections; //!< Connections (linked list)
tTCPConnection *Connections; //!< Connections (linked list)
- tTCPConnection *volatile NewConnections;
+ tTCPConnection *volatile NewConnections;
+ tTCPConnection *ConnectionsTail;
};
struct sTCPStoredPacket
};
struct sTCPStoredPacket
@@
-89,15
+90,15
@@
struct sTCPConnection
tInterface *Interface; //!< Listening Interface
tVFS_Node Node; //!< Node
tInterface *Interface; //!< Listening Interface
tVFS_Node Node; //!< Node
-
int
NextSequenceSend; //!< Next sequence value for outbound packets
-
int
NextSequenceRcv; //!< Next expected sequence value for inbound
+
Uint32
NextSequenceSend; //!< Next sequence value for outbound packets
+
Uint32
NextSequenceRcv; //!< Next expected sequence value for inbound
/**
* \brief Non-ACKed packets
* \note FIFO list
* \{
*/
/**
* \brief Non-ACKed packets
* \note FIFO list
* \{
*/
- t
Spinlock
lQueuedPackets;
+ t
Mutex
lQueuedPackets;
tTCPStoredPacket *QueuedPackets; //!< Non-ACKed packets
/**
* \}
tTCPStoredPacket *QueuedPackets; //!< Non-ACKed packets
/**
* \}
@@
-105,12
+106,11
@@
struct sTCPConnection
/**
* \brief Unread Packets
/**
* \brief Unread Packets
- * \note
Double ended list (fifo)
+ * \note
Ring buffer
* \{
*/
* \{
*/
- tSpinlock lRecievedPackets;
- tTCPStoredPacket *RecievedPackets; //!< Unread Packets
- tTCPStoredPacket *RecievedPacketsTail; //!< Unread Packets (End of list)
+ tMutex lRecievedPackets;
+ tRingBuffer *RecievedBuffer;
/**
* \}
*/
/**
* \}
*/
@@
-120,7
+120,7
@@
struct sTCPConnection
* \note Sorted list to improve times
* \{
*/
* \note Sorted list to improve times
* \{
*/
- tS
pinlock
lFuturePackets; //!< Future packets spinlock
+ tS
hortSpinlock
lFuturePackets; //!< Future packets spinlock
tTCPStoredPacket *FuturePackets; //!< Out of sequence packets
/**
* \}
tTCPStoredPacket *FuturePackets; //!< Out of sequence packets
/**
* \}
@@
-136,8
+136,11
@@
struct sTCPConnection
enum eTCPConnectionState
{
TCP_ST_CLOSED,
enum eTCPConnectionState
{
TCP_ST_CLOSED,
+ TCP_ST_SYN_SENT,
TCP_ST_HALFOPEN,
TCP_ST_HALFOPEN,
- TCP_ST_OPEN
+ TCP_ST_OPEN,
+ TCP_ST_FIN_SENT,
+ TCP_ST_FINISHED
};
#endif
};
#endif
UCC
git Repository :: git.ucc.asn.au