Home | History | Annotate | Download | only in common
      1 // Copyright (c) 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 // Intentionally no include guards because this file is meant to be included
      6 // inside a macro to generate enum values.
      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 
     18 #include "build/build_config.h"
     19 
     20 // Process terminated normally.
     21 RESULT_CODE(NORMAL_EXIT, 0)
     22 
     23 // Process was killed by user or system.
     24 RESULT_CODE(KILLED, 1)
     25 
     26 // Process hung.
     27 RESULT_CODE(HUNG, 2)
     28 
     29 // A bad message caused the process termination.
     30 RESULT_CODE(KILLED_BAD_MESSAGE, 3)
     31 
     32 #if defined(OS_ANDROID)
     33 // Failed to register JNI methods.
     34 RESULT_CODE(FAILED_TO_REGISTER_JNI, 4)
     35 
     36 // Failed to find and load the native library.
     37 RESULT_CODE(NATIVE_LIBRARY_LOAD_FAILED, 5)
     38 #endif
     39