blob: c313294fe6fa53641c2cb2a9a45d7f65d4c41255 [file] [log] [blame]
// Copyright 2013 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.
#ifndef CHROME_ELF_CHROME_ELF_MAIN_H_
#define CHROME_ELF_CHROME_ELF_MAIN_H_
// These functions are the cross-module import interface to chrome_elf.dll.
// It is used by chrome.exe, chrome.dll and other clients of chrome_elf.
// In tests, these functions are stubbed by implementations in
// chrome_elf_test_stubs.cc.
extern "C" {
void DumpProcessWithoutCrash();
// Returns true if |user_data_dir| or |invalid_data_dir| contain data.
// This should always be the case in non-test builds.
bool GetUserDataDirectoryThunk(wchar_t* user_data_dir,
size_t user_data_dir_length,
wchar_t* invalid_user_data_dir,
size_t invalid_user_data_dir_length);
// This function is a temporary workaround for https://crbug.com/655788. We
// need to come up with a better way to initialize crash reporting that can
// happen inside DllMain().
void SignalInitializeCrashReporting();
void SignalChromeElf();
// Sets the metrics client ID in crash keys.
void SetMetricsClientId(const char* client_id);
} // extern "C"
#endif // CHROME_ELF_CHROME_ELF_MAIN_H_