2018-12-08 21:12:39 +01:00
#if defined _SteamWorks_Included
#endinput
#endif
#define _SteamWorks_Included
/* results from UserHasLicenseForApp */
enum EUserHasLicenseForAppResult
{
k_EUserHasLicenseResultHasLicense = 0 , // User has a license for specified app
k_EUserHasLicenseResultDoesNotHaveLicense = 1 , // User does not have a license for the specified app
k_EUserHasLicenseResultNoAuth = 2 , // User has not been authenticated
};
/* General result codes */
enum EResult
{
k_EResultOK = 1 , // success
2019-09-10 16:33:50 +02:00
k_EResultFail = 2 , // generic failure
2018-12-08 21:12:39 +01:00
k_EResultNoConnection = 3 , // no/failed network connection
// k_EResultNoConnectionRetry = 4, // OBSOLETE - removed
k_EResultInvalidPassword = 5 , // password/ticket is invalid
k_EResultLoggedInElsewhere = 6 , // same user logged in elsewhere
k_EResultInvalidProtocolVer = 7 , // protocol version is incorrect
k_EResultInvalidParam = 8 , // a parameter is incorrect
k_EResultFileNotFound = 9 , // file was not found
k_EResultBusy = 10 , // called method busy - action not taken
k_EResultInvalidState = 11 , // called object was in an invalid state
k_EResultInvalidName = 12 , // name is invalid
k_EResultInvalidEmail = 13 , // email is invalid
k_EResultDuplicateName = 14 , // name is not unique
k_EResultAccessDenied = 15 , // access is denied
k_EResultTimeout = 16 , // operation timed out
k_EResultBanned = 17 , // VAC2 banned
k_EResultAccountNotFound = 18 , // account not found
k_EResultInvalidSteamID = 19 , // steamID is invalid
k_EResultServiceUnavailable = 20 , // The requested service is currently unavailable
k_EResultNotLoggedOn = 21 , // The user is not logged on
k_EResultPending = 22 , // Request is pending (may be in process, or waiting on third party)
k_EResultEncryptionFailure = 23 , // Encryption or Decryption failed
k_EResultInsufficientPrivilege = 24 , // Insufficient privilege
k_EResultLimitExceeded = 25 , // Too much of a good thing
k_EResultRevoked = 26 , // Access has been revoked (used for revoked guest passes)
k_EResultExpired = 27 , // License/Guest pass the user is trying to access is expired
k_EResultAlreadyRedeemed = 28 , // Guest pass has already been redeemed by account, cannot be acked again
k_EResultDuplicateRequest = 29 , // The request is a duplicate and the action has already occurred in the past, ignored this time
k_EResultAlreadyOwned = 30 , // All the games in this guest pass redemption request are already owned by the user
k_EResultIPNotFound = 31 , // IP address not found
k_EResultPersistFailed = 32 , // failed to write change to the data store
k_EResultLockingFailed = 33 , // failed to acquire access lock for this operation
k_EResultLogonSessionReplaced = 34 ,
k_EResultConnectFailed = 35 ,
k_EResultHandshakeFailed = 36 ,
k_EResultIOFailure = 37 ,
k_EResultRemoteDisconnect = 38 ,
k_EResultShoppingCartNotFound = 39 , // failed to find the shopping cart requested
k_EResultBlocked = 40 , // a user didn't allow it
k_EResultIgnored = 41 , // target is ignoring sender
k_EResultNoMatch = 42 , // nothing matching the request found
k_EResultAccountDisabled = 43 ,
k_EResultServiceReadOnly = 44 , // this service is not accepting content changes right now
k_EResultAccountNotFeatured = 45 , // account doesn't have value, so this feature isn't available
k_EResultAdministratorOK = 46 , // allowed to take this action, but only because requester is admin
k_EResultContentVersion = 47 , // A Version mismatch in content transmitted within the Steam protocol.
k_EResultTryAnotherCM = 48 , // The current CM can't service the user making a request, user should try another.
k_EResultPasswordRequiredToKickSession = 49 , // You are already logged in elsewhere, this cached credential login has failed.
k_EResultAlreadyLoggedInElsewhere = 50 , // You are already logged in elsewhere, you must wait
k_EResultSuspended = 51 , // Long running operation (content download) suspended/paused
k_EResultCancelled = 52 , // Operation canceled (typically by user: content download)
k_EResultDataCorruption = 53 , // Operation canceled because data is ill formed or unrecoverable
k_EResultDiskFull = 54 , // Operation canceled - not enough disk space.
k_EResultRemoteCallFailed = 55 , // an remote call or IPC call failed
k_EResultPasswordUnset = 56 , // Password could not be verified as it's unset server side
k_EResultExternalAccountUnlinked = 57 , // External account (PSN, Facebook...) is not linked to a Steam account
k_EResultPSNTicketInvalid = 58 , // PSN ticket was invalid
k_EResultExternalAccountAlreadyLinked = 59 , // External account (PSN, Facebook...) is already linked to some other account, must explicitly request to replace/delete the link first
k_EResultRemoteFileConflict = 60 , // The sync cannot resume due to a conflict between the local and remote files
k_EResultIllegalPassword = 61 , // The requested new password is not legal
k_EResultSameAsPreviousValue = 62 , // new value is the same as the old one ( secret question and answer )
k_EResultAccountLogonDenied = 63 , // account login denied due to 2nd factor authentication failure
k_EResultCannotUseOldPassword = 64 , // The requested new password is not legal
k_EResultInvalidLoginAuthCode = 65 , // account login denied due to auth code invalid
k_EResultAccountLogonDeniedNoMail = 66 , // account login denied due to 2nd factor auth failure - and no mail has been sent
2019-09-10 16:33:50 +02:00
k_EResultHardwareNotCapableOfIPT = 67 , //
k_EResultIPTInitError = 68 , //
2018-12-08 21:12:39 +01:00
k_EResultParentalControlRestricted = 69 , // operation failed due to parental control restrictions for current user
k_EResultFacebookQueryError = 70 , // Facebook query returned an error
k_EResultExpiredLoginAuthCode = 71 , // account login denied due to auth code expired
k_EResultIPLoginRestrictionFailed = 72 ,
k_EResultAccountLockedDown = 73 ,
k_EResultAccountLogonDeniedVerifiedEmailRequired = 74 ,
k_EResultNoMatchingURL = 75 ,
k_EResultBadResponse = 76 , // parse failure, missing field, etc.
k_EResultRequirePasswordReEntry = 77 , // The user cannot complete the action until they re-enter their password
k_EResultValueOutOfRange = 78 , // the value entered is outside the acceptable range
k_EResultUnexpectedError = 79 , // something happened that we didn't expect to ever happen
k_EResultDisabled = 80 , // The requested service has been configured to be unavailable
k_EResultInvalidCEGSubmission = 81 , // The set of files submitted to the CEG server are not valid !
k_EResultRestrictedDevice = 82 , // The device being used is not allowed to perform this action
k_EResultRegionLocked = 83 , // The action could not be complete because it is region restricted
k_EResultRateLimitExceeded = 84 , // Temporary rate limit exceeded, try again later, different from k_EResultLimitExceeded which may be permanent
k_EResultAccountLoginDeniedNeedTwoFactor = 85 , // Need two-factor code to login
k_EResultItemDeleted = 86 , // The thing we're trying to access has been deleted
k_EResultAccountLoginDeniedThrottle = 87 , // login attempt failed, try to throttle response to possible attacker
k_EResultTwoFactorCodeMismatch = 88 , // two factor code mismatch
k_EResultTwoFactorActivationCodeMismatch = 89 , // activation code for two-factor didn't match
k_EResultAccountAssociatedToMultiplePartners = 90 , // account has been associated with multiple partners
k_EResultNotModified = 91 , // data not modified
k_EResultNoMobileDevice = 92 , // the account does not have a mobile device associated with it
k_EResultTimeNotSynced = 93 , // the time presented is out of range or tolerance
k_EResultSmsCodeFailed = 94 , // SMS code failure (no match, none pending, etc.)
k_EResultAccountLimitExceeded = 95 , // Too many accounts access this resource
k_EResultAccountActivityLimitExceeded = 96 , // Too many changes to this account
k_EResultPhoneActivityLimitExceeded = 97 , // Too many changes to this phone
k_EResultRefundToWallet = 98 , // Cannot refund to payment method, must use wallet
k_EResultEmailSendFailure = 99 , // Cannot send an email
k_EResultNotSettled = 100 , // Can't perform operation till payment has settled
k_EResultNeedCaptcha = 101 , // Needs to provide a valid captcha
k_EResultGSLTDenied = 102 , // a game server login token owned by this token's owner has been banned
k_EResultGSOwnerDenied = 103 , // game server owner is denied for other reason (account lock, community ban, vac ban, missing phone)
k_EResultInvalidItemType = 104 // the type of thing we were requested to act on is invalid
};
/* This enum is used in client API methods, do not re-number existing values. */
enum EHTTPMethod
{
k_EHTTPMethodInvalid = 0 ,
k_EHTTPMethodGET ,
k_EHTTPMethodHEAD ,
k_EHTTPMethodPOST ,
k_EHTTPMethodPUT ,
k_EHTTPMethodDELETE ,
k_EHTTPMethodOPTIONS ,
k_EHTTPMethodPATCH ,
2019-09-10 16:33:50 +02:00
// The remaining HTTP methods are not yet supported, per rfc2616 section 5.1.1 only GET and HEAD are required for
2018-12-08 21:12:39 +01:00
// a compliant general purpose server. We'll likely add more as we find uses for them.
// k_EHTTPMethodTRACE,
// k_EHTTPMethodCONNECT
};
/* HTTP Status codes that the server can send in response to a request , see rfc2616 section 10.3 for descriptions
of each of these . */
enum EHTTPStatusCode
{
// Invalid status code (this isn't defined in HTTP, used to indicate unset in our code)
k_EHTTPStatusCodeInvalid = 0 ,
// Informational codes
k_EHTTPStatusCode100Continue = 100 ,
k_EHTTPStatusCode101SwitchingProtocols = 101 ,
// Success codes
k_EHTTPStatusCode200OK = 200 ,
k_EHTTPStatusCode201Created = 201 ,
k_EHTTPStatusCode202Accepted = 202 ,
k_EHTTPStatusCode203NonAuthoritative = 203 ,
k_EHTTPStatusCode204NoContent = 204 ,
k_EHTTPStatusCode205ResetContent = 205 ,
k_EHTTPStatusCode206PartialContent = 206 ,
// Redirection codes
k_EHTTPStatusCode300MultipleChoices = 300 ,
k_EHTTPStatusCode301MovedPermanently = 301 ,
k_EHTTPStatusCode302Found = 302 ,
k_EHTTPStatusCode303SeeOther = 303 ,
k_EHTTPStatusCode304NotModified = 304 ,
k_EHTTPStatusCode305UseProxy = 305 ,
//k_EHTTPStatusCode306Unused = 306, (used in old HTTP spec, now unused in 1.1)
k_EHTTPStatusCode307TemporaryRedirect = 307 ,
// Error codes
k_EHTTPStatusCode400BadRequest = 400 ,
k_EHTTPStatusCode401Unauthorized = 401 , // You probably want 403 or something else. 401 implies you're sending a WWW-Authenticate header and the client can sent an Authorization header in response.
k_EHTTPStatusCode402PaymentRequired = 402 , // This is reserved for future HTTP specs, not really supported by clients
k_EHTTPStatusCode403Forbidden = 403 ,
k_EHTTPStatusCode404NotFound = 404 ,
k_EHTTPStatusCode405MethodNotAllowed = 405 ,
k_EHTTPStatusCode406NotAcceptable = 406 ,
k_EHTTPStatusCode407ProxyAuthRequired = 407 ,
k_EHTTPStatusCode408RequestTimeout = 408 ,
k_EHTTPStatusCode409Conflict = 409 ,
k_EHTTPStatusCode410Gone = 410 ,
k_EHTTPStatusCode411LengthRequired = 411 ,
k_EHTTPStatusCode412PreconditionFailed = 412 ,
k_EHTTPStatusCode413RequestEntityTooLarge = 413 ,
k_EHTTPStatusCode414RequestURITooLong = 414 ,
k_EHTTPStatusCode415UnsupportedMediaType = 415 ,
k_EHTTPStatusCode416RequestedRangeNotSatisfiable = 416 ,
k_EHTTPStatusCode417ExpectationFailed = 417 ,
k_EHTTPStatusCode4xxUnknown = 418 , // 418 is reserved, so we'll use it to mean unknown
k_EHTTPStatusCode429TooManyRequests = 429 ,
// Server error codes
k_EHTTPStatusCode500InternalServerError = 500 ,
k_EHTTPStatusCode501NotImplemented = 501 ,
k_EHTTPStatusCode502BadGateway = 502 ,
k_EHTTPStatusCode503ServiceUnavailable = 503 ,
k_EHTTPStatusCode504GatewayTimeout = 504 ,
k_EHTTPStatusCode505HTTPVersionNotSupported = 505 ,
k_EHTTPStatusCode5xxUnknown = 599 ,
};
/* list of possible return values from the ISteamGameCoordinator API */
enum EGCResults
{
k_EGCResultOK = 0 ,
k_EGCResultNoMessage = 1 , // There is no message in the queue
k_EGCResultBufferTooSmall = 2 , // The buffer is too small for the requested message
k_EGCResultNotLoggedOn = 3 , // The client is not logged onto Steam
k_EGCResultInvalidMessage = 4 , // Something was wrong with the message being sent with SendMessage
};
native bool : SteamWorks_IsVACEnabled ();
native bool : SteamWorks_GetPublicIP ( ipaddr [ 4 ]);
native SteamWorks_GetPublicIPCell ();
native bool : SteamWorks_IsLoaded ();
native bool : SteamWorks_SetGameData ( const String : sData []);
native bool : SteamWorks_SetGameDescription ( const String : sDesc []);
native bool : SteamWorks_SetMapName ( const String : sMapName []);
native bool : SteamWorks_IsConnected ();
native bool : SteamWorks_SetRule ( const String : sKey [], const String : sValue []);
native bool : SteamWorks_ClearRules ();
native bool : SteamWorks_ForceHeartbeat ();
native bool : SteamWorks_GetUserGroupStatus ( client , groupid );
native bool : SteamWorks_GetUserGroupStatusAuthID ( authid , groupid );
native EUserHasLicenseForAppResult : SteamWorks_HasLicenseForApp ( client , app );
native EUserHasLicenseForAppResult : SteamWorks_HasLicenseForAppId ( authid , app );
native SteamWorks_GetClientSteamID ( client , String : sSteamID [], length );
native bool : SteamWorks_RequestStatsAuthID ( authid , appid );
native bool : SteamWorks_RequestStats ( client , appid );
native bool : SteamWorks_GetStatCell ( client , const String : sKey [], & value );
native bool : SteamWorks_GetStatAuthIDCell ( authid , const String : sKey [], & value );
native bool : SteamWorks_GetStatFloat ( client , const String : sKey [], & Float : value );
native bool : SteamWorks_GetStatAuthIDFloat ( authid , const String : sKey [], & Float : value );
native Handle : SteamWorks_CreateHTTPRequest ( EHTTPMethod : method , const String : sURL []);
native bool : SteamWorks_SetHTTPRequestContextValue ( Handle : hHandle , any : data1 , any : data2 = 0 );
native bool : SteamWorks_SetHTTPRequestNetworkActivityTimeout ( Handle : hHandle , timeout );
native bool : SteamWorks_SetHTTPRequestHeaderValue ( Handle : hHandle , const String : sName [], const String : sValue []);
native bool : SteamWorks_SetHTTPRequestGetOrPostParameter ( Handle : hHandle , const String : sName [], const String : sValue []);
native bool : SteamWorks_SetHTTPRequestUserAgentInfo ( Handle : hHandle , const String : sUserAgentInfo []);
native bool : SteamWorks_SetHTTPRequestRequiresVerifiedCertificate ( Handle : hHandle , bool : bRequireVerifiedCertificate );
native bool : SteamWorks_SetHTTPRequestAbsoluteTimeoutMS ( Handle : hHandle , unMilliseconds );
2019-09-10 16:33:50 +02:00
#if SOURCEMOD_V_MAJOR >= 1 && SOURCEMOD_V_MINOR >= 9
typeset SteamWorksHTTPRequestCompleted
{
function void ( Handle hRequest , bool bFailure , bool bRequestSuccessful , EHTTPStatusCode eStatusCode );
function void ( Handle hRequest , bool bFailure , bool bRequestSuccessful , EHTTPStatusCode eStatusCode , any data1 );
function void ( Handle hRequest , bool bFailure , bool bRequestSuccessful , EHTTPStatusCode eStatusCode , any data1 , any data2 );
};
typeset SteamWorksHTTPHeadersReceived
{
function void ( Handle hRequest , bool bFailure );
function void ( Handle hRequest , bool bFailure , any data1 );
function void ( Handle hRequest , bool bFailure , any data1 , any data2 );
};
typeset SteamWorksHTTPDataReceived
{
function void ( Handle hRequest , bool bFailure , int offset , int bytesreceived );
function void ( Handle hRequest , bool bFailure , int offset , int bytesreceived , any data1 );
function void ( Handle hRequest , bool bFailure , int offset , int bytesreceived , any data1 , any data2 );
};
typeset SteamWorksHTTPBodyCallback
{
2023-08-29 18:10:57 +02:00
function void ( const char [] sData );
function void ( const char [] sData , any value );
function void ( const int [] data , any value , int datalen );
2019-09-10 16:33:50 +02:00
};
#else
2018-12-08 21:12:39 +01:00
funcenum SteamWorksHTTPRequestCompleted
{
public ( Handle : hRequest , bool : bFailure , bool : bRequestSuccessful , EHTTPStatusCode : eStatusCode ),
public ( Handle : hRequest , bool : bFailure , bool : bRequestSuccessful , EHTTPStatusCode : eStatusCode , any : data1 ),
public ( Handle : hRequest , bool : bFailure , bool : bRequestSuccessful , EHTTPStatusCode : eStatusCode , any : data1 , any : data2 )
};
funcenum SteamWorksHTTPHeadersReceived
{
public ( Handle : hRequest , bool : bFailure ),
public ( Handle : hRequest , bool : bFailure , any : data1 ),
public ( Handle : hRequest , bool : bFailure , any : data1 , any : data2 )
};
funcenum SteamWorksHTTPDataReceived
{
public ( Handle : hRequest , bool : bFailure , offset , bytesreceived ),
public ( Handle : hRequest , bool : bFailure , offset , bytesreceived , any : data1 ),
public ( Handle : hRequest , bool : bFailure , offset , bytesreceived , any : data1 , any : data2 )
};
2019-09-10 16:33:50 +02:00
funcenum SteamWorksHTTPBodyCallback
{
public ( const String : sData []),
public ( const String : sData [], any : value ),
public ( const data [], any : value , datalen )
};
#endif
2018-12-08 21:12:39 +01:00
native bool : SteamWorks_SetHTTPCallbacks ( Handle : hHandle , SteamWorksHTTPRequestCompleted : fCompleted = INVALID_FUNCTION , SteamWorksHTTPHeadersReceived : fHeaders = INVALID_FUNCTION , SteamWorksHTTPDataReceived : fData = INVALID_FUNCTION , Handle : hCalling = INVALID_HANDLE );
native bool : SteamWorks_SendHTTPRequest ( Handle : hRequest );
native bool : SteamWorks_SendHTTPRequestAndStreamResponse ( Handle : hRequest );
native bool : SteamWorks_DeferHTTPRequest ( Handle : hRequest );
native bool : SteamWorks_PrioritizeHTTPRequest ( Handle : hRequest );
native bool : SteamWorks_GetHTTPResponseHeaderSize ( Handle : hRequest , const String : sHeader [], & size );
native bool : SteamWorks_GetHTTPResponseHeaderValue ( Handle : hRequest , const String : sHeader [], String : sValue [], size );
native bool : SteamWorks_GetHTTPResponseBodySize ( Handle : hRequest , & size );
native bool : SteamWorks_GetHTTPResponseBodyData ( Handle : hRequest , String : sBody [], length );
native bool : SteamWorks_GetHTTPStreamingResponseBodyData ( Handle : hRequest , cOffset , String : sBody [], length );
native bool : SteamWorks_GetHTTPDownloadProgressPct ( Handle : hRequest , & Float : percent );
native bool : SteamWorks_GetHTTPRequestWasTimedOut ( Handle : hRequest , & bool : bWasTimedOut );
native bool : SteamWorks_SetHTTPRequestRawPostBody ( Handle : hRequest , const String : sContentType [], const String : sBody [], bodylen );
2019-09-10 16:33:50 +02:00
native bool : SteamWorks_SetHTTPRequestRawPostBodyFromFile ( Handle : hRequest , const String : sContentType [], const String : sFileName []);
2018-12-08 21:12:39 +01:00
2019-09-10 16:33:50 +02:00
native bool : SteamWorks_GetHTTPResponseBodyCallback ( Handle : hRequest , SteamWorksHTTPBodyCallback : fCallback , any : data = 0 , Handle : hPlugin = INVALID_HANDLE ); /* Look up, moved definition for 1.7+ compat. */
2018-12-08 21:12:39 +01:00
native bool : SteamWorks_WriteHTTPResponseBodyToFile ( Handle : hRequest , const String : sFileName []);
forward SW_OnValidateClient ( ownerauthid , authid );
forward SteamWorks_OnValidateClient ( ownerauthid , authid );
forward SteamWorks_SteamServersConnected ();
forward SteamWorks_SteamServersConnectFailure ( EResult : result );
forward SteamWorks_SteamServersDisconnected ( EResult : result );
forward Action : SteamWorks_RestartRequested ();
forward SteamWorks_TokenRequested ( String : sToken [], maxlen );
forward SteamWorks_OnClientGroupStatus ( authid , groupid , bool : isMember , bool : isOfficer );
forward EGCResults : SteamWorks_GCSendMessage ( unMsgType , const String : pubData [], cubData );
forward SteamWorks_GCMsgAvailable ( cubData );
forward EGCResults : SteamWorks_GCRetrieveMessage ( punMsgType , const String : pubDest [], cubDest , pcubMsgSize );
native EGCResults : SteamWorks_SendMessageToGC ( unMsgType , const String : pubData [], cubData );
2019-09-10 16:33:50 +02:00
public Extension : __ext_SteamWorks =
2018-12-08 21:12:39 +01:00
{
name = " SteamWorks " ,
file = " SteamWorks.ext " ,
#if defined AUTOLOAD_EXTENSIONS
autoload = 1 ,
#else
autoload = 0 ,
#endif
#if defined REQUIRE_EXTENSIONS
required = 1 ,
#else
required = 0 ,
#endif
};
#if !defined REQUIRE_EXTENSIONS
public __ext_SteamWorks_SetNTVOptional ()
{
MarkNativeAsOptional ( " SteamWorks_IsVACEnabled " );
MarkNativeAsOptional ( " SteamWorks_GetPublicIP " );
MarkNativeAsOptional ( " SteamWorks_GetPublicIPCell " );
MarkNativeAsOptional ( " SteamWorks_IsLoaded " );
MarkNativeAsOptional ( " SteamWorks_SetGameData " );
MarkNativeAsOptional ( " SteamWorks_SetGameDescription " );
MarkNativeAsOptional ( " SteamWorks_IsConnected " );
MarkNativeAsOptional ( " SteamWorks_SetRule " );
MarkNativeAsOptional ( " SteamWorks_ClearRules " );
MarkNativeAsOptional ( " SteamWorks_ForceHeartbeat " );
MarkNativeAsOptional ( " SteamWorks_GetUserGroupStatus " );
MarkNativeAsOptional ( " SteamWorks_GetUserGroupStatusAuthID " );
MarkNativeAsOptional ( " SteamWorks_HasLicenseForApp " );
MarkNativeAsOptional ( " SteamWorks_HasLicenseForAppId " );
MarkNativeAsOptional ( " SteamWorks_GetClientSteamID " );
MarkNativeAsOptional ( " SteamWorks_RequestStatsAuthID " );
MarkNativeAsOptional ( " SteamWorks_RequestStats " );
MarkNativeAsOptional ( " SteamWorks_GetStatCell " );
MarkNativeAsOptional ( " SteamWorks_GetStatAuthIDCell " );
MarkNativeAsOptional ( " SteamWorks_GetStatFloat " );
MarkNativeAsOptional ( " SteamWorks_GetStatAuthIDFloat " );
MarkNativeAsOptional ( " SteamWorks_SendMessageToGC " );
MarkNativeAsOptional ( " SteamWorks_CreateHTTPRequest " );
MarkNativeAsOptional ( " SteamWorks_SetHTTPRequestContextValue " );
MarkNativeAsOptional ( " SteamWorks_SetHTTPRequestNetworkActivityTimeout " );
MarkNativeAsOptional ( " SteamWorks_SetHTTPRequestHeaderValue " );
MarkNativeAsOptional ( " SteamWorks_SetHTTPRequestGetOrPostParameter " );
MarkNativeAsOptional ( " SteamWorks_SetHTTPCallbacks " );
MarkNativeAsOptional ( " SteamWorks_SendHTTPRequest " );
MarkNativeAsOptional ( " SteamWorks_SendHTTPRequestAndStreamResponse " );
MarkNativeAsOptional ( " SteamWorks_DeferHTTPRequest " );
MarkNativeAsOptional ( " SteamWorks_PrioritizeHTTPRequest " );
MarkNativeAsOptional ( " SteamWorks_GetHTTPResponseHeaderSize " );
MarkNativeAsOptional ( " SteamWorks_GetHTTPResponseHeaderValue " );
MarkNativeAsOptional ( " SteamWorks_GetHTTPResponseBodySize " );
MarkNativeAsOptional ( " SteamWorks_GetHTTPResponseBodyData " );
MarkNativeAsOptional ( " SteamWorks_GetHTTPStreamingResponseBodyData " );
MarkNativeAsOptional ( " SteamWorks_GetHTTPDownloadProgressPct " );
MarkNativeAsOptional ( " SteamWorks_SetHTTPRequestRawPostBody " );
2019-09-10 16:33:50 +02:00
MarkNativeAsOptional ( " SteamWorks_SetHTTPRequestRawPostBodyFromFile " );
2018-12-08 21:12:39 +01:00
MarkNativeAsOptional ( " SteamWorks_GetHTTPResponseBodyCallback " );
MarkNativeAsOptional ( " SteamWorks_WriteHTTPResponseBodyToFile " );
}
2019-09-10 16:33:50 +02:00
#endif