-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathC_LinkWirelessMultiboot.h
65 lines (52 loc) · 1.88 KB
/
C_LinkWirelessMultiboot.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
#ifndef C_BINDINGS_LINK_WIRELESS_MULTIBOOT_H
#define C_BINDINGS_LINK_WIRELESS_MULTIBOOT_H
#ifdef __cplusplus
extern "C" {
#endif
#include <tonc_core.h>
typedef void* C_LinkWirelessMultibootHandle;
#define C_LINK_WIRELESS_MULTIBOOT_MIN_ROM_SIZE (0x100 + 0xc0)
#define C_LINK_WIRELESS_MULTIBOOT_MAX_ROM_SIZE (256 * 1024)
#define C_LINK_WIRELESS_MULTIBOOT_MIN_PLAYERS 2
#define C_LINK_WIRELESS_MULTIBOOT_MAX_PLAYERS 5
typedef enum {
C_LINK_WIRELESS_MULTIBOOT_SUCCESS,
C_LINK_WIRELESS_MULTIBOOT_INVALID_SIZE,
C_LINK_WIRELESS_MULTIBOOT_INVALID_PLAYERS,
C_LINK_WIRELESS_MULTIBOOT_CANCELED,
C_LINK_WIRELESS_MULTIBOOT_ADAPTER_NOT_DETECTED,
C_LINK_WIRELESS_MULTIBOOT_BAD_HANDSHAKE,
C_LINK_WIRELESS_MULTIBOOT_CLIENT_DISCONNECTED,
C_LINK_WIRELESS_MULTIBOOT_FAILURE
} C_LinkWirelessMultiboot_Result;
typedef enum {
C_LINK_WIRELESS_MULTIBOOT_STATE_STOPPED,
C_LINK_WIRELESS_MULTIBOOT_STATE_INITIALIZING,
C_LINK_WIRELESS_MULTIBOOT_STATE_WAITING,
C_LINK_WIRELESS_MULTIBOOT_STATE_PREPARING,
C_LINK_WIRELESS_MULTIBOOT_STATE_SENDING,
C_LINK_WIRELESS_MULTIBOOT_STATE_CONFIRMING
} C_LinkWirelessMultiboot_State;
typedef struct {
C_LinkWirelessMultiboot_State state;
u32 connectedClients;
u32 percentage;
} C_LinkWirelessMultiboot_Progress;
typedef bool (*C_LinkWirelessMultiboot_CancelCallback)(
C_LinkWirelessMultiboot_Progress progress);
C_LinkWirelessMultibootHandle C_LinkWirelessMultiboot_create();
void C_LinkWirelessMultiboot_destroy(C_LinkWirelessMultibootHandle handle);
C_LinkWirelessMultiboot_Result C_LinkWirelessMultiboot_sendRom(
C_LinkWirelessMultibootHandle handle,
const u8* rom,
u32 romSize,
const char* gameName,
const char* userName,
u16 gameId,
u8 players,
C_LinkWirelessMultiboot_CancelCallback cancel);
extern C_LinkWirelessMultibootHandle cLinkWirelessMultiboot;
#ifdef __cplusplus
}
#endif
#endif // C_BINDINGS_LINK_WIRELESS_MULTIBOOT_H