rx-race-condition-cleanup-by-adding-busy-status-20010605
[openafs.git] / src / rx / rx.h
index bca1c00..03be43d 100644 (file)
@@ -1,23 +1,11 @@
 /*
-****************************************************************************
-*        Copyright IBM Corporation 1988, 1989 - All Rights Reserved        *
-*                                                                          *
-* Permission to use, copy, modify, and distribute this software and its    *
-* documentation for any purpose and without fee is hereby granted,         *
-* provided that the above copyright notice appear in all copies and        *
-* that both that copyright notice and this permission notice appear in     *
-* supporting documentation, and that the name of IBM not be used in        *
-* advertising or publicity pertaining to distribution of the software      *
-* without specific, written prior permission.                              *
-*                                                                          *
-* IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL *
-* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL IBM *
-* BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY      *
-* DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER  *
-* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING   *
-* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.    *
-****************************************************************************
-*/
+ * Copyright 2000, International Business Machines Corporation and others.
+ * All Rights Reserved.
+ * 
+ * This software has been released under the terms of the IBM Public
+ * License.  For details, see the LICENSE file in the top-level source
+ * directory or online at http://www.openafs.org/dl/license10.html
+ */
 
 #ifdef KDUMP_RX_LOCK
 /* kdump for SGI needs MP and SP versions of rx_serverQueueEntry,
@@ -493,6 +481,7 @@ struct rx_connection {
 #define RX_CONN_USING_PACKET_CKSUM  4  /* non-zero header.spare field seen */
 #define RX_CONN_KNOW_WINDOW         8   /* window size negotiation works */
 #define RX_CONN_RESET             16   /* connection is reset, remove */
+#define RX_CONN_BUSY               32   /* connection is busy; don't delete */
 
 /* Type of connection, client or server */
 #define        RX_CLIENT_CONNECTION    0
@@ -702,6 +691,8 @@ struct rx_ackPacket {
 #define        RX_ACK_PING             6   /* This is a keep-alive ack */
 #define        RX_ACK_PING_RESPONSE    7   /* Ack'ing because we were pinged */
 #define        RX_ACK_DELAY            8   /* Ack generated since nothing has happened since receiving packet */
+#define RX_ACK_IDLE             9   /* Similar to RX_ACK_DELAY, but can 
+                                             be */
 
 /* Packet acknowledgement type */ 
 #define        RX_ACK_TYPE_NACK        0   /* I Don't have this packet */