Portability fixes for LSB compatibility.
authorAlexandre Julliard <julliard@winehq.org>
Mon, 1 Mar 2004 21:32:02 +0000 (21:32 +0000)
committerAlexandre Julliard <julliard@winehq.org>
Mon, 1 Mar 2004 21:32:02 +0000 (21:32 +0000)
13 files changed:
configure
configure.ac
dlls/d3d8/shader.c
dlls/dinput/joystick_linux.c
dlls/iphlpapi/ipstats.c
dlls/netapi32/nbt.c
dlls/wined3d/vertexshader.c
dlls/winedos/ppdev.c
dlls/winmm/joystick/joystick.c
dlls/winsock/socket.c
files/dos_fs.c
include/config.h.in
server/change.c

index 9633cc4c0dceea867480faf2ed660f1c3ad42156..78937ab79c4f9042ad5fa1ea8fd8cc3e6a51a844 100755 (executable)
--- a/configure
+++ b/configure
@@ -15819,6 +15819,7 @@ done
 
 
 
+
 
 
 for ac_header in \
@@ -15839,6 +15840,7 @@ for ac_header in \
        linux/cdrom.h \
        linux/hdreg.h \
        linux/input.h \
+       linux/ioctl.h \
        linux/joystick.h \
        linux/major.h \
        linux/param.h \
index a605affe8933cb3a574641a609163df4096a260e..6f8aaed95c39ef0a00a600751325edf18ae5474e 100644 (file)
@@ -1078,6 +1078,7 @@ AC_CHECK_HEADERS(\
        linux/cdrom.h \
        linux/hdreg.h \
        linux/input.h \
+       linux/ioctl.h \
        linux/joystick.h \
        linux/major.h \
        linux/param.h \
index 426051dae7138f8e717d360158ab4fc29108e62d..867e66250e749fb7a79586330ec2edc1732ffe67 100644 (file)
@@ -146,7 +146,7 @@ void vshader_lit(D3DSHADERVECTOR* d, D3DSHADERVECTOR* s0) {
 
 void vshader_logp(D3DSHADERVECTOR* d, D3DSHADERVECTOR* s0) {
   float tmp_f = fabsf(s0->w); 
-  d->x = d->y = d->z = d->w = (0.0f != tmp_f) ? logf(tmp_f) / logf(2.0f) : -HUGE;
+  d->x = d->y = d->z = d->w = (0.0f != tmp_f) ? logf(tmp_f) / logf(2.0f) : -HUGE_VAL;
   VSTRACE(("executing logp: s0=(%f, %f, %f, %f) => d=(%f, %f, %f, %f)\n",
                 s0->x, s0->y, s0->z, s0->w, d->x, d->y, d->z, d->w));
 }
@@ -201,14 +201,14 @@ void vshader_nop(void) {
 }
 
 void vshader_rcp(D3DSHADERVECTOR* d, D3DSHADERVECTOR* s0) {
-  d->x = d->y = d->z = d->w = (0.0f == s0->w) ? HUGE : 1.0f / s0->w;
+  d->x = d->y = d->z = d->w = (0.0f == s0->w) ? HUGE_VAL : 1.0f / s0->w;
   VSTRACE(("executing rcp: s0=(%f, %f, %f, %f) => d=(%f, %f, %f, %f)\n",
          s0->x, s0->y, s0->z, s0->w, d->x, d->y, d->z, d->w));
 }
 
 void vshader_rsq(D3DSHADERVECTOR* d, D3DSHADERVECTOR* s0) {
   float tmp_f = fabsf(s0->w);
-  d->x = d->y = d->z = d->w = (0.0f == tmp_f) ? HUGE : ((1.0f != tmp_f) ? 1.0f / sqrtf(tmp_f) : 1.0f);
+  d->x = d->y = d->z = d->w = (0.0f == tmp_f) ? HUGE_VAL : ((1.0f != tmp_f) ? 1.0f / sqrtf(tmp_f) : 1.0f);
   VSTRACE(("executing rsq: s0=(%f, %f, %f, %f) => d=(%f, %f, %f, %f)\n",
          s0->x, s0->y, s0->z, s0->w, d->x, d->y, d->z, d->w));
 }
@@ -252,7 +252,7 @@ void vshader_exp(D3DSHADERVECTOR* d, D3DSHADERVECTOR* s0) {
 
 void vshader_log(D3DSHADERVECTOR* d, D3DSHADERVECTOR* s0) {
   float tmp_f = fabsf(s0->w); 
-  d->x = d->y = d->z = d->w = (0.0f != tmp_f) ? logf(tmp_f) / logf(2.0f) : -HUGE;
+  d->x = d->y = d->z = d->w = (0.0f != tmp_f) ? logf(tmp_f) / logf(2.0f) : -HUGE_VAL;
   VSTRACE(("executing log: s0=(%f, %f, %f, %f) => d=(%f, %f, %f, %f)\n",
          s0->x, s0->y, s0->z, s0->w, d->x, d->y, d->z, d->w));
 }
index 6a523c1d41d8d19635235c3fb00ec64caee45470..2a132e815fd63867949b9cad228ef9f56316ef1d 100644 (file)
@@ -42,6 +42,9 @@
 #ifdef HAVE_SYS_ERRNO_H
 # include <sys/errno.h>
 #endif
+#ifdef HAVE_LINUX_IOCTL_H
+# include <linux/ioctl.h>
+#endif
 #ifdef HAVE_LINUX_JOYSTICK_H
 # include <linux/joystick.h>
 #endif
index 4499dd3ce2ebeb978ac08a243efb5c47659253a2..fc49a0bcdb6df2ad0763ce08d0136a2925c34895 100644 (file)
 #include "ifenum.h"
 #include "ipstats.h"
 
-#ifndef TCPS_ESTABLISHED
-# define TCPS_ESTABLISHED TCP_ESTABLISHED
-#endif
-#ifndef TCPS_SYN_SENT
-# define TCPS_SYN_SENT TCP_SYN_SENT
-#endif
-#ifndef TCPS_SYN_RECEIVED
-# define TCPS_SYN_RECEIVED TCP_SYN_RECV
-#endif
-#ifndef TCPS_FIN_WAIT_1
-# define TCPS_FIN_WAIT_1 TCP_FIN_WAIT1
-#endif
-#ifndef TCPS_FIN_WAIT_2
-# define TCPS_FIN_WAIT_2 TCP_FIN_WAIT2
-#endif
-#ifndef TCPS_TIME_WAIT
-# define TCPS_TIME_WAIT TCP_TIME_WAIT
-#endif
-#ifndef TCPS_CLOSED
-# define TCPS_CLOSED TCP_CLOSE
-#endif
-#ifndef TCPS_CLOSE_WAIT
-# define TCPS_CLOSE_WAIT TCP_CLOSE_WAIT
-#endif
-#ifndef TCPS_LAST_ACK
-# define TCPS_LAST_ACK TCP_LAST_ACK
-#endif
-#ifndef TCPS_LISTEN
-# define TCPS_LISTEN TCP_LISTEN
-#endif
-#ifndef TCPS_CLOSING
-# define TCPS_CLOSING TCP_CLOSING
+#ifdef linux
+#define TCPS_ESTABLISHED  1
+#define TCPS_SYN_SENT     2
+#define TCPS_SYN_RECEIVED 3
+#define TCPS_FIN_WAIT_1   4
+#define TCPS_FIN_WAIT_2   5
+#define TCPS_TIME_WAIT    6
+#define TCPS_CLOSED       7
+#define TCPS_CLOSE_WAIT   8
+#define TCPS_LAST_ACK     9
+#define TCPS_LISTEN      10
+#define TCPS_CLOSING     11
 #endif
 
 DWORD getInterfaceStatsByName(const char *name, PMIB_IFROW entry)
index 3cb6d63ce8077ec983e771be728fe61116e9bd34..e953ab0ace277a30a6b7e46f485ea5783a5b98e1 100644 (file)
@@ -68,9 +68,9 @@
 #include "config.h"
 #include <stdarg.h>
 
+#include "winsock2.h"
 #include "windef.h"
 #include "winbase.h"
-#include "winsock2.h"
 #include "wine/debug.h"
 #include "winreg.h"
 #include "iphlpapi.h"
index a6a2a7bedd5868be21c10d8bdcab2e2a178fae9b..014f6d3e1437c9042e29313a9197d763e5aaddf1 100644 (file)
@@ -140,7 +140,7 @@ void vshader_lit(D3DSHADERVECTOR* d, D3DSHADERVECTOR* s0) {
 
 void vshader_logp(D3DSHADERVECTOR* d, D3DSHADERVECTOR* s0) {
   float tmp_f = fabsf(s0->w); 
-  d->x = d->y = d->z = d->w = (0.0f != tmp_f) ? logf(tmp_f) / logf(2.0f) : -HUGE;
+  d->x = d->y = d->z = d->w = (0.0f != tmp_f) ? logf(tmp_f) / logf(2.0f) : -HUGE_VAL;
   VSTRACE(("executing logp: s0=(%f, %f, %f, %f) => d=(%f, %f, %f, %f)\n",
                 s0->x, s0->y, s0->z, s0->w, d->x, d->y, d->z, d->w));
 }
@@ -195,14 +195,14 @@ void vshader_nop(void) {
 }
 
 void vshader_rcp(D3DSHADERVECTOR* d, D3DSHADERVECTOR* s0) {
-  d->x = d->y = d->z = d->w = (0.0f == s0->w) ? HUGE : 1.0f / s0->w;
+  d->x = d->y = d->z = d->w = (0.0f == s0->w) ? HUGE_VAL : 1.0f / s0->w;
   VSTRACE(("executing rcp: s0=(%f, %f, %f, %f) => d=(%f, %f, %f, %f)\n",
          s0->x, s0->y, s0->z, s0->w, d->x, d->y, d->z, d->w));
 }
 
 void vshader_rsq(D3DSHADERVECTOR* d, D3DSHADERVECTOR* s0) {
   float tmp_f = fabsf(s0->w);
-  d->x = d->y = d->z = d->w = (0.0f == tmp_f) ? HUGE : ((1.0f != tmp_f) ? 1.0f / sqrtf(tmp_f) : 1.0f);
+  d->x = d->y = d->z = d->w = (0.0f == tmp_f) ? HUGE_VAL : ((1.0f != tmp_f) ? 1.0f / sqrtf(tmp_f) : 1.0f);
   VSTRACE(("executing rsq: s0=(%f, %f, %f, %f) => d=(%f, %f, %f, %f)\n",
          s0->x, s0->y, s0->z, s0->w, d->x, d->y, d->z, d->w));
 }
@@ -246,7 +246,7 @@ void vshader_exp(D3DSHADERVECTOR* d, D3DSHADERVECTOR* s0) {
 
 void vshader_log(D3DSHADERVECTOR* d, D3DSHADERVECTOR* s0) {
   float tmp_f = fabsf(s0->w); 
-  d->x = d->y = d->z = d->w = (0.0f != tmp_f) ? logf(tmp_f) / logf(2.0f) : -HUGE;
+  d->x = d->y = d->z = d->w = (0.0f != tmp_f) ? logf(tmp_f) / logf(2.0f) : -HUGE_VAL;
   VSTRACE(("executing log: s0=(%f, %f, %f, %f) => d=(%f, %f, %f, %f)\n",
          s0->x, s0->y, s0->z, s0->w, d->x, d->y, d->z, d->w));
 }
index 2bca1e5cfcdcf90ba1f4818ca865387c524123d2..4ef847fde2d34ff83c0ba70b131bd55dc5cb5e86 100644 (file)
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
+#include <errno.h>
 #ifdef HAVE_SYS_IOCTL_H
 # include <sys/ioctl.h>
 #endif
-#include <errno.h>
+#ifdef HAVE_LINUX_IOCTL_H
+# include <linux/ioctl.h>
+#endif
 #include <linux/ppdev.h>
 
 #include "winerror.h"
index df45b3998724c4125fcfe1682c3c62ae9e467a3a..251546582c7b175c412ea507e17edd5eadae973a 100644 (file)
@@ -45,6 +45,9 @@
 #ifdef HAVE_SYS_IOCTL_H
 #include <sys/ioctl.h>
 #endif
+#ifdef HAVE_LINUX_IOCTL_H
+#include <linux/ioctl.h>
+#endif
 #ifdef HAVE_LINUX_JOYSTICK_H
 #include <linux/joystick.h>
 #define JOYDEV "/dev/js%d"
index c70cd184e96259d94f0a9265fbd0bb61c2ae921b..757dc54c7d80e97dad8f4cd15dfa7c938b6d363e 100644 (file)
@@ -1823,7 +1823,6 @@ int WINAPI WS_ioctlsocket(SOCKET s, long cmd, u_long *argp)
         break;
 
     case WS_FIONBIO:
-        newcmd=FIONBIO;
         if( _get_sock_mask(s) )
         {
             /* AsyncSelect()'ed sockets are always nonblocking */
@@ -1831,11 +1830,25 @@ int WINAPI WS_ioctlsocket(SOCKET s, long cmd, u_long *argp)
             SetLastError(WSAEINVAL);
             return SOCKET_ERROR;
         }
-        if (*argp)
-            _enable_event(SOCKET2HANDLE(s), 0, FD_WINE_NONBLOCKING, 0);
-        else
-            _enable_event(SOCKET2HANDLE(s), 0, 0, FD_WINE_NONBLOCKING);
-        return 0;
+        fd = get_sock_fd( s, 0, NULL );
+        if (fd != -1)
+        {
+            int ret;
+            if (*argp)
+            {
+                _enable_event(SOCKET2HANDLE(s), 0, FD_WINE_NONBLOCKING, 0);
+                ret = fcntl( fd, F_SETFL, O_NONBLOCK );
+            }
+            else
+            {
+                _enable_event(SOCKET2HANDLE(s), 0, 0, FD_WINE_NONBLOCKING);
+                ret = fcntl( fd, F_SETFL, 0 );
+            }
+            release_sock_fd( s, fd );
+            if (!ret) return 0;
+            SetLastError((errno == EBADF) ? WSAENOTSOCK : wsaErrno());
+        }
+        return SOCKET_ERROR;
 
     case WS_SIOCATMARK:
         newcmd=SIOCATMARK;
index c05113b1c99905646b384c001661c12893232bd1..2492adcdbfc2cf591ebaeb029e869d40392f3595 100644 (file)
@@ -37,6 +37,9 @@
 #ifdef HAVE_SYS_IOCTL_H
 #include <sys/ioctl.h>
 #endif
+#ifdef HAVE_LINUX_IOCTL_H
+#include <linux/ioctl.h>
+#endif
 #include <time.h>
 #ifdef HAVE_UNISTD_H
 # include <unistd.h>
index 2877a15ee2f59647b2350af636911e8cf2eb3ea3..6c0b598fbd4779f61191a14884080c6ebd781c8a 100644 (file)
 /* Define to 1 if you have the <linux/input.h> header file. */
 #undef HAVE_LINUX_INPUT_H
 
+/* Define to 1 if you have the <linux/ioctl.h> header file. */
+#undef HAVE_LINUX_IOCTL_H
+
 /* Define to 1 if you have the <linux/joystick.h> header file. */
 #undef HAVE_LINUX_JOYSTICK_H
 
index e520677fda8454cf493edc0bd9c66b627c809cf8..2d426443794758104f20f4984197584e730d2c40 100644 (file)
@@ -79,7 +79,7 @@ static struct list change_list = LIST_INIT(change_list);
 
 static void adjust_changes( int fd, unsigned int filter )
 {
-#ifdef F_NOTIFY
+#if defined(F_SETSIG) && defined(F_NOTIFY)
     unsigned int val;
     if ( 0 > fcntl( fd, F_SETSIG, SIGIO) )
         return;