import "steammessages_base.proto"; option optimize_for = SPEED; option cc_generic_services = false; message CMsgClientUFSUploadFileRequest { optional uint32 app_id = 1; optional uint32 file_size = 2; optional uint32 raw_file_size = 3; optional bytes sha_file = 4; optional uint64 time_stamp = 5; optional string file_name = 6; optional uint32 platforms_to_sync_deprecated = 7; optional uint32 platforms_to_sync = 8 [default = 4294967295]; optional uint32 cell_id = 9; optional bool can_encrypt = 10; } message CMsgClientUFSUploadFileResponse { optional int32 eresult = 1 [default = 2]; optional bytes sha_file = 2; optional bool use_http = 3; optional string http_host = 4; optional string http_url = 5; optional bytes kv_headers = 6; optional bool use_https = 7; optional bool encrypt_file = 8; } message CMsgClientUFSUploadCommit { message File { optional int32 eresult = 1 [default = 2]; optional uint32 app_id = 2; optional bytes sha_file = 3; optional uint32 cub_file = 4; optional string file_name = 5; } repeated .CMsgClientUFSUploadCommit.File files = 1; } message CMsgClientUFSUploadCommitResponse { message File { optional int32 eresult = 1 [default = 2]; optional uint32 app_id = 2; optional bytes sha_file = 3; } repeated .CMsgClientUFSUploadCommitResponse.File files = 1; } message CMsgClientUFSFileChunk { optional bytes sha_file = 1; optional uint32 file_start = 2; optional bytes data = 3; } message CMsgClientUFSTransferHeartbeat { } message CMsgClientUFSUploadFileFinished { optional int32 eresult = 1 [default = 2]; optional bytes sha_file = 2; } message CMsgClientUFSDeleteFileRequest { optional uint32 app_id = 1; optional string file_name = 2; optional bool is_explicit_delete = 3; } message CMsgClientUFSDeleteFileResponse { optional int32 eresult = 1 [default = 2]; optional string file_name = 2; } message CMsgClientUFSGetFileListForApp { repeated uint32 apps_to_query = 1; optional bool send_path_prefixes = 2; } message CMsgClientUFSGetFileListForAppResponse { option (msgpool_soft_limit) = 8; option (msgpool_hard_limit) = 16; message File { optional uint32 app_id = 1; optional string file_name = 2; optional bytes sha_file = 3; optional uint64 time_stamp = 4; optional uint32 raw_file_size = 5; optional bool is_explicit_delete = 6; optional uint32 platforms_to_sync = 7; optional uint32 path_prefix_index = 8; } repeated .CMsgClientUFSGetFileListForAppResponse.File files = 1; repeated string path_prefixes = 2; } message CMsgClientUFSDownloadRequest { optional uint32 app_id = 1; optional string file_name = 2; optional bool can_handle_http = 3; } message CMsgClientUFSDownloadResponse { optional int32 eresult = 1 [default = 2]; optional uint32 app_id = 2; optional uint32 file_size = 3; optional uint32 raw_file_size = 4; optional bytes sha_file = 5; optional uint64 time_stamp = 6; optional bool is_explicit_delete = 7; optional bool use_http = 8; optional string http_host = 9; optional string http_url = 10; optional bytes kv_headers = 11; optional bool use_https = 12; optional bool encrypted = 13; } message CMsgClientUFSLoginRequest { optional uint32 protocol_version = 1; optional uint64 am_session_token = 2; repeated uint32 apps = 3; } message CMsgClientUFSLoginResponse { optional int32 eresult = 1 [default = 2]; } message CMsgClientUFSGetUGCDetails { optional fixed64 hcontent = 1 [default = 18446744073709551615]; } message CMsgClientUFSGetUGCDetailsResponse { optional int32 eresult = 1 [default = 2]; optional string url = 2; optional uint32 app_id = 3; optional string filename = 4; optional fixed64 steamid_creator = 5; optional uint32 file_size = 6; optional uint32 compressed_file_size = 7; optional string rangecheck_host = 8; optional string file_encoded_sha1 = 9; } message CMsgClientUFSGetSingleFileInfo { optional uint32 app_id = 1; optional string file_name = 2; } message CMsgClientUFSGetSingleFileInfoResponse { optional int32 eresult = 1 [default = 2]; optional uint32 app_id = 2; optional string file_name = 3; optional bytes sha_file = 4; optional uint64 time_stamp = 5; optional uint32 raw_file_size = 6; optional bool is_explicit_delete = 7; } message CMsgClientUFSShareFile { optional uint32 app_id = 1; optional string file_name = 2; } message CMsgClientUFSShareFileResponse { optional int32 eresult = 1 [default = 2]; optional fixed64 hcontent = 2 [default = 18446744073709551615]; }