ReactOS 0.4.17-dev-934-g091855f
dpwsockx_dll.h File Reference
#include "windef.h"
#include "winbase.h"
#include "winsock2.h"
#include "winnt.h"
#include "wine/dplaysp.h"
#include "wine/list.h"
#include "wine/rbtree.h"
#include "pshpack1.h"
#include "poppack.h"
Include dependency graph for dpwsockx_dll.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tagDPSP_MSG_HEADER
 
struct  DPWS_PLAYERDATA
 
struct  tagDPWS_IN_CONNECTION
 
struct  DPWS_CONNECTION_KEY
 
struct  DPWS_OUT_CONNECTION
 
struct  DPWS_CONNECTION_REF
 
struct  DPWS_PLAYER
 
struct  tagDPWS_DATA
 

Macros

#define DPWS_MAXQUEUESIZE   0
 
#define DPWS_HUNDREDBAUD   0
 
#define DPWS_LATENCY   500
 
#define DPWS_MAXLOCALPLAYERS   65536
 
#define DPWS_TIMEOUT   5000
 
#define DPWS_MAXBUFFERSIZE   65479
 
#define DPWS_MAXPLAYERS   65536
 
#define DPWS_GUARANTEED_MAXBUFFERSIZE   1048547
 
#define DPWS_GUARANTEED_MAXPLAYERS   64
 
#define DPSP_MSG_TOKEN_REMOTE   0xFAB00000
 
#define DPSP_MSG_TOKEN_FORWARDED   0xCAB00000
 
#define DPSP_MSG_TOKEN_SERVER   0xBAB00000
 
#define DPSP_MSG_MAKE_MIXED(s, t)   ((s) | (t))
 
#define DPSP_MSG_SIZE(m)   ((m) & 0x000FFFFF)
 
#define DPSP_MSG_TOKEN(m)   ((m) & 0xFFF00000)
 

Typedefs

typedef struct tagDPSP_MSG_HEADER DPSP_MSG_HEADER
 
typedef struct tagDPSP_MSG_HEADER * LPDPSP_MSG_HEADER
 
typedef const DPSP_MSG_HEADER * LPCDPSP_MSG_HEADER
 
typedef struct tagDPWS_IN_CONNECTION DPWS_IN_CONNECTION
 
typedef void DPWS_COMPLETION_ROUTINE(DPWS_IN_CONNECTION *connection)
 
typedef struct tagDPWS_DATA DPWS_DATA
 
typedef struct tagDPWS_DATA * LPDPWS_DATA
 

Functions

HRESULT WINAPI SPInit (LPSPINITDATA)
 

Macro Definition Documentation

◆ DPSP_MSG_MAKE_MIXED

#define DPSP_MSG_MAKE_MIXED (   s,
  t 
)    ((s) | (t))

Definition at line 135 of file dpwsockx_dll.h.

◆ DPSP_MSG_SIZE

#define DPSP_MSG_SIZE (   m)    ((m) & 0x000FFFFF)

Definition at line 136 of file dpwsockx_dll.h.

◆ DPSP_MSG_TOKEN

#define DPSP_MSG_TOKEN (   m)    ((m) & 0xFFF00000)

Definition at line 137 of file dpwsockx_dll.h.

◆ DPSP_MSG_TOKEN_FORWARDED

#define DPSP_MSG_TOKEN_FORWARDED   0xCAB00000

Definition at line 132 of file dpwsockx_dll.h.

◆ DPSP_MSG_TOKEN_REMOTE

#define DPSP_MSG_TOKEN_REMOTE   0xFAB00000

Definition at line 131 of file dpwsockx_dll.h.

◆ DPSP_MSG_TOKEN_SERVER

#define DPSP_MSG_TOKEN_SERVER   0xBAB00000

Definition at line 133 of file dpwsockx_dll.h.

◆ DPWS_GUARANTEED_MAXBUFFERSIZE

#define DPWS_GUARANTEED_MAXBUFFERSIZE   1048547

Definition at line 37 of file dpwsockx_dll.h.

◆ DPWS_GUARANTEED_MAXPLAYERS

#define DPWS_GUARANTEED_MAXPLAYERS   64

Definition at line 38 of file dpwsockx_dll.h.

◆ DPWS_HUNDREDBAUD

#define DPWS_HUNDREDBAUD   0

Definition at line 31 of file dpwsockx_dll.h.

◆ DPWS_LATENCY

#define DPWS_LATENCY   500

Definition at line 32 of file dpwsockx_dll.h.

◆ DPWS_MAXBUFFERSIZE

#define DPWS_MAXBUFFERSIZE   65479

Definition at line 35 of file dpwsockx_dll.h.

◆ DPWS_MAXLOCALPLAYERS

#define DPWS_MAXLOCALPLAYERS   65536

Definition at line 33 of file dpwsockx_dll.h.

◆ DPWS_MAXPLAYERS

#define DPWS_MAXPLAYERS   65536

Definition at line 36 of file dpwsockx_dll.h.

◆ DPWS_MAXQUEUESIZE

#define DPWS_MAXQUEUESIZE   0

Definition at line 30 of file dpwsockx_dll.h.

◆ DPWS_TIMEOUT

#define DPWS_TIMEOUT   5000

Definition at line 34 of file dpwsockx_dll.h.

Typedef Documentation

◆ DPSP_MSG_HEADER

◆ DPWS_COMPLETION_ROUTINE

typedef void DPWS_COMPLETION_ROUTINE(DPWS_IN_CONNECTION *connection)

Definition at line 58 of file dpwsockx_dll.h.

◆ DPWS_DATA

◆ DPWS_IN_CONNECTION

Definition at line 57 of file dpwsockx_dll.h.

◆ LPCDPSP_MSG_HEADER

Definition at line 47 of file dpwsockx_dll.h.

◆ LPDPSP_MSG_HEADER

◆ LPDPWS_DATA

Function Documentation

◆ SPInit()

HRESULT WINAPI SPInit ( LPSPINITDATA  lpspData)

Definition at line 1266 of file dpwsockx_main.c.

1267{
1268 WSADATA wsaData;
1269 DPWS_DATA dpwsData;
1270
1271 TRACE( "Initializing library for %s (%s)\n",
1272 wine_dbgstr_guid(lpspData->lpGuid), debugstr_w(lpspData->lpszName) );
1273
1274 /* We only support TCP/IP service */
1275 if ( !IsEqualGUID(lpspData->lpGuid, &DPSPGUID_TCPIP) )
1276 {
1277 return DPERR_UNAVAILABLE;
1278 }
1279
1280 /* Assign callback functions */
1281 setup_callbacks( lpspData->lpCB );
1282
1283 /* Load Winsock 2.0 DLL */
1284 if ( WSAStartup( MAKEWORD(2, 0), &wsaData ) != 0 )
1285 {
1286 ERR( "WSAStartup() failed\n" );
1287 return DPERR_UNAVAILABLE;
1288 }
1289
1290 /* Initialize internal data */
1291 memset( &dpwsData, 0, sizeof(DPWS_DATA) );
1292 dpwsData.lpISP = lpspData->lpISP;
1293 IDirectPlaySP_SetSPData( lpspData->lpISP, &dpwsData, sizeof(DPWS_DATA),
1294 DPSET_LOCAL );
1295
1296 /* dplay needs to know the size of the header */
1297 lpspData->dwSPHeaderSize = sizeof(DPSP_MSG_HEADER);
1298
1299 return DP_OK;
1300}
#define ERR(fmt,...)
Definition: precomp.h:57
#define DPSET_LOCAL
Definition: dplay.h:1057
#define DP_OK
Definition: dplay.h:88
#define DPERR_UNAVAILABLE
Definition: dplay.h:117
#define IDirectPlaySP_SetSPData(p, a, b, c)
Definition: dplaysp.h:109
struct tagDPSP_MSG_HEADER DPSP_MSG_HEADER
static void setup_callbacks(LPDPSP_SPCALLBACKS lpCB)
#define debugstr_w
Definition: kernel32.h:32
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
static __inline const char * wine_dbgstr_guid(const GUID *id)
Definition: debug.h:181
#define memset(x, y, z)
Definition: compat.h:39
#define TRACE(s)
Definition: solgame.cpp:4
LPDIRECTPLAYSP lpISP
Definition: dpwsockx_dll.h:108
LPDPSP_SPCALLBACKS lpCB
Definition: dplaysp.h:354
LPWSTR lpszName
Definition: dplaysp.h:356
IDirectPlaySP * lpISP
Definition: dplaysp.h:355
DWORD dwSPHeaderSize
Definition: dplaysp.h:360
LPGUID lpGuid
Definition: dplaysp.h:357
#define MAKEWORD(a, b)
Definition: typedefs.h:248
INT WINAPI WSAStartup(IN WORD wVersionRequested, OUT LPWSADATA lpWSAData)
Definition: startup.c:113

Referenced by DP_InitializeDPSP().