summaryrefslogtreecommitdiff
path: root/Ivy/IvyStdAfx.h
diff options
context:
space:
mode:
Diffstat (limited to 'Ivy/IvyStdAfx.h')
-rw-r--r--Ivy/IvyStdAfx.h91
1 files changed, 91 insertions, 0 deletions
diff --git a/Ivy/IvyStdAfx.h b/Ivy/IvyStdAfx.h
new file mode 100644
index 0000000..58a16bb
--- /dev/null
+++ b/Ivy/IvyStdAfx.h
@@ -0,0 +1,91 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+#if defined( WIN32 ) || defined( UNDER_CE )
+#pragma warning( disable : 4786 ) // identifier was truncated to '255' characters in the debug information
+#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'
+
+#endif
+#include <winsock.h>
+
+#include <stdio.h>
+#include <stdarg.h>
+#include <stdlib.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 IN_CLASSD
+#define IN_CLASSD(i) (((long)(i) & 0xf0000000) == 0xe0000000)
+#endif
+
+#ifdef IVY_USE_OWN_DATATYPES
+
+#include "DataTypes.h"
+
+#else
+
+#include <string>
+#include <list>
+#include <vector>
+#include <map>
+
+namespace ivy = std;
+
+#endif
+
+
+#ifdef WIN32
+
+#ifndef TRACE
+void DebugTrace ( const char *fmt , ... );
+#define TRACE DebugTrace
+#endif
+
+#if defined(_WIN32_WCE)
+#undef ASSERT
+#endif // _WIN32_WCE
+
+#ifndef ASSERT
+#define ASSERT(expr) \
+ do { \
+ if (! (expr) ) \
+ {\
+ TRACE( "Assert (%s) failed in file %s at line %d\r\n", TEXT(#expr), __FILE__ , __LINE__ ); \
+ DebugBreak(); \
+ }\
+ } while (0)
+#endif
+
+#else
+#include <assert.h>
+#define TRACE printf
+#define ASSERT(expr) assert( expr )
+#endif
+