SGDK
A free and open development kit for the Sega Mega Drive
Loading...
Searching...
No Matches
megawifi_async.h
Go to the documentation of this file.
1/************************************************************************/
17
18#ifndef _MEGAWIFI_ASYNC_H_
19#define _MEGAWIFI_ASYNC_H_
20#include "config.h"
21#if (MODULE_MEGAWIFI == 1 && MODULE_MEGAWIFI_ASYNC == 1)
22#define MW_PROCESS_OVERRIDE
23#include "ext/mw/megawifi.h"
24
25typedef void (*mw_async_cb)(enum mw_err err);
26
27typedef void (*mw_detect_async_cb)(enum mw_err err, uint8_t *major, uint8_t *minor,
28 char **variant);
29typedef void (*mw_ip_cfg_get_async_cb)(enum mw_err err,
30 struct mw_ip_cfg *ip);
31typedef void (*mw_ip_current_async_cb)(enum mw_err err,
32 struct mw_ip_cfg *ip);
33typedef void (*mw_sys_stat_get_async_cb)(enum mw_err err,
34 union mw_msg_sys_stat *status);
35typedef void (*mw_bssid_get_async_cb)(enum mw_err err, uint8_t *bssid);
36typedef void (*mw_flash_read_async_cb)(enum mw_err err, uint8_t *data);
37typedef void (*mw_hrng_get_async_cb)(enum mw_err err, uint8_t *data);
38typedef void (*mw_gamertag_get_async_cb)(enum mw_err err,
39 struct mw_gamertag *gamertag);
40typedef void (*mw_def_server_get_async_cb)(enum mw_err err, char *server_url);
41typedef void (*mw_wifi_adv_cfg_get_async_cb)(enum mw_err err,
42 struct mw_wifi_adv_cfg *wifi);
43typedef void (*mw_ap_cfg_get_async_cb)(enum mw_err err,
44 struct mw_msg_ap_cfg *ap_cfg);
45typedef void (*mw_sntp_cfg_get_async_cb)(enum mw_err err,
46 struct mw_msg_sntp_cfg *sntp_cfg);
47typedef void (*mw_date_time_get_async_cb)(enum mw_err err,
48 struct mw_msg_date_time *date_time);
49typedef void (*mw_flash_id_get_async_cb)(enum mw_err err,
50 struct mw_flash_id *flash_id);
51typedef void (*mw_ap_scan_async_cb)(enum mw_err err, uint8_t *ap_data,
52 uint16_t data_len);
53typedef void (*mw_ping_async_cb)(enum mw_err err,
54 struct mw_ping_response *response);
55typedef void (*mw_fw_list_upgrades_async_cb)(enum mw_err err,
56 struct mw_upgrade_list_response *upgrades);
57typedef void (*mw_http_finish_async_cb)(enum mw_err err, uint8_t *data);
58typedef void (*mw_ga_request_async_cb)(enum mw_err err, uint8_t *data);
59typedef void (*mw_def_ap_cfg_get_async_cb)(enum mw_err err, u8 slot);
60typedef void (*mw_sock_stat_get_async_cb)(enum mw_err err, u8 sock);
61typedef void (*mw_http_cert_query_async_cb)(enum mw_err err, int32_t certSize);
62
63/************************************************************************/
75enum mw_err mw_detect_async(mw_detect_async_cb callback);
76enum mw_err mw_default_cfg_set_async(mw_async_cb callback);
77enum mw_err mw_ap_cfg_set_async(uint8_t slot, const char *ssid,
78 const char *pass, enum mw_phy_type phy_type, mw_async_cb callback);
79enum mw_err mw_ip_cfg_set_async(uint8_t slot, const struct mw_ip_cfg *ip,
80 mw_async_cb callback);
81enum mw_err mw_ap_assoc_async(uint8_t slot, mw_async_cb callback);
82enum mw_err mw_ap_disassoc_async(mw_async_cb callback);
83enum mw_err mw_def_ap_cfg_async(uint8_t slot, mw_async_cb callback);
84enum mw_err mw_sntp_cfg_set_async(const char *tz_str,
85 const char *server[3], mw_async_cb callback);
86enum mw_err mw_flash_sector_erase_async(uint16_t sect, mw_async_cb callback);
87enum mw_err mw_flash_write_async(uint32_t addr, uint8_t *data,
88 uint16_t data_len, mw_async_cb callback);
89enum mw_err mw_gamertag_set_async(uint8_t slot,
90 const struct mw_gamertag *gamertag, mw_async_cb callback);
91
92enum mw_err mw_http_url_set_async(const char *url, mw_async_cb callback);
93enum mw_err mw_http_method_set_async(enum mw_http_method method,
94 mw_async_cb callback);
95enum mw_err mw_http_header_add_async(const char *key, const char *value,
96 mw_async_cb callback);
97enum mw_err mw_http_header_del_async(const char *key, mw_async_cb callback);
98enum mw_err mw_def_server_set_async(const char *server_url,
99 mw_async_cb callback);
100enum mw_err mw_log_async(const char *msg, mw_async_cb callback);
101enum mw_err mw_factory_settings_async(mw_async_cb callback);
102enum mw_err mw_cfg_save_async(mw_async_cb callback);
103enum mw_err mw_wifi_adv_cfg_set_async(const struct mw_wifi_adv_cfg *wifi,
104 mw_async_cb callback);
105enum mw_err mw_ga_endpoint_set_async(const char *endpoint,
106 const char *priv_key, mw_async_cb callback);
107enum mw_err mw_ga_key_value_add_async(const char **key, const char **value,
108 uint16_t num_pairs, mw_async_cb callback);
109enum mw_err mw_fw_upgrade_async(const char *name, mw_async_cb callback);
110enum mw_err mw_tcp_connect_async(uint8_t ch, const char *dst_addr,
111 const char *dst_port, const char *src_port, mw_async_cb callback);
112enum mw_err mw_close_async(uint8_t ch, mw_async_cb callback);
113enum mw_err mw_tcp_bind_async(uint8_t ch, uint16_t port,
114 mw_async_cb callback);
115enum mw_err mw_udp_set_async(uint8_t ch, const char *dst_addr,
116 const char *dst_port, const char *src_port, mw_async_cb callback);
117enum mw_err mw_http_open_async(uint32_t content_len, mw_async_cb callback);
118enum mw_err mw_ip_cfg_get_async(uint8_t slot, mw_ip_cfg_get_async_cb callback);
119enum mw_err mw_ip_current_async(mw_ip_current_async_cb callback);
120enum mw_err mw_sys_stat_get_async(mw_sys_stat_get_async_cb callback);
121enum mw_err mw_bssid_get_async(enum mw_if_type interface_type,
122 mw_bssid_get_async_cb callback);
123enum mw_err mw_flash_read_async(uint32_t addr, uint16_t data_len,
124 mw_flash_read_async_cb callback);
125enum mw_err mw_hrng_get_async(uint16_t rnd_len, mw_hrng_get_async_cb callback);
126enum mw_err mw_gamertag_get_async(uint8_t slot, mw_gamertag_get_async_cb callback);
127enum mw_err mw_def_server_get_async(mw_def_server_get_async_cb callback);
128enum mw_err mw_wifi_adv_cfg_get_async(mw_wifi_adv_cfg_get_async_cb callback);
129enum mw_err mw_ap_cfg_get_async(uint8_t slot, mw_ap_cfg_get_async_cb callback);
130enum mw_err mw_sntp_cfg_get_async(mw_sntp_cfg_get_async_cb callback);
131enum mw_err mw_date_time_get_async(mw_date_time_get_async_cb callback);
132enum mw_err mw_flash_id_get_async(mw_flash_id_get_async_cb callback);
133enum mw_err mw_ap_scan_async(enum mw_phy_type phy_type,
134 mw_ap_scan_async_cb callback);
135enum mw_err mw_def_ap_cfg_get_async(mw_def_ap_cfg_get_async_cb callback);
136enum mw_err mw_sock_stat_get_async(uint8_t ch, mw_sock_stat_get_async_cb callback);
137enum mw_err mw_http_cert_query_async(mw_http_cert_query_async_cb callback);
138enum mw_err mw_ping_async(const char *domain, u8 retries,
139 mw_ping_async_cb callback);
140enum mw_err mw_fw_list_upgrades_async(uint8_t page, uint8_t size,
141 uint8_t offset, mw_fw_list_upgrades_async_cb callback);
142enum mw_err mw_http_finish_async(mw_http_finish_async_cb callback);
143enum mw_err mw_ga_request_async(enum mw_http_method method,
144 const char **path, uint8_t num_paths, const char **key,
145 const char **value, uint8_t num_kv_pairs, mw_ga_request_async_cb callback);
146enum mw_err mw_http_cleanup_async(mw_async_cb callback);
147enum mw_err mw_http_cert_set_async(uint32_t cert_hash, const char *cert,
148 uint16_t cert_len, mw_async_cb callback);
149
150void mw_process_async(void);
151
152#define mw_process mw_process_async
153
154#endif
155#endif /*_MEGAWIFI_ASYNC_H_*/
156
158
Basic SGDK library configuration file.
mw_err
Error codes for MegaWiFi API functions.
Definition megawifi.h:71
mw_if_type
Interface type for the mw_bssid_get() function.
Definition megawifi.h:136
mw_http_method
Supported HTTP methods.
Definition megawifi.h:82
enum PACKED mw_phy_type
WiFi PHY configuration for the connection to the AP.
Definition mw-msg.h:138
MegaWiFi API implementation.
Flash chip identifiers.
Definition mw-msg.h:309
Gamertag data.
Definition mw-msg.h:241
IP configuration parameters.
Definition mw-msg.h:160
AP configuration message.
Definition mw-msg.h:172
Date and time message.
Definition mw-msg.h:197
SNTP and timezone configuration.
Definition mw-msg.h:187
Definition mw-msg.h:327
Definition mw-msg.h:333
Advanced WiFi configuration.
Definition mw-msg.h:224
unsigned char u8
Definition types.h:95
System status.
Definition mw-msg.h:285