Data Structures |
| struct | PTCPv4_HEADER |
| struct | PTCPv4_PSEUDO_HEADER |
| struct | PSLEEPING_THREAD |
| struct | PCLIENT_DATA |
Defines |
| #define | TCPOPT_END_OF_LIST 0x0 |
| #define | TCPOPT_NO_OPERATION 0x1 |
| #define | TCPOPT_MAX_SEG_SIZE 0x2 |
| #define | TCPOPTLEN_MAX_SEG_SIZE 0x4 |
| #define | TCP_DATA_OFFSET(DataOffset) (((DataOffset) & 0xF0) >> (4-2)) |
| #define | TCP_MIN_RETRANSMISSION_TIMEOUT 1*1000 /* 1 tick */ |
| #define | TCP_MAX_RETRANSMISSION_TIMEOUT 1*60*1000 /* 1 tick */ |
| #define | TCP_ALPHA_RETRANSMISSION_TIMEOUT(x) (((x)*8)/10) /* 0.8 */ |
| #define | TCP_BETA_RETRANSMISSION_TIMEOUT(x) (((x)*16)/10) /* 1.6 */ |
| #define | SEL_CONNECT 1 |
| #define | SEL_FIN 2 |
| #define | SEL_RST 4 |
| #define | SEL_ABRT 8 |
| #define | SEL_READ 16 |
| #define | SEL_WRITE 32 |
| #define | SEL_ACCEPT 64 |
| #define | SEL_OOB 128 |
| #define | SEL_ERROR 256 |
| #define | SEL_FINOUT 512 |
| #define | FREAD 0x0001 |
| #define | FWRITE 0x0002 |
| #define | SRF_URG TCP_URG |
| #define | SRF_ACK TCP_ACK |
| #define | SRF_PSH TCP_PSH |
| #define | SRF_RST TCP_RST |
| #define | SRF_SYN TCP_SYN |
| #define | SRF_FIN TCP_FIN |
Typedefs |
| typedef VOID(* | PTCP_COMPLETION_ROUTINE )(PVOID Context, NTSTATUS Status, ULONG Count) |
Functions |
| NTSTATUS | TCPCheckPeerForAccept (PVOID Context, PTDI_REQUEST_KERNEL Request) |
| NTSTATUS | TCPListen (PCONNECTION_ENDPOINT Connection, UINT Backlog) |
| BOOLEAN | TCPAbortListenForSocket (PCONNECTION_ENDPOINT Listener, PCONNECTION_ENDPOINT Connection) |
| NTSTATUS | TCPAccept (PTDI_REQUEST Request, PCONNECTION_ENDPOINT Listener, PCONNECTION_ENDPOINT Connection, PTCP_COMPLETION_ROUTINE Complete, PVOID Context) |
| PCONNECTION_ENDPOINT | TCPAllocateConnectionEndpoint (PVOID ClientContext) |
| VOID | TCPFreeConnectionEndpoint (PCONNECTION_ENDPOINT Connection) |
| NTSTATUS | TCPSocket (PCONNECTION_ENDPOINT Connection, UINT Family, UINT Type, UINT Proto) |
| VOID | HandleSignalledConnection (PCONNECTION_ENDPOINT Connection) |
| PTCP_SEGMENT | TCPCreateSegment (PIP_PACKET IPPacket, PTCPv4_HEADER TCPHeader, ULONG SegmentLength) |
| VOID | TCPFreeSegment (PTCP_SEGMENT Segment) |
| VOID | TCPAddSegment (PCONNECTION_ENDPOINT Connection, PTCP_SEGMENT Segment, PULONG Acknowledged) |
| NTSTATUS | TCPConnect (PCONNECTION_ENDPOINT Connection, PTDI_CONNECTION_INFORMATION ConnInfo, PTDI_CONNECTION_INFORMATION ReturnInfo, PTCP_COMPLETION_ROUTINE Complete, PVOID Context) |
| NTSTATUS | TCPDisconnect (PCONNECTION_ENDPOINT Connection, UINT Flags, PLARGE_INTEGER Timeout, PTDI_CONNECTION_INFORMATION ConnInfo, PTDI_CONNECTION_INFORMATION ReturnInfo, PTCP_COMPLETION_ROUTINE Complete, PVOID Context) |
| NTSTATUS | TCPReceiveData (PCONNECTION_ENDPOINT Connection, PNDIS_BUFFER Buffer, ULONG ReceiveLength, PULONG BytesReceived, ULONG ReceiveFlags, PTCP_COMPLETION_ROUTINE Complete, PVOID Context) |
| NTSTATUS | TCPSendData (PCONNECTION_ENDPOINT Connection, PCHAR Buffer, ULONG DataSize, PULONG DataUsed, ULONG Flags, PTCP_COMPLETION_ROUTINE Complete, PVOID Context) |
| NTSTATUS | TCPClose (PCONNECTION_ENDPOINT Connection) |
| NTSTATUS | TCPTranslateError (const INT8 err) |
| UINT | TCPAllocatePort (const UINT HintPort) |
| VOID | TCPFreePort (const UINT Port) |
| NTSTATUS | TCPGetSockAddress (PCONNECTION_ENDPOINT Connection, PTRANSPORT_ADDRESS TransportAddress, BOOLEAN RemoteAddress) |
| NTSTATUS | TCPStartup (VOID) |
| NTSTATUS | TCPShutdown (VOID) |
| BOOLEAN | TCPRemoveIRP (PCONNECTION_ENDPOINT Connection, PIRP Irp) |
| VOID | TCPUpdateInterfaceLinkStatus (PIP_INTERFACE IF) |
| VOID | TCPUpdateInterfaceIPInformation (PIP_INTERFACE IF) |
| VOID | FlushListenQueue (PCONNECTION_ENDPOINT Connection, const NTSTATUS Status) |
| VOID | FlushConnectQueue (PCONNECTION_ENDPOINT Connection, const NTSTATUS Status) |
| VOID | FlushReceiveQueue (PCONNECTION_ENDPOINT Connection, const NTSTATUS Status, const BOOLEAN interlocked) |
| VOID | FlushSendQueue (PCONNECTION_ENDPOINT Connection, const NTSTATUS Status, const BOOLEAN interlocked) |
| VOID | FlushShutdownQueue (PCONNECTION_ENDPOINT Connection, const NTSTATUS Status, const BOOLEAN interlocked) |
| VOID | FlushAllQueues (PCONNECTION_ENDPOINT Connection, NTSTATUS Status) |
| VOID | CompleteBucket (PCONNECTION_ENDPOINT Connection, PTDI_BUCKET Bucket, const BOOLEAN Synchronous) |
Variables |
| LONG | TCP_IPIdentification |
| CLIENT_DATA | ClientInfo |