blob: a0b7080952268800dc2223be19c45f1a5bd499df [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Multiply-included param traits file, so no include guard.
#if !defined(FULL_SAFE_BROWSING)
#error FULL_SAFE_BROWSING should be defined.
#endif
#include "build/build_config.h"
#include "chrome/common/safe_browsing/archive_analyzer_results.h"
#include "chrome/common/safe_browsing/ipc_protobuf_message_macros.h"
#include "ipc/ipc_message_macros.h"
#include "ipc/ipc_message_protobuf_utils.h"
IPC_ENUM_TRAITS_VALIDATE(
safe_browsing::ClientDownloadRequest_DownloadType,
safe_browsing::ClientDownloadRequest_DownloadType_IsValid(value))
IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN(safe_browsing::ClientDownloadRequest_Digests)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(sha256)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(sha1)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(md5)
IPC_PROTOBUF_MESSAGE_TRAITS_END()
IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN(
safe_browsing::ClientDownloadRequest_CertificateChain_Element)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(certificate)
IPC_PROTOBUF_MESSAGE_TRAITS_END()
IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN(
safe_browsing::ClientDownloadRequest_CertificateChain)
IPC_PROTOBUF_MESSAGE_TRAITS_REPEATED_COMPLEX_MEMBER(element)
IPC_PROTOBUF_MESSAGE_TRAITS_END()
IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN(
safe_browsing::ClientDownloadRequest_SignatureInfo)
IPC_PROTOBUF_MESSAGE_TRAITS_REPEATED_COMPLEX_MEMBER(certificate_chain)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_FUNDAMENTAL_MEMBER(trusted)
IPC_PROTOBUF_MESSAGE_TRAITS_REPEATED_COMPLEX_MEMBER(signed_data)
IPC_PROTOBUF_MESSAGE_TRAITS_END()
IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN(
safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(directory_entry)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(raw_data)
IPC_PROTOBUF_MESSAGE_TRAITS_END()
IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN(
safe_browsing::ClientDownloadRequest_PEImageHeaders)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(dos_header)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(file_header)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(optional_headers32)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(optional_headers64)
IPC_PROTOBUF_MESSAGE_TRAITS_REPEATED_COMPLEX_MEMBER(section_header)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(export_section_data)
IPC_PROTOBUF_MESSAGE_TRAITS_REPEATED_COMPLEX_MEMBER(debug_data)
IPC_PROTOBUF_MESSAGE_TRAITS_END()
IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN(
safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_FUNDAMENTAL_MEMBER(command_id)
IPC_PROTOBUF_MESSAGE_TRAITS_REPEATED_COMPLEX_MEMBER(command)
IPC_PROTOBUF_MESSAGE_TRAITS_END()
IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN(
safe_browsing::ClientDownloadRequest_MachOHeaders)
IPC_PROTOBUF_MESSAGE_TRAITS_REPEATED_COMPLEX_MEMBER(mach_header)
IPC_PROTOBUF_MESSAGE_TRAITS_REPEATED_COMPLEX_MEMBER(load_commands)
IPC_PROTOBUF_MESSAGE_TRAITS_END()
IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN(
safe_browsing::ClientDownloadRequest_ImageHeaders)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(pe_headers)
IPC_PROTOBUF_MESSAGE_TRAITS_REPEATED_COMPLEX_MEMBER(mach_o_headers)
IPC_PROTOBUF_MESSAGE_TRAITS_END()
IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN(
safe_browsing::ClientDownloadRequest_ArchivedBinary)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(file_basename)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_FUNDAMENTAL_MEMBER(download_type)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(digests)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_FUNDAMENTAL_MEMBER(length)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(signature)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(image_headers)
IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_FUNDAMENTAL_MEMBER(is_encrypted)
IPC_PROTOBUF_MESSAGE_TRAITS_END()
IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN(
safe_browsing::ClientDownloadRequest_DetachedCodeSignature)
IPC_PROTOBUF_MESSAGE_TRAITS_REPEATED_COMPLEX_MEMBER(file_name)
IPC_PROTOBUF_MESSAGE_TRAITS_REPEATED_COMPLEX_MEMBER(contents)
IPC_PROTOBUF_MESSAGE_TRAITS_END()
IPC_STRUCT_TRAITS_BEGIN(safe_browsing::ArchiveAnalyzerResults)
IPC_STRUCT_TRAITS_MEMBER(success)
IPC_STRUCT_TRAITS_MEMBER(has_executable)
IPC_STRUCT_TRAITS_MEMBER(has_archive)
IPC_STRUCT_TRAITS_MEMBER(archived_binary)
IPC_STRUCT_TRAITS_MEMBER(archived_archive_filenames)
#if defined(OS_MACOSX)
IPC_STRUCT_TRAITS_MEMBER(signature_blob)
IPC_STRUCT_TRAITS_MEMBER(detached_code_signatures)
#endif // OS_MACOSX
IPC_STRUCT_TRAITS_END()