Latest compatible version of Classicube from the original GitHub repository (https://github.com/ClassiCube/ClassiCube) that can be compiled on Classicube for PowerMac PPC running Mac OS X 10.4.
This commit is contained in:
154
third_party/dsiwifi/arm_iop/source/wifi_card.h
vendored
Normal file
154
third_party/dsiwifi/arm_iop/source/wifi_card.h
vendored
Normal file
@@ -0,0 +1,154 @@
|
||||
/*
|
||||
* Copyright (c) 2021 Max Thomas
|
||||
* Copyright (c) 2015-2016, Daz Jones
|
||||
* This file is part of DSiWifi and is distributed under the MIT license.
|
||||
* See dsiwifi_license.txt for terms of use.
|
||||
*/
|
||||
|
||||
#ifndef _WIFI_CARD_H
|
||||
#define _WIFI_CARD_H
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#include "wifi_sdio.h"
|
||||
|
||||
// 3DS
|
||||
//#define REG_SDIO_BASE ((void*)0x10122000)
|
||||
|
||||
// DSi
|
||||
#define REG_SDIO_BASE ((void*)0x4004A00)
|
||||
|
||||
typedef enum {
|
||||
wifi_card_dev_wlan = 0
|
||||
} wifi_card_device;
|
||||
|
||||
typedef struct {
|
||||
wifi_card_device device;
|
||||
|
||||
wifi_sdio_ctx tmio;
|
||||
} wifi_card_ctx;
|
||||
|
||||
enum wpa_type_t
|
||||
{
|
||||
WPATYPE_NONE = 0,
|
||||
WPATYPE_WPA_TKIP = 4,
|
||||
WPATYPE_WPA2_TKIP = 5,
|
||||
WPATYPE_WPA_AES = 6,
|
||||
WPATYPE_WPA2_AES = 7,
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
u8 unk_00[0x40];
|
||||
char ssid[0x20];
|
||||
char ssid_wep64[0x20];
|
||||
u8 wep_key1[0x10];
|
||||
u8 wep_key2[0x10];
|
||||
u8 wep_key3[0x10];
|
||||
u8 wep_key4[0x10];
|
||||
u8 ip[4];
|
||||
u8 gateway[4];
|
||||
u8 primary_dns[4];
|
||||
u8 secondary_dns[4];
|
||||
u8 subnet_mask;
|
||||
u8 unk_D1[0x15];
|
||||
u8 wep_mode;
|
||||
u8 status; // 00 = Normal, 01 = AOSS, FF = not configured/deleted
|
||||
u8 unk_E8;
|
||||
u8 unk_E9;
|
||||
u16 mtu;
|
||||
u8 unk_EC[3];
|
||||
u8 slot_idx;
|
||||
u8 wfc_uid[6];
|
||||
u8 unk_F6[0x8];
|
||||
u16 crc16_0_to_FD;
|
||||
} nvram_cfg_wep;
|
||||
|
||||
typedef struct {
|
||||
char proxy_username[0x20];
|
||||
char proxy_password[0x20];
|
||||
char ssid[0x20];
|
||||
char ssid_wep64[0x20];
|
||||
u8 wep_key1[0x10];
|
||||
u8 wep_key2[0x10];
|
||||
u8 wep_key3[0x10];
|
||||
u8 wep_key4[0x10];
|
||||
u8 ip[4];
|
||||
u8 gateway[4];
|
||||
u8 primary_dns[4];
|
||||
u8 secondary_dns[4];
|
||||
u8 subnet_mask;
|
||||
u8 unk_D1[0x15];
|
||||
u8 wep_mode;
|
||||
u8 wpa_mode;
|
||||
u8 ssid_len;
|
||||
u8 unk_E9;
|
||||
u16 mtu;
|
||||
u8 unk_EC[3];
|
||||
u8 slot_idx;
|
||||
u8 unk_F0[0xE];
|
||||
u16 crc16_0_to_FD;
|
||||
u8 pmk[0x20];
|
||||
char pass[0x40];
|
||||
u8 unk_160[0x21];
|
||||
u8 wpa_type;
|
||||
u8 proxy_en;
|
||||
u8 proxy_auth_en;
|
||||
char proxy_name[0x30];
|
||||
u8 unk_1B4[0x34];
|
||||
u16 proxy_port;
|
||||
u8 unk_1EA[0x14];
|
||||
u16 crc16_100_to_1FE;
|
||||
} nvram_cfg;
|
||||
|
||||
#define F1_HOST_INT_STATUS (0x400)
|
||||
#define F1_CPU_INT_STATUS (0x401)
|
||||
#define F1_ERROR_INT_STATUS (0x402)
|
||||
#define F1_COUNTER_INT_STATUS (0x403)
|
||||
#define F1_MBOX_FRAME (0x404)
|
||||
#define F1_RX_LOOKAHEAD_VALID (0x405)
|
||||
#define F1_RX_LOOKAHEAD0 (0x408)
|
||||
#define F1_RX_LOOKAHEAD1 (0x40C)
|
||||
#define F1_RX_LOOKAHEAD2 (0x410)
|
||||
#define F1_RX_LOOKAHEAD3 (0x414)
|
||||
#define F1_INT_STATUS_ENABLE (0x418)
|
||||
#define F1_COUNT4 (0x450)
|
||||
|
||||
extern nvram_cfg_wep wifi_card_nvram_wep_configs[3];
|
||||
extern nvram_cfg wifi_card_nvram_configs[3];
|
||||
|
||||
u32 wifi_card_read_func1_u32(u32 addr);
|
||||
void wifi_card_write_func1_u32(u32 addr, u32 val);
|
||||
|
||||
u8 wifi_card_read_func0_u8(u32 addr);
|
||||
int wifi_card_write_func0_u8(u32 addr, u8 val);
|
||||
|
||||
u32 wifi_card_read_intern_word(u32 addr);
|
||||
void wifi_card_write_intern_word(u32 addr, u32 data);
|
||||
|
||||
void wifi_card_mbox0_send_packet(u8 type, u8 ack_type, const u8* data, u16 len, u16 idk);
|
||||
u16 wifi_card_mbox0_readpkt(void);
|
||||
|
||||
void data_send_pkt_idk(u8* pkt_data, u32 len);
|
||||
void data_send_pkt(u8* pkt_data, u32 len);
|
||||
void data_send_test(const u8* dst_bssid, const u8* src_bssid, u16 idk);
|
||||
|
||||
u32 wifi_card_host_interest_addr();
|
||||
|
||||
void wifi_card_init(void);
|
||||
void wifi_card_deinit(void);
|
||||
bool wifi_card_initted();
|
||||
|
||||
int wifi_card_device_init(wifi_card_device device);
|
||||
wifi_card_ctx* wifi_card_get_context(wifi_card_device device);
|
||||
|
||||
void wifi_card_switch_device(wifi_card_ctx* ctx);
|
||||
void wifi_card_send_command(wifi_sdio_command cmd, u32 args);
|
||||
void wifi_card_send_command_alt(wifi_sdio_command cmd, u32 args);
|
||||
|
||||
void wifi_card_setclk(u32 data);
|
||||
void wifi_card_stop(void);
|
||||
|
||||
void wifi_card_send_ready();
|
||||
void wifi_card_send_connect();
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user