ReactOS 0.4.17-dev-923-g4c9a150
dpnet_private.h
Go to the documentation of this file.
1/*
2 * DirectPlay8 (dpnet) private include file
3 *
4 * Copyright 2004 Raphael Junqueira
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21#ifndef __WINE_DPNET_PRIVATE_H
22#define __WINE_DPNET_PRIVATE_H
23
24#include <wine/list.h>
25#include "winsock2.h"
26
27#include "dplay8.h"
28#include "dplobby8.h"
29/*
30 *#include "dplay8sp.h"
31 */
32
33/* DirectPlay8 Interfaces: */
38
39/* ------------------ */
40/* IDirectPlay8Client */
41/* ------------------ */
42
43/*****************************************************************************
44 * IDirectPlay8Client implementation structure
45 */
47{
48 IDirectPlay8Client IDirectPlay8Client_iface;
50
51 /* IDirectPlay8Client fields */
56 void *data;
58
60};
61
62/* ------------------- */
63/* IDirectPlay8Address */
64/* ------------------- */
66{
67 struct list entry;
68
72
73 union
74 {
75 DWORD value; /* DPNA_DATATYPE_DWORD */
76 GUID guid; /* DPNA_DATATYPE_GUID */
77 WCHAR *string; /* DPNA_DATATYPE_STRING */
78 char *ansi; /* DPNA_DATATYPE_STRING_ANSI */
79 void *binary; /* DPNA_DATATYPE_BINARY */
81};
82
83/*****************************************************************************
84 * IDirectPlay8Address implementation structure
85 */
87{
88 IDirectPlay8Address IDirectPlay8Address_iface;
90 /* IDirectPlay8Address fields */
93
97};
98
99/*****************************************************************************
100 * IDirectPlay8LobbiedApplication implementation structure
101 */
103{
104 IDirectPlay8LobbiedApplication IDirectPlay8LobbiedApplication_iface;
106
111};
112
113/*****************************************************************************
114 * IDirectPlay8ThreadPool implementation structure
115 */
117{
118 IDirectPlay8ThreadPool IDirectPlay8ThreadPool_iface;
120};
121
125extern HRESULT DPNET_CreateDirectPlay8Client(LPCLASSFACTORY iface, LPUNKNOWN punkOuter, REFIID riid, LPVOID *ppobj);
126extern HRESULT DPNET_CreateDirectPlay8Server(LPCLASSFACTORY iface, LPUNKNOWN punkOuter, REFIID riid, LPVOID *ppobj);
127extern HRESULT DPNET_CreateDirectPlay8Peer(LPCLASSFACTORY iface, LPUNKNOWN punkOuter, REFIID riid, LPVOID *ppobj);
128extern HRESULT DPNET_CreateDirectPlay8Address(LPCLASSFACTORY iface, LPUNKNOWN punkOuter, REFIID riid, LPVOID *ppobj);
129extern HRESULT DPNET_CreateDirectPlay8LobbiedApp(LPCLASSFACTORY iface, LPUNKNOWN punkOuter, REFIID riid, LPVOID *ppobj);
130extern HRESULT DPNET_CreateDirectPlay8ThreadPool(LPCLASSFACTORY iface, LPUNKNOWN punkOuter, REFIID riid, LPVOID *ppobj);
131extern HRESULT DPNET_CreateDirectPlay8LobbyClient(IClassFactory *iface, IUnknown *pUnkOuter, REFIID riid, void **ppobj);
132
133extern void init_dpn_sp_caps(DPN_SP_CAPS *dpnspcaps);
134extern void init_winsock(void);
135extern HRESULT enum_services_providers(const GUID * const service, DPN_SERVICE_PROVIDER_INFO * const info_buffer,
136 DWORD * const buf_size, DWORD * const returned);
137
138/* used for generic dumping (copied from ddraw) */
139typedef struct {
140 DWORD val;
141 const char* name;
142} flag_info;
143
144typedef struct {
145 const GUID *guid;
146 const char* name;
147} guid_info;
148
149#define FE(x) { x, #x }
150#define GE(x) { &x, #x }
151
152#endif
Definition: list.h:39
static LPVOID LPUNKNOWN
Definition: dinput.c:53
HRESULT(WINAPI * PFNDPNMESSAGEHANDLER)(PVOID, DWORD, PVOID)
Definition: dplay8.h:30
DWORD DPNHANDLE
Definition: dplay8.h:32
HRESULT DPNET_CreateDirectPlay8LobbyClient(IClassFactory *iface, IUnknown *pUnkOuter, REFIID riid, void **ppobj)
Definition: client.c:560
HRESULT DPNET_CreateDirectPlay8LobbiedApp(LPCLASSFACTORY iface, LPUNKNOWN punkOuter, REFIID riid, LPVOID *ppobj)
Definition: lobbiedapp.c:188
HRESULT DPNET_CreateDirectPlay8Address(LPCLASSFACTORY iface, LPUNKNOWN punkOuter, REFIID riid, LPVOID *ppobj)
void init_dpn_sp_caps(DPN_SP_CAPS *dpnspcaps)
Definition: peer.c:622
HRESULT DPNET_CreateDirectPlay8Peer(LPCLASSFACTORY iface, LPUNKNOWN punkOuter, REFIID riid, LPVOID *ppobj)
HRESULT DPNET_CreateDirectPlay8Client(LPCLASSFACTORY iface, LPUNKNOWN punkOuter, REFIID riid, LPVOID *ppobj)
HRESULT DPNET_CreateDirectPlay8ThreadPool(LPCLASSFACTORY iface, LPUNKNOWN punkOuter, REFIID riid, LPVOID *ppobj)
Definition: threadpool.c:157
void init_winsock(void)
Definition: dpnet_main.c:55
HRESULT enum_services_providers(const GUID *const service, DPN_SERVICE_PROVIDER_INFO *const info_buffer, DWORD *const buf_size, DWORD *const returned)
Definition: peer.c:125
HRESULT DPNET_CreateDirectPlay8Server(LPCLASSFACTORY iface, LPUNKNOWN punkOuter, REFIID riid, LPVOID *ppobj)
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint GLfloat * val
Definition: glext.h:7180
REFIID riid
Definition: atlbase.h:39
short WCHAR
Definition: pedump.c:58
long LONG
Definition: pedump.c:60
#define REFIID
Definition: guiddef.h:118
struct component ** components
Definition: dpnet_private.h:94
IDirectPlay8Address IDirectPlay8Address_iface
Definition: dpnet_private.h:88
IDirectPlay8Client IDirectPlay8Client_iface
Definition: dpnet_private.h:48
PFNDPNMESSAGEHANDLER msghandler
Definition: dpnet_private.h:52
IDirectPlay8LobbiedApplication IDirectPlay8LobbiedApplication_iface
IDirectPlay8ThreadPool IDirectPlay8ThreadPool_iface
WCHAR * name
Definition: dpnet_private.h:69
WCHAR * string
Definition: dpnet_private.h:77
struct list entry
Definition: dpnet_private.h:67
union component::@302 data
DWORD size
Definition: dpnet_private.h:71
void * binary
Definition: dpnet_private.h:79
DWORD value
Definition: dpnet_private.h:75
char * ansi
Definition: dpnet_private.h:78
DWORD type
Definition: dpnet_private.h:70
const GUID * guid
const char * name
Definition: name.c:39