1/*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15#ifndef DFX_DUMPCATCH_STACK_TRACE_H
16#define DFX_DUMPCATCH_STACK_TRACE_H
17
18#include <string>
19
20namespace OHOS {
21namespace HiviewDFX {
22/**
23 * Used to report stack info to XPower
24 *
25 * @param tagName tag name used to track the stack
26 * @param info additional informations
27 * @return 0 when success. see @ERR_SUCCESS
28 * @return 1 when propertity @PROP_XPOWER_OPTIMIZE_ENABLE is not enabled. see @ERR_PROP_NOT_ENABLE
29 * @return 2 when dump stack failed. see @ERR_DUMP_STACK_FAILED
30 * @return other error codes. see @HiSysEventWrite
31 */
32int ReportXPowerStackSysEvent(const std::string &tagName, const std::string &info = "");
33} // HiviewDFX
34} // OHOS
35
36#endif