1*d56f51eaSDavid van Moolenbroek /* $NetBSD: pcap-stdinc.h,v 1.2 2014/11/19 19:33:30 christos Exp $ */ 2*d56f51eaSDavid van Moolenbroek 3*d56f51eaSDavid van Moolenbroek /* 4*d56f51eaSDavid van Moolenbroek * Copyright (c) 2002 - 2005 NetGroup, Politecnico di Torino (Italy) 5*d56f51eaSDavid van Moolenbroek * Copyright (c) 2005 - 2009 CACE Technologies, Inc. Davis (California) 6*d56f51eaSDavid van Moolenbroek * All rights reserved. 7*d56f51eaSDavid van Moolenbroek * 8*d56f51eaSDavid van Moolenbroek * Redistribution and use in source and binary forms, with or without 9*d56f51eaSDavid van Moolenbroek * modification, are permitted provided that the following conditions 10*d56f51eaSDavid van Moolenbroek * are met: 11*d56f51eaSDavid van Moolenbroek * 12*d56f51eaSDavid van Moolenbroek * 1. Redistributions of source code must retain the above copyright 13*d56f51eaSDavid van Moolenbroek * notice, this list of conditions and the following disclaimer. 14*d56f51eaSDavid van Moolenbroek * 2. Redistributions in binary form must reproduce the above copyright 15*d56f51eaSDavid van Moolenbroek * notice, this list of conditions and the following disclaimer in the 16*d56f51eaSDavid van Moolenbroek * documentation and/or other materials provided with the distribution. 17*d56f51eaSDavid van Moolenbroek * 3. Neither the name of the Politecnico di Torino nor the names of its 18*d56f51eaSDavid van Moolenbroek * contributors may be used to endorse or promote products derived from 19*d56f51eaSDavid van Moolenbroek * this software without specific prior written permission. 20*d56f51eaSDavid van Moolenbroek * 21*d56f51eaSDavid van Moolenbroek * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22*d56f51eaSDavid van Moolenbroek * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23*d56f51eaSDavid van Moolenbroek * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24*d56f51eaSDavid van Moolenbroek * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25*d56f51eaSDavid van Moolenbroek * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26*d56f51eaSDavid van Moolenbroek * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27*d56f51eaSDavid van Moolenbroek * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28*d56f51eaSDavid van Moolenbroek * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29*d56f51eaSDavid van Moolenbroek * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30*d56f51eaSDavid van Moolenbroek * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31*d56f51eaSDavid van Moolenbroek * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32*d56f51eaSDavid van Moolenbroek */ 33*d56f51eaSDavid van Moolenbroek #ifndef pcap_stdinc_h 34*d56f51eaSDavid van Moolenbroek #define pcap_stdinc_h 35*d56f51eaSDavid van Moolenbroek 36*d56f51eaSDavid van Moolenbroek /* 37*d56f51eaSDavid van Moolenbroek * Avoids a compiler warning in case this was already defined 38*d56f51eaSDavid van Moolenbroek * (someone defined _WINSOCKAPI_ when including 'windows.h', in order 39*d56f51eaSDavid van Moolenbroek * to prevent it from including 'winsock.h') 40*d56f51eaSDavid van Moolenbroek */ 41*d56f51eaSDavid van Moolenbroek #ifdef _WINSOCKAPI_ 42*d56f51eaSDavid van Moolenbroek #undef _WINSOCKAPI_ 43*d56f51eaSDavid van Moolenbroek #endif 44*d56f51eaSDavid van Moolenbroek 45*d56f51eaSDavid van Moolenbroek #include <winsock2.h> 46*d56f51eaSDavid van Moolenbroek #include <fcntl.h> 47*d56f51eaSDavid van Moolenbroek #include <time.h> 48*d56f51eaSDavid van Moolenbroek #include <io.h> 49*d56f51eaSDavid van Moolenbroek 50*d56f51eaSDavid van Moolenbroek #include "bittypes.h" 51*d56f51eaSDavid van Moolenbroek #include "IP6_misc.h" 52*d56f51eaSDavid van Moolenbroek 53*d56f51eaSDavid van Moolenbroek #define caddr_t char* 54*d56f51eaSDavid van Moolenbroek 55*d56f51eaSDavid van Moolenbroek #if defined(_MSC_VER) 56*d56f51eaSDavid van Moolenbroek #define snprintf _snprintf 57*d56f51eaSDavid van Moolenbroek #define vsnprintf _vsnprintf 58*d56f51eaSDavid van Moolenbroek #define strdup _strdup 59*d56f51eaSDavid van Moolenbroek #endif 60*d56f51eaSDavid van Moolenbroek 61*d56f51eaSDavid van Moolenbroek #define inline __inline 62*d56f51eaSDavid van Moolenbroek 63*d56f51eaSDavid van Moolenbroek #ifdef __MINGW32__ 64*d56f51eaSDavid van Moolenbroek #include <stdint.h> 65*d56f51eaSDavid van Moolenbroek #else 66*d56f51eaSDavid van Moolenbroek #ifndef _UINTPTR_T_DEFINED 67*d56f51eaSDavid van Moolenbroek #ifdef _WIN64 68*d56f51eaSDavid van Moolenbroek typedef unsigned __int64 uintptr_t; 69*d56f51eaSDavid van Moolenbroek #else 70*d56f51eaSDavid van Moolenbroek typedef _W64 unsigned int uintptr_t; 71*d56f51eaSDavid van Moolenbroek #endif 72*d56f51eaSDavid van Moolenbroek #define _UINTPTR_T_DEFINED 73*d56f51eaSDavid van Moolenbroek #endif 74*d56f51eaSDavid van Moolenbroek 75*d56f51eaSDavid van Moolenbroek #ifndef _INTPTR_T_DEFINED 76*d56f51eaSDavid van Moolenbroek #ifdef _WIN64 77*d56f51eaSDavid van Moolenbroek typedef __int64 intptr_t; 78*d56f51eaSDavid van Moolenbroek #else 79*d56f51eaSDavid van Moolenbroek typedef _W64 int intptr_t; 80*d56f51eaSDavid van Moolenbroek #endif 81*d56f51eaSDavid van Moolenbroek #define _INTPTR_T_DEFINED 82*d56f51eaSDavid van Moolenbroek #endif 83*d56f51eaSDavid van Moolenbroek #endif /*__MINGW32__*/ 84*d56f51eaSDavid van Moolenbroek 85*d56f51eaSDavid van Moolenbroek #endif /* pcap_stdinc_h */ 86