wrap and sort CLEANFILES
[alioth/cvs.git] / windows-NT / unistd.c
1 /*
2  * windows-NT/unitstd.c
3  * POSIX/UNIX functions not provided by Win32 platform
4  * and declared in <unistd.h> header file
5  */
6
7 #include "unistd.h"
8
9 #include <stdio.h>
10 #include <conio.h>
11
12 #include <sys/socket.h>  /* This does: #include <windows.h> */
13
14 /* Please order functions by name if possible */
15
16
17
18 char *
19 getpass (const char *prompt)
20 {
21     static char pwd_buf[128];
22     size_t i;
23
24     fputs (prompt, stderr);
25     fflush (stderr);
26     for (i = 0; i < sizeof (pwd_buf) - 1; ++i)
27     {
28         pwd_buf[i] = _getch ();
29         if (pwd_buf[i] == '\r')
30             break;
31     }
32     pwd_buf[i] = '\0';
33     fputs ("\n", stderr);
34     return pwd_buf;
35 }
36
37
38
39 /* This is just a call to GetCurrentProcessID */
40 pid_t
41 getpid (void)
42 {
43     return (pid_t) GetCurrentProcessId();
44 }
45
46
47
48 unsigned int sleep (unsigned seconds)
49 {
50     Sleep (1000*seconds);
51     return 0;
52 }
53
54
55
56 /*
57  * Sleep at least some number of microseconds
58  */
59 int usleep (useconds_t microseconds)
60 {
61     if ( microseconds )
62     {
63         const useconds_t one_second = 1000000;
64         struct timeval tv_delay;
65
66         tv_delay.tv_sec = microseconds / one_second;
67         tv_delay.tv_usec = microseconds % one_second;
68         return select (0, NULL, NULL, NULL, &tv_delay);
69     }
70     return 0;
71 }