// Copyright 2014 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_BREAKPAD_H_
#define CHROME_ELF_BREAKPAD_H_
#include <windows.h>
namespace google_breakpad {
class ExceptionHandler;
}
// Initializes collection and upload of crash reports. This will only be done if
// the user has agreed to crash dump reporting.
//
// Crash reporting has to be initialized as early as possible (e.g., the first
// thing in main()) to catch crashes occuring during process startup.
// Crashes which occur during the global static construction phase will not
// be caught and reported. This should not be a problem as static non-POD
// objects are not allowed by the style guide and exceptions to this rule are
// rare.
void InitializeCrashReporting();
// Generates a crashdump for the provided |exinfo|. This crashdump will be
// either be saved locally, or uploaded, depending on how the ExceptionHandler
// has been configured.
int GenerateCrashDump(EXCEPTION_POINTERS* exinfo);
// Global pointer to the ExceptionHandler. This is initialized by
// InitializeCrashReporting() and used by GenerateCrashDump() to record dumps.
extern google_breakpad::ExceptionHandler* g_elf_breakpad;
#endif // CHROME_ELF_BREAKPAD_H_