summaryrefslogtreecommitdiff
path: root/Ivy/IvyStdAfx.h
blob: 4a795f43a45f3e4860980c6072e7597b618d1fbe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
// stdafx.h : include file for standard system include files,
//  or project specific include files that are used frequently, but
//      are changed infrequently
//

#pragma once

#ifdef WIN32

#pragma warning (disable : 4786)
#pragma warning( disable : 4275 )	// non dll-interface class 'X' used as base for dll-interface class 'Y'
#pragma warning( disable : 4251 )	// 'm' : class 'X' needs to have dll-interface to be used by clients of class 'Y'
#include <crtdbg.h>

#endif
#include <winsock2.h>

#include <stdio.h>
#include <stdarg.h>
#include <string.h>

//#include <assert.h>
#ifdef _WINSOCK2API_
// Some definition missing from winsock2
/*
 * Options for use with [gs]etsockopt at the IP level.
 */
#define IP_OPTIONS          1           /* set/get IP per-packet options    */
#define IP_MULTICAST_IF     2           /* set/get IP multicast interface   */
#define IP_MULTICAST_TTL    3           /* set/get IP multicast timetolive  */
#define IP_MULTICAST_LOOP   4           /* set/get IP multicast loopback    */
#define IP_ADD_MEMBERSHIP   5           /* add  an IP group membership      */
#define IP_DROP_MEMBERSHIP  6           /* drop an IP group membership      */
#define IP_TTL              7           /* set/get IP Time To Live          */
#define IP_TOS              8           /* set/get IP Type Of Service       */
#define IP_DONTFRAGMENT     9           /* set/get IP Don't Fragment flag   */
/*
 * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP.
 */
struct ip_mreq {
        struct in_addr  imr_multiaddr;  /* IP multicast address of group */
        struct in_addr  imr_interface;  /* local IP address of interface */
};
#endif

#ifndef _WIN32_WCE
#define STL
#endif
#ifdef STL
#include <string>
#include <vector>
#include <map>
#include <list>

using std::string;
using std::vector;
using std::map;
using std::list;
#else
#include "DataTypes.h"
#endif

//using namespace std;

#ifndef TRACE
#ifdef WIN32

void DebugTrace ( const char *fmt , ... );
#define TRACE DebugTrace
#else
#define TRACE printf
#endif
#endif
#ifndef ASSERT
#ifdef WIN32
#define ASSERT(expr) \
   do { \
      if (!(expr) && (1 == _CrtDbgReport( \
          _CRT_ASSERT, __FILE__, __LINE__, "Ivy", #expr))) \
         _CrtDbgBreak(); \
    } while (0)
#else
#define ASSERT printf
#endif
#endif