更新日期: 2022/06/01 来源: https://gitee.com/weharmony/kernel_liteos_a_note
los_hidumper.h
浏览该文件的文档.
1/*
2 * Copyright (c) 2021-2021 Huawei Device Co., Ltd. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without modification,
5 * are permitted provided that the following conditions are met:
6 *
7 * 1. Redistributions of source code must retain the above copyright notice, this list of
8 * conditions and the following disclaimer.
9 *
10 * 2. Redistributions in binary form must reproduce the above copyright notice, this list
11 * of conditions and the following disclaimer in the documentation and/or other materials
12 * provided with the distribution.
13 *
14 * 3. Neither the name of the copyright holder nor the names of its contributors may be used
15 * to endorse or promote products derived from this software without specific prior written
16 * permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
20 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
22 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */
30
31#ifndef LOS_HIDUMPER_H
32#define LOS_HIDUMPER_H
33
34#ifdef __cplusplus
35#if __cplusplus
36extern "C" {
37#endif /* __cplusplus */
38#endif /* __cplusplus */
39
40#ifndef __user
41#define __user
42#endif
43
44#define PATH_MAX_LEN 256
45
51};
52
55 unsigned long long start;
56 unsigned long long size;
57 char filePath[PATH_MAX_LEN];
58};
59
66 void (*DumpMemData)(struct MemDumpParam *param);
68};
69
70#define HIDUMPER_IOC_BASE 'd'
71#define HIDUMPER_DUMP_ALL _IO(HIDUMPER_IOC_BASE, 1)
72#define HIDUMPER_CPU_USAGE _IO(HIDUMPER_IOC_BASE, 2)
73#define HIDUMPER_MEM_USAGE _IO(HIDUMPER_IOC_BASE, 3)
74#define HIDUMPER_TASK_INFO _IO(HIDUMPER_IOC_BASE, 4)
75#define HIDUMPER_INJECT_KERNEL_CRASH _IO(HIDUMPER_IOC_BASE, 5)
76#define HIDUMPER_DUMP_FAULT_LOG _IO(HIDUMPER_IOC_BASE, 6)
77#define HIDUMPER_MEM_DATA _IOW(HIDUMPER_IOC_BASE, 7, struct MemDumpParam)
78
79int HiDumperRegisterAdapter(struct HiDumperAdapter *pAdapter);
80int OsHiDumperDriverInit(void);
81
82#ifdef __cplusplus
83#if __cplusplus
84}
85#endif /* __cplusplus */
86#endif /* __cplusplus */
87
88#endif
int HiDumperRegisterAdapter(struct HiDumperAdapter *pAdapter)
Definition: los_hidumper.c:348
int OsHiDumperDriverInit(void)
Definition: los_hidumper.c:366
MemDumpType
Definition: los_hidumper.h:46
@ DUMP_TO_FILE
Definition: los_hidumper.h:49
@ DUMP_TO_STDOUT
Definition: los_hidumper.h:47
@ DUMP_REGION_TO_STDOUT
Definition: los_hidumper.h:48
@ DUMP_REGION_TO_FILE
Definition: los_hidumper.h:50
void(* DumpTaskInfo)(void)
Definition: los_hidumper.h:64
void(* DumpCpuUsage)(void)
Definition: los_hidumper.h:62
void(* DumpSysInfo)(void)
Definition: los_hidumper.h:61
void(* InjectKernelCrash)(void)
Definition: los_hidumper.h:67
void(* DumpMemUsage)(void)
Definition: los_hidumper.h:63
void(* DumpMemData)(struct MemDumpParam *param)
Definition: los_hidumper.h:66
void(* DumpFaultLog)(void)
Definition: los_hidumper.h:65
char filePath[PATH_MAX_LEN]
Definition: los_hidumper.h:57
unsigned long long size
Definition: los_hidumper.h:56
enum MemDumpType type
Definition: los_hidumper.h:54
unsigned long long start
Definition: los_hidumper.h:55
ARG_NUM_3 ARG_NUM_1 ARG_NUM_2 ARG_NUM_2 ARG_NUM_3 ARG_NUM_1 ARG_NUM_4 ARG_NUM_2 ARG_NUM_2 ARG_NUM_5 ARG_NUM_2 void