1 /*------------------------------Patrick 18/3/97------------------------
2 Header for setting up and handling direct play objects
3 (This is mostly nicked from DHM's headhunter stuff)
4 -----------------------------------------------------------------------*/
5 #ifndef dpfunc_h_included
6 #define dpfunc_h_included
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
11 /* globals */
12 extern LPDIRECTPLAY4 glpDP;
13 extern LPGUID glpGuid;
14 
15 extern DPNAME AVPDPplayerName;
16 extern DPID AVPDPNetID;
17 
18 
19 /* Constants */
20 #define	MAX_SIZE_FORMAL_NAME	128+1
21 #define	MAX_SIZE_FRIENDLY_NAME	128+1
22 
23 
24 HRESULT DPlayClose(void);
25 HRESULT DPlayCreate(LPVOID lpCon);
26 HRESULT DPlayCreatePlayer(LPDPID lppidID, LPTSTR lptszPlayerName, HANDLE hEvent,
27 						  LPVOID lpData, DWORD dwDataSize);
28 HRESULT DPlayCreateSession(LPTSTR lptszSessionName,int maxPlayers,int dwUser1,int dwUser2);
29 HRESULT DPlayDestroyPlayer(DPID pid);
30 HRESULT DPlayEnumPlayers(LPGUID lpSessionGuid, LPDPENUMPLAYERSCALLBACK2 lpEnumCallback,
31 						 LPVOID lpContext, DWORD dwFlags);
32 HRESULT DPlayEnumSessions(DWORD dwTimeout, LPDPENUMSESSIONSCALLBACK2 lpEnumCallback,
33 						  LPVOID lpContext, DWORD dwFlags);
34 HRESULT DPlayGetPlayerData(DPID pid, LPVOID lpData, LPDWORD lpdwDataSize, DWORD dwFlags);
35 HRESULT DPlayClose(void);
36 HRESULT DPlayCreate(LPVOID lpCon);
37 HRESULT DPlayCreatePlayer(LPDPID lppidID, LPTSTR lptszPlayerName, HANDLE hEvent,
38 						  LPVOID lpData, DWORD dwDataSize);
39 HRESULT DPlayDestroyPlayer(DPID pid);
40 HRESULT DPlayEnumSessions(DWORD dwTimeout, LPDPENUMSESSIONSCALLBACK2 lpEnumCallback,
41 						  LPVOID lpContext, DWORD dwFlags);
42 HRESULT DPlayGetPlayerData(DPID pid, LPVOID lpData, LPDWORD lpdwDataSize, DWORD dwFlags);
43 HRESULT DPlayGetSessionDesc(void);
44 BOOL IsDPlay(void);
45 HRESULT DPlayOpenSession(LPGUID lpSessionGuid);
46 HRESULT DPlayReceive(LPDPID lpidFrom, LPDPID lpidTo, DWORD dwFlags, LPVOID lpData, LPDWORD lpdwDataSize);
47 HRESULT DPlayRelease(void);
48 HRESULT DPlaySend(DPID idFrom, DPID idTo, DWORD dwFlags, LPVOID lpData, DWORD dwDataSize);
49 HRESULT DPlaySetPlayerData(DPID pid, LPVOID lpData, DWORD dwSize, DWORD dwFlags);
50 
51 
52 #ifdef __cplusplus
53 }
54 #endif
55 #endif
56