7 int checkRecv(SOCKET s
);
9 int checkRecv(SOCKET s
)
13 struct timeval timeout
;
20 testVal
= select(0, &sSet
, NULL
, NULL
, &timeout
);
22 if (testVal
== SOCKET_ERROR
)
23 fprintf(stderr
, "Socket Error");
28 void blkfree(char **av0
)
30 register char **av
= av0
;
36 char **glob(const char *v
)
46 int herror(char *string
)
52 int gettimeofday(struct timeval
*timenow
,
53 struct timezone
*zone
)
60 timenow
->tv_sec
= t
/ CLK_TCK
;
65 int fgetcSocket(int s
)
72 c
= recv(s
, buffer
, 1, 0);
75 printf("%c", buffer
[0]);
78 if (c
== INVALID_SOCKET
)
89 int fgetcSocket(int s
)
93 static char buffer
[4096];
98 total
= recv(s
, buffer
, sizeof(buffer
), 0);
100 if (total
== SOCKET_ERROR
)
109 return buffer
[index
++];
114 const char *fprintfSocket(int s
, const char *format
, ...)
119 va_start(argptr
, format
);
120 vsprintf(buffer
, format
, argptr
);
123 send(s
, buffer
, strlen(buffer
), 0);
128 const char *fputsSocket(const char *format
, int s
)
130 send(s
, format
, strlen(format
), 0);
135 int fputcSocket(int s
, char putChar
)
142 if(SOCKET_ERROR
==send(s
, buffer
, 1, 0)) {
143 int iret
=WSAGetLastError ();
144 fprintf(stdout
,"fputcSocket: %d\n",iret
);
151 int fputSocket(int s
, char *buffer
, int len
)
155 if(SOCKET_ERROR
==(iret
=send(s
, buffer
, len
, 0)))
157 iret
=WSAGetLastError ();
158 fprintf(stdout
,"fputcSocket: %d\n",iret
);
168 char *fgetsSocket(int s
, char *string
)
170 char buffer
[2] = {0};
173 for (i
= 0, count
= 1; count
!= 0 && buffer
[0] != '\n'; i
++)
177 count
= recv(s
, buffer
, 1, 0);
179 if (count
== SOCKET_ERROR
)
181 printf("Error in fgetssocket");
187 string
[i
] = buffer
[0];
189 if (i
== MAX_ASCII
- 3)
203 string
[i
+ 1] = '\0'; // This is risky
213 printf("%s", string
);
220 char *getpass(const char *prompt
)
222 static char string
[64];
224 printf("%s", prompt
);
231 char *getpass (const char * prompt
)
233 static char input
[256];
238 in
= GetStdHandle (STD_INPUT_HANDLE
);
239 err
= GetStdHandle (STD_ERROR_HANDLE
);
241 if (in
== INVALID_HANDLE_VALUE
|| err
== INVALID_HANDLE_VALUE
)
244 if (WriteFile (err
, prompt
, strlen (prompt
), &count
, NULL
))
246 int istty
= (GetFileType (in
) == FILE_TYPE_CHAR
);
252 if (GetConsoleMode (in
, &old_flags
))
253 SetConsoleMode (in
, ENABLE_LINE_INPUT
| ENABLE_PROCESSED_INPUT
);
257 /* Need to read line one byte at time to avoid blocking, if not a
258 tty, so always do it this way. */
265 rc
= ReadFile (in
, &one_char
, 1, &dummy
, NULL
);
268 if (one_char
== '\r')
270 /* CR is always followed by LF if reading from tty. */
276 if (one_char
== '\n')
278 /* Silently truncate password string if overly long. */
279 if (count
< sizeof (input
) - 1)
280 input
[count
++] = one_char
;
284 WriteFile (err
, "\r\n", 2, &count
, NULL
);
286 SetConsoleMode (in
, old_flags
);
295 // Stubbed out here. Should be changed in Source code...
296 int access(const char *filename
, int accessmethod
)
303 #define EPOCHFILETIME (116444736000000000i64)
305 #define EPOCHFILETIME (116444736000000000LL)
308 int gettimeofday(struct timeval
*tv
, struct timezone
*tz
)
317 GetSystemTimeAsFileTime(&ft
);
318 li
.LowPart
= ft
.dwLowDateTime
;
319 li
.HighPart
= ft
.dwHighDateTime
;
320 t
= li
.QuadPart
; /* In 100-nanosecond intervals */
321 t
-= EPOCHFILETIME
; /* Offset to the Epoch time */
322 t
/= 10; /* In microseconds */
323 tv
->tv_sec
= (long)(t
/ 1000000);
324 tv
->tv_usec
= (long)(t
% 1000000);
334 tz
->tz_minuteswest
= _timezone
/ 60;
335 tz
->tz_dsttime
= _daylight
;