#include #include "appLauncher.h" #include "callbacks/callbacks.h" #include "config.h" #include "lib/am/amDongle.h" #include "lib/libpcp/libpcp.h" typedef enum { mxMasterStartType_0 = 0, mxMasterStartType_1 = 1, // Stores system message mxMasterStartType_2 = 2, // Stores "path" into m_nextPath mxMasterStartType_3 = 3, mxMasterStartType_4 = 4, mxMasterStartType_5 = 5, // Segaboot: 1, 5, 6 // Gameboot: 2 // Systemtest: 3 } mxMasterStartType_t; typedef struct MX_MASTER_ { ushort m_controlPort; ushort m_dataPort; int m_openMode; // TODO: What are these? unsigned int m_field4_0x10; unsigned int m_field5_0x14; bool m_backupMetadataChanged; unsigned int m_current; unsigned int m_next; bool m_develop; bool m_fault; bool m_loggingAvailable; bool m_backupCount; bool m_clearCount; bool m_interval; char m_nextPath[128]; char m_gameId[8]; char m_platformId[8]; char m_message[256]; char m_keychipId[32]; IN_ADDR m_networkAddr; int m_countSystemBoot; int m_countGameBoot; int m_countSystemTest; int m_countGameTest; unsigned char m_binaryMessage[512]; size_t m_binaryMessageLen; // TODO: What is this? unsigned int m_field23_0x3f4; int m_serverState; // TODO: Remove once unneeded unsigned int m_kcReady; bool m_pcpaHasInit; appLauncher_t* m_appLauncher; pcpa_cb_table_t m_pcpCallbacks[11]; pcpa_t m_pcp; } MX_MASTER; void mxmBeforeBinaryCallback(pcpa_t* stream, MX_MASTER* mxMaster); void mxmAfterBinaryCallback(pcpa_t* stream, MX_MASTER* mxMaster); // void mxmBinaryCallback(pcpa_t* stream, MX_MASTER* mxMaster); int mxmInit(MX_MASTER* mxMaster); e_pcpa_t mxmPcpStreamInit(MX_MASTER* mxMaster); e_pcpa_t mxmPcpServer(MX_MASTER* mxMaster);