mirror of
https://github.com/php/php-src.git
synced 2025-08-15 13:38:49 +02:00

windows sockets. The winsock implementation will only work with sockets; our implementation works with sockets and file descriptors. By association, stream_select() will now operate correctly with files, pipes and sockets. This change required linking against the winsock2 library. In terms of compatibility, only older versions of windows 95 do not have winsock2 installed by default. It is available as a redistributable file, and is most likely installed by any OS patches (eg: Internet Explorer) applied by the user. Also, add a win32 compatible pipe test when opening a stream from a pipe. This test will only work on NT, win2k and XP platforms. Without this test, interleaved fread() and select() calls would cause the read buffer to be clobbered. I will be working on a fix for this issue for win9x.
44 lines
1.6 KiB
C
44 lines
1.6 KiB
C
/*****************************************************************************
|
|
* *
|
|
* sys/time.h *
|
|
* *
|
|
* Freely redistributable and modifiable. Use at your own risk. *
|
|
* *
|
|
* Copyright 1994 The Downhill Project *
|
|
*
|
|
* Modified by Shane Caraveo for PHP
|
|
*
|
|
*****************************************************************************/
|
|
#ifndef TIME_H
|
|
#define TIME_H
|
|
|
|
/* Include stuff ************************************************************ */
|
|
#include <winsock2.h>
|
|
#include <time.h>
|
|
#include <php.h>
|
|
|
|
/* Struct stuff ************************************************************* */
|
|
struct timezone {
|
|
int tz_minuteswest;
|
|
int tz_dsttime;
|
|
};
|
|
|
|
|
|
struct itimerval {
|
|
struct timeval it_interval; /* next value */
|
|
struct timeval it_value; /* current value */
|
|
};
|
|
|
|
#define ITIMER_REAL 0 /*generates sigalrm */
|
|
#define ITIMER_VIRTUAL 1 /*generates sigvtalrm */
|
|
#define ITIMER_VIRT 1 /*generates sigvtalrm */
|
|
#define ITIMER_PROF 2 /*generates sigprof */
|
|
|
|
/* Prototype stuff ********************************************************** */
|
|
PHPAPI extern int gettimeofday(struct timeval *time_Info, struct timezone *timezone_Info);
|
|
|
|
/* setitimer operates at 100 millisecond resolution */
|
|
PHPAPI extern int setitimer(int which, const struct itimerval *value,
|
|
struct itimerval *ovalue);
|
|
|
|
#endif
|