| 1 |
#pragma once |
| 2 |
|
| 3 |
////////////////////////////////////////////////////////////////////////// |
| 4 |
|
| 5 |
#define STRING_EMPTY _T("") |
| 6 |
#define STRING_NONE _T("---") |
| 7 |
#define STRING_ZERO _T("0") |
| 8 |
#define STRING_RETURN _T("\r\n") |
| 9 |
|
| 10 |
// Function pointer (Using DLL module load) |
| 11 |
typedef CPlugin *(*CREATE_PLUGIN)(); // Create instance |
| 12 |
typedef void (*RELEASE_PLUGIN)(CPlugin *); // Release instance |
| 13 |
|
| 14 |
////////////////////////////////////////////////////////////////////////// |
| 15 |
|
| 16 |
// Structure |
| 17 |
typedef struct _HEADER |
| 18 |
{ |
| 19 |
size_t size; |
| 20 |
} |
| 21 |
HEADER, *LPHEADER; |
| 22 |
|
| 23 |
typedef struct _WCS_STATUS |
| 24 |
{ |
| 25 |
DWORD dwMasterAddress; |
| 26 |
DWORD dwBcastAddress; |
| 27 |
DWORD dwLocalAddress; |
| 28 |
DWORD dwMaskAddress; |
| 29 |
DWORD dwTimeout; |
| 30 |
DWORD dwProcessors; |
| 31 |
WORD wTCPPort; |
| 32 |
WORD wUDPClientPort; |
| 33 |
WORD wUDPServerPort; |
| 34 |
WORD wNodeID; |
| 35 |
WORD wNodeType; |
| 36 |
WORD wNodeState; |
| 37 |
WORD wRetry; |
| 38 |
BOOL fDynamic; |
| 39 |
} |
| 40 |
WCS_STATUS, *LPWCS_STATUS; |
| 41 |
|
| 42 |
typedef struct _TCP_DATA |
| 43 |
{ |
| 44 |
DWORD dwDataSize; |
| 45 |
WORD wMsgType; |
| 46 |
WORD wSrcNodeType; |
| 47 |
WORD wDstNodeType; |
| 48 |
WORD wSrcNodeID; |
| 49 |
WORD wDstNodeID; |
| 50 |
DWORD dwOption; |
| 51 |
CByteArray data; |
| 52 |
} |
| 53 |
TCP_DATA, *LPTCP_DATA; |
| 54 |
|
| 55 |
// 4 KByte |
| 56 |
typedef struct _UDP_DATA |
| 57 |
{ |
| 58 |
WORD wMsgType; |
| 59 |
WORD wSrcNodeType; |
| 60 |
WORD wDstNodeType; |
| 61 |
WORD wSrcNodeID; |
| 62 |
WORD wDstNodeID; |
| 63 |
BYTE data[4086]; |
| 64 |
} |
| 65 |
UDP_DATA, *LPUDP_DATA; |
| 66 |
|
| 67 |
typedef struct _PLUGIN |
| 68 |
{ |
| 69 |
DWORD dwIndex; |
| 70 |
HINSTANCE hModule; |
| 71 |
CString csModuleName; |
| 72 |
CString csModulePath; |
| 73 |
CPlugin *obj; |
| 74 |
PLUGIN_INFO plgInfo; |
| 75 |
CREATE_PLUGIN fpCreate; |
| 76 |
RELEASE_PLUGIN fpRelease; |
| 77 |
} |
| 78 |
PLUGIN, *LPPLUGIN; |
| 79 |
|
| 80 |
typedef struct _TBITEM |
| 81 |
{ |
| 82 |
UINT nIndex; |
| 83 |
UINT nImageID; |
| 84 |
UINT nStyle; |
| 85 |
UINT nInfoID; |
| 86 |
COLORREF crMask; |
| 87 |
LPCTSTR lpText; |
| 88 |
} |
| 89 |
TBITEM, *LPTBITEM; |
| 90 |
|
| 91 |
typedef struct _BM_PROCESS |
| 92 |
{ |
| 93 |
int nIndex; |
| 94 |
double dbError; |
| 95 |
double dbRuntime; |
| 96 |
double dbGFLOPS; |
| 97 |
} |
| 98 |
BM_PROCESS, *LPBM_PROCESS; |
| 99 |
|
| 100 |
typedef struct _LOCKTIMER |
| 101 |
{ |
| 102 |
CCriticalSection cs; |
| 103 |
HANDLE hTimer; |
| 104 |
} |
| 105 |
LOCKTIMER, *LPLOCKTIMER; |
| 106 |
|
| 107 |
typedef struct _TRANSFER |
| 108 |
{ |
| 109 |
DWORD dwFileSize; |
| 110 |
TCHAR szFileName[_MAX_FNAME]; |
| 111 |
CByteArray data; |
| 112 |
} |
| 113 |
TRANSFER, *LPTRANSFER; |
| 114 |
|
| 115 |
typedef struct _BM_RANKING |
| 116 |
{ |
| 117 |
WORD wNodeID; |
| 118 |
WORD wRanking; |
| 119 |
double dbScore; |
| 120 |
|
| 121 |
BOOL operator < (const _BM_RANKING &br) const |
| 122 |
{ |
| 123 |
return (dbScore < br.dbScore); |
| 124 |
} |
| 125 |
|
| 126 |
BOOL operator > (const _BM_RANKING &br) const |
| 127 |
{ |
| 128 |
return (dbScore > br.dbScore); |
| 129 |
} |
| 130 |
} |
| 131 |
BM_RANKING, *LPBM_RANKING; |
| 132 |
|
| 133 |
typedef struct _BM_SYSTEMSCORE |
| 134 |
{ |
| 135 |
double dbTotal; |
| 136 |
double dbAvg; |
| 137 |
double dbHigh; |
| 138 |
double dbLow; |
| 139 |
} |
| 140 |
BM_SYSTEMSCORE, *LPBM_SYSTEMSCORE; |
| 141 |
|
| 142 |
////////////////////////////////////////////////////////////////////////// |
| 143 |
|
| 144 |
typedef CSortArray<BM_RANKING> BMRankList; |
| 145 |
typedef CArray<BM_DATA> BMDataList; |
| 146 |
typedef CArray<PLUGIN> PluginList; |
| 147 |
typedef CArray<int> IntList; |
| 148 |
|
| 149 |
////////////////////////////////////////////////////////////////////////// |