rx: Remove RX_CALL_IDLE
[openafs.git] / src / WINNT / afsd / cm_utils.c
index 109c25d..ea19f7b 100644 (file)
@@ -216,9 +216,7 @@ long cm_MapRPCError(long error, cm_req_t *reqp)
         error == RX_CALL_BUSY ||
         error == RX_MSGSIZE ||
         error == VNOSERVICE)
-        error = CM_ERROR_RETRY;
-    else if (error == RX_CALL_IDLE)
-        error = EIO;
+       error = CM_ERROR_TIMEDOUT;
     else if (error == RX_INVALID_OPERATION)
         error = CM_ERROR_INVAL_NET_RESP;
     else if (error < 0)
@@ -284,10 +282,9 @@ long cm_MapRPCErrorRmdir(long error, cm_req_t *reqp)
     if (error == RX_CALL_DEAD ||
         error == RX_CALL_TIMEOUT ||
         error == RX_CALL_BUSY ||
-        error == RX_CALL_IDLE ||
         error == RX_MSGSIZE ||
         error == VNOSERVICE)
-        error = CM_ERROR_RETRY;
+       error = CM_ERROR_TIMEDOUT;
     else if (error == VNOVNODE)
         error = CM_ERROR_BADFD;
     else if (error == VSALVAGE || error == VOFFLINE)
@@ -309,6 +306,7 @@ long cm_MapRPCErrorRmdir(long error, cm_req_t *reqp)
     else if (error == EINVAL)
         error = CM_ERROR_INVAL;
     else if (error == ENOTEMPTY
+              || error == EEXIST
               || error == 17           /* AIX */
               || error == 66           /* SunOS 4, Digital UNIX */
               || error == 93           /* Solaris 2, IRIX */
@@ -337,10 +335,9 @@ long cm_MapVLRPCError(long error, cm_req_t *reqp)
     if (error == RX_CALL_DEAD ||
         error == RX_CALL_TIMEOUT ||
         error == RX_CALL_BUSY ||
-        error == RX_CALL_IDLE ||
         error == RX_MSGSIZE ||
         error == VNOSERVICE)
-        error = CM_ERROR_RETRY;
+       error = CM_ERROR_TIMEDOUT;
     else if (error == RX_INVALID_OPERATION)
         error = CM_ERROR_INVAL_NET_RESP;
     else if (error == RX_RESTARTING)
@@ -1052,26 +1049,29 @@ void cm_UpdateServerPriority()
 void cm_LargeSearchTimeFromUnixTime(FILETIME *largeTimep, time_t unixTime)
 {
     // Note that LONGLONG is a 64-bit value
-    LONGLONG ll;
-
-    ll = Int32x32To64(unixTime, 10000000) + 116444736000000000;
-    largeTimep->dwLowDateTime = (DWORD)(ll & 0xFFFFFFFF);
-    largeTimep->dwHighDateTime = (DWORD)(ll >> 32);
+    LARGE_INTEGER ll;
+
+#ifdef _USE_32BIT_TIME_T
+    ll.QuadPart = UInt32x32To64(unixTime, 10000000) + 116444736000000000;
+#else
+    ll.QuadPart = unixTime * 10000000 + 116444736000000000;
+#endif
+    largeTimep->dwLowDateTime = ll.LowPart;
+    largeTimep->dwHighDateTime = ll.HighPart;
 }
 
 void cm_UnixTimeFromLargeSearchTime(time_t *unixTimep, FILETIME *largeTimep)
 {
     // Note that LONGLONG is a 64-bit value
-    LONGLONG ll;
+    LARGE_INTEGER ll;
 
-    ll = largeTimep->dwHighDateTime;
-    ll <<= 32;
-    ll += largeTimep->dwLowDateTime;
+    ll.HighPart = largeTimep->dwHighDateTime;
+    ll.LowPart  = largeTimep->dwLowDateTime;
 
-    ll -= 116444736000000000;
-    ll /= 10000000;
+    ll.QuadPart -= 116444736000000000;
+    ll.QuadPart /= 10000000;
 
-    *unixTimep = (DWORD)ll;
+    *unixTimep = (time_t)ll.QuadPart;
 }
 
 void cm_SearchTimeFromUnixTime(afs_uint32 *searchTimep, time_t unixTime)