forked from KapLex/PGE
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pgeAdhoc.h
131 lines (92 loc) · 3.13 KB
/
pgeAdhoc.h
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/*
* pgeAdhoc.h: Header for adhoc
*
* This file is part of "Phoenix Game Engine".
*
* Copyright (C) 2008 Phoenix Game Engine
* Copyright (C) 2008 InsertWittyName <[email protected]>
* Copyright (C) 2008 MK2k <[email protected]>
*
* Phoenix Game Engine is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* Phoenix Game Engine is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with Phoenix Game Engine. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef __PGEADHOC_H__
#define __PGEADHOC_H__
#ifdef __cplusplus
extern "C" {
#endif
/** @defgroup pgeAdhoc Adhoc Library
* @{
*/
// INCLUDES
#include <psptypes.h>
#include <pspnet_adhoc.h>
#include <pspnet_adhocctl.h>
#include <pspnet.h>
#define PGE_ADHOC_EVENT_ERROR 0x0001
#define PGE_ADHOC_EVENT_CONNECT 0x0002
#define PGE_ADHOC_EVENT_DISCONNECT 0x0004
#define PGE_ADHOC_EVENT_SCAN 0x0008
#define PGE_ADHOC_EVENT_GAMEMODE 0x0010
#define PGE_ADHOC_EVENT_CANCEL 0x0020
#define PGE_ADHOC_MATCHING_EVENT_NONE 0
#define PGE_ADHOC_MATCHING_EVENT_HELLO 1
#define PGE_ADHOC_MATCHING_EVENT_REQUEST 2
#define PGE_ADHOC_MATCHING_EVENT_LEAVE 3
#define PGE_ADHOC_MATCHING_EVENT_DENY 4
#define PGE_ADHOC_MATCHING_EVENT_CANCEL 5
#define PGE_ADHOC_MATCHING_EVENT_ACCEPT 6
#define PGE_ADHOC_MATCHING_EVENT_ESTABLISHED 7
#define PGE_ADHOC_MATCHING_EVENT_TIMEOUT 8
#define PGE_ADHOC_MATCHING_EVENT_ERROR 9
#define PGE_ADHOC_MATCHING_EVENT_BYE 10
#define PGE_ADHOC_TYPE_NORMAL 0
#define PGE_ADHOC_TYPE_GAMESHARING 2
#define PGE_ADHOC_MATCHING_MODE_GAME 0
#define PGE_ADHOC_MATCHING_MODE_PTP 1
#define PGE_ADHOC_MATCHING_TYPE_HOST 0
#define PGE_ADHOC_MATCHING_TYPE_CLIENT 1
typedef struct
{
char mac[18];
char nickname[128];
char hello[128];
int event;
} pgeAdhocPeerEvent;
// PROTOTYPES
int pgeAdhocInit(int type);
int pgeAdhocShutdown(void);
int pgeAdhocGameHost(const char *name);
int pgeAdhocConnect(const char *name);
int pgeAdhocPeerExists(const char *mac);
int pgeAdhocMatchingInit(int mode, int type);
int pgeAdhocMatchingStart(const char *hello);
int pgeAdhocMatchingAccept(const char *mac);
int pgeAdhocMatchingDecline(const char *mac);
int pgeAdhocMatchingShutdown(void);
pgeAdhocPeerEvent* pgeAdhocMatchingGetEvents(void);
int pgeAdhocMatchingClearEvent(pgeAdhocPeerEvent *event);
int pgeAdhocPtpHostStart(void);
int pgeAdhocPtpClientStart(const char *servermac);
int pgeAdhocPtpReceive(void *data, int *length);
int pgeAdhocPtpSend(void *data, int *length);
int pgeAdhocPtpCheckForData(void);
int pgeAdhocPtpFlush(void);
int pgeAdhocPtpHostShutdown(void);
int pgeAdhocPtpClientShutdown(void);
int pgeAdhocGetState(void);
int pgeAdhocGetError(void);
/** @} */
#ifdef __cplusplus
}
#endif // __cplusplus
#endif // __PGEADHOC_H__