1 #ifndef VG_STEAM_REMOTE_STORAGE_H
2 #define VG_STEAM_REMOTE_STORAGE_H
6 const u32 k_unMaxCloudFileChunkSize
= 100 * 1024 * 1024;
8 #if defined( VALVE_CALLBACK_PACK_SMALL )
9 #pragma pack( push, 4 )
10 #elif defined( VALVE_CALLBACK_PACK_LARGE )
11 #pragma pack( push, 8 )
13 #error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx
15 typedef struct SteamParamStringArray_t SteamParamStringArray_t
;
16 struct SteamParamStringArray_t
{
17 const char **m_ppStrings
;
22 /* A handle to a piece of user generated content */
23 typedef void ISteamRemoteStorage
;
24 typedef u64 UGCHandle_t
;
25 typedef u64 PublishedFileUpdateHandle_t
;
26 typedef u64 PublishedFileId_t
;
27 const PublishedFileId_t k_PublishedFileIdInvalid
= 0;
28 const UGCHandle_t k_UGCHandleInvalid
= 0xffffffffffffffffull
;
29 const PublishedFileUpdateHandle_t
30 k_PublishedFileUpdateHandleInvalid
= 0xffffffffffffffffull
;
32 /* Handle for writing to Steam Cloud */
33 typedef u64 UGCFileWriteStreamHandle_t
;
34 const UGCFileWriteStreamHandle_t
35 k_UGCFileStreamHandleInvalid
= 0xffffffffffffffffull
;
37 enum{ k_cchPublishedDocumentTitleMax
= 128 + 1 };
38 enum{ k_cchPublishedDocumentDescriptionMax
= 8000 };
39 enum{ k_cchPublishedDocumentChangeDescriptionMax
= 8000 };
40 enum{ k_unEnumeratePublishedFilesMaxResults
= 50 };
41 enum{ k_cchTagListMax
= 1024 + 1 };
42 enum{ k_cchFilenameMax
= 260 };
43 enum{ k_cchPublishedFileURLMax
= 256 };
45 typedef enum ERemoteStoragePlatform ERemoteStoragePlatform
;
46 enum ERemoteStoragePlatform
{
47 k_ERemoteStoragePlatformNone
= 0,
48 k_ERemoteStoragePlatformWindows
= (1 << 0),
49 k_ERemoteStoragePlatformOSX
= (1 << 1),
50 k_ERemoteStoragePlatformPS3
= (1 << 2),
51 k_ERemoteStoragePlatformLinux
= (1 << 3),
52 k_ERemoteStoragePlatformSwitch
= (1 << 4),
53 k_ERemoteStoragePlatformAndroid
= (1 << 5),
54 k_ERemoteStoragePlatformIOS
= (1 << 6),
56 /* NB we get one more before we need to widen some things */
57 k_ERemoteStoragePlatformAll
= 0xffffffff
60 typedef enum ERemoteStoragePublishedFileVisibility
61 ERemoteStoragePublishedFileVisibility
;
62 enum ERemoteStoragePublishedFileVisibility
{
63 k_ERemoteStoragePublishedFileVisibilityPublic
= 0,
64 k_ERemoteStoragePublishedFileVisibilityFriendsOnly
= 1,
65 k_ERemoteStoragePublishedFileVisibilityPrivate
= 2,
66 k_ERemoteStoragePublishedFileVisibilityUnlisted
= 3,
70 typedef enum EWorkshopFileType EWorkshopFileType
;
71 enum EWorkshopFileType
{
72 k_EWorkshopFileTypeFirst
= 0,
73 k_EWorkshopFileTypeCommunity
= 0,
74 k_EWorkshopFileTypeMicrotransaction
= 1,
75 k_EWorkshopFileTypeCollection
= 2,
76 k_EWorkshopFileTypeArt
= 3,
77 k_EWorkshopFileTypeVideo
= 4,
78 k_EWorkshopFileTypeScreenshot
= 5,
79 k_EWorkshopFileTypeGame
= 6,
80 k_EWorkshopFileTypeSoftware
= 7,
81 k_EWorkshopFileTypeConcept
= 8,
82 k_EWorkshopFileTypeWebGuide
= 9,
83 k_EWorkshopFileTypeIntegratedGuide
= 10,
84 k_EWorkshopFileTypeMerch
= 11,
85 k_EWorkshopFileTypeControllerBinding
= 12,
86 k_EWorkshopFileTypeSteamworksAccessInvite
= 13,
87 k_EWorkshopFileTypeSteamVideo
= 14,
88 k_EWorkshopFileTypeGameManagedItem
= 15,
89 k_EWorkshopFileTypeMax
= 16
92 typedef enum EWorkshopVote EWorkshopVote
;
94 k_EWorkshopVoteUnvoted
= 0,
95 k_EWorkshopVoteFor
= 1,
96 k_EWorkshopVoteAgainst
= 2,
97 k_EWorkshopVoteLater
= 3,
100 typedef enum EWorkshopFileAction EWorkshopFileAction
;
101 enum EWorkshopFileAction
{
102 k_EWorkshopFileActionPlayed
= 0,
103 k_EWorkshopFileActionCompleted
= 1,
106 typedef enum EWorkshopEnumerationType EWorkshopEnumerationType
;
107 enum EWorkshopEnumerationType
{
108 k_EWorkshopEnumerationTypeRankedByVote
= 0,
109 k_EWorkshopEnumerationTypeRecent
= 1,
110 k_EWorkshopEnumerationTypeTrending
= 2,
111 k_EWorkshopEnumerationTypeFavoritesOfFriends
= 3,
112 k_EWorkshopEnumerationTypeVotedByFriends
= 4,
113 k_EWorkshopEnumerationTypeContentByFriends
= 5,
114 k_EWorkshopEnumerationTypeRecentFromFollowedUsers
= 6,
117 typedef enum EWorkshopVideoProvider EWorkshopVideoProvider
;
118 enum EWorkshopVideoProvider
{
119 k_EWorkshopVideoProviderNone
= 0,
120 k_EWorkshopVideoProviderYoutube
= 1
123 typedef enum EUGCReadAction EUGCReadAction
;
125 k_EUGCRead_ContinueReadingUntilFinished
= 0,
126 k_EUGCRead_ContinueReading
= 1,
127 k_EUGCRead_Close
= 2,
130 typedef enum ERemoteStorageLocalFileChange ERemoteStorageLocalFileChange
;
131 enum ERemoteStorageLocalFileChange
{
132 k_ERemoteStorageLocalFileChange_Invalid
= 0,
133 k_ERemoteStorageLocalFileChange_FileUpdated
= 1,
134 k_ERemoteStorageLocalFileChange_FileDeleted
= 2,
137 typedef enum ERemoteStorageFilePathType ERemoteStorageFilePathType
;
138 enum ERemoteStorageFilePathType
{
139 k_ERemoteStorageFilePathType_Invalid
= 0,
140 k_ERemoteStorageFilePathType_Absolute
= 1,
141 k_ERemoteStorageFilePathType_APIFilename
= 2,
144 #define STEAMREMOTESTORAGE_INTERFACE_VERSION \
145 "STEAMREMOTESTORAGE_INTERFACE_VERSION016"
147 #if defined( VALVE_CALLBACK_PACK_SMALL )
148 #pragma pack( push, 4 )
149 #elif defined( VALVE_CALLBACK_PACK_LARGE )
150 #pragma pack( push, 8 )
152 #error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx
155 typedef struct RemoteStorageFileShareResult_t RemoteStorageFileShareResult_t
;
156 struct RemoteStorageFileShareResult_t
{
159 char m_rgchFilename
[k_cchFilenameMax
];
161 enum { k_iRemoteStorageFileShareResult
= k_iSteamRemoteStorageCallbacks
+ 7 };
163 typedef struct RemoteStoragePublishFileResult_t
164 RemoteStoragePublishFileResult_t
;
165 struct RemoteStoragePublishFileResult_t
{
167 PublishedFileId_t m_nPublishedFileId
;
168 steamapi_bool m_bUserNeedsToAcceptWorkshopLegalAgreement
;
170 enum { k_iRemoteStoragePublushFileResult
= k_iSteamRemoteStorageCallbacks
+ 9 };
172 typedef struct RemoteStorageDeletePublishedFileResult_t
173 RemoteStorageDeletePublishedFileResult_t
;
174 struct RemoteStorageDeletePublishedFileResult_t
{
176 PublishedFileId_t m_nPublishedFileId
;
178 enum { k_iRemoteStorageDeletePublishedFileResult
=
179 k_iSteamRemoteStorageCallbacks
+ 11 };
181 typedef struct RemoteStorageEnumerateUserPublishedFilesResult_t
182 RemoteStorageEnumerateUserPublishedFilesResult_t
;
183 struct RemoteStorageEnumerateUserPublishedFilesResult_t
{
185 i32 m_nResultsReturned
;
186 i32 m_nTotalResultCount
;
187 PublishedFileId_t m_rgPublishedFileId
[k_unEnumeratePublishedFilesMaxResults
];
189 enum { k_iRemoteStorageEnumerateUserPublishedFilesResult
=
190 k_iSteamRemoteStorageCallbacks
+ 12 };
192 typedef struct RemoteStorageSubscribePublishedFileResult_t
193 RemoteStorageSubscribePublishedFileResult_t
;
194 struct RemoteStorageSubscribePublishedFileResult_t
{
196 PublishedFileId_t m_nPublishedFileId
;
198 enum { k_iRemoteStorageSubscribePublishedFileResult
=
199 k_iSteamRemoteStorageCallbacks
+ 13 };
202 typedef struct RemoteStorageEnumerateUserSubscribedFilesResult_t
203 RemoteStorageEnumerateUserSubscribedFilesResult_t
;
204 struct RemoteStorageEnumerateUserSubscribedFilesResult_t
{
206 i32 m_nResultsReturned
;
207 i32 m_nTotalResultCount
;
208 PublishedFileId_t m_rgPublishedFileId
[k_unEnumeratePublishedFilesMaxResults
];
209 u32 m_rgRTimeSubscribed
[ k_unEnumeratePublishedFilesMaxResults
];
211 enum { k_iRemoteStorageEnumerateUserSubscribedFilesResult
=
212 k_iSteamRemoteStorageCallbacks
+ 14 };
214 typedef struct RemoteStorageUnsubscribePublishedFileResult_t
215 RemoteStorageUnsubscribePublishedFileResult_t
;
216 struct RemoteStorageUnsubscribePublishedFileResult_t
{
218 PublishedFileId_t m_nPublishedFileId
;
220 enum { k_iRemoteStorageUnsubscribePublishedFileResult
=
221 k_iSteamRemoteStorageCallbacks
+ 15 };
223 typedef struct RemoteStorageUpdatePublishedFileResult_t
224 RemoteStorageUpdatePublishedFileResult_t
;
225 struct RemoteStorageUpdatePublishedFileResult_t
{
227 PublishedFileId_t m_nPublishedFileId
;
228 steamapi_bool m_bUserNeedsToAcceptWorkshopLegalAgreement
;
230 enum { k_iRemoteStorageUpdatePublishedFileResult
=
231 k_iSteamRemoteStorageCallbacks
+ 16 };
234 typedef struct RemoteStorageDownloadUGCResult_t
235 RemoteStorageDownloadUGCResult_t
;
236 struct RemoteStorageDownloadUGCResult_t
{
241 char m_pchFileName
[k_cchFilenameMax
];
242 u64 m_ulSteamIDOwner
;
244 enum { k_iRemoteStorageDownloadUGCResult
=
245 k_iSteamRemoteStorageCallbacks
+ 17 };
248 typedef struct RemoteStorageGetPublishedFileDetailsResult_t
249 RemoteStorageGetPublishedFileDetailsResult_t
;
250 struct RemoteStorageGetPublishedFileDetailsResult_t
{
252 PublishedFileId_t m_nPublishedFileId
;
253 AppId_t m_nCreatorAppID
;
254 AppId_t m_nConsumerAppID
;
255 char m_rgchTitle
[k_cchPublishedDocumentTitleMax
];
256 char m_rgchDescription
[k_cchPublishedDocumentDescriptionMax
];
258 UGCHandle_t m_hPreviewFile
;
259 u64 m_ulSteamIDOwner
;
262 ERemoteStoragePublishedFileVisibility m_eVisibility
;
263 steamapi_bool m_bBanned
;
264 char m_rgchTags
[k_cchTagListMax
];
265 steamapi_bool m_bTagsTruncated
;
266 char m_pchFileName
[k_cchFilenameMax
];
268 i32 m_nPreviewFileSize
;
269 char m_rgchURL
[k_cchPublishedFileURLMax
];
270 EWorkshopFileType m_eFileType
;
271 steamapi_bool m_bAcceptedForUse
;
273 enum { k_iRemoteStorageGetPublishedFileDetailsResult
=
274 k_iSteamRemoteStorageCallbacks
+ 18 };
276 typedef struct RemoteStorageEnumerateWorkshopFilesResult_t
277 RemoteStorageEnumerateWorkshopFilesResult_t
;
278 struct RemoteStorageEnumerateWorkshopFilesResult_t
{
280 i32 m_nResultsReturned
;
281 i32 m_nTotalResultCount
;
282 PublishedFileId_t m_rgPublishedFileId
[k_unEnumeratePublishedFilesMaxResults
];
283 float m_rgScore
[ k_unEnumeratePublishedFilesMaxResults
];
287 enum { k_iRemoteStorageEnumerateWorkshopFilesResult_t
=
288 k_iSteamRemoteStorageCallbacks
+ 19 };
291 typedef struct RemoteStorageGetPublishedItemVoteDetailsResult_t
292 RemoteStorageGetPublishedItemVoteDetailsResult_t
;
293 struct RemoteStorageGetPublishedItemVoteDetailsResult_t
{
295 PublishedFileId_t m_unPublishedFileId
;
301 enum { k_iRemoteStorageGetPublishedItemVoteDetailsResult_t
=
302 k_iSteamRemoteStorageCallbacks
+ 20 };
305 typedef struct RemoteStoragePublishedFileSubscribed_t
306 RemoteStoragePublishedFileSubscribed_t
;
307 struct RemoteStoragePublishedFileSubscribed_t
{
308 PublishedFileId_t m_nPublishedFileId
;
311 enum { k_iRemoteStoragePublishedFileSubscribed_t
=
312 k_iSteamRemoteStorageCallbacks
+ 21 };
314 typedef struct RemoteStoragePublishedFileUnsubscribed_t
315 RemoteStoragePublishedFileUnsubscribed_t
;
316 struct RemoteStoragePublishedFileUnsubscribed_t
{
317 PublishedFileId_t m_nPublishedFileId
;
320 enum { k_iRemoteStoragePublishedFileUnsubscribed_t
=
321 k_iSteamRemoteStorageCallbacks
+ 22 };
324 typedef struct RemoteStoragePublishedFileDeleted_t
325 RemoteStoragePublishedFileDeleted_t
;
326 struct RemoteStoragePublishedFileDeleted_t
{
327 PublishedFileId_t m_nPublishedFileId
;
330 enum { k_iRemoteStoragePublishedFileDeleted_t
=
331 k_iSteamRemoteStorageCallbacks
+ 23 };
333 typedef struct RemoteStorageUpdateUserPublishedItemVoteResult_t
334 RemoteStorageUpdateUserPublishedItemVoteResult_t
;
335 struct RemoteStorageUpdateUserPublishedItemVoteResult_t
{
337 PublishedFileId_t m_nPublishedFileId
;
339 enum { k_iRemoteStorageUpdateUserPublishedItemVoteResult_t
=
340 k_iSteamRemoteStorageCallbacks
+ 24 };
342 typedef struct RemoteStorageUserVoteDetails_t RemoteStorageUserVoteDetails_t
;
343 struct RemoteStorageUserVoteDetails_t
{
345 PublishedFileId_t m_nPublishedFileId
;
346 EWorkshopVote m_eVote
;
348 enum { k_iRemoteStorageUserVoteDetails_t
=
349 k_iSteamRemoteStorageCallbacks
+ 25 };
351 typedef struct RemoteStorageEnumerateUserSharedWorkshopFilesResult_t
352 RemoteStorageEnumerateUserSharedWorkshopFilesResult_t
;
353 struct RemoteStorageEnumerateUserSharedWorkshopFilesResult_t
{
355 i32 m_nResultsReturned
;
356 i32 m_nTotalResultCount
;
357 PublishedFileId_t m_rgPublishedFileId
[k_unEnumeratePublishedFilesMaxResults
];
359 enum { k_iRemoteStorageEnumerateUserSharedWorkshopFilesResult_t
=
360 k_iSteamRemoteStorageCallbacks
+ 26 };
362 typedef struct RemoteStorageSetUserPublishedFileActionResult_t
363 RemoteStorageSetUserPublishedFileActionResult_t
;
364 struct RemoteStorageSetUserPublishedFileActionResult_t
{
366 PublishedFileId_t m_nPublishedFileId
;
367 EWorkshopFileAction m_eAction
;
369 enum { k_iRemoteStorageSetUserPublishedFileActionResult_t
=
370 k_iSteamRemoteStorageCallbacks
+ 27 };
372 typedef struct RemoteStorageEnumeratePublishedFilesByUserActionResult_t
373 RemoteStorageEnumeratePublishedFilesByUserActionResult_t
;
374 struct RemoteStorageEnumeratePublishedFilesByUserActionResult_t
{
376 EWorkshopFileAction m_eAction
;
377 i32 m_nResultsReturned
;
378 i32 m_nTotalResultCount
;
379 PublishedFileId_t m_rgPublishedFileId
[k_unEnumeratePublishedFilesMaxResults
];
380 u32 m_rgRTimeUpdated
[ k_unEnumeratePublishedFilesMaxResults
];
382 enum { k_iRemoteStorageEnumeratePublishedFilesByUserActionResult_t
=
383 k_iSteamRemoteStorageCallbacks
+ 28 };
385 typedef struct RemoteStoragePublishFileProgress_t
386 RemoteStoragePublishFileProgress_t
;
387 struct RemoteStoragePublishFileProgress_t
{
388 double m_dPercentFile
;
389 steamapi_bool m_bPreview
;
391 enum { k_iRemoteStoragePublishFileProgress_t
=
392 k_iSteamRemoteStorageCallbacks
+ 29 };
394 typedef struct RemoteStoragePublishedFileUpdated_t
395 RemoteStoragePublishedFileUpdated_t
;
396 struct RemoteStoragePublishedFileUpdated_t
{
397 PublishedFileId_t m_nPublishedFileId
;
401 enum { k_iRemoteStoragePublishedFileUpdated_t
=
402 k_iSteamRemoteStorageCallbacks
+ 30 };
404 typedef struct RemoteStorageFileWriteAsyncComplete_t
405 RemoteStorageFileWriteAsyncComplete_t
;
406 struct RemoteStorageFileWriteAsyncComplete_t
{
409 enum { k_iRemoteStorageFileWriteAsyncComplete_t
=
410 k_iSteamRemoteStorageCallbacks
+ 31 };
412 typedef struct RemoteStorageFileReadAsyncComplete_t
413 RemoteStorageFileReadAsyncComplete_t
;
414 struct RemoteStorageFileReadAsyncComplete_t
{
415 SteamAPICall_t m_hFileReadAsync
;
420 enum { k_iRemoteStorageFileReadAsyncComplete_t
=
421 k_iSteamRemoteStorageCallbacks
+ 32 };
425 ISteamRemoteStorage
*SteamAPI_SteamRemoteStorage_v016();
426 ISteamRemoteStorage
*SteamAPI_SteamRemoteStorage(){
427 return SteamAPI_SteamRemoteStorage_v016();
430 steamapi_bool
SteamAPI_ISteamRemoteStorage_FileWrite( ISteamRemoteStorage
* self
,
431 const char * pchFile
, const void * pvData
, i32 cubData
);
432 i32
SteamAPI_ISteamRemoteStorage_FileRead( ISteamRemoteStorage
* self
,
433 const char * pchFile
, void * pvData
, i32 cubDataToRead
);
434 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_FileWriteAsync(
435 ISteamRemoteStorage
* self
, const char * pchFile
, const void * pvData
,
437 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_FileReadAsync(
438 ISteamRemoteStorage
* self
, const char * pchFile
, u32 nOffset
,
440 steamapi_bool
SteamAPI_ISteamRemoteStorage_FileReadAsyncComplete(
441 ISteamRemoteStorage
* self
, SteamAPICall_t hReadCall
, void * pvBuffer
,
443 steamapi_bool
SteamAPI_ISteamRemoteStorage_FileForget(
444 ISteamRemoteStorage
*self
, const char * pchFile
);
445 steamapi_bool
SteamAPI_ISteamRemoteStorage_FileDelete(
446 ISteamRemoteStorage
*self
, const char * pchFile
);
447 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_FileShare(
448 ISteamRemoteStorage
* self
, const char * pchFile
);
449 steamapi_bool
SteamAPI_ISteamRemoteStorage_SetSyncPlatforms(
450 ISteamRemoteStorage
* self
, const char * pchFile
,
451 ERemoteStoragePlatform eRemoteStoragePlatform
);
452 UGCFileWriteStreamHandle_t
SteamAPI_ISteamRemoteStorage_FileWriteStreamOpen(
453 ISteamRemoteStorage
* self
, const char * pchFile
);
454 steamapi_bool
SteamAPI_ISteamRemoteStorage_FileWriteStreamWriteChunk(
455 ISteamRemoteStorage
* self
, UGCFileWriteStreamHandle_t writeHandle
,
456 const void * pvData
, i32 cubData
);
457 steamapi_bool
SteamAPI_ISteamRemoteStorage_FileWriteStreamClose(
458 ISteamRemoteStorage
* self
, UGCFileWriteStreamHandle_t writeHandle
);
459 steamapi_bool
SteamAPI_ISteamRemoteStorage_FileWriteStreamCancel(
460 ISteamRemoteStorage
* self
, UGCFileWriteStreamHandle_t writeHandle
);
461 steamapi_bool
SteamAPI_ISteamRemoteStorage_FileExists(
462 ISteamRemoteStorage
* self
, const char * pchFile
);
463 steamapi_bool
SteamAPI_ISteamRemoteStorage_FilePersisted(
464 ISteamRemoteStorage
* self
, const char * pchFile
);
465 i32
SteamAPI_ISteamRemoteStorage_GetFileSize( ISteamRemoteStorage
* self
,
466 const char * pchFile
);
467 i64
SteamAPI_ISteamRemoteStorage_GetFileTimestamp( ISteamRemoteStorage
* self
,
468 const char * pchFile
);
469 ERemoteStoragePlatform
SteamAPI_ISteamRemoteStorage_GetSyncPlatforms(
470 ISteamRemoteStorage
* self
, const char * pchFile
);
471 i32
SteamAPI_ISteamRemoteStorage_GetFileCount( ISteamRemoteStorage
* self
);
472 const char * SteamAPI_ISteamRemoteStorage_GetFileNameAndSize(
473 ISteamRemoteStorage
* self
, int iFile
, i32
* pnFileSizeInBytes
);
474 steamapi_bool
SteamAPI_ISteamRemoteStorage_GetQuota( ISteamRemoteStorage
* self
,
475 u64
* pnTotalBytes
, u64
* puAvailableBytes
);
476 steamapi_bool
SteamAPI_ISteamRemoteStorage_IsCloudEnabledForAccount(
477 ISteamRemoteStorage
* self
);
478 steamapi_bool
SteamAPI_ISteamRemoteStorage_IsCloudEnabledForApp(
479 ISteamRemoteStorage
* self
);
480 void SteamAPI_ISteamRemoteStorage_SetCloudEnabledForApp(
481 ISteamRemoteStorage
* self
, steamapi_bool bEnabled
);
482 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_UGCDownload(
483 ISteamRemoteStorage
* self
, UGCHandle_t hContent
, u32 unPriority
);
484 steamapi_bool
SteamAPI_ISteamRemoteStorage_GetUGCDownloadProgress(
485 ISteamRemoteStorage
* self
, UGCHandle_t hContent
, i32
* pnBytesDownloaded
,
486 i32
* pnBytesExpected
);
487 steamapi_bool
SteamAPI_ISteamRemoteStorage_GetUGCDetails(
488 ISteamRemoteStorage
* self
,
489 UGCHandle_t hContent
, AppId_t
* pnAppID
, char ** ppchName
,
490 i32
* pnFileSizeInBytes
, CSteamID
* pSteamIDOwner
);
491 i32
SteamAPI_ISteamRemoteStorage_UGCRead( ISteamRemoteStorage
* self
,
492 UGCHandle_t hContent
, void * pvData
, i32 cubDataToRead
, u32 cOffset
,
493 EUGCReadAction eAction
);
494 i32
SteamAPI_ISteamRemoteStorage_GetCachedUGCCount( ISteamRemoteStorage
* self
);
495 UGCHandle_t
SteamAPI_ISteamRemoteStorage_GetCachedUGCHandle(
496 ISteamRemoteStorage
* self
, i32 iCachedContent
);
497 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_PublishWorkshopFile(
498 ISteamRemoteStorage
* self
, const char * pchFile
,
499 const char * pchPreviewFile
, AppId_t nConsumerAppId
,
500 const char * pchTitle
, const char * pchDescription
,
501 ERemoteStoragePublishedFileVisibility eVisibility
,
502 SteamParamStringArray_t
* pTags
, EWorkshopFileType eWorkshopFileType
);
503 PublishedFileUpdateHandle_t
504 SteamAPI_ISteamRemoteStorage_CreatePublishedFileUpdateRequest(
505 ISteamRemoteStorage
* self
, PublishedFileId_t unPublishedFileId
);
506 steamapi_bool
SteamAPI_ISteamRemoteStorage_UpdatePublishedFileFile(
507 ISteamRemoteStorage
* self
, PublishedFileUpdateHandle_t updateHandle
,
508 const char * pchFile
);
509 steamapi_bool
SteamAPI_ISteamRemoteStorage_UpdatePublishedFilePreviewFile(
510 ISteamRemoteStorage
* self
, PublishedFileUpdateHandle_t updateHandle
,
511 const char * pchPreviewFile
);
512 steamapi_bool
SteamAPI_ISteamRemoteStorage_UpdatePublishedFileTitle(
513 ISteamRemoteStorage
* self
, PublishedFileUpdateHandle_t updateHandle
,
514 const char * pchTitle
);
515 steamapi_bool
SteamAPI_ISteamRemoteStorage_UpdatePublishedFileDescription(
516 ISteamRemoteStorage
* self
, PublishedFileUpdateHandle_t updateHandle
,
517 const char * pchDescription
);
518 steamapi_bool
SteamAPI_ISteamRemoteStorage_UpdatePublishedFileVisibility(
519 ISteamRemoteStorage
* self
, PublishedFileUpdateHandle_t updateHandle
,
520 ERemoteStoragePublishedFileVisibility eVisibility
);
521 steamapi_bool
SteamAPI_ISteamRemoteStorage_UpdatePublishedFileTags(
522 ISteamRemoteStorage
* self
, PublishedFileUpdateHandle_t updateHandle
,
523 SteamParamStringArray_t
* pTags
);
524 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_CommitPublishedFileUpdate(
525 ISteamRemoteStorage
* self
, PublishedFileUpdateHandle_t updateHandle
);
526 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_GetPublishedFileDetails(
527 ISteamRemoteStorage
* self
, PublishedFileId_t unPublishedFileId
,
528 u32 unMaxSecondsOld
);
529 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_DeletePublishedFile(
530 ISteamRemoteStorage
* self
, PublishedFileId_t unPublishedFileId
);
531 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_EnumerateUserPublishedFiles(
532 ISteamRemoteStorage
* self
, u32 unStartIndex
);
533 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_SubscribePublishedFile(
534 ISteamRemoteStorage
* self
, PublishedFileId_t unPublishedFileId
);
535 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_EnumerateUserSubscribedFiles(
536 ISteamRemoteStorage
* self
, u32 unStartIndex
);
537 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_UnsubscribePublishedFile(
538 ISteamRemoteStorage
* self
, PublishedFileId_t unPublishedFileId
);
540 SteamAPI_ISteamRemoteStorage_UpdatePublishedFileSetChangeDescription(
541 ISteamRemoteStorage
* self
, PublishedFileUpdateHandle_t updateHandle
,
542 const char * pchChangeDescription
);
543 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_GetPublishedItemVoteDetails(
544 ISteamRemoteStorage
* self
, PublishedFileId_t unPublishedFileId
);
545 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_UpdateUserPublishedItemVote(
546 ISteamRemoteStorage
* self
, PublishedFileId_t unPublishedFileId
,
547 steamapi_bool bVoteUp
);
548 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_GetUserPublishedItemVoteDetails(
549 ISteamRemoteStorage
* self
, PublishedFileId_t unPublishedFileId
);
550 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_EnumerateUserSharedWorkshopFiles(
551 ISteamRemoteStorage
* self
, u64_steamid steamId
, u32 unStartIndex
,
552 SteamParamStringArray_t
* pRequiredTags
,
553 SteamParamStringArray_t
* pExcludedTags
);
554 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_PublishVideo(
555 ISteamRemoteStorage
* self
, EWorkshopVideoProvider eVideoProvider
,
556 const char * pchVideoAccount
, const char * pchVideoIdentifier
,
557 const char * pchPreviewFile
, AppId_t nConsumerAppId
,
558 const char * pchTitle
, const char * pchDescription
,
559 ERemoteStoragePublishedFileVisibility eVisibility
,
560 SteamParamStringArray_t
* pTags
);
561 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_SetUserPublishedFileAction(
562 ISteamRemoteStorage
* self
, PublishedFileId_t unPublishedFileId
,
563 EWorkshopFileAction eAction
);
564 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_EnumeratePublishedFilesByUserAction(
565 ISteamRemoteStorage
* self
, EWorkshopFileAction eAction
,
567 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_EnumeratePublishedWorkshopFiles(
568 ISteamRemoteStorage
* self
, EWorkshopEnumerationType eEnumerationType
,
569 u32 unStartIndex
, u32 unCount
, u32 unDays
,
570 SteamParamStringArray_t
* pTags
, SteamParamStringArray_t
* pUserTags
);
571 SteamAPICall_t
SteamAPI_ISteamRemoteStorage_UGCDownloadToLocation(
572 ISteamRemoteStorage
* self
, UGCHandle_t hContent
,
573 const char * pchLocation
, u32 unPriority
);
574 i32
SteamAPI_ISteamRemoteStorage_GetLocalFileChangeCount(
575 ISteamRemoteStorage
* self
);
576 const char * SteamAPI_ISteamRemoteStorage_GetLocalFileChange(
577 ISteamRemoteStorage
* self
, int iFile
,
578 ERemoteStorageLocalFileChange
* pEChangeType
,
579 ERemoteStorageFilePathType
* pEFilePathType
);
580 steamapi_bool
SteamAPI_ISteamRemoteStorage_BeginFileWriteBatch(
581 ISteamRemoteStorage
*self
);
582 steamapi_bool
SteamAPI_ISteamRemoteStorage_EndFileWriteBatch(
583 ISteamRemoteStorage
*self
);
585 #endif /* VG_STEAM_REMOTE_STORAGE_H */