#pragma once #ifndef EXTERN_C #ifdef __cplusplus #define EXTERN_C extern "C" #else #define EXTERN_C extern #endif #endif #ifndef AUTHCHECK_EXPORTS #define AUTHCHECK_API EXTERN_C __declspec(dllimport) #else #define AUTHCHECK_API EXTERN_C __declspec(dllexport) #endif #ifndef IN #define IN #endif #ifndef OUT #define OUT #endif enum AuthCheckError { AUTHCHECK_ERROR_OK = 0, // OK AUTHCHECK_ERROR_INVALID_ARGUMENT, // Argument is not valid AUTHCHECK_ERROR_INVALID_PASSPORT, // NexonPassport is not valid AUTHCHECK_ERROR_TIMEOUT, // [obsolete] same as AUTHCHECK_ERROR_EXPIRED AUTHCHECK_ERROR_EXPIRED = AUTHCHECK_ERROR_TIMEOUT, // NexonPassport is valid, but arleady expired AUTHCHECK_ERROR_AUTH_SERVER_SHUTDOWN, // Authentication server is shutdown AUTHCHECK_ERROR_UNSUPPORTED_LOCALE, // Unsupported Locale ID AUTHCHECK_ERROR_SET_LOCALE_NEEDED, // call AuthCheck_SetLocale first AUTHCHECK_ERROR_NO_SERVER_INFORMATION, // no server information in config file AUTHCHECK_ERROR_USER_IP_MISMATCHED, // client ip address is mismatched with sso servers data }; #ifndef _NMLOCALEID_DEFINED_ #define _NMLOCALEID_DEFINED_ enum NMLOCALEID { kLocaleID_Null = 0x00000000, kLocaleID_KR = 0x00000001, // Korea, Republic of kLocaleID_KR_Test = 0x10000001, // Test kLocaleID_JP = 0x00000100, // Japan kLocaleID_JP_Test = 0x10000100, kLocaleID_JP2 = 0x00000101, // Japan arad kLocaleID_TW = 0x00000102, // Taiwan CSO kLocaleID_CN_CNC = 0x00000111, // China / CNC kLocaleID_CN_CT = 0x00000112, // China / CT kLocaleID_US = 0x00000200, // United States kLocaleID_EU = 0x00000300, // Europe }; #endif #ifndef _NMPASSPORTTYPE_DEFINED_ #define _NMPASSPORTTYPE_DEFINED_ enum PassportType { kPassportType_Undefined, kPassportType_Nexon, kPassportType_Guest, }; #endif /* returns : AUTHCHECK_ERROR_OK AUTHCHECK_ERROR_UNSUPPORTED_LOCALE */ AUTHCHECK_API AuthCheckError AuthCheck_SetLocale ( IN NMLOCALEID uLocale ); AUTHCHECK_API void AuthCheck_SetTimeout ( IN UINT32 uMilliseconds ); AUTHCHECK_API void AuthCheck_SetIntranetMode ( IN BOOL bSet ); AUTHCHECK_API void AuthCheck_SetSoapHostA ( IN const char * szHost // 32 ); AUTHCHECK_API void AuthCheck_SetSoapHostW ( IN const WCHAR * szHost // 32 ); AUTHCHECK_API PassportType AuthCheck_GetPassportTypeA ( IN const char * szPassport // 1024 ); AUTHCHECK_API PassportType AuthCheck_GetPassportTypeW ( IN const WCHAR * szPassport // 1024 ); /* returns : AUTHCHECK_ERROR_OK AUTHCHECK_ERROR_INVALID_ARGUMENT AUTHCHECK_ERROR_INVALID_PASSPORT AUTHCHECK_ERROR_EXPIRED */ AUTHCHECK_API AuthCheckError AuthCheck_LocalCheckPassportA ( IN const char* szPassport, // 1024 OUT char* pszId = NULL, // 32 OUT UINT32* pnNexonSN = NULL, OUT char* pszLoginIp = NULL, // 32 OUT UINT32* puSex = NULL, OUT UINT32* puAge = NULL, OUT UINT32* puPwdHash = NULL, OUT UINT32* puSsnHash = NULL, OUT UINT32* puFlag0 = NULL, OUT UINT32* puFlag1 = NULL, OUT UINT32* pnServerHash = NULL, OUT char* pszServerName = NULL, // 32 OUT char* pszNationCode = NULL // 3 ); /* returns : AUTHCHECK_ERROR_OK AUTHCHECK_ERROR_INVALID_ARGUMENT AUTHCHECK_ERROR_INVALID_PASSPORT AUTHCHECK_ERROR_EXPIRED */ AUTHCHECK_API AuthCheckError AuthCheck_LocalCheckPassportW ( IN const WCHAR* szPassport, // 1024 OUT WCHAR* pszId = NULL, // 32 OUT UINT32* pnNexonSN = NULL, OUT WCHAR* pszLoginIp = NULL, // 32 OUT UINT32* puSex = NULL, OUT UINT32* puAge = NULL, OUT UINT32* puPwdHash = NULL, OUT UINT32* puSsnHash = NULL, OUT UINT32* puFlag0 = NULL, OUT UINT32* puFlag1 = NULL, OUT UINT32* pnServerHash = NULL, OUT WCHAR* pszServerName = NULL, // 32 OUT WCHAR* pszNationCode = NULL // 3 ); /* returns : AUTHCHECK_ERROR_OK AUTHCHECK_ERROR_INVALID_ARGUMENT AUTHCHECK_ERROR_INVALID_PASSPORT AUTHCHECK_ERROR_EXPIRED */ AUTHCHECK_API AuthCheckError AuthCheck_LocalCheckPassport2A ( IN const char* szPassport, // 1024 OUT char* pszId = NULL, // 32 OUT UINT32* pnNexonSN = NULL, OUT char* pszLoginIp = NULL, // 32 OUT UINT32* puSex = NULL, OUT UINT32* puAge = NULL, OUT UINT32* puPwdHash = NULL, OUT UINT32* puSsnHash = NULL, OUT UINT32* puFlag0 = NULL, OUT UINT32* puFlag1 = NULL, OUT UINT32* pnServerHash = NULL, OUT char* pszServerName = NULL, // 32 OUT char* pszMeta = NULL // 1024 ); /* returns : AUTHCHECK_ERROR_OK AUTHCHECK_ERROR_INVALID_ARGUMENT AUTHCHECK_ERROR_INVALID_PASSPORT AUTHCHECK_ERROR_EXPIRED */ AUTHCHECK_API AuthCheckError AuthCheck_LocalCheckPassport2W ( IN const WCHAR* szPassport, // 1024 OUT WCHAR* pszId = NULL, // 32 OUT UINT32* pnNexonSN = NULL, OUT WCHAR* pszLoginIp = NULL, // 32 OUT UINT32* puSex = NULL, OUT UINT32* puAge = NULL, OUT UINT32* puPwdHash = NULL, OUT UINT32* puSsnHash = NULL, OUT UINT32* puFlag0 = NULL, OUT UINT32* puFlag1 = NULL, OUT UINT32* pnServerHash = NULL, OUT WCHAR* pszServerName = NULL, // 32 OUT WCHAR* pszMeta = NULL // 1024 ); /* returns : AUTHCHECK_ERROR_OK AUTHCHECK_ERROR_INVALID_ARGUMENT AUTHCHECK_ERROR_INVALID_PASSPORT AUTHCHECK_ERROR_EXPIRED AUTHCHECK_ERROR_AUTH_SERVER_SHUTDOWN */ AUTHCHECK_API AuthCheckError AuthCheck_CheckPassportA ( IN const char* szPassport, // 1024 IN const char* szUserIp, // 32 IN BOOL bRemoteOnly = TRUE, OUT char* pszId = NULL, // 32 OUT UINT32* pnNexonSN = NULL, OUT char* pszLoginIp = NULL, // 32 OUT UINT32* puSex = NULL, OUT UINT32* puAge = NULL, OUT UINT32* puPwdHash = NULL, OUT UINT32* puSsnHash = NULL, OUT UINT32* puFlag0 = NULL, OUT UINT32* puFlag1 = NULL, OUT char* pszMeta = NULL, // 1024 OUT char* pszNationCode = NULL // 3 ); /* returns : AUTHCHECK_ERROR_OK AUTHCHECK_ERROR_INVALID_ARGUMENT AUTHCHECK_ERROR_INVALID_PASSPORT AUTHCHECK_ERROR_EXPIRED AUTHCHECK_ERROR_AUTH_SERVER_SHUTDOWN */ AUTHCHECK_API AuthCheckError AuthCheck_CheckPassportW ( IN const WCHAR* szPassport, // 1024 IN const WCHAR* szUserIp, // 32 IN BOOL bRemoteOnly = TRUE, OUT WCHAR* pszId = NULL, // 32 OUT UINT32* pnNexonSN = NULL, OUT WCHAR* pszLoginIp = NULL, // 32 OUT UINT32* puSex = NULL, OUT UINT32* puAge = NULL, OUT UINT32* puPwdHash = NULL, OUT UINT32* puSsnHash = NULL, OUT UINT32* puFlag0 = NULL, OUT UINT32* puFlag1 = NULL, OUT WCHAR* pszMeta = NULL, // 1024 OUT WCHAR* pszNationCode = NULL // 3 ); AUTHCHECK_API UINT32 AuthCheck_GetHashValueA ( const char* szString ); AUTHCHECK_API UINT32 AuthCheck_GetHashValueW ( const WCHAR* wszString ); /* returns : AUTHCHECK_ERROR_OK AUTHCHECK_ERROR_INVALID_ARGUMENT AUTHCHECK_ERROR_INVALID_PASSPORT */ AUTHCHECK_API AuthCheckError AuthCheck_CheckGuestPassportA ( IN const char * szPassport, // 1024 OUT INT32 * pnGameCode = NULL, OUT INT64 * pnGuestSN = NULL, OUT char * pszGuestId = NULL, // 32 OUT char * pszLoginIp = NULL, // 32 OUT SYSTEMTIME * pTimeCreated = NULL, OUT SYSTEMTIME * pTimeToExpire = NULL ); /* returns : AUTHCHECK_ERROR_OK AUTHCHECK_ERROR_INVALID_ARGUMENT AUTHCHECK_ERROR_INVALID_PASSPORT */ AUTHCHECK_API AuthCheckError AuthCheck_CheckGuestPassportW ( IN const WCHAR * szPassport, // 1024 OUT INT32 * pnGameCode = NULL, OUT INT64 * pnGuestSN = NULL, OUT WCHAR * pszGuestId = NULL, // 32 OUT WCHAR * pszLoginIp = NULL, // 32 OUT SYSTEMTIME * pTimeCreated = NULL, OUT SYSTEMTIME * pTimeToExpire = NULL ); AUTHCHECK_API UINT32 AuthCheck_LoginA ( IN const char* szID, // 32 IN const char* szPwd, // 32 IN const char* szIP, // 32 IN UINT32 gameCode, IN UINT32 locale, OUT char* pszPassport = NULL, // 1024 OUT UINT32* pnUnreadNoteCount = NULL, OUT UINT32* pnStatusFlag = NULL, OUT UINT32* pnUpdateInterval = NULL ); AUTHCHECK_API UINT32 AuthCheck_LoginW ( IN const WCHAR* szID, // 32 IN const WCHAR* szPwd, // 32 IN const WCHAR* szIP, // 32 IN UINT32 gameCode, IN UINT32 locale, OUT WCHAR* pszPassport = NULL, // 1024 OUT UINT32* pnUnreadNoteCount = NULL, OUT UINT32* pnStatusFlag = NULL, OUT UINT32* pnUpdateInterval = NULL ); AUTHCHECK_API UINT32 AuthCheck_LogoutA ( IN const char* szPassport, // 1024 IN const char* szIP // 32 ); AUTHCHECK_API UINT32 AuthCheck_LogoutW ( IN const WCHAR* szPassport, // 1024 IN const WCHAR* szIP // 32 ); #if defined( UNICODE ) || defined( _UNICODE ) #define AuthCheck_SetSoapHost AuthCheck_SetSoapHostW #define AuthCheck_GetPassportType AuthCheck_GetPassportTypeW #define AuthCheck_LocalCheckPassport AuthCheck_LocalCheckPassportW #define AuthCheck_LocalCheckPassport2 AuthCheck_LocalCheckPassport2W #define AuthCheck_CheckPassport AuthCheck_CheckPassportW #define AuthCheck_GetHashValue AuthCheck_GetHashValueW #define AuthCheck_CheckGuestPassport AuthCheck_CheckGuestPassportW #define AuthCheck_Login AuthCheck_LoginW #define AuthCheck_Logout AuthCheck_LogoutW #else #define AuthCheck_SetSoapHost AuthCheck_SetSoapHostA #define AuthCheck_GetPassportType AuthCheck_GetPassportTypeA #define AuthCheck_LocalCheckPassport AuthCheck_LocalCheckPassportA #define AuthCheck_LocalCheckPassport2 AuthCheck_LocalCheckPassport2A #define AuthCheck_CheckPassport AuthCheck_CheckPassportA #define AuthCheck_GetHashValue AuthCheck_GetHashValueA #define AuthCheck_CheckGuestPassport AuthCheck_CheckGuestPassportA #define AuthCheck_Login AuthCheck_LoginA #define AuthCheck_Logout AuthCheck_LogoutA #endif