diff --git a/ChangeLog b/ChangeLog
index ede8cabe..f43a10ab 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-11-20  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
+
+	* avrdude.h: Change the prototype for usleep() to be more Cygwin-
+	friendly.
+	* ppiwin.c: (Ditto.)
+
 2008-11-06  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
 
 	Submitted by limor <limor@ladyada.net>
diff --git a/avrdude.h b/avrdude.h
index 189103fd..2db9c9bd 100644
--- a/avrdude.h
+++ b/avrdude.h
@@ -46,7 +46,7 @@ extern "C" {
  #define ANTIWARP 3
  #define usleep(us) Sleep(us/1000*ANTIWARP)
 */
-void usleep(unsigned long us);
+int usleep(unsigned int us);
 
 #if !defined(HAVE_GETTIMEOFDAY)
 struct timezone;
diff --git a/ppiwin.c b/ppiwin.c
index f32940ef..49c83e3f 100644
--- a/ppiwin.c
+++ b/ppiwin.c
@@ -374,7 +374,7 @@ int gettimeofday(struct timeval *tv, struct timezone *unused){
 
 #endif
 
-void usleep(unsigned long us)
+int usleep(unsigned int us)
 {
 	int has_highperf;
 	LARGE_INTEGER freq,start,stop,loopend;
@@ -407,6 +407,8 @@ void usleep(unsigned long us)
 	}
 	
     DEBUG_DisplayTimingInfo(start, stop, freq, us, has_highperf);
+
+    return 0;
 }
 
 #endif