ReactOS  0.4.14-dev-41-g31d7680
titypes.h File Reference
#include <ip.h>
Include dependency graph for titypes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _DATAGRAM_RECEIVE_REQUEST
 
struct  _DATAGRAM_SEND_REQUEST
 
struct  _ADDRESS_FILE
 
struct  _AF_SEARCH
 
struct  _TCP_RECEIVE_REQUEST
 
struct  _TCP_SEGMENT
 
struct  _TDI_BUCKET
 
struct  _CONNECTION_ENDPOINT
 
struct  _CONTROL_CHANNEL
 
struct  _TRANSPORT_CONTEXT
 
struct  _TI_QUERY_CONTEXT
 

Macros

#define ReferenceObject(Object)
 
#define DereferenceObject(Object)
 
#define LockObject(Object, Irql)
 
#define LockObjectAtDpcLevel(Object)
 
#define UnlockObject(Object, OldIrql)
 
#define UnlockObjectFromDpcLevel(Object)
 

Typedefs

typedef NTSTATUS(* DATAGRAM_SEND_ROUTINE) (struct _ADDRESS_FILE *AddrFile, PTDI_CONNECTION_INFORMATION ConnInfo, PCHAR Buffer, ULONG DataSize, PULONG DataUsed)
 
typedef VOID(* DATAGRAM_COMPLETION_ROUTINE) (PVOID Context, NDIS_STATUS Status, ULONG Count)
 
typedef DATAGRAM_COMPLETION_ROUTINE PDATAGRAM_COMPLETION_ROUTINE
 
typedef struct _DATAGRAM_RECEIVE_REQUEST DATAGRAM_RECEIVE_REQUEST
 
typedef struct _DATAGRAM_RECEIVE_REQUESTPDATAGRAM_RECEIVE_REQUEST
 
typedef NTSTATUS(* DATAGRAM_BUILD_ROUTINE) (PVOID Context, PIP_ADDRESS LocalAddress, USHORT LocalPort, PIP_PACKET *IPPacket)
 
typedef struct _DATAGRAM_SEND_REQUEST DATAGRAM_SEND_REQUEST
 
typedef struct _DATAGRAM_SEND_REQUESTPDATAGRAM_SEND_REQUEST
 
typedef struct _ADDRESS_FILE ADDRESS_FILE
 
typedef struct _ADDRESS_FILEPADDRESS_FILE
 
typedef struct _AF_SEARCH AF_SEARCH
 
typedef struct _AF_SEARCHPAF_SEARCH
 
typedef struct _TCP_RECEIVE_REQUEST TCP_RECEIVE_REQUEST
 
typedef struct _TCP_RECEIVE_REQUESTPTCP_RECEIVE_REQUEST
 
typedef enum CONNECTION_STATEPCONNECTION_STATE
 
typedef struct _TCP_SEGMENT TCP_SEGMENT
 
typedef struct _TCP_SEGMENTPTCP_SEGMENT
 
typedef struct _TDI_BUCKET TDI_BUCKET
 
typedef struct _TDI_BUCKETPTDI_BUCKET
 
typedef struct _CONNECTION_ENDPOINT CONNECTION_ENDPOINT
 
typedef struct _CONNECTION_ENDPOINTPCONNECTION_ENDPOINT
 
typedef struct _CONTROL_CHANNEL CONTROL_CHANNEL
 
typedef struct _CONTROL_CHANNELPCONTROL_CHANNEL
 
typedef struct _TRANSPORT_CONTEXT TRANSPORT_CONTEXT
 
typedef struct _TRANSPORT_CONTEXTPTRANSPORT_CONTEXT
 
typedef struct _TI_QUERY_CONTEXT TI_QUERY_CONTEXT
 
typedef struct _TI_QUERY_CONTEXTPTI_QUERY_CONTEXT
 

Enumerations

enum  CONNECTION_STATE {
  ctListen = 0, ctSynSent, ctSynReceived, ctEstablished,
  ctFinWait1, ctFinWait2, ctCloseWait, ctClosing,
  ctLastAck, ctTimeWait, ctClosed
}
 

Macro Definition Documentation

◆ DereferenceObject

#define DereferenceObject (   Object)
Value:
{ \
ASSERT((Object)->RefCount); \
if (InterlockedDecrement(&((Object)->RefCount)) == 0) \
(((Object)->Free)(Object)); \
}
_In_opt_ PALLOCATE_FUNCTION _In_opt_ PFREE_FUNCTION Free
Definition: exfuncs.h:656
static IUnknown Object
Definition: main.c:512
#define InterlockedDecrement
Definition: armddk.h:52

Definition at line 24 of file titypes.h.

◆ LockObject

#define LockObject (   Object,
  Irql 
)
Value:
{ \
ReferenceObject(Object); \
KeAcquireSpinLock(&((Object)->Lock), Irql); \
memcpy(&(Object)->OldIrql, Irql, sizeof(KIRQL)); \
}
_Out_ PKIRQL Irql
Definition: csq.h:179
UCHAR KIRQL
Definition: env_spec_w32.h:591
static IUnknown Object
Definition: main.c:512
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:803
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment IN PNDIS_RW_LOCK Lock
Definition: CrNtStubs.h:75

Definition at line 34 of file titypes.h.

◆ LockObjectAtDpcLevel

#define LockObjectAtDpcLevel (   Object)
Value:
{ \
ReferenceObject(Object); \
KeAcquireSpinLockAtDpcLevel(&((Object)->Lock)); \
}
static IUnknown Object
Definition: main.c:512
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:803
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment IN PNDIS_RW_LOCK Lock
Definition: CrNtStubs.h:75
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696

Definition at line 44 of file titypes.h.

◆ ReferenceObject

#define ReferenceObject (   Object)
Value:
{ \
ASSERT((Object)->RefCount); \
InterlockedIncrement(&((Object)->RefCount)); \
}
static IUnknown Object
Definition: main.c:512

Definition at line 14 of file titypes.h.

◆ UnlockObject

#define UnlockObject (   Object,
  OldIrql 
)
Value:
{ \
KeReleaseSpinLock(&((Object)->Lock), OldIrql); \
DereferenceObject(Object); \
}
static IUnknown Object
Definition: main.c:512
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:803
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment IN PNDIS_RW_LOCK Lock
Definition: CrNtStubs.h:75

Definition at line 54 of file titypes.h.

◆ UnlockObjectFromDpcLevel

#define UnlockObjectFromDpcLevel (   Object)
Value:
{ \
KeReleaseSpinLockFromDpcLevel(&((Object)->Lock)); \
DereferenceObject(Object); \
}
static IUnknown Object
Definition: main.c:512
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment IN PNDIS_RW_LOCK Lock
Definition: CrNtStubs.h:75

Definition at line 63 of file titypes.h.

Typedef Documentation

◆ ADDRESS_FILE

◆ AF_SEARCH

◆ CONNECTION_ENDPOINT

◆ CONTROL_CHANNEL

◆ DATAGRAM_BUILD_ROUTINE

typedef NTSTATUS(* DATAGRAM_BUILD_ROUTINE) (PVOID Context, PIP_ADDRESS LocalAddress, USHORT LocalPort, PIP_PACKET *IPPacket)

Definition at line 110 of file titypes.h.

◆ DATAGRAM_COMPLETION_ROUTINE

typedef VOID(* DATAGRAM_COMPLETION_ROUTINE) (PVOID Context, NDIS_STATUS Status, ULONG Count)

Definition at line 87 of file titypes.h.

◆ DATAGRAM_RECEIVE_REQUEST

◆ DATAGRAM_SEND_REQUEST

◆ DATAGRAM_SEND_ROUTINE

typedef NTSTATUS(* DATAGRAM_SEND_ROUTINE) (struct _ADDRESS_FILE *AddrFile, PTDI_CONNECTION_INFORMATION ConnInfo, PCHAR Buffer, ULONG DataSize, PULONG DataUsed)

Definition at line 79 of file titypes.h.

◆ PADDRESS_FILE

◆ PAF_SEARCH

◆ PCONNECTION_ENDPOINT

◆ PCONNECTION_STATE

◆ PCONTROL_CHANNEL

◆ PDATAGRAM_COMPLETION_ROUTINE

◆ PDATAGRAM_RECEIVE_REQUEST

◆ PDATAGRAM_SEND_REQUEST

◆ PTCP_RECEIVE_REQUEST

◆ PTCP_SEGMENT

◆ PTDI_BUCKET

◆ PTI_QUERY_CONTEXT

◆ PTRANSPORT_CONTEXT

◆ TCP_RECEIVE_REQUEST

◆ TCP_SEGMENT

◆ TDI_BUCKET

◆ TI_QUERY_CONTEXT

◆ TRANSPORT_CONTEXT

Enumeration Type Documentation

◆ CONNECTION_STATE

Enumerator
ctListen 
ctSynSent 
ctSynReceived 
ctEstablished 
ctFinWait1 
ctFinWait2 
ctCloseWait 
ctClosing 
ctLastAck 
ctTimeWait 
ctClosed 

Definition at line 223 of file titypes.h.

223  {
224  ctListen = 0, /* Waiting for incoming connection requests */
225  ctSynSent, /* Waiting for matching connection request */
226  ctSynReceived, /* Waiting for connection request acknowledgment */
227  ctEstablished, /* Connection is open for data transfer */
228  ctFinWait1, /* Waiting for termination request or ack. for same */
229  ctFinWait2, /* Waiting for termination request from remote TCP */
230  ctCloseWait, /* Waiting for termination request from local user */
231  ctClosing, /* Waiting for termination ack. from remote TCP */
232  ctLastAck, /* Waiting for termination request ack. from remote TCP */
233  ctTimeWait, /* Waiting for enough time to pass to be sure the remote TCP
234  received the ack. of its connection termination request */
235  ctClosed /* Represents a closed connection */
enum CONNECTION_STATE * PCONNECTION_STATE
CONNECTION_STATE
Definition: titypes.h:223