blob: 88ef83d3116764b15fdca19c4228e337962c4c9e (
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
|
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#if !defined(AFX_STDAFX_H__EE0269AE_DB02_11D2_89CA_00A0245B298A__INCLUDED_)
#define AFX_STDAFX_H__EE0269AE_DB02_11D2_89CA_00A0245B298A__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#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'
#endif
#include <stdio.h>
#include <stdarg.h>
#include <assert.h>
#include <winsock2.h>
// 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 */
};
#include <string>
#include <vector>
#include <list>
using namespace std;
// Debugging function
#ifndef TRACE
#ifdef WIN32
void DebugTrace ( const char *fmt , ... );
#define TRACE DebugTrace
#else
#define TRACE printf
#endif
#endif
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_STDAFX_H__EE0269AE_DB02_11D2_89CA_00A0245B298A__INCLUDED_)
|