59 lines
2.2 KiB
C
Executable file
59 lines
2.2 KiB
C
Executable file
/* Copyright (C) 2007-2011 The Android Open Source Project
|
|
**
|
|
** This software is licensed under the terms of the GNU General Public
|
|
** License version 2, as published by the Free Software Foundation, and
|
|
** may be copied, distributed, and modified under those terms.
|
|
**
|
|
** This program is distributed in the hope that it will be useful,
|
|
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
** GNU General Public License for more details.
|
|
*/
|
|
|
|
#ifndef NDK_CRASH_PARSER_H_
|
|
#define NDK_CRASH_PARSER_H_
|
|
|
|
/*
|
|
* Contains declaration of structures and routines that are used to parse ADB
|
|
* log output, filtering out and printing references related to the crash dump.
|
|
*/
|
|
|
|
/* Crash parser descriptor. */
|
|
typedef struct NdkCrashParser NdkCrashParser;
|
|
|
|
/* Creates and initializes NdkCrashParser descriptor.
|
|
* Param:
|
|
* out_handle - Handle to the stream where to print the parser's output.
|
|
* Typically, the handle is is stdout.
|
|
* sym_root - Path to the root directory where symbols are stored. Note that
|
|
* symbol tree starting with that root must match the tree of execuatable
|
|
* modules in the device. I.e. symbols for /path/to/module must be located in
|
|
* <sym_root>/path/to/module
|
|
* Return:
|
|
* Pointer to the initialized NdkCrashParser descriptor on success, or NULL on
|
|
* failure.
|
|
*/
|
|
NdkCrashParser* CreateNdkCrashParser(FILE* out_handle, const char* sym_root);
|
|
|
|
/* Destroys an NdkCrashParser descriptor.
|
|
* Param:
|
|
* parser - NdkCrashParser descriptor, created and initialized with a call to
|
|
* NdkCrashParser routine.
|
|
*/
|
|
void DestroyNdkCrashParser(NdkCrashParser* parser);
|
|
|
|
/* Parses a line from the ADB log output.
|
|
* Param:
|
|
* parser - NdkCrashParser descriptor, created and initialized with a call to
|
|
* NdkCrashParser routine.
|
|
* line - ADB log output line to parse. The line must be zero-terminated, and
|
|
* must not contain \r, or \n in it.
|
|
* Return:
|
|
* 0 If the line has been part of the crash dump.
|
|
* 1 If the line has not been part of the crash dump.
|
|
* -1 If there was an error when parsing the line.
|
|
*
|
|
*/
|
|
int ParseLine(NdkCrashParser* parser, const char* line);
|
|
|
|
#endif // NDK_CRASH_PARSER_H_
|