Files
2022-10-26 12:25:11 +08:00

795 lines
16 KiB
C

#pragma once
#include "PacketStruct.h"
#include "Protocol_SM.h"
#pragma pack(push,1)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SM_USER
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 로그인
struct MSG_SM_USER_LOGIN_SYN : public MSG_BASE
{
MSG_SM_USER_LOGIN_SYN()
{
m_byCategory = SM_USER;
m_byProtocol = SM_USER_LOGIN_SYN;
}
char m_szUserID[MAX_USERID_SIZE];
char m_szPassWord[MAX_PASSWORD_SIZE];
};
struct MSG_SM_USER_LOGIN_ACK : public MSG_BASE
{
MSG_SM_USER_LOGIN_ACK()
{
m_byCategory = SM_USER;
m_byProtocol = SM_USER_LOGIN_ACK;
}
BYTE m_byResult;
DWORD m_dwUserKey;
BYTE m_byGrade;
};
// 로그아웃
struct MSG_SM_USER_LOGOUT_SYN : public MSG_BASE
{
MSG_SM_USER_LOGOUT_SYN()
{
m_byCategory = SM_USER;
m_byProtocol = SM_USER_LOGOUT_SYN;
}
char m_szUserID[MAX_USERID_SIZE];
};
struct MSG_SM_USER_LOGOUT_ACK : public MSG_BASE
{
MSG_SM_USER_LOGOUT_ACK()
{
m_byCategory = SM_USER;
m_byProtocol = SM_USER_LOGOUT_ACK;
}
BYTE m_byResult;
DWORD m_dwUserKey;
};
// 신규 유저 등록
struct MSG_SM_USER_REGISTER_SYN : public MSG_BASE
{
MSG_SM_USER_REGISTER_SYN()
{
m_byCategory = SM_USER;
m_byProtocol = SM_USER_REGISTER_SYN;
}
char m_szUserID[MAX_USERID_SIZE];
char m_szPassWord[MAX_PASSWORD_SIZE];
BYTE m_byGrade;
char m_szUserIP[MAX_IP_SIZE];
};
struct MSG_SM_USER_REGISTER_ACK : public MSG_BASE
{
MSG_SM_USER_REGISTER_ACK()
{
m_byCategory = SM_USER;
m_byProtocol = SM_USER_REGISTER_ACK;
}
BYTE m_byResult;
};
struct MSG_SM_USER_IDLIST_REQ_SYN : public MSG_BASE
{
MSG_SM_USER_IDLIST_REQ_SYN()
{
m_byCategory = SM_USER;
m_byProtocol = SM_USER_IDLIST_REQ_SYN;
}
};
struct MSG_SM_USER_IDLIST_REQ_ACK : public MSG_BASE
{
MSG_SM_USER_IDLIST_REQ_ACK()
{
m_byCategory = SM_USER;
m_byProtocol = SM_USER_IDLIST_REQ_ACK;
}
int GetSize()
{
return ( sizeof(*this) - ( sizeof(TotalInfo) - TotalInfo.GetSize() ) );
}
BYTE m_byResult;
USER_ID_TOTAL_INFO TotalInfo;
};
struct MSG_SM_USER_MODIFY_PASSWORD_SYN : public MSG_BASE
{
MSG_SM_USER_MODIFY_PASSWORD_SYN()
{
m_byCategory = SM_USER;
m_byProtocol = SM_USER_MODIFY_PASSWORD_SYN;
}
TCHAR m_szPassWord[MAX_PASSWORD_SIZE];
};
struct MSG_SM_USER_MODIFY_PASSWORD_ACK : public MSG_BASE
{
MSG_SM_USER_MODIFY_PASSWORD_ACK()
{
m_byCategory = SM_USER;
m_byProtocol = SM_USER_MODIFY_PASSWORD_ACK;
}
BYTE m_byResult;
};
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SM_SERVER
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 서버 정보
struct MSG_SM_SERVER_INFO_CMD : public MSG_BASE
{
MSG_SM_SERVER_INFO_CMD()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_INFO_CMD;
}
int GetSize()
{
return ( sizeof(*this) - (SERVER_TOTAL_INFO::MAX_DATA_NUM-m_ServerTotalInfo.m_Count)*sizeof(SERVER_TOTAL_INFO::DATA_TYPE) );
}
SERVER_TOTAL_INFO m_ServerTotalInfo;
};
#ifdef __20080312__SOLARAUTH_SERVER_PATCH
struct MSG_SM_SCRIPTFOLDER_INFO_CMD : public MSG_BASE
{
MSG_SM_SCRIPTFOLDER_INFO_CMD()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SCRIPTFOLDER_INFO_CMD;
}
int GetSize()
{
return ( sizeof(*this) - ( SCRIPTFOLDER_TOTAL_INFO::MAX_DATA_NUM-m_SCFolderTotalInfo.m_Count)*sizeof(SCRIPTFOLDER_TOTAL_INFO::DATA_TYPE));
}
SCRIPTFOLDER_TOTAL_INFO m_SCFolderTotalInfo;
};
#endif
struct MSG_SM_SERVER_FTP_INFO_CMD : public MSG_BASE
{
MSG_SM_SERVER_FTP_INFO_CMD()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_FTP_INFO_CMD;
}
int GetSize()
{
return ( sizeof(*this) - (FTP_TOTAL_INFO::MAX_DATA_NUM-m_FtpTotalInfo.m_Count)*sizeof(FTP_TOTAL_INFO::DATA_TYPE) );
}
FTP_TOTAL_INFO m_FtpTotalInfo;
};
struct MSG_SM_SERVER_INFO_CHANGE_CMD : public MSG_BASE
{
enum { MAX_SERVER_COUNT = 100 };
MSG_SM_SERVER_INFO_CHANGE_CMD()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_INFO_CHANGE_CMD;
}
int GetSize()
{
return sizeof(MSG_SM_SERVER_INFO_CHANGE_CMD) - (sizeof(SERVER_INFO_EX))*(MAX_SERVER_COUNT-m_Count);
}
BYTE m_Count;
SERVER_INFO_EX m_ServerInfoEx[MAX_SERVER_COUNT];
};
// 신규 서버 등록
struct MSG_SM_SERVER_REGISTER_SYN : public MSG_BASE
{
MSG_SM_SERVER_REGISTER_SYN()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_REGISTER_SYN;
}
DWORD dwServerKey;
};
struct MSG_SM_SERVER_REGISTER_ACK : public MSG_BASE
{
MSG_SM_SERVER_REGISTER_ACK()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_REGISTER_ACK;
}
BYTE m_byResult;
};
// 서버 실행
struct MSG_SM_SERVER_EXECUTE_SYN : public MSG_BASE
{
MSG_SM_SERVER_EXECUTE_SYN()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_EXECUTE_SYN;
}
SERVER_INFO m_ServerInfo;
};
struct MSG_SM_SERVER_EXECUTE_ACK : public MSG_BASE
{
MSG_SM_SERVER_EXECUTE_ACK()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_EXECUTE_ACK;
}
BYTE m_byResult;
SERVER_INFO m_ServerInfo;
};
// 서버 종료
struct MSG_SM_SERVER_SHUTDOWN_SYN : public MSG_BASE
{
MSG_SM_SERVER_SHUTDOWN_SYN()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_SHUTDOWN_SYN;
}
SERVER_INFO m_ServerInfo;
};
struct MSG_SM_SERVER_SHUTDOWN_ACK : public MSG_BASE
{
MSG_SM_SERVER_SHUTDOWN_ACK()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_SHUTDOWN_ACK;
}
BYTE m_byResult;
SERVER_INFO m_ServerInfo;
};
struct MSG_SM_SERVER_FORCE_DISCONNECT_SYN : public MSG_BASE
{
MSG_SM_SERVER_FORCE_DISCONNECT_SYN()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_FORCE_DISCONNECT_SYN;
}
SERVER_INFO m_ServerInfo;
};
struct MSG_SM_SERVER_FORCE_DISCONNECT_ACK : public MSG_BASE
{
MSG_SM_SERVER_FORCE_DISCONNECT_ACK()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_FORCE_DISCONNECT_ACK;
}
BYTE m_byResult;
SERVER_INFO m_ServerInfo;
};
struct MSG_SM_SERVER_BACKUP_SYN : public MSG_BASE
{
MSG_SM_SERVER_BACKUP_SYN()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_BACKUP_SYN;
}
SERVER_INFO m_ServerInfo;
};
struct MSG_SM_SERVER_BACKUP_ACK : public MSG_BASE
{
MSG_SM_SERVER_BACKUP_ACK()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_BACKUP_ACK;
}
BYTE m_byResult;
DWORD m_dwUserKey;
SERVER_INFO m_ServerInfo;
};
struct MSG_SM_SERVER_RESTORE_SYN : public MSG_BASE
{
MSG_SM_SERVER_RESTORE_SYN()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_RESTORE_SYN;
}
SERVER_INFO m_ServerInfo;
};
struct MSG_SM_SERVER_RESTORE_ACK : public MSG_BASE
{
MSG_SM_SERVER_RESTORE_ACK()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_RESTORE_ACK;
}
BYTE m_byResult;
DWORD m_dwUserKey;
SERVER_INFO m_ServerInfo;
};
struct MSG_SM_SERVER_ACCESS_RIGHT_REQ_SYN : public MSG_BASE
{
MSG_SM_SERVER_ACCESS_RIGHT_REQ_SYN()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_ACCESS_RIGHT_REQ_SYN;
}
TCHAR m_szUserID[MAX_USERID_SIZE];
};
struct MSG_SM_SERVER_ACCESS_RIGHT_REQ_ACK : public MSG_BASE
{
MSG_SM_SERVER_ACCESS_RIGHT_REQ_ACK()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_ACCESS_RIGHT_REQ_ACK;
}
int GetSize()
{
return ( sizeof(*this) - (FTP_TOTAL_INFO::MAX_DATA_NUM-m_AccessTotalInfo.m_Count)*sizeof(SERVER_ACCESS_TOTAL_INFO::DATA_TYPE) );
}
BOOL m_byResult;
TCHAR m_szUserID[MAX_USERID_SIZE];
SERVER_ACCESS_TOTAL_INFO m_AccessTotalInfo;
};
struct MSG_SM_SERVER_ACCESS_RIGHT_SAVE_SYN : public MSG_BASE
{
MSG_SM_SERVER_ACCESS_RIGHT_SAVE_SYN()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_ACCESS_RIGHT_SAVE_SYN;
}
TCHAR m_szUserID[MAX_USERID_SIZE];
SERVER_ACCESS_TOTAL_INFO m_AccessTotalInfo;
int GetSize()
{
return ( sizeof(MSG_SM_SERVER_ACCESS_RIGHT_SAVE_SYN) - (FTP_TOTAL_INFO::MAX_DATA_NUM-m_AccessTotalInfo.m_Count)*sizeof(SERVER_ACCESS_TOTAL_INFO::DATA_TYPE) );
}
};
struct MSG_SM_SERVER_ACCESS_RIGHT_SAVE_ACK : public MSG_BASE
{
MSG_SM_SERVER_ACCESS_RIGHT_SAVE_ACK()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_ACCESS_RIGHT_SAVE_ACK;
}
TCHAR m_szUserID[MAX_USERID_SIZE];
BYTE m_byResult;
};
struct MSG_SM_SERVER_ACCESS_RIGHT_INIT_SYN : public MSG_BASE
{
MSG_SM_SERVER_ACCESS_RIGHT_INIT_SYN()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_ACCESS_RIGHT_INIT_SYN;
}
};
struct MSG_SM_SERVER_ACCESS_RIGHT_INIT_ACK : public MSG_BASE
{
MSG_SM_SERVER_ACCESS_RIGHT_INIT_ACK()
{
m_byCategory = SM_SERVER;
m_byProtocol = SM_SERVER_ACCESS_RIGHT_INIT_ACK;
}
};
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SM_AGENT
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
struct MSG_SM_AGENT_INFO_REQ_SYN : public MSG_BASE
{
MSG_SM_AGENT_INFO_REQ_SYN()
{
m_byCategory = SM_AGENT;
m_byProtocol = SM_AGENT_INFO_REQ_SYN;
}
};
struct MSG_SM_AGENT_INFO_REQ_ACK : public MSG_BASE
{
MSG_SM_AGENT_INFO_REQ_ACK()
{
m_byCategory = SM_AGENT;
m_byProtocol = SM_AGENT_INFO_REQ_ACK;
}
int GetSize()
{
return ( sizeof(*this) - (FTP_TOTAL_INFO::MAX_DATA_NUM-m_TotalInfo.m_Count)*sizeof(AGENT_TOTAL_INFO::DATA_TYPE) );
}
AGENT_TOTAL_INFO m_TotalInfo;
};
struct MSG_SM_AGENT_REGISTER_SYN : public MSG_BASE
{
MSG_SM_AGENT_REGISTER_SYN()
{
m_byCategory = SM_AGENT;
m_byProtocol = SM_AGENT_REGISTER_SYN;
}
TCHAR m_szIP[MAX_IP_SIZE];
};
struct MSG_SM_AGENT_REGISTER_ACK : public MSG_BASE
{
MSG_SM_AGENT_REGISTER_ACK()
{
m_byCategory = SM_AGENT;
m_byProtocol = SM_AGENT_REGISTER_ACK;
}
BYTE m_byResult;
DWORD m_dwKey;
TCHAR m_szIP[MAX_IP_SIZE];
};
struct MSG_SM_AGENT_DELETE_SYN : public MSG_BASE
{
MSG_SM_AGENT_DELETE_SYN()
{
m_byCategory = SM_AGENT;
m_byProtocol = SM_AGENT_DELETE_SYN;
}
DWORD m_dwKey;
};
struct MSG_SM_AGENT_DELETE_ACK : public MSG_BASE
{
MSG_SM_AGENT_DELETE_ACK()
{
m_byCategory = SM_AGENT;
m_byProtocol = SM_AGENT_DELETE_ACK;
}
BYTE m_byResult;
DWORD m_dwKey;
};
struct MSG_SM_AGENT_MODIFY_SYN : public MSG_BASE
{
MSG_SM_AGENT_MODIFY_SYN()
{
m_byCategory = SM_AGENT;
m_byProtocol = SM_AGENT_MODIFY_SYN;
}
DWORD m_dwKey;
TCHAR m_szIP[MAX_IP_SIZE];
};
struct MSG_SM_AGENT_MODIFY_ACK : public MSG_BASE
{
MSG_SM_AGENT_MODIFY_ACK()
{
m_byCategory = SM_AGENT;
m_byProtocol = SM_AGENT_MODIRY_ACK;
}
BYTE m_byResult;
DWORD m_dwKey;
TCHAR m_szIP[MAX_IP_SIZE];
};
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SM_PATCH
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 패치 실행
struct MSG_SM_PATCH_EXECUTE_SYN : public MSG_BASE
{
MSG_SM_PATCH_EXECUTE_SYN()
{
m_byCategory = SM_PATCH;
m_byProtocol = SM_PATCH_EXECUTE_SYN;
}
SERVER_INFO m_ServerInfo;
};
// 패치 시작 결과
struct MSG_SM_PATCH_EXECUTE_ACK : public MSG_BASE
{
MSG_SM_PATCH_EXECUTE_ACK()
{
m_byCategory = SM_PATCH;
m_byProtocol = SM_PATCH_EXECUTE_ACK;
}
BYTE m_byResult;
SERVER_INFO m_ServerInfo;
};
// 패치 완료 결과
struct MSG_SM_PATCH_RESULT_NTF : public MSG_BASE
{
MSG_SM_PATCH_RESULT_NTF()
{
m_byCategory = SM_PATCH;
m_byProtocol = SM_PATCH_RESULT_NTF;
}
PATCH_RESULT patch_result_;
SERVER_PATCH_INFO m_ServerPatchInfo;
};
// 패치파일 업로드 완료 통보
struct MSG_SM_PATCH_UPLOAD_NTF : public MSG_BASE
{
MSG_SM_PATCH_UPLOAD_NTF()
{
m_byCategory = SM_PATCH;
m_byProtocol = SM_PATCH_UPLOAD_NTF;
}
BYTE m_byVersion[3];
TCHAR m_szServerName[MAX_PATH];
TCHAR m_szChannelName[MAX_PATH];
};
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SM_CHECK
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
struct MSG_SM_CHECK_LOGFILE_SYN : public MSG_BASE
{
MSG_SM_CHECK_LOGFILE_SYN()
{
m_byCategory = SM_CHECK;
m_byProtocol = SM_CHECK_LOGFILE_SYN;
}
SERVER_INFO m_ServerInfo;
INT m_CntLogPage;//로그 페이지를 요청하기 위해 추가 20090318 민정영
};
struct MSG_SM_CHECK_LOGFILE_ACK : public MSG_BASE
{
MSG_SM_CHECK_LOGFILE_ACK()
{
m_byCategory = SM_CHECK;
m_byProtocol = SM_CHECK_LOGFILE_ACK;
m_wFileSize = 0;
}
BYTE m_byResult;
SERVER_INFO m_ServerInfo;
WORD m_wFileSize;
INT m_NumAllLogPage;//로그 요청한 서버의 로그 페이지 반환
char m_szLogFile[MAX_FILE_BUFFER_SIZE];
WORD GetSize()
{
return (WORD)( sizeof(*this) - ( sizeof(char)*MAX_FILE_BUFFER_SIZE - m_wFileSize ) );
}
};
struct MSG_SM_CHECK_GAMEPROCESS_NTF : public MSG_BASE
{
MSG_SM_CHECK_GAMEPROCESS_NTF()
{
m_byCategory = SM_CHECK;
m_byProtocol = SM_CHECK_GAMEPROCESS_NTF;
}
SERVER_INFO m_ServerInfo;
};
//////////////////////////////////////////////////////////////////////////
#ifdef __20080312__SOLARAUTH_SERVER_PATCH
// EXECUTE
struct MSG_SM_PATCH_SOLARSCRIPT_EXECUTE_SYN
: public MSG_BASE
{
MSG_SM_PATCH_SOLARSCRIPT_EXECUTE_SYN()
: MSG_BASE( SM_PATCH, SM_PATCH_SOLARSCRIPT_EXECUTE_SYN )
{
}
SCFOLDER_INFO m_FolderInfo;
};
struct MSG_SM_PATCH_SOLARSCRIPT_EXECUTE_ACK
: public MSG_BASE
{
MSG_SM_PATCH_SOLARSCRIPT_EXECUTE_ACK()
: MSG_BASE( SM_PATCH, SM_PATCH_SOLARSCRIPT_EXECUTE_ACK )
{
}
BYTE m_byResult;
SCFOLDER_INFO m_FolderInfo;
};
// BACKUP
struct MSG_SM_SERVER_SOLARSCRIPT_BACKUP_SYN
: public MSG_BASE
{
MSG_SM_SERVER_SOLARSCRIPT_BACKUP_SYN()
: MSG_BASE( SM_SERVER, SM_SERVER_SOLARSCRIPT_BACKUP_SYN )
{
}
SCFOLDER_INFO m_FolderInfo;
};
struct MSG_SM_SERVER_SOLARSCRIPT_BACKUP_ACK
: public MSG_BASE
{
MSG_SM_SERVER_SOLARSCRIPT_BACKUP_ACK()
: MSG_BASE( SM_SERVER, SM_SERVER_SOLARSCRIPT_BACKUP_ACK )
{
}
BYTE m_byResult;
SCFOLDER_INFO m_FolderInfo;
};
// RESTORE
struct MSG_SM_SERVER_SOLARSCRIPT_RESTORE_SYN
: public MSG_BASE
{
MSG_SM_SERVER_SOLARSCRIPT_RESTORE_SYN()
: MSG_BASE ( SM_SERVER, SM_SERVER_SOLARSCRIPT_RESTORE_SYN )
{
}
SCFOLDER_INFO m_FolderInfo;
};
struct MSG_SM_SERVER_SOLARSCRIPT_RESTORE_ACK
: public MSG_BASE
{
MSG_SM_SERVER_SOLARSCRIPT_RESTORE_ACK()
: MSG_BASE( SM_SERVER, SM_SERVER_SOLARSCRIPT_RESTORE_ACK )
{
}
BYTE m_byResult;
SCFOLDER_INFO m_FolderInfo;
};
// CONVERT
struct MSG_SM_SERVER_SOLARSCRIPT_CONVERT_SYN
: public MSG_BASE
{
MSG_SM_SERVER_SOLARSCRIPT_CONVERT_SYN()
: MSG_BASE( SM_SERVER, SM_SERVER_SOLARSCRIPT_CONVERT_SYN )
{
}
SCFOLDER_INFO m_FolderInfo;
};
struct MSG_SM_SERVER_SOLARSCRIPT_CONVERT_ACK
: public MSG_BASE
{
MSG_SM_SERVER_SOLARSCRIPT_CONVERT_ACK()
: MSG_BASE( SM_SERVER, SM_SERVER_SOLARSCRIPT_CONVERT_ACK )
{
}
int GetSize()
{
return ( sizeof(*this) - sizeof(CONVERT_RESULT_TOTAL_INFO) + m_ConvertResult.GetSize());
}
BYTE m_byResult;
SCFOLDER_INFO m_FolderInfo;
CONVERT_RESULT_TOTAL_INFO m_ConvertResult;
};
// NOTICE
// 공지사항을 Tool에서 띄우기위해 추가..
// 2012.2.23 김진휘..
//Text 정보를 가지고오는 PACKET
struct MSG_SM_SERVER_NOTICE_SYN : public MSG_BASE
{
MSG_SM_SERVER_NOTICE_SYN()
: MSG_BASE( SM_SERVER, SM_SERVER_NOTICE_SYN )
{
}
SERVER_INFO m_ServerInfo;
};
struct MSG_SM_SERVER_NOTICE_ACK : public MSG_BASE
{
MSG_SM_SERVER_NOTICE_ACK()
: MSG_BASE( SM_SERVER, SM_SERVER_NOTICE_ACK ), m_bConnectAgentServer( TRUE )
{
}
DWORD m_dwUserKey;
SERVER_INFO m_ServerInfo;
char m_szNotice[MAX_NOTICE_LEN];
BOOL m_bConnectAgentServer;
};
//Text 정보를 보내는 PACKET
struct MSG_SM_SERVER_SEND_NOTICE_SYN : public MSG_BASE
{
MSG_SM_SERVER_SEND_NOTICE_SYN()
: MSG_BASE( SM_SERVER, SM_SERVER_SEND_NOTICE_SYN )
{
}
SERVER_INFO m_ServerInfo;
char m_szNotice[MAX_NOTICE_LEN];
};
struct MSG_SM_SERVER_SEND_NOTICE_ACK : public MSG_BASE
{
MSG_SM_SERVER_SEND_NOTICE_ACK()
: MSG_BASE( SM_SERVER, SM_SERVER_SEND_NOTICE_ACK )
{
}
SERVER_INFO m_ServerInfo;
BOOL m_bFlag;
BOOL m_bConnectAgentServer;
};
#endif //__20080312__SOLARAUTH_SERVER_PATCH
//////////////////////////////////////////////////////////////////////////
#pragma pack(pop)