blob: c313294fe6fa53641c2cb2a9a45d7f65d4c41255 [file] [log] [blame]
[email protected]91f07552013-11-13 10:01:011// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_ELF_CHROME_ELF_MAIN_H_
6#define CHROME_ELF_CHROME_ELF_MAIN_H_
7
Sigurdur Asgeirssonea7ff6f02017-08-03 18:04:578// These functions are the cross-module import interface to chrome_elf.dll.
Sigurdur Asgeirsson320aa652017-09-26 19:13:589// It is used by chrome.exe, chrome.dll and other clients of chrome_elf.
Sigurdur Asgeirssonea7ff6f02017-08-03 18:04:5710// In tests, these functions are stubbed by implementations in
11// chrome_elf_test_stubs.cc.
12extern "C" {
13
14void DumpProcessWithoutCrash();
Sigurdur Asgeirssonc730d3c12017-08-17 11:52:5915
16// Returns true if |user_data_dir| or |invalid_data_dir| contain data.
17// This should always be the case in non-test builds.
18bool GetUserDataDirectoryThunk(wchar_t* user_data_dir,
Sigurdur Asgeirssonea7ff6f02017-08-03 18:04:5719 size_t user_data_dir_length,
20 wchar_t* invalid_user_data_dir,
21 size_t invalid_user_data_dir_length);
22// This function is a temporary workaround for https://crbug.com/655788. We
23// need to come up with a better way to initialize crash reporting that can
24// happen inside DllMain().
25void SignalInitializeCrashReporting();
26void SignalChromeElf();
27
Sigurdur Asgeirsson320aa652017-09-26 19:13:5828// Sets the metrics client ID in crash keys.
29void SetMetricsClientId(const char* client_id);
30
Sigurdur Asgeirssonea7ff6f02017-08-03 18:04:5731} // extern "C"
[email protected]91f07552013-11-13 10:01:0132
33#endif // CHROME_ELF_CHROME_ELF_MAIN_H_