Index: trunk/src/libs/xpcom18a4/nsprpub/pr/include/nspr.h
===================================================================
--- trunk/src/libs/xpcom18a4/nsprpub/pr/include/nspr.h	(revision 102459)
+++ trunk/src/libs/xpcom18a4/nsprpub/pr/include/nspr.h	(revision 102470)
@@ -44,5 +44,4 @@
 
 #include "prbit.h"
-#include "prinrval.h"
 #include "prlong.h"
 #include "prmem.h"
Index: trunk/src/libs/xpcom18a4/nsprpub/pr/include/prbit.h
===================================================================
--- trunk/src/libs/xpcom18a4/nsprpub/pr/include/prbit.h	(revision 102459)
+++ trunk/src/libs/xpcom18a4/nsprpub/pr/include/prbit.h	(revision 102470)
@@ -46,16 +46,4 @@
 
 /*
-** A prbitmap_t is a long integer that can be used for bitmaps
-*/
-typedef unsigned long prbitmap_t;
-
-#define PR_TEST_BIT(_map,_bit) \
-    ((_map)[(_bit)>>PR_BITS_PER_LONG_LOG2] & (1L << ((_bit) & (PR_BITS_PER_LONG-1))))
-#define PR_SET_BIT(_map,_bit) \
-    ((_map)[(_bit)>>PR_BITS_PER_LONG_LOG2] |= (1L << ((_bit) & (PR_BITS_PER_LONG-1))))
-#define PR_CLEAR_BIT(_map,_bit) \
-    ((_map)[(_bit)>>PR_BITS_PER_LONG_LOG2] &= ~(1L << ((_bit) & (PR_BITS_PER_LONG-1))))
-
-/*
 ** Compute the log of the least power of 2 greater than or equal to n
 */
@@ -100,48 +88,5 @@
 }
 
-/*
-** Macro version of PR_CeilingLog2: Compute the log of the least power of
-** 2 greater than or equal to _n. The result is returned in _log2.
-*/
-#define PR_CEILING_LOG2(_log2,_n)   \
-  PR_BEGIN_MACRO                    \
-    PRUint32 j_ = (PRUint32)(_n); 	\
-    (_log2) = 0;                    \
-    if ((j_) & ((j_)-1))            \
-	(_log2) += 1;               \
-    if ((j_) >> 16)                 \
-	(_log2) += 16, (j_) >>= 16; \
-    if ((j_) >> 8)                  \
-	(_log2) += 8, (j_) >>= 8;   \
-    if ((j_) >> 4)                  \
-	(_log2) += 4, (j_) >>= 4;   \
-    if ((j_) >> 2)                  \
-	(_log2) += 2, (j_) >>= 2;   \
-    if ((j_) >> 1)                  \
-	(_log2) += 1;               \
-  PR_END_MACRO
+PR_END_EXTERN_C
 
-/*
-** Macro version of PR_FloorLog2: Compute the log of the greatest power of
-** 2 less than or equal to _n. The result is returned in _log2.
-**
-** This is equivalent to finding the highest set bit in the word.
-*/
-#define PR_FLOOR_LOG2(_log2,_n)   \
-  PR_BEGIN_MACRO                    \
-    PRUint32 j_ = (PRUint32)(_n); 	\
-    (_log2) = 0;                    \
-    if ((j_) >> 16)                 \
-	(_log2) += 16, (j_) >>= 16; \
-    if ((j_) >> 8)                  \
-	(_log2) += 8, (j_) >>= 8;   \
-    if ((j_) >> 4)                  \
-	(_log2) += 4, (j_) >>= 4;   \
-    if ((j_) >> 2)                  \
-	(_log2) += 2, (j_) >>= 2;   \
-    if ((j_) >> 1)                  \
-	(_log2) += 1;               \
-  PR_END_MACRO
-
-PR_END_EXTERN_C
 #endif /* prbit_h___ */
Index: trunk/src/libs/xpcom18a4/nsprpub/pr/include/prinrval.h
===================================================================
--- trunk/src/libs/xpcom18a4/nsprpub/pr/include/prinrval.h	(revision 102459)
+++ 	(revision )
@@ -1,186 +1,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/*
-** File:		prinrval.h
-** Description:	API to interval timing functions of NSPR.
-**
-**
-** NSPR provides interval times that are independent of network time
-** of day values. Interval times are (in theory) accurate regardless
-** of host processing requirements and also very cheap to acquire. It
-** is expected that getting an interval time while in a synchronized
-** function (holding one's lock).
-**/
-
-#if !defined(prinrval_h)
-#define prinrval_h
-
-#include "prtypes.h"
-
-#ifdef VBOX_WITH_XPCOM_NAMESPACE_CLEANUP
-#define PR_IntervalNow VBoxNsprPR_IntervalNow
-#define PR_TicksPerSecond VBoxNsprPR_TicksPerSecond
-#define PR_SecondsToInterval VBoxNsprPR_SecondsToInterval
-#define PR_MillisecondsToInterval VBoxNsprPR_MillisecondsToInterval
-#define PR_MicrosecondsToInterval VBoxNsprPR_MicrosecondsToInterval
-#define PR_IntervalToSeconds VBoxNsprPR_IntervalToSeconds
-#define PR_IntervalToMilliseconds VBoxNsprPR_IntervalToMilliseconds
-#define PR_IntervalToMicroseconds VBoxNsprPR_IntervalToMicroseconds
-#endif /* VBOX_WITH_XPCOM_NAMESPACE_CLEANUP */
-
-PR_BEGIN_EXTERN_C
-
-/**********************************************************************/
-/************************* TYPES AND CONSTANTS ************************/
-/**********************************************************************/
-
-typedef PRUint32 PRIntervalTime;
-
-/***********************************************************************
-** DEFINES:     PR_INTERVAL_MIN
-**              PR_INTERVAL_MAX
-** DESCRIPTION:
-**  These two constants define the range (in ticks / second) of the
-**  platform dependent type, PRIntervalTime. These constants bound both
-**  the period and the resolution of a PRIntervalTime. 
-***********************************************************************/
-#define PR_INTERVAL_MIN 1000UL
-#define PR_INTERVAL_MAX 100000UL
-
-/***********************************************************************
-** DEFINES:     PR_INTERVAL_NO_WAIT
-**              PR_INTERVAL_NO_TIMEOUT
-** DESCRIPTION:
-**  Two reserved constants are defined in the PRIntervalTime namespace.
-**  They are used to indicate that the process should wait no time (return
-**  immediately) or wait forever (never time out), respectively.
-***********************************************************************/
-#define PR_INTERVAL_NO_WAIT 0UL
-#define PR_INTERVAL_NO_TIMEOUT 0xffffffffUL
-
-/**********************************************************************/
-/****************************** FUNCTIONS *****************************/
-/**********************************************************************/
-
-/***********************************************************************
-** FUNCTION:    PR_IntervalNow
-** DESCRIPTION:
-**  Return the value of NSPR's free running interval timer. That timer
-**  can be used to establish epochs and determine intervals (be computing
-**  the difference between two times).
-** INPUTS:      void
-** OUTPUTS:     void
-** RETURN:      PRIntervalTime
-**  
-** SIDE EFFECTS:
-**  None
-** RESTRICTIONS:
-**  The units of PRIntervalTime are platform dependent. They are chosen
-**  such that they are appropriate for the host OS, yet provide sufficient
-**  resolution and period to be useful to clients. 
-** MEMORY:      N/A
-** ALGORITHM:   Platform dependent
-***********************************************************************/
-NSPR_API(PRIntervalTime) PR_IntervalNow(void);
-
-/***********************************************************************
-** FUNCTION:    PR_TicksPerSecond
-** DESCRIPTION:
-**  Return the number of ticks per second for PR_IntervalNow's clock.
-**  The value will be in the range [PR_INTERVAL_MIN..PR_INTERVAL_MAX].
-** INPUTS:      void
-** OUTPUTS:     void
-** RETURN:      PRUint32
-**  
-** SIDE EFFECTS:
-**  None
-** RESTRICTIONS:
-**  None
-** MEMORY:      N/A
-** ALGORITHM:   N/A
-***********************************************************************/
-NSPR_API(PRUint32) PR_TicksPerSecond(void);
-
-/***********************************************************************
-** FUNCTION:    PR_SecondsToInterval
-**              PR_MillisecondsToInterval
-**              PR_MicrosecondsToInterval
-** DESCRIPTION:
-**  Convert standard clock units to platform dependent intervals.
-** INPUTS:      PRUint32
-** OUTPUTS:     void
-** RETURN:      PRIntervalTime
-**  
-** SIDE EFFECTS:
-**  None
-** RESTRICTIONS:
-**  Conversion may cause overflow, which is not reported.
-** MEMORY:      N/A
-** ALGORITHM:   N/A
-***********************************************************************/
-NSPR_API(PRIntervalTime) PR_SecondsToInterval(PRUint32 seconds);
-NSPR_API(PRIntervalTime) PR_MillisecondsToInterval(PRUint32 milli);
-NSPR_API(PRIntervalTime) PR_MicrosecondsToInterval(PRUint32 micro);
-
-/***********************************************************************
-** FUNCTION:    PR_IntervalToSeconds
-**              PR_IntervalToMilliseconds
-**              PR_IntervalToMicroseconds
-** DESCRIPTION:
-**  Convert platform dependent intervals to standard clock units.
-** INPUTS:      PRIntervalTime
-** OUTPUTS:     void
-** RETURN:      PRUint32
-**  
-** SIDE EFFECTS:
-**  None
-** RESTRICTIONS:
-**  Conversion may cause overflow, which is not reported.
-** MEMORY:      N/A
-** ALGORITHM:   N/A
-***********************************************************************/
-NSPR_API(PRUint32) PR_IntervalToSeconds(PRIntervalTime ticks);
-NSPR_API(PRUint32) PR_IntervalToMilliseconds(PRIntervalTime ticks);
-NSPR_API(PRUint32) PR_IntervalToMicroseconds(PRIntervalTime ticks);
-
-PR_END_EXTERN_C
-
-
-#endif /* !defined(prinrval_h) */
-
-/* prinrval.h */
Index: trunk/src/libs/xpcom18a4/nsprpub/pr/include/prmon.h
===================================================================
--- trunk/src/libs/xpcom18a4/nsprpub/pr/include/prmon.h	(revision 102459)
+++ trunk/src/libs/xpcom18a4/nsprpub/pr/include/prmon.h	(revision 102470)
@@ -40,5 +40,6 @@
 
 #include "prtypes.h"
-#include "prinrval.h"
+
+#include <iprt/types.h>
 
 #ifdef VBOX_WITH_XPCOM_NAMESPACE_CLEANUP
@@ -105,5 +106,5 @@
 ** Returns PR_FAILURE if the caller has not entered the monitor.
 */
-NSPR_API(PRStatus) PR_Wait(PRMonitor *mon, PRIntervalTime ticks);
+NSPR_API(PRStatus) PR_Wait(PRMonitor *mon, RTMSINTERVAL msWait);
 
 /*
Index: trunk/src/libs/xpcom18a4/nsprpub/pr/src/pthreads/ptsynch.c
===================================================================
--- trunk/src/libs/xpcom18a4/nsprpub/pr/src/pthreads/ptsynch.c	(revision 102459)
+++ trunk/src/libs/xpcom18a4/nsprpub/pr/src/pthreads/ptsynch.c	(revision 102470)
@@ -285,14 +285,12 @@
 
 static PRIntn pt_TimedWait(
-    pthread_cond_t *cv, pthread_mutex_t *ml, PRIntervalTime timeout)
+    pthread_cond_t *cv, pthread_mutex_t *ml, RTMSINTERVAL msTimeout)
 {
     int rv;
     struct timeval now;
     struct timespec tmo;
-    PRUint32 ticks = PR_TicksPerSecond();
-
-    tmo.tv_sec = (PRInt32)(timeout / ticks);
-    tmo.tv_nsec = (PRInt32)(timeout - (tmo.tv_sec * ticks));
-    tmo.tv_nsec = (PRInt32)PR_IntervalToMicroseconds(PT_NANOPERMICRO * tmo.tv_nsec);
+
+    tmo.tv_sec = (PRInt32)(msTimeout / RT_MS_1SEC);
+    tmo.tv_nsec = (PRInt32)((msTimeout - (tmo.tv_sec * RT_MS_1SEC)) * RT_NS_1MS);
 
     /* pthreads wants this in absolute time, off we go ... */
@@ -367,5 +365,5 @@
 }  /* PR_DestroyCondVar */
 
-PR_IMPLEMENT(PRStatus) PR_WaitCondVar(PRCondVar *cvar, PRIntervalTime timeout)
+PR_IMPLEMENT(PRStatus) PR_WaitCondVar(PRCondVar *cvar, RTMSINTERVAL msTimeout)
 {
     PRIntn rv;
@@ -394,8 +392,8 @@
     cvar->lock->locked = PR_FALSE;
 
-    if (timeout == PR_INTERVAL_NO_TIMEOUT)
+    if (msTimeout == RT_INDEFINITE_WAIT)
         rv = pthread_cond_wait(&cvar->cv, &cvar->lock->mutex);
     else
-        rv = pt_TimedWait(&cvar->cv, &cvar->lock->mutex, timeout);
+        rv = pt_TimedWait(&cvar->cv, &cvar->lock->mutex, msTimeout);
 
     /* We just got the lock back - this better be empty */
@@ -545,5 +543,5 @@
 }  /* PR_ExitMonitor */
 
-PR_IMPLEMENT(PRStatus) PR_Wait(PRMonitor *mon, PRIntervalTime timeout)
+PR_IMPLEMENT(PRStatus) PR_Wait(PRMonitor *mon, RTMSINTERVAL msTimeout)
 {
     PRStatus rv;
@@ -565,5 +563,5 @@
     _PT_PTHREAD_INVALIDATE_THR_HANDLE(mon->owner);
     
-    rv = PR_WaitCondVar(mon->cvar, timeout);
+    rv = PR_WaitCondVar(mon->cvar, msTimeout);
 
     /* reinstate the intresting information */
