result_codes.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2012 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 CONTENT_PUBLIC_COMMON_RESULT_CODES_H_
6#define CONTENT_PUBLIC_COMMON_RESULT_CODES_H_
7
8// This file consolidates all the return codes for the browser and renderer
9// process. The return code is the value that:
10// a) is returned by main() or winmain(), or
11// b) specified in the call for ExitProcess() or TerminateProcess(), or
12// c) the exception value that causes a process to terminate.
13//
14// It is advisable to not use negative numbers because the Windows API returns
15// it as an unsigned long and the exception values have high numbers. For
16// example EXCEPTION_ACCESS_VIOLATION value is 0xC0000005.
17
18namespace content {
19
20enum ResultCode {
21  // Process terminated normally.
22  RESULT_CODE_NORMAL_EXIT = 0,
23
24  // Process was killed by user or system.
25  RESULT_CODE_KILLED = 1,
26
27  // Process hung.
28  RESULT_CODE_HUNG = 2,
29
30  // A bad message caused the process termination.
31  RESULT_CODE_KILLED_BAD_MESSAGE,
32
33  // Last return code (keep this last).
34  RESULT_CODE_LAST_CODE
35};
36
37}  // namespace content
38
39#endif  // CONTENT_PUBLIC_COMMON_RESULT_CODES_H_
40