Gnash
0.8.10
|
00001 // GnashSystemFDHeaders.h: Compatibility FD header for Gnash. 00002 // 00003 // Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 00004 // Free Software Foundation, Inc 00005 // 00006 // This program is free software; you can redistribute it and/or modify 00007 // it under the terms of the GNU General Public License as published by 00008 // the Free Software Foundation; either version 3 of the License, or 00009 // (at your option) any later version. 00010 // 00011 // This program is distributed in the hope that it will be useful, 00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 // GNU General Public License for more details. 00015 // 00016 // You should have received a copy of the GNU General Public License 00017 // along with this program; if not, write to the Free Software 00018 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00019 // 00020 // 00021 00022 // Include this file for file descriptor utilities: 00023 // 00024 // select() 00025 // ioctl() / ioctlsocket (use ioctlSocket()) 00026 00027 #ifndef GNASH_SYSTEM_FD_HEADERS 00028 #define GNASH_SYSTEM_FD_HEADERS 00029 00030 #include "gnashconfig.h" 00031 00032 #ifdef HAVE_WINSOCK2_H 00033 # include <winsock2.h> 00034 namespace { 00035 00036 inline int ioctlSocket(int fd, int request, int* arg) { 00037 unsigned long p = *arg; 00038 const int ret = ::ioctlsocket(fd, request, &p); 00039 *arg = p; 00040 return ret; 00041 } 00042 00043 } 00044 00045 #else 00046 00047 # include <sys/types.h> 00048 # include <sys/stat.h> 00049 # include <unistd.h> 00050 # include <sys/ioctl.h> 00051 00052 namespace { 00053 00054 inline int ioctlSocket(int fd, int request, int* arg) { 00055 return ::ioctl(fd, request, arg); 00056 } 00057 00058 } 00059 #endif 00060 00061 #endif