diff options
Diffstat (limited to 'include/librfu.h')
-rw-r--r-- | include/librfu.h | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/include/librfu.h b/include/librfu.h index dbc8a41a6..aae7df4e9 100644 --- a/include/librfu.h +++ b/include/librfu.h @@ -67,6 +67,28 @@ union RfuPacket struct RfuPacket8 rfuPacket8; }; +struct __attribute__((packed)) UnkLinkRfuStruct_02022B14 +{ + u16 unk_00_0:4; + u16 unk_00_4:1; + u16 unk_00_5:1; + u16 unk_00_6:1; + u16 unk_00_7:1; + u16 unk_01_0:1; + u16 unk_01_1:1; + u16 unk_01_2:4; + u16 unk_01_6:2; + u8 playerTrainerId[2]; + u8 unk_04[4]; + u16 unk_08_0:10; + u16 unk_09_2:6; + u8 unk_0a_0:7; + u8 unk_0a_7:1; + u8 playerGender:1; + u8 unk_0b_1:7; + u8 unk_0c; +}; + struct RfuStruct { vs32 unk_0; @@ -103,6 +125,127 @@ struct RfuIntrStruct u8 block2[0x30]; }; +struct RfuUnk1 +{ + u16 unk_0; + u8 unk_2; + u8 unk_3; + u8 fill_4[14]; + u8 unk_12; + u32 unk_14; + u32 unk_18; + struct RfuIntrStruct unk_1c; +}; + +struct RfuUnk2 +{ + u16 unk_0; + u16 unk_2; + u8 fill_4[0x16]; + u8 unk_1a; + u8 fill_1b[0x19]; + u16 unk_34; + u16 unk_36; + u8 fill_38[0x16]; + u8 unk_4e; + u8 fill_4f[0x12]; + u8 unk_61; + u8 fill_62[6]; + void *unk_68; + void *unk_6c; + u8 unk_70[0x70]; +}; + +struct RfuUnk3 +{ + u32 unk_0; + u32 unk_4; + u8 unk_8[0xD4]; + u32 unk_dc; +}; + +struct RfuUnk5Sub { + u16 unk_00; + u8 unk_02; + u16 unk_04; + struct UnkLinkRfuStruct_02022B14 unk_06; + u8 fill_13[2]; + u8 unk_15[8]; +}; + +struct RfuUnk5 +{ + u8 unk_00; + u8 unk_01; + u8 unk_02; + u8 unk_03; + u8 unk_04; + u8 unk_05; + u8 unk_06; + u8 unk_07; + u8 unk_08; + u8 filler_09[1]; + u8 unk_0a[4]; + u8 filler_0e[6]; + struct RfuUnk5Sub unk_14[4]; +}; + extern struct RfuStruct *gRfuState; +extern struct RfuUnk5 *gUnknown_03007890; +extern u32 *gUnknown_03007894; +extern struct RfuUnk3* gUnknown_03007898; +extern struct RfuUnk2* gUnknown_03007880[4]; +extern struct RfuUnk1* gUnknown_03007870[4]; +extern void* sub_82E53F4; +extern void rfu_STC_clearAPIVariables(void); + +struct UnkLinkRfuStruct_02022B14; + void STWI_init_all(struct RfuIntrStruct *interruptStruct, IntrFunc *interrupt, bool8 copyInterruptToRam); +void rfu_REQ_stopMode(void); +void rfu_waitREQComplete(void); +u32 rfu_REQBN_softReset_and_checkID(void); +void rfu_REQ_sendData(u8); +void rfu_setMSCCallback(void (*func)(u16)); +void rfu_setREQCallback(void (*func)(u16, u16)); +bool8 rfu_getMasterSlave(void); +void rfu_REQBN_watchLink(u16 a0, u8 *a1, u8 *a2, u8 *a3); +bool16 rfu_syncVBlank(void); +void rfu_REQ_reset(void); +void rfu_REQ_configSystem(u16, u8, u8); +void rfu_REQ_configGameData(u8, u16, struct UnkLinkRfuStruct_02022B14 *, u8 *); +void rfu_REQ_startSearchChild(void); +void rfu_REQ_pollSearchChild(void); +void rfu_REQ_endSearchChild(void); +void rfu_REQ_startSearchParent(void); +void rfu_REQ_pollSearchParent(void); +void rfu_REQ_endSearchParent(void); +void rfu_REQ_startConnectParent(u16); +void rfu_REQ_pollConnectParent(void); +void rfu_REQ_endConnectParent(void); +void rfu_REQ_CHILD_startConnectRecovery(u8); +void rfu_REQ_CHILD_pollConnectRecovery(void); +void rfu_REQ_CHILD_endConnectRecovery(void); +void rfu_REQ_changeMasterSlave(void); +void rfu_REQ_RFUStatus(void); +void rfu_getRFUStatus(u8 *status); +u8 *rfu_getSTWIRecvBuffer(void); +u8 rfu_NI_CHILD_setSendGameName(u8 a0, u8 a1); +void rfu_clearSlot(u8 a0, u8 a1); +void rfu_clearAllSlot(void); +bool16 rfu_CHILD_getConnectRecoveryStatus(u8 *status); +bool16 rfu_getConnectParentStatus(u8 *status, u8 *a1); +bool16 rfu_UNI_PARENT_getDRAC_ACK(u8 *a0); +void rfu_REQ_disconnect(u8 who); +void rfu_changeSendTarget(u8 a0, u8 who, u8 a2); +void rfu_NI_stopReceivingData(u8 who); +u16 rfu_initializeAPI(u32 *unk0, u16 unk1, IntrFunc *interrupt, bool8 copyInterruptToRam); +void rfu_setTimerInterrupt(u8 which, IntrFunc *intr); +void rfu_setRecvBuffer(u8 a0, u8 a1, void *a2, size_t a3); +bool16 rfu_UNI_setSendData(u8 flag, void *ptr, u8 size); +void rfu_REQ_recvData(void); +void rfu_UNI_readySendData(u8 a0); +void rfu_UNI_clearRecvNewDataFlag(u8 a0); +void rfu_REQ_PARENT_resumeRetransmitAndChange(void); +void rfu_NI_setSendData(u8, u8, u8 *, u8); |