[TCPIP] Store creator PID in ADDRESS_FILE
[reactos.git] / drivers / network / tcpip / include / titypes.h
index 7f5d1df..5ca137b 100644 (file)
@@ -13,6 +13,7 @@
  */
 #define ReferenceObject(Object)                            \
 {                                                          \
+    ASSERT((Object)->RefCount);                            \
     InterlockedIncrement(&((Object)->RefCount));           \
 }
 
@@ -22,6 +23,7 @@
  */
 #define DereferenceObject(Object)                           \
 {                                                           \
+    ASSERT((Object)->RefCount);                             \
     if (InterlockedDecrement(&((Object)->RefCount)) == 0)   \
         (((Object)->Free)(Object));                         \
 }
@@ -152,6 +154,7 @@ typedef struct _ADDRESS_FILE {
     /* Associated listener (see transport/tcp/accept.c) */
     IP_ADDRESS AddrCache;                 /* One entry address cache (destination
                                              address of last packet transmitted) */
+    HANDLE ProcessId;                     /* Creator process ID */
 
     /* The following members are used to control event notification */
 
@@ -263,7 +266,7 @@ typedef struct _CONNECTION_ENDPOINT {
     PADDRESS_FILE AddressFile;  /* Associated address file object (NULL if none) */
 
     /* Requests */
-    LIST_ENTRY ConnectRequest; /* Queued connect rqueusts */
+    LIST_ENTRY ConnectRequest; /* Queued connect requests */
     LIST_ENTRY ListenRequest;  /* Queued listen requests */
     LIST_ENTRY ReceiveRequest; /* Queued receive requests */
     LIST_ENTRY SendRequest;    /* Queued send requests */
@@ -279,6 +282,7 @@ typedef struct _CONNECTION_ENDPOINT {
     BOOLEAN SendShutdown;
     BOOLEAN ReceiveShutdown;
     NTSTATUS ReceiveShutdownStatus;
+    BOOLEAN Closing;
 
     struct _CONNECTION_ENDPOINT *Next; /* Next connection in address file list */
 } CONNECTION_ENDPOINT, *PCONNECTION_ENDPOINT;