syntax = "proto2";

import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";

option cc_generic_services = true;

message CFileVerification_SignatureCheck_Request {
  optional fixed64 steamid = 1;
  optional uint32 appid = 2;
  optional uint64 file_size = 3;
  optional uint32 file_timestamp = 4;
  optional uint32 file_timestamp2 = 5;
  optional uint32 signature_result = 6;
  optional string filename = 7;
  optional uint32 client_package_version = 8;
  optional bytes sha1hash = 9;
}

message CFileVerification_SignatureCheck_Response {
  optional bool deny_operation = 1;
}

message CFileVerification_SteamServiceCheck_Request {
  optional uint32 service_status = 2;
  optional uint32 client_package_version = 3;
  optional uint32 launcher_type = 4;
  optional uint32 os_type = 5;
  optional uint32 service_repair = 6;
}

message CFileVerification_SteamServiceCheck_Response {
  optional bool attempt_repair = 1;
}

service FileVerification {
  rpc SignatureCheck (.CFileVerification_SignatureCheck_Request) returns (.CFileVerification_SignatureCheck_Response) {
  }
  rpc SteamServiceCheck (.CFileVerification_SteamServiceCheck_Request) returns (.CFileVerification_SteamServiceCheck_Response) {
  }
}

