#if !defined(__CTCL_H__) #define __CTCL_H__ // The following ifdef block is the standard way of creating macros which make exporting // from a DLL simpler. All files within this DLL are compiled with the CTCL_EXPORTS // symbol defined on the command line. this symbol should not be defined on any project // that uses this DLL. This way any other project whose source files include this file see // CTCL_API functions as being imported from a DLL, wheras this DLL sees symbols // defined with this macro as being exported. #ifdef CTCL_EXPORTS #define CTCL_API __declspec(dllexport) #else #define CTCL_API __declspec(dllimport) #endif #undef CTCL_API #define CTCL_API enum ECTCLType { ECTCL_Console = 0, ECTCL_Launcher, ECTCL_Game, ECTCL_CameraShip, ECTCL_None, }; struct STeslaInfo { public: BOOL m_bCameraShip; u_long m_ulAddr; const char* m_pcsz; int m_nLauncherState; // 0: no connection, +1: connection, -1: connecting EGameType m_eGameType; EGameTypeState m_eGameTypeState; EGameState m_eGameState; public: }; #define C_GameInfo 1 // Console 2 Launcher #define S_GameInfo 1 // Launcher 2 Console class CTeslaInfo; typedef CTeslaInfo* TESLA_HANDLE; CTCL_API BOOL CTCL_Start(ECTCLType eCTCLType); CTCL_API void CTCL_Stop(); void __stdcall CTCL_Proc(); CTCL_API void CTCL_Run(); // Used by Console CTCL_API int CTCL_GetTeslaCount(); CTCL_API TESLA_HANDLE CTCL_GetTeslaInfo(int nIndex, STeslaInfo& TI); // Used by Launcher // Used by Game // Used by CameraShip // Used by All #endif // !defined(__CTCL_H__)