Annotation of embedaddon/libnet/win32/libnet.h, revision 1.1
1.1 ! misho 1: /*
! 2: * $Id: libnet.h,v 1.7 2004/01/03 20:31:00 mike Exp $
! 3: *
! 4: * libnet.h - Network routine library header file for Win32 VC++
! 5: *
! 6: * Copyright (c) 1998 - 2004 Mike D. Schiffman <mike@infonexus.com>
! 7: * All rights reserved.
! 8: *
! 9: * Redistribution and use in source and binary forms, with or without
! 10: * modification, are permitted provided that the following conditions
! 11: * are met:
! 12: * 1. Redistributions of source code must retain the above copyright
! 13: * notice, this list of conditions and the following disclaimer.
! 14: * 2. Redistributions in binary form must reproduce the above copyright
! 15: * notice, this list of conditions and the following disclaimer in the
! 16: * documentation and/or other materials provided with the distribution.
! 17: *
! 18: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
! 19: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
! 20: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
! 21: * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
! 22: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
! 23: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
! 24: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
! 25: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
! 26: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
! 27: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
! 28: * SUCH DAMAGE.
! 29: *
! 30: */
! 31:
! 32: #ifdef _WIN32
! 33:
! 34: #ifndef __LIBNET_H
! 35: #define __LIBNET_H
! 36:
! 37: #include <winsock2.h>
! 38: #include <windows.h>
! 39: #include <time.h>
! 40: #include "pcap.h"
! 41:
! 42:
! 43: #ifdef __cplusplus
! 44: extern "C" {
! 45: #endif
! 46:
! 47: /* __WIN32__ is NOT a predefined MACRO, use _WIN32
! 48: * __CYGWIN__ is defined within the cygwin environment.
! 49: */
! 50: #ifndef __WIN32__
! 51: #define __WIN32__ _WIN32
! 52: #endif
! 53:
! 54: #define LIBNET_LIL_ENDIAN 1
! 55: #define HAVE_CONFIG_H 1
! 56:
! 57: /* TODO Definitions and includes below should be in a private header, libnet src needs them, libnet
! 58: library users don't (and they have negative side effects).
! 59: */
! 60: /* Some UNIX to Win32 conversions */
! 61: #define snprintf _snprintf
! 62: #define strdup _strdup
! 63: #define write _write
! 64: #define open _open
! 65: #define random rand
! 66: #define close closesocket
! 67: #define __func__ __FUNCTION__
! 68: #ifndef _CRT_SECURE_NO_WARNINGS
! 69: #define _CRT_SECURE_NO_WARNINGS
! 70: #endif
! 71:
! 72: /* __FUNCTION__ available in VC ++ 7.0 (.NET) and greater */
! 73: #if _MSC_VER < 1300
! 74: #define __FUNCTION__ __FILE__
! 75: #endif
! 76:
! 77: /* the following is only supported by MSVC and not by MinGW/MSys environments */
! 78: #ifdef _MSC_VER
! 79: #pragma comment (lib,"ws2_32") /* Winsock 2 */
! 80: #pragma comment (lib,"iphlpapi") /* IP Helper */
! 81: #pragma comment (lib,"wpcap") /* Winpcap */
! 82: #pragma comment (lib,"packet")
! 83: #endif
! 84:
! 85: /* FIXME this needs manual update during release packaging. */
! 86: #define LIBNET_VERSION "1.1.6"
! 87:
! 88: /* To use Win32 native versions */
! 89: #define WPCAP 1
! 90: #ifndef _GNU_SOURCE
! 91: #define _GNU_SOURCE
! 92: #endif
! 93: #include <stdio.h>
! 94: #include <string.h>
! 95: #include <fcntl.h>
! 96: #include <signal.h>
! 97: #include <stdlib.h>
! 98: #include <sys/stat.h>
! 99: #include <sys/types.h>
! 100: #include <ctype.h>
! 101: #include <errno.h>
! 102: #include <stdarg.h>
! 103:
! 104: #define LIBNET_API __declspec(dllexport)
! 105:
! 106: #include "libnet/stdint.h"
! 107: #include "libnet/libnet-macros.h"
! 108: #include "libnet/libnet-headers.h"
! 109: #include "libnet/libnet-structures.h"
! 110: #include "libnet/libnet-asn1.h"
! 111: #include "libnet/libnet-functions.h"
! 112:
! 113: #ifdef __cplusplus
! 114: }
! 115: #endif
! 116:
! 117: #endif /* __LIBNET_H */
! 118:
! 119: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>